USB-KEY原理简要说明

一、        usbkey实现身份认证原理

采用冲击响应的认证方法,登录时在服务器端和客户端同时进行计算,客户端计算前要先验证USER PIN,通过后在硬件中使用HMAC-MD5密钥进行计算,服务器端在服务器上使用软件进行计算,比较计算结果。

二、        usbkey的优点

1、兼容性好

usbkey不仅对打印机、扫描仪等设备具有高度的透明性,特别是多个相同的usbkey也可以使用USB HUB并联在一起使用,相互之间不会干扰。

2、速度快

对于使用usbkey加密后的软件,其运行速度同加密前区别不大,usbkey能够在很短的时间内处理完毕,保证用户程序的顺畅运行。

3、使用简便

usbkey在API函数调用上从用户角度出发,最大限度简化使用接口。用户能够在很短的时间内掌握usbkey的使用方法,节约开发上所投入的时间。

三、        高加密强度和身份认证相结合

      usbkey是全新设计的高强度usbkey,有完整的用户管理。

    (1)用户必须在超级用户状态下(SO PIN验证通过),通过自己设定的不超过51字节的种子生成PID,以后打开和关闭usbkey都需要通过PID来完成。PID的生成算法是在usbkey内部完成的,而且是不可逆的,也就是说,只有生成者才知道什么样的种子能生成什么样的PID,别的人即使知道PID,同时也能够调用这个计算过程,但因为不知道种子是什么,是无法生成和您相同的PID的硬件,保证了用户的usbkey的独特性。

    (2)用户在对usbkey中的数据进行读写操作时需要进行USER PIN验证,又增加了一层对软件的保护性。

    (3)用户可以在配置设备时设为只读,那么usbkey中的数据只可以读取,而不能被更改,密钥也不能被修改,从而保证了锁内数据不被篡改。

    (4)使用usbkey硬件中的HMAC-MD5算法进行冲击响应身份认证。HMAC-MD5密钥存在usbkey中,该密钥只用于计算,任何人获取不到密钥的内容,保证密钥的安全性。

    (5)提供了安全方便的外壳加密工具,使加密工作非常简单。

四、        系统支持

    usbkey采用无驱设计,使用方便,兼容性好,支持多种操作系统台:Windows98(第二版)、Windows2000、WindowsXP、Windows2003等。

五、使用usbkey进行身份认证

     可以应用usbkey进行冲击响应身份认证,替换掉传统的用户名和密码方式,使登录更加安全。其原理如下图所示:

 

    在整个认证过程中,采用冲击响应的认证方式。当需要在网络上验证用户身份时,先由客户端向服务器发出一个验证请求。服务器接到此请求后生成一个随机数并通过网络传输给客户端(此为冲击)。客户端将收到的随机数提供给,由使用该随机数与存储在中的密钥进行HMAC-MD5运算并得到一个结果作为认证证据传给服务器(此为响应)。与此同时,服务器也使用该随机数与存储在服务器数据库中的该客户密钥进行HMAC-MD5运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户。

六、常见问题

1. 什么是USB接口,它有何优点?

     答:USB接口的含义是通用串行总线,英文全称是Universal Serial Bus。是一种新的接口标准。可详见www.usb.org。优点是即插即用、支持热插拔、传输速度快、可通过扩展连接多达127个USB设备,不用担心USBusbkey与打印机等外设的冲突。

2.为什么我的USBusbkey插上后显示未知设备?

     答:一般有3种情况。(1)有干扰或是接触不良,重新插入或者更换计算机上的其它USB插口。(2)usbkey采用无驱设计,在win98二版以上的操作系统使用系统自带的驱动,不需要独立安装驱动。但在不完善的操作系统安装过程中会去掉系统驱动,用户需要在同版本的操作系统种将WINDOWS\Driver Cache\i386\driver.cab文件拷贝到不完善的操作系统的相应目录中。(3)请检查是否关闭了BIOS中的USB支持选项。

3.硬件安装问题?

     答:win98二版安装时需要win98的系统安装盘上的base6.cab包。win2000/XP/2003不需要系统安装盘。如果在计算机上不能认到usbkey,请使用USB鼠标或者USB键盘来检测计算机的系统是否支持标准HID设备。

4.usbkey的PID是否安全?

     答:非常安全。它是由一个长度不超过51个字节的字符串作为种子,usbkey会根据这个种子生成 PID。这个生成算法是在usbkey内部完成的,而且是不可逆的,也就是说,只有生成者才知道什么样的种子能生成什么样的PID,别的人即使知道PID,也能够调用这个计算过程,但因为不知道种子是什么,是无法生成您的PID的,从而无法生产出一个与您手中一致的usbkey硬件。


原文地址:http://jeanscheng.blog.163.com/blog/static/11253401120097594012790/

你可能感兴趣的:(服务器,windows,加密,算法,存储,user,C#应用)