CN112714053B - 通信连接方法及装置 - Google Patents
通信连接方法及装置 Download PDFInfo
- Publication number
- CN112714053B CN112714053B CN202011559536.9A CN202011559536A CN112714053B CN 112714053 B CN112714053 B CN 112714053B CN 202011559536 A CN202011559536 A CN 202011559536A CN 112714053 B CN112714053 B CN 112714053B
- Authority
- CN
- China
- Prior art keywords
- ssl
- protocol
- client
- handshake request
- international
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Abstract
本申请涉及一种通信连接方法及装置,该通信连接方法应用于服务器,所述方法包括:接收客户端发送的第一握手请求,其中,所述第一握手请求基于国际协议确定;在所述第一握手请求通过后,向所述客户端发送第一数据包,其中,所述第一数据包包括SSL初始化参数;接收所述客户端基于所述第一数据包发送的第二握手请求,根据所述第二握手请求中携带的协议版本,确定与所述协议版本对应的SSL服务信息;根据所述SSL服务信息,建立与所述客户端之间的SSL隧道。本申请能够同时部署和支持国际协议及国密协议,且无需配置专用的客户端和浏览器,部署方便,且易于管理维护。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种通信连接方法及装置。
背景技术
SSLVPN是基于安全套接字层协议(Security Socket Layer,SSL)建立远程安全访问通道的VPN技术。随着对网络通信安全的要求不断提升,服务器需要支持的安全协议也不断增加,很多时候,既需要支持国密协议也需要国际协议。但是,现有SSLVPN网关同时部署和支持国密SSL服务和国际SSL服务的同时,实际使用过程中,客户端都只能适配一种协议,不能同时适配两种协议,即客户端和服务器在同一时间,只能使用国密协议和国际协议中的一种协议建立隧道。
另外,现有SSLVPN网关同时部署和支持国密SSL服务以及国际SSL服务时,客户端需单独开发支持国密协议算法套件的客户端,服务器和客户端实际使用时,需要协议完全匹配,隧道才可以协商成功。即客户端需要分别针对国密协议和国密算法套件进行额外适配,开发专用的支持国密协议和国密算法套件的客户端。
此外,现有SSLVPN网关部署国密SSL服务时,客户端如果要使用浏览器方式接入,需要使用额外的专用支持国密协议算法套件的专用浏览器,才能建立隧道,通用性较差。
发明内容
鉴于现有技术存在的上述问题,本申请的目的在于提供一种通信连接方法及装置,其能够同时部署和支持国际协议及国密协议,且无需配置专用的客户端和浏览器,部署方便,且易于管理维护。
为了实现上述目的,本申请实施例提供一种通信连接方法,应用于服务器,所述方法包括:
接收客户端发送的第一握手请求,其中,所述第一握手请求基于国际协议确定;
在所述第一握手请求通过后,向所述客户端发送第一数据包,其中,所述第一数据包包括SSL初始化参数;
接收所述客户端基于所述第一数据包发送的第二握手请求,根据所述第二握手请求中携带的协议版本,确定与所述协议版本对应的SSL服务信息;
根据所述SSL服务信息,建立与所述客户端之间的SSL隧道。
在一些实施例中,接收客户端发送的第一握手请求之前,所述方法还包括:
加载SSL协议服务,其中,所述SSL协议服务包括国际协议服务和国密协议服务。
在一些实施例中,所述方法包括:
将国际协议的配置信息和国密协议的配置信息合并为合并协议配置信息,将国际算法的配置信息和国密算法的配置信息合并为合并算法配置信息;
加载所述合并协议配置信息、合并算法配置信息、国际证书和国密证书。
在一些实施例中,在所述第一握手请求通过后,向所述客户端发送第一数据包,包括:
向所述客户端server_hello消息、server_certificate消息和server_hello_done消息;
与所述客户端协商用于进行数据通信的SSL参数。
在一些实施例中,所述SSL初始化参数包括国际SSL初始化参数和国密SSL初始化参数。
在一些实施例中,根据所述第二握手请求中携带的协议版本,确定与所述协议版本对应的SSL服务信息,包括:
根据所述第二握手请求中所携带的协议版本,确定对应的国际证书或国密证书;
根据所述第二握手请求中所携带的协议版本,从所述国际协议或国密协议配置信息中选择对应的国际协议或国密协议;
根据所述第二握手请求中所携带的算法套件,从所述合并算法配置信息中确定对应的国际算法套件或国密算法套件,并确定数据通信过程中所使用的密钥信息。
在一些实施例中,所述方法还包括:
向所述客户端发送确定的国际证书或国密证书,进行证书校验。
在一些实施例中,根据所述SSL服务信息,建立与所述客户端之间的SSL隧道,包括:
基于确定出的证书、协议、算法套件以及密钥信息,建立与所述客户端之间的SSL隧道。
本申请实施例还提供一种通信连接方法,应用于客户端,所述方法包括:
向服务器发送第一握手请求,其中,所述第一握手请求基于国际协议确定;
接收所述服务器返回的第一数据包,其中,所述第一数据包包括SSL初始化参数;
向所述服务器发送第二握手请求,其中,所述第二握手请求中携带有协议版本;
接收所述服务器与所述协议版本对应的SSL服务信息,建立与所述服务器之间的SSL隧道。
本申请实施例还提供一种通信连接装置,应用于服务器,所述装置包括:
接收模块,其配置为接收客户端发送的第一握手请求,其中,所述第一握手请求基于国际协议确定;
发送模块,其配置为向所述客户端发送第一数据包,其中,所述第一数据包包括SSL初始化参数;
确定模块,其配置为接收所述客户端基于所述第一数据包发送的第二握手请求,根据所述第二握手请求中携带的协议版本,确定与所述协议版本对应的SSL服务信息;
连接模块,其配置为根据所述SSL服务信息,建立与所述客户端之间的SSL隧道。
与现有技术相比较,本申请实施例提供的通信连接方法及装置,先使用国际协议完成客户端和服务器之间SSL参数协商确认,然后根据国际协议或国密协议建立相应的SSL隧道,以进行数据通信,可以同时利用不同的协议方式进行数据通信,且不同的协议方式之间互不影响。另外,本申请实施例中无需配置相应的客户端和浏览器,用户在浏览器中输入目标域名访问,即可基于国际协议或国密协议建立SSL隧道进行数据通信,用户无感知,可以提高客户端的易用性,降低维护难度和成本。
附图说明
在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。具有字母后缀或不同字母后缀的相同附图标记可以表示相似部件的不同实例。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所申请的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本装置或方法的穷尽或排他实施例。
图1为本申请实施例的通信连接方法的流程图;
图2为本申请实施例的通信连接方法的传输示意图;
图3为本申请实施例的另一通信连接方法的流程图;
图4为本申请实施例的通信装置的结构示意图;
图5为本申请实施例的另一通信装置的结构示意图。
具体实施方式
下面,结合附图对本申请的具体实施例进行详细的描述,但不作为本申请的限定。
应理解的是,可以对此处公开的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特征将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所公开的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
SSL协议是Web浏览器与Web服务器之间安全交换信息的协议。TLS协议(TransportLayer Security,传输层安全协议),是SSL协议的继任者,最新版本的TLS 1.0是IETF(工程任务组)制定的一种新的协议,建立在SSL3.0的基础上。本申请中用于通信的安全网络传输协议既包括SSL协议,又包括TLS协议,即SSL/TLS,以保护在互联网中传递的数据信息。
SSL/TLS协议一般包括国际协议和国密协议。国际协议包括国际标准SSL协议、SSL及TLS协议等,构成国际标准SSL协议。国密协议包括国密标准SSL协议,该协议是使用国家密码局认定的国产密码算法(即商用密码)为网络通信提供安全及数据完整性的一种增强的安全协议。国际证书是遵守国际标准SSL协议,由受信任的数字证书颁发机构,在验证申请机构身份后颁发,具有身份验证和数据传输加密功能的一种电子证照。国密证书是遵守国密标准SSL协议,由受信任的数字证书颁发机构,在验证申请机构身份后颁发,具有身份验证和数据传输加密功能的一种电子证照。
SSL/TLS协议包括两个过程:握手阶段和数据传输阶段。握手阶段用于确认对方身份的真实有效性并产生数据传输阶段所需要的密钥。数据传输阶段是对传输的数据分别使用协商好的密钥等信息进行数据传输,以保证数据的安全性和完整性。
实施例一
图1为本申请实施例的通信连接方法的流程图。如图1所示,本申请实施例提供了一种通信连接方法,应用于服务器,以实现与客户端的握手。所述方法包括:
步骤S101:接收客户端发送的第一握手请求,其中,所述第一握手请求基于国际协议确定。
具体地,当客户端用户通过客户端上安装的浏览器访问目标域名时,客户端(client)向服务器(server)发送第一握手请求(Client hello),该第一握手请求为SSL参数协商请求,用于与服务器建立连接以协商SSL参数。
目标域名包括默认的SSLVPN网关客户端地址。服务器可以为网站(Web)服务器、VPN网关服务器等,服务器可以在用户通过浏览器访问目标域名时,为客户端提供相应的访问证书,以进行身份验证并提供数据通信传输阶段所需要的密钥、算法等信息。
客户端在发起第一握手请求时,请求Client Hello消息中可以包括请求版本信息,以获取SSL初始化参数。第一握手请求信息还可以包括客户端的随机数、第一握手请求的发送时间、请求进行握手操作的服务器信息等。
本步骤中,第一握手请求基于国际协议确定,即请求版本信息包括国际协议,由于国际协议为服务器的通用配置,可以保证通过第一握手请求与服务器建立连接,从而协商SSL参数。
在一些实施例中,步骤S101之前,所述方法还包括:加载SSL协议服务,其中,所述SSL协议服务包括国际协议服务和国密协议服务。
SSL协议服务,是指由国际协议或者国密协议提供网络层安全的服务。SSL协议服务中,国际协议服务包括国际协议、国际证书和国际算法,国密协议服务包括国密协议、国密证书和国密算法。SSL初始化参数即为SSL协议服务中的相关初始化参数。
服务器启动后,即可同时加载国际协议服务和国密协议服务,以便与客户端协商相应的SSL服务协议进行数据通信;且服务器设置有监听SSL请求的端口,可以实时监听客户端的SSL请求(例如第一握手请求)。
进一步地,加载SSL协议服务时,所述方法包括:
步骤一:将国际协议的配置信息和国密协议的配置信息合并为合并协议配置信息;
将国际算法的配置信息和国密算法的配置信息合并为合并算法配置信息。
步骤二:加载所述合并协议配置信息、合并算法配置信息、国际证书和国密证书。
本申请实施例中,可以将国际协议服务和国密协议服务在服务器上分别配置,也可以合并配置,以便于及时调用。
步骤S102:在所述第一握手请求通过后,向所述客户端发送第一数据包,其中,所述第一数据包包括SSL初始化参数。
具体地,服务器接收并识别第一握手请求(Client Hello)中包含的国际协议请求版本信息,在所述第一握手请求通过后,向客户端发送第一数据包,以与客户端协商确认SSL协议服务中的SSL参数。
SSL初始化参数预先存储于服务器中,该SSL初始化参数既包括国际SSL初始化参数又包括国密SSL初始化参数,以便与客户端协商采用相应协议进行通信时的SSL参数。初始化参数具体包括认证参数、证书参数、协议参数、算法套件参数等配置参数。
在一具体实施例中,向所述客户端发送第一数据包,包括:
步骤S1021:向所述客户端server_hello消息、server_certificate消息和server_hello_done消息;
步骤S1022:与所述客户端协商用于进行数据通信的SSL参数。
客户端可以从服务器发送的server_hello消息中解析出SSL协议版本和算法套件,从server_certificate消息中解析出服务器的原始证书,server_hello_done消息表明服务器已经将所有预计的第一握手相关信息发送完毕,通过上述消息可以使服务器与客户端协商出后续进行数据通信的证书、协议、算法套件等SSL参数。本步骤中,既可以协商出国际SSL参数,也可以协商出国密SSL参数以便后续直接调用。
如图2所示,客户端在获得第一数据包后,可以向服务器发送Client keyexchange消息,用于将预主密钥通过服务器的公钥加密后发送给服务器,以与服务器协商密钥信息,即Client key exchange消息携带密钥交换的相关数据。服务器可以返回ChangeCipher Spec消息,用于告知客户端后续的通信都采用协商的密钥与算法进行加密通信。
服务器还可以与客户端交互国际协议或国密协议、算法套件等信息(Applicationdata),从而完成SSL初始化参数协商。
其中,国际协议或国密协议表明了数据通信时可以采用的SSL协议版本;算法套件表明了客户端所能支持的算法列表,包括密钥交换方式、签名方式和加密方式,从而在协商确定出算法套件之后,可以使用确定出的算法套件以及对应的密钥对传输数据进行加密。
步骤S103:接收所述客户端基于所述第一数据包发送的第二握手请求,根据所述第二握手请求中携带的协议版本,确定与所述协议版本对应的SSL服务信息。
通过步骤S101和步骤S102使得客户端和服务器基于第一数据包协商好SSL参数后,客户端可以基于实际SSL服务需求,向服务器发送第二握手请求,其中,第二握手请求为SSL隧道建立请求。SSL隧道建立请求可以包括国际SSL隧道建立请求或国密SSL隧道建立请求。
具体地,由于客户端已经与服务器协商确定了SSL参数,因此,客户端可以直接通过调用组件的方式,向服务器发送第二握手请求,第二握手请求的Client Hello消息中包含国际协议或国密协议两种协议版本,且国际协议或国密协议中又包含各自的版本信息,服务器接收到第二握手请求后,自动适配相应的国际或国密服务方式,确定出对应的SSL服务信息(例如国际证书或国密证书),并生成第二数据包。即SSL服务信息包括国际SSL服务信息或国密SSL服务信息。
在一些实施例中,根据所述第二握手请求中携带的协议版本,确定与所述协议版本对应的SSL服务信息,包括:
步骤S1031:根据所述第二握手请求中所携带的协议版本,确定对应的国际证书或国密证书;
步骤S1032:根据所述第二握手请求中所携带的协议版本,从所述国际协议或国密协议配置信息中选择对应的国际协议或国密协议;
步骤S1033:根据所述第二握手请求中所携带的算法套件,从所述合并算法配置信息中确定对应的国际算法套件或国密算法套件,并确定数据通信过程中所使用的密钥信息。
如果第二握手请求为国际请求,服务器进行国际SSL算法自动适配,确定出对应的国际证书。如果第二握手请求为国密请求,服务器进行国密SSL算法自动适配,确定出对应的国密证书。国际协议或国密协议、国际算法套件或国密算法套件的选择确定方式类似,在此不再赘述。
所述方法还包括:基于确定的所述SSL服务信息,生成第二数据包。
即,将上述确定的所述SSL服务信息打包以组件的形式进行传输,以便及时封装、调用,生成的第二数据包可以包括server_hello消息、server_certificate消息和server_hello_done消息,以进行协议版本、算法套件、证书确认。第二数据包为国际SSL数据包或国密SSL数据包,以便客户端采用相应的协议进行握手。
在一些实施例中,确定与所述协议版本对应的SSL服务信息时,也可以从合并协议配置信息中确定出对应的国际协议或国密协议。
本实施例中,采用合并协议配置信息确定对应的SSL服务信息,可以保证国际协议或国密协议能够同时使用,且各自使用相应的SSL服务信息进行数据通信,互不影响。
步骤S104:根据所述SSL服务信息,建立与所述客户端之间的SSL隧道。
具体地,服务器确定出与所述协议版本对应的SSL服务信息并生成第二数据包后,将第二数据包发送至客户端以进行身份验证。
客户端接收服务器发送的第二数据包中的国际证书或国密证书,进行证书校验。在证书校验通过后(客户端成功验证服务器证书后),客户端向服务器发送Client keyexchange消息。其中,所述客户端发送的Client key exchange消息包括:利用证书的公钥加密的预主密钥。客户端利用接收的国际证书或国密证书的公钥对所述预主密钥加密,并将加密后的预主密钥通过Client key exchange消息发送至服务器。服务器可以返回Change Cipher Spec消息,用于告知客户端后续的通信都采用协商的密钥与算法进行加密通信。
客户端在验证服务器证书的时候根据证书里的签名方式以及签名所使用的算法对证书里的数字签名进行验证,如果客户端不支持响应的算法,则数字证书的验证就会失败,SSL第二握手就无法完成。
服务器和客户端双方根据预主密钥以及随机数等参数生成用于传输阶段的主密钥,并基于确定出的证书、协议和算法套件,完成SSL握手,并建立SSL隧道。服务器使用确定的证书、协议、算法套件和密钥等信息与客户端完成整个SSL握手过程,并利用确定出的算法套件、密钥、隧道session等信息进行数据通信。
本实施例中,SSL国际或国密隧道通过组件的方式建立成功后,基于网络层进行国际或国密方式的数据加密封装,实现SSL隧道内的数据加密通信。对于使用客户端请求SSL接入的用户来说,国际协议、国密协议的选择是透明的,使用时可以不关心SSL接入的实现逻辑,仅需要通过客户端浏览器访问SSL默认的目标域名即可。
本申请实施例提供的应用于服务器的通信连接方法,先使用国际协议完成客户端和服务器之间SSL参数协商确认,然后根据国际协议或国密协议建立相应的SSL隧道,以进行数据通信,可以同时利用不同的协议方式进行数据通信,且不同的协议方式之间互不影响。另外,本申请实施例中无需配置相应的客户端和浏览器,用户在浏览器中输入目标域名访问,即可基于国际协议或国密协议建立SSL隧道进行数据通信,用户无感知,可以提高客户端的易用性,降低维护难度和成本。
实施例二
图3为本申请实施例的另一通信连接方法的流程图。如图3所示,本申请实施例提供了一种通信连接方法,应用于客户端,所述方法包括:
步骤S301:向服务器发送第一握手请求,其中,所述第一握手请求基于国际协议确定。
当客户端用户通过客户端上安装的浏览器访问目标域名时,客户端(client)向服务器(server)发送第一握手请求(Client hello),该第一握手请求为SSL参数协商请求,用于与服务器建立连接以协商SSL参数。
第一握手请求基于国际协议确定,即第一握手请求的请求版本信息包括国际协议,由于国际协议为服务器的通用配置,可以保证通过第一握手请求与服务器建立连接,从而协商SSL参数。
步骤S302:接收所述服务器返回的第一数据包,其中,所述第一数据包包括SSL初始化参数。
服务器接收到客户端的第一握手请求,并识别通过该第一握手请求后,可以将服务器中预先存储的SSL初始化参数以第一数据包的形式发送至客户端,以与客户端协商用于数据通信的SSL参数。
步骤S303:向所述服务器发送第二握手请求,其中,所述第二握手请求中携带有协议版本。
客户端接收到第一数据包后,对其进行解析,协商出SSL参数,向所述服务器发送第二握手请求,该第二握手请求为SSL隧道建立请求,以建立SSL隧道。第二握手请求中携带有国际协议或国密协议版本信息。
步骤S304:接收所述服务器与所述协议版本对应的SSL服务信息,建立与所述服务器之间的SSL隧道。
服务器在接收到第二握手请求后,根据第二握手请求中携带的协议版本,选择相应的国际协议或国密协议、国际证书或国密证书;并从第二握手请求中携带的算法套件,筛选出相应的国际算法套件或国密算法套件,并确定数据通信过程中所使用的密钥信息,进而与服务器完成SSL握手,建立SSL隧道。
该应用于客户端的通信连接方法对应于上述实施例的应用于服务器的通信连接方法,应用于服务器的通信连接方法实施例中的其他任何可选项也适用于本实施例,这里不再详述。
实施例三
图4为本申请实施例的通信连接装置的结构示意图。如图4所示,本申请实施例提供一种通信连接装置,应用于服务器,所述装置包括:
接收模块401,其配置为接收客户端发送的第一握手请求,其中,所述第一握手请求基于国际协议确定;
发送模块402,其配置为向所述客户端发送第一数据包,其中,所述第一数据包包括SSL初始化参数;
确定模块403,其配置为接收所述客户端基于所述第一数据包发送的第二握手请求,根据所述第二握手请求中携带的协议版本,确定与所述协议版本对应的SSL服务信息;
连接模块404,其配置为根据所述SSL服务信息,建立与所述客户端之间的SSL隧道。
该通信连接装置对应于上述实施例的应用于服务器的通信连接方法,应用于服务器的通信连接方法实施例中的任何可选项也适用于本实施例,这里不再详述。
实施例三
图5为本申请实施例的另一通信连接装置的结构示意图。如图5所示,本申请实施例提供一种通信连接装置,应用于客户端,所述装置包括:
第一请求模块501,其配置为向服务器发送第一握手请求,其中,所述第一握手请求基于国际协议确定。
接收模块502,其配置为接收所述服务器返回的第一数据包,其中,所述第一数据包包括SSL初始化参数。
第二请求模块503,其配置为向所述服务器发送第二握手请求,其中,所述第二握手请求中携带有协议版本。
连接模块504,其配置为接收所述服务器与所述协议版本对应的SSL服务信息,建立与所述服务器之间的SSL隧道。
该通信连接装置对应于上述实施例的应用于客户端的通信连接方法,应用于客户端的通信连接方法实施例中的任何可选项也适用于本实施例,这里不再详述。
本申请实施例还提供了一种服务器,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为:
接收客户端发送的第一握手请求,其中,所述第一握手请求基于国际协议确定;
在所述第一握手请求通过后,向所述客户端发送第一数据包,其中,所述第一数据包包括SSL初始化参数;
接收所述客户端基于所述第一数据包发送的第二握手请求,根据所述第二握手请求中携带的协议版本,确定与所述协议版本对应的SSL服务信息;
根据所述SSL服务信息,建立与所述客户端之间的SSL隧道。
本申请实施例还提供了一种客户端,所述客户端上安装有浏览器,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为:
向服务器发送第一握手请求,其中,所述第一握手请求基于国际协议确定;
接收所述服务器返回的第一数据包,其中,所述第一数据包包括SSL初始化参数;
向所述服务器发送第二握手请求,其中,所述第二握手请求中携带有协议版本;
接收所述服务器与所述协议版本对应的SSL服务信息,建立与所述服务器之间的SSL隧道。
由上述实施例可知,当客户端向服务器发送第一握手请求,与服务器建立连接后,服务器可以主动向客户端发送SSL协议服务的相关参数,以建立SSL隧道,客户端的用户无感知,无需适配各种浏览器和客户端,提高客户端的易用性,降低维护难度和成本。
在一些实施例中,处理器可以是包括一个以上通用处理设备的处理设备,诸如微处理器、中央处理单元(CPU)、图形处理单元(GPU)等。更具体地,该处理器可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、运行其他指令集的处理器或运行指令集的组合的处理器。该处理器还可以是一个以上专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、片上系统(SoC)等。
存储器为计算机可读介质,在该计算机可读介质上可嵌入可执行程序代码(例如用于实施本申请的方法的软件),以执行上述的通信连接方法。存储器可以为易失性存储器(例如,随机存取存储器(random-access memory,RAM),其可包括易失性RAM、磁性RAM、铁电RAM以及任何其他适合的形式),也可以为非易失性存储器(例如,磁盘存储器、闪速存储器、可擦除可编程只读存储器(erasable programmable read-only memory,EPROM)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、基于忆阻器的非易失性固态存储器等)。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
Claims (9)
1.一种通信连接方法,应用于服务器,其特征在于,所述方法包括:
接收客户端发送的第一握手请求,其中,所述第一握手请求基于国际协议确定;
在所述第一握手请求通过后,向所述客户端发送第一数据包,其中,所述第一数据包包括SSL初始化参数,所述SSL初始化参数包括国际SSL初始化参数和国密SSL初始化参数;
接收所述客户端基于所述第一数据包发送的第二握手请求,根据所述第二握手请求中携带的协议版本,确定与所述协议版本对应的SSL服务信息;
根据所述SSL服务信息,建立与所述客户端之间的SSL隧道。
2.根据权利要求1所述的方法,其特征在于,接收客户端发送的第一握手请求之前,所述方法还包括:
加载SSL协议服务,其中,所述SSL协议服务包括国际协议服务和国密协议服务。
3.根据权利要求2所述的方法,其特征在于,所述方法包括:
将国际协议的配置信息和国密协议的配置信息合并为合并协议配置信息,将国际算法的配置信息和国密算法的配置信息合并为合并算法配置信息;
加载所述合并协议配置信息、合并算法配置信息、国际证书和国密证书。
4.根据权利要求1所述的方法,其特征在于,在所述第一握手请求通过后,向所述客户端发送第一数据包,包括:
向所述客户端server_hello消息、server_certificate消息和server_hello_done消息;
与所述客户端协商用于进行数据通信的SSL参数。
5.根据权利要求3所述的方法,其特征在于,根据所述第二握手请求中携带的协议版本,确定与所述协议版本对应的SSL服务信息,包括:
根据所述第二握手请求中所携带的协议版本,确定对应的国际证书或国密证书;
根据所述第二握手请求中所携带的协议版本,从所述国际协议或国密协议配置信息中选择对应的国际协议或国密协议;
根据所述第二握手请求中所携带的算法套件,从所述合并算法配置信息中确定对应的国际算法套件或国密算法套件,并确定数据通信过程中所使用的密钥信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
向所述客户端发送确定的国际证书或国密证书,进行证书校验。
7.根据权利要求5所述的方法,其特征在于,根据所述SSL服务信息,建立与所述客户端之间的SSL隧道,包括:
基于确定出的证书、协议、算法套件以及密钥信息,建立与所述客户端之间的SSL隧道。
8.一种通信连接方法,应用于客户端,其特征在于,所述方法包括:
向服务器发送第一握手请求,其中,所述第一握手请求基于国际协议确定;
接收所述服务器返回的第一数据包,其中,所述第一数据包包括SSL初始化参数,所述SSL初始化参数包括国际SSL初始化参数和国密SSL初始化参数;
向所述服务器发送第二握手请求,其中,所述第二握手请求中携带有协议版本;
接收所述服务器与所述协议版本对应的SSL服务信息,建立与所述服务器之间的SSL隧道。
9.一种通信连接装置,应用于服务器,其特征在于,所述装置包括:
接收模块,其配置为接收客户端发送的第一握手请求,其中,所述第一握手请求基于国际协议确定;
发送模块,其配置为向所述客户端发送第一数据包,其中,所述第一数据包包括SSL初始化参数,所述SSL初始化参数包括国际SSL初始化参数和国密SSL初始化参数;
确定模块,其配置为接收所述客户端基于所述第一数据包发送的第二握手请求,根据所述第二握手请求中携带的协议版本,确定与所述协议版本对应的SSL服务信息;
连接模块,其配置为根据所述SSL服务信息,建立与所述客户端之间的SSL隧道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011559536.9A CN112714053B (zh) | 2020-12-25 | 2020-12-25 | 通信连接方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011559536.9A CN112714053B (zh) | 2020-12-25 | 2020-12-25 | 通信连接方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112714053A CN112714053A (zh) | 2021-04-27 |
CN112714053B true CN112714053B (zh) | 2022-09-16 |
Family
ID=75546180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011559536.9A Active CN112714053B (zh) | 2020-12-25 | 2020-12-25 | 通信连接方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112714053B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113364776A (zh) * | 2021-06-04 | 2021-09-07 | 北银金融科技有限责任公司 | 一种验证区块链节点使用国密算法通信的方法和系统 |
CN113709111B (zh) * | 2021-07-28 | 2023-08-25 | 杭州迪普科技股份有限公司 | 连接的建立方法及装置 |
CN113872990B (zh) * | 2021-10-19 | 2023-06-30 | 南方电网数字电网研究院有限公司 | 基于ssl协议的vpn网络证书认证方法、装置和计算机设备 |
CN114553476A (zh) * | 2022-01-10 | 2022-05-27 | 网宿科技股份有限公司 | 基于国密和国际算法的https请求的处理方法和装置 |
CN114390027B (zh) * | 2022-03-24 | 2022-07-12 | 恒生电子股份有限公司 | 一种网络通信方法、装置、设备及介质 |
CN114979105B (zh) * | 2022-05-31 | 2023-06-27 | 杭州迪普科技股份有限公司 | 通过ssl负载均衡设备自动识别国密和商密业务的方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109067803A (zh) * | 2018-10-10 | 2018-12-21 | 深信服科技股份有限公司 | 一种ssl/tls加解密通信方法、装置及设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118027B (zh) * | 2013-02-05 | 2016-01-20 | 中金金融认证中心有限公司 | 基于国密算法建立tls通道的方法 |
CN105991569A (zh) * | 2015-02-09 | 2016-10-05 | 中国科学院信息工程研究所 | 一种tls通讯数据安全传输方法 |
CN107306214B (zh) * | 2016-04-18 | 2020-04-03 | 华为技术有限公司 | 终端连接虚拟专用网的方法、系统及相关设备 |
CN108566361B (zh) * | 2018-01-05 | 2020-08-21 | 武汉信安珞珈科技有限公司 | 一种基于ssl/tls协议的安全参数协商方法和系统 |
CN109257349A (zh) * | 2018-09-14 | 2019-01-22 | 北京天融信网络安全技术有限公司 | 一种单ssl服务支持多协议的方法及装置 |
CN110768988B (zh) * | 2019-10-28 | 2022-09-30 | 杭州迪普科技股份有限公司 | 一种建立ssl vpn隧道的方法及装置 |
-
2020
- 2020-12-25 CN CN202011559536.9A patent/CN112714053B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109067803A (zh) * | 2018-10-10 | 2018-12-21 | 深信服科技股份有限公司 | 一种ssl/tls加解密通信方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112714053A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112714053B (zh) | 通信连接方法及装置 | |
US11546309B2 (en) | Secure session capability using public-key cryptography without access to the private key | |
CN109088889B (zh) | 一种ssl加解密方法、系统及计算机可读存储介质 | |
CN110380852B (zh) | 双向认证方法及通信系统 | |
EP3723399A1 (en) | Identity verification method and apparatus | |
US8532620B2 (en) | Trusted mobile device based security | |
KR101904177B1 (ko) | 데이터 처리 방법 및 장치 | |
CN107659406B (zh) | 一种资源操作方法及装置 | |
CN107040513B (zh) | 一种可信访问认证处理方法、用户终端和服务端 | |
WO2016107319A1 (zh) | 加载安全密钥存储硬件的方法和浏览器客户端装置 | |
WO2016107321A1 (zh) | 安全通信系统 | |
WO2016107322A1 (zh) | 安全浏览器的实现方法和安全浏览器装置 | |
AU2020396746B2 (en) | Provisioning method and terminal device | |
US20210392004A1 (en) | Apparatus and method for authenticating device based on certificate using physical unclonable function | |
CN113225352A (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN113207322B (zh) | 通信的方法和通信装置 | |
CN113922974B (zh) | 一种信息处理方法及系统、前端、服务端、存储介质 | |
CN111865956A (zh) | 一种防服务劫持系统、方法、装置及存储介质 | |
CN106464684B (zh) | 业务处理方法及装置 | |
CN114039793B (zh) | 一种加密通信方法、系统及存储介质 | |
WO2017024588A1 (zh) | 业务处理方法及装置 | |
CN117728958A (zh) | 一种通信方法、装置和系统 | |
CN114244569A (zh) | Ssl vpn远程访问方法、系统和计算机设备 | |
CN114449512A (zh) | 一种车端安全通信方法及装置 | |
KR101161733B1 (ko) | 온라인 서비스를 위한 전자서명 방법 |
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 |