CN102546572A - 一种ssl服务端动态选择证书的实现方法 - Google Patents

一种ssl服务端动态选择证书的实现方法 Download PDF

Info

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
Application number
CN2010106190054A
Other languages
English (en)
Other versions
CN102546572B (zh
Inventor
掌晓愚
韩洪慧
张义民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Geer software Limited by Share Ltd
Original Assignee
GEER SOFTWARE CO Ltd SHANGHAI
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GEER SOFTWARE CO Ltd SHANGHAI filed Critical GEER SOFTWARE CO Ltd SHANGHAI
Priority to CN201010619005.4A priority Critical patent/CN102546572B/zh
Publication of CN102546572A publication Critical patent/CN102546572A/zh
Application granted granted Critical
Publication of CN102546572B publication Critical patent/CN102546572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明的目的在于公开一种SSL服务端动态选择证书的实现方法,通过在客户端发起请求时SSL协议的ClientHello包中声明自身支持的算法,实现SSL服务端握手的动态选择证书,从而支持对不同客户端的兼容和两种算法的平滑过渡,实现本发明的目的。

Description

一种SSL服务端动态选择证书的实现方法
技术领域
本发明涉及一种动态选择证书的实现方法,特别涉及一种自动选择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证书的自适应,可以让一个服务端同时兼容不同算法的客户端,为不同证书体系的平滑过渡提供了基础。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内,本发明要求保护范围由所附的权利要求书及其等效物界定                                                
Figure 631039DEST_PATH_IMAGE001
Figure 548179DEST_PATH_IMAGE001
Figure 390233DEST_PATH_IMAGE001
Figure 785443DEST_PATH_IMAGE002

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握手过程。
CN201010619005.4A 2010-12-31 2010-12-31 一种ssl服务端动态选择证书的实现方法 Active CN102546572B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 成都市华为赛门铁克科技有限公司 加密套件选择方法、装置和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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