[发明专利]基于身份密码系统的TLS握手协议有效
申请号: | 201610512342.0 | 申请日: | 2016-07-01 |
公开(公告)号: | CN106060070B | 公开(公告)日: | 2019-05-10 |
发明(设计)人: | 王小峰;薛天;谢岢洋;李龙平;邢倩倩;钟求喜;王飞;张博锋;刘宇靖 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京中济纬天专利代理有限公司 11429 | 代理人: | 陈立新 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于身份密码系统的TLS握手协议,具体涉及可信安全网络的基础通信领域,通过定义新的密码套件,来解决传统PKI系统下,TLS握手过程中因证书查找、传递、验证等造成的延迟高、计算量大等问题,在保证安全性的同时,提高握手协议性能。该握手协议包括以下步骤:1、基于身份密码系统的建立和密钥分发;2、握手协商安全参数;本发明的优点在于:(1)不需发送和验证证书,节省网络流量和内存;(2)认证和密钥协商同时完成,减少消息数量,在保证高安全性的同时降低了网络延迟;(3)通过新增可选密码套件,新增扩展选项,与TLS完美兼容。 | ||
搜索关键词: | 基于 身份 密码 系统 tls 握手 协议 | ||
【主权项】:
1.一种基于身份密码系统的TLS握手协议方法,其特征在于,所述方法包括以下步骤:(1)基于身份密码系统的建立和密钥分发,包括PKG选择某条特定的椭圆曲线,并由其上的点构成q阶加法循环群G1,其中q为一大素数,生成元为P;随机选择
作为PKG的主密钥,计算Ppub=sP;再根据群G1选择双线性映射e,使得e:G1×G1→G2,G2为q阶乘法群;最后选择相关哈希函数H1:{0,1}*→G1,H2:G2×G1×G2→{0,1}n,n为密钥长度;完成初始化后,公布系统的公共参数列表<q,G1,G2,e,n,P,Ppub,H1,H2>;PKG生成给定身份ID的公私密钥对,设客户端身份为A,则其公钥和私钥分别为QA=H1(A)和SA=sQA;服务端身份为B,则其公钥和私钥分别为QB=H1(B)和SB=sQB,客户端和服务端之间私钥通过安全信道进行传送;(2)握手协商安全参数;(2.1)客户端发送ClientHello消息,发起会话连接;ClientHello消息,结构定义如下:![]()
其中:client_version为客户端的协议版本;random存放客户端产生的随机信息,其内容包括产生的时钟和随机数;session_id为会话标识,其值由服务端产生;如果没有可重用的会话标识或希望协商安全参数,相应字段应为空,否则表示客户端希望重用该会话;会话标识生成后应一直保持到被超时删除或与这个会话相关的连接遇到致命错误被关闭;cipher_suites为客户端所支持的密码套件列表,按优先级顺序排列,供服务端选择;每个密码套件包括一个密钥交换算法、一个加密算法和密钥长度、以及一个校验算法;使用该基于身份密码系统的TLS握手协议提出的握手协议时,需新增密码套件;compression_methods为客户端所支持的压缩算法列表,按优先级顺序排列,供服务端选择;extensions存放扩展选项,各个扩展以扩展块的形式并列出现;新增IBC_identity扩展用于存储用户自身的身份信息,新增的密码套件和新增的扩展同时使用;(2.2)服务端发送SeverHello消息,完成安全参数的协商;SeverHello消息,结构定义如下:
其中:server_version为服务端的协议版本;random存放服务端产生的随机信息;session_id为服务端使用的会话标识,如果ClientHello消息中的会话标识不为空,且服务端存在匹配的会话标识,则服务端重用与该会话标识对应的会话建立新连接,并在回应的SeverHello消息中带上与客户端一致的会话标识,否则服务端产生一个新的会话标识,用来建立一个新的会话;cipher_suite为服务端从ClientHello消息中选取的一个密码套件,握手过程中为选择的TLS_IBAKA_WITH_AES_CBC_SHA套件;会话重用时,本字段存放重用会话使用的密码套件;其中,所述TLS_IBAKA_WITH_AES_CBC_SHA套件表示采用IBAKA(Identity‑Based Authentication Key Agreement)算法进行密钥交换和认证,同时采用所述TLS握手协议进行握手,加密模式为CBC(Cipher Block Chaining),对称加密算法为AES(Advanced Encryption Standard),完整性校验算法为SHA(Secure Hash Algorithm);compression_method为服务端从ClientHello消息中选取的一个压缩算法,会话重用时,本字段存放重用会话使用的压缩算法;extensions包含IBC_identity选项并存放服务端身份信息;(2.3)服务端发送SeverKeyExchange消息,包含服务端产生的密钥交换信息;KeyExchange消息的最后一位为标志位,前面存放密钥交换信息的横坐标值,当纵坐标为正时,标志位为1,当纵坐标为负时,标志位为0;服务端随机选择y∈Z*,计算Y=yP,将Y的横坐标放入SeverKeyExchange并设置标记位;对方在收到消息后凭借横坐标和标志位确定纵坐标从而得到完整的密钥交换信息;(2.4)服务端发送SeverHelloDone消息,表明握手过程的hello消息阶段完成;(2.5)客户端收到SeverHelloDone消息后,发送ClientKeyExchange消息,包含客户端产生的密钥交换信息;客户端随机选择x∈Z*,计算X=xP,将X的横坐标放入ClientKeyExchange并设置标记位;发送完ClientKeyExchange消息后,客户端通过H2(e(QB,xPpub),xY,e(SA,Y))计算预主密钥,通过预主密钥和Hello消息中的随机数计算主密钥,通过主密钥和Hello消息中的随机数计算得到会话密钥KA;(2.6)客户端发送ChangeCipherSpec消息通知密码规格的改变,接下来的数据将使用新协商的安全参数来保护;(2.7)客户端使用新协商的算法和密钥,加密并发送Finished消息,用于验证密钥交换过程是否成功,并校验握手过程的完整性;(2.8)服务端收到ClientKeyExchange消息并且收到ChangeCipherSpec消息后,通过H2(e(SB,X),yX,e(QA,yPpub))计算预主密钥,通过预主密钥和Hello消息中的随机数计算主密钥,通过主密钥和Hello消息中的随机数计算得到会话密钥KB;其中,双方计算得到的密钥相等且具有认证性;收到Finished消息后,用KA进行解密并验证校验数据,验证通过后发送ChangeCipherSpec消息通知客户端接下来的数据将使用新协商的安全参数来保护;(2.9)服务端使用新协商的算法和密钥KA,加密并发送Finished消息;客户端收到Finished消息后,用KA进行解密并验证校验数据,验证通过后,二者正式建立连接。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610512342.0/,转载请声明来源钻瓜专利网。