CN110690969A - 一种多方协同完成双向ssl/tls认证的方法和系统 - Google Patents
一种多方协同完成双向ssl/tls认证的方法和系统 Download PDFInfo
- Publication number
- CN110690969A CN110690969A CN201810736473.6A CN201810736473A CN110690969A CN 110690969 A CN110690969 A CN 110690969A CN 201810736473 A CN201810736473 A CN 201810736473A CN 110690969 A CN110690969 A CN 110690969A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- signature
- information
- private key
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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 challenge-response
- H04L9/3273—Cryptographic 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 challenge-response for mutual authentication
-
- 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/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- 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/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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/32—Cryptographic 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/3236—Cryptographic 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
-
- 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/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3249—Cryptographic 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 using RSA or related signature schemes, e.g. Rabin scheme
-
- 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/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3252—Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
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)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种多方协同完成双向SSL/TLS认证的方法,包括:第一客户端与服务端建立通讯连接,向服务端发送握手请求,并等待来自于服务端的响应信息,第一客户端对从发送握手请求开始到接收到响应信息过程期间的所有信息作为签名原文进行哈希运算,以得到哈希值,第一客户端在其所要使用的密码算法类型是RSA密码算法时,将哈希值发送到第二客户端,第二客户端利用其自身的第一私钥对来自于第一客户端的哈希值或签名原文进行数字签名,以生成第一签名信息。本发明能解决现有方法中存在的SSL/TLS客户端单独一方生成客户端握手身份签名信息所导致的安全性较低、以及由于需要专业硬件安全设备所导致的用户成本高、使用复杂度高的技术问题。
Description
技术领域
本发明属于信息安全领域,更具体地,涉及一种多方协同完成双向SSL/TLS认证的方法和系统。
背景技术
安全套接层(Secure Sockets Layer,简称SSL)及其继任者传输层安全(Transport Layer Security,简称TLS)是为网络通信提供安全及数据完整性的一种安全协议。SSL/TLS协议既用到了公钥加密技术,又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度快,但公钥加密技术提供了更好的身份认证技术。
SSL/TLS协议的身份认证分为单向认证和双向认证两种认证方式。在单向认证协议中,仅需要客户端认证服务端;而在双向认证协议中,除了客户端需要认证服务端以外,服务端也需要验证客户端,也就是说,服务端在向客户端发送证书请求信息后,客户端除了向服务端返回数字证书以外,同时还向服务端返回带数字签名的身份签名信息,以供服务端验证客户端的身份。
然而,现有基于SSL/TLS协议的双向认证方式存在以下技术问题:
第一,客户端身份签名信息是由一方完全独立生成,安全性较低;
第二,客户端数字证书对应的私钥是由客户端独立生成并保管,容易被黑客窃取。为了保障该私钥的安全,目前行业内常规的做法是使用专门的硬件安全设备(譬如智能卡、U盾、智能密钥设备、SSS/TLS网关等)来存储和保护私钥,但这就要求用户必须购买该硬件安全设备才能完成数字证书的使用操作,从而既增加了用户使用的成本,也增加了用户使用的复杂度。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种多方协同完成双向SSL/TLS认证的方法和系统,其目的在于,解决现有方法中存在的由于SSL/TLS客户端单独一方生成客户端握手身份签名信息所导致的安全性较低、以及由于需要专业硬件安全设备所导致的用户成本高、使用复杂度高的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种多方协同完成双向SSL/TLS认证的方法,包括以下步骤:
(1)第一客户端与服务端建立通讯连接,向服务端发送握手请求,并等待来自于服务端的响应信息;
(2)第一客户端对从发送握手请求开始到接收到响应信息过程期间的所有信息作为签名原文进行哈希运算,以得到哈希值。
(3)第一客户端判断其所要使用的密码算法类型是RSA密码算法还是椭圆曲线密码算法,如果是RSA密码算法,则直接将步骤(2)中得到的哈希值发送到第二客户端,然后进入步骤(5),如果是椭圆曲线密码算法,则进入步骤(4);
(4)第一客户端将签名原文发送到第二客户端;
(5)第二客户端利用其自身的第一私钥对来自于第一客户端的哈希值或签名原文进行数字签名,以生成第一签名信息,并将第一签名信息发送给第一客户端。
(6)第一客户端利用其自身的第二私钥对第一签名信息进行处理,以生成完整的签名信息,并将完整的签名信息发送给服务端。
(7)第一客户端生成密码规格变更消息,并向服务端发送密码规格变更消息和握手结束消息,其中该密码规格变更消息中包括后续使用的哈希算法、签名算法、以及加密算法;
(8)服务端向第一客户端发送密码规格变更响应消息和握手结束消息。
优选地,所述方法进一步包括在步骤(4)以后、步骤(5)之前,第二客户端对第一私钥进行鉴权操作,如果鉴权通过则进入步骤(5),否则过程结束,其中鉴权操作中所使用的鉴权信息包括第二客户端的静态密码数据,和/或其生理特征数据,和/或其行为特征数据。
优选地,所述方法进一步包括在步骤(5)之后,步骤(6)之前,第一客户端验证第二私钥的授权验证信息,如果验证通过则进入下一步骤,否则过程结束,其中授权验证信息包括第一客户端的静态密码数据,和/或其生理特征数据,和/或其行为特征数据。
按照本发明的另一方面,提供了一种多方协同完成双向SSL/TLS认证的方法,包括以下步骤:
(1)客户端与服务端建立通讯连接,向服务端发送握手请求,并等待来自于服务端的响应信息;
(2)客户端对从发送握手请求开始到接收到响应信息过程期间的所有信息作为签名原文进行哈希运算,以得到哈希值。
(3)客户端判断其所要使用的密码算法类型是RSA密码算法还是椭圆曲线密码算法,如果是RSA密码算法,则直接将步骤(2)中得到的哈希值发送到服务端,然后进入步骤(5),如果是椭圆曲线密码算法,则进入步骤(4);
(4)客户端将签名原文发送到服务端;
(5)服务端利用其自身的第一私钥对来自于客户端的哈希值或签名原文进行数字签名,以生成第一签名信息,并将第一签名信息发送给客户端。
(6)客户端利用其自身的第二私钥对第一签名信息进行处理,以生成完整的签名信息,并将完整的签名信息发送给服务端。
(7)客户端生成密码规格变更消息(Change cipher message),并向服务端发送密码规格变更消息和握手结束消息,其中该密码规格变更消息中包括后续使用的哈希算法、签名算法、以及加密算法;
(8)服务端向客户端发送密码规格变更响应消息和握手结束消息。
优选地,所述方法进一步包括在步骤(4)以后、步骤(5)之前,服务端对第一私钥进行鉴权操作,如果鉴权通过则进入步骤(5),否则过程结束。
优选地,所述方法进一步包括在步骤(5)之后,步骤(6)之前,客户端验证第二私钥的授权验证信息,如果验证通过则进入下一步骤,否则过程结束。
优选地,向服务端发送握手请求的过程为,首先发送hello消息到服务端,并等待服务端响应于该hello消息而向客户端返回的响应信息,该响应信息中包括服务端的证书、证书请求、以及hello完成消息。
优选地,第一私钥是随机生成并保存,或者通过执行密钥派生函数生成,或者直接从外部导入并保存;第二私钥是随机生成并保存,或者通过执行密钥派生函数生成,或者直接从外部导入并保存。
优选地,鉴权操作中所使用的鉴权信息包括静态密码数据,和/或其生理特征数据,和/或其行为特征数据;授权验证信息包括静态密码数据,和/或其生理特征数据,和/或其行为特征数据。
按照本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现上述多方协同完成双向SSL/TLS认证的方法的步骤。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、由于本发明采用了将代表客户端身份的完整私钥分散为两个独立的私钥,由两方分别生成和保存,任意一方均不能单独合成客户端的完整私钥,从而保证了客户端私钥的安全性,即使一方密钥被黑客窃取,黑客也不能恢复出完整密钥,从而增加了双向SSL/TLS认证的安全性;
2、由于本发明采用了两方同时参与客户端身份签名信息的生成,客户端的两个分散密钥只在满足条件下参与运算,并生成部分身份签名信息,且任意一方均不能单独生成完整的身份签名信息,从而进一步保证了双向SSL/TLS认证的安全性。
3、由于本发明客户端的私钥是分散保存,不需要使用额外的、专门的硬件安全设备来保存私钥,从而降低了用户的使用成本和复杂度。
附图说明
图1是根据本发明第一实施方式的多方协同完成双向SSL/TLS认证的方法的应用环境图。
图2是根据本发明第一实施方式的多方协同完成双向SSL/TLS认证的方法的流程图。
图3是根据本发明第二实施方式的多方协同完成双向SSL/TLS认证的方法的应用环境图。
图4是根据本发明第二实施方式的多方协同完成双向SSL/TLS认证的方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,本发明多方协同完成双向SSL/TLS认证的方法是应用在包括第一客户端、第二客户端和服务端的安全通讯系统中,其中第一客户端、第二客户端可以为客户端程序或客户端设备,服务端可以为服务端程序或服务端设备。
如图2所示,根据本发明的第一实施方式,本发明多方协同完成双向SSL/TLS认证的方法包括以下步骤:
(1)第一客户端与服务端建立通讯连接,向服务端发送握手请求,并等待来自于服务端的响应信息;
具体而言,向服务端发送握手请求的过程为,第一客户端首先发送hello消息到服务端,并等待服务端响应于该hello消息而向客户端返回的响应信息,该响应信息中包括,但不局限于服务端的证书、证书请求、以及hello完成消息;
(2)第一客户端对从发送握手请求开始到接收到响应信息过程期间的所有信息作为签名原文进行哈希运算,以得到哈希值H。
具体而言,本步骤中采用的哈希算法是第一客户端指定的哈希算法。
(3)第一客户端判断其所要使用的密码算法类型是RSA密码算法(例如RSA_SHA1、RSA_SM3等)还是椭圆曲线密码算法,如果是RSA密码算法,则直接将步骤(2)中得到的哈希值H发送到第二客户端,然后进入步骤(5),如果是椭圆曲线密码算法,则进入步骤(4);
(4)第一客户端将签名原文发送到第二客户端;
(5)第二客户端利用其自身的第一私钥d1,对来自于第一客户端的哈希值H或签名原文进行数字签名,以生成第一签名信息S1,并将第一签名信息S1发送给第一客户端。
具体而言,第二客户端的第一私钥d1可以是由第二客户端随机生成并保存,或者第二客户端通过执行密钥派生函数生成,或者第二客户端直接从外部导入并保存。
需要说明的是,本步骤中,利用私钥对签名原文进行数字签名,以生成第一签名信息的过程已经在本申请人申请号为201611194899.0、名称为“一种客户端和服务端协作生成数字签名的方法”的发明申请中予以披露,在此不再赘述。
此外,利用私钥对哈希值H进行数字签名,以生成第一签名信息过程已经在DanBoneh等人发表的论文《A method for fast revocation of public key certificatesand security capabilities》中第3页的第2.1节中予以详细披露,在此不再赘述。
(6)第一客户端利用其自身的第二私钥d2对第一签名信息S1进行处理,以生成完整的签名信息S,并将完整的签名信息S发送给服务端。
具体而言,第一客户端的第二私钥d2可以是由第一客户端随机生成并保存,或者第一客户端通过执行密钥派生函数生成,或者第一客户端直接从外部导入并保存。
需要说明的是,如果第一签名信息是通过前文的签名原文生成,则本步骤中,利用私钥对第一签名信息进行处理,以生成完整签名信息的过程已经在本申请人申请号为201611194899.0、名称为“一种客户端和服务端协作生成数字签名的方法”的发明申请中予以披露,在此不再赘述。
此外,如果第一签名信息是通过前文的哈希值生成,则本步骤中,利用私钥对第一签名信息进行处理,以生成完整签名信息的过程已经在Dan Boneh等人发表的论文《Amethod for fast revocation of public key certificates and securitycapabilities》中第3页的第2.1节中予以详细披露,在此不再赘述。
(7)第一客户端生成密码规格变更消息(Change cipher message),并向服务端发送密码规格变更消息和握手结束消息,其中该密码规格变更消息中包括后续使用的哈希算法、签名算法、以及加密算法;
(8)服务端向第一客户端发送密码规格变更响应消息和握手结束消息。
作为本发明的进一步改进,本发明的方法还可以包括在上述步骤(4)以后、步骤(5)之前的如下步骤:
第二客户端对第一私钥d1进行鉴权操作,如果鉴权通过则进入步骤(5),否则过程结束。
本步骤的鉴权操作中所使用的鉴权信息包括第二客户端的静态密码数据,和/或其生理特征数据,和/或其行为特征数据,对于静态密码数据的获取,是通过保存私钥录入的静态密码数据来实现,对于生理特征数据和行为特征数据的获取,是通过采集私钥用户的生理特征数据和行为特征数据来实现。
作为本发明的进一步改进,本发明的方法还可以包括在上述步骤(5)之后,步骤(6)之前的以下步骤:
第一客户端验证第二私钥d2的授权验证信息,如果验证通过则进入下一步骤,否则过程结束。
授权验证信息包括第一客户端的静态密码数据,和/或其生理特征数据,和/或其行为特征数据,对于静态密码数据的获取,是通过保存密钥录入的静态密码数据来实现,对于生理特征数据和行为特征数据的获取,是通过采集密钥用户的生理特征数据和行为特征数据来实现。
如图3所示,本发明多方协同完成双向SSL/TLS认证的方法是应用在包括客户端和服务端的安全通讯系统中,其中客户端可以为客户端程序或客户端设备,服务端可以为服务端程序或服务端设备。
如图4所示,根据本发明的第二实施方式,本发明多方协同完成双向SSL/TLS认证的方法包括以下步骤:
(1)客户端与服务端建立通讯连接,向服务端发送握手请求,并等待来自于服务端的响应信息;
具体而言,向服务端发送握手请求的过程为,客户端首先发送hello消息到服务端,并等待服务端响应于该hello消息而向客户端返回的响应信息,该响应信息中包括,但不局限于服务端的证书、证书请求、以及hello完成消息;
(2)客户端对从发送握手请求开始到接收到响应信息过程期间的所有信息作为签名原文进行哈希运算,以得到哈希值H。
具体而言,本步骤中采用的哈希算法是客户端指定的哈希算法。
(3)客户端判断其所要使用的密码算法类型是RSA密码算法(例如RSA_SHA1、RSA_SM3等)还是椭圆曲线密码算法,如果是RSA密码算法,则直接将步骤(2)中得到的哈希值H发送到服务端,然后进入步骤(5),如果是椭圆曲线密码算法,则进入步骤(4);
(4)客户端将签名原文发送到服务端;
(5)服务端利用其自身的第一私钥d1,对来自于客户端的哈希值H或签名原文进行数字签名,以生成第一签名信息S1,并将第一签名信息S1发送给客户端。
具体而言,服务端的第一私钥d1可以是由服务端随机生成并保存,或者服务端通过执行密钥派生函数生成,或者服务端直接从外部导入并保存。
需要说明的是,本步骤中,利用私钥对签名原文进行数字签名,以生成第一签名信息的过程已经在本申请人申请号为201611194899.0、名称为“一种客户端和服务端协作生成数字签名的方法”的发明申请中予以披露,在此不再赘述。
此外,利用私钥对哈希值H进行数字签名,以生成第一签名信息过程已经在DanBoneh等人发表的论文《A method for fast revocation of public key certificatesand security capabilities》中第3页的第2.1节中予以详细披露,在此不再赘述。
(6)客户端利用其自身的第二私钥d2对第一签名信息S1进行处理,以生成完整的签名信息S,并将完整的签名信息S发送给服务端。
具体而言,客户端的第二私钥d2可以是由客户端随机生成并保存,或者客户端通过执行密钥派生函数生成,或者客户端直接从外部导入并保存。
需要说明的是,如果第一签名信息是通过前文的签名原文生成,则本步骤中,利用私钥对第一签名信息进行处理,以生成完整签名信息的过程已经在本申请人申请号为201611194899.0、名称为“一种客户端和服务端协作生成数字签名的方法”的发明申请中予以披露,在此不再赘述。
此外,如果第一签名信息是通过前文的哈希值生成,则本步骤中,利用私钥对第一签名信息进行处理,以生成完整签名信息的过程已经在DanBoneh等人发表的论文《Amethod for fast revocation of public key certificates and securitycapabilities》中第3页的第2.1节中予以详细披露,在此不再赘述。
(7)客户端生成密码规格变更消息(Change cipher message),并向服务端发送密码规格变更消息和握手结束消息,其中该密码规格变更消息中包括后续使用的哈希算法、签名算法、以及加密算法;
(8)服务端向客户端发送密码规格变更响应消息和握手结束消息。
作为本发明的进一步改进,本发明的方法还可以包括在上述步骤(4)以后、步骤(5)之前的如下步骤:
服务端对第一私钥d1进行鉴权操作,如果鉴权通过则进入步骤(5),否则过程结束。
本步骤的鉴权操作中所使用的鉴权信息包括第二客户端的静态密码数据,和/或其生理特征数据,和/或其行为特征数据,对于静态密码数据的获取,是通过保存私钥录入的静态密码数据来实现,对于生理特征数据和行为特征数据的获取,是通过采集私钥用户的生理特征数据和行为特征数据来实现。
作为本发明的进一步改进,本发明的方法还可以包括在上述步骤(5)之后,步骤(6)之前的以下步骤:
客户端验证第二私钥d2的授权验证信息,如果验证通过则进入下一步骤,否则过程结束。
授权验证信息包括客户端的静态密码数据,和/或其生理特征数据,和/或其行为特征数据,对于静态密码数据的获取,是通过保存密钥录入的静态密码数据来实现,对于生理特征数据和行为特征数据的获取,是通过采集密钥用户的生理特征数据和行为特征数据来实现。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多方协同完成双向SSL/TLS认证的方法,其特征在于,包括以下步骤:
(1)第一客户端与服务端建立通讯连接,向服务端发送握手请求,并等待来自于服务端的响应信息;
(2)第一客户端对从发送握手请求开始到接收到响应信息过程期间的所有信息作为签名原文进行哈希运算,以得到哈希值。
(3)第一客户端判断其所要使用的密码算法类型是RSA密码算法还是椭圆曲线密码算法,如果是RSA密码算法,则直接将步骤(2)中得到的哈希值发送到第二客户端,然后进入步骤(5),如果是椭圆曲线密码算法,则进入步骤(4);
(4)第一客户端将签名原文发送到第二客户端;
(5)第二客户端利用其自身的第一私钥对来自于第一客户端的哈希值或签名原文进行数字签名,以生成第一签名信息,并将第一签名信息发送给第一客户端。
(6)第一客户端利用其自身的第二私钥对第一签名信息进行处理,以生成完整的签名信息,并将完整的签名信息发送给服务端。
(7)第一客户端生成密码规格变更消息,并向服务端发送密码规格变更消息和握手结束消息,其中该密码规格变更消息中包括后续使用的哈希算法、签名算法、以及加密算法;
(8)服务端向第一客户端发送密码规格变更响应消息和握手结束消息。
2.根据权利要求1所述的方法,其特征在于,进一步包括在步骤(4)以后、步骤(5)之前,第二客户端对第一私钥进行鉴权操作,如果鉴权通过则进入步骤(5),否则过程结束,其中鉴权操作中所使用的鉴权信息包括第二客户端的静态密码数据,和/或其生理特征数据,和/或其行为特征数据。
3.根据权利要求1所述的方法,其特征在于,进一步包括在步骤(5)之后,步骤(6)之前,第一客户端验证第二私钥的授权验证信息,如果验证通过则进入下一步骤,否则过程结束,其中授权验证信息包括第一客户端的静态密码数据,和/或其生理特征数据,和/或其行为特征数据。
4.一种多方协同完成双向SSL/TLS认证的方法,其特征在于,包括以下步骤:
(1)客户端与服务端建立通讯连接,向服务端发送握手请求,并等待来自于服务端的响应信息;
(2)客户端对从发送握手请求开始到接收到响应信息过程期间的所有信息作为签名原文进行哈希运算,以得到哈希值。
(3)客户端判断其所要使用的密码算法类型是RSA密码算法还是椭圆曲线密码算法,如果是RSA密码算法,则直接将步骤(2)中得到的哈希值发送到服务端,然后进入步骤(5),如果是椭圆曲线密码算法,则进入步骤(4);
(4)客户端将签名原文发送到服务端;
(5)服务端利用其自身的第一私钥对来自于客户端的哈希值或签名原文进行数字签名,以生成第一签名信息,并将第一签名信息发送给客户端。
(6)客户端利用其自身的第二私钥对第一签名信息进行处理,以生成完整的签名信息,并将完整的签名信息发送给服务端。
(7)客户端生成密码规格变更消息(Change cipher message),并向服务端发送密码规格变更消息和握手结束消息,其中该密码规格变更消息中包括后续使用的哈希算法、签名算法、以及加密算法;
(8)服务端向客户端发送密码规格变更响应消息和握手结束消息。
5.根据权利要求4所述的方法,其特征在于,进一步包括在步骤(4)以后、步骤(5)之前,服务端对第一私钥进行鉴权操作,如果鉴权通过则进入步骤(5),否则过程结束。
6.根据权利要求4所述的方法,其特征在于,进一步包括在步骤(5)之后,步骤(6)之前,客户端验证第二私钥的授权验证信息,如果验证通过则进入下一步骤,否则过程结束。
7.根据权利要求1或4所述的方法,其特征在于,向服务端发送握手请求的过程为,首先发送hello消息到服务端,并等待服务端响应于该hello消息而向客户端返回的响应信息,该响应信息中包括服务端的证书、证书请求、以及hello完成消息。
8.根据权利要求1至7中任意一项所述的方法,其特征在于,
第一私钥是随机生成并保存,或者通过执行密钥派生函数生成,或者直接从外部导入并保存;
第二私钥是随机生成并保存,或者通过执行密钥派生函数生成,或者直接从外部导入并保存。
9.根据权利要求1至7中任意一项所述的方法,其特征在于,
鉴权操作中所使用的鉴权信息包括静态密码数据,和/或其生理特征数据,和/或其行为特征数据;
授权验证信息包括静态密码数据,和/或其生理特征数据,和/或其行为特征数据。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现根据权利要求1至9中任意一项所述多方协同完成双向SSL/TLS认证的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810736473.6A CN110690969B (zh) | 2018-07-06 | 2018-07-06 | 一种多方协同完成双向ssl/tls认证的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810736473.6A CN110690969B (zh) | 2018-07-06 | 2018-07-06 | 一种多方协同完成双向ssl/tls认证的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110690969A true CN110690969A (zh) | 2020-01-14 |
CN110690969B CN110690969B (zh) | 2023-06-16 |
Family
ID=69107188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810736473.6A Active CN110690969B (zh) | 2018-07-06 | 2018-07-06 | 一种多方协同完成双向ssl/tls认证的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110690969B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995223A (zh) * | 2021-05-11 | 2021-06-18 | 深圳市安软科技股份有限公司 | 流媒体传输控制方法、装置、电子设备及存储介质 |
CN113347010A (zh) * | 2021-08-05 | 2021-09-03 | 深圳市财富趋势科技股份有限公司 | 基于ssl-tls协议的双向认证方法、装置 |
CN113992702A (zh) * | 2021-09-16 | 2022-01-28 | 深圳市证通电子股份有限公司 | 一种ceph分布式文件系统存储国密加固方法及系统 |
CN115913672A (zh) * | 2022-11-02 | 2023-04-04 | 广州市南方人力资源评价中心有限公司 | 电子档案加密传输方法、系统、终端设备及计算机介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181017B1 (en) * | 2001-03-23 | 2007-02-20 | David Felsher | System and method for secure three-party communications |
CN103118027A (zh) * | 2013-02-05 | 2013-05-22 | 中金金融认证中心有限公司 | 基于国密算法建立tls通道的方法 |
CN103338215A (zh) * | 2013-07-26 | 2013-10-02 | 中金金融认证中心有限公司 | 基于国密算法建立tls通道的方法 |
CN103581167A (zh) * | 2013-07-29 | 2014-02-12 | 华为技术有限公司 | 基于安全传输层协议的安全认证方法、设备及系统 |
CN104378374A (zh) * | 2014-11-14 | 2015-02-25 | 国家超级计算深圳中心(深圳云计算中心) | 一种基于安全套接层建立通信的方法及系统 |
CN104618116A (zh) * | 2015-01-30 | 2015-05-13 | 北京数字认证股份有限公司 | 一种协同数字签名系统及其方法 |
CN106572109A (zh) * | 2016-11-08 | 2017-04-19 | 广东信鉴信息科技有限公司 | 基于tls协议实现加密通信的方法及装置 |
CN106685651A (zh) * | 2016-12-22 | 2017-05-17 | 北京信安世纪科技有限公司 | 一种客户端和服务端协作生成数字签名的方法 |
CN107483212A (zh) * | 2017-08-15 | 2017-12-15 | 武汉信安珞珈科技有限公司 | 一种双方协作生成数字签名的方法 |
-
2018
- 2018-07-06 CN CN201810736473.6A patent/CN110690969B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181017B1 (en) * | 2001-03-23 | 2007-02-20 | David Felsher | System and method for secure three-party communications |
CN103118027A (zh) * | 2013-02-05 | 2013-05-22 | 中金金融认证中心有限公司 | 基于国密算法建立tls通道的方法 |
CN103338215A (zh) * | 2013-07-26 | 2013-10-02 | 中金金融认证中心有限公司 | 基于国密算法建立tls通道的方法 |
CN103581167A (zh) * | 2013-07-29 | 2014-02-12 | 华为技术有限公司 | 基于安全传输层协议的安全认证方法、设备及系统 |
CN104378374A (zh) * | 2014-11-14 | 2015-02-25 | 国家超级计算深圳中心(深圳云计算中心) | 一种基于安全套接层建立通信的方法及系统 |
CN104618116A (zh) * | 2015-01-30 | 2015-05-13 | 北京数字认证股份有限公司 | 一种协同数字签名系统及其方法 |
CN106572109A (zh) * | 2016-11-08 | 2017-04-19 | 广东信鉴信息科技有限公司 | 基于tls协议实现加密通信的方法及装置 |
CN106685651A (zh) * | 2016-12-22 | 2017-05-17 | 北京信安世纪科技有限公司 | 一种客户端和服务端协作生成数字签名的方法 |
CN107483212A (zh) * | 2017-08-15 | 2017-12-15 | 武汉信安珞珈科技有限公司 | 一种双方协作生成数字签名的方法 |
Non-Patent Citations (3)
Title |
---|
李丽等: "基于ECC加密算法的SSL VPN安全握手技术研究", 《辽宁工业大学学报(自然科学版)》 * |
杨文军等: "基于ECC算法的SSL协议改进", 《南开大学学报(自然科学版)》 * |
杨璐: "一种改进SSL/TLS协议的通信加密方案", 《中国新通信》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995223A (zh) * | 2021-05-11 | 2021-06-18 | 深圳市安软科技股份有限公司 | 流媒体传输控制方法、装置、电子设备及存储介质 |
CN113347010A (zh) * | 2021-08-05 | 2021-09-03 | 深圳市财富趋势科技股份有限公司 | 基于ssl-tls协议的双向认证方法、装置 |
CN113992702A (zh) * | 2021-09-16 | 2022-01-28 | 深圳市证通电子股份有限公司 | 一种ceph分布式文件系统存储国密加固方法及系统 |
CN113992702B (zh) * | 2021-09-16 | 2023-11-03 | 深圳市证通电子股份有限公司 | 一种ceph分布式文件系统存储国密加固方法及系统 |
CN115913672A (zh) * | 2022-11-02 | 2023-04-04 | 广州市南方人力资源评价中心有限公司 | 电子档案加密传输方法、系统、终端设备及计算机介质 |
CN115913672B (zh) * | 2022-11-02 | 2023-09-01 | 广州市南方人力资源评价中心有限公司 | 电子档案加密传输方法、系统、终端设备及计算机介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110690969B (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347835B (zh) | 信息传输方法、客户端、服务器以及计算机可读存储介质 | |
CN112218294B (zh) | 基于5g的物联网设备的接入方法、系统及存储介质 | |
CN110380852B (zh) | 双向认证方法及通信系统 | |
CN109088889B (zh) | 一种ssl加解密方法、系统及计算机可读存储介质 | |
CN107483212B (zh) | 一种双方协作生成数字签名的方法 | |
CN107948189B (zh) | 非对称密码身份鉴别方法、装置、计算机设备及存储介质 | |
CN110709874B (zh) | 用于区块链网络的凭证生成与分发方法和系统 | |
CN110519046B (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统 | |
WO2022021992A1 (zh) | 一种基于NB-IoT通信的数据传输方法、系统及介质 | |
US10693638B1 (en) | Protected cryptographic environment | |
CN109359464B (zh) | 一种基于区块链技术的无线安全认证方法 | |
CN110690969B (zh) | 一种多方协同完成双向ssl/tls认证的方法和系统 | |
CN112766962A (zh) | 证书的接收、发送方法及交易系统、存储介质、电子装置 | |
CN110138548B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统 | |
US10439809B2 (en) | Method and apparatus for managing application identifier | |
CN110380859B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统 | |
CN117081736A (zh) | 密钥分发方法、密钥分发装置、通信方法及通信装置 | |
CN113643134A (zh) | 基于多密钥同态加密的物联网区块链交易方法及系统 | |
CN116388995A (zh) | 一种基于puf的轻量级智能电网认证方法 | |
CN109246156B (zh) | 登录认证方法及装置、登录方法及装置以及登录认证系统 | |
CN112926983A (zh) | 一种基于区块链的存证交易加密系统及方法 | |
CN110572257B (zh) | 基于身份的数据来源鉴别方法和系统 | |
CN110868285B (zh) | 认证方法、服务器、系统和计算机可读存储介质 | |
CN107682380B (zh) | 一种交叉认证的方法及装置 | |
CN114650181B (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 |