計算機安全認證智能密鑰的製作方法
2023-10-08 18:06:39 1
專利名稱:計算機安全認證智能密鑰的製作方法
技術領域:
本發明涉及一種計算機網絡身份認證。
眾所周知,身份認證在計算機系統和計算機網絡中非常重要,目前採用的身份認證方法主要有二種用戶+口令的方式(如普通PAP認證、人體指紋等生理上的認證方法)、和採用數字證書認證方式。其中第一方式比較適合於不需要經過第三方認證的系統,如作業系統的用戶身份確認、企業內部網絡、或藉助於網際網路連接的專用網絡;而第二種方式則適合於跨部門、跨企業的業務往來,驗證的雙方是對等的,要相互認證,這種認證需要第三方來確認的雙方身份的系統中,如電子商務系統等。
第一種認證方式即為簡單的用戶名+口令的方式來認證用戶,這種方式存在三大安全隱患(1)口令易被猜測;(2)口令在網絡上傳輸易被竊獲;(3)用戶帳號信息被存放在認證方(伺服器端),易被超級用戶洩密,或被黑客攻擊的對象,即使用戶帳號信息被加密存放,因加密的密鑰和加密的信息被存放在同一臺計算機中,總有辦法找到加密的密鑰來解被加密的信息。
對於用戶名+口令的認證方式一個比較好的改進辦法是採用動態密碼的認證,其優點是用戶每一次的網絡登錄其密碼不一樣,杜絕了因在網絡上竊聽密碼而造成系統不安全的可能性。目前,動態密碼的認證方式基本上採用安全認證協議,即CHAP(Challenge Handshake AuthenticationProtocol)。
CHAP是一種通過驗證方與被驗證方之間的三次信息交互(握手)來驗證訪問者身份的認證協議。驗證方周期性地檢驗登錄和訪問請求,一旦檢測到,就生成和發送一個隨機數Challenge給被驗證者。被驗證者據此生成一單向加密(One-way encryption)的摘要值作為應答(Response)傳給驗證方。驗證方根據收到的Response來判斷用戶身份合法性。
CHAP成功認證的前提是驗證雙方共享同樣的秘密值和單向加密算法(One-way Encryption,實際就是HASH算法)。實際驗證中,伺服器端在發出隨機數的同時,會和客戶端一道以共享的秘密值和Challenge為因子計算報文摘要,並把二者計算的結果匯總、比較,若相等,則認可該次訪問,反之予以拒絕。
CHAP協議能保證用戶在驗證用戶合法性的時候保證每一次登錄網上的信息不一樣,從而保證用戶密碼的安全。但其安全性建立在用戶/客戶機和伺服器共享相同的秘密值,為了用戶的利益,用戶當然會安全地保存自己的秘密值,但伺服器秘密值的保存的安全性維繫在伺服器本身的安全,伺服器中秘密值的洩密和破解是本協議的最大安全隱患;另外,CHAP協議本身不能解決用戶埠令被猜測的安全隱患。
本發明的目的是提供一種計算機安全認證智能密鑰,它雖然要求驗證方和被驗證方事先共享同一秘密值,但保存的結果卻不相同,在提供驗證服務的一方是密文,而密鑰和明文則交給待驗證的用戶保管,又為了保證密鑰安全傳遞和用戶身份的正確驗證,同時使用了非對稱和對稱加密技術。
本發明的具體構思如下1、利用智能密鑰(Skey)和強化的CHAP協議構造安全認證密鑰來鑑別用戶的身份。
2、Skey帶有獨立的處理器,只要插入USB接口,加載不同算法,即可進行各種運算;根據需要,Skey可配置8-64K可擦寫存儲器(EPROM),足以支持複雜應用的用戶信息存儲需求;此外,Skey對用戶信息採用文件系統管理和雙重口令保護,確保信息存取安全可靠。
3、安全智能認證密鑰採用強化的CHAP協議來認證用戶,在認證用戶過程中,採用CHAP協議來認證用戶,但在伺服器端用戶的秘密值在建立用戶帳號是採用隨機生成的對稱密鑰加密存放在伺服器端,而密鑰被存放在Skey中,由用戶自己保存,伺服器中不再有用戶個人的密鑰;而用戶自己保存的秘密值無須加密,原始的秘密值被保存在Skey中由用戶自己保存;4、Skey中用於認證用戶身份的秘密值和密鑰的提取,必須通過Skey本身的安全認證以後,才能獲取。
5、客戶端的密鑰傳送到伺服器,通過伺服器端生成的一對隨機密鑰(公鑰和私鑰)來保證客戶密鑰從客戶端安全傳輸到伺服器端。首先,伺服器把隨機的公鑰傳給客戶,客戶用這把隨機的公鑰加密客戶密鑰,然後,客戶把加密的密鑰傳給伺服器,伺服器利用隨即產生的那對私鑰來解密客戶密鑰。這樣,客戶密鑰被安全地傳送到伺服器端。
本發明的目的是這樣實現的它具有驗證方與被驗證方共享同樣的秘密值和單向加密算法的認證協議,其特徵是對伺服器端用戶的秘密值採用對稱加密算法進行加密存貯,其加密密鑰和原始秘密值保存在該用戶的存儲介質上;被加密的用戶秘密值和加密密鑰分開存貯;又在認證協議驗證過程中,引入非對稱加密技術,產生臨時密鑰對,來保證加密該用戶秘密值的密鑰傳遞安全性。
由於採用上述方案實現了安全的身份認證和用戶敏感驗證信息(秘密信息)在伺服器和客戶端的安全存儲,防止因超級用戶洩漏或複製用戶的秘密值的安全隱患。
下面結合一實施例對本發明作詳細的說明。
圖1本發明典型實施例框圖。
Windows NT遠程撥號計算機安全認證智能密鑰的使用和認證過程,如圖1所示(1)NT的用戶要到NT系統中註冊帳號,在註冊帳號中,確定好用戶名,如用戶名(USER),在註冊用戶中,根據安全認證智能密鑰所配的管理工具,在伺服器端隨機產生一隨機的秘密值,記為USER-SV,利用RC-4算法產生一隨機的客戶密鑰,記為CK,用CK來加密USER-SV,加密的USER-SV,記為EN-USER-SV,秘密值USER-SV和客戶密鑰CK被存放在Skey中,同時設置好Skey保護口令,記為PIN,(注PIN值並不在伺服器端保存);而加密的秘密值EN-USER-SV被保存在伺服器端;
(2)客戶端本地認證用戶對智能密鑰Skey持有的合法性的驗證。用戶把自己註冊的Skey插入計算機的USB接口上,啟動安全認證智能密鑰所帶的遠程撥號客戶端軟體,將提示用戶輸入用戶名和PIN值,用戶分別輸入USER和PIN,Skey將根據用戶的輸入,在客戶端對用戶的輸入進行檢查,如合法,則進行以下的工作,如不合法,則提示為非法用戶,拒絕進入系統。只有通過Skey合法性檢查以後,才能存取Skey的用戶秘密值和用戶密鑰。
(3)伺服器對用戶的認證①客戶發認證請求和用戶名USER給伺服器;②伺服器收到客戶的認證請求和用戶名USER以後,產生一隨機數Challenge給客戶;同時,產生一對隨機的密鑰,分別為公鑰和私鑰,記為Pb和Pv,並把公鑰Pb送給客戶;③客戶收到Challenge和Pb後,從Skey中讀出用戶註冊的秘密值USER-SV,對客戶收到的Challenge和USER-SV一起做報文摘要運算,其結果記為W1;同時,客戶從Skey中讀出客戶的密鑰CK,利用收到的Pb加密客戶密鑰CK,記為Pb-CK;客戶把W1和Pb-CK傳送給伺服器;④伺服器收到W1和Pb-CK後,利用伺服器隨機產生的私鑰Pv來解密Pb-CK,其結果為CK;利用CK來解密用戶USER的加密的秘密值EN-USER-SV,其結果為USER-SV;利用送給客戶的隨機數Challenge和USER-SV做報文摘要運算,其結果為W2;⑤伺服器把收到的W1和產生的W2進行比較,若W1和W2相等,則說明用戶合法,否則,用戶為非法。若合法,則送Succed標誌給客戶,若非法,則送Failed標誌給客戶;⑥客戶收到Succed標誌,則成功進入系統,否則被拒絕進入系統。
上述安全智能密鑰認證過程可歸納出下列框圖綜上所述本發明的特點如下1)對伺服器端用戶的秘密值採用對稱加密算法進行加密存貯,其加密密鑰和原始秘密值保存在該用戶的存儲介質上(如Skey、iKey、軟盤、智慧卡、客戶機等);2)被加密的用戶秘密值和加密(該秘密值)密鑰分開存貯;3)在認證協議(CHAP)驗證過程中,引入非對稱加密技術,產生臨時密鑰對,來保證加密該用戶秘密值的密鑰傳遞的安全性。
綜上所述本發明的特點如下1)對伺服器端用戶的秘密值採用對稱加密算法進行加密存貯,其加密密鑰和原始秘密值保存在該用戶的存儲介質上(如Skey、iKey、軟盤、智慧卡、客戶機等);2)被加密的用戶秘密值和加密(該秘密值)密鑰分開存貯;3)在認證協議(CHAP)驗證過程中,引入非對稱加密技術,產生臨時密鑰對,來保證加密該用戶秘密值的密鑰傳遞的安全性。
權利要求
1.一種計算機安全認證智能密鑰,具有驗證方與被驗證方共享同樣的秘密值和單向加密算法的認證協議,其特徵的認證方法(1)在註冊帳號中,確定好用戶名USER,在註冊用戶中,根據安全認證智能密鑰所配的管理工具,在伺服器端隨機產生一隨機的秘密值為USER-SV,利用RC-4算法產生一隨機的客戶密鑰為CK,用CK來加密USER-SV,加密的USER-SV為EN-USER-SV,秘密值USER-SV和客戶密鑰CK被存放在Skey中,同時設置好Skey保護口令為PIN;而加密的秘密值EN-USER-SV被保存在伺服器端;(2)客戶端本地認證用戶對智能密鑰Skey持有的合法性的驗證,用戶把自己註冊的Skey插入計算機的USB接口上,啟動安全認證智能密鑰所帶的遠程撥號客戶端軟體,將提示用戶輸入用戶名和PIN值,用戶分別輸入USER和PIN,Skey將根據用戶的輸入,在客戶端對用戶的輸入進行檢查,只有通過Skey合法性檢查以後,才能存取Skey的用戶秘密值和用戶密鑰;(3)伺服器對用戶的認證①客戶發認證請求和用戶名USER給伺服器;②伺服器收到客戶的認證請求和用戶名USER以後,產生一隨機數給客戶;同時,產生一對隨機的密鑰,分別為公鑰Pb和私鑰Pv,並把公鑰Pb送給客戶;③客戶收到隨機數和Pb後,從Skey中讀出用戶註冊的秘密值USER-SV,對客戶收到的隨機數和USER-SV一起做報文摘要運算,其結果記為W1;同時,客戶從Skey中讀出客戶的密鑰CK,利用收到的Pb加密客戶密鑰CK為Pb-CK;客戶把W1和Pb-CK傳送給伺服器;④伺服器收到W1和Pb-CK後,利用伺服器隨機產生的私鑰Pv來解密Pb-CK,其結果為CK;利用CK來解密用戶USER的加密的秘密值EN-USER-SV,其結果為USER-SV;利用送給客戶的隨機數和USER-SV做報文摘要運算,其結果為W2;⑤伺服器把收到的W1和產生的W2進行比較,若W1和W2相等,則說明用戶合法,否則,用戶為非法,若合法,則送成功標誌給客戶,若非法,則送失敗標誌給客戶;⑥客戶收到成功標誌,則成功進入系統,否則被拒絕進入系統。
全文摘要
本發明涉及一種計算機網絡身份認證。它主要是對伺服器端用戶的秘密值採用對稱加密算法進行加密存貯,其加密密鑰和原始秘密值保存在該用戶的存儲介質上;被加密的用戶秘密值和加密密鑰分開存貯;又在認證協議驗證過程中,引入非對稱加密技術,產生臨時密鑰對,來保證加密該用戶秘密值的密鑰傳遞安全性。從而,實現了安全的身份認證和用戶敏感驗證信息(秘密信息)在伺服器和客戶端的安全存儲,防止因超級用戶洩漏或複製用戶的秘密值的安全隱患。
文檔編號H04L9/14GK1338841SQ0012154
公開日2002年3月6日 申請日期2000年8月11日 優先權日2000年8月11日
發明者李志錄, 何敏, 楊志成 申請人:海南格方網絡安全有限公司