專利名稱:一種網絡中動態(tài)加密裝置及其口令認證方法
技術領域:
本發(fā)明涉及網絡中的數據認證技術領域,特別是涉及一種網絡中動態(tài)加密裝置及其口令認證方法。
背景技術:
口令認證方法有靜態(tài)口令認證方法和動態(tài)口令認證方法。目前的靜態(tài)口令認證方法的口令容易被木馬程序竊取,很不安全。目前的動態(tài)口令認證方法都是基于智能令牌,硬令牌方式安全性高但需要相當大的硬件設備投資,軟令牌方式軟令牌軟件和靜態(tài)口令同樣可能會被木馬程序獲取。
在電子商務中,用戶身份認證是系統訪問控制的首要環(huán)節(jié),然而目前木馬程序竊取口令的事情不斷發(fā)生,給客戶和企業(yè)造成了一定經濟損失,也使人們對電子商務的安全性越來越擔憂。雖然目前已經使用一些動態(tài)的口令認證方法,但這些方法基本都是基于智能令牌實現的,硬令牌方式安全性高但需要相當大的硬件設備投資,軟令牌方式軟令牌軟件和靜態(tài)口令同樣可能會被木馬程序獲取。而且這種智能令牌方式也給客戶的使用帶來不便,增加了客戶與企業(yè)的管理和使用成本。企業(yè)出現對客戶資源的被迫選擇,限制了客戶資源的擴大。
發(fā)明內容
一種網絡中動態(tài)加密裝置及其口令認證方法是一種身份認證裝置和方法,它的主要目的是為了解決目前木馬程序經常竊取用戶口令的問題。本發(fā)明通過對木馬程序可能竊取用戶口令的各種途徑進行分析,采用一種綜合的方法,對木馬程序可能竊取用戶口令的各種途徑一一解決。它通過使用軟鍵盤模式的口令輸入方式防止木馬程序監(jiān)控物理鍵盤的輸入,通過使用基于隨機口令加密指令串進行動態(tài)加密的方式防止木馬程序竊取內存中的口令。
由數據管理裝置、服務提供裝置、內部網絡、安全服務裝置、網絡安全裝置、公共網絡、客戶終端裝置組成,內部網絡分別連接于數據管理裝置、服務提供裝置、安全服務裝置和網絡安全裝置,網絡安全裝置通過公共網絡連接于客戶終端裝置;數據管理裝置,用于存放企業(yè)數據和客戶信息,并負責認證通過后的客戶訪問管理;服務提供裝置,為客戶提供接入服務;安全服務裝置,為用戶提供認證服務;網絡安全裝置,用于保護企業(yè)內部網絡的安全;公共網絡,客戶終端裝置通過公共網絡聯機到企業(yè)的服務提供裝置;客戶終端裝置是網絡系統的客戶端。
本發(fā)明使用軟鍵盤模式的口令輸入方法,但它與一般的軟鍵盤技術是不同的,它由專門的口令輸入控件實現,在口令輸入過程中,當用戶點擊口令輸入控件上顯示有字符的圖片區(qū)域時,控件將鼠標點擊的位置轉換為表示圖片所顯示的相應字符的臨時中間值(這個臨時中間值由控件的算法決定,而不是用戶輸入的字符值),并使用一個隨機的口令加密指令串對它進行加密。這個隨機口令加密指令串是在服務器端隨機產生返回給客戶端的,在每次認證中這個隨機口令加密指令串都是不同的。隨機口令加密指令串可以是一個加密密鑰,也可以是其它自定義的口令輸入控件能夠識別的一個指令系列。隨機口令加密指令串可以由認證服務器動態(tài)生成,也可以在認證服務器中預先存放大量的隨機口令加密指令串,每次認證時隨機抽取使用,以提高認證速度。
通過一個循環(huán)的控制處理完成口令各個字符的輸入,最后將口令各個字符的加密值連接起來組成一個加密的口令。在口令輸入過程中和口令輸入完成后是都不會將原口令存放到客戶端的內存中的,而保存到內存中的是被加密的口令。企業(yè)的認證服務器收到客戶端傳來的加密的口令后,使用與口令加密指令串對應的口令解密指令串解密,再與存放在數據庫中的口令比較。
另外,口令輸入控件也會定期更新,如一周更新、一個月更新等,有效防止控件算法的破譯。
圖1是本發(fā)明的網絡中動態(tài)加密裝置結構示意圖。
圖2是本發(fā)明的安全服務裝置結構示意圖。
圖3是本發(fā)明的客戶終端裝置結構示意圖。
圖4是本發(fā)明的認證方法流程圖。
圖5是本發(fā)明的口令輸入控件的界面實例圖。
具體實施例方式
圖1中,數據管理裝置1可以是一個PC服務器或主機,運行數據庫管理系統,存放企業(yè)數據和客戶信息,如用戶名、密碼等,并負責認證通過后的客戶訪問管理。
服務提供裝置2可以是一個Web服務器或提供接入的服務器。為客戶提供基于http和https協議服務,動態(tài)生成Web頁面文件,提供給客戶終端裝置,和客戶終端裝置進行交互。當客戶終端裝置7開始訪問服務提供裝置2中涉及安全的服務時,如果用戶還沒有通過認證,服務提供裝置2便要求用戶認證,從安全服務裝置4取得一個隨機的口令加密指令串,生成用戶認證所需的初始數據,發(fā)送給客戶終端裝置7,初始數據可以是一個Web頁面文件,其中包含一個口令加密指令串和一個口令輸入控件。
服務提供裝置2將用戶認證數據交給安全服務裝置4進行認證,如果安全服務裝置4返回認證正確,則向客戶終端裝置7提供用戶所需的服務,如果安全服務裝置4返回認證失敗,則服務提供裝置2再次要求用戶進行認證,或拒絕向客戶終端裝置7提供用戶所需的服務。
內部網絡3為企業(yè)的局域網,可以是以太網(Ethernet),也可以是其它局域網絡,如光纖分布式數據接口(FDDI)、令牌環(huán)(Token-Ring)等。
安全服務裝置4是一個認證服務器,為用戶提供認證服務。負責隨機口令加密指令串和口令解密串的產生、用戶認證信息中的加密口令解密、從數據管理裝置獲取用戶原口令并比較。
它包括如圖2所示的四個功能部分。當服務提供裝置2在生成給客戶終端裝置的認證初始數據時,會請求安全服務裝置4提供該用戶會話所需的口令加密指令串。安全服務裝置4由隨機口令加密指令串和口令解密指令串產生裝置10產生一對隨機的口令加密指令串和口令解密指令串,由記錄裝置11記錄下該用戶會話使用的口令加密指令串和口令解密指令串對,并將口令加密指令串返回給服務提供裝置2。當服務提供裝置2將用戶的認證數據交安全服務裝置4進行認證時,安全服務裝置4中的解密裝置12從記錄裝置11中取出該用戶會話的口令解密指令串,對認證數據中的加密口令進行解密。安全服務裝置4從數據管理裝置1中取得用戶的原始口令,將原始口令和解密裝置12解密的口令一起交比較裝置13進行比較,并將比較結果返回給服務提供裝置2。其中隨機口令加密指令串和口令解密指令串產生裝置10可以動態(tài)產生一對口令加密指令串和口令解密指令串,每次認證的口令加密指令串和口令解密指令串對是不同的。為了提高速度,也可以預先產生大量的口令加密指令串和口令解密指令串對存放在安全服務裝置4中,每次認證時,隨機口令加密指令串和口令解密指令串產生裝置10只需隨機抽取使用。
網絡安全裝置5為防火墻,用于保護企業(yè)內部網絡的安全,防止公共網絡中的非法用戶對內部網絡的訪問和攻擊。
公共網絡6可以是互聯網(Internet),也可以是其它企業(yè)外部網(Extranet)。客戶終端裝置通過公共網絡聯機到企業(yè)的服務提供裝置。
客戶終端裝置7是網絡系統的客戶端,可以是一臺個人PC,安裝有瀏覽器軟件,也可以是其它能夠運行瀏覽器軟件的裝置,如NC、Windows圖形終端等。它有顯示裝置和輸入裝置,顯示裝置可以是顯示器,輸入裝置可以是鍵盤和鼠標。它通過調制解調器(Modem)或網卡連接到公共網絡。
客戶終端裝置7接收到初始數據后,先檢查口令輸入控件是否在本裝置中已經存在,如果沒有或版本不是最新,則到服務提供裝置2下載最新版本的口令輸入控件。然后在顯示裝置中顯示提供給用戶的認證畫面。
口令輸入控件可以是一個ActiveX控件或Java Applet控件,也可是其它由瀏覽器支持的控件類型,但客戶終端裝置7必須安裝有支持此控件類型的軟件,如對于Java Applet控件,客戶終端裝置7上應該安裝有Java虛擬機(VM)??诹钶斎肟丶幸粋€軟鍵盤的界面,如圖4所示,軟鍵盤上有一個顯示有口令字符集中所有字符的大圖片按鈕,或者是有很多小圖片按鈕,每個小圖片分別顯示有口令字符集中的一個字符。用戶輸入口令通過鼠標點擊大圖片按鈕上的字符或點擊各個小圖片按鈕,口令輸入控件將鼠標點擊的位置轉換成一個代表用戶點擊字符的臨時中間值,再使用口令加密指令串對該中間值進行加密,并更新口令輸入控件上的口令輸入進度指示器。然后等待用戶輸入下一個口令字符,通過一個循環(huán)控制口令中各個字符的輸入,并將每次得到的加密結果連接到一起,組成一個加密的口令。
當用戶通過鼠標或鍵盤觸發(fā)認證界面中的提交認證事件,如使用鼠標點擊認證界面中中的“確定”按鈕,客戶終端裝置7便將包含加密口令的認證數據發(fā)送給服務提供裝置2。
圖2中,隨機口令加密指令串和口令解密指令串產生裝置10為一個使用軟件程序的裝置,可以動態(tài)生產隨機口令加密指令串和口令解密指令串,也可以從一個口令加密指令串和口令解密指令串庫中隨機獲取。
記錄裝置11記錄用戶會話使用的口令加密指令串和口令解密指令串。
解密裝置12對客戶終端裝置提交的認證信息中的加密口令進行解密。
比較裝置13對解密裝置12解密得到的口令與存放在數據管理裝置1中的用戶口令進行比較。
圖3中,顯示裝置20為顯示器,輸入裝置22為鼠標和鍵盤,通訊裝置23為Modem。
圖4中,通過使用軟鍵盤模式的口令輸入方式防止木馬程序監(jiān)控物理鍵盤的輸入,通過使用基于隨機口令加密指令串進行動態(tài)加密的方式防止木馬程序竊取內存中的口令,其具體步驟如下步驟100客戶終端7向服務提供裝置2發(fā)送身份認證請求;步驟101響應客戶終端請求,服務提供裝置2接受客戶終端7的身份認證請求;步驟102服務提供裝置2向安全服務裝置4請求一隨機口令加密指令串;安全服務裝置4中的隨機口令加密指令串和口令解密指令串產生裝置10產生一對隨機的口令加密指令串和口令解密指令串對,記錄裝置11對用戶會話使用的口令加密指令串和口令解密指令串對進行記錄;安全服務裝置4最后將口令加密指令串返回給服務提供裝置2;步驟103服務提供裝置2生成發(fā)送給客戶終端7的初始化數據,初始化數據中包含從安全服務裝置4返回的隨機口令加密指令串;步驟104服務提供裝置2將生成的初始化數據發(fā)送給客戶終端7;步驟105客戶終端7接收服務提供裝置2發(fā)送的初始化數據;步驟106客戶終端7檢查本身是否存在最新版本的口令輸入控件,如果不存在或版本不是最新,則轉步驟107,否則轉步驟108;步驟107客戶終端7從服務提供裝置2下載最新版本的口令輸入控件;步驟108客戶終端7顯示口令認證屏面,等待用戶輸入客戶標識、口令以及其它所需的認證信息;步驟109用戶在客戶終端7上輸入客戶標識以及其它除口令外的所需的認證數據;步驟110用戶使用鼠標點擊口令輸入控件上顯示有口令字符的圖片區(qū)域,進行口令輸入;步驟111口令輸入控件將鼠標點擊的位置轉換成一個臨時中間值,該中間值與用戶點擊位置顯示的字符對應,并使用初始化數據中包含的口令加密指令串對該中間值進行加密;步驟112口令輸入控件保存加密的口令數據,并更新口令輸入進度指示器;步驟113口令輸入控件檢查口令輸入是否完成,如果未完成則轉步驟110,接受用戶下一口令字符的輸入;步驟114客戶終端7將用戶輸入的認證數據發(fā)送給服務提供裝置2;步驟115服務提供裝置2接收客戶終端7發(fā)送的認證數據;步驟116服務提供裝置2將認證數據發(fā)送給安全服務裝置4進行認證;安全服務裝置4從記錄裝置11中取出與發(fā)送給客戶終端7的口令加密指令串對應的口令解密指令串,與認證數據中的加密口令一起交解密裝置12進行解密;并將解密的口令與存放在數據管理裝置1中的用戶口令一起交比較裝置13進行比較;最后將比較結果返回給服務提供裝置2;步驟117服務提供裝置2將認證的結果數據發(fā)送給客戶終端7;步驟118客戶終端7接收服務提供裝置2發(fā)送的認證結果數據,并在屏面顯示認證結果。
上述步驟中口令加密與口令解密并不是兩個完全相反的過程,因為口令加密過程是對一個中間值進行加密,而口令解密過程需要得到原始的口令??诹罱饷苓^程是,先對加密的口令進行解密得到原中間值,再將中間值轉換為原口令。
網絡中動態(tài)加密口令認證方法,客戶終端向服務提供裝置發(fā)送的身份認證請求包括直接請求和間接請求直接請求,客戶終端直接訪問服務提供裝置的身份認證服務;間接請求,客戶終端在未通過身份認證的情況下,請求訪問服務提供裝置中涉及安全的服務,服務提供裝置則暫不提供該服務而強行向客戶終端提供身份認證服務。
口令加密指令串和口令解密指令串對是與客戶會話相關的,即每次身份認證中口令加密指令串和口令解密指令串對是不同的,口令加密指令串可以是一個加密密鑰,也可以是自定義的一個加密指令系列;口令解密指令串可以是一個解密密鑰,也可以是自定義的一個解密指令系列。
口令輸入控件是一種能在客戶終端上運行的軟件組件,它有一個軟鍵盤模式的圖形界面,通過點擊顯示有字符的圖片區(qū)域進行口令輸入;鼠標點擊的位置被控件轉換為一個臨時的中間值并使用口令加密指令串進行加密。
口令輸入控件的界面依據口令的字符集而定,如果口令的字符集為字母和數字,則口令輸入控件的圖片區(qū)域是一個大鍵盤的形狀。如果口令的字符集為數字,則口令輸入控件的圖片區(qū)域是一個小鍵盤的形狀。如圖5所示,為一個小鍵盤樣式的口令輸入控件界面實例其中,“★★★★★★”為口令輸入進度指示器,用“★”的個數指示口令輸入的字符數。在字符圖片區(qū)域中,所有字符可以在一個大圖片按鈕上,也可以是每個字符分別在一個小圖片按鈕上。
發(fā)明優(yōu)越性本發(fā)明的口令認證方法有效地防止了木馬程序竊取用戶口令的問題,主要從如下兩個方面進行實現1)、使用點擊圖片進行口令字符輸入的方式防止了木馬程序監(jiān)控物理鍵盤輸入的問題;2)、口令的原始值不會存放在客戶端的內存中,而且在口令輸入過程中的任何一個瞬間,在客戶端上都不會存在原始口令,存放到客戶端內存中的是使用隨機口令加密指令串進行了加密的口令。由于每次認證使用的隨機口令加密指令串是不同的,所以,即使木馬程序通過掃描內存已經取得加密后的口令也毫無用處,有效防止了木馬程序掃描和監(jiān)控內存的問題。
權利要求
1.一種網絡中動態(tài)加密裝置,通過使用軟鍵盤模式的口令輸入方式防止木馬程序監(jiān)控物理鍵盤的輸入,通過使用基于隨機口令加密指令串進行動態(tài)加密的方式防止木馬程序竊取內存中的口令,其特征在于,由數據管理裝置、服務提供裝置、內部網絡、安全服務裝置、網絡安全裝置、公共網絡、客戶終端裝置組成,內部網絡分別連接于數據管理裝置、服務提供裝置、安全服務裝置和網絡安全裝置,網絡安全裝置通過公共網絡連接于客戶終端裝置;數據管理裝置,用于存放企業(yè)數據和客戶信息,并負責認證通過后的客戶訪問管理;服務提供裝置,為客戶提供接入服務;安全服務裝置,為用戶提供認證服務;網絡安全裝置,用于保護企業(yè)內部網絡的安全;公共網絡,客戶終端裝置通過公共網絡聯機到企業(yè)的服務提供裝置;客戶終端裝置是網絡系統的客戶端。
2.根據權利要求1的網絡中動態(tài)加密裝置,其特征在于,數據管理裝置可以是一個PC服務器或主機。
3.根據權利要求1的網絡中動態(tài)加密裝置,其特征在于,服務提供裝置可以是一個Web服務器或提供接入的服務器。
4.根據權利要求1的網絡中動態(tài)加密裝置,其特征在于,內部網絡是局域網,可以是以太網。
5.根據權利要求1的網絡中動態(tài)加密裝置,其特征在于,安全服務裝置,負責隨機口令加密指令串和口令解密串的產生、用戶認證信息中的加密口令解密、從數據管理裝置獲取用戶原口令并比較;其結構包括隨機口令加密指令串和口令解密指令串產生裝置,可以動態(tài)生成隨機口令加密指令串和口令解密指令串,也可以從一個口令加密指令串和口令解密指令串庫中隨機獲?。挥涗浹b置,記錄用戶會話使用的口令加密指令串和口令解密指令串;解密裝置,對客戶終端裝置提交的認證信息中的加密口令進行解密;比較裝置,對解密裝置解密得到的口令與存放在數據管理裝置中的用戶口令進行比較。
6.根據權利要求1的網絡中動態(tài)加密裝置,其特征在于,網絡安全裝置為防火墻,用于保護企業(yè)內部網絡的安全,防止公共網絡中的非法用戶對內部網絡的訪問和攻擊。
7.根據權利要求1的網絡中動態(tài)加密裝置,其特征在于,公共網絡可以是互聯網或企業(yè)外部網,客戶終端裝置通過公共網絡聯機到企業(yè)的服務提供裝置。
8.根據權利要求1的網絡中動態(tài)加密裝置,其特征在于,客戶終端裝置是網絡系統的客戶端,可以是一臺個人PC,包括顯示裝置為顯示器,輸入裝置為鼠標和鍵盤,通訊裝置為Modem。
9.一種網絡中動態(tài)加密口令認證方法,通過使用軟鍵盤模式的口令輸入方式防止木馬程序監(jiān)控物理鍵盤的輸入,通過使用基于隨機口令加密指令串進行動態(tài)加密的方式防止木馬程序竊取內存中的口令,其具體步驟如下步驟100客戶終端向服務提供裝置發(fā)送身份認證請求;步驟101響應客戶終端請求,服務提供裝置接受客戶終端的身份認證請求;步驟102服務提供裝置向安全服務裝置請求一隨機口令加密指令串;安全服務裝置中的隨機口令加密指令串和口令解密指令串產生裝置產生一對隨機的口令加密指令串和口令解密指令串對;記錄裝置對用戶會話使用的口令加密指令串和口令解密指令串對進行記錄;安全服務裝置最后將口令加密指令串返回給服務提供裝置;步驟103服務提供裝置生成發(fā)送給客戶終端的初始化數據,初始化數據中包含從安全服務裝置返回的隨機口令加密指令串;步驟104服務提供裝置將生成的初始化數據發(fā)送給客戶終端;步驟105客戶終端接收服務提供裝置發(fā)送的初始化數據;步驟106客戶終端檢查本身是否存在最新版本的口令輸入控件,如果不存在或版本不是最新,則轉步驟107,否則轉步驟108;步驟107客戶終端從服務提供裝置下載最新版本的口令輸入控件;步驟108客戶終端顯示口令認證屏面,等待用戶輸入客戶標識、口令以及其所需的認證信息;步驟109用戶在客戶終端上輸入客戶標識以及除口令外的所需的認證數據;步驟110用戶使用鼠標點擊口令輸入控件上顯示有口令字符的圖片區(qū)域,進行口令輸入;步驟111口令輸入控件將鼠標點擊的位置轉換成一個臨時中間值,該中間值與用戶點擊位置顯示的字符對應,并使用初始化數據中包含的口令加密指令串對該中間值進行加密;步驟112口令輸入控件保存加密的口令數據,并更新口令輸入進度指示器;步驟113口令輸入控件檢查口令輸入是否完成,如果未完成則轉步驟110,接受用戶下一口令字符的輸入;步驟114客戶終端將用戶輸入的認證數據發(fā)送給服務提供裝置;步驟115服務提供裝置接收客戶終端發(fā)送的認證數據;步驟116服務提供裝置將認證數據發(fā)送給安全服務裝置進行認證;安全服務裝置從記錄裝置中取出與發(fā)送給客戶終端的口令加密指令串對應的口令解密指令串,與認證數據中的加密口令一起交解密裝置進行解密;并將解密的口令與存放在數據管理裝置中的用戶口令一起交比較裝置進行比較;最后將比較結果返回給服務提供裝置;步驟117服務提供裝置將認證的結果數據發(fā)送給客戶終端;步驟118客戶終端接收服務提供裝置發(fā)送的認證結果數據,并在屏面顯示認證結果。
10.根據權利要求9的網絡中動態(tài)加密口令認證方法,其特征在于,客戶終端向服務提供裝置發(fā)送的身份認證請求包括直接請求和間接請求直接請求,客戶終端直接訪問服務提供裝置的身份認證服務;間接請求,客戶終端在未通過身份認證的情況下,請求訪問服務提供裝置中涉及安全的服務,服務提供裝置則暫不提供該服務而強行向客戶終端提供身份認證服務。
11.根據權利要求9的網絡中動態(tài)加密口令認證方法,其特征在于,口令加密指令串和口令解密指令串對是與客戶會話相關的,即每次身份認證中口令加密指令串和口令解密指令串對是不同的,口令加密指令串可以是一個加密密鑰,也可以是自定義的一個加密指令系列;口令解密指令串可以是一個解密密鑰,也可以是自定義的一個解密指令系列。
12.根據權利要求9的網絡中動態(tài)加密口令認證方法,其特征在于,口令輸入控件是一種能在客戶終端上運行的軟件組件,它有一個軟鍵盤模式的圖形界面,通過點擊顯示有字符的圖片區(qū)域進行口令輸入;鼠標點擊的位置被控件轉換為一個臨時的中間值并使用口令加密指令串進行加密。
全文摘要
本發(fā)明涉及數據認證技術領域的一種網絡中動態(tài)加密裝置及其口令認證方法。裝置包括數據管理裝置、服務提供裝置、內部網絡、安全服務裝置、網絡安全裝置、公共網絡、客戶終端裝置。方法步驟客戶終端請求身份認證;服務提供裝置響應認證請求;生成初始化數據并發(fā)送給客戶終端;客戶終端接收初始化數據;檢查和下載最新版本的口令輸入控件;顯示口令認證屏面;用戶輸入客戶標識;點擊顯示有口令字符的圖片區(qū)域進行口令輸入;口令輸入控件將點擊位置轉換成一個中間值并加密;判斷口令輸入是否完成;發(fā)送認證數據給服務提供裝置;服務提供裝置接收認證數據;進行數據認證;返回認證結果給客戶終端;客戶終端顯示認證結果。
文檔編號H04L9/18GK1588846SQ20041007425
公開日2005年3月2日 申請日期2004年9月8日 優(yōu)先權日2004年9月8日
發(fā)明者羅巨明, 趙宏鑫, 李兵 申請人:中國工商銀行