CN113709111B - 连接的建立方法及装置 - Google Patents

连接的建立方法及装置 Download PDF

Info

Publication number
CN113709111B
CN113709111B CN202110854809.0A CN202110854809A CN113709111B CN 113709111 B CN113709111 B CN 113709111B CN 202110854809 A CN202110854809 A CN 202110854809A CN 113709111 B CN113709111 B CN 113709111B
Authority
CN
China
Prior art keywords
server
client
socket layer
secure socket
layer protocol
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.)
Active
Application number
CN202110854809.0A
Other languages
English (en)
Other versions
CN113709111A (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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202110854809.0A priority Critical patent/CN113709111B/zh
Publication of CN113709111A publication Critical patent/CN113709111A/zh
Application granted granted Critical
Publication of CN113709111B publication Critical patent/CN113709111B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开涉及一种安全套接层协议连接的建立方法、装置、电子设备及计算机可读介质。该方法可用于服务器,包括:获取来自客户端的ClientHello消息;对所述ClientHello消息进行解析获取解析结果;在所述解析结果中包括预设选项字段时,由所述预设选项字段中提取国密属性数据;基于所述国密属性数据和所述客户端建立安全套接层协议连接。本公开涉及的安全套接层协议连接的建立方法、装置、电子设备及计算机可读介质,能够仅通过一次请求支持基于国密协议和基于标准安全套接层协议的连接的建立,在不改变用户使用习惯的基础上,更快速的响应用户的连接请求。

Description

连接的建立方法及装置
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种安全套接层协议连接的建立方法、装置、电子设备及计算机可读介质。
背景技术
随着商业银行信息化的快速发展,网上银行应用系统快速普及,许多内部系统需要通过https方式访问。国家密码管理局为保障重要经济系统密码应用安全,在2014年颁布了国标GM/T0024-2014,SSLVPN技术规范,该国标定义了一种新的SSL协议(以下简称国密SSL协议)。要求公钥密码基础设施电子认证系统和密钥管理系统应使用国产密码算法。国产密码算法为在我国境内通用的商用密码算法,其包括标准对称算法SM1、基于椭圆曲线ECC的非对称加密算法SM2、数据摘要算法SM3以及分组对称块加密算法SM4等。国密SSL协议定义了新的协议号,新的密码套件,并修改了标准SSL协议中某些消息的格式,使得国密SSL协议与标准商密SSL协议不兼容。
目前通用浏览器、服务器仅支持标准SSL协议,例如SSLv3,TLSv1,TLSv1.1,TLSv1.2等,不支持国密SSL协议。要访问国密服务器,需要专用浏览器,如360安全浏览器,密信浏览器等。专用浏览器一般先用标准SSL去访问SSL服务器,如果支持,访问成功,如果不支持,那么采用国密SSL访问SSL服务器。在现有技术中,由于浏览器不知道该使用国密SSL协议还是标准SSL协议去访问SSL服务器,一般采用重试的方法,先用标准SSL访问服务器,如果访问不通,再用国密SSL访问服务器,两次访问导致SSL握手时间的延长,另外可能导致安全性降低等问题。
因此,需要一种新的安全套接层协议连接的建立方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种安全套接层协议连接的建立方法、装置、电子设备及计算机可读介质,能够仅通过一次请求支持基于国密协议和基于标准安全套接层协议的连接的建立,在不改变用户使用习惯的基础上,更快速的响应用户的连接请求。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种安全套接层协议连接的建立方法,可用于服务器,该方法包括:获取来自客户端的ClientHello消息;对所述ClientHello消息进行解析获取解析结果;在所述解析结果中包括预设选项字段时,由所述预设选项字段中提取国密属性数据;基于所述国密属性数据和所述客户端建立安全套接层协议连接。
在本公开的一种示例性实施例中,还包括:在所述解析结果中不包括预设选项字段时,基于标准流程和所述客户端建立安全套接层协议连接。
在本公开的一种示例性实施例中,对所述ClientHello消息进行解析获取解析结果,包括:基于标准消息协议对所述ClientHello消息进行解析以获取ClientHello消息内容和多个选项字段。
在本公开的一种示例性实施例中,由所述预设选项字段中提取国密属性数据,包括:由所述预设选项字段中提取国密秘钥套件。
在本公开的一种示例性实施例中,基于所述国密属性数据和所述客户端建立安全套接层协议连接,包括:基于所国密属性数据中的国密秘钥套件确定待发送的国密协议版本号、加密算法种类、随机数、服务器证书;基于所述国密协议版本号、所述加密算法种类、所述随机数、所述服务器证书生成ServerHello消息;将所述ServerHello消息发送至所述客户端,以与所述客户端建立安全套接层协议连接。
在本公开的一种示例性实施例中,基于标准流程和所述客户端建立安全套接层协议连接,包括:确定待发送的安全套接层协议的版本号、加密算法种类、随机数、服务器证书;将所述安全套接层协议的版本号、所述加密算法种类、所述随机数、所述服务器证书生成ServerHello消息;将所述ServerHello消息发送至所述客户端,以与所述客户端建立安全套接层协议连接。
根据本公开的一方面,提出一种安全套接层协议连接的建立方法,可用于客户端,该方法包括:为ClientHello消息增加扩展字段;获取国密秘钥套件;将所述密秘钥套件添加至所述扩展字段;将带有扩展字段的ClientHello消息发送至服务器以建立安全套接层协议连接。
在本公开的一种示例性实施例中,包括:获取来自服务器的ServerHello消息;由所述ServerHello消息中提取协议类别、所述加密算法种类、所述随机数、所述服务器证书;基于所述协议类别、所述加密算法种类、所述随机数、所述服务器证书和所述服务器建立安全套接层协议连接。
根据本公开的一方面,提出一种安全套接层协议连接的建立装置,可用于服务器,该装置包括:获取模块,用于获取来自客户端的ClientHello消息;解析模块,用于对所述ClientHello消息进行解析获取解析结果;提取模块,用于在所述解析结果中包括预设选项字段时,由所述预设选项字段中提取国密属性数据;建立模块,用于基于所述国密属性数据和所述客户端建立安全套接层协议连接。
根据本公开的一方面,提出一种安全套接层协议连接的建立装置,可用于客户端,该装置包括:扩展模块,用于为ClientHello消息增加扩展字段;秘钥模块,用于获取国密秘钥套件;添加模块,用于将所述密秘钥套件添加至所述扩展字段;发送模块,用于将带有扩展字段的ClientHello消息发送至服务器以建立安全套接层协议连接。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的安全套接层协议连接的建立方法、装置、电子设备及计算机可读介质,获取来自客户端的ClientHello消息;对所述ClientHello消息进行解析获取解析结果;在所述解析结果中包括预设选项字段时,由所述预设选项字段中提取国密属性数据;基于所述国密属性数据和所述客户端建立安全套接层协议连接的方式,能够仅通过一次请求支持基于国密协议和基于标准安全套接层协议的连接的建立,在不改变用户使用习惯的基础上,更快速的响应用户的连接请求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种安全套接层协议连接的建立方法及装置的系统框图。
图2是根据一示例性实施例示出的一种安全套接层协议连接的建立方法的流程图。
图3是根据另一示例性实施例示出的一种安全套接层协议连接的建立方法的流程图。
图4是根据另一示例性实施例示出的一种安全套接层协议连接的建立方法的流程图。
图5是根据一示例性实施例示出的一种安全套接层协议连接的建立装置的框图。
图6是根据另一示例性实施例示出的一种安全套接层协议连接的建立装置的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
图8是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
本公开涉及的专业术语解释如下:
SSL:(SecureSocketsLayer安全套接层),及其继任者传输层安全(TransportLayerSecurity,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
HTTPS:HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。
国密SSL:中华人民共和国密码行业标准2014年颁布了国标GM/T0024-2014,该国标定义了一种新的SSL协议,称为国密SSL协议。
图1是根据一示例性实施例示出的一种安全套接层协议连接的建立方法及装置的系统框图。
如图1所示,系统架构10可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网络银行类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的银行类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备,在服务器105处理终端设备101、102、103的请求前,需要先与其建立安全套接层协议连接。
服务器105可例如获取来自客户端的ClientHello消息;服务器105可例如对所述ClientHello消息进行解析获取解析结果;服务器105可例如在所述解析结果中包括预设选项字段时,由所述预设选项字段中提取国密属性数据;服务器105可例如基于所述国密属性数据和所述客户端建立安全套接层协议连接。
终端设备101、102、103可例如为ClientHello消息增加扩展字段;终端设备101、102、103可例如获取国密秘钥套件;终端设备101、102、103可例如将所述密秘钥套件添加至所述扩展字段;终端设备101、102、103可例如将带有扩展字段的ClientHello消息发送至服务器以建立安全套接层协议连接。
服务器105可以是一个实体的服务器,还可例如为多个服务器组成,需要说明的是,本公开实施例所提供的安全套接层协议连接的建立方法可以由服务器105和终端设备101、102、103执行,相应地,安全套接层协议连接的建立装置可以设置于服务器105和终端设备101、102、103中。
图2是根据一示例性实施例示出的一种安全套接层协议连接的建立方法的流程图。安全套接层协议连接的建立方法20可用于服务器,具体可为SSL服务器,至少包括步骤S202至S208。
如图2所示,在S202中,获取来自客户端的ClientHello消息。
在S204中,对所述ClientHello消息进行解析获取解析结果。可例如,基于标准消息协议对所述ClientHello消息进行解析以获取ClientHello消息内容和多个选项字段。
在S206中,在所述解析结果中包括预设选项字段时,基于国密属性数据和所述客户端建立安全套接层协议连接。
更具体的,在一个实施例中,可由所述预设选项字段中提取国密属性数据。由所述预设选项字段中提取国密秘钥套件。
国密秘钥套件可包含一个秘钥交换算法,一个加密算法,和一个校验算法。更具体的,实际应用中在国密的SSL通信中主要使用的还是ECC_SM4_SM3
在一个实施例中,可例如,基于所国密属性数据中的国密秘钥套件确定待发送的国密协议版本号、加密算法种类、随机数、服务器证书;基于所述国密协议版本号、所述加密算法种类、所述随机数、所述服务器证书生成ServerHello消息;将所述ServerHello消息发送至所述客户端,以与所述客户端建立安全套接层协议连接。
在S208中,在所述解析结果中不包括预设选项字段时,基于标准流程和所述客户端建立安全套接层协议连接。可例如,确定待发送的安全套接层协议的版本号、加密算法种类、随机数、服务器证书;将所述安全套接层协议的版本号、所述加密算法种类、所述随机数、所述服务器证书生成ServerHello消息;将所述ServerHello消息发送至所述客户端,以与所述客户端建立安全套接层协议连接。
根据本公开的安全套接层协议连接的建立方法,获取来自客户端的ClientHello消息;对所述ClientHello消息进行解析获取解析结果;在所述解析结果中包括预设选项字段时,由所述预设选项字段中提取国密属性数据;基于所述国密属性数据和所述客户端建立安全套接层协议连接的方式,能够仅通过一次请求支持基于国密协议和基于标准安全套接层协议的连接的建立,在不改变用户使用习惯的基础上,更快速的响应用户的连接请求。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据另一示例性实施例示出的一种安全套接层协议连接的建立方法的流程图。安全套接层协议连接的建立方法30可用于客户端,具体可为SSL服务端,至少包括步骤S302至S308。
如图3所示,在S302中,为ClientHello消息增加扩展字段。可通过ClientHello的预设定义增加扩展字段。
在S304中,获取国密秘钥套件。
在S306中,将所述国密秘钥套件添加至所述扩展字段。可将国密秘钥套件相关的协议信息添加至扩展字段。
在S308中,将带有扩展字段的ClientHello消息发送至服务器。
在S310中,由所述ServerHello消息中提取协议类别、所述加密算法种类、所述随机数、所述服务器证书以建立安全套接层协议连接。
在一个实施例中,客户端后续还可进行如下步骤:客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行。
用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥(服务器的公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务器。
如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器。
如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的CA是否可靠,发行CA的公钥能否正确解开客户证书的发行CA的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码)。
服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于SSL协议的安全数据通讯的加解密通讯。同时在SSL通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化。
客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知服务器客户端的握手过程结束。
服务器向客户端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知客户端服务器端的握手过程结束。
SSL的握手部分结束,SSL安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。
图4是根据另一示例性实施例示出的一种安全套接层协议连接的建立方法的流程图。
如图4所示,在S401中,客户端发送ClientHello消息。客户端的浏览器向服务器传送客户端SSL协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。在ClientHello消息中增加支持国密SSL选项字段,有此扩展选项表示客户端支持国密SSL,同时ClientHello消息将支持的国密秘钥套件一起发送到服务器。
在S402中,解析ClientHello消息,根据解析结果生成ServerHello消息。SSL服务端解析到该扩展字段时,如果服务端支持国密算法,则优先选择国密SSL,采用国密SSL协议开始握手协商;否则忽略此选项,使用原来的协议继续握手协商,从而减少了SSL握手协商。
在S403中,服务器向客户端传送SSL协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。
在S404中,校验信息的合法性。客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行S404。
在S405中,在合法性通过后,生成对称密码发送至服务器。用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥对其加密,然后将加密后的“预主密码”传给服务器。
在一个实施例中,如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器。
在S406中,服务器接对客户端进行身份认证。如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的CA是否可靠,发行CA的公钥能否正确解开客户证书的发行CA的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码)。
在S407中,认证通过后确认对称秘钥。服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于SSL协议的安全数据通讯的加解密通讯。同时在SSL通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化。
在S408中,客户端向服务请发送信息,指明对称密码。客户端向服务器端发出信息,指明后面的数据通讯将使用主密码为对称密钥,同时通知服务器客户端的握手过程结束。
在S409中,客户端向服务请发送信息,指明对称密码。服务器向客户端发出信息,指明后面的数据通讯将使用主密码为对称密钥,同时通知客户端服务器端的握手过程结束。
在S410中,基于对称密码进行通信。SSL的握手部分结束,SSL安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。
根据本公开的安全套接层协议连接的建立方法,浏览器客户端访问服务器进行SSL握手时,ClientHello消息携带国密SSL扩展选项及国密加密套件。服务器解析SSLClientHello消息扩展选项,查看是否支持国密SSL扩展选项,如果支持那么优先选择国密套件进行SSL握手。如果不支持,那么SSL服务器选择忽略此选项,采用标准SSL进行握手。通过这种方式,SSL器客户端(一般为浏览器)端通过一次请求同时支持国密和标准SSL协议,更快的响应用户,减少了SSL握手时间,提升了用户体验。还能够支持SSL服务器端向下兼容,不影响标准SSL,而支持国密SSL后,不改变用户的使用习惯。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图5是根据一示例性实施例示出的一种安全套接层协议连接的建立装置的框图。如图5所示,安全套接层协议连接的建立装置50可用于服务器,包括:获取模块502,解析模块504,提取模块506,建立模块508。
获取模块502用于获取来自客户端的ClientHello消息;
解析模块504用于对所述ClientHello消息进行解析获取解析结果;
提取模块506用于在所述解析结果中包括预设选项字段时,由所述预设选项字段中提取国密属性数据;
建立模块508用于基于所述国密属性数据和所述客户端建立安全套接层协议连接。
图6是根据另一示例性实施例示出的一种安全套接层协议连接的建立装置的框图。如图6所示,安全套接层协议连接的建立装置60可用于客户端,包括:扩展模块602,秘钥模块604,添加模块606,发送模块608。
扩展模块602用于为ClientHello消息增加扩展字段;
秘钥模块604用于获取国密秘钥套件;
添加模块606用于将所述密秘钥套件添加至所述扩展字段;
发送模块608用于将带有扩展字段的ClientHello消息发送至服务器以建立安全套接层协议连接。
根据本公开的安全套接层协议连接的建立装置,获取来自客户端的ClientHello消息;对所述ClientHello消息进行解析获取解析结果;在所述解析结果中包括预设选项字段时,由所述预设选项字段中提取国密属性数据;基于所述国密属性数据和所述客户端建立安全套接层协议连接的方式,能够仅通过一次请求支持基于国密协议和基于标准安全套接层协议的连接的建立,在不改变用户使用习惯的基础上,更快速的响应用户的连接请求。
图7是根据一示例性实施例示出的一种电子设备的框图。
下面参照图7来描述根据本公开的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元710可以执行如图2,图3,图4中所示的步骤。
所述存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
所述存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备700’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备700交互的设备通信,和/或该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器760可以通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图8所示,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取来自客户端的ClientHello消息;对所述ClientHello消息进行解析获取解析结果;在所述解析结果中包括预设选项字段时,由所述预设选项字段中提取国密属性数据;基于所述国密属性数据和所述客户端建立安全套接层协议连接。该计算机可读介质还可实现如下功能:为ClientHello消息增加扩展字段;获取国密秘钥套件;将所述密秘钥套件添加至所述扩展字段;将带有扩展字段的ClientHello消息发送至服务器以建立安全套接层协议连接。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (7)

1.一种安全套接层协议连接的建立方法,可用于服务器,其特征在于,包括:
获取来自客户端的ClientHello消息;
对所述ClientHello消息进行解析获取解析结果,包括基于标准消息协议对所述ClientHello消息进行解析以获取ClientHello消息内容和多个选项字段;
在所述解析结果中包括预设选项字段时,由所述预设选项字段中提取国密属性数据;
基于所述国密属性数据和所述客户端建立安全套接层协议连接;
在所述解析结果中不包括预设选项字段时,基于标准流程和所述客户端建立安全套接层协议连接。
2.如权利要求1所述的方法,其特征在于,由所述预设选项字段中提取国密属性数据,包括:
由所述预设选项字段中提取国密秘钥套件。
3.如权利要求1所述的方法,其特征在于,基于所述国密属性数据和所述客户端建立安全套接层协议连接,包括:
基于所述国密属性数据中的国密秘钥套件确定待发送的国密协议版本号、加密算法种类、随机数、服务器证书;
基于所述国密协议版本号、所述加密算法种类、所述随机数、所述服务器证书生成ServerHello消息;
将所述ServerHello消息发送至所述客户端,以与所述客户端建立安全套接层协议连接。
4.如权利要求1所述的方法,其特征在于,基于标准流程和所述客户端建立安全套接层协议连接,包括:
确定待发送的安全套接层协议的版本号、加密算法种类、随机数、服务器证书;
将所述安全套接层协议的版本号、所述加密算法种类、所述随机数、所述服务器证书生成ServerHello消息;
将所述ServerHello消息发送至所述客户端,以与所述客户端建立安全套接层协议连接。
5.一种安全套接层协议连接的建立方法,可用于客户端,其特征在于,包括:
为ClientHello消息增加扩展字段;
获取国密秘钥套件;
将所述国密秘钥套件添加至所述扩展字段;
将带有扩展字段的ClientHello消息发送至服务器,以便服务器基于标准消息协议对所述ClientHello消息进行解析以获取ClientHello消息内容和多个选项字段,并在所述解析结果中包括预设选项字段时,由所述预设选项字段中提取国密属性数据,从而获取来自服务器的ServerHello消息;
由所述ServerHello消息中提取协议类别、所述加密算法种类、所述随机数、所述服务器证书;
基于所述协议类别、所述加密算法种类、所述随机数、所述服务器证书和所述服务器以建立安全套接层协议连接。
6.一种安全套接层协议连接的建立装置,可用于服务器,其特征在于,包括:
获取模块,用于获取来自客户端的ClientHello消息;
解析模块,用于对所述ClientHello消息进行解析获取解析结果,包括基于标准消息协议对所述ClientHello消息进行解析以获取ClientHello消息内容和多个选项字段;
提取模块,用于在所述解析结果中包括预设选项字段时,由所述预设选项字段中提取国密属性数据;
建立模块,用于基于所述国密属性数据和所述客户端建立安全套接层协议连接,以及在所述解析结果中不包括预设选项字段时,基于标准流程和所述客户端建立安全套接层协议连接。
7.一种安全套接层协议连接的建立装置,可用于客户端,其特征在于,包括:
扩展模块,用于为ClientHello消息增加扩展字段;
秘钥模块,用于获取国密秘钥套件;
添加模块,用于将所述密秘钥套件添加至所述扩展字段;
发送模块,用于将带有扩展字段的ClientHello消息发送至服务器,以便服务器基于标准消息协议对所述ClientHello消息进行解析以获取ClientHello消息内容和多个选项字段,并在所述解析结果中包括预设选项字段时,由所述预设选项字段中提取国密属性数据,从而获取来自服务器的ServerHello消息,由所述ServerHello消息中提取协议类别、所述加密算法种类、所述随机数、所述服务器证书,基于所述协议类别、所述加密算法种类、所述随机数、所述服务器证书和所述服务器以建立安全套接层协议连接。
CN202110854809.0A 2021-07-28 2021-07-28 连接的建立方法及装置 Active CN113709111B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110854809.0A CN113709111B (zh) 2021-07-28 2021-07-28 连接的建立方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110854809.0A CN113709111B (zh) 2021-07-28 2021-07-28 连接的建立方法及装置

Publications (2)

Publication Number Publication Date
CN113709111A CN113709111A (zh) 2021-11-26
CN113709111B true CN113709111B (zh) 2023-08-25

Family

ID=78650627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110854809.0A Active CN113709111B (zh) 2021-07-28 2021-07-28 连接的建立方法及装置

Country Status (1)

Country Link
CN (1) CN113709111B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114679260B (zh) * 2021-12-20 2024-02-09 北京亿赛通科技发展有限责任公司 旁路审计兼容扩展主秘钥的加密数据方法、系统及终端
CN114338844B (zh) * 2021-12-31 2024-04-05 北京升明科技有限公司 一种客户端服务器之间的跨协议通信方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7584505B2 (en) * 2001-10-16 2009-09-01 Microsoft Corporation Inspected secure communication protocol
CN108650227B (zh) * 2018-03-30 2021-03-30 苏州科达科技股份有限公司 基于数据报安全传输协议的握手方法及系统
CN112714053B (zh) * 2020-12-25 2022-09-16 北京天融信网络安全技术有限公司 通信连接方法及装置
CN113037480A (zh) * 2021-03-25 2021-06-25 北京华宇信息技术有限公司 基于jsse的国密加密通信方法及其装置、存储介质

Also Published As

Publication number Publication date
CN113709111A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
CN109088889B (zh) 一种ssl加解密方法、系统及计算机可读存储介质
CN108512846B (zh) 一种终端与服务器之间的双向认证方法和装置
WO2016107318A1 (zh) 一种安全通信系统
WO2016107320A1 (zh) 网站安全信息的加载方法和浏览器装置
WO2016107319A1 (zh) 加载安全密钥存储硬件的方法和浏览器客户端装置
WO2016107322A1 (zh) 安全浏览器的实现方法和安全浏览器装置
WO2016107321A1 (zh) 安全通信系统
CN113132388B (zh) 一种数据安全交互方法及系统
CN113709111B (zh) 连接的建立方法及装置
CN108322416B (zh) 一种安全认证实现方法、装置及系统
CN111199037B (zh) 登录方法、系统和装置
CN113179323B (zh) 用于负载均衡设备的https请求处理方法、装置及系统
CN113328980B (zh) Tls认证方法、装置、系统、电子设备及可读介质
CN110149354A (zh) 一种基于https协议的加密认证方法和装置
CN111200593A (zh) 应用登录方法、装置和电子设备
CN111698264A (zh) 用于保持用户认证会话的方法和装置
CN111049789B (zh) 域名访问的方法和装置
CN109657170B (zh) 网页加载方法、装置、计算机设备及存储介质
US11240210B2 (en) Methods, apparatuses, and systems for acquiring local information
CN114124513B (zh) 身份认证方法、系统、装置、电子设备和可读介质
CN115987634A (zh) 获取明文数据、密钥获取方法、装置、电子设备及介质
CN110557353B (zh) 一种终端数据验证方法、装置、介质及电子设备
CN110166226B (zh) 一种生成秘钥的方法和装置
CN104901974A (zh) 安全超文本传输方法
CN114598549B (zh) 客户ssl证书验证方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant