CN102546572A - 一种ssl服务端动态选择证书的实现方法 - Google Patents
一种ssl服务端动态选择证书的实现方法 Download PDFInfo
- Publication number
- CN102546572A CN102546572A CN2010106190054A CN201010619005A CN102546572A CN 102546572 A CN102546572 A CN 102546572A CN 2010106190054 A CN2010106190054 A CN 2010106190054A CN 201010619005 A CN201010619005 A CN 201010619005A CN 102546572 A CN102546572 A CN 102546572A
- Authority
- CN
- China
- Prior art keywords
- ssl
- certificate
- algorithm
- service end
- ecc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明的目的在于公开一种SSL服务端动态选择证书的实现方法,通过在客户端发起请求时SSL协议的ClientHello包中声明自身支持的算法,实现SSL服务端握手的动态选择证书,从而支持对不同客户端的兼容和两种算法的平滑过渡,实现本发明的目的。
Description
技术领域
本发明涉及一种动态选择证书的实现方法,特别涉及一种自动选择RSA和ECC证书的SSL服务端动态选择证书的实现方法。
背景技术
SSL协议在网络中得到广泛的应用,常见的SSL服务端实现使用RSA签名的站点证书作为服务端证书,用于协议握手过程中的身份验证和密钥交换。
随着ECC(椭圆曲线)算法的发展,目前也出现了使用ECC证书的SSL服务端实现,比如较新版本的Apache HTTP Server。但由于目前使用ECC证书的SSL服务端相对使用RSA证书的SSL服务端较少,只有Firefox等新兴浏览器有一定的支持,IE等传统浏览器仍然只支持RSA算法,因此在SSL服务端仍然无法推广使用ECC证书,否则会造成与IE浏览器等旧版本SSL客户端的不兼容。
现有的SSL协议相关规范(包括RFC相关规范和国家相关的密码规范)只对SSL握手过程中的算法协商有一定规定,却没有对证书的选择进行规范化和建议。
综上所述,针对现有技术的缺陷,特别需要一种SSL服务端动态选择证书的实现方法,以解决以上提到的问题。
发明内容
本发明的目的在于提供一种SSL服务端动态选择证书的实现方法,解决上述现有技术的缺陷,实现SSL服务端握手的动态选择证书,从而支持对不同客户端的兼容和两种算法的平滑过渡。
本发明所解决的技术问题可以采用以下技术方案来实现:
一种SSL服务端动态选择证书的实现方法,其特征在于,它包括如下步骤:
1)在SSL服务端预先配置两套站点证书,一套为ECC证书,另一套为RSA证书;
2)客户端发起请求时,在SSL协议的ClientHello包中声明自身支持的算法;
3)SSL服务端检查收到的ClientHello包,分析其支持的算法,如果支持ECC算法则选用ECC相关的证书进行后续的SSL握手;如果不支持ECC算法则仍选用RSA相关的证书进行后续的SSL握手;
4)客户端和SSL服务端完成SSL握手的后续步骤。
本发明的一个实施例中,客户端根据服务端选择的算法组合使用对应的算法进行密钥交换,并发送自身的相关的证书。
本发明的一个实施例中,客户端根据之前选择的算法组合使用对应的算法进行密钥交换和身份验证,并完成SSL握手过程。
本发明的SSL服务端动态选择证书的实现方法,通过在客户端发起请求时SSL协议的ClientHello包中声明自身支持的算法,实现SSL服务端握手的动态选择证书,从而支持对不同客户端的兼容和两种算法的平滑过渡,实现本发明的目的。
本发明的特点可参阅本案图式及以下较好实施方式的详细说明而获得清楚地了解。
附图说明
图1为支持ECC算法的客户端和SSL服务端握手的流程示意图。
图2为不支持ECC算法的客户端与SSL服务端握手的流程示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
如图1、图2所示,本发明的SSL服务端动态选择证书的实现方法,它包括如下步骤:
1)在SSL服务端预先配置两套站点证书,一套为ECC证书,另一套为RSA证书;
2)客户端发起请求时,在SSL协议的ClientHello包中声明自身支持的算法;
struct {
ProtocolVersion client_version;
Random random;
SessionID session_id;
CipherSuite cipher_suites<2..2^16-2>;
CompressionMethod compression_methods<1..2^8-1>;
select (extensions_present) {
case false:
struct {};
case true:
Extension extensions<0..2^16-1>;
};
} ClientHello;
3)SSL服务端检查收到的ClientHello包,分析其支持的算法,如果支持ECC算法则选用ECC相关的证书进行后续的SSL握手;如果不支持ECC算法则仍选用RSA相关的证书进行后续的SSL握手;
如果客户端支持ECC算法,则选择RFC 4492规范中指定的ECC相关算法组合,否则使用RFC 5246规范中在hiding的RSA相关算法组合。
服务端检查收到的ClientHello包,分析其支持的算法,如果支持ECC则在返回的ServerHello中的CipherSuite字段中指定后续握手使用的算法组合。
struct {
ProtocolVersion server_version;
Random random;
SessionID session_id;
CipherSuite cipher_suite;
CompressionMethod compression_method;
select (extensions_present) {
case false:
struct {};
case true:
Extension extensions<0..2^16-1>;
};
} ServerHello;
算法集合的定义参照RFC 4492和RFC 5246相关规范。
4)客户端和SSL服务端完成SSL握手的后续步骤。
如果前一步骤选择了ECC算法,则服务端在ServerCertificate包中向客户端发送自身的ECC证书,否则向客户端发送自身的RSA证书。
客户端根据服务端选择的算法组合使用对应的算法进行密钥交换,并发送自身的相关的证书。
客户端根据之前选择的算法组合使用对应的算法进行密钥交换和身份验证,并完成SSL握手过程。
本发明的优点在于整个过程中的客户端只需要遵循SSL协议相关国际规范,不需要做任何修改和定制,现有的所有商业浏览器和SSL客户端实现均支持。而服务端则在原有SSL协议处理流程的基础上设计了动态选择证书的实现,从而实现了对RSA和ECC证书的自适应,可以让一个服务端同时兼容不同算法的客户端,为不同证书体系的平滑过渡提供了基础。
Claims (3)
1.一种SSL服务端动态选择证书的实现方法,其特征在于,它包括如下步骤:
1)在SSL服务端预先配置两套站点证书,一套为ECC证书,另一套为RSA证书;
2)客户端发起请求时,在SSL协议的ClientHello包中声明自身支持的算法;
3)SSL服务端检查收到的ClientHello包,分析其支持的算法,如果支持ECC算法则选用ECC相关的证书进行后续的SSL握手;如果不支持ECC算法则仍选用RSA相关的证书进行后续的SSL握手;
4)客户端和SSL服务端完成SSL握手的后续步骤。
2.如权利要求1所述的SSL服务端动态选择证书的实现方法,其特征在于,客户端根据服务端选择的算法组合使用对应的算法进行密钥交换,并发送自身的相关的证书。
3.如权利要求1所述的SSL服务端动态选择证书的实现方法,其特征在于,客户端根据之前选择的算法组合使用对应的算法进行密钥交换和身份验证,并完成SSL握手过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010619005.4A CN102546572B (zh) | 2010-12-31 | 2010-12-31 | 一种ssl服务端动态选择证书的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010619005.4A CN102546572B (zh) | 2010-12-31 | 2010-12-31 | 一种ssl服务端动态选择证书的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102546572A true CN102546572A (zh) | 2012-07-04 |
CN102546572B CN102546572B (zh) | 2015-08-12 |
Family
ID=46352541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010619005.4A Active CN102546572B (zh) | 2010-12-31 | 2010-12-31 | 一种ssl服务端动态选择证书的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102546572B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294986A (zh) * | 2017-06-30 | 2017-10-24 | 北京海泰方圆科技股份有限公司 | 一种访问https网站的方法、装置及系统 |
CN109257349A (zh) * | 2018-09-14 | 2019-01-22 | 北京天融信网络安全技术有限公司 | 一种单ssl服务支持多协议的方法及装置 |
US10305871B2 (en) * | 2015-12-09 | 2019-05-28 | Cloudflare, Inc. | Dynamically serving digital certificates based on secure session properties |
CN109905239A (zh) * | 2019-03-07 | 2019-06-18 | 亚数信息科技(上海)有限公司 | 一种证书管理方法及装置 |
CN111800402A (zh) * | 2020-06-28 | 2020-10-20 | 格尔软件股份有限公司 | 一种利用事件证书实现全链路加密代理的方法 |
CN112134889A (zh) * | 2020-09-23 | 2020-12-25 | 北京天融信网络安全技术有限公司 | 一种基于ssl的通信方法、装置及系统 |
CN112714184A (zh) * | 2020-12-29 | 2021-04-27 | 杭州迪普科技股份有限公司 | 握手过程处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1533970A1 (en) * | 2003-11-24 | 2005-05-25 | Akamai Technologies, Inc. | Method and system for secure content delivery |
CN101567880A (zh) * | 2008-04-21 | 2009-10-28 | 成都市华为赛门铁克科技有限公司 | 加密套件选择方法、装置和系统 |
-
2010
- 2010-12-31 CN CN201010619005.4A patent/CN102546572B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1533970A1 (en) * | 2003-11-24 | 2005-05-25 | Akamai Technologies, Inc. | Method and system for secure content delivery |
CN101567880A (zh) * | 2008-04-21 | 2009-10-28 | 成都市华为赛门铁克科技有限公司 | 加密套件选择方法、装置和系统 |
Non-Patent Citations (2)
Title |
---|
H. EBERLE,ET AL: ""A Public-key Cryptographic Processor for RSA and ECC"", 《15TH IEEE INTERNATIONAL CONFERENCE ON APPLICATION-SPECIFIC SYSTEMS, ARCHITECTURES AND PROCESSORS》 * |
陆洁茹,朱艳琴: ""SSL中ECC数字证书的设计与实现"", 《计算机应用与软件》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10305871B2 (en) * | 2015-12-09 | 2019-05-28 | Cloudflare, Inc. | Dynamically serving digital certificates based on secure session properties |
US10893031B2 (en) | 2015-12-09 | 2021-01-12 | Cloudflare, Inc. | Dynamically serving digital certificates based on secure session properties |
CN107294986A (zh) * | 2017-06-30 | 2017-10-24 | 北京海泰方圆科技股份有限公司 | 一种访问https网站的方法、装置及系统 |
CN107294986B (zh) * | 2017-06-30 | 2018-05-08 | 北京海泰方圆科技股份有限公司 | 一种访问https网站的方法、装置及系统 |
CN109257349A (zh) * | 2018-09-14 | 2019-01-22 | 北京天融信网络安全技术有限公司 | 一种单ssl服务支持多协议的方法及装置 |
CN109905239A (zh) * | 2019-03-07 | 2019-06-18 | 亚数信息科技(上海)有限公司 | 一种证书管理方法及装置 |
CN111800402A (zh) * | 2020-06-28 | 2020-10-20 | 格尔软件股份有限公司 | 一种利用事件证书实现全链路加密代理的方法 |
CN111800402B (zh) * | 2020-06-28 | 2022-08-09 | 格尔软件股份有限公司 | 一种利用事件证书实现全链路加密代理的方法 |
CN112134889A (zh) * | 2020-09-23 | 2020-12-25 | 北京天融信网络安全技术有限公司 | 一种基于ssl的通信方法、装置及系统 |
CN112714184A (zh) * | 2020-12-29 | 2021-04-27 | 杭州迪普科技股份有限公司 | 握手过程处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102546572B (zh) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546572B (zh) | 一种ssl服务端动态选择证书的实现方法 | |
US11502854B2 (en) | Transparently scalable virtual hardware security module | |
US10893031B2 (en) | Dynamically serving digital certificates based on secure session properties | |
CN103188074B (zh) | 一种增强浏览器ssl算法强度的代理方法 | |
CN104980419B (zh) | 一种代理通信方法及装置 | |
US9401895B2 (en) | Device configuration for secure communication | |
US11777914B1 (en) | Virtual cryptographic module with load balancer and cryptographic module fleet | |
US9124629B1 (en) | Using secure connections to identify systems | |
US8533453B2 (en) | Method and system for configuring a server and dynamically loading SSL information | |
WO2015085851A1 (zh) | Pos终端的安全入网初始化方法及其系统 | |
CN102291437A (zh) | 跨平台互联网应用的实现系统及方法 | |
CN104767742A (zh) | 一种安全通信方法、网关、网络侧服务器及系统 | |
WO2015043455A1 (zh) | 数据传输方法、设备及系统 | |
US10367891B2 (en) | System and method for improving efficiency of SSL/TLS connections | |
US9712621B1 (en) | Information sharing endpoint | |
CN110381043B (zh) | 基于ssl的服务器健康检测方法、装置、电子设备 | |
CN109257349A (zh) | 一种单ssl服务支持多协议的方法及装置 | |
WO2014008864A1 (en) | Method, apparatus, and system for sharing software among terminals | |
WO2012151825A1 (zh) | Ios上接入点切换方法及装置 | |
WO2019237576A1 (zh) | 校验虚拟机通信性能的方法及装置 | |
EP3242444A1 (en) | Service processing method and device | |
CN104954315B (zh) | 提升安全套接层访问安全性的方法及装置 | |
CN110858834B (zh) | 用户信息传输方法、装置、系统和计算机可读存储介质 | |
CN104468293A (zh) | Vpn接入方法 | |
CN104901919A (zh) | 一种适应于不同终端接入的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 200436 Room 601, Lane 299, Lane 299, JIANGCHANG West Road, Jingan District, Shanghai Patentee after: Geer software Limited by Share Ltd Address before: 200070 50 Mau Ling Road, Zhabei District, Shanghai Patentee before: Geer Software Co., Ltd., Shanghai |