加密狗复制克隆网 电 话:13528540969 Email:4642967@qq.com 网 址:www.crackdongle.com 地 址 :广东省深圳市地王大厦38层8801号
微 信 客 服
加密锁破解|加密狗复制|加密狗克隆|软件破解
一、ET99 USB KEY采用冲击响应实现身份认证的工作原理
采用冲击/响应(挑战/应答)的认证方法,登录时在服务器端和客户端同时进行计算,客户端计算前要先验证USER PIN,通过后在硬件中使用HMAC-MD5密钥进行计算,服务器端在服务器上使用软件进行计算,比较计算结果。
二、ET99 USB KEY的优点
1、兼容性好
ET99 USB KEY不仅对打印机、扫描仪等设备具有高度的透明性,特别是多个相同的ET99 USB KEY也可以使用USB HUB并联在一起使用,相互之间不会干扰。
2、速度快
对于使用ET99 USB KEY加密后的软件,其运行速度同加密前区别不大,ET99 USB KEY能够在很短的时间内处理完毕,保证用户程序的顺畅运行。
3、使用简便
ET99 USB KEY在API函数调用上从用户角度出发,最大限度简化使用接口。用户能够在很短的时间内掌握ET99 USB KEY的使用方法,节约开发上所投入的时间。
三、高加密强度和身份认证相结合
ET99 USB KEY是全新设计的高强度ET99 USB KEY,有完整的用户管理。
(1)用户必须在超级用户状态下(SO PIN验证通过),通过自己设定的不超过51字节的种子生成PID,以后打开和关闭ET99 USB KEY都需要通过PID来完成。PID的生成算法是在ET99 USB KEY内部完成的,而且是不可逆的,也就是说,只有生成者才知道什么样的种子能生成什么样的PID,别的人即使知道PID,同时也能够调用这个计算过程,但因为不知道种子是什么,是无法生成和您相同的PID的硬件,保证了用户的ET99 USB KEY的独特性。
(2)用户在对ET99 USB KEY中的数据进行读写操作时需要进行USER PIN验证,又增加了一层对软件的保护性。
(3)用户可以在配置设备时设为只读,那么ET99 USB KEY中的数据只可以读取,而不能被更改,密钥也不能被修改,从而保证了锁内数据不被篡改。
(4)使用ET99 USB KEY硬件中的HMAC-MD5算法进行冲击响应身份认证。HMAC-MD5密钥存在ET99 USB KEY中,该密钥只用于计算,任何人获取不到密钥的内容,保证密钥的安全性。
(5)提供了安全方便的外壳加密工具,使加密工作非常简单。
四、系统支持
ET99 USB KEY采用无驱设计,使用方便,兼容性好,支持多种操作系统台:全系列Windows、Linux和MAC。包括32位和64位。
五、使用ET99 USB KEY进行身份认证
可以应用ET99 USB KEY进行冲击响应身份认证,替换掉传统的用户名和密码方式,使登录更加安全。其原理如下图所示:
在整个认证过程中,采用冲击响应的认证方式。当需要在网络上验证用户身份时,先由客户端向服务器发出一个验证请求。服务器接到此请求后生成一个随机数并通过网络传输给客户端(此为冲击)。客户端将收到的随机数提供给,由使用该随机数与存储在中的密钥进行HMAC-MD5运算并得到一个结果作为认证证据传给服务器(此为响应)。与此同时,服务器也使用该随机数与存储在服务器数据库中的该客户密钥进行HMAC-MD5运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户。
六、原理详解
冲击/响应的算法原理可以参见(http://www.rfc-editor.org/rfc/rfc2085.txt)。其中公式原型为:
MD5(K XOR opad, MD5(K XOR ipad, text))
K:密钥(即分配给不同用户的密钥)
text:随机数
opad:数值0x5C
ipad:数值0x36
XOR:异或运算符
ET99 USB KEY在此基础上进行了改进,结合进硬件的特点,使得存储在ET99 USB KEY中的密钥K也是不可被盗取和得知的。ET99的公式为:
MD5(MD5(K XOR opad), MD5(MD5(K XOR ipad), text))
我们看到ET99的计算公式中,将K XOR opad和K XOR ipad的结果又分别做了MD5运算。假如分配给客户独有的密钥K为123456,那么K与opad异或的结果再进行MD5运算后的16字节称为K1,K与ipad异或的结果再进行MD5运算后的16字节称为K2,K1+K2拼接后的32字节Kin99作为存入ET99 USB KEY中密钥区中的密钥(ET99可以存储8个32字节密钥)。这样做的目的有两点:(1)硬件保证32字节的密钥Kin99是无法被导出的。(2)即使通过物理探针分析芯片,得到这32字节,通过拆分得到K1和K2,但由于MD5是成熟的单向散列算法,通过K1和K2是反推不出K的值,因此绝对保证了分配给用户,代表用户身份的K是无法被复制的。
那么从公式中就可以一目了然看到整个冲击/响应客户端和服务器端进行计算的过程。
ET99中计算:
(1)
使用K2+text(随机数)拼接后进行MD5运算,产生16字节的结果Rc1。
(2)
使用K1+Rc1拼接后进行MD5运算,产生客户端计算的结果Rc。
服务器端计算:
(1)
从数据库中取得客户的密钥K。
(2)
K与ipad异或后进行MD5运算产生16字节的Rs1。
(3)
Rs1+text(随机数)拼接后进行MD5运算,产生16字节Rs2。
(4)
K与opad异或后进行MD5运算产生16字节的Rs3。
(5)
Rs3+Rs2拼接后进行MD5运算产生16字节的服务器端计算结果Rs。
我们看客户端的ET99 ET99 USB KEY中和服务器端的计算过程都是使用相同的算法,相同的过程,因此计算结果Rc和Rs是一致的。K1和K2也是由K产生的。同时有随机数的参与,因此每次的计算结果是变化的,使用一次即作废,保证了身份认证的安全。
七、安全性
在整个认证过程中网络上所传递的只有3种数据:用户名,随机数和计算结果,计算结果由随机数的不同而每次各不相同,这些数据被截取到也是没有意义的。同时ET99ET99 USB KEY是客户端的安全产品,具有以下特点:
l
登录用户必须先输入自己的USER PIN进行验证后才有权限完成计算。
l
USER PIN有最大重试次数限制,连续输入错误会锁死。从而防止硬件丢失后,被不合法的用户反复重试。
l
存储在ET99 USB KEY中的密钥不能被任何人获取。
l
用户登录时必须具备硬件和保护硬件的USER PIN双重因子时才能登录。有硬件,不知道USER PIN或者知道USER PIN,没有硬件,都是没有办法登录的。比传统的用户名和密码方式大大增加的登录用户的安全性。
l
保障了系统开发商的利益。使用硬件登录,不存在用户名密码共享的问题。