專利名稱:用戶驗(yàn)證方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,具體涉及用戶驗(yàn)證方法、用戶驗(yàn)證設(shè)備、驗(yàn)證服務(wù)器以及用戶驗(yàn)證系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)的快速發(fā)展,出現(xiàn)了越來(lái)越多的網(wǎng)絡(luò)應(yīng)用,這些網(wǎng)絡(luò)應(yīng)用的用戶也越來(lái)越多。網(wǎng)絡(luò)應(yīng)用為了應(yīng)對(duì)大量用戶的登錄請(qǐng)求,保證用戶登錄的安全性,通常需要構(gòu)建后臺(tái)數(shù)據(jù)庫(kù)來(lái)對(duì)用戶進(jìn)行驗(yàn)證。目前在網(wǎng)絡(luò)應(yīng)用系統(tǒng)中,在用戶登錄網(wǎng)絡(luò)應(yīng)用系統(tǒng)時(shí),網(wǎng)絡(luò)應(yīng)用會(huì)獲取用戶名和密碼,將其與數(shù)據(jù)庫(kù)中存儲(chǔ)的用戶名和密碼進(jìn)行比較,從而確定用戶是否可以正確地登錄到網(wǎng)絡(luò)應(yīng)用系統(tǒng)中。即,網(wǎng)絡(luò)應(yīng)用每次接收到用戶的登錄請(qǐng)求時(shí),會(huì)從數(shù)據(jù)庫(kù)中獲取相應(yīng)數(shù)據(jù),與登錄請(qǐng)求進(jìn)行匹配;若匹配成功,則允許用戶登錄,若不成功,則拒 絕用戶登錄。但是,隨著網(wǎng)絡(luò)(Web)應(yīng)用的快速增多,網(wǎng)絡(luò)應(yīng)用對(duì)用戶進(jìn)行驗(yàn)證的系統(tǒng)資源消耗也越來(lái)越大,這部分消耗在系統(tǒng)的總資源中所占的比重也在逐漸加大,增加了系統(tǒng)的負(fù)擔(dān)。若在短時(shí)間內(nèi)出現(xiàn)大量用戶同時(shí)登錄,超出系統(tǒng)承載能力,甚至可能造成系統(tǒng)崩潰的惡果。為了減少大量用戶登錄請(qǐng)求對(duì)系統(tǒng)的影響,部分網(wǎng)絡(luò)應(yīng)用系統(tǒng)采用了 cookie(HTTP (Hypertext transfer protocol,超文本傳送協(xié)議)標(biāo)準(zhǔn)中的一種緩存機(jī)制)登錄機(jī)制。具體的,對(duì)一個(gè)采用了 cookie機(jī)制的網(wǎng)絡(luò)應(yīng)用,當(dāng)用戶首次成功登錄之后,生成對(duì)應(yīng)該用戶的cookie信息,將相關(guān)信息存儲(chǔ)在cookie中。隨后,在預(yù)定時(shí)間內(nèi),cookie維持有效狀態(tài),該用戶根據(jù)cookie中的標(biāo)識(shí)直接進(jìn)入系統(tǒng)而無(wú)需再次對(duì)用戶的登錄進(jìn)行驗(yàn)證。然而,由于cookie的安全性等原因,如果不對(duì)cookie的信息進(jìn)行驗(yàn)證,有些惡意用戶會(huì)通過(guò)偽造cookie從而登錄到系統(tǒng)中,這會(huì)導(dǎo)致系統(tǒng)的安全存在隱患。
發(fā)明內(nèi)容
鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的用戶驗(yàn)證設(shè)備、驗(yàn)證服務(wù)器、用戶驗(yàn)證系統(tǒng)和相應(yīng)的用戶驗(yàn)證方法。依據(jù)本發(fā)明的一個(gè)方面,提供了一種用戶驗(yàn)證設(shè)備,包括接收模塊,配置為接收來(lái)自用戶的、包括驗(yàn)證信息的登錄請(qǐng)求,其中,該驗(yàn)證信息包括第一信息部分和第二信息部分,第一信息部分包括用戶的基本信息,第二信息部分包括利用預(yù)定加密規(guī)則對(duì)用戶的基本信息進(jìn)行加密之后生成的第一校驗(yàn)字符串;加密模塊,配置為利用預(yù)定加密規(guī)則對(duì)用戶的基本信息進(jìn)行加密,得到第二校驗(yàn)字符串;驗(yàn)證模塊,配置為確定第二校驗(yàn)字符串與第一校驗(yàn)字符串是否匹配,如果匹配則驗(yàn)證成功。可選的,第一校驗(yàn)字符串為利用預(yù)定加密規(guī)則根據(jù)密鑰對(duì)用戶的基本信息進(jìn)行加密而生成;第二信息部分還包括與密鑰相對(duì)應(yīng)的版本信息,以及加密模塊還配置為基于第二信息部分中的版本信息獲取密鑰,并且利用預(yù)定加密規(guī)則根據(jù)所獲取的密鑰來(lái)對(duì)用戶的基本信息進(jìn)行加密,生成第二校驗(yàn)字符串。
可選的,第一信息部分中的用戶的基本信息以預(yù)定移位規(guī)則進(jìn)行移位;以及加密模塊還配置為進(jìn)行加密操作前,對(duì)所接收的第一信息部分中的用戶的基本信息按照與預(yù)定移位規(guī)則相反的移位規(guī)則進(jìn)行移位處理??蛇x的,用戶的基本信息包括下列至少一項(xiàng)登錄用戶名、真實(shí)姓名、用戶唯一標(biāo)識(shí)id、用戶頭像id、注冊(cè)模板、注冊(cè)來(lái)源、用戶類型、登錄郵箱??蛇x的,第一信息部分和第二信息部分存儲(chǔ)在cookie中,而且登錄請(qǐng)求通過(guò)HTTP發(fā)送。根據(jù)本發(fā)明的另一方面,提供了一種驗(yàn)證服務(wù)器,包括根據(jù)本發(fā)明的用戶驗(yàn)證設(shè)備;信息獲取器,耦接到用戶驗(yàn)證器,配置為當(dāng)用戶驗(yàn)證器驗(yàn)證成功時(shí),從第一信息部分中解析出用戶的基本信息,并發(fā)送至用戶;以及用戶登錄接口,耦接到用戶驗(yàn)證器,配置為當(dāng)用戶驗(yàn)證器驗(yàn)證失敗時(shí),向用戶呈現(xiàn)用戶登錄界面。可選的,用戶登錄接口還配置為接收用戶經(jīng)由用戶登錄界面發(fā)送的用戶名和密 碼;以及,驗(yàn)證服務(wù)器還包括用戶信息存儲(chǔ)器,配置為存儲(chǔ)各用戶的基本信息;系統(tǒng)驗(yàn)證器,耦接到用戶信息存儲(chǔ)器,配置為接收來(lái)自用戶登錄接口的用戶名和密碼,并確定用戶名和密碼是否存儲(chǔ)在用戶信息存儲(chǔ)器中,若是,則驗(yàn)證成功;以及驗(yàn)證信息生成器,耦接到系統(tǒng)驗(yàn)證器,配置為當(dāng)系統(tǒng)驗(yàn)證器驗(yàn)證成功時(shí),從用戶信息存儲(chǔ)器中獲取該用戶的基本信息,并生成包括第一信息部分和第二信息部分的驗(yàn)證信息,其中,第一信息部分包括用戶的基本信息,第二信息部分包括利用預(yù)定加密規(guī)則對(duì)用戶的基本信息進(jìn)行加密之后生成的第一校驗(yàn)字符串。根據(jù)本發(fā)明的另一方面,提供了一種用戶驗(yàn)證系統(tǒng),包括上述驗(yàn)證服務(wù)器;客戶端,耦接到驗(yàn)證服務(wù)器,配置為向驗(yàn)證服務(wù)器發(fā)起來(lái)自用戶的登錄請(qǐng)求。可選的,客戶端包括用戶名/密碼輸入接口,配置為向驗(yàn)證服務(wù)器發(fā)送包括用戶名和密碼的登錄請(qǐng)求;cookie,配置為存儲(chǔ)驗(yàn)證服務(wù)器中的驗(yàn)證信息生成器所生成的驗(yàn)證信息;服務(wù)器登錄接口,配置為向驗(yàn)證服務(wù)器發(fā)送包括驗(yàn)證信息的登錄請(qǐng)求。根據(jù)本發(fā)明的另一方面,提供了一種用戶驗(yàn)證方法,包括接收來(lái)自用戶的、包括驗(yàn)證信息的登錄請(qǐng)求,其中,該驗(yàn)證信息包括第一信息部分和第二信息部分,第一信息部分包括用戶的基本信息,第二信息部分包括利用預(yù)定加密規(guī)則對(duì)用戶的基本信息進(jìn)行加密之后生成的第一校驗(yàn)字符串;利用預(yù)定加密規(guī)則對(duì)用戶的基本信息進(jìn)行加密,生成第二校驗(yàn)字符串;確定第二校驗(yàn)字符串與第一校驗(yàn)字符串是否匹配,如果匹配則驗(yàn)證成功。可選的,第一校驗(yàn)字符串為利用預(yù)定加密規(guī)則根據(jù)密鑰對(duì)用戶的基本信息進(jìn)行加密而生成;第二信息部分還包括與密鑰相對(duì)應(yīng)的版本信息,以及,生成第二校驗(yàn)字符串的步驟包括基于第二信息部分中的版本信息獲取密鑰,并且利用預(yù)定加密規(guī)則根據(jù)所獲取的密鑰來(lái)對(duì)用戶的基本信息進(jìn)行加密,生成第二校驗(yàn)字符串??蛇x的,第一信息部分中的用戶的基本信息以預(yù)定移位規(guī)則進(jìn)行移位;以及,該方法還包括步驟進(jìn)行加密操作前,對(duì)所接收的第一信息部分中的用戶的基本信息按照與預(yù)定移位規(guī)則相反的移位規(guī)則進(jìn)行移位處理。可選的,用戶的基本信息包括下列至少一項(xiàng)登錄用戶名、真實(shí)姓名、用戶唯一標(biāo)識(shí)id、用戶頭像id、注冊(cè)模板、注冊(cè)來(lái)源、用戶類型、登錄郵箱。可選的,第一信息部分和第二信息部分存儲(chǔ)在cookie中,而且登錄請(qǐng)求通過(guò)HTTP發(fā)送。根據(jù)本發(fā)明的第一信息部分、第二信息部分可以實(shí)現(xiàn)用戶的登錄請(qǐng)求的自校驗(yàn),由此解決了惡意用戶會(huì)通過(guò)偽造cookie從而登錄到系統(tǒng)中,這會(huì)導(dǎo)致系統(tǒng)的安全存在隱患的技術(shù)問(wèn)題,取得了保障系統(tǒng)的安全性的有益效果。另外,由于本發(fā)明提供了一種安全和快捷的用戶登錄認(rèn)證方式,因此,可以將用戶的較多基本信息均存儲(chǔ)在客戶端,而無(wú)需每次都在服務(wù)器上進(jìn)行數(shù)據(jù)查詢操作來(lái)獲取用戶的信息,從而顯著減少了服務(wù)器的負(fù)載,提高了驗(yàn)證服務(wù)器的效率。上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式
。
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中圖I示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用戶驗(yàn)證系統(tǒng)的結(jié)構(gòu)示意圖;圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用戶驗(yàn)證器的結(jié)構(gòu)示意圖;圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用戶信息驗(yàn)證方法的流程圖;圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用戶信息驗(yàn)證方法的流程圖;圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用戶信息驗(yàn)證方法的流程圖;圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用戶登錄的驗(yàn)證過(guò)程的網(wǎng)絡(luò)環(huán)境示意圖。
具體實(shí)施例方式下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。相關(guān)技術(shù)中提及,在用戶首次登錄網(wǎng)絡(luò)應(yīng)用后,可以在一定的時(shí)間內(nèi)利用cookie直接進(jìn)入系統(tǒng),無(wú)需再次進(jìn)行驗(yàn)證。而基于cookie本身的屬性,可能出現(xiàn)惡意用戶偽造cookie登錄到系統(tǒng)中的情況,對(duì)系統(tǒng)的安全造成隱患。為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了與相關(guān)技術(shù)不同的登錄方式。圖I示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用戶驗(yàn)證系統(tǒng)的結(jié)構(gòu)示意圖。如圖I所示,客戶端110耦接到驗(yàn)證服務(wù)器120。當(dāng)客戶端110進(jìn)行登錄時(shí),該客戶端110向驗(yàn)證服務(wù)器120發(fā)起用戶登錄請(qǐng)求,進(jìn)而經(jīng)由驗(yàn)證服務(wù)器120對(duì)登錄請(qǐng)求進(jìn)行驗(yàn)證。據(jù)此,將本發(fā)明實(shí)施例提供的系統(tǒng)稱之為用戶驗(yàn)證系統(tǒng)。由此可見(jiàn),采用本發(fā)明實(shí)施例的用戶驗(yàn)證系統(tǒng),在用戶登錄時(shí),即使在存在cookie的情況下,也需要對(duì)登錄請(qǐng)求進(jìn)行驗(yàn)證,不能夠利用cookie直接進(jìn)入系統(tǒng),避免了惡意用戶偽造cookie登錄到系統(tǒng)中的情況,提高了系統(tǒng)的安全性?,F(xiàn)分別對(duì)該用戶驗(yàn)證系統(tǒng)的系統(tǒng)架構(gòu)以及各部分的功能進(jìn)行詳細(xì)說(shuō)明。在客戶端110處,考慮到用戶可能是首次登錄網(wǎng)絡(luò)應(yīng)用,也可能是非首次登錄該網(wǎng)絡(luò)應(yīng)用,根據(jù)登錄的類型,登錄請(qǐng)求的類型也不相同。若用戶是首次登錄或者是驗(yàn)證服務(wù)器120在對(duì)用戶的登錄請(qǐng)求驗(yàn)證失敗之外而要求用戶明確輸入用戶名和密碼時(shí),則該用戶通過(guò)客戶端發(fā)送的登錄請(qǐng)求應(yīng)該是包括用戶名和密碼信息的登錄請(qǐng)求。在其它情況下,則該用戶通過(guò)客戶端發(fā)送的應(yīng)該是包括在諸如cookie之類的緩存中存儲(chǔ)的驗(yàn)證信息的登錄請(qǐng)求。因此,與各登錄請(qǐng)求的類型相對(duì)應(yīng),客戶端中需要不同接口及其他結(jié)構(gòu)。參見(jiàn)圖1,客戶端110包括用戶名/密碼輸入接口 111和服務(wù)器登錄接口 113。用戶名/密碼輸入接口 111可以向驗(yàn)證服務(wù)器120發(fā)送包括用戶名和密碼的登錄請(qǐng)求,而服務(wù)器登錄接口 113可以向驗(yàn)證服務(wù)器120發(fā)送包括驗(yàn)證信息的登錄請(qǐng)求。另外,客戶端110還可以包括諸如cookie之類的緩存器112,其存儲(chǔ)來(lái)自驗(yàn)證服務(wù)器120的驗(yàn)證信息,并且在客戶端110需要利用服務(wù)器登錄接口 113來(lái)向驗(yàn)證服務(wù)器120發(fā)送登錄請(qǐng)求時(shí),將緩存器112中緩存的驗(yàn)證信息提供給服務(wù)器登錄接口 113。可選地,緩存器112可以采用多種方式,例如,在客戶端110和服務(wù)器120之間的·通信采用HTTP協(xié)議時(shí),緩存器112可以采用cookie的方式,當(dāng)然,根據(jù)客戶端110和服務(wù)器120之間的傳輸協(xié)議,緩存器112可以米用其它方式。該客戶端110的架構(gòu)僅僅是根據(jù)登錄請(qǐng)求的類型進(jìn)行劃分,并不對(duì)客戶端的實(shí)際架構(gòu)造成限定。根據(jù)具體情況,客戶端中還可以存在多個(gè)其他器件或模塊或接口。服務(wù)器登錄接口 115發(fā)送的登錄請(qǐng)求中的驗(yàn)證信息包括第一信息部分和第二信息部分,第一信息部分包括用戶的基本信息,而第二信息部分包括利用預(yù)定加密規(guī)則對(duì)用戶的基本信息進(jìn)行加密之后生成的第一校驗(yàn)字符串。為保證驗(yàn)證信息的可靠性,該驗(yàn)證信息由驗(yàn)證服務(wù)器120中的驗(yàn)證信息生成器生成,具體的生成方式在對(duì)驗(yàn)證服務(wù)器120進(jìn)行描述時(shí)來(lái)進(jìn)行詳細(xì)描述。在驗(yàn)證服務(wù)器120處,針對(duì)客戶端110的不同登錄請(qǐng)求方式,驗(yàn)證服務(wù)器的驗(yàn)證方式也不同。當(dāng)?shù)卿浾?qǐng)求來(lái)自客戶端110的服務(wù)器登錄接口 115時(shí),驗(yàn)證服務(wù)器120利用用戶驗(yàn)證器121對(duì)該登錄請(qǐng)求進(jìn)行驗(yàn)證,該登錄請(qǐng)求包括的驗(yàn)證信息包括上文提及的第一信息部分和第二信息部分。參見(jiàn)圖1,驗(yàn)證服務(wù)器120包括用戶驗(yàn)證器121、信息獲取器122和用戶登錄接口123。用戶驗(yàn)證器121對(duì)來(lái)自客戶端110的服務(wù)器登錄接口 115的登錄請(qǐng)求進(jìn)行驗(yàn)證。信息獲取器122耦接到用戶驗(yàn)證器121,在當(dāng)用戶驗(yàn)證器121驗(yàn)證成功時(shí),信息獲取器122從第一信息部分中解析出用戶的基本信息,并發(fā)送至客戶端110。用戶登錄接口 123耦接到用戶驗(yàn)證器121,在當(dāng)用戶驗(yàn)證器121驗(yàn)證失敗時(shí),向用戶呈現(xiàn)用戶登錄界面。根據(jù)本發(fā)明的實(shí)施例,驗(yàn)證服務(wù)器中的用戶驗(yàn)證器能夠?qū)Φ卿浾?qǐng)求進(jìn)行驗(yàn)證,達(dá)到保障系統(tǒng)安全性的目的。而當(dāng)用戶驗(yàn)證器驗(yàn)證失敗時(shí),可以利用用戶登錄接口向用戶呈現(xiàn)用戶登錄界面,從而使得用戶可以切換界面,使用其他登錄方式進(jìn)行登錄,提高用戶的感受體驗(yàn)。另外,現(xiàn)有的一般相關(guān)技術(shù)中,一般網(wǎng)絡(luò)應(yīng)用在cookie中存放的用戶信息較少,這導(dǎo)致當(dāng)用戶登錄以后,在獲取其基本信息時(shí),需要訪問(wèn)后臺(tái)數(shù)據(jù)庫(kù),從而導(dǎo)致數(shù)據(jù)庫(kù)的負(fù)載變大。而在本發(fā)明的實(shí)施例中,驗(yàn)證服務(wù)器通過(guò)信息獲取器可以直接將第一信息部分中的用戶基本信息發(fā)送給用戶,不需要到后臺(tái)數(shù)據(jù)庫(kù)中進(jìn)行用戶的基本信息的調(diào)用和獲取,從而在有效防止用戶篡改、偽造登錄請(qǐng)求(例如cookie)的同時(shí),同時(shí)減少了驗(yàn)證服務(wù)器和后臺(tái)數(shù)據(jù)庫(kù)的消息傳遞數(shù)量,減少了驗(yàn)證服務(wù)器和后臺(tái)數(shù)據(jù)庫(kù)的負(fù)載,降低系統(tǒng)的消耗,提高系統(tǒng)的穩(wěn)定性。圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用戶驗(yàn)證器121的結(jié)構(gòu)示意圖。如圖2所示,用戶驗(yàn)證器121包括接收模塊1211、加密模塊1212和驗(yàn)證模塊1213。接收模塊1211接收來(lái)自客戶端的登錄請(qǐng)求(該登錄請(qǐng)求例如為來(lái)自客戶端110的服務(wù)器登錄接口 115)。加密模塊1212耦接到接收模塊1211,利用預(yù)定加密規(guī)則對(duì)登錄請(qǐng)求包括的驗(yàn)證信息中的第一信息部分進(jìn)行加密,得到第二校驗(yàn)字符串。驗(yàn)證模塊1213分別耦接到接收模塊1211以及加密模塊1212,確定加密模塊1212生成的第二校驗(yàn)字符串與接收模塊1211接收的登錄請(qǐng)求包括的驗(yàn)證信息的第二信息部分中的第一校驗(yàn)字符串是否匹配,如果匹配則驗(yàn)證成功,否則驗(yàn)證失敗,并輸出驗(yàn)證結(jié)果。在本發(fā)明實(shí)施例中,用戶的登錄請(qǐng)求包括驗(yàn)證信息,而該驗(yàn)證信息包括兩部分內(nèi)容,一部分(即第一信息部分)是用戶自身的基本信息,另外一部分(即第二信息部分)是第一校驗(yàn)字符串。用戶登錄后,用戶驗(yàn)證器會(huì)根據(jù)用戶的基本信息生成第二校驗(yàn)字符串,若兩·次生成的校驗(yàn)字符串不匹配,則驗(yàn)證不成功,用戶無(wú)法登錄到該網(wǎng)絡(luò)應(yīng)用中。即,在本發(fā)明實(shí)施例中,增加了對(duì)登錄請(qǐng)求進(jìn)行驗(yàn)證的步驟,若惡意用戶偽造cookie登錄到系統(tǒng)中,偽造的cookie與用戶驗(yàn)證器生成的第二校驗(yàn)字符串必然不匹配,從而能夠拒絕惡意用戶的登錄,保障了系統(tǒng)的安全性。另外,在本發(fā)明實(shí)施例中,利用用戶驗(yàn)證器就能夠?qū)崿F(xiàn)對(duì)用戶登錄請(qǐng)求的驗(yàn)證,不需要到數(shù)據(jù)庫(kù)中獲取用戶名和密碼,減少了對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)調(diào)用操作,減少了數(shù)據(jù)庫(kù)的負(fù)載,從而降低了系統(tǒng)的負(fù)載,提高系統(tǒng)的安全性。根據(jù)上述分析可以得知,登錄請(qǐng)求包括的驗(yàn)證信息中的第一信息部分和第二信息部分對(duì)于用戶驗(yàn)證器121能否驗(yàn)證成功具有關(guān)鍵的意義,因此,下面以一個(gè)具體示例來(lái)描述驗(yàn)證信息的具體內(nèi)容。為方便描述,在本例中,將第一信息部分稱為Q串,將第二信息部分稱為T(mén)串,其中,Q串中存儲(chǔ)用戶的基本 目息,而T串為對(duì)Q串及自身進(jìn)行校驗(yàn)后生成的校驗(yàn)字符串。Q串中存儲(chǔ)用戶的基本信息,其一種可選的定義方式如下 U= {encryptUserName} &r= {encryptRealname} &qid= {qid} &im= {imageld} Sls= {theme}&src={src}&t={type}&le={loginEmail}。具體來(lái)說(shuō),Q串的各屬性介紹如下登錄用戶名(u={encryptUserName})、真實(shí)姓名(r= {encryptRealname})、用戶唯一 id (qid= {qid})、用戶頭像 id (im={imageld})、注冊(cè)模板(s={theme})、注冊(cè)來(lái)源(src= {src})、用戶類型(t={type})、登錄郵箱(Ie= {loginEmail})等信息以關(guān)鍵詞/值(key/value)對(duì)形式存在,且使用&連接不同的key/value值。由于Q串包含的用戶基本信息的種類不同,則Q串的定義規(guī)則也不同。本實(shí)施例中提供的Q串的定義規(guī)則僅僅是一個(gè)示例。例如,對(duì)于登錄用戶名和真實(shí)姓名,考慮到用戶隱私,還可以在存儲(chǔ)到Q串中之前進(jìn)行諸如移位之類的加密處理。Q串的一個(gè)具體示例如下u=fvznbcvt&r=%25Q3%25QN%2508%2500%25Pl%25SN&qid=13792776&im=2d01121qc4al&s=&src=i360&t=l&le=yufulong@yahoo. cn從舉例的Q串可以看出,其用戶名和真實(shí)姓名并沒(méi)有呈現(xiàn),而是以擾碼的形式出現(xiàn),此處是針對(duì)用戶名、真實(shí)姓名利用預(yù)定移位規(guī)則進(jìn)行了移位處理。本例中的預(yù)定移位規(guī)則采用的R0T13編碼,即,對(duì)ramirlencode后的GBK編碼用戶名字符串進(jìn)行移位處理,移位前為simaopig。當(dāng)然,根據(jù)本發(fā)明的實(shí)施例,也可以采用其他的預(yù)定移位規(guī)則,例如間隔性移位或者按照指定順序進(jìn)行字符換位等等,所有可以將用戶名、真實(shí)姓名進(jìn)行移位操作的方式都在本發(fā)明的保護(hù)范圍之內(nèi)。T串用于對(duì)Q串及自身進(jìn)行校驗(yàn),防止用戶篡改、偽造登錄請(qǐng)求。本實(shí)施例提供的T串的一種定義如下S={signature}&t={logintime}&a={is_keep_alive}&v=l. 0其中,T串的各屬性介紹如下 T串具體包括用戶簽名(S= {signature})、用戶的登錄時(shí)間(t= {logintime})、登錄時(shí)是否選擇記住登錄狀態(tài)(a={is_keep_alive})、簽名所用私鑰的版本(v=l. O)等信息。與Q串相對(duì)應(yīng),T串中各屬性也是以key/value對(duì)形式存在,且使用&連接不同的key/value值。與Q串相類似,T串的定義規(guī)則也取決包含屬性的種類、數(shù)量以及各屬性的具體值。本實(shí)施例中提供的T串的定義規(guī)則僅僅是一種可選的實(shí)例。例如,T串中還可以包括用戶簽名時(shí)間等屬性。其中,生成T串所使用的用戶簽名的預(yù)定加密規(guī)則也是可以有多種,例如,可以采用如下的加密算法來(lái)生成用戶簽名md5 ($gbkUsername. $qid. $logintime. $loginemail.與私鑰版本相對(duì)應(yīng)的私鑰)。在生成T串時(shí),需要利用私鑰。相對(duì)應(yīng)的,在用戶驗(yàn)證器121進(jìn)行驗(yàn)證時(shí),同樣需要利用相同的私鑰和加密算法來(lái)對(duì)Q串進(jìn)行處理以生成第二校驗(yàn)字符串。為了保證可以更新私鑰和相應(yīng)的加密算法。根據(jù)本發(fā)明的一個(gè)實(shí)施例,可以在T串中包含私鑰版本,這樣,用戶驗(yàn)證器121中的加密模塊可以根據(jù)T串中的私鑰版本來(lái)選擇相應(yīng)的私鑰和加密算法來(lái)生成第二校驗(yàn)字符串。T串的一個(gè)具體示例如下s=07a47447ddacl331c89901alaccf 32zm&t=1346250824&a=0&v=l. O在T串中,記錄用戶的登錄時(shí)間,結(jié)合登錄時(shí)登錄狀態(tài)(is_keep_alive)來(lái)校驗(yàn)用戶cookie的生成周期,可以防止用戶更改cookie的過(guò)期時(shí)間來(lái)偽造請(qǐng)求。返回到圖1,當(dāng)用戶驗(yàn)證器121的驗(yàn)證結(jié)果為驗(yàn)證成功時(shí),信息獲取器122會(huì)解析出登錄請(qǐng)求中的驗(yàn)證信息的用戶基本信息(例如解析出Q串中的用戶基本信息),并且將這些基本信息返回給客戶端110,以便客戶端110進(jìn)行后續(xù)處理。而當(dāng)用戶驗(yàn)證器121的驗(yàn)證結(jié)果為驗(yàn)證失敗時(shí),用戶登錄接口 123會(huì)向客戶端110提供用戶登錄界面,以便用戶通過(guò)客戶端110的用戶名/密碼接入接口 111向驗(yàn)證服務(wù)器120發(fā)送包括用戶名和密碼信息的登錄請(qǐng)求。為了對(duì)來(lái)自用戶名/密碼接入接口 111的登錄請(qǐng)求進(jìn)行處理,參見(jiàn)圖1,驗(yàn)證服務(wù)器120中還可以包括用戶信息存儲(chǔ)器124和系統(tǒng)驗(yàn)證器125。用戶信息存儲(chǔ)器124中存儲(chǔ)有各用戶的基本信息。系統(tǒng)驗(yàn)證器125耦接到用戶信息存儲(chǔ)器124,在接收到來(lái)自用戶登錄接口 123的用戶名和密碼之后,并確定接收的用戶名和密碼信息是否存儲(chǔ)在用戶信息存儲(chǔ)器124中,若是,則驗(yàn)證成功。在系統(tǒng)驗(yàn)證器125驗(yàn)證成功后,用戶能夠成功登錄到系統(tǒng)。此時(shí),驗(yàn)證服務(wù)器120還包括驗(yàn)證信息生成器126,其耦接到系統(tǒng)驗(yàn)證器125,從用戶信息存儲(chǔ)器124中獲取該用戶的基本信息,并生成包括第一信息部分和第二信息部分的驗(yàn)證信息,其中,第一信息部分包括用戶的基本信息,第二信息部分包括利用預(yù)定加密規(guī)則對(duì)用戶的基本信息進(jìn)行加密之后生成的第一校驗(yàn)字符串。前文提及,驗(yàn)證信息生成器126能夠生成包括第一信息部分和第二信息部分的驗(yàn)證信息。生成的驗(yàn)證信息存儲(chǔ)在客戶端110的cookiell2中,當(dāng)客戶端110發(fā)起登錄請(qǐng)求時(shí),從cookie 112中獲取包括第一信息部分和第二信息部分的驗(yàn)證信息,將其攜帶在登錄請(qǐng)求中,發(fā)送至用戶驗(yàn)證器121進(jìn)行校驗(yàn)。據(jù)此可知,用戶驗(yàn)證器121是對(duì)驗(yàn)證信息生成器126生成的驗(yàn)證信息進(jìn)行驗(yàn)證,兩者是相輔相成的。若用戶驗(yàn)證器121驗(yàn)證成功,則用戶能夠成功登錄業(yè)務(wù)應(yīng)用,用戶本次登錄所使用的驗(yàn)證信息是正確的,不需要驗(yàn)證信息生成器 126重新生成。而在用戶驗(yàn)證器121驗(yàn)證失敗的時(shí)候,用戶會(huì)觸發(fā)系統(tǒng)驗(yàn)證器125的驗(yàn)證操作,該操作證明此次登錄沒(méi)有正確的驗(yàn)證信息。因此,在系統(tǒng)驗(yàn)證器125驗(yàn)證通過(guò)后,驗(yàn)證信息生成器126會(huì)根據(jù)相關(guān)信息生成新的驗(yàn)證信息,而不是使用一成不變的驗(yàn)證信息。若下一次登錄該網(wǎng)絡(luò)應(yīng)用的用戶不是偽造cookie的惡意用戶,則該用戶使用的驗(yàn)證信息是由驗(yàn)證信息生成器126最新生成的。由此可見(jiàn),本發(fā)明實(shí)施例提供的驗(yàn)證方法既能保證驗(yàn)證信息的可靠性,又能夠提高用戶登錄的安全性。上述提供的驗(yàn)證服務(wù)器在的架構(gòu)僅僅是優(yōu)選實(shí)施例,并不對(duì)驗(yàn)證服務(wù)器的實(shí)際架構(gòu)造成限定。驗(yàn)證服務(wù)器中還可以存在多個(gè)其他器件或模塊或接口,根據(jù)具體情況而定。圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用戶信息驗(yàn)證方法的流程圖。該流程起始于步驟S302,在步驟S302中,接收來(lái)自客戶端的、包括驗(yàn)證信息的登錄請(qǐng)求。隨后,在步驟S304中,提取步驟S302中客戶端發(fā)起的登錄請(qǐng)求,驗(yàn)證用戶的驗(yàn)證信息是否正確。如上所述,客戶端的登錄請(qǐng)求包括驗(yàn)證信息,而驗(yàn)證信息包括第一信息部分和第二信息部分,第一信息部分包括用戶的基本信息,而第二信息部分包括利用預(yù)定加密規(guī)則對(duì)用戶的基本信息進(jìn)行加密之后生成的第一校驗(yàn)字符串。步驟S304中的具體驗(yàn)證處理會(huì)在下面參考圖5給出的方法中進(jìn)行詳細(xì)描述。如果在步驟S304的驗(yàn)證成功,則可選地,驗(yàn)證方法進(jìn)入步驟S306,其中從步驟S302所獲取的登錄請(qǐng)求中的驗(yàn)證信息包括的第一信息部分中解析出用戶的基本信息,并傳輸返回至客戶端。如果在步驟S304的驗(yàn)證失敗,則可選地,該方法可以進(jìn)入步驟S308,在該步驟S308中,向用戶呈現(xiàn)用戶登錄界面,以便用戶輸入用戶名和密碼,隨后在驗(yàn)證服務(wù)器中利用系統(tǒng)驗(yàn)證器進(jìn)行進(jìn)一步驗(yàn)證,此時(shí)具體的驗(yàn)證步驟請(qǐng)參見(jiàn)圖4。由圖3所示流程可知,用戶發(fā)起登錄請(qǐng)求時(shí),利用用戶驗(yàn)證系統(tǒng)中的驗(yàn)證服務(wù)器對(duì)登錄請(qǐng)求進(jìn)行驗(yàn)證,能夠提高用戶登錄的安全性。綜上,可以得知,在驗(yàn)證服務(wù)器一側(cè),對(duì)于登錄請(qǐng)求進(jìn)行驗(yàn)證,可以有兩種驗(yàn)證結(jié)果,一種是驗(yàn)證通過(guò),另外一種是對(duì)應(yīng)的驗(yàn)證失敗。在驗(yàn)證通過(guò)的情況下,驗(yàn)證服務(wù)器會(huì)利用信息獲取器從第一信息部分中解析出用戶的基本信息,并發(fā)送至用戶。在用戶基本信息的獲取過(guò)程中,驗(yàn)證服務(wù)器不需要到后臺(tái)數(shù)據(jù)庫(kù)中進(jìn)行用戶的基本信息的調(diào)用和獲取,減少了驗(yàn)證服務(wù)器和后臺(tái)數(shù)據(jù)庫(kù)的消息傳遞數(shù)量,減少了驗(yàn)證服務(wù)器和后臺(tái)數(shù)據(jù)庫(kù)的負(fù)載,降低系統(tǒng)的消耗,提高系統(tǒng)的穩(wěn)定性。在驗(yàn)證不通過(guò),或者稱之為驗(yàn)證失敗的情況下,驗(yàn)證服務(wù)器會(huì)將用戶登錄界面呈現(xiàn)給用戶。與此相應(yīng)的,用戶可以通過(guò)用戶登錄接口重新輸入用戶名和密碼,再次進(jìn)行登錄。圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用戶通過(guò)輸入用戶名和密碼進(jìn)行登錄的用戶信息驗(yàn)證方法的流程圖。該流程適用于用戶驗(yàn)證器驗(yàn)證失敗或用戶首次登錄的情況,起始于步驟S402。在步驟S402中,通過(guò)用戶登錄接口接收用戶經(jīng)由用戶登錄界面發(fā)送的用戶名和密碼。隨后,在步驟S404中,利用系統(tǒng)驗(yàn)證器接收步驟S402接收的用戶名和密碼,對(duì)該用戶名和密碼進(jìn)行查詢,確定用戶名和密碼是否存儲(chǔ)在用戶信息存儲(chǔ)器中。用戶信息存儲(chǔ)器中存儲(chǔ)各用戶的基本信息,該基本信息包括用戶名和密碼信息,還可以包括其他信息,例如用戶頭像、用戶頭像尺寸、用戶郵箱地址、真實(shí)姓名等等,具體的查詢方式可以有多種,例如,索引查詢、哈希排序查詢等等。 如果在步驟S404中的查詢結(jié)果為用戶名和密碼存儲(chǔ)在用戶信息存儲(chǔ)器中,則可選的,驗(yàn)證方法進(jìn)入步驟S406,系統(tǒng)驗(yàn)證器驗(yàn)證成功,生成包括第一信息部分和第二信息部分的驗(yàn)證信息。在生成該驗(yàn)證信息的過(guò)程中,可以從用戶信息存儲(chǔ)器中獲取該用戶的基本信息,且第一信息部分包括用戶的基本信息,第二信息部分包括利用預(yù)定加密規(guī)則對(duì)用戶的基本信息進(jìn)行加密之后生成的第一校驗(yàn)字符串。如果在步驟S404中的查詢結(jié)果為用戶名和密碼并不存儲(chǔ)在用戶信息存儲(chǔ)器中,則可選的,驗(yàn)證方法進(jìn)行步驟S408,在該步驟S408中,通知用戶無(wú)法登錄該網(wǎng)絡(luò)應(yīng)用。因用戶信息存儲(chǔ)器中并沒(méi)有該用戶名和密碼的存儲(chǔ)信息,那么后續(xù)用戶可以該網(wǎng)絡(luò)應(yīng)用進(jìn)行注冊(cè),以新用戶的身份進(jìn)行登錄。上文提及,步驟S304中的具體驗(yàn)證處理會(huì)在圖5給出的方法中進(jìn)行詳細(xì)描述。圖5示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用戶信息驗(yàn)證方法的流程圖。該流程起始于步驟S502,在步驟S502中,接收來(lái)自用戶的登錄請(qǐng)求。其中,該登錄請(qǐng)求中攜帶有驗(yàn)證信息,該驗(yàn)證信息包括第一信息部分和第二信息部分,第一信息部分包括用戶的基本信息,第二信息部分包括利用預(yù)定加密規(guī)則對(duì)用戶的基本信息進(jìn)行加密之后生成的第一校驗(yàn)字符串。隨后,在步驟S504中,利用預(yù)定加密規(guī)則對(duì)步驟S502中接收的用戶的基本信息進(jìn)行加密,生成第二校驗(yàn)字符串。進(jìn)而,在步驟S506中,從步驟S502中接收第一校驗(yàn)字符串,再?gòu)牟襟ES504中接收第二校驗(yàn)字符串,對(duì)兩個(gè)校驗(yàn)字符串進(jìn)行匹配,根據(jù)匹配結(jié)果確定是否驗(yàn)證成功,如果匹配則驗(yàn)證成功,而如果不匹配則驗(yàn)證失敗。采用圖5所示的方法,根據(jù)用戶的登錄請(qǐng)求自身能夠?qū)崿F(xiàn)對(duì)用戶的驗(yàn)證,不需要到數(shù)據(jù)庫(kù)中獲取用戶名和密碼,減少了對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)調(diào)用操作,減少了數(shù)據(jù)庫(kù)的負(fù)載,從而降低了系統(tǒng)的負(fù)載,提高系統(tǒng)的安全性。并且,在本發(fā)明實(shí)施例中,增加了對(duì)登錄請(qǐng)求進(jìn)行驗(yàn)證的處理,若惡意用戶偽造cookie登錄到系統(tǒng)中,偽造的cookie與驗(yàn)證模塊生成的第二校驗(yàn)字符串必然不匹配,從而能夠拒絕惡意用戶的登錄,保障了系統(tǒng)的安全性。在一個(gè)實(shí)施例中,第一校驗(yàn)字符串為利用預(yù)定加密規(guī)則根據(jù)密鑰對(duì)用戶的基本信息進(jìn)行加密而生成。相應(yīng)的,第二信息部分中還包括與密鑰相對(duì)應(yīng)的版本信息,以及,基于第二信息部分中的版本信息獲取密鑰,并且利用預(yù)定加密規(guī)則根據(jù)所獲取的密鑰來(lái)對(duì)用戶的基本信息進(jìn)行加密,生成第二校驗(yàn)字符串。此處的密鑰為私鑰,也可以采用公鑰,根據(jù)具體情況而定。若采用除密鑰外的其他元素也能夠達(dá)到加密的目的,則也可以采用其他元素。在一個(gè)實(shí)施例中,考慮到用戶的基本信息是可以從數(shù)據(jù)庫(kù)中獲取的,并不是完全保密的,因此,若用戶的基本信息以原方式呈現(xiàn),則還是有可能被惡意用戶截取或盜竊到的。為解決該問(wèn)題,本實(shí)施例提供了一種處理方式,即,將第一信息部分中的用戶的基本信息以預(yù)定移位規(guī)則進(jìn)行移位。相應(yīng)的,為保證第二校驗(yàn)字符串與第一校驗(yàn)字符串能夠匹配上,需要在進(jìn)行加密操作前,對(duì)所接收的第一信息部分中的用戶的基本信息按照與預(yù)定移位規(guī)則相反的移位規(guī)則進(jìn)行移位處理。按照上述步驟處理后,生成第二校驗(yàn)字符串所使用的用戶基本信息和生成第一校驗(yàn)字符所使用的用戶基本信息是相同的,不會(huì)出現(xiàn)用戶基本信息錯(cuò)位的意外情況,保證了后續(xù)校驗(yàn)字符串匹配的成功度。可選地,可以直接將第一信息部分和第二信息部分存儲(chǔ)在cookie中,并通過(guò)HTTP發(fā)送登錄請(qǐng)求。
在本實(shí)施例中,用戶的基本信息可以包括下列至少一項(xiàng)登錄用戶名、真實(shí)姓名、用戶唯一標(biāo)識(shí)(id)、用戶頭像id、注冊(cè)模板、注冊(cè)來(lái)源、用戶類型、登錄郵箱。網(wǎng)絡(luò)應(yīng)用在登錄時(shí)使用較多的為登錄用戶名、用戶唯一 id以及登錄郵箱中的任意一個(gè)或多個(gè)的組合,而在該應(yīng)用的實(shí)施過(guò)程中,則會(huì)較多的使用到用戶的真實(shí)姓名、頭像id等相關(guān)信息?,F(xiàn)提供一個(gè)具體實(shí)施例,對(duì)本發(fā)明提供的用戶登錄的驗(yàn)證過(guò)程進(jìn)行具體說(shuō)明,該實(shí)施例的網(wǎng)絡(luò)環(huán)境示意圖請(qǐng)參見(jiàn)圖6。在本實(shí)施例中,用戶通過(guò)客戶端發(fā)出登錄請(qǐng)求,業(yè)務(wù)方(相當(dāng)于上文的驗(yàn)證服務(wù)器)會(huì)根據(jù)用戶的登錄請(qǐng)求中是否存在驗(yàn)證信息(例如Q/T串)進(jìn)行判斷,其處理步驟如下。I、用戶沒(méi)有Q/T串時(shí),業(yè)務(wù)方引導(dǎo)用戶登錄;2、用戶有Q/T串時(shí),業(yè)務(wù)方可以利用自身的用戶驗(yàn)證器自行根據(jù)Q/T串算法,校驗(yàn)Q/T串是否正確,不需要請(qǐng)求數(shù)據(jù)庫(kù)(相當(dāng)于上文的用戶信息存儲(chǔ)器);3、用戶Q/T串非法,業(yè)務(wù)方引導(dǎo)用戶登錄;4、用戶Q/T串合法,業(yè)務(wù)方利用自身的信息獲取器根據(jù)Q/T串可以反解出用戶信息,不需要查詢數(shù)據(jù)庫(kù);5、用戶輸入用戶名密碼,在數(shù)據(jù)庫(kù)匹配后,用戶中心服務(wù)器(Server,即驗(yàn)證服務(wù)器中的驗(yàn)證信息生成器)為用戶設(shè)置Q/T串cookie。從系統(tǒng)的角度而言,本次用戶登錄的步驟如下步驟A、用戶通過(guò)多種終端可以使用統(tǒng)一的用戶帳號(hào)系統(tǒng);步驟B、用戶登錄時(shí),系統(tǒng)校驗(yàn)用戶名密碼后,從數(shù)據(jù)庫(kù)中取出用戶信息,將業(yè)務(wù)方常用字段存儲(chǔ)到cookie Q中,設(shè)置到用戶瀏覽器;步驟C、系統(tǒng)使用加密規(guī)則,將Q串內(nèi)容按照特定順序,連接系統(tǒng)私鑰使用加密算法生成T串,并中T串中包含用戶登錄的系統(tǒng)時(shí)間,同樣設(shè)置到用戶瀏覽器;步驟D、用戶訪問(wèn)公司各業(yè)務(wù)時(shí),用戶中心提供SDK方法,可以判斷用戶是否存在Q/T,同時(shí)判斷Q/T是否合法一一使用同樣的簽名算法,將Q串生成新的T串,看是否與用戶cookie中的T串保持一致;步驟E、如果一致,則將Q內(nèi)包含的用戶信息返回給業(yè)務(wù)方,業(yè)務(wù)方不需要連接數(shù)據(jù)庫(kù)即可獲得當(dāng)前登錄用戶基本信息,有效減少對(duì)DB數(shù)據(jù)庫(kù)系統(tǒng)的壓力。綜上,本發(fā)明實(shí)施例提供的用戶驗(yàn)證方法、設(shè)備及系統(tǒng),增加了對(duì)登錄請(qǐng)求進(jìn)行驗(yàn)證的步驟,若惡意用戶偽造cookie登錄到系統(tǒng)中,偽造的cookie與第二校驗(yàn)字符串必然不匹配,從而能夠拒絕惡意用戶的登錄,保障了系統(tǒng)的安全性。并且,在本發(fā)明實(shí)施例中,利用用戶驗(yàn)證器就能夠?qū)崿F(xiàn)對(duì)用戶登錄請(qǐng)求的驗(yàn)證,不需要到數(shù)據(jù)庫(kù)中獲取用戶名和密碼,減少了對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)調(diào)用操作,減少了數(shù)據(jù)庫(kù)的負(fù)載,從而降低了系統(tǒng)的負(fù)載,提高系統(tǒng)的安全性。在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求 的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式
的權(quán)利要求書(shū)由此明確地并入該具體實(shí)施方式
,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP )來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的各設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
權(quán)利要求
1.一種用戶驗(yàn)證設(shè)備,包括 接收模塊,配置為接收來(lái)自用戶的、包括驗(yàn)證信息的登錄請(qǐng)求,其中,該驗(yàn)證信息包括第一信息部分和第二信息部分,所述第一信息部分包括所述用戶的基本信息,所述第二信息部分包括利用預(yù)定加密規(guī)則對(duì)所述用戶的基本信息進(jìn)行加密之后生成的第一校驗(yàn)字符串; 加密模塊,配置為利用所述預(yù)定加密規(guī)則對(duì)所述用戶的基本信息進(jìn)行加密,得到第二校驗(yàn)字符串; 驗(yàn)證模塊,配置為確定所述第二校驗(yàn)字符串與所述第一校驗(yàn)字符串是否匹配,如果匹配則驗(yàn)證成功。
2.根據(jù)權(quán)利要求I的用戶驗(yàn)證設(shè)備,其特征在于,所述第一校驗(yàn)字符串為利用所述預(yù)定加密規(guī)則根據(jù)密鑰對(duì)所述用戶的基本信息進(jìn)行加密而生成; 所述第二信息部分還包括與所述密鑰相對(duì)應(yīng)的版本信息,以及 所述加密模塊還配置為基于所述第二信息部分中的版本信息獲取密鑰,并且利用所述預(yù)定加密規(guī)則根據(jù)所獲取的密鑰來(lái)對(duì)所述用戶的基本信息進(jìn)行加密,生成所述第二校驗(yàn)字符串。
3.根據(jù)權(quán)利要求I或2所述的用戶驗(yàn)證設(shè)備,其特征在于,所述第一信息部分中的所述用戶的基本信息以預(yù)定移位規(guī)則進(jìn)行移位;以及 所述加密模塊還配置為進(jìn)行加密操作前,對(duì)所接收的第一信息部分中的所述用戶的基本信息按照與所述預(yù)定移位規(guī)則相反的移位規(guī)則進(jìn)行移位處理。
4.根據(jù)權(quán)利要求I至3任一項(xiàng)所述的用戶驗(yàn)證設(shè)備,其特征在于,所述用戶的基本信息包括下列至少一項(xiàng) 登錄用戶名、真實(shí)姓名、用戶唯一標(biāo)識(shí)id、用戶頭像id、注冊(cè)模板、注冊(cè)來(lái)源、用戶類型、登錄郵箱。
5.根據(jù)權(quán)利要求I至4任一項(xiàng)所述的用戶驗(yàn)證設(shè)備,其特征在于,所述第一信息部分和所述第二信息部分存儲(chǔ)在cookie中,而且所述登錄請(qǐng)求通過(guò)超文本傳送協(xié)議HTTP發(fā)送。
6.一種用戶驗(yàn)證方法,包括 接收來(lái)自用戶的、包括驗(yàn)證信息的登錄請(qǐng)求,其中,該驗(yàn)證信息包括第一信息部分和第二信息部分,所述第一信息部分包括所述用戶的基本信息,所述第二信息部分包括利用預(yù)定加密規(guī)則對(duì)所述用戶的基本信息進(jìn)行加密之后生成的第一校驗(yàn)字符串; 利用所述預(yù)定加密規(guī)則對(duì)所述用戶的基本信息進(jìn)行加密,生成第二校驗(yàn)字符串; 確定所述第二校驗(yàn)字符串與所述第一校驗(yàn)字符串是否匹配,如果匹配則驗(yàn)證成功。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述第一校驗(yàn)字符串為利用所述預(yù)定加密規(guī)則根據(jù)密鑰對(duì)所述用戶的基本信息進(jìn)行加密而生成; 所述第二信息部分還包括與所述密鑰相對(duì)應(yīng)的版本信息,以及 所述生成第二校驗(yàn)字符串的步驟包括基于所述第二信息部分中的版本信息獲取密鑰,并且利用所述預(yù)定加密規(guī)則根據(jù)所獲取的密鑰來(lái)對(duì)所述用戶的基本信息進(jìn)行加密,生成所述第二校驗(yàn)字符串。
8.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,所述第一信息部分中的所述用戶的基本信息以預(yù)定移位規(guī)則進(jìn)行移位;以及該方法還包括步驟進(jìn)行加密操作前,對(duì)所接收的第一信息部分中的所述用戶的基本信息按照與所述預(yù)定移位規(guī)則相反的移位規(guī)則進(jìn)行移位處理。
9.根據(jù)權(quán)利要求6至8任一項(xiàng)所述的方法,其特征在于,所述用戶的基本信息包括下列至少一項(xiàng) 登錄用戶名、真實(shí)姓名、用戶唯一標(biāo)識(shí)id、用戶頭像id、注冊(cè)模板、注冊(cè)來(lái)源、用戶類型、登錄郵箱。
10.根據(jù)權(quán)利要求6至9任一項(xiàng)所述的方法,其特征在于,所述第一信息部分和所述第二信息部分存儲(chǔ)在cookie中,而且所述登錄請(qǐng)求通過(guò)超文本傳送協(xié)議HTTP發(fā)送。
全文摘要
本發(fā)明公開(kāi)了一種用戶驗(yàn)證設(shè)備,包括接收模塊,配置為接收來(lái)自用戶的、包括驗(yàn)證信息的登錄請(qǐng)求,其中,該驗(yàn)證信息包括第一信息部分和第二信息部分,第一信息部分包括用戶的基本信息,第二信息部分包括利用預(yù)定加密規(guī)則對(duì)用戶的基本信息進(jìn)行加密之后生成的第一校驗(yàn)字符串;加密模塊,配置為利用預(yù)定加密規(guī)則對(duì)用戶的基本信息進(jìn)行加密,得到第二校驗(yàn)字符串;驗(yàn)證模塊,配置為確定第二校驗(yàn)字符串與第一校驗(yàn)字符串是否匹配,如果匹配則驗(yàn)證成功。采用本發(fā)明能夠解決惡意用戶會(huì)通過(guò)偽造cookie從而登錄到系統(tǒng)導(dǎo)致的系統(tǒng)的安全存在隱患的技術(shù)問(wèn)題。本發(fā)明還公開(kāi)了一種相應(yīng)的用戶驗(yàn)證方法和系統(tǒng)。
文檔編號(hào)H04L29/06GK102946384SQ20121041076
公開(kāi)日2013年2月27日 申請(qǐng)日期2012年10月24日 優(yōu)先權(quán)日2012年10月24日
發(fā)明者于富龍, 黃來(lái)安 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司