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