專利名稱:一種基于動態(tài)密碼的身份認證方法及認證服務器的制作方法
技術領域:
本發(fā)明涉及一種身份認證方法,尤其是一種基于動態(tài)密碼的身份認證方法及認證服務器。
背景技術:
計算機網絡世界中的一切信息包括用戶的身份信息都是用一組特定的數據來表示的,計算機只能識別用戶的數字身份,所有對用戶的授權也是針對用戶數字身份的授權。 身份認證即是在計算機網絡中確認操作者身份的過程。身份認證也是服務供應商針對不同人員提供不同服務的首要步驟,用戶只有通過了身份認證才能獲得相應的服務?,F有的身份認證方法主要包括部分密碼認證方法、基于硬件(譬如動態(tài)口令牌) 的動態(tài)密碼認證方法、普通的密碼輸入登錄認證方法。下面逐一介紹上述認證方法的特
點I、部分密碼認證方法是指用戶在登錄的時候不需要輸入完整的密碼,只需要輸入與身份認證服務器協(xié)商好的部分密碼值完成身份認證。利用輸入部分密碼的方式,隱藏了原始持久性密碼的信息,在一定程度上防止鍵盤記錄攻擊。雖然這種方法在每次登錄時只需要用戶輸入部分密碼,但是由于密碼長度有限(其中原因有二 第一是登錄系統(tǒng)的設計限制,第二是用戶為了方便記憶),因此用戶的密碼在多次的輸入后很容易被攻擊者分析得到;而且每次登錄的密碼輸入信息都只是部分的不完整信息,那么用戶提交的“登錄密碼信息”長度會很短,理論上認證系統(tǒng)也很容易遭受到攻擊。2、基于硬件(譬如動態(tài)口令牌)的動態(tài)密碼認證方法利用硬件動態(tài)生成隨機碼, 客戶在登錄或者交易認證時候輸入此動態(tài)密碼,將其作為身份認證信息的一部分進行登錄認證。這種認證方法利用了硬件的安全性和離線的動態(tài)性,在一定程度上保證了每次登錄的一次性;增強了用戶進行身份認證的安全性。它利用了 what you have方法?;谟布?(譬如動態(tài)口令牌)的動態(tài)密碼認證方法首先,其成本高由于這種動態(tài)密碼的生成是基于硬件的,因此在與服務器同步性方面、硬件自身保護方面等都增加了整個認證系統(tǒng)的難度,而且硬件的定制也需要相應的費用,無形中增加了整個系統(tǒng)構建的費用;第二,靈活性差這種硬件設備在用戶使用和攜帶的過程中帶來很大的不便,一旦設備丟失,用戶則登錄不了相應的系統(tǒng),盡管可以通過后期的手續(xù)進行補救,但是時效性很差。3、普通的密碼輸入登錄認證方法用戶直接使用持久性賬號及密碼等身份信息以進行身份認證。實際上,由于許多用戶為了防止忘記密碼,經常采用諸如生日、電話號碼等容易被猜測的字符串作為密碼,或者把密碼抄在紙上放在一個自認為安全的地方,這樣很容易造成密碼泄漏。如果密碼是靜態(tài)的數據,在驗證過程中需要在計算機內存中和傳輸過程可能會被木馬程序或在網絡中截獲。雖然靜態(tài)密碼機制無論是使用還是部署都非常簡單,但從安全性上講,用戶名/密碼方式一種是不安全的身份認證方式。它利用了 what you know的方法。該方法有幾個特點
登錄密碼的固定性用戶登錄的密碼是永久或長期的,在多次使用的過程中很容易被其他人竊取。用于登錄的身份信息具有完整性因此,一旦密碼被竊取,則攻擊者就可以獲取完整的訪問權。針對普通的密碼輸入登錄認證方法,常見的竊取方式有
鍵盤記錄攻擊攻擊者通過在目標計算機上注入惡意軟件,對用戶的所有的鍵盤操作進行記錄和跟蹤,最終獲取用戶的賬號和密鑰(即密碼)。賬號密碼信息文件竊取多數應用系統(tǒng)(尤其是web上的系統(tǒng))會提供自動登錄的功能,那么這必然會將用戶的信息保存到本地,而攻擊者通過一定的惡意手段很容易就獲取到用戶的賬號密碼信息文件。因此,普通的密碼輸入登錄認證方法由于需要輸入完整的持久性身份信息,容易導致持久性身份信息被竊?。徊糠置艽a認證方法也由于密碼信息長度有限,存在容易被破解的風險;而基于硬件(譬如動態(tài)口令牌)的動態(tài)密碼認證方法則提高了身份認證系統(tǒng)的構造成本,并且在后期補救手續(xù)上的時效性很差,亦給用戶帶來了極大不便。
發(fā)明內容
本發(fā)明要解決的技術問題是提供一種使用方便、成本低廉、安全性能高的基于動態(tài)密碼的身份認證方法。本發(fā)明要解決的另一技術問題是提供一種用于用戶身份認證的認證服務器,該認證服務器可有效保障用戶身份驗證時持久性身份信息的安全。為了解決上述技術問題,本發(fā)明所采用的技術方案是
一種基于動態(tài)密碼的身份認證方法,該方法包括
A :認證服務器向客戶端發(fā)送用于身份認證的挑戰(zhàn)信息;
B :客戶端接收來自認證服務器的挑戰(zhàn)信息并在登錄界面上顯示該挑戰(zhàn)信息;
C :客戶端接收用戶輸入的相應的身份認證信息;
D :認證服務器接收用戶從客戶端輸入的身份認證信息,校驗客戶端輸入的身份認證信息,完成身份認證過程。進一步作為優(yōu)選的實施方式,所述挑戰(zhàn)信息為由認證服務器生成的包含用于持久性身份信息泛化的處理函數的信息,所述持久性身份信息泛化包括賬號泛化和/或密碼泛化。進一步作為優(yōu)選的實施方式,所述用于持久性身份信息泛化的處理函數的類型包括添加額外信息、刪除個別信息、調整信息位置、替代信息、組合信息和上述類型的任意組
口 ο進一步作為優(yōu)選的實施方式,所述挑戰(zhàn)信息是一次性動態(tài)變化的,所述持久性身份信息泛化在客戶端由人腦根據記憶的持久性身份信息和登錄界面上顯示的挑戰(zhàn)信息進行運算得到,所述持久性身份信息的泛化在認證服務器端由認證服務器根據儲存的持久性身份信息和處理函數運算得到。進一步作為優(yōu)選的實施方式,步驟D具體包括
Dl :認證服務器接收來自客戶端輸入的身份認證信息;
D2 :認證服務器根據存儲的持久性身份信息和處理函數運算得到第一運算結果;D3 :認證服務器對客戶端輸入的身份認證信息與第一運算結果進行匹配,若成功則通過用戶的身份認證。一種認證服務器,其特征在于,所述認證服務器包括
函數生成模塊,用于生成代表對持久性身份信息進行泛化的處理函數的挑戰(zhàn)信息; 信息發(fā)送模塊,用于將函數生成模塊生成的挑戰(zhàn)信息傳送給客戶端;
信息接收模塊,用于接收用戶通過客戶端輸入的經身份信息泛化處理后的身份認證信
運算模塊,用于根據存儲的持久性身份信息和處理函數運算得到第一運算結果; 身份認證模塊,用于對運算模塊生成的第一算結果與來自客戶端的身份認證信息進行匹配,若成功則通過用戶的身份認證。進一步作為優(yōu)選的實施方式,該認證服務器還包括
存儲模塊,用于存儲用戶的持久性身份信息。進一步作為優(yōu)選的實施方式,所述函數生成模塊生成用于持久性身份信息泛化的挑戰(zhàn)信息包括賬號泛化和/或密碼泛化。進一步作為優(yōu)選的實施方式,所述用于持久性身份信息泛化的挑戰(zhàn)信息的處理函數的類型包括添加額外信息、刪除個別信息、調整信息位置、替代信息、組合信息和上述類型的任意組合。進一步作為優(yōu)選的實施方式,所述挑戰(zhàn)信息是動態(tài)變化且是一次性的,所述持久性身份信息的泛化在認證服務器端由認證服務器根據儲存的持久性身份信息和處理函數運算得到。本發(fā)明的有益效果是本發(fā)明基于動態(tài)密碼的身份認證方法通過在認證服務器端生成用于用戶持久性身份信息泛化的挑戰(zhàn)信息,即在客戶端呈現給用戶的用于泛化持久性身份信息的問題,用戶在每次登錄時根據挑戰(zhàn)信息的提示,形成經泛化后的身份認證信息, 這樣不僅破壞了原始持久性身份信息的完整性,完全杜絕了非法用戶在客戶端竊取用戶持久性身份信息的可能性,而且該驗證方法操作方便、擴展靈活、安全性高,在客戶端持久性身份信息的泛化不需要依托硬件,系統(tǒng)成本低廉。本發(fā)明的另一有益效果是本發(fā)明認證服務器增加了函數生成模塊,以生成用于用戶持久性身份信息泛化的挑戰(zhàn)信息,從而避免了用戶在通過身份認證時在客戶端輸入完整的持久性身份信息,規(guī)避非法入侵者在客戶端竊取用戶持久性身份信息,提高了用戶身份認證時信息的安全性。
下面結合附圖對本發(fā)明的具體實施方式
作進一步說明
圖I是現有技術中普遍的身份認證流程圖2是本發(fā)明基于動態(tài)密碼的身份認證方法的步驟流程圖3是本發(fā)明基于動態(tài)密碼的身份認證方法實施例的具體流程圖4是本發(fā)明持久性身份信息泛化中賬號泛化的流程;
圖5是本發(fā)明持久性身份信息泛化中密碼泛化的流程;
圖6是本發(fā)明身份認證方法步驟D的步驟流程圖;圖7是本發(fā)明認證服務器的結構框圖。
具體實施例方式圖I是現有技術中普遍的身份認證流程圖,參照圖1,該流程主要包括
步驟I.用戶打開登錄界面;
步驟2.用戶在輸入登錄的身份信息;
步驟3.用戶將客戶端輸入的身份信息提交給認證服務器,以進行登錄用戶的身份驗證?,F有技術用于登錄的用戶身份信息包括登錄賬號和密碼,一般都需要用戶完整輸入其登錄賬號和密碼信息,例如以“張三”為例,假設其登錄賬號為zhangsanOtest. com,密碼為zhangsanl234,則在步驟2中需要輸入賬號zhangsanOtest. com和密碼 zhangsanl234,然后經步驟3提交給認證服務器以進行身份驗證。本發(fā)明基于動態(tài)密碼驗證方法的步驟流程參照圖2,具體如下
步驟A :認證服務器向客戶端發(fā)送用于身份認證的挑戰(zhàn)信息;
步驟B :客戶端接收來自認證服務器的挑戰(zhàn)信息并在登錄界面上顯示該挑戰(zhàn)信息; 步驟C :客戶端接收用戶輸入的身份認證信息;
步驟D :認證服務器接收用戶從客戶端輸入的身份認證信息,完成身份認證過程。圖3是本發(fā)明基于動態(tài)密碼的身份認證方法實施例的具體流程圖,參照圖3,繼續(xù)以上述的“張三”為例,流程如下
步驟101:用戶打開登錄界面;
步驟102 :認證服務器向客戶端發(fā)送挑戰(zhàn)信息,客戶端接收用于持久性身份信息泛化的挑戰(zhàn)信息,并在客戶端顯示;例如挑戰(zhàn)信息為“I. 一次性賬號為持久性賬號加‘! 111’ ; 2.密碼為持久性密碼的前3位+ ‘new’ +持久性密碼的后4位”;
步驟103:用戶獲取客戶端顯示的挑戰(zhàn)信息,即持久性身份信息的泛化提示;
步驟104 :用戶根據獲取的信息泛化提示,在大腦內進行持久性身份信息泛化;具體而言,包括賬號泛化和/或密碼泛化;
步驟105 :用戶在客戶端輸入泛化后的動態(tài)的身份驗證信息;張三在登錄界面輸入賬號zhangsan ! lllitest. com,密石馬zhanewl234 ;
步驟106 :客戶端將動態(tài)的身份驗證信息提交給認證服務器以進行用戶身份認證,認證服務器從用戶信息數據庫中讀取該用戶的持久性身份信息,并按照挑戰(zhàn)信息生成張三本次登錄的賬號密碼,并對客戶端提交的賬號和密碼進行匹配判斷,以完成身份認證過程。進一步,所述挑戰(zhàn)信息為由認證服務器生成的包含用于持久性身份信息泛化的處理函數的信息,所述持久性身份信息泛化包括賬號泛化和/或密碼泛化。參照圖4,賬號結合挑戰(zhàn)信息可進行賬號泛化;參照圖5,密碼結合挑戰(zhàn)信息可進行密碼泛化。本領域技術人員可以理解,在本發(fā)明中持久信息泛化可以為賬號泛化、密碼泛化或者賬號及密碼泛化。挑戰(zhàn)信息就是認證服務器發(fā)送給客戶端用于持久性身份信息泛化的問題,可以理解為用于持久性身份信息泛化的處理函數。具體而言,處理函數的類型包括添加額外信息、刪除個別信息、調整信息位置、替代信息、組合信息和上述類型的任意組合。
添加額外信息指的是在持久性身份信息的某些位置上插入額外的信息,利用這些噪音信息對原始持久性身份信息進行隱藏和保護;
例如挑戰(zhàn)信息是“在原始(持久性)密碼的第五位插入字符串‘abc’作為新的一次性密碼”。對張三而言,新的一次性密碼為zhangabcsanl234。刪除個別信息刪除持久性身份信息中某些位置上的信息,破壞一次性身份信息的完整性,以保護原始的持久性信息。這種類型也可以稱作過濾信息;
例如挑戰(zhàn)信息是“將原始(持久性)密碼的奇數位作為新的一次性密碼”。對張三而言,新的一次性密碼為zagal3。調整信息位置通過置換等方法,打亂原始的持久性身份信息的呈現順序,保護原始持久性身份信息;
例如挑戰(zhàn)信息是“將原始(持久性)密碼的前4為和后3位進行調換作為新的一次性密碼”。對張三而言,新的一次性密碼為234gsanlzhan。替代信息使用消息/問題中提示的新的信息替換某些持久性身份信息或者對原始持久性身份信息的某些位置上的信息做一定的映射處理(設F為映射函數,newlnformation為新的替代信息,oldlnformation為舊的持久性的信息,貝丨J newlnformation = F(oldlnformation),其中F函數可以是線性函數,高階函數等等);
例如挑戰(zhàn)信息是“將原始(持久性)密碼的奇數位逐個替換成a、b、C、d…作為新的一次性密碼”。對張三而言,新的一次性密碼為ahbncsdne2f4。組合信息通過相應的組合方法將持久性身份信息上不同位置的信息進行組合處理,以便對持久性身份信息的隱藏。例如挑戰(zhàn)信息是“將原始(持久性)密碼的所有數字的總和添加到后面作為新的一次性密碼”。對張三而言,新的一次性密碼為zhangsanl23410。復合型由以上幾種類型進行組合使用。本領域技術人員應當理解為,上述類型的處理函數僅為列舉,并非窮舉,本領域技術人員還在理解上述處理函數的基礎之上,作出種種的變形或者替換。進一步,所述挑戰(zhàn)信息是動態(tài)變化且是一次性的,所述持久性身份信息泛化在客戶端由人腦根據記憶的持久性身份信息和登錄界面上顯示的挑戰(zhàn)信息進行運算得到,所述持久性身份信息的泛化在認證服務器端由認證服務器根據儲存的持久性身份信息和處理函數運算得到。 參照圖6,步驟D具體包括
Dl :認證服務器接收來自客戶端輸入的身份認證信息;
D2 :認證服務器根據存儲的持久性身份信息和處理函數運算得到第一運算結果;
D3 :認證服務器對客戶端輸入的身份認證信息與第一運算結果進行匹配,若成功則通過用戶的身份認證。圖7是本發(fā)明認證服務器的結構框圖,參照圖7,該認證服務器包括
函數生成模塊10,用于生成代表對持久性身份信息進行泛化的處理函數的挑戰(zhàn)信息; 信息發(fā)送模塊20,用于將函數生成模塊10生成的挑戰(zhàn)信息傳送給客戶端;
信息接收模塊50,用于接收用戶通過客戶端輸入的經身份信息泛化處理后的身份認證
信息;運算模塊30,用于根據存儲的持久性身份信息和處理函數運算得到第一運算結果; 身份認證模塊40,用于對運算模塊30生成的第一算結果與來自客戶端的身份認證信息進行匹配,若成功則通過用戶的身份認證。進一步作為改進,該認證服務器還包括一用于存儲用戶的持久性身份信息的存儲模塊60。進一步作為優(yōu)選的實施方式,所述函數生成模塊10生成用于持久身份信息泛化的挑戰(zhàn)信息的處理函數的類型包括添加額外信息、刪除個別信息、調整信息位置、替代信息、組合信息和上述類型的任意組合。優(yōu)選的,函數生成模塊10生成的挑戰(zhàn)信息是動態(tài)變化且是一次性的,所述持久身份信息的泛化在認證服務器端由認證服務器根據儲存的持久身份信息和一次性的處理函數運算得到。由于本發(fā)明持久性身份信息的泛化過程在客戶端是在用戶的大腦中處理的,用戶輸入的身份認證信息是經泛化后的身份信息,有效地保證了用戶持久性身份信息的安全, 并且在客戶端持久性身份信息的泛化不需要依托硬件,系統(tǒng)成本低廉,該方法操作靈活方便,省去了采用硬件加密給用戶帶來的麻煩。以上是對本發(fā)明的較佳實施進行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實施例,熟悉本領域的技術人員在不違背本發(fā)明精神的前提下還可以作出種種的等同變形或替換,這些等同的變形或替換均包含在本申請權利要求所限定的范圍內。
權利要求
1.一種基于動態(tài)密碼的身份認證方法,其特征在于,該方法包括A :認證服務器向客戶端發(fā)送用于身份認證的挑戰(zhàn)信息;B :客戶端接收來自認證服務器的挑戰(zhàn)信息并在登錄界面上顯示該挑戰(zhàn)信息;C :客戶端接收用戶輸入的相應的身份認證信息;D :認證服務器接收用戶從客戶端輸入的身份認證信息,校驗客戶端輸入的身份認證信息,完成身份認證過程。
2.根據權利要求I所述的一種基于動態(tài)密碼的身份認證方法,其特征在于所述挑戰(zhàn)信息為由認證服務器生成的包含用于持久性身份信息泛化的處理函數的信息,所述持久性身份信息泛化包括賬號泛化和/或密碼泛化。
3.根據權利要求2所述的一種基于動態(tài)密碼的身份認證方法,其特征在于所述用于持久性身份信息泛化的處理函數的類型包括添加額外信息、刪除個別信息、調整信息位置、 替代信息、組合信息和上述類型的任意組合。
4.根據權利要求3所述的一種基于動態(tài)密碼的身份認證方法,其特征在于所述挑戰(zhàn)信息是動態(tài)變化且為一次性的,所述持久性身份信息泛化在客戶端由人腦根據記憶的持久性身份信息和登錄界面上顯示的挑戰(zhàn)信息進行運算得到,所述持久性身份信息的泛化在認證服務器端由認證服務器根據儲存的持久性身份信息和處理函數運算得到。
5.根據權利要求4所述的一種基于動態(tài)密碼的身份認證方法,其特征在于步驟D具體包括Dl :認證服務器接收來自客戶端輸入的身份認證信息;D2 :認證服務器根據存儲的持久性身份信息和處理函數運算得到第一運算結果;D3 :認證服務器對客戶端輸入的身份認證信息與第一運算結果進行匹配,若成功則通過用戶的身份認證。
6.一種認證服務器,其特征在于,所述認證服務器包括函數生成模塊,用于生成代表對持久性身份信息進行泛化的處理函數的挑戰(zhàn)信息;信息發(fā)送模塊,用于將函數生成模塊生成的挑戰(zhàn)信息傳送給客戶端;信息接收模塊,用于接收用戶通過客戶端輸入的經身份信息泛化處理后的身份認證信運算模塊,用于根據存儲的持久性身份信息和處理函數運算得到第一運算結果; 身份認證模塊,用于對運算模塊生成的第一算結果與來自客戶端的身份認證信息進行匹配,若成功則通過用戶的身份認證。
7.根據權利要求6所述的認證服務器,其特征在于還包括存儲模塊,用于存儲用戶的持久性身份信息。
8.根據權利要求7所述的認證服務器,其特征在于所述函數生成模塊生成用于持久性身份信息泛化的挑戰(zhàn)信息包括賬號泛化和/或密碼泛化。
9.根據權利要求8所述的認證服務器,其特征在于所述用于持久性身份信息泛化的挑戰(zhàn)信息的處理函數的類型包括添加額外信息、刪除個別信息、調整信息位置、替代信息、組合信息和上述類型的任意組合。
10.根據權利要求9所述的認證服務器,其特征在于所述挑戰(zhàn)信息是動態(tài)變化且是一次性的,所述持久性身份信息的泛化在認證服務器端由認證服務器根據儲存的持久性身份信息和處理函數運算得到。
全文摘要
本發(fā)明公開了一種基于動態(tài)密碼的身份認證方法及認證服務器,該方法包括認證服務器向客戶端發(fā)送用于身份認證的挑戰(zhàn)信息;客戶端接收來自認證服務器的挑戰(zhàn)信息并在登錄界面上顯示該挑戰(zhàn)信息;客戶端接收用戶輸入的身份認證信息;認證服務器接收用戶從客戶端輸入的身份認證信息,完成身份認證過程。本發(fā)明方法通過認證服務器端發(fā)送挑戰(zhàn)信息給客戶端,用戶在每次登錄時根據挑戰(zhàn)信息的提示,形成經泛化后的身份認證信息,這樣不僅破壞了原始持久性身份信息的完整性,完全杜絕了非法用戶在客戶端竊取用戶持久性身份信息的可能性,而且該驗證方法操作方便、擴展靈活、安全性高,在客戶端持久性身份信息的泛化不需要依托硬件,系統(tǒng)成本低廉。
文檔編號H04L9/32GK102594560SQ201210028548
公開日2012年7月18日 申請日期2012年2月9日 優(yōu)先權日2012年2月9日
發(fā)明者巴鐘杰, 李子柳, 湯庸, 趙淦森 申請人:趙淦森