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