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”都不一样,即使在网络传输的过程中认证数据被黑客截获,也无法逆推获得密钥。因此从根本上保证了用户身份无法被仿冒。
评论