CN111182004A - Ssl握手方法、装置及设备 - Google Patents
Ssl握手方法、装置及设备 Download PDFInfo
- Publication number
- CN111182004A CN111182004A CN202010163392.9A CN202010163392A CN111182004A CN 111182004 A CN111182004 A CN 111182004A CN 202010163392 A CN202010163392 A CN 202010163392A CN 111182004 A CN111182004 A CN 111182004A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- certificate
- random number
- master secret
- 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
Classifications
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
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)
Abstract
本发明实施例公开了SSL握手方法、装置及设备,该SSL握手方法包括:向服务器发送安全套接层SSl连接请求;接收服务器发送的服务器证书;在服务器证书验证通过后,通过USB Key生成客户端签名和次主秘密,并将客户端签名、客户端证书和次主秘密发送给服务器,以便服务器根据次主秘密得到主秘密;生成与服务器之间的会话密钥;根据会话密钥与服务器进行数据交互。本发明能够让客户端的私钥存储在USB Key中,整个使用过程也不出USB Key这个范围,从而大大增强协议执行过程的安全性。
Description
技术领域
本发明实施例涉及通信领域,具体涉及SSL握手方法、装置及设备。
背景技术
安全套接层(Secure Sockets Layer,SSL)握手协议是关于客户端和服务器如何协商他们在安全信道中要使用的安全参数,这些参数包括要采用的协议版本、加密算法和密钥。同时,客户端和服务器之间要进行身份认证。
目前,SSL握手过程通行的做法都是用软件实现的,这样导致的一个问题就是客户端的私钥以代码的形式或者文件的形式保存在系统中,非常不安全,容易泄露。
发明内容
本发明实施例的目的在于提供SSL握手方法、装置及设备,用以解决现有SSL握手过程中客户端私钥不安全,易泄露的问题。
为实现上述目的,本发明实施例主要提供如下技术方案:
第一方面,本发明实施例提供了一种客户端安全套接层握手方法,包括:向服务器发送安全套接层SSl连接请求;接收所述服务器发送的服务器证书;在所述服务器证书验证通过后,通过USB Key生成客户端签名和次主秘密,并将所述客户端签名、客户端证书和所述次主秘密发送给所述服务器,以便所述服务器根据所述次主秘密得到主秘密,其中,所述客户端签名是根据第一随机数和时间戳生成的,所述次主秘密是根据所述服务器证书中的公钥加密得到的;生成与所述服务器之间的会话密钥;根据所述会话密钥与所述服务器进行数据交互。
根据本发明的一个实施例,通过USB Key生成所述客户端签名,包括:在插入USBKey后,进行PIN码验证;在所述PIN码验证通过后,在所述USB Key内部产生所述第一随机数;通过所述USB Key内部存储的所述客户端的私钥对所述第一随机数和所述时间戳进行签名得到所述客户端签名。
根据本发明的一个实施例,在接收所述服务器发送的所述服务器证书之后,还包括:验证所述服务器证书是否为信任的认证机构签发的,并验证所述服务器证书是否处于有效期内;如果所述服务器证书为信任的认证机构签发的,且所述服务器证书处于有效期内,则所述服务器证书验证通过。
第二方面,本发明实施例还提供一种服务器安全套接层握手方法,包括:接收客户端发送的SSl连接请求;向所述客户端发送服务器证书,以便在所述客户端对所述服务器证书验证通过后,由所述客户端根据USB Key生成客户端签名和次主秘密,其中,所述服务器证书包括服务器的身份信息、所述服务器的公钥、所述服务器证书的签发机构的身份信息和签名信息,所述客户端签名是根据第一随机数和时间戳生成的;接收所述客户端发送的所述客户端签名、客户端证书和所述次主秘密;在对所述客户端证书的有效性验证通过后,验证所述客户端签名,并检测所述第一随机数和所述时间戳是否有效;在所述客户端签名验证通过,且认定所述第一随机数和所述时间戳有效时,根据所述次主秘密生成主秘密;生成与所述客户端之间的会话密钥;根据所述会话密钥与所述客户端进行数据交互。
根据本发明的一个实施例,检测所述第一随机数和所述时间戳是否有效,包括:将所述第一随机数与历史随机数进行匹配,并检测所述时间戳与当前时间的时间差时是否在预设时间范围内,其中,所述历史随机数为所述客户端与所述服务器之前通信时使用过的随机数;如果第一随机数与所述历史随机数匹配失败,且所述时间戳与所述当前时间的时间差时处于所述预设时间范围内,则认定所述第一随机数和所述时间戳有效。
根据本发明的一个实施例,在接收所述客户端发送的所述客户端签名、所述客户端证书和所述次主秘密之后,包括:验证所述客户端证书是否为信任的认证机构签发的,并验证所述客户端证书是否处于有效期内;如果所述客户端证书为信任的认证机构签发的,且所述客户端证书处于有效期内,则所述服务器证书验证通过。
第三方面,本发明的实施例还提供一种客户端安全套接层握手装置,包括:第一通信模块,用于向服务器发送安全套接层SSl连接请求,并接收所述服务器发送的服务器证书;控制处理模块,用于在所述服务器证书验证通过后,通过USB Key生成客户端签名和次主秘密;其中,所述第一通信模块还用于将所述客户端签名、客户端证书和所述次主秘密发送给所述服务器,以便所述服务器根据所述次主秘密得到主秘密,其中,所述客户端签名是根据第一随机数和时间戳生成的,所述次主秘密是根据所述服务器证书中的公钥加密得到的;所述控制处理模块还用于生成与所述服务器之间的会话密钥,所述第一通信模块还用于根据所述会话密钥与所述服务器进行数据交互。
第四方面,本发明的实施例还提供一种服务器安全套接层握手装置,包括:第二通信模块,用于接收客户端发送的SSl连接请求,并向所述客户端发送服务器证书,以便在所述客户端对所述服务器证书验证通过后,由所述客户端根据USB Key生成客户端签名和次主秘密;所述第二通信模块还用于接收所述客户端发送的所述客户端签名、客户端证书和所述次主秘密;其中,所述服务器证书包括服务器的身份信息、所述服务器的公钥、所述服务器证书的签发机构的身份信息和签名信息,所述客户端签名是根据第一随机数和时间戳生成的;验证处理模块,用于在对所述客户端证书的有效性验证通过后,验证所述客户端签名,并检测所述第一随机数和所述时间戳是否有效;在所述客户端签名验证通过,且认定所述第一随机数和所述时间戳有效时,根据所述次主秘密生成主秘密;所述验证处理模块还用于生成与所述客户端之间的会话密钥;其中,所述第二通信模块还用于根据所述会话密钥与所述客户端进行数据交互。
第五方面,本发明的实施例还提供一种电子设备,包括:至少一个处理器和至少一个存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行如第一方面所述的客户端安全套接层握手方法。
第六方面,本发明的实施例还提供一种计算机可读存储介质,包含一个或多个程序指令,所述一个或多个程序指令用于被执行如第一方面所述的客户端安全套接层握手方法。
本发明实施例提供的技术方案至少具有如下优点:
本发明实施例提供的SSL握手方法、装置及设备,能够让客户端的私钥存储在USBKey中,整个使用过程也不出USB Key这个范围,从而大大增强协议执行过程的安全性。
附图说明
图1为本发明实施例的客户端安全套接层握手方法的流程图。
图2为本发明实施例的服务器安全套接层握手方法的流程图。
图3为本发明实施例的客户端安全套接层握手装置的结构框图。
图4为本发明实施例的服务器安全套接层握手装置的结构框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
在本发明的描述中,需要理解的是,术语“第一”和“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”和“连接”应做广义理解,例如可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
图1为本发明实施例的客户端安全套接层握手方法的流程图。如图1所示,本发明实施例的客户端安全套接层握手方法,包括:
S11:向服务器发送SSL连接请求。
具体地,客户端浏览器接收用户输入的服务器地址,由客户端浏览器向服务器发送SSL连接请求。
S12:接收服务器发送的服务器证书。
具体地,服务器响应客户端的连接请求,并向客户端浏览器发送服务器证书,证书格式通常为X.509证书。其中,服务器证书包含服务器的身份信息和服务器的公钥,以及证书签发机构(Certificate Authority,CA)的身份信息和CA签名信息。同时发送请求对客户端进行认证。
S13:在服务器证书验证通过后,通过USB Key生成客户端签名和次主秘密,并将客户端签名、客户端证书和次主秘密发送给服务器,以便服务器根据次主秘密得到主秘密。其中,客户端签名是根据第一随机数和时间戳生成的,次主秘密是根据服务器证书中的公钥加密得到的。
具体地,客户端浏览器首先验证服务器证书。在本发明的一个实施例中,客户端浏览器验证服务器证书是否为信任的认证机构签发的,并验证服务器证书是否处于有效期内;如果服务器证书为信任的认证机构签发的,且服务器证书处于有效期内,则服务器证书验证通过。
客户端浏览器在服务器证书验证通过后,通过USB Key生成客户端签名和次主秘密。在本发明的一个实施例中,客户端浏览器通过USB Key生成客户端签名,具体包括:在插入USB Key后,进行PIN码验证;在PIN码验证通过后,在USB Key内部产生第一随机数rc;通过USB Key内部存储的客户端的私钥d对第一随机数rc和时间戳tc进行签名得到客户端签名S(tc,rc)。
客户端浏览器从USB Key中取出客户端证书,并将客户端证书连同客户端签名S(tc,rc)一起发送给服务器。
服务器收到客户端证书后,首先检验客户端证书的有效性,然后从客户端证书中取出客户端公钥e,用其来验证客户端签名,并检查时间戳tc与当前时间的时间差是否在预设时间范围内,并验证第一随机数rc与历史随机数进行匹配。如果第一随机数rc与历史随机数匹配失败,且时间戳tc与当前时间的时间差时处于预设时间范围内,则认定第一随机数rc和时间戳tc有效。其中,历史随机数为客户端与服务器之前通信时使用过的随机数,如果第一随机数rc与历史随机数相同,则表示客户端浏览器可能被攻击。
服务器在对客户端签名和客户端证书验证通过后,根据次主秘密得到主秘密。转化函数采用MD5或者SHA1,以及客户端浏览器和服务器之前交换过的随机数。
S14:客户端浏览器生成与服务器之间的会话密钥。
S15:根据会话密钥与服务器进行数据交互。
图2为本发明实施例的服务器安全套接层握手方法的流程图。如图2所示,本发明实施例的服务器安全套接层握手方法,包括:
S21:服务器接收客户端发送的SSl连接请求。
S22:服务器向客户端发送服务器证书,以便在客户端对服务器证书验证通过后,由客户端根据USB Key生成客户端签名和次主秘密。其中,服务器证书包括服务器的身份信息、服务器的公钥、服务器证书的签发机构的身份信息和签名信息,客户端签名是根据第一随机数和时间戳生成的。
S23:服务器接收客户端发送的客户端签名、客户端证书和次主秘密。
S24:服务器在对客户端证书的有效性验证通过后,验证客户端签名,并检测第一随机数和时间戳是否有效。服务器在客户端签名验证通过,且认定第一随机数和时间戳有效时,根据次主秘密生成主秘密。
S25:服务器生成与客户端之间的会话密钥。
S26:服务器根据会话密钥与客户端进行数据交互。
在本发明的一个实施例中,检测第一随机数和时间戳是否有效,包括:将第一随机数与历史随机数进行匹配,并检测时间戳与当前时间的时间差时是否在预设时间范围内,其中,历史随机数为客户端与服务器之前通信时使用过的随机数;如果第一随机数与历史随机数匹配失败,且时间戳与当前时间的时间差时处于预设时间范围内,则认定第一随机数和时间戳有效。
在本发明的一个实施例中,在接收客户端发送的客户端签名、客户端证书和次主秘密之后,包括:验证客户端证书是否为信任的认证机构签发的,并验证客户端证书是否处于有效期内;如果客户端证书为信任的认证机构签发的,且客户端证书处于有效期内,则服务器证书验证通过。
需要说明的是,本发明实施例的服务器安全套接层握手方法的具体实施方式与本发明实施例的客户端安全套接层握手方法的具体实施方式类似,区别仅在于本发明实施例的服务器安全套接层握手方法通过服务器的角度说明SSl握手过程,而本发明实施例的客户端安全套接层握手方法是以客户端浏览器的角度说明SSl握手过程。具体参见本发明实施例的服务器安全套接层握手方法部分的描述,为了减少冗余,不做赘述。
图3为本发明实施例的客户端安全套接层握手装置的结构框图。如图3所示,本发明实施例的客户端安全套接层握手装置,包括:第一通信模块310和控制处理模块320。
其中,第一通信模块310用于向服务器发送安全套接层SSl连接请求,并接收服务器发送的服务器证书。控制处理模块320用于在服务器证书验证通过后,通过USB Key生成客户端签名和次主秘密。第一通信模块310还用于将客户端签名、客户端证书和次主秘密发送给服务器,以便服务器根据次主秘密得到主秘密。其中,客户端签名是根据第一随机数和时间戳生成的,次主秘密是根据服务器证书中的公钥加密得到的。控制处理模块320还用于生成与服务器之间的会话密钥。第一通信模块310还用于根据会话密钥与服务器进行数据交互。
在本发明的一个实施例中,控制处理模块320具体用于在插入USB Key后,进行PIN码验证;在PIN码验证通过后,在USB Key内部产生第一随机数;通过USB Key内部存储的客户端的私钥对第一随机数和时间戳进行签名得到客户端签名。
在本发明的一个实施例中,控制处理模块320还用于验证服务器证书是否为信任的认证机构签发的,并验证服务器证书是否处于有效期内;如果服务器证书为信任的认证机构签发的,且服务器证书处于有效期内,则服务器证书验证通过。
需要说明的是,本发明实施例的客户端安全套接层握手装置的具体实施方式与本发明实施例的客户端安全套接层握手方法的具体实施方式类似,具体参见客户端安全套接层握手方法部分的描述,为了减少冗余,不做赘述。
图4为本发明实施例的服务器安全套接层握手装置的结构框图。如图4所示,本发明实施例的服务器安全套接层握手装置,包括:第二通信模块410和验证处理模块420。
其中,第二通信模块410用于接收客户端发送的SSl连接请求,并向客户端发送服务器证书,以便在客户端对服务器证书验证通过后,由客户端根据USB Key生成客户端签名和次主秘密。第二通信模块410还用于接收客户端发送的客户端签名、客户端证书和次主秘密.其中,服务器证书包括服务器的身份信息、服务器的公钥、服务器证书的签发机构的身份信息和签名信息。客户端签名是根据第一随机数和时间戳生成的。
验证处理模块420用于在对客户端证书的有效性验证通过后,验证客户端签名,并检测第一随机数和时间戳是否有效。在客户端签名验证通过,且认定第一随机数和时间戳有效时,根据次主秘密生成主秘密。验证处理模块420还用于生成与所述客户端之间的会话密钥。
其中,第二通信模块410还用于根据会话密钥与客户端进行数据交互。
在本发明的一个实施例中,验证处理模块420具体用于将第一随机数与历史随机数进行匹配,并检测时间戳与当前时间的时间差时是否在预设时间范围内。其中,历史随机数为客户端与服务器之前通信时使用过的随机数。如果第一随机数与历史随机数匹配失败,且时间戳与当前时间的时间差时处于预设时间范围内,则验证处理模块420认定第一随机数和时间戳有效。
在本发明的一个实施例中,验证处理模块420还用于验证客户端证书是否为信任的认证机构签发的,并验证客户端证书是否处于有效期内;如果客户端证书为信任的认证机构签发的,且客户端证书处于有效期内,则服务器证书验证通过。
需要说明的是,本发明实施例的服务器安全套接层握手装置的具体实施方式与本发明实施例的服务器安全套接层握手方法的具体实施方式类似,具体参见服务器安全套接层握手方法部分的描述,为了减少冗余,不做赘述。
本发明实施例还提供一种电子设备,包括:至少一个处理器和至少一个存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行如第一方面所述的客户端安全套接层握手方法。
本发明所公开的实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行上述的客户端安全套接层握手方法。
本发明实施例提供的SSL握手方法、装置及设备,能够让客户端的私钥存储在USBKey中,整个使用过程也不出USB Key这个范围,从而大大增强协议执行过程的安全性。
在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(Electrically EPROM,简称EEPROM)或闪存。
易失性存储器可以是随机存取存储器(Random Access Memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,简称SRAM)、动态随机存取存储器(Dynamic RAM,简称DRAM)、同步动态随机存取存储器(Synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,简称DDRSDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synch Link DRAM,简称SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,简称DRRAM)。
本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种客户端安全套接层握手方法,其特征在于,包括:
向服务器发送安全套接层SSl连接请求;
接收所述服务器发送的服务器证书;
在所述服务器证书验证通过后,通过USB Key生成客户端签名和次主秘密,并将所述客户端签名、客户端证书和所述次主秘密发送给所述服务器,以便所述服务器根据所述次主秘密得到主秘密,其中,所述客户端签名是根据第一随机数和时间戳生成的,所述次主秘密是根据所述服务器证书中的公钥加密得到的;
生成与所述服务器之间的会话密钥;
根据所述会话密钥与所述服务器进行数据交互。
2.根据权利要求1所述的客户端安全套接层握手方法,其特征在于,通过USB Key生成所述客户端签名,包括:
在插入USB Key后,进行PIN码验证;
在所述PIN码验证通过后,在所述USB Key内部产生所述第一随机数;
通过所述USB Key内部存储的所述客户端的私钥对所述第一随机数和所述时间戳进行签名得到所述客户端签名。
3.根据权利要求1所述的客户端安全套接层握手方法,其特征在于,在接收所述服务器发送的所述服务器证书之后,还包括:
验证所述服务器证书是否为信任的认证机构签发的,并验证所述服务器证书是否处于有效期内;
如果所述服务器证书为信任的认证机构签发的,且所述服务器证书处于有效期内,则所述服务器证书验证通过。
4.一种服务器安全套接层握手方法,其特征在于,包括:
接收客户端发送的SSl连接请求;
向所述客户端发送服务器证书,以便在所述客户端对所述服务器证书验证通过后,由所述客户端根据USB Key生成客户端签名和次主秘密,其中,所述服务器证书包括服务器的身份信息、所述服务器的公钥、所述服务器证书的签发机构的身份信息和签名信息,所述客户端签名是根据第一随机数和时间戳生成的;
接收所述客户端发送的所述客户端签名、客户端证书和所述次主秘密;
在对所述客户端证书的有效性验证通过后,验证所述客户端签名,并检测所述第一随机数和所述时间戳是否有效;在所述客户端签名验证通过,且认定所述第一随机数和所述时间戳有效时,根据所述次主秘密生成主秘密;
生成与所述客户端之间的会话密钥;
根据所述会话密钥与所述客户端进行数据交互。
5.根据权利要求4所述的服务器安全套接层握手方法,其特征在于,检测所述第一随机数和所述时间戳是否有效,包括:
将所述第一随机数与历史随机数进行匹配,并检测所述时间戳与当前时间的时间差时是否在预设时间范围内,其中,所述历史随机数为所述客户端与所述服务器之前通信时使用过的随机数;
如果第一随机数与所述历史随机数匹配失败,且所述时间戳与所述当前时间的时间差时处于所述预设时间范围内,则认定所述第一随机数和所述时间戳有效。
6.根据权利要求4所述的服务器安全套接层握手方法,其特征在于,在接收所述客户端发送的所述客户端签名、所述客户端证书和所述次主秘密之后,包括:
验证所述客户端证书是否为信任的认证机构签发的,并验证所述客户端证书是否处于有效期内;
如果所述客户端证书为信任的认证机构签发的,且所述客户端证书处于有效期内,则所述服务器证书验证通过。
7.一种客户端安全套接层握手装置,其特征在于,包括:
第一通信模块,用于向服务器发送安全套接层SSl连接请求,并接收所述服务器发送的服务器证书;
控制处理模块,用于在所述服务器证书验证通过后,通过USB Key生成客户端签名和次主秘密;
其中,所述第一通信模块还用于将所述客户端签名、客户端证书和所述次主秘密发送给所述服务器,以便所述服务器根据所述次主秘密得到主秘密,其中,所述客户端签名是根据第一随机数和时间戳生成的,所述次主秘密是根据所述服务器证书中的公钥加密得到的;所述控制处理模块还用于生成与所述服务器之间的会话密钥,所述第一通信模块还用于根据所述会话密钥与所述服务器进行数据交互。
8.一种服务器安全套接层握手装置,其特征在于,包括:
第二通信模块,用于接收客户端发送的SSl连接请求,并向所述客户端发送服务器证书,以便在所述客户端对所述服务器证书验证通过后,由所述客户端根据USB Key生成客户端签名和次主秘密;所述第二通信模块还用于接收所述客户端发送的所述客户端签名、客户端证书和所述次主秘密;其中,所述服务器证书包括服务器的身份信息、所述服务器的公钥、所述服务器证书的签发机构的身份信息和签名信息,所述客户端签名是根据第一随机数和时间戳生成的;
验证处理模块,用于在对所述客户端证书的有效性验证通过后,验证所述客户端签名,并检测所述第一随机数和所述时间戳是否有效;在所述客户端签名验证通过,且认定所述第一随机数和所述时间戳有效时,根据所述次主秘密生成主秘密;所述验证处理模块还用于生成与所述客户端之间的会话密钥;
其中,所述第二通信模块还用于根据所述会话密钥与所述客户端进行数据交互。
9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器和至少一个存储器;
所述存储器用于存储一个或多个程序指令;
所述处理器,用于运行一个或多个程序指令,用以执行如权利要求1-3任一项所述的客户端安全套接层握手方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行如权利要求1-3任一项所述的客户端安全套接层握手方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010163392.9A CN111182004B (zh) | 2020-03-10 | 2020-03-10 | Ssl握手方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010163392.9A CN111182004B (zh) | 2020-03-10 | 2020-03-10 | Ssl握手方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111182004A true CN111182004A (zh) | 2020-05-19 |
CN111182004B CN111182004B (zh) | 2022-01-04 |
Family
ID=70656889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010163392.9A Active CN111182004B (zh) | 2020-03-10 | 2020-03-10 | Ssl握手方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111182004B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153572A (zh) * | 2020-09-24 | 2020-12-29 | 维沃移动通信有限公司 | 信息传输方法、装置及设备 |
CN117081840A (zh) * | 2023-09-19 | 2023-11-17 | 中科驭数(北京)科技有限公司 | 安全套接层通信方法、装置、专用数据处理器及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005069531A1 (en) * | 2004-01-08 | 2005-07-28 | International Business Machines Corporation | Establishing a secure context for communicating messages between computer systems |
CN104702611A (zh) * | 2015-03-15 | 2015-06-10 | 西安电子科技大学 | 一种保护安全套接层会话密钥的设备及方法 |
CN106790090A (zh) * | 2016-12-23 | 2017-05-31 | 北京奇虎科技有限公司 | 基于ssl的通信方法、装置及系统 |
-
2020
- 2020-03-10 CN CN202010163392.9A patent/CN111182004B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005069531A1 (en) * | 2004-01-08 | 2005-07-28 | International Business Machines Corporation | Establishing a secure context for communicating messages between computer systems |
CN104702611A (zh) * | 2015-03-15 | 2015-06-10 | 西安电子科技大学 | 一种保护安全套接层会话密钥的设备及方法 |
CN106790090A (zh) * | 2016-12-23 | 2017-05-31 | 北京奇虎科技有限公司 | 基于ssl的通信方法、装置及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153572A (zh) * | 2020-09-24 | 2020-12-29 | 维沃移动通信有限公司 | 信息传输方法、装置及设备 |
CN117081840A (zh) * | 2023-09-19 | 2023-11-17 | 中科驭数(北京)科技有限公司 | 安全套接层通信方法、装置、专用数据处理器及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111182004B (zh) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768664B (zh) | 密钥管理方法、装置、系统、存储介质和计算机设备 | |
US11128477B2 (en) | Electronic certification system | |
US8479001B2 (en) | Self-authentication communication device and device authentication system | |
US7526649B2 (en) | Session key exchange | |
CN101027676A (zh) | 用于可控认证的个人符记和方法 | |
CN109831311B (zh) | 一种服务器验证方法、系统、用户终端及可读存储介质 | |
EP1886204B1 (en) | Transaction method and verification method | |
CN111641615A (zh) | 一种基于证书的分布式身份验证方法及系统 | |
CN111182004B (zh) | Ssl握手方法、装置及设备 | |
CN112437068B (zh) | 认证及密钥协商方法、装置和系统 | |
KR20080104594A (ko) | 오프라인 장치를 위한 온라인 인증서 검증 장치 및 방법 | |
CN111431840A (zh) | 安全处理方法和装置 | |
CN110838919B (zh) | 通信方法、存储方法、运算方法及装置 | |
CN113505353A (zh) | 一种认证方法、装置、设备和存储介质 | |
US11082236B2 (en) | Method for providing secure digital signatures | |
TWI657350B (zh) | App認證的系統和方法 | |
CN112738005A (zh) | 访问处理方法、装置、系统、第一认证服务器及存储介质 | |
KR101868564B1 (ko) | 사용자 본인 확인(identification) 등록과 로컬 인증을 연계한 사용자 인증 장치 및 방법 | |
CN114329426A (zh) | 一种客户端认证方法、装置、设备以及存储介质 | |
WO2022125979A1 (en) | Single-certificate multi-factor authentication | |
KR20170111809A (ko) | 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법 | |
CN114024702A (zh) | 信息安全保护的方法以及计算设备 | |
US20240223370A1 (en) | Method for authentication of a service provider device to a user device | |
CN116248280B (zh) | 免密钥发行的安全模组防盗用方法、安全模组及装置 | |
EP4089955A1 (en) | Quantum safe method for authentication of a service provider device to a user device |
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 |