- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SSL客户端认证和基于数字签名动态口令认证技术
SSL客户端认证和基于数字签名动态口令认证技术
敖 山
现代的身份认证技术正向智能化、密码化、多因素、大容量和快速响应方向发展。制约我国信息系统安全性提高的因素很多,缺乏高性能、低价位、适合中国国情的综合身份认证系统是一个重要因素。目前在身份认证方面较有特色的是以生物识别技术为基础的指纹识别仪,视网膜识别仪和面像识别仪以及基于公开密钥体制的CA身份认证技术、动态认证令牌等。其中由于动态口令身份认证技术相对投资少,使用方便可靠而逐渐成为身份认证技术的主流。
在动态口令身份认证的形式中,除了一般意义上基于数字签名的动态身份认证外,著名的保障通信数据安全的SSL协议同样也为我们提供了动态的客户身份验证机制
SSL (secure SocKet Layer)客户端认证
一、SSL协议及其密钥导出分析
SSL协议在结构上分为两个层次。底层为记录层协议(recorder protocol),实现对数据的加密,封装各种高层协议,高层由四个并行的协议构成:握手协议(handshake protocol)、密码格式变换协议(change cipher protocol)、报警协议(alertprotocol)、应用数据协议(application dataprotocol)。SSL协议基本流程如下:
2、客户端将它所支持的算法列表和一个用来产生密钥的随机数发送给服务器。
3、服务器选中的加密算法、另一个随机数、服务器证书。
4、客户端对服务器证书验证,并产生称为Pre_master_secret的随机密码串,使用服务器公钥对其加密后,发回服务器。
5、通过密钥导出函数(KDF),客户端和服务器根据Pre_master_secret、client_random、Server_random,最终导出加密和MAC密钥组。
6、客户端将所有握手消息的MAc值发到服务器,完成握手过程。
7、服务器将所有握手消息的MAc值发到客户端,完成握手过程。
8、双方利用第四步所导出的密钥进行秘密通讯,交换数据。
9、发出close_notify警告消息来关闭SSL通讯连接,这样可以防止攻击者在其下的传输层上伪造TCP_FIN来进行截断攻击。
在交换了Pre_master_secret之后,由于每一种与SSL相关的实现都要将其扩展成其所专用的密钥,这时就需要使用一个密钥导出函数来实现这种扩展,而???个密钥导出函数(KDF)使用的是伪随机函数(PRF),其中的关键就是将Pre_master_secret扩展成master_secret,这是通过将KDF作用于Pre_master_secret、Client_random、Server_random来实现的:
Master_secret=PRF(Pre_master_secretMaster_secret,Client_random+Server_random)
然后,使用Master_secret为参数的PRF来生成各种加密和MAC算法所需要的密钥组:
Key_block=PRF(Master_sec ret,“keyexpansion”Server_random+Client_random)
二、SSL客户端认证的基本思想
通过以上分析,可知SSL既可以实现数据的加密通讯,又可以在PKl的基础上使用数字签名技术来实现对客户端和服务器端的身份认证。SSL中数字签名可以使用RSA和DSA,一般情况下DSA的签名速度会快一些,但验证时比RSA慢很多。
SSL连接通常情况下仅对服务器端进行认证,但如果服务器要限制某些授权用户才能使用的服务时,它也可以提供对客户端进行认证的机制。基本思想就是让客户端用其私钥对一些内容签名来实现的。通过供服务器发送一条CertificateRequest消息来进行初始化,客户端回应Certificate和Ce rtificateVerify。其中CertificateVerify包含了客户端用其私钥对握手消息的签名,服务器端用Certificate中的公钥证书进行验证。
如果客户端没有合适的证书,会发送一条不包含证书的Certificate消息,服务器端可以设置为让应用层来进行身份认证,或者发送一条警告消息handshake_failure,结束此次连接。
SSL客户端认证与动态口令身份认证
一、动态口令身份认证
动态口令身份认证是动态身份认证的一种,是现在研究较多并且技术相对比较成熟的认证方式,动态口令身份认证涉及的相关技术有Hash、数字签名等,其最基本的原理就是对由一个动态因子所产生
文档评论(0)