1.常用身份认证方式
目前常用的身份认证方式有三种:基于用户名和口令的身份认证方式、基于生物特征识别技术的身份认证方式、基于USB key的身份认证方式。
其中基于用户名和口令的身份认证方式是最原始、最简单、也是最不安全的认证方式。由于用户名和口令很容易外泄或者通过口令猜测、线路窃听、重放攻击等技术手段获取,用户的身份很容易被伪造,从而造成用户的损失。
基于生物特征识别技术的身份认证方式利用的是人类生物特征的唯一性,比如指纹、声音、手迹、虹膜等都是唯一的。这种认证方式非常的安全并且有效,但是它也存在很多的问题。生物特征识别技术非常复杂,而且技术不成熟,实施成本昂贵,因此不适合大范围的推广。
基于USB key的身份认证方式是电子政务和电子商务领域中最流行的一种身份认证方式。USB key结合了现代密码学技术、智能卡技术和USB技术,是新一代的身份认证产品,具有安全性高、技术成熟、成本低的特点,适合于大范围的推广使用。
2.USB key特点
USB key作为新一代的身份认证产品,具有以下四个特点:
(1)双因子认证
每个USB key都有一个硬件PIN码,PIN码可以理解为使用USB key所需的密码,只有知道PIN码的人才有权使用USB key。双因子认证是指只有用户同时拥有USB key和PIN码,才能通过身份认证。如果用户key丢失,由于其他人不知道PIN码,也无法伪造用户身份;如果其他人知道了PIN码,但是无法获取到key,同样也无法伪造身份。因此使用USB key进行身份认证是一种非常安全的方式。
(2)带有安全存储空间
USB key中有一块安全的存储空间,专门用来存储数字证书、用户密钥等秘密信息。之所以说这块存储空间是安全的,是因为只有通过程序才能对该存储空间进行读写,用户无法直接读取,并且用户私钥是不能导出的,这也就防止了其他人复制数字证书或用户身份信息进行身份伪造。
(3)硬件实现密码算法
USB key内置了CPU或智能卡芯片,芯片中集成了数据加解密、签名验签、消息摘要等各种密码算法。硬件实现密码算法相比于软件实现密码算法,最大的好处是密码运算在key中进行,保证了密钥永不出key,不会出现在计算机的内存中,这也就防止了黑客获取密钥,保证了密钥的安全性。
(4)便于携带,安全可靠
USB key类似于U盘,非常的小巧,便于携带。并且key中的证书和密钥不可导出,key的硬件不可复制,更加安全可靠。
3.USB key身份认证应用方式
基于
USB key进行身份
验证
有两种方式:基于挑战-应答的双因子认证方式、基于数字证书的认证方式。
(1)
基于挑战-应答的双因子认证方式
在网络上验证用户身份时,客户端向服务器发送一个身份验证请求。服务器端在收到身份验证请求之后,产生一个随机数并通过网络发送给客户端,这个随机数即称为挑战值。客户端收到挑战值之后,将挑战值通过usb口传送给key,key使用该挑战值和key中的密钥生成HMAC值,并将该值发送给服务器,这个值即为应答。服务器在收到应答值后,同样使用挑战值和服务器端存储的用户密钥计算HMAC值,若本地计算的值与传回的响应值一致,则身份认证通过。在这种方式中要求用户与服务器端共享一个密钥值,用户端存储在key中,服务器端存储在安全的数据库中。
安全性分析:用户与服务器共享的密钥代表了用户的身份,一旦泄露,该用户的身份可以随意伪造,因此该密钥的安全性至关重要。密钥的运算在key和服务器中进行,不会出现在客户端的内存中,也不会在网络上传输,保证了密钥的安全性。而且HMAC算法是不可逆的,即通过随机数和密钥可以计算MAC值,从MAC值和随机数不能推导出密钥,保证了密钥的安全性。
(2)
基于数字证书的认证方式
USB key中存储着用户的证书,证书是由CA签发的,唯一的代表一个用户的身份。与证书相对应的是一个公私钥对,公钥在证书中,私钥由用户自己保存。用户通过网络给其他人发送信息时,可以使用自己的私钥对信息进行签名,收到信息的人用对方的公钥验证签名,从而验证了对方的身份;
用户通过网络给其他人发送信息时,可以使用对方的公钥对信息进行加密,对方接收到信息之后用自己的私钥解密,也就保证了消息的机密性。基于数字证书可以保证消息的机密性、完整性、真实性和抗抵赖性。
4.常见USB key身份认证解决方案(待续)