一种安全通道建立方法及其数据保护方法和安全通道秘钥更新方法

文档序号:8365478阅读:408来源:国知局
一种安全通道建立方法及其数据保护方法和安全通道秘钥更新方法
【技术领域】
[0001]本发明涉及一种安全通道建立方法及其数据保护方法和安全通道秘钥更新方法,特别是涉及一种适用于移动通信的安全通道建立方法及其数据保护方法和安全通道秘钥更新方法。
【背景技术】
[0002]现在非常普遍的一种安全通信通道建立与数据保护方法是使用安全传输层协议(TLS),用于在两个通信终端之间基于数字证书的特性,提供保密性和数据完整性。TLS协议(RFC2246 RFC4346)处于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。
[0003]TLS握手协议(TLS Handshake Protocol ),建立在TLS记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等初始化协商功能。
[0004]TLS握手协议分为单向认证与双向认证。如果要保障通讯双方的数据以及业务安全,需要使用双向认证的方式,就是双方都会互相认证,也就是两者之间将会交换证书。以下仅介绍双向认证流程,基本的过程为客户端向服务器发送连接申请,在服务器端将服务器端的证书、经服务端私钥签名后的协商数据、数字签名以及协商的结果一起发送给客户端。客户端则使用服务端证书中的公钥对协商数据的签名验证成功后,将客户端证书以及使用客户端私钥签名后的密钥协商数据与数字签名回复给服务器端。而服务器端则会用客户端证书中的公钥来验证数字签名的合法性。
[0005]TLS记录协议(TLS Record Protocol),被用来封装几种高层协议(如HTTP,SMTP等)。使用有TLS握手协议产生的安全参数,它首先将上层被传输的数据分片成便于管理的士夬,然后对数据计算出消息认证码MAC (如MD5或SHA),加密(如AES、DES、3DES等),最后将结果送出。接收到的数据经过解密,校验,重组后被传输到上层客户端。
[0006]数字证书(以X.509数据证书为例,以下简称证书)基本字段:版本号,标识证书的版本;序列号,标识证书的唯一整数,由证书颁发者分配的本证书的唯一标识符;颁发者,证书颁发者的可识别名(DN);有效期,证书有效期的时间段,本字段由“Not Before”和“NotAfter”两项组成,它们分别由UTC时间或一般的时间表示(在RFC2459中有详细的时间表示规则);主题,证书拥有者的可识别名,这个字段必须是非空的,除非你在证书扩展中有别名;主题公钥信息,主体的公钥(以及算法标识符);签名算法,用于签名证书的算法标识,由对象标识符加上相关的参数组成,用于说明本证书所用的数字签名算法。例如,SHA-1和RSA的对象标识符就用来说明该数字签名是利用RSA对SHA-1摘要签名;签名,使用签名算法字段所标识的算法以及颁发者的私钥对证书内容摘要后的数据进行签名后的数据。
[0007]存在的缺陷:
1、TLS协议及基于该协议建立通信的基本流程适合带宽较大,且对通信建立时间要求不高的通信网络,对带宽受限的网络通信,如果完全采用该协议建立安全通信通道则存在开销大,建立通信的时间长,适用性差的特点。
[0008]2、TLS协议需要在建立在相对比较稳定的网络环境下,且需要使用TCP协议的长连接方式来维持链接,如果TCP链接一旦中断,需要重新执行TLS协议中的握手协议。对于移动通信的分组域网络,由于移动终端会经常切换至不同的基站,导致链接中断。并且一般移动终端电量有限,如果使用TCP协议中的长连接方式与服务端通信,会导致移动终端用电量急剧增加,影响用户使用体验。
[0009]因此基于移动通信网分组域通信,如果要在客户端和服务端之间建立安全通信通道,则在保证安全性与用户使用体验的基础上,对TLS协议进行改造,缩短安全通信通道建立时间、减少移动终端通信数据开销,以适合具体网络通信情况。

【发明内容】

[0010]本发明要解决的技术问题是提供一种安全通信通道建立更快速,开销更小的在基于移动通信网分组域网络的安全通信通道建立方法及其数据保护方法和安全通道秘钥更新方法。
[0011]本发明采用的技术方案如下:一种安全通道建立方法及其数据保护方法和安全通道秘钥更新方法。
[0012]一种安全通道建立方法,具体方法步骤为:
步骤一、在客户端向服务端发送连接申请时,客户端首先查询是否已缓存与服务端的会话连接信息,是则使用会话连接信息中缓存的摘要算法对会话密钥进行摘要计算,将会话号与摘要结果写入连接申请包的会话ID与会话密钥摘要字段中;再查询是否已缓存服务端证书,是则将服务端的证书序列号写入连接申请包的服务端证书序列号字段中,再将客户端证书的序列号写入客户端证书序列号字段中;填写非对称加密和数字签名算法组合列表,并向服务端发送连接申请;
步骤二、服务端接收到客户端发送的连接申请数据包后,根据会话号查询是否缓存有对应的会话连接信息,是则使用会话连接信息中缓存的摘要算法对会话密钥进行摘要计算,将计算结果与客户端发送的会话密钥的摘要数据进行比对;如果对比结果一致,则将会话密钥与对称算法作为安全通信通道中数据保护的密钥与算法,并进入下一步;
步骤三、服务端向终端发送协商结束命令,终端收到服务端发送的协商结束命令后,整个握手流程结束。
[0013]作为优选,所述步骤二中,如果对比结果不一致,则执行下述步骤流程:
A、服务端读取客户端发送的服务端证书的序列号,如果与本端使用的证书序列号一致,则不发送服务端的证书至客户端,并执行下一步流程;
B、服务端读取客户端发送的客户端证书的序列号,根据该序列号查询是否已缓存客户端证书;是则不需要客户端向服务端发送客户端的证书,并执行下述工作流程:
a、服务端读取客户端发送的算法组合列表,选择一组加密强度最高的算法组合作为以下流程中使用的加密算法组合,发送至客户端,并执行下一步流程;
b、服务端生成一组临时的非对称密钥对,使用服务端的私钥以及所述步骤a中所选择的算法组合中的非对称算法对临时公钥进行数字签名,将签名结果与临时公钥组包,向终端发送密钥交互数据包;
C、向客户端发送连接申请结束数据包;
d、客户端收到服务端发送的连接申请响应数据包,缓存密钥协商算法组合与会话号;客户端如果收到服务端发送的服务端证书数据包,对服务端证书进行合法性验证,验证成功,则使用证书中的序列号作为标识,缓存服务端的数字证书;验证失败,则退出本流程,断开连接;客户端如果收到服务端发送的申请客户端证书的申请数据包,则将本端的证书组包成证书数据包,向服务端发送;客户端收到服务端发送的密钥协商数据包,则使用缓存的服务端证书中的公钥与所述缓存的密钥协商算法组合中的非对称算法,对服务端的临时公钥签名信息进行验证,如果不成功则退出流程,并断开链接;如果成功则执行下一步;
e、客户端随机生成一个会话密钥,作为安全通道中数据保护的密钥,使用算法组合中的对称算法作为保护算法;使用会话号作为标识,将会话密钥、对称算法与摘要算法进行缓存;使用非对称算法对会话密钥进行加密,并使用非对称算法对加密后的会话密钥进行数字签;将加密后的会话密钥以及数字签名组包,向服务端发送密钥协商数据包;
f、向服务端发送协商结束命令;
g、服务端如果收到客户端证书数据包,对客户端证书进行合法性验证,如果验证成功,使用证书中的序列号作为标识,缓存服务端的数字证书;如果验证失败,则退出本流程,断开连接;
h、服务端收到客户端发送的密钥协商数据包后,使用客户端证书中的公钥以及步骤二中所选择的算法组合中的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1