欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

身份認證方法、認證裝置及認證系統(tǒng)與流程

文檔序號:12809540閱讀:210來源:國知局
身份認證方法、認證裝置及認證系統(tǒng)與流程

本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體而言,涉及一種身份認證方法、認證裝置及認證系統(tǒng)。



背景技術(shù):

隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,互聯(lián)網(wǎng)業(yè)務(wù)的數(shù)量也大幅增加,人們在使用互聯(lián)網(wǎng)時,一般先對用戶身份進行認證,傳統(tǒng)的用戶身份認證系統(tǒng)大多基于靜態(tài)身份,用戶向系統(tǒng)注冊身份標識和口令,服務(wù)器通過匹配存儲的信息進行身份認證,而口令大多為明文保存,攻擊者可以通過竊聽通信獲取用戶蹤跡,從而窺探用戶信息,進行偽造用戶攻擊。而基于動態(tài)身份的方法,主要是智能卡存儲密鑰和算法,利用算法生成動態(tài)口令,然后將動態(tài)口令和用戶信息發(fā)送給服務(wù)器端,認證服務(wù)器計算動態(tài)口令進行比較,這樣雖然可以有效地避免攻擊者對特定用戶的追蹤,但不能抵抗合法用戶的惡意偽造攻擊,甚至來自服務(wù)器的模仿攻擊。



技術(shù)實現(xiàn)要素:

鑒于此,本發(fā)明提出了一種身份認證方法,旨在解決現(xiàn)有技術(shù)中由于模仿服務(wù)器而造成的攻擊的問題。本發(fā)明還提出了一種身份認證裝置和身份認證系統(tǒng)。

一個方面,本發(fā)明提出了一種身份認證方法,該方法包括如下步驟:生成用戶身份第一驗證信息;向服務(wù)器發(fā)送所述用戶身份第一驗證信息;接收所述服務(wù)器返回的服務(wù)器身份驗證信息;所述服務(wù)器身份驗證信息為服務(wù)器根據(jù)接收的所述用戶身份第一驗證信息進行用戶身份驗證,并在用戶身份驗證通過時生成的信息;根據(jù)返回的所述服務(wù)器身份驗證信息驗證服務(wù)器身份,如果驗證未通過,則用戶登錄服務(wù)器失?。蝗绻炞C通過,則滿足用戶登錄服務(wù)器的第一條件。

進一步地,上述身份認證方法中,所述生成用戶身份第一驗證信息步驟進一步包括:生成第一隨機數(shù),并接收用戶身份標志、用戶身份標識和口令密碼,以及對所述用戶身份標識、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值;對所述第一隨機數(shù)和預先存儲的服務(wù)器身份標識進行異或計算,得到第一異或值;將所述第一哈希值、所述第一異或值和所述用戶身份標志確定為用戶身份第一驗證信息。

進一步地,上述身份認證方法中,接收所述服務(wù)器返回的服務(wù)器身份驗證信息步驟進一步包括:接收所述服務(wù)器返回的第二哈希值;所述第二哈希值的生成方法為:服務(wù)器從接收的第一異或值中獲取第一隨機數(shù),并根據(jù)接收的用戶身份標志信息從預先存儲的用戶信息庫獲取用戶身份標識和口令密碼,并對用戶身份標識、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值,以及將該計算得到的第一哈希值與接收的第一哈希值進行比較,若一致,則用戶身份驗證通過,并生成第二隨機數(shù),對第二隨機數(shù)和服務(wù)器身份標識進行哈希計算得到第二哈希值;接收所述服務(wù)器返回的第二異或值;其中,所述第二異或值為所述服務(wù)器對所述第一隨機數(shù)和所述第二隨機數(shù)進行異或運算得到的。

進一步地,上述身份認證方法中,所述根據(jù)返回的所述服務(wù)器身份驗證信息驗證服務(wù)器步驟進一步包括:從所述第二異或值中獲取第二隨機數(shù);對所述服務(wù)器身份標識和第二隨機數(shù)進行哈希計算,得到第二哈希值;比較計算得到的第二哈希值和接收到的服務(wù)器返回的第二哈希值,若一致,則服務(wù)器身份驗證通過。

進一步地,上述身份認證方法中,在滿足用戶登錄服務(wù)器的第一條件時,確定用戶登錄所述服務(wù)器成功。

進一步地,上述身份認證方法還包括如下步驟:向所述服務(wù)器發(fā)送用戶身份第二驗證信息;接收所述服務(wù)器返回的用戶身份第二驗證結(jié)果;所述用戶身份第二驗證結(jié)果為所述服務(wù)器根據(jù)接收的所述用戶身份第二驗證信息返回的用戶身份驗證是否通過的信息;在所述用戶身份第二驗證結(jié)果為驗證通過時,滿足用戶登錄服務(wù)器的第二條件,用戶登錄服務(wù)器成功;在所述用戶身份第二驗證結(jié)果未通過時,用戶登錄服務(wù)器失敗。

進一步地,上述身份認證方法中,所述向服務(wù)器發(fā)送用戶身份第二驗證信息步驟進一步包括:計算第一隨機數(shù)的第三哈希值;將所述第三哈希值發(fā)送至所述服務(wù)器;接收所述服務(wù)器返回的用戶身份第二驗證結(jié)果步驟中的用戶身份第二驗證結(jié)果的確定方法為:服務(wù)器對第一隨機數(shù)進行哈希計算,得到第三哈希值,比較計算得到的第三哈希值與接收到的第三哈希值,若一致,則用戶身份驗證通過,若不一致,則用戶身份驗證未通過。

本實施例中,服務(wù)器先對用戶的身份進行驗證,若驗證不通過,則登錄失敗,若驗證通過,服務(wù)器則會生成一個包括服務(wù)器sid的服務(wù)器身份驗證信息,并將該信息發(fā)送給客戶端,客戶端接收到該信息后,對服務(wù)器的身份進行驗證,若驗證失敗,則用戶登錄失敗;若驗證成功,則滿足用戶登錄服務(wù)器的第一條件,此時,用戶可以直接登錄服務(wù)器,也可以再設(shè)置其他的驗證條件,在其他的驗證條件滿足時,用戶才可以成功登錄服務(wù)器??梢钥闯?,本發(fā)明不僅設(shè)置了服務(wù)器對用戶身份的驗證,同時,也設(shè)置有用戶對服務(wù)器的身份驗證,該雙向身份認證的方式,避免了偽造服務(wù)器身份造成的攻擊,也抵抗攻擊者的消息重放攻擊。

另一方面,本發(fā)明還提出了一種身份認證裝置,該裝置包括:生成模塊,用于生成用戶身份第一驗證信息;發(fā)送模塊,用于向服務(wù)器發(fā)送所述用戶身份第一驗證信息;接收模塊,用于接收所述服務(wù)器返回的服務(wù)器身份驗證信息,所述服務(wù)器身份驗證信息為服務(wù)器根據(jù)接收的所述用戶身份第一驗證信息進行用戶身份驗證,并在用戶身份驗證通過時生成的信息;驗證模塊,用于根據(jù)返回的所述服務(wù)器身份驗證信息驗證服務(wù)器身份。

進一步地,上述身份認證裝置中,所述生成模塊還用于:生成第一隨機數(shù),并接收用戶身份標志、用戶身份標識和口令密碼,以及對所述用戶身份標識、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值;生成第一隨機數(shù),對所述第一隨機數(shù)和預先存儲的服務(wù)器身份標識進行異或計算,得到第一異或值;將所述第一哈希值、所述第一異或值和所述用戶身份標志確定為用戶身份第一驗證信息;所述接收模塊還用于:接收所述服務(wù)器返回的第二哈希值;其中,所述第二哈希值的生成方法為:服務(wù)器從接收的第一異或值中獲取第一隨機數(shù),并根據(jù)接收的用戶身份標志信息從預先存儲的用戶信息庫獲取用戶身份標識和口令密碼,并對用戶身份標識、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值,以及將該計算得到的第一哈希值與從接收的第一哈希值進行比對,若一致,則用戶身份驗證通過,并生成第二隨機數(shù),對第二隨機數(shù)和服務(wù)器身份標識進行哈希計算得到第二哈希值;接收所述服務(wù)器返回的第二異或值;其中,所述第二異或值為所述服務(wù)器對所述第一隨機數(shù)和所述第二隨機數(shù)進行異或運算得到的;所述驗證模塊還用于從所述第二異或值中獲取第二隨機數(shù);根據(jù)預先存儲的所述服務(wù)器身份標識計算得到第二隨機數(shù);對所述服務(wù)器身份標識和第二隨機數(shù)進行哈希計算,得到第二哈希值;比較計算得到的第二哈希值和接收到的服務(wù)器返回的第二哈希值,若一致,則服務(wù)器身份驗證通過。

又一方面,本發(fā)明還提出了一種身份認證系統(tǒng),該系統(tǒng)包括客戶端和服務(wù)器;其中,所述客戶端用于:生成用戶身份第一驗證信息,并將所述用戶身份第一驗證信息發(fā)送給服務(wù)器;所述服務(wù)器用于:接收所述用戶身份第一驗證信息,并根據(jù)接收的所述用戶身份第一驗證信息進行用戶身份驗證,并在用戶身份驗證通過時生成服務(wù)器驗證信息,以及將所述服務(wù)器驗證信息發(fā)送給客戶端;所述客戶端用于:接收所述服務(wù)器發(fā)送的服務(wù)器驗證信息,并根據(jù)返回的所述服務(wù)器驗證信息驗證服務(wù)器身份。

進一步地,上述身份認證系統(tǒng)中,所述客戶端還用于:生成第一隨機數(shù),并接收用戶身份標志、用戶身份標識和口令密碼,以及對所述用戶身份標識、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值;對所述第一隨機數(shù)和預先存儲的服務(wù)器身份標識進行異或計算,得到第一異或值;將所述第一哈希值、所述第一異或值和所述用戶身份標志發(fā)送給服務(wù)器;所述服務(wù)器還用于:接收所述第一哈希值和第一異或值,并從接收的所述第一異或值中獲取第一隨機數(shù),并根據(jù)接收的用戶身份標志信息從預先存儲的用戶信息庫獲取用戶身份標識和口令密碼,并對用戶身份標識、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值,以及將該計算得到的第一哈希值與從接收的第一哈希值進行比對,若一致,則用戶身份驗證通過,并生成第二隨機數(shù),對第二隨機數(shù)和服務(wù)器身份標識進行哈希計算得到第二哈希值;對所述第一隨機數(shù)和所述第二隨機數(shù)進行異或運算得到第二異或值;將所述第二哈希值和所述第二異或值發(fā)送至客戶端;所述客戶端還用于:接收所述第二哈希值和第二異或值,并從所述第二異或值中獲取第二隨機數(shù);對所述服務(wù)器身份標識和第二隨機數(shù)進行哈希計算,得到第二哈希值;比較計算得到的第二哈希值和接收到的服務(wù)器返回的第二哈希值,若一致,則服務(wù)器身份驗證通過。

由于身份認證裝置、身份認證系統(tǒng)與上述身份認證方法原理相同,所以具有與身份認證方法相同的技術(shù)效果。

附圖說明

通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:

圖1為本發(fā)明實施例提供的身份認證方法的流程圖;

圖2為本發(fā)明實施例提供的身份認證方法中,生成用戶身份第一驗證信息的流程圖;

圖3為本發(fā)明實施例提供的身份認證方法中,接收服務(wù)器返回的服務(wù)器驗證信息的流程圖;

圖4為本發(fā)明實施例提供的身份認證方法中,根據(jù)返回的服務(wù)器身份驗證信息驗證服務(wù)器身份的流程圖;

圖5為本發(fā)明實施例提供的身份認證方法中,對用戶身份再次認證的流程圖;

圖6為本發(fā)明實施例提供的身份認證裝置的結(jié)構(gòu)框圖;

圖7為本發(fā)明實施例提供的身份認證系統(tǒng)的結(jié)構(gòu)框圖;

圖8為本發(fā)明實施例提供的身份認證系統(tǒng)的工作流程圖。

具體實施方式

下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。需要說明的是,在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。

認證方法實施例:

參見圖1,圖1為本發(fā)明實施例提供的身份認證方法的流程圖。如圖所示,該方法包括如下步驟:

步驟s1,生成用戶身份第一驗證信息。具體地,用戶可以在客戶端輸入注冊時使用的用戶身份標識(英文全稱identity,簡稱為id)、口令密碼等進行登錄,客戶端在接收到用戶id、口令密碼等信息后,并根據(jù)用戶id、口令密碼等生成用戶身份第一驗證信息,以標識用戶的身份特征。

步驟s2,向服務(wù)器發(fā)送用戶身份第一驗證信息,以使服務(wù)器對該第一驗證信息進行驗證。

步驟s3,接收服務(wù)器返回的服務(wù)器身份驗證信息。其中,服務(wù)器驗證信息為服務(wù)器根據(jù)接收的用戶身份第一驗證信息進行用戶身份驗證,并在用戶身份驗證通過時生成的信息。服務(wù)器接收用戶身份第一驗證信息,并通過該第一驗證信息對用戶身份進行驗證,當驗證通過時,生成服務(wù)器身份驗證信息,該服務(wù)器身份驗證信息中應(yīng)包含服務(wù)器的身份標識(英文全稱為securityidentifiers,簡稱為sid)信息,服務(wù)器身份驗證信息生成后,發(fā)送給客戶端。服務(wù)器對用戶身份的第一驗證信息不通過時,登錄失敗,此時,可以向客戶端返回登錄失敗的信息。需要說明的是,此處的服務(wù)器可以為用戶注冊時使用的注冊服務(wù)器,也可以為其他的認證服務(wù)器,當為其他認證服務(wù)器時,注冊服務(wù)器應(yīng)與其他各認證服務(wù)器相連接,將用戶的注冊信息發(fā)送給各認證服務(wù)器,各認證服務(wù)器對用戶的注冊信息進行保存,以便對用戶登錄信息進行驗證。

步驟s4,根據(jù)返回的服務(wù)器身份驗證信息驗證服務(wù)器身份,如果驗證未通過,則用戶登錄服務(wù)器失?。蝗绻炞C通過,則滿足用戶登錄服務(wù)器的第一條件。具體地,客戶端可以預先保存服務(wù)器的sid,從接收到的服務(wù)器身份驗證信息中提取服務(wù)器的sid,并當提取的服務(wù)器的sid與預先保存的服務(wù)器的sid信心一致時,確定服務(wù)器身份驗證通過,若不一致,則服務(wù)器身份驗證不通過,用戶不能登錄服務(wù)器。

本實施例中,服務(wù)器先對用戶的身份進行驗證,若驗證不通過,則登錄失敗,若驗證通過,服務(wù)器則會生成一個包括服務(wù)器sid的服務(wù)器身份驗證信息,并將該信息發(fā)送給客戶端,客戶端接收到該信息后,對服務(wù)器的身份進行驗證,若驗證失敗,則用戶登錄失敗;若驗證成功,則滿足用戶登錄服務(wù)器的第一條件,此時,用戶可以直接登錄服務(wù)器,也可以再設(shè)置其他的驗證條件,在其他的驗證條件滿足時,用戶才可以成功登錄服務(wù)器。可以看出,本實施例不僅設(shè)置了服務(wù)器對用戶身份的驗證,同時,也設(shè)置有用戶對服務(wù)器的身份驗證,該雙向身份認證的方式,避免了偽造服務(wù)器身份造成的攻擊,也抵抗攻擊者的消息重放攻擊。

參見圖2,圖2為上述實施例中,生成用戶身份第一驗證信息的方法流程圖。如圖所示,該方法包括如下步驟:

第一計算子步驟s11,生成第一隨機數(shù),并接收用戶身份標志、用戶身份標識和口令密碼,以及對用戶身份標識、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值。其中,用戶身份標識和口令密碼是用戶在注冊服務(wù)器中進行注冊時的注冊信息,采用哈希算法對用戶身份標識和口令密碼進行哈希計算,得到第一哈希值,由于具體計算方法為本領(lǐng)域技術(shù)人員所公知,故不贅述。用戶身份標志也是用戶注冊時,注冊服務(wù)器分配給用戶的,用以標識用戶的身份,該用戶身份標志與用戶一一對應(yīng)。

第二計算子步驟s12,對第一隨機數(shù)和預先存儲的服務(wù)器身份標識進行異或計算,得到第一異或值。其中,第一隨機數(shù)是客戶端隨機生成的,具體計算方法為本領(lǐng)域技術(shù)人員所公知,故不贅述。

確定子步驟s13,將第一哈希值、第一異或值和用戶身份標志確定為用戶身份第一驗證信息。

參見圖3,上述實施例中,接收服務(wù)器返回的服務(wù)器驗證信息可以進一步包括:

第一接收子步驟s14,接收服務(wù)器返回的第二哈希值。其中,第二哈希值是由服務(wù)器生成并發(fā)送給客戶端的,具體生成方法為:服務(wù)器從接收的第一異或值中解析出第一隨機數(shù),并根據(jù)接收的用戶身份標志信息從預先存儲的用戶信息庫獲取用戶身份標識和口令密碼,并對用戶身份標識、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值,以及將該計算得到的第一哈希值與接收的第一哈希值進行比較,若不一致,則用戶身份驗證未通過;若一致,則確定用戶身份驗證通過,登錄失敗。從第一異或值中解析出第一隨機數(shù)的方法為本領(lǐng)域技術(shù)人員所公知,故不贅述。

第二接收子步驟s15,接收服務(wù)器返回的第二異或值。其中,第二異或值為服務(wù)器對第一隨機數(shù)和第二隨機數(shù)進行異或運算得到的。需要說明的是,第一接收子步驟s14和第二接收子步驟s15之間的順序不分先后,可以互換。

參見圖4,上述實施例中,根據(jù)返回的服務(wù)器身份驗證信息驗證服務(wù)器身份進一步包括:驗證子步驟s16,從第二異或值中解析出第二隨機數(shù);對所述服務(wù)器身份標識和第二隨機數(shù)進行哈希計算,得到第二哈希值;比較計算得到的第二哈希值和接收到的服務(wù)器返回的第二哈希值,若一致,則服務(wù)器身份驗證通過,滿足用戶登錄的第一條件。

在滿足用戶登錄的第一條件時,用戶和服務(wù)器已經(jīng)完成了相互認證,此時,用戶可以成功登錄服務(wù)器,具體實施時,為了安全起見,也可以再增設(shè)服務(wù)器對用戶身份的再次認證,參見圖5,具體還可以包括如下步驟:

向服務(wù)器發(fā)送用戶身份第二驗證信息。具體地,用戶身份第二驗證信息可以包括:通過哈希算法計算第一隨機數(shù)的第三哈希值;將第一隨機數(shù)的第三哈希值發(fā)送給服務(wù)器;并接收服務(wù)器返回的用戶身份第二驗證結(jié)果。其中,用戶身份第二驗證結(jié)果為服務(wù)器根據(jù)接收的用戶身份第二驗證信息返回的用戶身份驗證是否通過的信息。具體實施時,對第一隨機數(shù)進行哈希計算,得到第三哈希值,比較計算得到的第三哈希值與接收到的第三哈希值,若一致,則用戶身份驗證通過,若不一致,則用戶身份驗證通過。需要說明的是,本實施例中的該步驟為在第一接收子步驟s14中用戶身份驗證通過后的后續(xù)步驟,也就是說,此時,服務(wù)器已經(jīng)對該第一隨機數(shù)進行了存儲。

在用戶身份第二驗證結(jié)果為驗證通過時,則滿足用戶登錄服務(wù)器的第二條件,此時用戶可以成功登錄服務(wù)器;在用戶身份第二驗證結(jié)果未通過時,用戶登錄服務(wù)器失敗。

本實施方式中,在用戶和服務(wù)器進行雙向的身份認證之后,又增設(shè)了服務(wù)器對用戶身份的再次認證,進一步保證了認證結(jié)果的可靠性,確保了用戶登錄的安全性。

具體實施時,用戶向注冊服務(wù)器進行注冊時,除了發(fā)送用戶id和口令密碼外,還可以發(fā)送一隨機數(shù),以便進一步確定用戶id的唯一性,注冊時,注冊中心會分配給該用戶一密鑰,本領(lǐng)域技術(shù)人員應(yīng)當理解,在上述整個認證過程中,客戶端與服務(wù)器之間的所有數(shù)據(jù)傳送都始終攜帶該密鑰,以便確定為同一用戶的認證信息。

用戶注冊時,還可以采用智能卡來存儲用戶信息。具體地,客戶端接收到用戶輸入的用戶id、隨機數(shù)和口令密碼后,對用戶id、隨機數(shù)和口令密碼進行哈希計算,得到一個哈希值a,并將該哈希值發(fā)送給注冊服務(wù)器;注冊服務(wù)器接收到該哈希值a后,為該用戶分配一個密鑰,然后服務(wù)器分別計算該密鑰、哈希值a和用戶id的哈希值,計算得到的各哈希值形成一個哈希組合,服務(wù)器將該哈希組合發(fā)送給客戶端,客戶端接收該哈希組合后,并生成一個隨機數(shù)b,將哈希組合和隨機數(shù)b一并存入智能卡中。在認證階段,用戶可以先將智能卡插入客戶端,然后輸入用戶id和口令密碼,當用戶輸入的用戶id和口令密碼與智能卡中存儲的一致時,客戶端驗證智能卡通過,驗證智能卡通過后,再進行后續(xù)的用戶和服務(wù)器身份的相互認證。此外,具體實施時,該處的哈希組合可以作為用戶身份標志。

綜上,本實施例不僅設(shè)置了服務(wù)器對用戶身份的驗證,同時,也設(shè)置有用戶對服務(wù)器的身份驗證,該雙向身份認證的方式,避免了偽造服務(wù)器身份造成的攻擊,也抵抗攻擊者的消息重放攻擊。

身份認證裝置實施例:

參見圖6、圖6為本發(fā)明實施例提供的身份驗證裝置的結(jié)構(gòu)框圖。如圖所示,該裝置包括:生成模塊100、發(fā)送模塊200、接收模塊300和驗證模塊400。其中,生成模塊用于生成用戶身份第一驗證信息;發(fā)送模塊用于向服務(wù)器發(fā)送用戶身份第一驗證信息;接收模塊用于接收服務(wù)器返回的服務(wù)器驗證信息,服務(wù)器驗證信息為服務(wù)器根據(jù)接收的用戶身份第一驗證信息進行用戶身份驗證,并在用戶身份驗證通過時生成的信息;驗證模塊用于根據(jù)返回的服務(wù)器驗證信息驗證服務(wù)器身份。

進一步地,生成模塊還用于:生成第一隨機數(shù),并接收用戶身份標志、用戶身份標識和口令密碼,對用戶身份標識、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值;對第一隨機數(shù)和預先存儲的服務(wù)器身份標識進行異或計算,得到第一異或值;將第一哈希值、第一異或值和用戶身份標志確定為用戶身份第一驗證信息;接收模塊還用于:接收服務(wù)器返回的第二哈希值;其中,所述第二哈希值的生成方法為:服務(wù)器從接收的第一異或值中獲取第一隨機數(shù),并根據(jù)接收的用戶身份標志信息從預先存儲的用戶信息庫獲取用戶身份標識和口令密碼,并對用戶身份標識、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值,以及將該計算得到的第一哈希值與從接收的第一哈希值進行比對,若一致,則用戶身份驗證通過,并生成第二隨機數(shù),對第二隨機數(shù)和服務(wù)器身份標識進行哈希計算得到第二哈希值;接收所述服務(wù)器返回的第二異或值;其中,第二異或值為服務(wù)器對第一隨機數(shù)和第二隨機數(shù)進行異或運算得到的;驗證模塊還用于從第二異或值中獲取第二隨機數(shù);對服務(wù)器身份標識和第二隨機數(shù)進行哈希計算,得到第二哈希值;比較計算得到的第二哈希值和接收到的服務(wù)器返回的第二哈希值,若一致,則服務(wù)器身份驗證通過。

其中,生成模塊100、發(fā)送模塊200、接收模塊300和驗證模塊400的具體實施過程參見上述方法實施例即可,本實施例在此不再贅述。

由于認證方法實施例具有上述效果,所以該認證裝置實施例也具有相應(yīng)的技術(shù)效果。

認證系統(tǒng)實施例:

參見圖7,圖7為本發(fā)明實施例提供的身份認證系統(tǒng)的結(jié)構(gòu)框圖。如圖所示,該裝置包括客戶端500和服務(wù)器600。其中,客戶端用于:生成用戶身份第一驗證信息,并將用戶身份第一驗證信息發(fā)送給服務(wù)器;服務(wù)器用于:接收用戶身份第一驗證信息,并根據(jù)接收的用戶身份第一驗證信息進行用戶身份驗證,并在用戶身份驗證通過時生成服務(wù)器驗證信息,以及將服務(wù)器驗證信息發(fā)送給客戶端;客戶端用于:接收服務(wù)器發(fā)送的服務(wù)器驗證信息,并根據(jù)返回的服務(wù)器驗證信息驗證服務(wù)器身份。

進一步地,客戶端還用于:生成第一隨機數(shù),并接收用戶身份標志、用戶身份標識和口令密碼,以及對用戶身份標識、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值;生成第一隨機數(shù),對第一隨機數(shù)和預先存儲的服務(wù)器身份標識進行異或計算,得到第一異或值;將第一哈希值、第一異或值和用戶身份標志發(fā)送給服務(wù)器;服務(wù)器還用于:接收第一哈希值和第一異或值,并從接收的第一異或值中獲取第一隨機數(shù),并根據(jù)接收的用戶身份標志信息從預先存儲的用戶信息庫獲取用戶身份標識和口令密碼,并對用戶身份標識、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值,以及將該計算得到的第一哈希值與從接收的第一哈希值進行比對,若一致,則用戶身份驗證通過,并生成第二隨機數(shù),對第二隨機數(shù)和服務(wù)器身份標識進行哈希計算得到第二哈希值;對第一隨機數(shù)和所述第二隨機數(shù)進行異或運算得到第二異或值;將第二哈希值和所述第二異或值發(fā)送至客戶端;客戶端還用于:接收第二哈希值和第二異或值,并從第二異或值中獲取第二隨機數(shù);對服務(wù)器身份標識和第二隨機數(shù)進行哈希計算,得到第二哈希值;比較計算得到的第二哈希值和接收到的服務(wù)器返回的第二哈希值,若一致,則服務(wù)器身份驗證通過。

更進一步地,在客戶端對服務(wù)器的身份驗證通過后,服務(wù)器還可以對用戶身份進行再次認證,具體為:客戶端向服務(wù)器發(fā)送用戶身份第二驗證信息,具體地,用戶身份第二驗證信息可以包括:通過哈希算法計算第一隨機數(shù)的第三哈希值;將第一隨機數(shù)的第三哈希值發(fā)送給服務(wù)器;并接收服務(wù)器返回的用戶身份第二驗證結(jié)果。其中,用戶身份第二驗證結(jié)果為服務(wù)器根據(jù)接收的用戶身份第二驗證信息返回的用戶身份驗證是否通過的信息。具體實施時,服務(wù)器根據(jù)接收的第三哈希值解析出第一隨機數(shù),當解析出的第一隨機數(shù)與第一接收子步驟s14中的第一隨機數(shù)一致時,確定用戶身份驗證通過,此時,用戶可以等登錄至服務(wù)器。

參見圖8,下面結(jié)合用戶信息存儲入智能卡的存儲方式,對本發(fā)明實施例中的身份認證方法進行更為詳細地說明:

先將智能卡插入客戶端,并在客戶端輸入用戶id和口令密碼,客戶端接收用戶輸入的用戶id和口令密碼,并與智能卡中存儲的用戶id和口令密碼進行比較,若一致,則智能卡驗證通過,若不一致,則智能卡驗證未通過。在智能卡驗證通過后,客戶端生成第一隨機數(shù),通過哈希算法對用戶id、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值m1;對客戶端預先存儲的服務(wù)器sid和第一隨機數(shù)n1進行異或計算,得到第一異或值m2,并將第一哈希值m1和第一異或值m2發(fā)送給服務(wù)器。服務(wù)器接收到該第一哈希值m1和第一異或值m2后,從第一異或值m2中解析出第一隨機數(shù)n1,并根據(jù)接收到的用戶身份標志查詢注冊中心發(fā)送的用戶信息,得到用戶身份id,然后對用戶id、口令密碼和第一隨機數(shù)進行哈希計算,得到第一哈希值,當計算得到的第一哈希值與接收的第一哈希值相一致時,用戶身份驗證通過,并存儲第一隨機數(shù)n1,同時生成第二隨機數(shù)n2,對第二隨機數(shù)n2和服務(wù)器身份標識sid進行哈希計算得到第二哈希值m3,對第一隨機數(shù)n1和第二隨機數(shù)n2進行異或運算得到第二異或值m4,并將第二哈希值m3和第二異或值m4發(fā)送給客戶端。客戶端接收第二哈希值m3和第二異或值m4后,從第二異或值m4中解析出第二隨機數(shù)n2,對服務(wù)器身份標記和第二隨機數(shù)進行哈希計算,得到第二哈希值m3,當計算得到的第二哈希值與接收到的第二哈希值一致時,則確定服務(wù)器身份驗證通過,此時,用戶和服務(wù)器的雙向認證已經(jīng)通過,用戶已經(jīng)可以成功登錄服務(wù)器,但為了安全起見,服務(wù)器還可以再次對用戶身份進行認證,即計算第一隨機數(shù)n1的第三哈希值m5;將第三哈希值m5發(fā)送至服務(wù)器,服務(wù)器接收第三哈希值m5,并根據(jù)上面已經(jīng)存儲的第一隨機數(shù)n1計算第三哈希值m5,當計算得到的第三哈希值與接收的第三哈希值一致時,則確定用戶身份驗證通過,用戶可以成功登錄服務(wù)器,不一致時,用戶身份驗證未通過。

本實施例不僅設(shè)置了服務(wù)器對用戶身份的驗證,同時,也設(shè)置有用戶對服務(wù)器的身份驗證,該雙向身份認證的方式,避免了偽造服務(wù)器身份造成的攻擊,也抵抗攻擊者的消息重放攻擊。

由于本實施例中的認證方法、認證裝置及認證系統(tǒng)原理形似,相關(guān)之處可以相互參照。

顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
道真| 饶平县| 丰镇市| 桃园县| 山东省| 株洲县| 桐柏县| 永城市| 宣汉县| 工布江达县| 衡山县| 青阳县| 海安县| 岚皋县| 刚察县| 鹿邑县| 东兰县| 清新县| 深水埗区| 宽城| 彭泽县| 霍林郭勒市| 晋城| 洞口县| 班戈县| 呼玛县| 靖西县| 怀集县| 江达县| 腾冲县| 定西市| 红桥区| 通化县| 瓮安县| 横山县| 上虞市| 西林县| 平邑县| 诸城市| 阳信县| 白山市|