冲击响应认证.docx
- 文档编号:4958606
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:13
- 大小:75.29KB
冲击响应认证.docx
《冲击响应认证.docx》由会员分享,可在线阅读,更多相关《冲击响应认证.docx(13页珍藏版)》请在冰豆网上搜索。
冲击响应认证
坚石诚信ET99是一款高速HID无驱并可以同时支持软件保护和身份认证应用的多功能USB设备。
其采用国际流行的冲击响应认证方式,硬件内部完成HMAC-MD5运算,密钥不出锁,安全可靠。
通过ET99,就可以安全快速的完成登录的过程,不必再为密码被盗而担心,真正实现上网无忧。
一、ET99USBKEY采用冲击响应实现身份认证的工作原理
采用冲击/响应(挑战/应答)的认证方法,登录时在服务器端和客户端同时进行计算,客户端计算前要先验证USERPIN,通过后在硬件中使用HMAC-MD5密钥进行计算,服务器端在服务器上使用软件进行计算,比较计算结果。
二、ET99USBKEY的优点
1、兼容性好
ET99USBKEY不仅对打印机、扫描仪等设备具有高度的透明性,特别是多个相同的ET99USBKEY也可以使用USBHUB并联在一起使用,相互之间不会干扰。
2、速度快
对于使用ET99USBKEY加密后的软件,其运行速度同加密前区别不大,ET99USBKEY能够在很短的时间内处理完毕,保证用户程序的顺畅运行。
3、使用简便
ET99USBKEY在API函数调用上从用户角度出发,最大限度简化使用接口。
用户能够在很短的时间内掌握ET99USBKEY的使用方法,节约开发上所投入的时间。
三、高加密强度和身份认证相结合
ET99USBKEY是全新设计的高强度ET99USBKEY,有完整的用户管理。
(1)用户必须在超级用户状态下(SOPIN验证通过),通过自己设定的不超过51字节的种子生成PID,以后打开和关闭ET99USBKEY都需要通过PID来完成。
PID的生成算法是在ET99USBKEY内部完成的,而且是不可逆的,也就是说,只有生成者才知道什么样的种子能生成什么样的PID,别的人即使知道PID,同时也能够调用这个计算过程,但因为不知道种子是什么,是无法生成和您相同的PID的硬件,保证了用户的ET99USBKEY的独特性。
(2)用户在对ET99USBKEY中的数据进行读写操作时需要进行USERPIN验证,又增加了一层对软件的保护性。
(3)用户可以在配置设备时设为只读,那么ET99USBKEY中的数据只可以读取,而不能被更改,密钥也不能被修改,从而保证了锁内数据不被篡改。
(4)使用ET99USBKEY硬件中的HMAC-MD5算法进行冲击响应身份认证。
HMAC-MD5密钥存在ET99USBKEY中,该密钥只用于计算,任何人获取不到密钥的内容,保证密钥的安全性。
(5)提供了安全方便的外壳加密工具,使加密工作非常简单。
四、系统支持
ET99USBKEY采用无驱设计,使用方便,兼容性好,支持多种操作系统台:
全系列Windows、Linux和MAC。
包括32位和64位。
五、使用ET99USBKEY进行身份认证
可以应用ET99USBKEY进行冲击响应身份认证,替换掉传统的用户名和密码方式,使登录更加安全。
其原理如下图所示:
在整个认证过程中,采用冲击响应的认证方式。
当需要在网络上验证用户身份时,先由客户端向服务器发出一个验证请求。
服务器接到此请求后生成一个随机数并通过网络传输给客户端(此为冲击)。
客户端将收到的随机数提供给,由使用该随机数与存储在中的密钥进行HMAC-MD5运算并得到一个结果作为认证证据传给服务器(此为响应)。
与此同时,服务器也使用该随机数与存储在服务器数据库中的该客户密钥进行HMAC-MD5运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户。
六、原理详解
冲击/响应的算法原理可以参见(http:
//www.rfc-editor.org/rfc/rfc2085.txt)。
其中公式原型为:
MD5(KXORopad,MD5(KXORipad,text))
K:
密钥(即分配给不同用户的密钥)
text:
随机数
opad:
数值0x5C
ipad:
数值0x36
XOR:
异或运算符
ET99USBKEY在此基础上进行了改进,结合进硬件的特点,使得存储在ET99USBKEY中的密钥K也是不可被盗取和得知的。
ET99的公式为:
MD5(MD5(KXORopad),MD5(MD5(KXORipad),text))
我们看到ET99的计算公式中,将KXORopad和KXORipad的结果又分别做了MD5运算。
假如分配给客户独有的密钥K为123456,那么K与opad异或的结果再进行MD5运算后的16字节称为K1,K与ipad异或的结果再进行MD5运算后的16字节称为K2,K1+K2拼接后的32字节Kin99作为存入ET99USBKEY中密钥区中的密钥(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。
我们看客户端的ET99ET99USBKEY中和服务器端的计算过程都是使用相同的算法,相同的过程,因此计算结果Rc和Rs是一致的。
K1和K2也是由K产生的。
同时有随机数的参与,因此每次的计算结果是变化的,使用一次即作废,保证了身份认证的安全。
七、安全性
在整个认证过程中网络上所传递的只有3种数据:
用户名,随机数和计算结果,计算结果由随机数的不同而每次各不相同,这些数据被截取到也是没有意义的。
同时ET99ET99USBKEY是客户端的安全产品,具有以下特点:
登录用户必须先输入自己的USERPIN进行验证后才有权限完成计算。
USERPIN有最大重试次数限制,连续输入错误会锁死。
从而防止硬件丢失后,被不合法的用户反复重试。
存储在ET99USBKEY中的密钥不能被任何人获取。
用户登录时必须具备硬件和保护硬件的USERPIN双重因子时才能登录。
有硬件,不知道USERPIN或者知道USERPIN,没有硬件,都是没有办法登录的。
比传统的用户名和密码方式大大增加的登录用户的安全性。
保障了系统开发商的利益。
使用硬件登录,不存在用户名密码共享的问题。
文章来自:
小方空间论坛(详细出处请参考:
USBKey简介
基于USBKey的身份认证方式是近几年发展起来的一种方便、安全、可靠的身份认证技术。
它采用一次一密的强双因子认证模式,很好地解决了身份认证的安全可靠,并提供USB接口与现今的电脑通用。
USBKey是一种USB接口的小巧的硬件设备,形装与我们常见的U盘没有什么两样。
但它的内部结构不简单,它内置了CPU、存储器、芯片操作系统(COS),可以存储用户的密钥或数字证书,利用USBKey内置的密码算法实现对用户身份的认证。
(图1)
图1
国内有N家银行都推出USBKEY.如接招商银行,工商,农行,建行等。
目前来讲相对算比较安全的一种验证方法,因为黑客想破解除非得到你的USBKEY实体,或者说黑客或木马入侵了你的电脑而你的USBKEY一直插在电脑上。
USBKey产品最早是由加密锁厂商提出来的,原先的USB加密锁主要用于防止软件破解和复制,保护软件不被盗版,而USBKey的目的不同,USBKey主要用于网络认证,锁内主要保存数字证书和用户私钥。
每一个USBKey都具有硬件PIN码保护,PIN码和硬件构成了用户使用USBKey的两个必要因素。
用户只有同时取得了USBKey和用户PIN码,才可以登录系统。
即使用户的PIN码被泄漏,只要用户持有的USBKey不被盗取,合法用户的身份就不会被仿冒;如果用户的USBKey遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。
USBKey具有安全数据存储空间,可以存储数字证书、密钥等秘密数据,对该存储空间的读写操作必须通过程序实现,用户无法直接读取,其中用户密钥是不可导出的,杜绝了复制用户数字证书或身份信息的可能性。
USBKey内置CPU,可以实现加解密和签名的各种算法,加解密运算在USBKey内进行,保证了密钥不会出现在计算机内存中,从而杜绝了用户密钥被黑客截取的可能性。
USBKey的两种应用模式
USBKey身份认证主要有如下两种应用模式:
一、基于冲击-响应认证模式
USBKey内置单向散列算法(MD5),预先在USBKey和服务器中存储一个证明用户身份的密钥,当需要在网络上验证用户身份时,先由客户端向服务器发出一个验证请求。
服务器接到此请求后生成一个随机数回传给客户端PC上插着的USBKey,此为“冲击”。
USBKey使用该随机数与存储在USBKey中的密钥进行MD5运算得到一个运算结果作为认证证据传送给服务器,此为“响应”。
与此同时,服务器使用该随机数与存储在服务器数据库中的该客户密钥进行MD5运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户。
(图2)
图2
图中“x”代表服务器提供的随机数,“Key”代表密钥,“y”代表随机数和密钥经过MD5运算后的结果。
通过网络传输的只有随机数“x”和运算结果“y”,用户密钥“Key”既不在网络上传输也不在客户端电脑内存中出现,网络上的黑客和客户端电脑中的木马程序都无法得到用户的密钥。
由于每次认证过程使用的随机数“x”和运算结果“y”都不一样,即使在网络传输的过程中认证数据被黑客截获,也无法逆推获得密钥。
因此从根本上保证了用户身份无法被仿冒。
二、基于PKI的数字证书的认证模式
PKI(PublicKeyInfrastructure)即公共密钥体系,即利用一对互相匹配的密钥进行加密、解密。
一个公共密钥(公钥,publickey)和一个私有密钥(私钥,privatekey)。
其基本原理是:
由一个密钥进行加密的信息内容,只能由与之配对的另一个密钥才能进行解密。
公钥可以广泛地发给与自己有关的通信者,私钥则需要十分安全地存放起来。
每个用户拥有一个仅为本人所掌握的私钥,用它进行解密和签名;同时拥有一个公钥用于文件发送时加密。
当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,也无法进行解密。
冲击响应模式可以保证用户身份不被仿冒,但无法保证认证过程中数据在网络传输过程中的安全。
而基于PKI的“数字证书认证方式”可以有效保证用户的身份安全和数据传输安全。
数字证书是由可信任的第三方认证机构——数字证书认证中心(CertficateAuthority,CA)颁发的一组包含用户身份信息(密钥)的数据结构,PKI体系通过采用加密算法构建了一套完善的流程,保证数字证书持有人的身份安全。
而使用USBKey可以保障数字证书无法被复制,所有密钥运算在USBKey中实现,用户密钥不在计算机内存出现也不在网络中传播,只有USBKey的持有人才能够对数字证书进行操作,安全性有了保障。
由于USBKey具有安全可靠,便于携带、使用方便、成本低廉的优点,加上PKI体系完善的数据保护机制,使用USBKey存储数字证书的认证方式已经成为目前主要的认证模式。
(图3)
图3
总结:
如今网络上的木马盗号违法行为盛行,可以说,只要上互联网,几乎每一台电脑都可能遭受到攻击,而传统使用的静态密码(用户名+密码)是被认为是极度危险的身份认证手段,所以对重要而敏感的网上身份认证安全不得不引起我们非常的重视。
在目前多种身份认证技术中,USBKEY是被认为安全可靠的技术,在生物特征身份认证技术没有实用之前,它可以说是最安全的身份认证手段,在网上银行、电子商务、电子税务、电子政务、网络游戏、虚拟专网、内网安全等等众多领域都可以大显身手。
从目前USBKEY网络身份认证的应用情况来看正在显现出越来越大的优越性,最大规模的应用是在国内各家商业银行的网上银行业务。
这也是喜欢网上购物的网友们应高度注意的,若你的银行卡开有网上银行业务,最好选择USBKEY身份认证方式。
USBKey虽然在一些地方优于动态密码技术,但是实际使用中却有一些动态密码所没有的安全性问题,这个安全问题主要在于客户端而不是服务器,由于PIN码是在用户电脑上输入的,因此黑客依然可以通过程序截获用户PIN码,如果用户不及时取走USBKey,那么黑客可以通过截获的PIN码来取得虚假认证,仍然存在安全隐患。
而动态密码锁使用随机的一次性密码,不存在这样的问题。
解决方法有几种,一种是改造现有的USBKey,增加输入键,使其PIN码可以在USBKey上输入,这样就不会被电脑上的木马拦截。
还有一种更理想的安全模式,是将这两种加密方式结合在一起,USBKey的PIN码使用动态密码生成,这样两种加密锁结合在一起,服务器端和客户端的安全性就都得到了保障。
附:
网络上的身份认证手段主要有以下几种方法:
用户名/密码:
简单易行,保护非关键性的系统,由于密码是静态的数据,很容易被驻留在计算机内存中的木马程序或网络中的监听设备截获。
是极不安全的身份认证方式;
IC卡:
是一种内置集成电路的芯片,芯片中存有与用户身份相关的数据。
IC卡由专门的设备生产,是不可复制的硬件。
IC卡由合法用户随身携带,登录时必须将IC卡插入专用的读卡器读取其中的信息,以验证用户的身份。
简单易行,但容易被留驻内存的木马或网络监听等黑客技术窃取。
动态口令:
动态口令技术是一种让用户密码按照时间或使用次数不断变化、每个密码只能使用一次的技术。
由于每次使用的密码必须由动态令牌或动态密码卡来产生,只有合法用户才持有该硬件或卡,而认证服务器端也依照同样的规则动态产生相同的密码,所以只要通过密码验证就可以认为该用户的身份是可靠的。
用户每次使用的密码都不相同,即使黑客截获了一次密码,但在用户退出登录后,它也无法利用这个密码来仿冒合法用户的身份,因为密码已经过期。
动态口令技术采用一次一密的方法,有效保证了用户身份的安全性,是比较安全的认证手段。
生物特征:
利用人的指纹、虹膜、掌纹、声纹等天然纹理作为认证识别手段,不同的人具有不同的生物特征,因此几乎不可能被仿冒。
因此安全性最高,最可靠的身份认证方式,但各种相关识别技术还没有成熟,没有规模商品化,准确性和稳定性有待提高,特别是当生物特缺失时,就可能没法利用。
USBKey:
安全可靠,成本低廉依赖硬件的安全性。
见上面详解。
基于USBKey的身份认证方式是近几年发展起来的一种方便、安全、可靠的身份认证技术。
它采用一次一密的强双因子认证模式,很好地解决了身份认证的安全可靠,并提供USB接口与现今的电脑通用。
USBKey是一种USB接口的小巧的硬件设备,形装与我们常见的U盘没有什么两样。
但它的内部结构不简单,它内置了CPU、存储器、芯片操作系统(COS),可以存储用户的密钥或数字证书,利用USBKey内置的密码算法实现对用户身份的认证。
(图1)
身份认证是指计算机及网络系统确认操作者身份的过程。
计算机系统和计算机网络是一个虚拟的数字世界。
在这个数字世界中,一切信息包括用户的身份信息都是用一组特定的数据来表示的,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权。
而我们生活的现实世界是一个真实的物理世界,每个人都拥有独一无二的物理身份。
如何保证以数字身份进行操作的操作者就是这个数字身份合法拥有者,也就是说保证操作者的物理身份与数字身份相对应,就成为一个很重要的问题。
身份认证技术的诞生就是为了解决这个问题。
身份认证技术从是否使用硬件可以分为软件认证和硬件认证,从认证需要验证的条件来看,可以分为单因子认证和双因子认证。
从认证信息来看,可以分为静态认证和动态认证。
身份认证技术的发展,经历了从软件认证到硬件认证,从单因子认证到双因子认证,从静态认证到动态认证的过程。
现在计算机及网络系统中常用的身份认证方式主要有以下几种:
1、用户名/密码方式
用户名/密码是最简单也是最常用的身份认证方法,它是基于“whatyouknow”的验证手段。
每个用户的密码是由这个用户自己设定的,只有他自己才知道,因此只要能够正确输入密码,计算机就认为他就是这个用户。
然而实际上,由于许多用户为了防止忘记密码,经常采用诸如自己或家人的生日、电话号码等容易被他人猜测到的有意义的字符串作为密码,或者把密码抄在一个自己认为安全的地方,这都存在着许多安全隐患,极易造成密码泄露。
即使能保证用户密码不被泄露,由于密码是静态的数据,并且在验证过程中需要在计算机内存中和网络中传输,而每次验证过程使用的验证信息都是相同的,很容易驻留在计算机内存中的木马程序或网络中的监听设备截获。
因此用户名/密码方式一种是极不安全的身份认证方式。
可以说基本上没有任何安全性可言。
2、IC卡认证
IC卡是一种内置集成电路的卡片,卡片中存有与用户身份相关的数据,IC卡由专门的厂商通过专门的设备生产,可以认为是不可复制的硬件。
IC卡由合法用户随身携带,登录时必须将IC卡插入专用的读卡器读取其中的信息,以验证用户的身份。
IC卡认证是基于“whatyouhave”的手段,通过IC卡硬件不可复制来保证用户身份不会被仿冒。
然而由于每次从IC卡中读取的数据还是静态的,通过内存扫描或网络监听等技术还是很容易截取到用户的身份验证信息。
因此,静态验证的方式还是存在根本的安全隐患。
3、动态口令
动态口令技术是一种让用户的密码按照时间或使用次数不断动态变化,每个密码只使用一次的技术。
它采用一种称之为动态令牌的专用硬件,内置电源、密码生成芯片和显示屏,密码生成芯片运行专门的密码算法,根据当前时间或使用次数生成当前密码并显示在显示屏上。
认证服务器采用相同的算法计算当前的有效密码。
用户使用时只需要将动态令牌上显示的当前密码输入客户端计算机,即可实现身份的确认。
由于每次使用的密码必须由动态令牌来产生,只有合法用户才持有该硬件,所以只要密码验证通过就可以认为该用户的身份是可靠的。
而用户每次使用的密码都不相同,即使黑客截获了一次密码,也无法利用这个密码来仿冒合法用户的身份。
动态口令技术采用一次一密的方法,有效地保证了用户身份的安全性。
但是如果客户端硬件与服务器端程序的时间或次数不能保持良好的同步,就可能发生合法用户无法登陆的问题。
并且用户每次登录时还需要通过键盘输入一长串无规律的密码,一旦看错或输错就要重新来过,用户的使用非常不方便。
4、生物特征认证
生物特征认证是指采用每个人独一无二的生物特征来验证用户身份的技术。
常见的有指纹识别、虹膜识别等。
从理论上说,生物特征认证是最可靠的身份认证方式,因为它直接使用人的物理特征来表示每一个人的数字身份,不同的人具有相同生物特征的可能性可以忽略不计,因此几乎不可能被仿冒。
生物特征认证基于生物特征识别技术,受到现在的生物特征识别技术成熟度的影响,采用生物特征认证还具有较大的局限性。
首先,生物特征识别的准确性和稳定性还有待提高,特别是如果用户身体受到伤病或污渍的影响,往往导致无法正常识别,造成合法用户无法登陆的情况。
其次,由于研发投入较大和产量较小的原因,生物特征认证系统的成本非常高,目前只适合于一些安全性要求非常高的场合如银行、部队等使用,还无法做到大面积推广。
5、USBKey认证
基于USBKey的身份认证方式是近几年发展起来的一种方便、安全、经济的身份认证技术,它采用软硬件相结合一次一密的强双因子认证模式,很好地解决了安全性与易用性之间的矛盾。
USBKey是一种USB接口的硬件设备,它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书,利用USBKey内置的密码学算法实现对用户身份的认证。
基于USBKey身份认证系统主要有两种应用模式:
一是基于冲击/响应的认证模式,二是基于PKI体系的认证模式。
下面以一款USBKey产品为例,说明使用USBKey进行身份认证的过程。
此产品内置单向散列算法(MD5),预先在产品和服务器中存储一个证明用户身份的密钥(共享秘密),当需要在网络上验证用户身份时,先由客户端向服务器发出一个验证请求。
服务器接到此请求后生成一个随机数并通过网络传输给客户端(此为冲击)。
客户端将收到的随机数提供给插在客户端USB接口上的产品,由产品使用该随机数与存储在其产品中的密钥进行带密钥的单向散列运算(HMAC-MD5)并得到一个结果作为认证证据传给服务器(此为响应)。
与此同时,服务器也使用该随机数与存储在服务器数据库中的该客户密钥进行HMAC-MD5运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户。
冲击/响应模式可以保证用户身份不被仿冒,却无法保护用户数据在网络传输过程中的安全。
而基于PKI(PublicKeyInfrastructure公钥基础设施)构架的数字证书认证方式可以有效保证用户的身份安全和数据安全。
数字证书是由可信任的第三方认证机构颁发的一组包含用户身份信息(密钥)的数据结构,PKI体系通过采用密码学算法构建了一套完善的流程和保证了只有数字证书的持有人的身份和数据安全。
然而,数字证书本身也是一种数字身份,还是存在被复制的危险,于是,USBKey作为数字证书存储介质称为实现PKI体系安全的保障。
使用USBKey可以保证用户数字证书无法被复制,所有密钥运算由USBKey实现,用户密钥不在计算机内存出现也不在网络中传播。
只有USBKey的持有人才能够对数字证书进行操作。
USBKey结合了智能卡技术和PKI技术,集安全性、方便性和经济性于一身。
以网上银行为例:
USBKey已经成为网上银行使用最广泛的客户端安全产品。
网上银行已经成为影响未来银行业竞争一块新高地。
国内外各银行都越来越注重网上银行业务的建设与发展。
然而,正是由于网上银行的实时性和虚拟性,其安全性成了决定网上银行成败的关键。
面对不断恶化的网络安全环境,针对不断提高的网上银行安全需求,推出的带有液晶显示或语音提示功能的互动USBKey。
此产品是专为针对网上银行设计的可复核交易信息的用户交互型USBkey,采用32位核心的高性能、大容量智能卡芯片,内置液晶显示屏或语音提示芯片。
用户可复核交易信息并需按键确认执行交易。
此产品可以将用户交易帐号和金额通过液晶屏显示或通过内置扬声器读出供用户确认,用户核对无误后,按动USBKey上的按键确认交易才能完成交易过程。
此产品可以杜绝用户计算机完全被黑客
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 冲击 响应 认证