一种在SSL/TLS通信中加载数字证书的方法和装置制造方法及图纸

技术编号:14894035 阅读:85 留言:0更新日期:2017-03-29 04:36
本申请实施例提供了一种在SSL/TLS通信中加载数字证书的方法和装置,该方法包括:接收客户端基于安全套接层协议SSL或传输层安全协议TLS发送的握手请求消息;根据所述握手请求消息验证客户端支持的密钥交换方式和第一签名方式;判断所述密钥交换方式和所述第一签名方式是否与当前加载的数字证书匹配;若否,则加载其他与所述密钥交换方式和所述第一签名方式匹配的数字证书;根据匹配数字证书成功的所述密钥交换方式和所述第一签名方式,向客户端返回握手响应消息。本申请实施例实现了在握手协商过程中动态加载合适的数字证书,以保证成功完成SSL/TLS的握手协商。

【技术实现步骤摘要】

本申请涉及通信的
,特别是涉及一种在SSL/TLS通信中加载数字证书的方法和一种在SSL/TLS通信中加载数字证书的装置。
技术介绍
基于电子商务和网上银行等新兴应用,极大地方便了人们的日常生活,受到人们的青睐。由于这些应用都需要在网络上进行在线交易,它们对网络通信的安全性提出了更高的要求。因此,HTTPS(HyperTextTransferProtocoloverSecureSocketLayer,超文本传输安全协议)已经被越来越多的网站所使用。HTTPS是以安全为目标的HTTP(Hypertexttransferprotocol,超文本传送协议)通道,即HTTP下加入SSL(SecureSocketsLayer,安全套接层协议)或其后续版本TLS(TransportLayerSecurity,安全传输层协议),SSL/TLS利用数据加密、身份验证和消息完整性验证机制,为网络上数据的传输提供安全性保证。。SSL/TLS所应用的密码算法,如摘要的哈希算法、证书的签名算法、数据的加密算法等也随之不断的更新,而目前各种客户端(包括各种版本的浏览器,各种应用等)所能支持的加密方式也参差不齐。在诸如电子商务平台这样访问量巨大的网站中,经常面临各种版本的客户端访问。目前对于支持SSL/TLS的服务器基本是在启动时加载数字证书,对于指定的域名只能使用一个数字证书,数字证书一旦加载只能用证书里规定的摘要算法和签名算法来进行SSL/TLS握手协商。如果某些旧版本的客户端无法支持证书里的较新的算法,则协商失败,从而导致客户端无法通过HTTPS访问网站,网站兼容性差,导致通信的安全性低。
技术实现思路
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种在SSL/TLS通信中加载数字证书的方法和相应的一种在SSL/TLS通信中加载数字证书的装置。为了解决上述问题,本申请实施例公开了一种在SSL/TLS通信中加载数字证书的方法,包括:接收客户端基于安全套接层协议SSL或传输层安全协议TLS发送的握手请求消息;根据所述握手请求消息验证客户端支持的密钥交换方式和第一签名方式;判断所述密钥交换方式和所述第一签名方式是否与当前加载的数字证书匹配;若否,则加载其他与所述密钥交换方式和所述第一签名方式匹配的数字证书;根据匹配数字证书成功的所述密钥交换方式和所述第一签名方式,向客户端返回握手响应消息。可选地,所述根据所述握手请求消息验证客户端支持的密钥交换方式和第一签名方式的步骤包括:从所述握手请求消息中查找密码套件;从所述密码套件中识别客户端支持的密钥交换方式和第一签名方式;可选地,所述根据所述握手请求消息验证客户端支持的密钥交换方式和第一签名方式的步骤还包括:从所述握手请求中查找传输层安全协议TLS的扩展头;从所述扩展头中识别客户端支持的第一签名方式。可选地,所验证的第一签名方式为客户端的加密强度最高的第一签名方式。可选地,所述数字证书按照公钥的类型划分分组,在每个分组中加载其中一个数字证书,当前加载的数字证书为所属分组中加密强度最高的数字证书。可选地,所述判断所述密钥交换方式和所述签名方式是否与当前加载的数字证书匹配的步骤包括:查找与所述密钥交换方式匹配的公钥;识别在所述公钥所属的分组中当前加载的数字证书的第二签名方式;判断所述第一签名方式是否与所述第二签名方式匹配;若是,则判定所述密钥交换方式和所述签名方式与当前加载的数字证书匹配;若否,则判定所述密钥交换方式和所述签名方式与当前加载的数字证书不匹配。可选地,所述加载其他与所述密钥交换方式和所述第一签名方式匹配的数字证书的步骤包括:识别在所述公钥所属的分组中其他数字证书的第三签名方式;判断所述第三签名方式是否与所述第一签名方式匹配;若是,则加载所述第三签名方式所属的数字证书,以替换在所述公钥所属的分组中当前加载的数字证书。本申请实施例还公开了一种在SSL/TLS通信中加载数字证书的装置,包括:握手请求消息接收模块,用于接收客户端基于安全套接层协议SSL或传输层安全协议TLS发送的握手请求消息;客户端信息验证模块,用于根据所述握手请求消息验证客户端支持的密钥交换方式和第一签名方式;数字证书匹配模块,用于判断所述密钥交换方式和所述第一签名方式是否与当前加载的数字证书匹配;若否,则调用数字证书加载模块;数字证书加载模块,加载其他与所述密钥交换方式和所述第一签名方式匹配的数字证书;握手响应消息返回模块,用于根据匹配数字证书成功的所述密钥交换方式和所述第一签名方式,向客户端返回握手响应消息。可选地,所述客户端信息验证模块包括:密码套件查找子模块,用于从所述握手请求消息中查找密码套件;密码套件识别子模块,用于从所述密码套件中识别客户端支持的密钥交换方式和第一签名方式;可选地,所述客户端信息验证模块还包括:扩展头查找子模块,用于从所述握手请求中查找传输层安全协议TLS的扩展头;扩展头识别子模块,用于从所述扩展头中识别客户端支持的第一签名方式。可选地,所验证的第一签名方式为客户端的加密强度最高的第一签名方式。可选地,所述数字证书按照公钥的类型划分分组,在每个分组中加载其中一个数字证书,当前加载的数字证书为所属分组中加密强度最高的数字证书。可选地,所述数字证书匹配模块包括:公钥查找子模块,用于查找与所述密钥交换方式匹配的公钥;当前签名方式识别子模块,用于识别在所述公钥所属的分组中当前加载的数字证书的第二签名方式;第一签名方式匹配子模块,用于判断所述第一签名方式是否与所述第二签名方式匹配;若是,则调用第一判定子模块,若否,则调用第二判定子模块;第一判定子模块,用于判定所述密钥交换方式和所述签名方式与当前加载的数字证书匹配;第二判定子模块,用于判定所述密钥交换方式和所述签名方式与当前加载的数字证书不匹配。可选地,所述数字证书加载模块包括:其他签名方式识别子模块,用于识别在所述公钥所属的分组中其他数字证书的第三签名方式;第二签名方式匹配子模块,用于判断所述第三签名方式是否与所述第一签名方式匹配;若是,则调用数字证书替换子模块;数字证书替换子模块,用于加载所述第三签名方式所属的数字证书,以替换在所述公钥所属的分组中当前加载的数字证书。本申请实施例包括以下优点:本申请实施例数字证书与客户端支持的密钥交换方式和第一签名方式的匹配,实现了在握手协商过程中动态加载合适的数字证书,以保证成功完成SSL/TLS的握手协商,提高了网站的兼容性差,保证了客户端通过HTTPS等安全协议访问网站,提高了通信的安全性。本申请实施例针对同一域名可以配置多种不同类型的数字证书,提高了数字证书的动态加载效率。附图说明图1是本申请的一种在SSL/TLS通信中加载数字证书的方法实施例的步骤流程图;图2是本申请实施例的一种网络模型架构图;图3是本申请实施例的一种SSL的握手的信令图;图4是本申请的一种在SSL/TLS通信中加载数字证书的装置实施例的结构框图。具体实施方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。SSL/TLS是安全网络传输协议,主要是本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/201510587689.html" title="一种在SSL/TLS通信中加载数字证书的方法和装置原文来自X技术">在SSL/TLS通信中加载数字证书的方法和装置</a>

【技术保护点】
一种在SSL/TLS通信中加载数字证书的方法,其特征在于,包括:接收客户端基于安全套接层协议SSL或传输层安全协议TLS发送的握手请求消息;根据所述握手请求消息验证客户端支持的密钥交换方式和第一签名方式;判断所述密钥交换方式和所述第一签名方式是否与当前加载的数字证书匹配;若否,则加载其他与所述密钥交换方式和所述第一签名方式匹配的数字证书;根据匹配数字证书成功的所述密钥交换方式和所述第一签名方式,向客户端返回握手响应消息。

【技术特征摘要】
1.一种在SSL/TLS通信中加载数字证书的方法,其特征在于,包括:接收客户端基于安全套接层协议SSL或传输层安全协议TLS发送的握手请求消息;根据所述握手请求消息验证客户端支持的密钥交换方式和第一签名方式;判断所述密钥交换方式和所述第一签名方式是否与当前加载的数字证书匹配;若否,则加载其他与所述密钥交换方式和所述第一签名方式匹配的数字证书;根据匹配数字证书成功的所述密钥交换方式和所述第一签名方式,向客户端返回握手响应消息。2.根据权利要求1所述的方法,其特征在于,所述根据所述握手请求消息验证客户端支持的密钥交换方式和第一签名方式的步骤包括:从所述握手请求消息中查找密码套件;从所述密码套件中识别客户端支持的密钥交换方式和第一签名方式;3.根据权利要求2所述的方法,其特征在于,所述根据所述握手请求消息验证客户端支持的密钥交换方式和第一签名方式的步骤还包括:从所述握手请求中查找传输层安全协议TLS的扩展头;从所述扩展头中识别客户端支持的第一签名方式。4.根据权利要求1或2或3所述的方法,其特征在于,所验证的第一签名方式为客户端的加密强度最高的第一签名方式。5.根据权利要求1或2或3所述的方法,其特征在于,所述数字证书按照公钥的类型划分分组,在每个分组中加载其中一个数字证书,当前加载的数字证书为所属分组中加密强度最高的数字证书。6.根据权利要求5所述的方法,其特征在于,所述判断所述密钥交换方式和所述签名方式是否与当前加载的数字证书匹配的步骤包括:查找与所述密钥交换方式匹配的公钥;识别在所述公钥所属的分组中当前加载的数字证书的第二签名方式;判断所述第一签名方式是否与所述第二签名方式匹配;若是,则判定所述密钥交换方式和所述签名方式与当前加载的数字证书匹配;若否,则判定所述密钥交换方式和所述签名方式与当前加载的数字证书不匹配。7.根据权利要求6所述的方法,其特征在于,所述加载其他与所述密钥交换方式和所述第一签名方式匹配的数字证书的步骤包括:识别在所述公钥所属的分组中其他数字证书的第三签名方式;判断所述第三签名方式是否与所述第一签名方式匹配;若是,则加载所述第三签名方式所属的数字证书,以替换在所述公钥所属的分组中当前加载的数字证书。8.一种在SSL/TLS通信中加载数字证书的装置,其特征在于,包括:握手请求消息接收模块,用于接收客户...

【专利技术属性】
技术研发人员:齐铁鹏杨洋刘立朋李振宇蒋锷周辉
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1