CN108429620B - 安全连接的建立方法、系统、以及客户端和服务端 - Google Patents

安全连接的建立方法、系统、以及客户端和服务端 Download PDF

Info

Publication number
CN108429620B
CN108429620B CN201810071713.5A CN201810071713A CN108429620B CN 108429620 B CN108429620 B CN 108429620B CN 201810071713 A CN201810071713 A CN 201810071713A CN 108429620 B CN108429620 B CN 108429620B
Authority
CN
China
Prior art keywords
server
client
information
national
abstract
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
CN201810071713.5A
Other languages
English (en)
Other versions
CN108429620A (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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201810071713.5A priority Critical patent/CN108429620B/zh
Publication of CN108429620A publication Critical patent/CN108429620A/zh
Application granted granted Critical
Publication of CN108429620B publication Critical patent/CN108429620B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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
    • 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
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种安全连接的建立方法、系统、以及客户端和服务端,涉及通信技术领域,包括:向服务端发送协商请求,并获取服务端基于协商请求返回的响应信息,其中,响应信息中包含用于进行安全连接验证的国密加密套件的相关信息;基于协商请求和响应信息确定待签名摘要,并向USB key设备发送待签名摘要,以使USB key设备通过国密加密套件对待签名摘要进行签名,得到签名信息;获取USB key设备发送的签名信息,并将签名信息发送至服务端进行安全连接的验证,其中,在验证通过时,建立客户端和服务端之间的国密安全连接。本申请缓解了在采用通过现有的安全连接方式建立的安全连接进行数据交互时,数据安全性较低的技术问题。

Description

安全连接的建立方法、系统、以及客户端和服务端
技术领域
本申请涉及通信技术领域,尤其是涉及一种安全连接的建立方法、系统、以及客户端和服务端。
背景技术
随着互联网的快速发展,使得相互通信的双方能够轻易的获取对方的信息。这就增加了对某些敏感或有价值的数据被滥用的风险,特别是电子商务领域。为了保证相互通信的双方在进行通信时的安全性,防范通信过程中的欺诈行为,必须在网上建立一种信任机制。这就要求互相通信的双方都必须拥有合法的身份,并且在网上能够有效无误的被进行验证。
使用数字证书建立安全连接,可以使网络传输更加安全。目前建立安全连接的一种方式是首先通过客户端和服务端进行安全连接的建立。在客户端和服务端建立安全连接的过程中,客户端和服务端所使用的加密算法为加密套件中的算法,其中,加密套件为在建立安全连接的过程中,为客户端和服务端提供加密算法组合的套件。一般情况下,加密套件中的加密算法组合为非对称加密算法RSA,对称加密算法AES,摘要算法SHA。在建立安全连接之后,客户端和服务端就能够通过协商出的对称密钥进行数据的传输。例如,客户端和服务端将通信内容使用对称密钥加密,对端使用对称密钥解密,从而实现数据的传输。
在上述所描述的安全连接的建立过程中可知,在建立安全连接时,所使用的数字证书和私钥均保存在本地,这就导致数字证书和私钥容易遭到攻击或者窃取,从而使得上述安全连接的安全强度大大降低,例如,容易被其他客户端盗取来与服务器进行通信。
发明内容
有鉴于此,本申请的目的在于提供一种安全连接的建立方法、系统、以及客户端和服务端,以缓解了在采用通过现有的安全连接方式建立的安全连接进行数据交互时,数据安全性较低的技术问题。
第一方面,本申请实施例提供了一种安全连接的建立方法,应用于客户端,包括:向服务端发送协商请求,并获取所述服务端基于所述协商请求返回的响应信息,其中,所述响应信息中包含用于进行安全连接验证的国密加密套件的相关信息;基于所述协商请求和所述响应信息确定待签名摘要,并向USB key设备发送所述待签名摘要,以使所述USB key设备通过所述国密加密套件对所述待签名摘要进行签名,得到签名信息;获取所述USB key设备发送的所述签名信息,并将所述签名信息发送至所述服务端进行安全连接的验证,其中,在验证通过时,建立所述客户端和所述服务端之间的国密安全连接。
进一步地,基于所述协商请求和所述响应信息确定待签名摘要包括:通过所述国密加密套件中的摘要算法对所述协商请求和所述响应信息分别进行摘要计算,得到第一目标握手摘要;计算国密算法中的Z值;将所述Z值和所述第一目标握手摘要进行拼接,得到所述待签名摘要。
进一步地,将所述Z值和所述第一目标握手摘要进行拼接包括:将用于表示所述Z值的数组和用于表示所述第一目标握手摘要的数组进行首尾相连,得到所述待签名摘要。
第二方面,本申请实施例提供了一种安全连接的建立方法,应用于服务端,包括:获取客户端发送的协商请求,并基于所述协商请求向所述客户端返回响应信息,其中,所述响应信息中包含用于进行安全连接验证的国密加密套件的相关信息;获取所述客户端发送的签名信息,并基于所述签名信息进行安全连接的验证,其中,所述签名信息为USB key设备通过所述国密加密套件对待签名摘要进行签名之后得到的信息;在验证通过时,建立所述客户端和所述服务端之间的国密安全连接。
进一步地,基于所述签名信息进行安全连接的验证包括:计算国密算法中的Z值;将所述Z值和第二目标握手摘要进行拼接,得到目标摘要,其中,所述第二目标握手摘要为所述服务端通过所述国密加密套件中的摘要算法对所述协商请求和所述响应信息分别进行计算得到的摘要信息;通过所述国密加密套件中的摘要算法计算所述目标摘要的摘要信息;如果所述目标摘要的摘要信息与所述签名信息中的摘要信息一致,则确定通过安全连接的验证。
进一步地,基于所述协商请求向所述客户端返回响应信息包括:在确定出所述服务端的数字证书为国密证书的情况下,向所述客户端发送所述响应信息,其中,所述响应信息中包括:用于进行安全连接验证的国密加密套件的相关信息,所述服务端的数字证书,所述服务端所支持的协议信息。
第三方面,本申请实施例还提供了一种客户端,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的方法的步骤。
第四方面,本申请实施例还提供了一种服务端,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的方法的步骤。
第五方面,本申请实施例还提供了一种安全连接的建立系统,包括:上述所述的客户端,以及上述所述的服务端;其中,所述客户端用于在国密安全连接的握手连接阶段,向服务端发送协商请求,以确定用于进行安全连接验证的国密加密套件;基于所述握手连接阶段中协商阶段的握手信息确定待签名摘要,并向USB key设备发送所述待签名摘要;所述USB key设备用于通过所述国密加密套件对所述待签名摘要进行签名,得到签名信息;所述服务端用于基于所述签名信息进行安全连接验证,其中,在验证通过时,建立所述客户端和所述服务端之间的国密安全连接。。
在本申请实施例中,首先,客户端向服务端发送协商请求,并获取服务端基于协商请求返回的包含用于进行安全连接验证的国密加密套件的响应信息;客户端基于协商请求和响应信息确定待签名摘要,并向USB key设备发送待签名摘要,以使USB key设备对待签名摘要进行签名,得到签名信息;客户端获取USB key设备发送的签名信息,并将签名信息发送至服务端进行安全连接的验证。在本申请实施例中,通过使用USB Key设备建立国密安全连接,将大大加强数据的安全强度,适合有中高端安全需求的用户,进而缓解了在采用通过现有的安全连接方式建立的安全连接进行数据交互时,数据安全性较低的技术问题。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的第一种安全连接的建立方法的流程图;
图2是根据本申请实施例的第一种可选地安全连接的建立方法的流程图;
图3是根据本申请实施例的第二种安全连接的建立方法的流程图;
图4是根据本申请实施例的一种基于签名信息进行安全连接的验证的流程图;
图5是根据本申请实施例的一种安全连接的建立方法的交互图;
图6是根据本申请实施例的一种安全连接的建立装置的示意图;
图7是根据本申请实施例的另一种安全连接的建立装置的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一:
根据本申请实施例,提供了一种安全连接的建立方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种安全连接的建立方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,向服务端发送协商请求,并获取所述服务端基于所述协商请求返回的响应信息,其中,所述响应信息中包含用于进行安全连接验证的国密加密套件的相关信息。
在本申请实施例中,当客户端和服务端之间需要建立安全连接时,客户端向服务端发送协商请求,该协商请求主要用于客户端和服务端协商用于进行安全连接验证的加密算法。本申请中的客户端和服务端均指的是物理实体设备,可以为服务器、手机终端等。
具体地,客户端可以向服务端发送协商请求,在该协商请求中包括客户端所支持的加密算法列表,所支持的安全协议版本等信息,例如,SSL(Secure Sockets Layer,安全套阶层)协议的版本。服务端在获取到该协商请求之后,基于客户端所支持的加密算法列表选择加密算法和安全协议版本,向客户端发送选择响应信息,其中,响应信息中包括服务端所选择的用于进行安全连接验证的国密加密套件的相关信息,该相关信息中包括服务端所选择的安全协议版本,以及服务端的数字证书等信息。
需要说明的是,在本申请实施例中,当客户端向服务端发送的加密算法列表中包含国密加密算法时,且当服务端的数字证书为国密证书时,客户端和服务端协商出的加密套件为国密加密套件。其中,国密加密套件中包括服务端和客户端所使用的国密加密算法的组合。国密算法是国家密码局认定的国产商用密码算法,国密加密套件中所包含的非对称加密算法SM2、SM4,摘要算法SM3可以用于建立安全连接。在相同密钥长度的条件下,国密加密算法的安全性强于RSA算法。
在本申请实施例中,当加密算法列表中不包含国密加密算法时,且当服务端的数字证书为国密证书时,则客户端和服务端之间的协商失败。此时,如果想要继续建立客户端和服务端之间的安全连接,客户端可以重新发起协商请求。
步骤S104,基于所述协商请求和所述响应信息确定待签名摘要,并向USB key设备发送所述待签名摘要,以使所述USB key设备通过所述国密加密套件对所述待签名摘要进行签名,得到签名信息;
如果客户端和服务端之间协商出的加密套件为国密加密套件,则基于协商请求和所述响应信息确定待签名摘要;然后,将待签名的摘要发送至USB key设备,以使USB key设备通过国密加密套件对待签名摘要进行签名,进而,得到签名信息。
步骤S106,获取USB key设备发送的签名信息,并将签名信息发送至服务端进行安全连接的验证,其中,在验证通过时,获取服务端发送的能够通过安全连接进行通信的信息。
在本申请实施例中,客户端在获取到USB key设备发送的签名信息之后,就可以将该签名信息发送至服务端进行验证。当服务端验证通过时,国密安全连接建立完成,此时,服务端将向客户端发送能够通过该安全连接进行通信的信息。至此,客户端和服务端在进行对称密钥的协商之后,就能够按照预先约定的对称秘钥进行安全通信。
在本申请实施例中,通过使用USB Key设备建立国密安全连接,将大大加强数据的安全强度,适合有中高端安全需求的用户,进而缓解了在采用通过现有的安全连接方式建立的安全连接进行数据交互时,数据安全性较低的技术问题。
在本申请实施例中,可以预先在安全套接字层密码库OpenSSL中添加国密加密套件以构成国密加密套件。OpenSSL是一个安全套接字层密码库,包括加密算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
通过在OpenSSL中添加国密加密套件之后,就能够通过该国密加密套件进行国密安全连接的建立,进而,通过基于该过国密安全连接建立的国密数据传输通道进行数据传输。其中,国密安全连接是使用商用密码组成的加密套件建立的SSL连接或者建立的TLS(Transport Layer Security,传输层安全)连接,国密安全连接用于保证网络传输安全。在数据传输的过程中,相对于通过其他非国密加密套件建立的安全传输通道,通过国密加密套件建立的国密数据传输通道的安全性更高,数据在传输的过程中安全性也更高。
在现有技术中,客户端首先通过加载在本地存储的数字证书和服务端协商出对称密钥,之后通过对称密钥进行加密和解密。但是,客户端在本地存储的数字证书和私钥容易受到攻击和窃取。当被其他客户端窃取时,就会导致其他客户端冒充当前客户端与服务端之间进行数据的传输,从而严重影响到数据的安全性。且随着互联网的快速发展,人们已经不满足于现有的安全需求,用户的安全需求已经向中高端安全需求发展,其中,中高端安全需求主要采用USB Key设备保存数字证书和私钥。而且在相同密钥长度的情况下,传统加密套件中的加密算法的加密安全强度远低于国密加密套件中的国密加密算法。例如,公钥加密算法(RSA算法)的加密安全强度远低于国密加密套件中的非对称加密算法SM2。
基于此,在本申请实施例中,通过USB Key设备建立客户端和服务端之间的国密安全连接,将大大加强客户端和服务端之间数据传输的安全强度,适合有中高端安全需求的用户。
在本实施例的一个可选实施方式中,如图2所示,基于所述协商请求和响应信息确定待签名摘要包括如下步骤:
步骤S201,通过所述国密加密套件中的摘要算法对所述协商请求和所述响应信息分别进行摘要计算,得到第一目标摘要信息;
步骤S202,计算国密算法中的Z值;
步骤S203,将所述Z值和第一目标握手摘要进行拼接,得到所述待签名摘要,并将所述待签名摘要发送至所述USB key。
在本申请实施例中,在客户端和服务端协商出国密加密套件的情况下,客户端计算国密算法中的Z值。客户端将Z值和第一目标握手摘要进行拼接,得到待签名摘要。需要说明的是,上述第一目标握手摘要为通过国密加密套件中的摘要算法对协商请求和所述响应信息分别进行摘要计算得到的摘要信息。
具体地,在客户端和服务端协商出加密套件之前,客户端向服务端发送协商请求,此时,客户端通过摘要算法计算协商请求的报文信息的摘要信息,得到摘要信息1。服务端在获取到客户端发送的协商请求之后,服务端将通过摘要算法对获取到的协商请求的报文信息进行摘要计算,得到摘要信息2。一般情况下,摘要信息1与摘要信息2为相同的摘要信息。
接下来,服务端向客户端返回响应信息。客户端在获取到该响应信息之后,将对该响应信息的报文信息进行摘要计算,得到摘要信息3,并基于该摘要信息3对摘要信息1进行更新。例如,将摘要信息3添加至摘要信息1的后面,得到一个新的摘要信息(即,上述第一目标握手摘要)。同时,服务端在向客户端发送该响应信息时,也将对该响应信息的报文信息进行摘要计算,得到摘要信息4,并基于该摘要信息4对摘要信息2进行更新。例如,将摘要信息4添加至摘要信息2的后面,得到一个新的摘要信息(即,下述第二目标握手摘要)。
一般情况下,上述摘要信息1与摘要信息2为相同的,且摘要信息3与摘要信息4也为相同的。因此,客户端确定出的新的摘要信息与服务端确定出的新的摘要信息也是相同的。
在本申请实施例中,在确定出第一目标握手摘要之后,客户端就可以计算国密算法中的Z值。在计算Z值时,可以基于国密ID,国密曲线中的曲线参数和服务端的公钥坐标(x,y)来确定Z值。其中,国密ID默认为1234567812345678,曲线参数为a,b,Gx和Gy,其中,曲线参数为a,b,Gx和Gy均为固定的数值。服务端的公钥坐标(x,y)中的x和y分别为公钥的左半部分和右半部分,因此,当服务端固定时,公钥坐标(x,y)也是固定不变的。
在本申请实施例中,在确定出上述国密ID,曲线参数和服务端的公钥坐标(x,y)之后,就可以依次将国密ID,曲线参数和服务端的公钥坐标(x,y)进行连接,从而得到Z值。
在本申请实施例中,在确定出Z值和目标握手摘要之后,就可以将Z值和第一目标握手摘要进行拼接,得到待签名摘要。在得到待签名摘要之后,客户端可以调用CSP(Cryptographic Service Provider,加密服务提供者)句柄,将该待签名摘要发送至USBkey设备进行处理,其中,加密服务提供者CSP是微软定义的一套密码服务应用程序编程接口API,通过调用该API接口将签名摘要发送至USB key设备。
由于USB Key设备不支持设备外计算摘要,因此,USB Key设备会将传入的已计算过摘要的信息再计算摘要,然后再进行签名。也就是说,USB Key设备会通过国密加密套件中摘要算法对待签名摘要再次计算摘要,得到待签名摘要的摘要信息。接下来,USB Key设备就可以对待签名摘要的摘要信息进行签名,得到签名信息。其中,USB Key设备对待签名摘要的摘要信息进行签名可以理解为通过国密加密套件对计算之后的摘要信息进行加密,得到签名信息。
在本申请实施例中,服务端在获取到签名信息之后,对该签名信息进行验证。在本申请实施例中,在服务端验证签名信息时,计算国密算法中算Z值。然后,将Z值和第二目标握手摘要进行拼接,得到(Z值)+(第二目标握手摘要),也即,目标摘要。需要说明的是,在本申请实施例中,服务端计算Z值的方式与上述描述的客户端计算Z值的方式相同,此处不再赘述。第二目标握手摘要的确定过程已在上述进行描述,此处不再赘述。
一般情况下,(Z值)+(第二目标握手摘要)与客户端传入USB Key的待签名摘要是相同的。此时,服务端就可以通过国密加密套件中的摘要算法再次计算目标摘要的摘要信息。在计算得到目标摘要的摘要信息之后,就可以对签名信息进行验证。具体地,服务端对签名信息进行解密操作,以得到待签名摘要的摘要信息。然后,将目标摘要的摘要信息与所述签名信息中的摘要信息进行对比,在对比出目标摘要的摘要信息与所述签名信息中的摘要信息一致的情况下,确定通过安全连接的认证。
需要说明的是,客户端在将签名信息发送至服务端的过程中,可能会被其他客户端拦截,并篡改其中的信息。此时,如果服务端验证出目标摘要的摘要信息与所述签名信息中的摘要信息不一致的情况下,则确定安全连接的认证未通过。
需要说明的是,在一个可选的实施方式中,客户端还可以直接将第一目标握手摘要作为待签名摘要发送至USB Key设备中,以使USB key设备通过对第一目标握手摘要进行签名,得到签名信息。那么,此时,服务端在对签名信息进行验签时,将第二目标握手摘要作为目标摘要,然后,计算目标摘要的摘要信息。如果目标摘要的摘要信息与签名信息中的摘要信息一致,则确定通过安全连接的验证。
通过上述描述可知,在本申请实施例中,在握手进行到进行签名信息的验证时,是通过USB Key对待签名摘要进行摘要的计算以及签名操作。并在验证通过时,建立国密安全连接,其中,国密安全连接为使用国家商用密码组成的国密加密套件建立的SSL连接,用于保证网络传输的安全。
相对于传统的安全连接的建立方式,本申请实施例所提供的安全连接的建立方法,通过USB key设备对待签名摘要进行签名的方式,既满足国密标准要求,又能保证安全连接的握手连接阶段的报文信息不被篡改,满足中高端安全需求。
在本申请实施例中,在将所述签名信息发送至所述服务端进行安全连接的验证之后,该方法还包括如下步骤:
通过第一参数和第二参数生成第一对称密钥;
其中,所述第一参数为所述客户端生成的用于计算所述第一对称密钥的参数,所述第二参数为从所述服务端获取到的用于计算所述第一对称密钥的参数。
在本申请实施例中,客户端在将签名信息发送至服务端进行安全连接的认证之后,客户端还可以通过随机数生成器生成第一参数。在客户端与服务端协商加密算法的过程中,服务端除了向客户端发送加密套件,安全协议版本,以及服务端的数字证书等信息之外,还向客户端发送服务端通过对应的随机数生成器生成的第二参数。此时,客户端就能够基于第一参数和第二参数生成第一对称密钥。例如,可以将第一参数和第二参数进行求和计算,得到第一对称密钥。上述对称密钥为客户端和服务端之间用于进行信息传输的密钥。
在本申请实施例中,客户端在通过随机数生成器生成第一参数之后,还可以将所述第一参数发送至所述服务端,以使所述服务端基于第一参数和第二参数生成第二对称密钥。可选地,服务端在基于第一参数和第二参数生成第二对称密钥时,也可以将第一参数和第二参数进行求和计算,得到第二对称密钥。
需要说明的是,客户端基于第一参数和第二参数生成第一对称密钥的方式,与服务端基于第一参数和第二参数生成第二对称密钥的方式是相同的。因此,原则上,第一对称密钥和第二对称密钥是相同的。
在本申请实施例中,当客户端计算出的第一对称密钥与服务端计算出的第二对称密钥相同时,则表明客户端和服务端协商出用于对待传输的数据报文进行加密和解密的对称密钥。在下述实施方式中,第一对称密钥和第二对称密钥均简称为对称密钥。
在客户端和服务端在协商出对称密钥之后,客户端和服务端之间就能够开始使用安全连接通信了。此时服务端将向客户端发送通知信息,以通知客户端能够开始使用安全连接通信。此时,服务端与客户端之间的安全连接就建立完成,此时,客户端和服务端就能够按照该安全连接进行数据的通信。
在客户端和服务端基于上述安全连接进行通信的过程中,客户端在向服务端发送数据报文时,通过对称密钥对该数据报文进行加密,并将加密之后的数据报文发送给服务端。服务端在获取到该数据报文之后,通过对称密钥进行解密,得到数据报文的明文数据。需要说明的是,由于其他客户端或者其他服务端是无法知晓客户端和服务端协商出的对称密钥的,因此,客户端和服务端之间通过该对称密钥进行数据的加密和解密能够有效保证数据的安全性。即使数据报文被其他客户端拦截,其他客户端由于不知道对称密钥,也无法对数据报文进行解密,得到其明文数据。
通过上述描述可知,在本申请实施例中,通过USB Key设备建立客户端和服务端之间的国密安全连接,能够有效避免其他客户端伪装成当前客户端来与服务端进行交互,以窃取相关重要数据信息的问题,从而将大大加强当前客户端和服务端之间数据传输的安全强度,适合有中高端安全需求的用户。进一步地,在当前客户端与服务端进行数据通信时,通过协商出的对称密钥进行数据加密和解密,能够防止出现数据报文被其他客户端进行破解的问题,因为,其他客户端是无法知晓当前客户端和服务端协商出的对称密钥的。
图3是根据本申请实施例的一种安全连接的建立方法的流程图,其中,该方法可应用于服务端,如图3所示,该方法包括如下步骤:
步骤S301,获取客户端发送的协商请求,并基于所述协商请求向所述客户端返回响应信息,其中,所述响应信息中包含用于进行安全连接验证的国密加密套件的相关信息;
在本申请实施例中,当客户端和服务端之间需要建立安全连接时,客户端首先向服务端发送协商请求,该协商请求主要用于和服务端协商用于进行安全连接验证的加密算法。
具体地,客户端可以向服务端发送协商请求,在该协商请求中包括客户端所支持的加密算法列表,所支持的安全协议版本等信息,例如,SSL(Secure Sockets Layer,安全套阶层)协议的版本。服务端在获取到该协商请求之后,基于客户端所支持的加密算法列表选择加密算法和安全协议版本,向客户端发送选择响应信息,其中,响应信息中包括服务端所选择的加密套件的相关信息,其中,该相关信息中包括服务端所选择的安全协议版本,以及服务端的数字证书等信息。
步骤S302,获取所述客户端发送的签名信息,并基于所述签名信息进行安全连接的验证,其中,所述签名信息为USB key设备通过所述国密加密套件对待签名摘要进行签名之后得到的信息;
步骤S303,在验证通过时,服务端建立与所述客户端之间的国密安全连接。
在本申请实施例中,可以预先在安全套接字层密码库OpenSSL中添加国密加密套件以构成国密加密套件。OpenSSL是一个安全套接字层密码库,包括加密算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
通过在OpenSSL中添加国密加密套件之后,就能够通过该国密加密套件进行国密安全连接的建立,进而,通过基于该过国密安全连接建立的国密数据传输通道进行数据传输。其中,国密安全连接是使用商用密码组成的加密套件建立的SSL连接或者建立的TLS(Transport Layer Security,传输层安全)连接,国密安全连接用于保证网络传输安全。在数据传输的过程中,相对于通过其他非国密加密套件建立的安全传输通道,通过国密加密套件建立的国密数据传输通道的安全性更高,数据在传输的过程中安全性也更高。
在现有技术中,客户端通过加载在本地存储的数字证书和服务端协商出对称密钥,之后通过对称密钥进行加密和解密。但是,客户端在本地存储的数字证书和私钥容易受到攻击和窃取。当被其他客户端窃取时,就会导致其他客户端冒充当前客户端与服务端之间进行数据的传输,从而严重影响到数据的安全性。且随着互联网的快速发展,人们已经不满足于现有的安全需求,用户的安全需求已经向中高端安全需求发展,其中,中高端安全需求主要采用USB Key设备保存数字证书和私钥。而且在相同密钥长度的情况下,传统加密套件中的加密算法的加密安全强度远低于国密加密套件中的国密加密算法。例如,公钥加密算法(RSA算法)的加密安全强度远低于国密加密套件中的非对称加密算法SM2。
在本申请实施例中,服务端获取客户端发送的协商请求,并基于协商请求向客户端返回响应信息;服务端获取客户端发送的签名信息,并基于签名信息进行安全连接验证,签名信息为USB key通过国密加密套件对待签名摘要进行签名之后得到的信息;在验证通过时,向所述客户端发送能够通过安全连接进行通信的信息。在本申请实施例中,通过使用国密USB Key设备建立安全连接,将大大加强数据的安全强度,适合有中高端安全需求的用户,进而缓解了在采用通过现有的安全连接方式建立的安全连接进行数据交互时,数据安全性较低的技术问题。
在一个可选的实施方式中,如图4所示,基于所述签名信息进行安全连接的验证包括如下步骤:
步骤S401,计算国密算法中的Z值;
步骤S402,将所述Z值和第二目标握手摘要进行拼接,得到目标摘要,其中,第二目标握手摘要为服务端通过所述国密加密套件中的摘要算法对所述协商请求和所述响应信息分别进行计算得到的摘要信息;
步骤S403,通过所述国密加密套件中的摘要算法计算所述目标摘要的摘要信息;
步骤S404,如果所述目标摘要的摘要信息与所述签名信息中的摘要信息一致,则确定通过安全连接的验证。
在本申请实施例中,在服务端验证签名信息时,首先国密算法中算Z值。然后,将Z值和第二目标握手摘要进行拼接,得到(Z值)+(第二目标握手摘要),也即,目标摘要。需要说明的是,在本申请实施例中,服务端计算Z值的方式与上述描述的客户端计算Z值的方式相同,此处不再赘述。第二目标握手摘要的确定过程已在上述进行描述,此处不再赘述。
一般情况下,(Z值)+(第二目标握手摘要)与客户端传入USB Key的待签名摘要是相同的。此时,服务端就可以通过国密加密套件中的摘要算法再次计算目标摘要的摘要信息。在计算得到目标摘要的摘要信息之后,就可以对签名信息进行验证。具体地,服务端对签名信息进行解密操作,以得到待签名摘要的摘要信息。然后,将目标摘要的摘要信息与所述签名信息中的摘要信息进行对比,在对比出目标摘要的摘要信息与所述签名信息中的摘要信息一致的情况下,确定通过安全连接的认证。
需要说明的是,客户端在将签名信息发送至服务端的过程中,可能会被其他客户端拦截,并篡改其中的信息。此时,如果服务端验证出目标摘要的摘要信息与所述签名信息中的摘要信息不一致的情况下,则确定安全连接的认证未通过。
通过上述描述可知,在本申请实施例中,通过国密加密套件进行安全连接的认证时,既满足国密标准要求又保证握手过程不被篡改,同时规避了USB Key设备不支持设备外计算摘要的特性。
在本申请实施例中,该方法还包括如下步骤:
生成用于计算第一对称密钥的第二参数;
将第二参数发送至所述客户端,以使所述客户端基于第一参数和第二参数生成所述第一对称密钥,其中,所述第一参数为所述客户端生成的用于计算所述对称密钥的参数。
在本申请实施例中,在客户端与服务端协商加密算法的过程中,服务端除了向客户端发送加密套件,安全协议版本,以及服务端的数字证书等信息之外,还向客户端发送用于服务端通过随机数生成器生成的第二参数。并将该第二参数发送至客户端中,以使客户端在在确定通过所述安全连接的验证之后,生成第一参数,之后客户端就能够基于第一参数和第二参数生成第一对称密钥。上述第一对称密钥为客户端和服务端之间用于进行信息传输的密钥。
在本申请实施例中,在确定通过所述安全连接的验证之后,服务端还可以通过第一参数和第二参数生成第二对称密钥;其中,所述第二参数为所述服务端生成的用于计算所述第二对称密钥的参数,所述第一参数为从所述客户端获取到的用于计算所述第二对称密钥的参数。
需要说明的是,客户端基于第一参数和第二参数生成第一对称密钥的方式,与服务端基于第一参数和第二参数生成第二对称密钥的方式是相同的。因此,原则上,第一对称密钥和第二对称密钥是相同的。
在本申请实施例中,当客户端计算出的第一对称密钥与服务端计算出的第二对称密钥相同时,则表明客户端和服务端协商出用于对待传输的数据报文进行加密和解密的对称密钥。在下述实施方式中,第一对称密钥和第二对称密钥均简称为对称密钥。
在客户端和服务端在协商出对称密钥之后,客户端和服务端之间就能够开始使用安全连接通信了。此时服务端将向客户端发送通知信息,以通知客户端能够开始使用安全连接通信。此时,服务端与客户端之间的安全连接就建立完成,此时,客户端和服务端就能够按照该安全连接进行数据的通信。
通过上述描述可知,在本申请实施例中,通过USB Key设备建立客户端和服务端之间的国密安全连接,能够有效避免其他客户端伪装成当前客户端来与服务端进行交互,以窃取相关重要数据信息的问题,从而将大大加强当前客户端和服务端之间数据传输的安全强度,适合有中高端安全需求的用户。进一步地,在当前客户端与服务端进行数据通信时,通过协商出的对称密钥进行数据加密和解密,能够防止出现数据报文被其他客户端进行破解的问题,因为,其他客户端是无法知晓当前客户端和服务端协商出的对称密钥的。
图5是根据本申请实施例的一种安全连接的建立方法的交互图,如图5所示,该方法包括如下步骤:
步骤S501,客户端向服务端发送协商请求;
在本申请实施例中,当客户端和服务端之间需要建立安全连接时,客户端可以向服务端发送协商请求,在该协商请求中包括客户端所支持的加密算法列表,所支持的安全协议版本(SSL协议的版本),以及客户端的数字证书等信息。
步骤S502,服务端基于所述协商请求返回响应信息,其中,所述响应信息中包含用于进行安全连接验证的国密加密套件的相关信息;
在本申请实施例中,服务端在获取到该协商请求之后,基于客户端所支持的加密算法列表选择加密算法,安全协议版本,以及向客户端发送选择的加密套件的相关信息,安全协议版本,以及服务端的数字证书等响应信息,以对该协商请求进行响应。除此之外,服务端还可以向客户端返回用于服务端通过随机数生成的第二参数,以用于客户端基于该第二参数生成第一对称密钥。
步骤S503,客户端基于服务端返回的响应信息选择国密加密套件;
步骤S504,通过所述国密加密套件中的摘要算法对所述响应信息和协商请求分别进行摘要计算,得到第一目标握手摘要;
步骤S505,客户端计算国密算法中的Z值;并将所述Z值和第一目标握手摘要进行拼接,得到所述待签名摘要;
在本申请实施例中,客户端首先计算Z值;接下来,客户端将Z值和第一目标握手摘要进行拼接,得到待签名摘要。需要说明的是,在本申请实施例中,第一目标握手摘要为通过摘要算法对协商请求和响应信息分别进行计算得到的摘要信息。
步骤S506,客户端调用CSP句柄,并将所述待签名摘要发送至所述USB key设备;
在本申请实施例中,在确定出Z值和第一目标握手摘要之后,就可以将Z值和第一目标握手摘要进行拼接,得到待签名摘要。在得到待签名摘要之后,客户端可以调用CSP句柄,并将该待签名摘要发送至USB key设备进行处理。
步骤S507,USB key设备通过国密加密套件中的摘要算法计算待签名摘要的摘要信息,并通过国密加密套件对待签名摘要的摘要信息进行签名,得到签名信息;
在本申请实施例中,由于USB Key设备不支持设备外计算摘要,因此,USB Key设备会将传入的已计算过摘要的信息再计算摘要,然后再进行签名。也就是说,USB Key设备会通过国密加密套件中的摘要算法对待签名摘要再次计算摘要,得到待签名摘要的摘要信息。此时,USB Key设备可以对待签名摘要的摘要信息进行签名,得到签名信息。其中,USBKey设备对待签名摘要的摘要信息进行签名可以理解为通过国密加密套件对待签名摘要的摘要信息进行加密,得到签名信息。
步骤S508,USB key设备将签名信息发送至客户端;
步骤S509,客户端获取签名信息,客户端根据第一参数和服务端发送的第二参数计算第一对称密钥;并将签名信息和第一参数发送至服务端;
步骤S510,服务端对获取到的签名信息进行验证,并获取客户端发送的第一参数,以根据第一参数和第二参数计算第二对称密钥,并通知客户端开始使用安全连接通信。
原则上,客户端计算的第一对称密钥和服务端计算出的第二对称密钥是相同的。因此,在一个可选的实施例中,服务端(或者,客户端)可以将第二对称密钥发送至客户端(或者,服务端),以使客户端(或者,服务端)验证第一对称密钥和第二对称密钥是否相同。如果相同,则客户端(或者,服务端)向服务端(或者,客户端)返回相同的确认信息。此时,服务端就可以通知客户端开始使用安全连接通信。在另一个可选的实施例中,服务端和客户端之间无需验证第一对称密钥和第二对称密钥是否相同,此时,服务端可以在计算出第二对称密钥之后,直接通知客户端开始使用安全连接通信。
在本申请实施例中,在服务端验证签名信息时,计算国密算法中算Z值。然后,将Z值和目标握手摘要进行拼接,得到(Z值)+(第二目标握手摘要),也即,目标摘要。需要说明的是,在本申请实施例中,服务端计算Z值的方式与上述描述的客户端计算Z值的方式相同,此处不再赘述。第二目标握手摘要的确定过程已在上述进行描述,此处不再赘述。此时,服务端就可以通过摘要算法再次计算目标摘要的摘要信息。在计算得到目标摘要的摘要信息之后,就可以对签名信息进行验证。具体地,服务端对签名信息进行解密操作,以得到待签名摘要的摘要信息。然后,将目标摘要的摘要信息与所述签名信息中的摘要信息进行对比,在对比出目标摘要的摘要信息与所述签名信息中的摘要信息一致的情况下,确定通过安全连接的认证。
在客户端和服务端分别基于第一参数和第二参数生成相同的对称密钥之后,客户端和服务端之间就能够开始使用安全连接通信了。此时服务端将向客户端发送通知信息,以通知客户端能够开始使用安全连接通信。此时,服务端与客户端之间的安全连接就建立完成,此时,客户端和服务端就能够按照该安全连接进行数据的通信。
实施例二:
本申请实施例还提供了一种安全连接的建立装置,该安全连接的建立装置主要用于执行本申请实施例上述内容所提供的安全连接的建立方法,以下对本申请实施例提供的安全连接的建立装置做具体介绍。
图6是根据本申请实施例的一种安全连接的建立装置的示意图,如图6所示,该安全连接的建立装置设置在客户端,主要包括:第一客户端发送单元61,客户端确定单元62和第二客户端发送单元63,其中:
第一客户端发送单元61,用于向服务端发送协商请求,并获取所述服务端基于所述协商请求返回的响应信息,其中,所述响应信息中包含用于进行安全连接验证的国密加密套件的相关信息;
客户端确定单元62,用于基于所述协商请求和所述响应信息确定待签名摘要,并向USB key设备发送所述待签名摘要,以使所述USB key设备通过所述国密加密套件对所述待签名摘要进行签名,得到签名信息;
第二客户端发送单元63,用于获取所述USB key设备发送的所述签名信息,并将所述签名信息发送至所述服务端进行安全连接的验证,其中,在验证通过时,建立所述客户端和所述服务端之间的国密安全连接。
在本申请实施例中,首先,客户端向服务端发送协商请求,并获取服务端基于协商请求返回的包含用于进行安全连接验证的国密加密套件的响应信息;客户端基于协商请求和响应信息确定待签名摘要,并向USB key设备发送待签名摘要,以使USB key设备对待签名摘要进行签名,得到签名信息;客户端获取USB key设备发送的所述签名信息,并将签名信息发送至服务端进行安全连接的验证。在本申请实施例中,通过使用USB Key设备建立国密安全连接,将大大加强数据的安全强度,适合有中高端安全需求的用户,进而缓解了在采用通过现有的安全连接方式建立的安全连接进行数据交互时,数据安全性较低的技术问题。
图7是根据本申请实施例的另一种安全连接的建立装置的示意图,如图7所示,该安全连接的建立装置设置在服务端,主要包括第一服务端获取单元71,第二服务端获取验证单元72和服务端建立单元73,其中:
第一服务端获取单元71,用于获取客户端发送的协商请求,并基于所述协商请求向所述客户端返回响应信息,其中,所述响应信息中包含用于进行安全连接验证的国密加密套件的相关信息;
第二服务端获取验证单元72,用于获取所述客户端发送的签名信息,并基于所述签名信息进行安全连接的验证,其中,所述签名信息为USB key设备通过所述国密加密套件对待签名摘要进行签名之后得到的信息;
服务端建立单元73,用于在验证通过时,建立所述客户端和所述服务端之间的国密安全连接。
在本申请实施例中,服务端获取客户端发送的协商请求,并基于协商请求向客户端返回响应信息;服务端获取客户端发送的签名信息,并基于签名信息进行安全连接验证,签名信息为USB key通过国密加密套件对待签名摘要进行签名之后得到的信息;在验证通过时,向所述客户端发送能够通过安全连接进行通信的信息。在本申请实施例中,通过使用国密USB Key设备建立安全连接,将大大加强数据的安全强度,适合有中高端安全需求的用户,进而缓解了在采用通过现有的安全连接方式建立的安全连接进行数据交互时,数据安全性较低的技术问题。
本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
在本申请的另一个实施例中,本申请实施例还提供一种客户端,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述应用于客户端的方法实施例所描述的方法的步骤。
在本申请的另一个实施例中,本申请实施例还提供一种服务端,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述应用于服务端的方法实施例所描述的方法的步骤。
在本申请的另一个实施例中,本申请实施例还提供一种安全连接的建立系统,包括如前述实施例所描述的客户端,如前述实施例所描述的服务端;其中,所述客户端用于在国密安全连接的握手连接阶段,向服务端发送协商请求,以确定用于进行安全连接验证的国密加密套件;基于所述握手连接阶段中协商阶段的握手信息确定待签名摘要,并向USBkey发送所述待签名摘要;所述USB key用于通过所述国密加密套件对所述待签名摘要进行签名,得到签名信息;所述服务端用基于所述签名信息进行安全连接验证,其中,在验证通过时,建立所述客户端和所述服务端之间的国密安全连接。
另外,在本申请实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (7)

1.一种安全连接的建立方法,其特征在于,应用于客户端,预先在安全套接字层密码库OpenSSL中添加国密加密套件以构成国密加密套件,包括:
向服务端发送协商请求,并获取所述服务端基于所述协商请求返回的响应信息,其中,所述协商请求中包括所述客户端所支持的加密算法列表以及所支持的安全协议版本,所述响应信息中包含用于进行安全连接验证的国密加密套件的相关信息,所述相关信息中包括服务端所选择的安全协议版本以及服务端的数字证书;
如果客户端和服务端之间协商出的加密套件为国密加密套件,则通过所述国密加密套件中的摘要算法对所述协商请求和所述响应信息分别进行摘要计算,得到第一目标握手摘要;
计算国密算法中的Z值;
将所述Z值和所述第一目标握手摘要进行拼接,得到待签名摘要;
向USB key设备发送所述待签名摘要,以使所述USB key设备通过所述国密加密套件对所述待签名摘要进行签名,得到签名信息;
获取所述USB key设备发送的所述签名信息,并将所述签名信息发送至所述服务端进行安全连接的验证,其中,在验证通过时,建立所述客户端和所述服务端之间的国密安全连接。
2.根据权利要求1所述的方法,其特征在于,将所述Z值和所述第一目标握手摘要进行拼接包括:
将用于表示所述Z值的数组和用于表示所述第一目标握手摘要的数组进行首尾相连,得到所述待签名摘要。
3.一种安全连接的建立方法,其特征在于,应用于服务端,预先在安全套接字层密码库OpenSSL中添加国密加密套件以构成国密加密套件,包括:
获取客户端发送的协商请求,并基于所述协商请求向所述客户端返回响应信息,其中,所述协商请求中包括所述客户端所支持的加密算法列表以及所支持的安全协议版本,所述响应信息中包含用于进行安全连接验证的国密加密套件的相关信息,所述相关信息中包括服务端所选择的安全协议版本以及服务端的数字证书;
如果客户端和服务端之间协商出的加密套件为国密加密套件,则获取所述客户端发送的签名信息,其中,所述签名信息为USB key设备通过所述国密加密套件对待签名摘要进行签名之后得到的信息;
计算国密算法中的Z值;
将所述Z值和第二目标握手摘要进行拼接,得到目标摘要,其中,所述第二目标握手摘要为所述服务端通过所述国密加密套件中的摘要算法对所述协商请求和所述响应信息分别进行计算得到的摘要信息;
通过所述国密加密套件中的摘要算法计算所述目标摘要的摘要信息;
如果所述目标摘要的摘要信息与所述签名信息中的摘要信息一致,则确定通过安全连接的验证;
在验证通过时,建立所述客户端和所述服务端之间的国密安全连接。
4.根据权利要求3所述的方法,其特征在于,基于所述协商请求向所述客户端返回响应信息包括:
在确定出所述服务端的数字证书为国密证书的情况下,向所述客户端发送所述响应信息,其中,所述响应信息中包括:用于进行安全连接验证的国密加密套件的相关信息,所述服务端的数字证书,所述服务端所支持的协议信息。
5.一种客户端,其特征在于,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1至2中任一项所述的方法的步骤。
6.一种服务端,其特征在于,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求3至4中任一项所述的方法的步骤。
7.一种安全连接的建立系统,其特征在于,包括:如权利要求5所述的客户端,以及如权利要求6所述的服务端;
其中,所述客户端用于在国密安全连接的握手连接阶段,向服务端发送协商请求,以确定用于进行安全连接验证的国密加密套件;基于所述握手连接阶段中协商阶段的握手信息确定待签名摘要,并向USB key设备发送待签名摘要;
所述USB key设备用于通过所述国密加密套件对所述待签名摘要进行签名,得到签名信息;
所述服务端用于基于所述签名信息进行安全连接验证,其中,在验证通过时,建立所述客户端和所述服务端之间的国密安全连接。
CN201810071713.5A 2018-01-25 2018-01-25 安全连接的建立方法、系统、以及客户端和服务端 Active CN108429620B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810071713.5A CN108429620B (zh) 2018-01-25 2018-01-25 安全连接的建立方法、系统、以及客户端和服务端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810071713.5A CN108429620B (zh) 2018-01-25 2018-01-25 安全连接的建立方法、系统、以及客户端和服务端

Publications (2)

Publication Number Publication Date
CN108429620A CN108429620A (zh) 2018-08-21
CN108429620B true CN108429620B (zh) 2021-10-12

Family

ID=63156182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810071713.5A Active CN108429620B (zh) 2018-01-25 2018-01-25 安全连接的建立方法、系统、以及客户端和服务端

Country Status (1)

Country Link
CN (1) CN108429620B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111163035A (zh) * 2018-11-07 2020-05-15 中国电信股份有限公司 家庭网关远程连接的管理方法、装置和系统
CN109450901A (zh) * 2018-11-12 2019-03-08 北京天融信网络安全技术有限公司 国密隧道建立方法、装置及设备
CN110381043B (zh) * 2019-07-08 2022-03-01 杭州迪普科技股份有限公司 基于ssl的服务器健康检测方法、装置、电子设备
CN110380852B (zh) * 2019-07-22 2023-06-16 中国联合网络通信集团有限公司 双向认证方法及通信系统
CN111555881A (zh) * 2020-03-23 2020-08-18 中安云科科技发展(山东)有限公司 使用sdf、skf实现国密ssl协议的方法及系统
CN111478974B (zh) * 2020-04-27 2023-10-13 奇安信科技集团股份有限公司 网络连接方法及装置、电子设备和可读存储介质
CN111865609A (zh) * 2020-07-03 2020-10-30 上海缔安科技股份有限公司 一种基于国密算法的私有云平台数据加解密系统
CN112217833B (zh) * 2020-10-21 2022-03-25 新华三信息安全技术有限公司 一种安全套接字协议卸载方法、装置、存储介质及电子设备
CN112422275A (zh) * 2020-10-26 2021-02-26 深圳Tcl新技术有限公司 Uart通信中的秘钥协商方法、系统、设备及计算机存储介质
CN114389860B (zh) * 2021-12-24 2022-11-15 北京百度网讯科技有限公司 语音通信方法、客户端、服务端、电子设备及存储介质
CN115714681B (zh) * 2022-11-11 2024-05-14 中国联合网络通信集团有限公司 数据验证方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020032884A1 (en) * 1997-02-18 2002-03-14 Hiroshi Kobata Robust delivery system
CN103338215A (zh) * 2013-07-26 2013-10-02 中金金融认证中心有限公司 基于国密算法建立tls通道的方法
CN104580189A (zh) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 一种安全通信系统
CN106027574A (zh) * 2016-07-28 2016-10-12 杭州迪普科技有限公司 身份认证方法和装置
CN106972919A (zh) * 2017-03-29 2017-07-21 北京奇虎科技有限公司 一种密钥协商方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020032884A1 (en) * 1997-02-18 2002-03-14 Hiroshi Kobata Robust delivery system
CN103338215A (zh) * 2013-07-26 2013-10-02 中金金融认证中心有限公司 基于国密算法建立tls通道的方法
CN104580189A (zh) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 一种安全通信系统
CN106027574A (zh) * 2016-07-28 2016-10-12 杭州迪普科技有限公司 身份认证方法和装置
CN106972919A (zh) * 2017-03-29 2017-07-21 北京奇虎科技有限公司 一种密钥协商方法和装置

Also Published As

Publication number Publication date
CN108429620A (zh) 2018-08-21

Similar Documents

Publication Publication Date Title
CN108429620B (zh) 安全连接的建立方法、系统、以及客户端和服务端
US8868909B2 (en) Method for authenticating a communication channel between a client and a server
EP2173055A1 (en) A method, a system, a client and a server for key negotiating
CN109150897B (zh) 一种端到端的通信加密方法及装置
CN110635901B (zh) 用于物联网设备的本地蓝牙动态认证方法和系统
WO2014107977A1 (zh) 密钥保护方法和系统
CN113806772A (zh) 基于区块链的信息加密传输方法及装置
KR20100050846A (ko) 키 교환 시스템 및 방법
CN111756529A (zh) 一种量子会话密钥分发方法及系统
CN107483388A (zh) 一种安全通信方法及其终端和云端
WO2022135391A1 (zh) 身份鉴别方法、装置、存储介质、程序、及程序产品
CN111756528A (zh) 一种量子会话密钥分发方法、装置及通信架构
CN106656955A (zh) 一种通信方法及系统、客户端
CN114500055B (zh) 密码验证方法、装置及电子设备、存储介质
CN104243452A (zh) 一种云计算访问控制方法及系统
CN114696999A (zh) 一种身份鉴别方法和装置
CN114760026A (zh) 一种身份鉴别方法和装置
WO2022135379A1 (zh) 一种身份鉴别方法和装置
EP4262136A1 (en) Identity authentication method and apparatus, storage medium, program, and program product
WO2022135388A1 (zh) 身份鉴别方法、装置、设备、芯片、存储介质及程序
KR101256114B1 (ko) 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템
JP2008152737A (ja) サービス提供サーバ、認証サーバ、および認証システム
CN114039793B (zh) 一种加密通信方法、系统及存储介质
WO2022135385A1 (zh) 一种身份鉴别方法和装置
WO2022135386A1 (zh) 一种身份鉴别方法和装置

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