【技术实现步骤摘要】
基于随机数隐式协商的TLS协议会话密钥还原方法
本专利技术属于计算机网络安全
,涉及一种安全传输协议会话密钥还原方法,具体涉及一种基于随机数隐式协商的传输层安全(TransportLayerSecurity,TLS)协议会话密钥还原方法。
技术介绍
计算机时代,终端面临的最大安全威胁是各类计算机病毒,防毒卡、杀毒软件等能够提供有效的安全防护。而网络时代,终端所面临的安全威胁剧增起来:包括木马、间谍软件、劫持攻击、钓鱼邮件、钓鱼网络等等。此时除了在终端上安装安全软件外,还需要在网络边界架设防火墙、入侵检测系统IDS/IPS、内容审核、数据审计等更多的基于网络的安全防御方法。不同于基于主机的各种安全软件,基于网络的安全设施并不能对主机环境进行深度扫描监测,但是,这些设施却构成了一个更全面、更通用的安全体系。基于网络流量的安全检查,不特别针对某一主机,而是针对网络内的所有主机,因此其检查的范围更广,能搜集的决策信息也更多,更有利于探查、评估网络威胁。同时,它不依赖主机环境,使用上更通用、普遍,特别是对于资源有限、缺乏“自我保护”的IoT设备,其效用更加明显。另外,这种安全机制,也是对主机安全软件的一种补充增强,一些安全检查设备能够帮助抵御内部人员安装未授权软件,并在一个受感染的主机禁用安全软件时提供反馈。基于网络的安全设施中,一个重要组成部分是TLS中间件。TLS中间件能被用于监视、拦截或者转发企业环境和移动网络中的HTTPS流量。比如,防火墙和IDS依赖于网络流量的检查以实现基于边界的安全策略。根据安全功能需求的不同,这些中间件可以被部署为流量监控设备或 ...
【技术保护点】
1.基于随机数隐式协商的TLS协议会话密钥还原方法,其特征在于,包括以下步骤:第一步,中间件生成公私钥对(skm,pkm),skm为中间件的私钥,pkm为中间件的公钥,
【技术特征摘要】
1.基于随机数隐式协商的TLS协议会话密钥还原方法,其特征在于,包括以下步骤:第一步,中间件生成公私钥对(skm,pkm),skm为中间件的私钥,pkm为中间件的公钥,其中g为椭圆曲线x25519的生成元;中间件将私钥skm秘密保存,将公钥pkm发送给客户端;第二步,客户端收到公钥pkm后,保存到本地;客户端和服务器进行握手,使用中间件公钥pkm构造握手报文ClientHello,并将握手报文发送给服务器;第三步,中间件监听到握手报文ClientHello后,保存到本地,并将握手报文ClientHello转发到服务器;第四步,服务器收到握手报文ClientHello,向客户端发送ServerHello报文、EncryptedExtensions报文、Certificate报文、CertificateVerify报文、serverFinished报文,其中,ServerHello报文为服务器握手报文,EncryptedExtensions报文为服务器加密扩展报文,Certificate报文为证书报文,CertificateVerify报文为证书判定报文,serverFinished报文为服务器握手结束报文;第五步,中间件监听到ServerHello报文,根据报文key_share扩展中选择的椭圆曲线计算客户端的握手临时私钥并计算Diffie-Hellman密钥交换结果其中epks为服务器所选择的临时握手公钥,HKDF函数定义参见RFC8446;然后,中间件计算握手报文加密密钥;第六步,中间件收到EncryptedExtensions、Certificate、CertificateVerify、serverFinished报文后,对报文进行解密,并通过计算,还原会话密钥,得到主密钥master_secret,同时转发收到的EncryptedExtensions、Certificate、CertificateVerify、serverFinished报文给客户端;第七步,客户端收到服务器报文后,向中间件发送客户端证书报文Certificate、证书判定报文CertificateVerify,以及客户端握手结束报文clientFinished;第八步,中间件收到客户端发送的Certificate、CertificateVerify和clientFinished报文后,将报文转发给服务器,并利用函数Derive-Secret(master_secret,“resmaster”,ClientHello...clientFinished)生成会话复用主密钥resumption_master_secret,其中master_secret为第六步生成的主密钥,ClientHello...clientFinished为从客户端握手报文到客户端握手结束报文之间所有的报文内容,其中,Derive-Secret函数的定义参见RFC8446;第九步,客户端和服务器握手完成,中间件解密TLS流量,执行中间件功能。2.如权利要求1所述的基于随机数隐式协商的TLS协议会话密钥还原方法,其特征在于,所述第二步具体包括以下步骤:2.1)客户端发起TLS连接,选择随机数r,计算gr,客户端将gr填充到握手报文ClientHello的随机数字段;2.2)对于客户端支持ECDHE密钥交换的每条椭圆曲线,客户端计算握手临时密钥其中,HKDF函数定义参见RFC8446,name为椭圆曲线的名称,len为客户端握手临时密钥长度;客户端将eskc对应的公钥填充到握手报文ClientHello的密钥交换扩展key_share中;2.3)客户端将构造好的握手报文ClientHello发送给服务器。3.如权利要求1所述的基于随机数隐式协商的TLS协议会话密钥还原方法,其特征在于,所述第五步中间件计算握手报文加密密钥,具体包括下述步骤,其中,HKDF-Extract、HKDF-Expand-Label和Derive-Secret等函数的定义参见RFC8446:5.1)利用HKDF-Extract(0,psk)生成初期密钥early_secret,其中psk为服务器和客户端之间的预共享密钥,early_secret为生成的初期密钥,用于生成后续其他密钥;5.2)利用Derive-Secret(early_secret,“derived”,“”)生成第一临时密钥temp_secret_1,其中early_secret为步骤5.1中生成的初期密钥,temp_secret_1为第一临时密钥,用于生成后续其他密钥;5.3)利用HKDF-Extract(temp_secret_1,Z)生成握手密钥handshake_secret,其中temp_secret_1为步骤5.2中生成的第一临时密钥,Z为服务器和客户端之间Diffie-Hellman密钥协商结果;5.4)利用Derive-Secret(handshake_secret,“chstraffic”,ClientHello...ServerHello)生成客户端握手流量密钥client_handshake_traffic_secret,其中handshake_secret为步骤5.3中生成的握手密钥,ClientHello...ServerHello为从客户端ClientHello报文到服务器ServerHello报文之间的所有报文内容;5.5)利用Derive-Secret(handshake_secret,“shstraffic”,ClientHello...ServerHello)生成服务器握手流量密钥server_handshake_traffic_secret,其中handshake_secret为步骤5.3中生成的握手密钥,ClientHello...ServerHello...
【专利技术属性】
技术研发人员:陈荣茂,李杰,苏金树,陈曙晖,王小峰,张博锋,孙一品,王飞,刘宇靖,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。