CN113347010A - 基于ssl-tls协议的双向认证方法、装置 - Google Patents
基于ssl-tls协议的双向认证方法、装置 Download PDFInfo
- Publication number
- CN113347010A CN113347010A CN202110896881.XA CN202110896881A CN113347010A CN 113347010 A CN113347010 A CN 113347010A CN 202110896881 A CN202110896881 A CN 202110896881A CN 113347010 A CN113347010 A CN 113347010A
- Authority
- CN
- China
- Prior art keywords
- signature
- client
- data
- message
- server
- 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/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
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
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‑TLS协议的双向认证方法、装置。该方法包括客户端对签名原文进行密码运算得到签名初始数据,根据SSL‑TLS协议将签名初始数据组织成签名请求数据作为第一交互消息发送至服务端;服务端采用服务密钥分量对签名初始数据进行密码运算得到签名中间数据并处理成签名应答数据并将签名应答数据作为第二交互消息发送至客户端;客户端采用客户密钥分量对签名中间数据进行密码运算,得到签名最终数据,并发送证书校验消息、密码规格变更消息和握手结束消息发送至服务端;服务端向客户端发送密码规格变更响应消息和握手结束响应消息。该方法相比现有技术只使用一条通讯连接即可实现双向SSL‑TLS协议认证,降低通讯资源的限制。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于SSL-TLS协议的双向认证方法、装置。
背景技术
SSL-TLS协议中的身份认证分为单向认证和双向认证两份方式。具体应用中,双向认证具有安全度更高的优势。
现有实现双向SSL/TLS认证的实现存在以下技术问题:
第一:客户端密钥完整的存储在客户端,为了保障密钥安全性,普遍采用了专门的硬件密码设备(智能卡,U盾等),对客户端的使用有较高的要求。
第二:采用协同签名的技术,建立SSL/TLS双向认证的过程中,会采用多次的网络交互,需要额外的通讯连接,加大了网络资源和系统资源的使用。
发明内容
本发明实施例提供了一种基于SSL-TLS协议的双向认证方法、装置,旨在解决现有技术中双方协同完成SSL/TLS认证过程中需要多次数据交互所带来的通讯消耗的问题。
第一方面,本发明实施例提供了一种基于SSL-TLS协议的双向认证方法,其包括:
客户端与服务端建立通讯连接,客户端向服务端发送握手请求,并接收服务端的响应消息;
客户端对签名原文进行密码运算得到签名初始数据,根据SSL-TLS协议将所述签名初始数据组织成签名请求数据,以所述签名请求数据作为第一交互消息发送至服务端,以及,客户端向所述服务端发送客户端证书数据,所述签名原文包括从发送握手请求开始到发送证书校验消息之前的所有握手消息,所述客户端证书数据中包括客户端证书;
服务端根据所述签名请求数据及客户端证书获取对应的服务密钥分量,采用所述服务密钥分量对所述签名初始数据进行密码运算,得到签名中间数据,根据SSL-TLS协议将所述签名中间数据处理成签名应答数据并将所述签名应答数据作为第二交互消息发送至客户端;
客户端采用所述服务密钥分量对应的客户密钥分量对所述签名应答数据中的签名中间数据进行密码运算,得到签名最终数据,并生成相应的客户端证书校验消息、密码规格变更消息和握手结束消息,将所述客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端;
服务端对接收到的客户端证书校验消息进行验证,若验证通过则根据所述密码规格变更消息和握手结束消息向客户端发送密码规格变更响应消息和握手结束响应消息,以建立客户端与服务端之间的双向认证SSL-TLS通讯。
第二方面,本发明实施例提供了一种基于SSL-TLS协议的双向认证装置,其包括:
通讯连接模块,用于建立通讯连接;
客户端包括:
第一交互模块,用于对签名原文进行密码运算得到签名初始数据,根据SSL-TLS协议将所述签名初始数据组织成签名请求数据,以所述签名请求数据作为第一交互消息发送至服务端;以及,向服务端发送客户端证书数据;以及,采用所述服务密钥分量对应的客户密钥分量对所述签名应答数据中的签名中间数据进行密码运算,得到签名最终数据,并生成相应的客户端证书校验消息、密码规格变更消息和握手结束消息,将所述客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端;
服务端包括:
第二交互模块,用于根据所述签名请求数据及客户端证书获取对应的服务密钥分量,采用所述服务密钥分量对所述签名初始数据进行密码运算,得到签名中间数据,根据SSL-TLS协议将所述签名中间数据处理成签名应答数据并将所述签名应答数据作为第二交互消息发送至客户端;以及,对接收到的客户端证书校验消息进行验证,若验证通过则根据所述密码规格变更消息和握手结束消息向客户端发送密码规格变更响应消息和握手结束响应消息,以建立客户端与服务端之间的双向认证SSL-TLS通讯。
本发明实施例提供了一种基于SSL-TLS协议的双向认证方法、装置。该方法包括客户端与服务端建立通讯连接,客户端向服务端发送握手请求,并接收服务端的响应消息;客户端对签名原文进行密码运算得到签名初始数据,根据SSL-TLS协议将签名初始数据组织成签名请求数据,以签名请求数据作为第一交互消息发送至服务端,以及,客户端向服务端发送客户端证书数据;服务端根据签名请求数据及客户端证书获取对应的服务密钥分量,采用服务密钥分量对签名初始数据进行密码运算,得到签名中间数据,根据SSL-TLS协议将签名中间数据处理成签名应答数据并将签名应答数据作为第二交互消息发送至客户端;采用服务密钥分量对应的客户密钥分量对签名应答数据中的签名中间数据进行密码运算,得到签名最终数据,并生成相应的客户端证书校验消息、密码规格变更消息和握手结束消息,将客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端;服务端对接收到的客户端证书校验消息进行验证,若验证通过则根据密码规格变更消息和握手结束消息向客户端发送密码规格变更响应消息和握手结束响应消息,以建立客户端与服务端之间的双向认证SSL-TLS通讯。该方法中将签名请求数据作为交互消息传输至服务端进行双向认证签名,相比现有技术需要多建立一条链路进行签名初始数据的传输,本方法只使用一条通讯连接即可实现双向SSL-TLS认证,降低通讯资源的限制,系统资源的消耗,提高通讯连接效率和系统容量。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于SSL-TLS协议的双向认证方法的流程示意图;
图2为本发明实施例提供的基于SSL-TLS协议的双向认证方法中对服务端证书进行验证的流程示意图;
图3为本发明实施例提供的基于SSL-TLS协议的双向认证方法中步骤S130的一子流程示意图;
图4为本发明实施例提供的基于SSL-TLS协议的双向认证方法中步骤S140的一子流程示意图;
图5为本发明实施例提供的基于SSL-TLS协议的双向认证装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1所示,图1为本发明实施例提供的SSL-TLS协议的双向认证方法的流程示意图,该方法包括步骤S110~S150。
步骤S110、客户端与服务端建立通讯连接,客户端向服务端发送握手请求,并接收服务端的响应消息;
本实施例中,客户端与服务端之间建立通讯连接后,客户端向服务端发送握手请求的过程为:客户端发送会话消息到服务端,并等待服务端响应该会话消息而向客户端返回的响应消息。其中,客户端发送客户端hello消息,内容包括:协议版本信息、客户端随机数、加密算法和压缩算法;服务端发送服务端hello消息,内容包括但不限于确定使用的协议版本、服务端随机数、加密算法、服务端证书、证书校验请求和握手结束消息。需要知道的是,若服务端不支持客户端请求协议版本,加密算法或其他参数,则关闭当前通讯连接。步骤S120、客户端对签名原文进行密码运算得到签名初始数据,根据SSL-TLS协议将所述签名初始数据组织成签名请求数据,以所述签名请求数据作为第一交互消息发送至服务端,以及,客户端向所述服务端发送客户端证书数据,所述签名原文包括从发送握手请求开始到发送证书校验消息之前的所有握手消息,所述客户端证书数据中包括客户端证书;
步骤S120、客户端对签名原文进行密码运算得到签名初始数据,根据SSL-TLS协议将所述签名初始数据组织成签名请求数据,以所述签名请求数据作为第一交互消息发送至服务端,以及,客户端向所述服务端发送客户端证书数据,所述签名原文包括从发送握手请求开始到发送证书校验消息之前的所有握手消息,所述客户端证书数据中包括客户端证书;
本实施例中,为了便于进行签名数据的签名,客户端对签名原文进行密码运算得到签名初始数据,根据SSL-TLS协议将签名初始数据组织成签名请求数据,以签名请求数据作为第一交互消息发送至服务端;并向服务端发送客户端证书数据。其中,签名原文包括从发送握手请求开始到发送证书校验消息之前的所有握手消息,客户端证书数据中包括有客户端自身的客户端证书。
如图2所示,在一实施例中,在步骤S110之后,步骤S120之前包括:
步骤S111、客户端对所述服务端证书进行验证;
步骤S1121、若验证通过,则继续通讯;
步骤S1122、若验证不通过,则结束通讯。
本实施例中,为了保证通讯的安全性,客户端对服务端证书进行验证,若验证通过,则客户端与服务端继续通讯;若验证不通过,则客户端与服务端断开通讯。
步骤S130、服务端根据所述签名请求数据及客户端证书获取对应的服务密钥分量,采用所述服务密钥分量对所述签名初始数据进行密码运算,得到签名中间数据,根据SSL-TLS协议将所述签名中间数据处理成签名应答数据并将所述签名应答数据作为第二交互消息发送至客户端;
本实施例中,服务端根据客户端发送的签名请求数据及客户端证书获取对应的服务密钥分量,接着采用服务密钥分量对签名应答数据中的签名初始数据进行密码运算,得到签名中间数据,根据SSL-TLS协议将签名中间数据处理成签名应答数据并将签名应答数据作为第二交互消息发送至客户端。其中,SSL-TLS协议为安全套接层 (Secure SocketsLayer) 及其继任者传输层安全(Transport Layer Security,简称TLS)是为网络通信提供安全及数据完整性的一种安全协议。SSL-TLS协议中既用到了公钥加密技术,又用到了对称加密技术。
如图3所示,在一实施例中,步骤S130包括:
步骤S131、服务端对所述签名请求数据进行解密,获取客户端身份信息;
步骤S132、服务端将所述客户端证书与客户端身份信息进行匹配,组成所述客户端的身份标识,并根据所述身份标识获取所述客户端对应的服务密钥分量;
步骤S133、服务端采用所述服务密钥分量对所述签名初始数据进行密码运算,得到所述签名中间数据;
步骤S134、服务端根据SSL-TLS协议将所述签名中间数据进行加密得到所述签名应答数据,并将所述签名应答数据作为所述第二交互消息发送至客户端。
本实施例中,服务端先对签名请求数据进行解密,获取客户端身份信息;接着将客户端证书与客户端身份信息进行匹配,组成客户端的身份标识,并根据身份标识获取客户端对应的服务密钥分量;然后采用服务密钥分量对签名初始数据进行密码运算,得到签名中间数据;最后根据SSL-TLS协议将签名中间数据进行加密形成签名应答数据,并将签名应答数据作为第二交互消息发送至客户端。其中,在SSL-TLS协议中增加两个密钥分量(服务密钥分量和客户密钥分量),密钥分量是由增加的密钥拆分成服务密钥分量和客户密钥分量,服务密钥分量和客户密钥分量分别存放于服务端和客户端。
步骤S140、客户端采用所述服务密钥分量对应的客户密钥分量对所述签名应答数据中的签名中间数据进行密码运算,得到签名最终数据,并生成相应的客户端证书校验消息、密码规格变更消息和握手结束消息,将所述客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端;
本实施例中,客户端存储有与服务密钥分量对应的客户密钥分量,当客户端接收到携带有签名应答数据的第二交互消息时,调用服务密钥分量对应的客户密钥分量对签名应答数据中的签名中间数据进行密码运算,得到签名最终数据;然后根据SSL-TLS协议生成相应的客户端证书校验消息、密码规格变更消息和握手结束消息,最后将客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端。
如图4所示,在一实施例中,步骤S140包括:
步骤S141、客户端对所述第二交互消息进行解析,得到所述签名中间数据;
步骤S142、客户端采用预置客户密钥分量对所述签名中间数据进行密码运算,得到所述签名最终数据;
步骤S143、客户端根据SSL-TLS协议生成客户端证书校验消息、密码规格变更消息和握手结束消息,并将客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端。
本实施例中,客户端收到服务端的第二交互消息后,对第二交互消息进行解析,以得到签名中间数据;接着采用预置客户密钥分量对签名中间数据进行密码运算,得到签名最终数据;然后客户端根据SSL-TLS协议生成客户端证书校验消息、密码规格变更消息和握手结束消息,最后将客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端。
步骤S150、服务端对接收到的客户端证书校验消息进行验证,若验证通过则根据所述密码规格变更消息和握手结束消息向客户端发送密码规格变更响应消息和握手结束响应消息,以建立客户端与服务端之间的双向认证SSL-TLS协议通讯。
本实施例中,服务端接收客户端发送的证书校验消息,从证书校验消息中提取客户端证书,并对客户端证书进行验证。若验证通过则根据密码规格变更消息和握手结束消息向客户端发送密码规格变更响应消息和握手结束响应消息,以建立客户端与服务端之间的双向认证SSL-TLS协议通讯。此外,服务端对客户端证书进行验证,若验证不通过则断开与客户端的通讯连接,结束通讯。
进一步的,客户端使用服务端证书中的公钥对签名初始数据组织进行加密,以得到签名请求数据,并将所述签名请求数据作为第一交互消息发送至服务端;
还可以是,客户端使用当前通讯连接过程中SSL-TLS协议确定的预主密钥对所述签名初始数据组织进行加密,得到签名请求数据,以所述签名请求数据作为第一交互消息发送至服务端。其中,预主密钥指的是当前通讯连接过程中SSL-TLS协议确定的非对称密码算法。以上两种加密方式由用户根据实际需要在交互消息中指定。
实际环境中,在相同环境参数和运行条件下本方法和现有技术进行模拟对比:本发明在双向SSL/TLS认证连接的建立过程中,对通讯连接的数量减少了一半,完成双向认证连接的建立的总体时间减少(取决于原始通讯连接建立的时间消耗),在大规模客户端连接的应用场景中,极大的提高了系统的容量和并发度,形成了极好的总体收益。
该方法结合使用双方协同技术,保障了客户端密钥安全性,降低了客户端密钥泄露的风险;扩展SSL/TLS协议,增加交互消息,实现了通过一条通讯连接,完成双方协同的双向SSL/TLS认证连接的建立,减少了网络资源的使用,提高了系统效率和容量。
本发明实施例还提供一种基于SSL-TLS协议的双向认证装置,该基于SSL-TLS协议的双向认证装置用于执行前述基于SSL-TLS协议的双向认证方法的任一实施例。具体地,请参阅图5,图5是本发明实施例提供的基于SSL-TLS协议的双向认证装置的示意性框图。该基于SSL-TLS协议的双向认证装置100可以配置于服务器中。
如图5所示,基于SSL-TLS协议的双向认证装置100包括通讯连接模块110、客户端120、服务端130。
通讯连接模块110,用于建立客户端与服务端的通讯连接;
客户端120包括:
第一交互模块,用于对签名原文进行密码运算得到签名初始数据,根据SSL-TLS协议将所述签名初始数据组织成签名请求数据,以所述签名请求数据作为第一交互消息发送至服务端;以及,向服务端发送客户端证书数据;以及,采用服务密钥分量对应的客户密钥分量对签名应答数据中的签名中间数据进行密码运算,得到签名最终数据,并生成相应的客户端证书校验消息、密码规格变更消息和握手结束消息,将所述客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端;
服务端130包括:
第二交互模块,用于根据所述签名请求数据及客户端证书获取对应的服务密钥分量,采用所述服务密钥分量对所述签名初始数据进行密码运算,得到签名中间数据,根据SSL-TLS协议将所述签名中间数据处理成签名应答数据并将所述签名应答数据作为第二交互消息发送至客户端;以及,对接收到的客户端证书校验消息进行验证,若验证通过则根据所述密码规格变更消息和握手结束消息向客户端发送密码规格变更响应消息和握手结束响应消息,以建立客户端与服务端之间的双向认证SSL-TLS通讯。
在一实施例中,所述第一交互模块包括:
解析单元,用于对所述第二交互消息进行解析,得到所述签名中间数据;
第一计算单元,用于采用预置客户密钥分量对所述签名中间数据进行密码运算,得到所述签名最终数据;
发送单元,用于根据SSL-TLS协议协议生成客户端证书校验消息、密码规格变更消息和握手结束消息,并将客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端。
在一实施例中,所述第二交互模块包括:
解密单元,用于对所述签名请求数据进行解密,获取客户端身份信息;
匹配单元,用于将所述客户端证书与客户端身份信息进行匹配,组成所述客户端的身份标识,并根据所述身份标识获取所述客户端对应的服务密钥分量;
第二计算单元,用于采用所述服务密钥分量对所述签名初始数据进行密码运算,得到所述签名中间数据;
加密单元,用于根据SSL-TLS协议将所述签名中间数据进行加密得到所述签名应答数据,并将所述签名应答数据作为所述第二交互消息发送至客户端。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备 ( 可以是个人计算机,服务器,或者网络设备等 ) 执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U 盘、移动硬盘、只读存储器 (ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于SSL-TLS协议的双向认证方法,其特征在于,包括:
客户端与服务端建立通讯连接,客户端向服务端发送握手请求,并接收服务端的响应消息;
客户端对签名原文进行密码运算得到签名初始数据,根据SSL-TLS协议将所述签名初始数据组织成签名请求数据,以所述签名请求数据作为第一交互消息发送至服务端,以及,客户端向所述服务端发送客户端证书数据,所述签名原文包括从发送握手请求开始到发送证书校验消息之前的所有握手消息,所述客户端证书数据中包括客户端证书;
服务端根据所述签名请求数据及客户端证书获取对应的服务密钥分量,采用所述服务密钥分量对所述签名初始数据进行密码运算,得到签名中间数据,根据SSL-TLS协议将所述签名中间数据处理成签名应答数据并将所述签名应答数据作为第二交互消息发送至客户端;
客户端采用所述服务密钥分量对应的客户密钥分量对所述签名应答数据中的签名中间数据进行密码运算,得到签名最终数据,并生成相应的客户端证书校验消息、密码规格变更消息和握手结束消息,将所述客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端;
服务端对接收到的客户端证书校验消息进行验证,若验证通过则根据所述密码规格变更消息和握手结束消息向客户端发送密码规格变更响应消息和握手结束响应消息,以建立客户端与服务端之间的双向认证SSL-TLS通讯。
2.根据权利要求1所述的基于SSL-TLS协议的双向认证方法,其特征在于,所述响应消息包含服务端证书,所述客户端接收服务端的响应消息的步骤之后、所述客户端对签名原文进行密码运算得到签名初始数据,根据SSL-TLS协议将所述签名初始数据组织成签名请求数据,以所述签名请求数据作为第一交互消息发送至服务端,以及,客户端向所述服务端发送客户端证书数据的步骤之前,包括:
客户端对所述服务端证书进行验证;
若验证通过,则继续通讯;
若验证不通过,则结束通讯。
3.根据权利要求1所述的基于SSL-TLS协议的双向认证方法,其特征在于,所述服务端根据所述签名请求数据及客户端证书获取对应的服务密钥分量,采用所述服务密钥分量对所述签名初始数据进行密码运算,得到签名中间数据,根据SSL-TLS协议将所述签名中间数据处理成签名应答数据并将所述签名应答数据作为第二交互消息发送至客户端,包括:
服务端对所述签名请求数据进行解密,获取客户端身份信息;
服务端将所述客户端证书与客户端身份信息进行匹配,组成所述客户端的身份标识,并根据所述身份标识获取所述客户端对应的服务密钥分量;
服务端采用所述服务密钥分量对所述签名初始数据进行密码运算,得到所述签名中间数据;
服务端根据SSL-TLS协议将所述签名中间数据进行加密得到所述签名应答数据,并将所述签名应答数据作为所述第二交互消息发送至客户端。
4.根据权利要求1所述的基于SSL-TLS协议的双向认证方法,其特征在于,所述客户端采用所述服务密钥分量对应的客户密钥分量对所述签名应答数据中的签名中间数据进行密码运算,得到签名最终数据,并生成相应的客户端证书校验消息、密码规格变更消息和握手结束消息,将所述客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端,包括:
客户端对所述第二交互消息进行解析,得到所述签名中间数据;
客户端采用预置客户密钥分量对所述签名中间数据进行密码运算,得到所述签名最终数据;
客户端根据SSL-TLS协议生成客户端证书校验消息、密码规格变更消息和握手结束消息,并将客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端。
5.根据权利要求1所述的基于SSL-TLS协议的双向认证方法,其特征在于,还包括:
若服务端对接收到的客户端证书校验消息进行验证的结果为验证不通过,则结束通讯。
6.根据权利要求2所述的基于SSL-TLS协议的双向认证方法,其特征在于,所述客户端向服务端发送握手请求,并接收服务端的响应消息,包括:
客户端发送所述握手请求到服务端,并接收服务端响应于所述握手请求而向客户端返回的响应信息,所述响应信息中还包括所述证书校验请求和握手结束消息。
7.根据权利要求1所述的基于SSL-TLS协议的双向认证方法,其特征在于,所述根据SSL-TLS协议将所述签名初始数据组织成签名请求数据,以所述签名请求数据作为第一交互消息发送至服务端,包括:
客户端使用服务端证书中的公钥对所述签名初始数据组织进行加密,得到签名请求数据,以所述签名请求数据作为第一交互消息发送至服务端;
或者,客户端使用当前通讯连接过程中SSL-TLS协议确定的预主密钥对所述签名初始数据组织进行加密,得到签名请求数据,以所述签名请求数据作为第一交互消息发送至服务端。
8.一种基于SSL-TLS协议的双向认证装置,其特征在于,包括:
通讯连接模块,用于建立客户端与服务端的通讯连接;
客户端包括:
第一交互模块,用于对签名原文进行密码运算得到签名初始数据,根据SSL-TLS协议将所述签名初始数据组织成签名请求数据,以所述签名请求数据作为第一交互消息发送至服务端;以及,向服务端发送客户端证书数据;以及,采用服务密钥分量对应的客户密钥分量对签名应答数据中的签名中间数据进行密码运算,得到签名最终数据,并生成相应的客户端证书校验消息、密码规格变更消息和握手结束消息,将所述客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端;
服务端包括:
第二交互模块,用于根据所述签名请求数据及客户端证书获取对应的服务密钥分量,采用所述服务密钥分量对所述签名初始数据进行密码运算,得到签名中间数据,根据SSL-TLS协议将所述签名中间数据处理成签名应答数据并将所述签名应答数据作为第二交互消息发送至客户端;以及,对接收到的客户端证书校验消息进行验证,若验证通过则根据所述密码规格变更消息和握手结束消息向客户端发送密码规格变更响应消息和握手结束响应消息,以建立客户端与服务端之间的双向认证SSL-TLS通讯。
9.根据权利要求8所述的基于SSL-TLS协议的双向认证装置,其特征在于,所述第一交互模块包括:
解析单元,用于对所述第二交互消息进行解析,得到所述签名中间数据;
第一计算单元,用于采用预置客户密钥分量对所述签名中间数据进行密码运算,得到所述签名最终数据;
发送单元,用于根据SSL-TLS协议生成客户端证书校验消息、密码规格变更消息和握手结束消息,并将客户端证书校验消息、密码规格变更消息和握手结束消息发送至服务端。
10.根据权利要求8所述的基于SSL-TLS协议的双向认证装置,其特征在于,所述第二交互模块包括:
解密单元,用于对所述签名请求数据进行解密,获取客户端身份信息;
匹配单元,用于将所述客户端证书与客户端身份信息进行匹配,组成所述客户端的身份标识,并根据所述身份标识获取所述客户端对应的服务密钥分量;
第二计算单元,用于采用所述服务密钥分量对所述签名初始数据进行密码运算,得到所述签名中间数据;
加密单元,用于根据SSL-TLS协议将所述签名中间数据进行加密得到所述签名应答数据,并将所述签名应答数据作为所述第二交互消息发送至客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110896881.XA CN113347010B (zh) | 2021-08-05 | 2021-08-05 | 基于ssl-tls协议的双向认证方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110896881.XA CN113347010B (zh) | 2021-08-05 | 2021-08-05 | 基于ssl-tls协议的双向认证方法、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113347010A true CN113347010A (zh) | 2021-09-03 |
CN113347010B CN113347010B (zh) | 2021-11-05 |
Family
ID=77480869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110896881.XA Active CN113347010B (zh) | 2021-08-05 | 2021-08-05 | 基于ssl-tls协议的双向认证方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113347010B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114513362A (zh) * | 2022-02-22 | 2022-05-17 | 中国银行股份有限公司 | 基于tls协议的长连接通讯处理方法及装置 |
CN115174114A (zh) * | 2022-07-07 | 2022-10-11 | 渔翁信息技术股份有限公司 | 一种ssl隧道建立方法、服务端及客户端 |
CN117544318A (zh) * | 2023-11-29 | 2024-02-09 | 中金金融认证中心有限公司 | 协同签名增强认证方法及增强认证系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050015594A1 (en) * | 2003-07-17 | 2005-01-20 | International Business Machines Corporation | Method and system for stepping up to certificate-based authentication without breaking an existing SSL session |
US20100306525A1 (en) * | 2009-05-28 | 2010-12-02 | Microsoft Corporation | Efficient distribution of computation in key agreement |
CN103457939A (zh) * | 2013-08-19 | 2013-12-18 | 飞天诚信科技股份有限公司 | 一种实现智能密钥设备双向认证的方法 |
CN103763356A (zh) * | 2014-01-08 | 2014-04-30 | 深圳大学 | 一种安全套接层连接的建立方法、装置及系统 |
EP3232632A1 (en) * | 2014-12-02 | 2017-10-18 | Institute of Acoustics, Chinese Academy of Sciences | Method and system for acquiring plaintext of network secret data |
CN108377186A (zh) * | 2018-03-19 | 2018-08-07 | 北京工业大学 | 一种基于tcm的ssl协议 |
CN110690969A (zh) * | 2018-07-06 | 2020-01-14 | 武汉信安珞珈科技有限公司 | 一种多方协同完成双向ssl/tls认证的方法和系统 |
CN111740844A (zh) * | 2020-06-24 | 2020-10-02 | 上海缔安科技股份有限公司 | 基于硬件的国密算法的ssl通信方法及装置 |
CN112422560A (zh) * | 2020-11-17 | 2021-02-26 | 中国电力科学研究院有限公司 | 基于安全套接层的轻量级变电站安全通信方法及系统 |
-
2021
- 2021-08-05 CN CN202110896881.XA patent/CN113347010B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050015594A1 (en) * | 2003-07-17 | 2005-01-20 | International Business Machines Corporation | Method and system for stepping up to certificate-based authentication without breaking an existing SSL session |
US20100306525A1 (en) * | 2009-05-28 | 2010-12-02 | Microsoft Corporation | Efficient distribution of computation in key agreement |
CN103457939A (zh) * | 2013-08-19 | 2013-12-18 | 飞天诚信科技股份有限公司 | 一种实现智能密钥设备双向认证的方法 |
CN103763356A (zh) * | 2014-01-08 | 2014-04-30 | 深圳大学 | 一种安全套接层连接的建立方法、装置及系统 |
EP3232632A1 (en) * | 2014-12-02 | 2017-10-18 | Institute of Acoustics, Chinese Academy of Sciences | Method and system for acquiring plaintext of network secret data |
CN108377186A (zh) * | 2018-03-19 | 2018-08-07 | 北京工业大学 | 一种基于tcm的ssl协议 |
CN110690969A (zh) * | 2018-07-06 | 2020-01-14 | 武汉信安珞珈科技有限公司 | 一种多方协同完成双向ssl/tls认证的方法和系统 |
CN111740844A (zh) * | 2020-06-24 | 2020-10-02 | 上海缔安科技股份有限公司 | 基于硬件的国密算法的ssl通信方法及装置 |
CN112422560A (zh) * | 2020-11-17 | 2021-02-26 | 中国电力科学研究院有限公司 | 基于安全套接层的轻量级变电站安全通信方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114513362A (zh) * | 2022-02-22 | 2022-05-17 | 中国银行股份有限公司 | 基于tls协议的长连接通讯处理方法及装置 |
CN115174114A (zh) * | 2022-07-07 | 2022-10-11 | 渔翁信息技术股份有限公司 | 一种ssl隧道建立方法、服务端及客户端 |
CN117544318A (zh) * | 2023-11-29 | 2024-02-09 | 中金金融认证中心有限公司 | 协同签名增强认证方法及增强认证系统 |
CN117544318B (zh) * | 2023-11-29 | 2024-10-01 | 中金金融认证中心有限公司 | 协同签名增强认证方法及增强认证系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113347010B (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113347010B (zh) | 基于ssl-tls协议的双向认证方法、系统 | |
US10601801B2 (en) | Identity authentication method and apparatus | |
CN110049016B (zh) | 区块链的数据查询方法、装置、系统、设备及存储介质 | |
CN107358441B (zh) | 支付验证的方法、系统及移动设备和安全认证设备 | |
CN111130803B (zh) | 数字签名的方法、系统及装置 | |
CN110519046B (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统 | |
CN102916869B (zh) | 即时通信方法和系统 | |
CN110784322B (zh) | 一种网关设备与云平台连接的方法、系统、设备及介质 | |
CN107948736A (zh) | 一种音视频证据保全方法及系统 | |
CN102833253A (zh) | 建立客户端与服务器安全连接的方法及服务器 | |
CN113920616B (zh) | 车辆与蓝牙钥匙安全连接的方法、蓝牙模块、蓝牙钥匙 | |
CN111245607B (zh) | 一种组网方法及系统、配网设备、客户端和服务端 | |
CN110138548B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统 | |
CN101964805B (zh) | 一种数据安全发送与接收的方法、设备及系统 | |
CN115021932A (zh) | 用于tlcp协议的握手过程的身份验证方法 | |
CN110380859B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统 | |
CN112084521A (zh) | 用于区块链的非结构化数据处理方法、装置及系统 | |
CN111181723A (zh) | 物联网设备间离线安全认证的方法和装置 | |
CN110690969B (zh) | 一种多方协同完成双向ssl/tls认证的方法和系统 | |
CN112600667B (zh) | 一种密钥协商方法、装置、设备及存储介质 | |
CN105187369A (zh) | 一种数据访问方法及装置 | |
CN113824551B (zh) | 一种应用于安全存储系统的量子密钥分发方法 | |
CN117081736A (zh) | 密钥分发方法、密钥分发装置、通信方法及通信装置 | |
CN104835038A (zh) | 一种联网支付装置及方法 | |
CN108111546A (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 |