一种基于安全套接层建立通信的方法及系统的制作方法

文档序号:7819781阅读:186来源:国知局
一种基于安全套接层建立通信的方法及系统的制作方法
【专利摘要】本发明公开了一种基于安全套接层建立通信的方法及系统,该方法首先使客户机与负载均衡设备于所述安全套接层中相互握手,然后相互认证,认证后客户机与负载均衡设备建立通信。该发明的有益效果为:通过采用SSL协议为客户端与服务器端提供可靠快速的数据通信,并设计通过设计组合公钥提高SSL运算效率,降低相同强度下的密钥长度,提高网络的灵活性及可用性。
【专利说明】一种基于安全套接层建立通信的方法及系统

【技术领域】
[0001] 本发明涉及数据通信【技术领域】,尤其涉及一种基于安全套接层建立通信的方法及 系统。

【背景技术】
[0002] 随着互联网技术高速发展的今天,随着业务量的提高,随之而来的用户访问量和 数据流量的暴增对服务器的承受并发能力以及突发的流量增长提出了更高的要求。由于单 一服务器设备有限的负载能力根本无法承担越来越大的处理速度和计算强度要求。对于这 个瓶颈问题,单纯靠淘汰现有设备做设备硬件升级,将造成现有资源浪费并且无法满足再 次业务量提升的出现的情况。常用方法是使用多个设备节点组成服务器组,并使用负载均 衡(又称为负载分担)技术,将负载(工作任务)进行平衡、分摊到多个操作单元上执行。 如何在提高服务器组负载能力的同时满足数据通信安全性的要求,针对互联网络环境下新 的安全和风险问题,使用认证技术保证敏感数据的安全保护是亟待解决的问题。
[0003] 组合公钥(CPK,Conbined Public Key),是我国信息安全专家南湘浩教授于1999 年提出的,是我国拥有自主知识产权的认证技术,对于规模化认证及鉴别系统不依赖层次 化的 CA 机构链和在线目录(LDAP, Lightweight Directory Access Protocol),能快捷的 进行实体鉴别和身份认证。CPK认证系统可以高效、快捷的管理和控制密钥和认证行为,更 加适用于我国银行、金融、军事等网络实体。
[0004] 安全套接层(secure socket layer, SSL)协议具有保护传输数据以及识别通信机 器的功能。SSL主要采用公开密钥加密体制和X. 509数字证书技术在Internet基础上提供 服务器认证、SSL链路上的数据完整性和SSL链路上数据的保密性等安全性保证。负载均 衡设备通过采用SSL协议来实现数据的保密性、消息完整性和端点认证。在SSL会话中,常 用证书来验证双方身份、协商加密算法、生成密钥等,而基于RSA的非对称加密算法交换密 钥存在性能上的不足,在本方案中采用了性能更加出色的CPK算法,CPK算法本质上是利用 椭圆曲线加密方法,与RSA方法相比,它的安全性能更高,例如160位椭圆曲线算法与1024 位RSA、DSA有相同的安全强度。并且CPK的计算量小,处理速度快。存储空间占用小,由于 CPK的密钥长度要求和系统参数相比RSA小很多,所以占用的存储空间小得多,带宽的要求 低也使得CPK算法较RSA有更大的优势。
[0005] 由于RSA加密算法进行加密存在以上不足,为此,本发明提出将组合公钥椭圆曲 线加密算法应用于SSL安全握手中,并设计客户端的CPK算法插件。这样,可以大大提高运 算效率,并在相同的安全强度下减少密钥的长度,其运算量较小,复杂度也随之降低。


【发明内容】

[0006] 本发明要解决的技术问题在于,针对上述现有技术中RSA加密算法占用存储空间 大、宽带要求高的问题,提供一种基于安全套接层建立通信的方法及系统。
[0007] 本发明解决其技术问题所采用的技术方案是:一方面,构造一种基于安全套接层 建立通信的方法,包括以下步骤:
[0008] S1、客户机与负载均衡设备于所述安全套接层中相互发送握手请求信息;
[0009] S2、所述客户机与所述负载均衡设备握手之后,所述负载均衡设备将包括公钥及 私钥的数字证书及其证书链发送给所述客户机;
[0010] S3、所述客户机认证所述数字证书及所述证书链,并根据所述负载均衡设备的公 钥认证所述负载均衡设备;
[0011] S4、所述客户机依据所认证的所述数字证书及所述证书链生成包括认证信息的主 密钥,并使用所述负载均衡设备的公钥对所述主密钥进行加密,将加密后的主密钥发送至 所述负载均衡设备;
[0012] S5、所述负载均衡设备使用所述负载均衡设备的私钥恢复所述主密钥中的认证信 息,并向所述客户机发出一提问信息;
[0013] S6、所述客户机对所述提问信息进行数字签名,并返回数字签名后的提问信息以 及客户机的公钥至所述负载均衡设备;
[0014] S7、所述负载均衡设备依据所述数字签名后的提问信息以及所述客户机的公钥认 证所述客户机;
[0015] S8、所述客户机与所述负载均衡设备相互认证成功后建立通信。
[0016] 在本发明所述的方法中,所述步骤Sl包括以下子步骤:
[0017] S11、所述客户机向所述负载均衡设备发出第一握手消息,所述第一握手消息包 括:客户机所支持的安全套接层版本号、随机数、会话ID、密码套件信息、以及压缩算法信 息;
[0018] S12、所述负载均衡设备接收到所述第一握手消息之后,向所述客户机返回第二握 手消息,从而对所述第一握手信息进行确认,所述第二握手信息包括:所述客户机的安全套 接层版本号、会话ID。
[0019] 在本发明所述的方法中,所述步骤S2包括以下子步骤:
[0020] S21、所述负载均衡设备生成包括唯一身份标识信息的安全套接层属性信息;
[0021] S22、所述负载均衡设备依据所述安全套接层属性信息获取第一哈希值;
[0022] S23、所述负载均衡设备依据所述负载均衡设备的私钥对所述第一哈希值进行数 字签名,以获得第一数字签名;
[0023] S24、所述负载均衡设备将所述安全套接层属性信息、所述第一哈希值、所述第一 数字签名、所述数字证书及其证书链发送给所述客户机。
[0024] 在本发明所述的方法中,所述步骤S3包括以下子步骤:
[0025] S31、所述客户机计算所述证书链中颁发者的公钥;
[0026] S32、所述客户机依据所述颁发者的公钥获取第二哈希值;
[0027] S33、验证所述数字证书中颁发者的第二数字签名是否与预设的颁发数字签名相 等,若相等,则执行步骤S34;
[0028] S34、所述客户机计算访问方中的公钥;
[0029] S35、依据所述访问方的公钥获取第三哈希值,并判断所述第一哈希值与所述第三 哈希值是否相等,若相等,则执行步骤S36 ;
[0030] S36、依据所述访问方中的公钥验证所述第一数字签名。
[0031] 在本发明所述的方法中,所述步骤S5包括以下子步骤:
[0032] S51、所述负载均衡设备使用所述负载均衡设备的私钥恢复所述主密钥中的认证 信息,
[0033] S52、所述客户端依据所述握手请求信息向所述负载均衡设备发送第一消息认证 码;
[0034] S53、所述负载均衡设备依据所述握手请求信息向所述客户端发送第二消息认证 码;
[0035] S54、所述客户端接收到所述第二消息认证码之后向所述负载均衡设备发送一完 成息;
[0036] S55、所述负载均衡设备依据所述完成信息向所述客户机发出一提问信息。
[0037] 另一方面,提供一种基于安全套接层建立通信的系统,包括客户机及负载均衡设 备;
[0038] 所述客户机包括客户机握手模块、客户机认证模块、主密钥生成模块、数字签名模 块、以及客户机通信模块;所述负载均衡设备包括设备握手模块、发送模块、恢复模块、设备 认证模块、以及设备通信模块;
[0039] 所述客户机握手模块以及所述设备握手模块用于在所述安全套接层中相互发送 握手请求信息;
[0040] 所述发送模块用于将包括公钥及私钥的数字证书及其证书链发送给所述客户 机;
[0041] 所述客户机认证模块用于认证所述数字证书及所述证书链,并根据所述负载均衡 设备的公钥认证所述负载均衡设备;
[0042] 所述主密钥生成模块用于依据所认证的所述数字证书及所述证书链生成包括认 证信息的主密钥,并使用所述负载均衡设备的公钥对所述主密钥进行加密,将加密后的主 密钥发送至所述负载均衡设备;
[0043] 所述恢复模块用于使用所述负载均衡设备的私钥恢复所述主密钥中的认证信息, 并向所述客户机发出一提问信息;
[0044] 所述数字签名模块用于对所述提问信息进行数字签名,并返回数字签名后的提问 信息以及客户机的公钥至所述负载均衡设备;
[0045] 所述设备认证模块用于依据所述数字签名后的提问信息以及所述客户机的公钥 认证所述客户机;
[0046] 所述客户机通信模块以及所述设备通信模块用于在相互认证成功后建立通信。
[0047] 在本发明所述的系统中,所述客户机握手模块还用于向所述负载均衡设备发出 第一握手消息,所述第一握手消息包括:客户机所支持的安全套接层版本号、随机数、会话 ID、密码套件信息、以及压缩算法信息;
[0048] 所述设备握手模块还用于接收到所述第一握手消息之后,向所述客户机返回第二 握手消息,从而对所述第一握手信息进行确认,所述第二握手信息包括:所述客户机的安全 套接层版本号、会话ID。
[0049] 在本发明所述的系统中,所述发送模块包括属性生成模块、第一获取模块、第一数 字签名模块、以及信息发送模块;
[0050] 所述属性生成模块用于生成包括唯一身份标识信息的安全套接层属性信息;
[0051] 所述第一获取模块用于依据所述安全套接层属性信息获取第一哈希值;
[0052] 所述第一数字签名模块用于依据所述负载均衡设备的私钥对所述第一哈希值进 行数字签名,以获得第一数字签名;
[0053] 所述信息发送模块用于将所述安全套接层属性信息、所述第一哈希值、所述第一 数字签名、所述数字证书及其证书链发送给所述客户机。
[0054] 在本发明所述的系统中,所述客户机认证模块包括颁发者公钥计算模块、第二获 取模块、第一判断模块、访问方计算模块、第三获取模块、第二判断模块、以及验证模块;
[0055] 所述颁发者公钥计算模块用于计算所述证书链中颁发者的公钥;
[0056] 所述第二获取模块用于依据所述颁发者的公钥获取第二哈希值;
[0057] 所述第一判断模块用于判断所述数字证书中颁发者的第二数字签名是否与预设 的颁发数字签名相等;
[0058] 所述访问方计算模块用于计算访问方中的公钥;
[0059] 所述第三获取模块用于依据所述访问方的公钥获取第三哈希值;
[0060] 所述第二判断模块用于判断所述第一哈希值与所述第三哈希值是否相等;
[0061] 所述验证模块用于依据所述访问方中的公钥验证所述第一数字签名。
[0062] 在本发明所述的系统中,所述恢复模块包括恢复子模块、第一消息认证模块、第二 消息认证模块、完成消息生成模块、以及提问消息生成模块;
[0063] 所述恢复子模块用于使用所述负载均衡设备的私钥恢复所述主密钥中的认证信 息;
[0064] 所述第一消息认证模块用于依据所述握手请求信息向所述负载均衡设备发送第 一消息认证码;
[0065] 所述第二消息认证模块用于依据所述握手请求信息向所述客户端发送第二消息 认证码;
[0066] 所述完成消息生成模块用于在接收到所述第二消息认证码之后向所述负载均衡 设备发送一完成信息;
[0067] 所述提问消息生成模块用于依据所述完成信息向所述客户机发出一提问信息。
[0068] 上述公开的一种基于安全套接层建立通信的方法及系统具有以下有益效果:通 过采用SSL协议为客户端与服务器端提供可靠快速的数据通信,并通过设计组合公钥提高 SSL运算效率,降低相同强度下的密钥长度,提高网络的灵活性及可用性。

【专利附图】

【附图说明】
[0069] 图1为本发明一实施例提供的一种基于安全套接层建立通信的方法的流程图;
[0070] 图2为本发明一实施例提供的一种基于安全套接层建立通信的系统的方框图;
[0071] 图3为本发明一实施例提供的一种基于安全套接层建立通信的系统的结构示意 图;
[0072] 图4为CPK插件运算负载均衡设备组合公钥的生成流程图。

【具体实施方式】
[0073] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不 用于限定本发明。
[0074] 本发明提供了一种基于安全套接层建立通信的方法及系统,本发明涉及服务器负 载均衡技术和支持CPK密钥管理体制的SSL安全通信协议,具体为应用支持基于椭圆曲线 离散对数问题构建的CPK算法的SSL加速的服务器负载均衡的设计方法及步骤。通过引入 CPK加密算法的SSL协议为客户端与服务器端提供可靠快速的数据通信,并设计组合公椭 圆曲线钥CPK加密算法SSL加速模块SSLbaseCPK-ProcessUnit、SSL客户端CPK算法插件, 为提高SSL运算效率,降低相同强度下的密钥长度,提高网络的灵活性及可用性。
[0075] 参见图1,图1为本发明一实施例提供的一种基于安全套接层建立通信 的方法的流程图,该方法设计了负载均衡设备2中的CPK加密算法SSL加速模块 SSLbaseCPK-ProcessUnit、以及客户端 CPK算法插件。SSLbaseCPK-ProcessUnit 处理器(艮P SSL-BaseCPK-PU)负责处理支持CPK算法的SSL协议的解封装,在客户端与此处理器之间 为密文传输,将解密后的明文数据递交给负载均衡模块,负载均衡模块使用指定的负载均 衡算法将会话定位到服务器节点,服务器节点收到用户请求后,将明文数据递交给负载均 衡设备2, SSLbaseCPK-ProcessUnit再将明文数据加密后发送给客户端,由于现阶段的浏 览器不支持CPK算法的,应在客户端浏览器中安装支持的算法插件。由于传统的SSL协议 要求使用非对称加密算法协商密钥,使得使用RSA加密算法的SSL服务器的CPU被大部分 的时间都在处理SSL加解密,只有少量约20%的时间处理应用程序。本发明提出使用灵活 性远远高于RSA算法的CPK加密算法,应用到SSL协议的握手协议过程中。在保证用户与 服务器通信交互的安全性的基础上,加速负载均衡SSL的计算。具体的,该方法包括以下步 骤:
[0076] S1、客户机1与负载均衡设备2于所述安全套接层中相互发送握手请求信息;其 中,步骤Sl包括以下子步骤:
[0077] S11、所述客户机1向所述负载均衡设备2发出第一握手消息,所述第一握手消息 包括:客户机1所支持的安全套接层版本号、随机数、会话ID、密码套件信息、以及压缩算法 信息;例如,参见图3,图3是本发明另一实施例提供的一种基于安全套接层建立通信的系 统的结构示意图,图3中,SSL握手的第一阶段启动逻辑连接,建立这个连接的安全能力。首 先客户机1向负载均衡设备2中的SSL-BaseCPK-PU发出Client hello消息,即第一握手 消息并等待PU响应,Client hello消息包括:
[0078] Version :客户端可以支持的SSL最高版本号;
[0079] Random : 32 字节随机数;
[0080] Session id :确定该会话的会话id ;
[0081] Cipher suite :一个客户端可以支持的密码套件列表,Compression method :-个 客户端可以支持的压缩算法列表等信息。
[0082] 其中,常见密码套件列表如下表:
[0083]

【权利要求】
1. 一种基于安全套接层建立通信的方法,其特征在于,包括以下步骤: 51、 客户机与负载均衡设备于所述安全套接层中相互发送握手请求信息; 52、 所述客户机与所述负载均衡设备握手之后,所述负载均衡设备将包括公钥及私钥 的数字证书及其证书链发送给所述客户机; 53、 所述客户机认证所述数字证书及所述证书链,并根据所述负载均衡设备的公钥认 证所述负载均衡设备; 54、 所述客户机依据所认证的所述数字证书及所述证书链生成包括认证信息的主密 钥,并使用所述负载均衡设备的公钥对所述主密钥进行加密,将加密后的主密钥发送至所 述负载均衡设备; 55、 所述负载均衡设备使用所述负载均衡设备的私钥恢复所述主密钥中的认证信息, 并向所述客户机发出一提问信息; 56、 所述客户机对所述提问信息进行数字签名,并返回数字签名后的提问信息以及客 户机的公钥至所述负载均衡设备; 57、 所述负载均衡设备依据所述数字签名后的提问信息以及所述客户机的公钥认证所 述客户机; 58、 所述客户机与所述负载均衡设备相互认证成功后建立通信。
2. 根据权利要求1所述的方法,其特征在于,所述步骤S1包括以下子步骤: 511、 所述客户机向所述负载均衡设备发出第一握手消息,所述第一握手消息包括:客 户机所支持的安全套接层版本号、随机数、会话ID、密码套件信息、以及压缩算法信息; 512、 所述负载均衡设备接收到所述第一握手消息之后,向所述客户机返回第二握手消 息,从而对所述第一握手信息进行确认,所述第二握手信息包括:所述客户机的安全套接层 版本号、会话ID。
3. 根据权利要求2所述的方法,其特征在于,所述步骤S2包括以下子步骤: 521、 所述负载均衡设备生成包括唯一身份标识信息的安全套接层属性信息; 522、 所述负载均衡设备依据所述安全套接层属性信息获取第一哈希值; 523、 所述负载均衡设备依据所述负载均衡设备的私钥对所述第一哈希值进行数字签 名,以获得第一数字签名; 524、 所述负载均衡设备将所述安全套接层属性信息、所述第一哈希值、所述第一数字 签名、所述数字证书及其证书链发送给所述客户机。
4. 根据权利要求3所述的方法,其特征在于,所述步骤S3包括以下子步骤: 531、 所述客户机计算所述证书链中颁发者的公钥; 532、 所述客户机依据所述颁发者的公钥获取第二哈希值; 533、 验证所述数字证书中颁发者的第二数字签名是否与预设的颁发数字签名相等,若 相等,则执行步骤S34; 534、 所述客户机计算访问方中的公钥; 535、 依据所述访问方的公钥获取第三哈希值,并判断所述第一哈希值与所述第三哈希 值是否相等,若相等,则执行步骤S36 ; 536、 依据所述访问方中的公钥验证所述第一数字签名。
5. 根据权利要求4所述的方法,其特征在于,所述步骤S5包括以下子步骤: 551、 所述负载均衡设备使用所述负载均衡设备的私钥恢复所述主密钥中的认证信 息; 552、 所述客户端依据所述握手请求信息向所述负载均衡设备发送第一消息认证码; 553、 所述负载均衡设备依据所述握手请求信息向所述客户端发送第二消息认证码; 554、 所述客户端接收到所述第二消息认证码之后向所述负载均衡设备发送一完成信 息; 555、 所述负载均衡设备依据所述完成信息向所述客户机发出一提问信息。
6. -种基于安全套接层建立通信的系统,其特征在于,包括客户机及负载均衡设备; 所述客户机包括客户机握手模块、客户机认证模块、主密钥生成模块、数字签名模块、 以及客户机通信模块;所述负载均衡设备包括设备握手模块、发送模块、恢复模块、设备认 证模块、以及设备通信模块; 所述客户机握手模块以及所述设备握手模块用于在所述安全套接层中相互发送握手 请求信息; 所述发送模块用于将包括公钥及私钥的数字证书及其证书链发送给所述客户机; 所述客户机认证模块用于认证所述数字证书及所述证书链,并根据所述负载均衡设备 的公钥认证所述负载均衡设备; 所述主密钥生成模块用于依据所认证的所述数字证书及所述证书链生成包括认证信 息的主密钥,并使用所述负载均衡设备的公钥对所述主密钥进行加密,将加密后的主密钥 发送至所述负载均衡设备; 所述恢复模块用于使用所述负载均衡设备的私钥恢复所述主密钥中的认证信息,并向 所述客户机发出一提问信息; 所述数字签名模块用于对所述提问信息进行数字签名,并返回数字签名后的提问信息 以及客户机的公钥至所述负载均衡设备; 所述设备认证模块用于依据所述数字签名后的提问信息以及所述客户机的公钥认证 所述客户机; 所述客户机通信模块以及所述设备通信模块用于在相互认证成功后建立通信。
7. 根据权利要求6所述的系统,其特征在于,所述客户机握手模块还用于向所述负载 均衡设备发出第一握手消息,所述第一握手消息包括:客户机所支持的安全套接层版本号、 随机数、会话ID、密码套件信息、以及压缩算法信息; 所述设备握手模块还用于接收到所述第一握手消息之后,向所述客户机返回第二握手 消息,从而对所述第一握手信息进行确认,所述第二握手信息包括:所述客户机的安全套接 层版本号、会话ID。
8. 根据权利要求7所述的系统,其特征在于,所述发送模块包括属性生成模块、第一获 取模块、第一数字签名模块、以及信息发送模块; 所述属性生成模块用于生成包括唯一身份标识信息的安全套接层属性信息; 所述第一获取模块用于依据所述安全套接层属性信息获取第一哈希值; 所述第一数字签名模块用于依据所述负载均衡设备的私钥对所述第一哈希值进行数 字签名,以获得第一数字签名; 所述信息发送模块用于将所述安全套接层属性信息、所述第一哈希值、所述第一数字 签名、所述数字证书及其证书链发送给所述客户机。
9. 根据权利要求8所述的系统,其特征在于,所述客户机认证模块包括颁发者公钥计 算模块、第二获取模块、第一判断模块、访问方计算模块、第三获取模块、第二判断模块、以 及验证模块; 所述颁发者公钥计算模块用于计算所述证书链中颁发者的公钥; 所述第二获取模块用于依据所述颁发者的公钥获取第二哈希值; 所述第一判断模块用于判断所述数字证书中颁发者的第二数字签名是否与预设的颁 发数字签名相等; 所述访问方计算模块用于计算访问方中的公钥; 所述第三获取模块用于依据所述访问方的公钥获取第三哈希值; 所述第二判断模块用于判断所述第一哈希值与所述第三哈希值是否相等; 所述验证模块用于依据所述访问方中的公钥验证所述第一数字签名。
10. 根据权利要求9所述的系统,其特征在于,所述恢复模块包括恢复子模块、第一消 息认证模块、第二消息认证模块、完成消息生成模块、以及提问消息生成模块; 所述恢复子模块用于使用所述负载均衡设备的私钥恢复所述主密钥中的认证信息; 所述第一消息认证模块用于依据所述握手请求信息向所述负载均衡设备发送第一消 息认证码; 所述第二消息认证模块用于依据所述握手请求信息向所述客户端发送第二消息认证 码; 所述完成消息生成模块用于在接收到所述第二消息认证码之后向所述负载均衡设备 发送一完成信息; 所述提问消息生成模块用于依据所述完成信息向所述客户机发出一提问信息。
【文档编号】H04L29/06GK104378374SQ201410650365
【公开日】2015年2月25日 申请日期:2014年11月14日 优先权日:2014年11月14日
【发明者】庞妍, 罗海滨, 陈开渠 申请人:国家超级计算深圳中心(深圳云计算中心)
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1