每一个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”都不一样,即使在网络传输的过程中认证数据被黑客截获,也无法逆推获得密钥,因此从根本上保证用户身份无法被仿冒。 我觉得这个答案说的还可以,但是要是写usbkey的代码。应该看看嵌入式开发的书吧。对这个没研究 呵呵~~~ 你做过mvc的代码吗?
>
>
超文本传输协议>
为了解决>
>
一、>
二、>
三、>
四、>
>
欢迎分享,转载请注明来源:内存溢出
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)