具体实施方式
USB作为一种得到日益广泛使用的PC机互连协议,使外设到计算机的连接更加高效、便利。这种接口适合于多种设备,不仅具有快速、即插即用、支持热插拔的特点,还能同时连接多达127个设备,解决了如资源冲突、中断请求和直接数据通道等问题。因此,越来越多的开发者欲在自己的产品中使用这种标准接口。
HID是USB终端人机接口设备的简称。HID设备在Windows98SE及以上操作系统无需安装驱动程序,这为设备的使用提供了更多的便捷。用户不需要随身携带驱动程序就可以随时随地使用,不需要使用PC外设时恼人的驱动安装,不需要管理版本不断升级的驱动程序,不需要考虑不同产品驱动程序的兼容问题,不需要面对驱动程序引起的操作系统使用风险,不需要担心驱动程序的安装卸载对系统产生的污染,而这些对于对PC机不是很精通的用户来说无疑都是喜讯。
基于USB Key的身份认证方式是近几年发展起来的一种方便、安全的身份认证技术。它采用软硬件相结合、一次一密的强双因子认证模式,很好地解决了安全性与易用性之间的矛盾
本实用新型结合USB Key和HID设备的特点和优势,将无驱USB Key用在网络安全身份识别领域。下面结合具体实施例对本实用新型内容做进一步阐述。
本实用新型所述无驱USB Key是一种通用串行总线人机交互类设备(USBHID)接口的硬件设备,如图1中所示,所述信息安全设备302内置有高性能单片机或智能卡芯片303,并通过内置的USB接口与主机301相连,所述单片机或智能卡芯片303,可以存储用户的密钥或数字证书,利用USB Key内置的密码算法实现对用户身份的认证。所述单片机或智能卡芯片中内置操作系统,硬件产生RSA密钥,硬件支持RSA、DES、3DES、TEA算法,硬件随机数生成,固件程序支持第三方算法下载。依据上述结构,数据传输过程如下:
一、主机识别设备
主机通过枚举USB HID设备和所述信息安全设备302建立连接,并获得HID类和报告描述符,建立和所述信息安全设备的通信,由主机读取所述信息安全设备的文件系统并获得相关信息。
二、主机向设备发送命令
主机收到用户的认证请求之后,使用HID特定请求Set_Report控制传输命令发送验证数据给设备。该请求可以采用PIN码验证,或是签名验证,或是数据下载,或是文件的访问、或是权限管理、或是读取或写入。
三、设备对命令的解析和处理
所述信息安全设备在接收到来自主机的Set_Report命令之后,依据事先约定的数据协议解析命令请求,通过并执行相应的安全操作,比如执行PIN码校验,执行签名验证,接收需要下载的数据到指定的位置,依据访问权限对文件进行读写修改添加删除的操作,或者更改对文件的操作权限。
四、设备对应用程序的响应
设备完成指定的操作之后或者设备对应用程序提出新的请求时,通过Get_Report命令发送处理结果等相关数据给应用程序来响应应用的请求。
基于USB Key身份认证系统主要有两种应用模式:一是基于冲击/响应的认证模式,二是基于公开密钥体系(PKI)体系的认证模式。
对于基于冲击/响应认证模式身份识别技术,应用过程如下所述。
如图1中所示,应用执行101所示初始化过程,当需要在网络上验证用户身份时,执行102所示双因子认证。通过弱因子(PIN码)认证之后设备将收到的随机数使用约定算法进行加密,将结果返回给终端由终端识别加密结果的正确性。
双因子认证结束,依据认证结果进行判断认证是否成功103,应用端可以提供应用106或者拒绝服务108。此外还可以对所述信息安全设备进行文件管理104或者其他的数据操作105,然后操作完成到107。
本实施例的应用过程中,密钥运算分别在本实施例中所述信息安全设备的硬件和服务器中运行,不出现在客户端内存中,也不在网络上传输,由于MD5-HMAC算法是一个不可逆的算法,就是说知道密钥和运算用随机数就可以得到运算结果,而知道随机数和运算结果却无法计算出密钥,从而保护了密钥的安全,也就保护了用户身份的安全。
实施例2如图2中4中所示,所述信息安全设备402包括高性能CPU芯片404,并通过用于解析USB通信协议的USB接口芯片403与主机401相连,所述高性能CPU芯片加USB接口芯片,硬件实现HMAC-MD5算法,硬件实现随机数生成。固件程序支持三级文件访问和管理权限。
下面基于上述结构和PKI体系的认证模式,具体描述本实施例应用过程。
PKI认证是一种利用现代密码学的公钥密码技术在公开的网络环境中提供数据加密以及数字签名服务的、统一的技术框架。
基于证书授权(CA)认证技术日趋成熟,本实施例中使用数字证书进行身份认证与数字加密。数字证书是由权威公正的第三方机构即CA中心签发的,以数字证书为核心的加密技术,可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性,以及交易实体身份的真实性,签名信息的不可否认性,从而保障网络应用的安全性。
首先执行201所示初始化操作,当服务器端需要验证用户的身份时,如202步骤执行PKI认证。设备对收到的数据运用私钥进行加密运算,将结果返回给终端,服务器在接收到加密结果以后使用公钥解密验证认证数据的正确性。
PKI认证结束,判断认证是否成功203,如果失败则拒绝服务208,否则210使用应用提供的服务。另外还可以使用本实施例提供的服务204,进行诸如数据读写207,算法下载206,数据加解密205,使用完毕转到209结束。
本实施例中,每个用户拥有一把仅为本人所掌握的私有密钥(私钥),用它进行解密和签名;同时拥有一把公共密钥(公钥)并可以对外公开,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,也无法进行解密。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。
用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。采用数字签名,能够确认以下两点:
(1)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;
(2)保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件
实施例3如图5中所示,所述信息安全设备502除包括如实施例2种的高性能CPU 503外,还包括附加的生物特征识别模块,所述生物特征识别模块包括用于提取生物特征信息的传感器505和用于将生物信息转换为CPU可以识别的控制信号的控制芯片504,所述控制芯片504连接在所述CPU 503和传感器505之间,从而在功能上增加了生物识别等新的技术,使认证的安全性进一步提升。此外,也可以采用诸如读卡器模块能附加认证模块,也同样能够实现更高的安全性要求。
以上对本实用新型所提供的通用串行总线人机交互类设备的信息安全设备进行了详细介绍,本文中应用了具体个例对本实用新型的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本实用新型的方法及其核心思想;同时,对于本领域的一般技术人员,依据本实用新型的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本实用新型的限制。