usb key原理和使用?
每一個USB Key都具有硬件PIN碼保護,PIN碼和硬件構成了用戶使用USB Key的兩個必要因素。用戶只有同時取得了USB Key和用戶PIN碼,才可以登錄系統(tǒng)。即使用戶的PIN碼被泄漏,只要用戶持有的USB Key不被盜取,合法用戶的身份就不會被仿冒;如果用戶的USB Key遺失,拾到者由于不知道用戶PIN碼,也無法仿冒合法用戶的身份。
USB Key具有安全數(shù)據(jù)存儲空間,可以存儲數(shù)字證書、密鑰等秘密數(shù)據(jù),對該存儲空間的讀寫操作必須通過程序?qū)崿F(xiàn),用戶無法直接讀取,其中用戶密鑰是不可導出的,杜絕了復制用戶數(shù)字證書或身份信息的可能性。
USB Key 內(nèi)置CPU,可以實現(xiàn)加解密和簽名的各種算法,加解密運算在USB Key內(nèi)進行,保證了密鑰不會出現(xiàn)在計算機內(nèi)存中,從而杜絕了用戶密鑰被黑客截取的可能性。USB Key的兩種應用模式
USB Key身份認證主要有如下兩種應用模式:
一、基于沖擊-響應認證模式
USB Key內(nèi)置單向散列算法(MD5),預先在USB Key和服務器中存儲一個證明用戶身份的密鑰,當需要在網(wǎng)絡上驗證用戶身份時,先由客戶端向服務器發(fā)出一個驗證請求。服務器接到此請求后生成一個隨機數(shù)回傳給客戶端PC上插著的USB Key,此為“沖擊”。USB Key使用該隨機數(shù)與存儲在USB Key中的密鑰進行MD5運算得到一個運算結果作為認證證據(jù)傳送給服務器,此為“響應”。與此同時,服務器使用該隨機數(shù)與存儲在服務器數(shù)據(jù)庫中的該客戶密鑰進行MD5運算,如果服務器的運算結果與客戶端傳回的響應結果相同,則認為客戶端是一個合法用戶。
圖中“x”代表服務器提供的隨機數(shù),“Key”代表密鑰,“y”代表隨機數(shù)和密鑰經(jīng)過MD5運算后的結果。通過網(wǎng)絡傳輸?shù)闹挥须S機數(shù)“x”和運算結果“y”,用戶密鑰“Key”既不在網(wǎng)絡上傳輸也不在客戶端電腦內(nèi)存中出現(xiàn),網(wǎng)絡上的黑客和客戶端電腦中的木馬程序都無法得到用戶的密鑰。由于每次認證過程使用的隨機數(shù)“x”和運算結果“y”都不一樣,即使在網(wǎng)絡傳輸?shù)倪^程中認證數(shù)據(jù)被黑客截獲,也無法逆推獲得密鑰。因此從根本上保證了用戶身份無法被仿冒。
評論