CN114928503A - 一种安全通道的实现方法及数据传输方法 - Google Patents

一种安全通道的实现方法及数据传输方法 Download PDF

Info

Publication number
CN114928503A
CN114928503A CN202210855778.5A CN202210855778A CN114928503A CN 114928503 A CN114928503 A CN 114928503A CN 202210855778 A CN202210855778 A CN 202210855778A CN 114928503 A CN114928503 A CN 114928503A
Authority
CN
China
Prior art keywords
plaintext
server
agent
key
secure channel
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
Application number
CN202210855778.5A
Other languages
English (en)
Other versions
CN114928503B (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.)
Beijing Unita Information Technology Co ltd
Original Assignee
Beijing Unita Information Technology 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 Beijing Unita Information Technology Co ltd filed Critical Beijing Unita Information Technology Co ltd
Priority to CN202210855778.5A priority Critical patent/CN114928503B/zh
Publication of CN114928503A publication Critical patent/CN114928503A/zh
Application granted granted Critical
Publication of CN114928503B publication Critical patent/CN114928503B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种安全通道的实现方法及数据传输方法,该安全通道的实现方法包括:代理端和服务端分别产生所对应的A明文和B明文;基于预配置的代理端和服务端所分别对应的加密密钥和签名密钥对A明文和B明文进行校验,得到校验通过的A明文和B明文;对校验通过的A明文和B明文进行异或运算得到会话密钥,以在代理端和服务端之间成功建立安全通道。通过本发明,保证了数据基于会话密钥在安全通道中传输的机密性、完整性以及防重放。

Description

一种安全通道的实现方法及数据传输方法
技术领域
本发明涉及网络安全技术领域,尤其涉及一种安全通道的实现方法及数据传输方法。
背景技术
网络是用物理链路将各个孤立的工作站或主机相连在一起组成数据链路,从而达到资源共享和通信的目的。通信是人与人之间通过某种媒介进行信息的交流与传递。网络通信是基于网络实现通信目的,用户可以通过网络通信获取全球各地发生的时事、趣闻。另外,用户还可以讲自己周围的事物、见闻等分享给其他人。
网络通信涉及到数据传输,数据传输的安全性俨然成为互联网安全技术中的重要组成部分。传统的网络代理模型由服务端、客户端以及代理端三部分组成,参图1所示,代理端是介于客户端于服务端之间的一台服务器,基于代理端,首先客户端向代理端请求数据,然后代理端向服务端请求数据,最后再将数据返回至客户端。
而前述的服务端、客户端以及代理端三者的交互方式传输数据时一般都采用明文的方式,第三方可以非常容易的获取前述传输数据,进而存在容易受到攻击的缺陷,同时,第三方获取前述传输数据后,还可能冒充发送方将数据传输至服务器,经过第三方传输的数据存在数据错误以及不稳定的缺陷。
有鉴于此,有必要对现有技术中的网络通信方法予以改进,以解决上述问题。
发明内容
本发明的目的在于解决现有技术中在数据传输时容易发生错误且不稳定的缺陷。
为实现上述目的,本发明提供了一种安全通道的实现方法,包括:
代理端和服务端分别产生所对应的A明文和B明文;
基于预配置的代理端和服务端所分别对应的加密密钥和签名密钥对所述A明文和B明文进行校验,得到校验通过的A明文和B明文;
对所述校验通过的A明文和B明文进行异或运算得到会话密钥,以在所述代理端和服务端之间成功建立安全通道。
作为本发明的进一步改进,所述代理端包括第一密码设备、边界设备与第二密码设备,所述安全通道直接建立于服务端与第一密码设备之间,或者安全通道通过边界设备间接建立于服务端与第二密码设备之间。
作为本发明的进一步改进,所述A明文由第一密码设备所配置的第一随机数接口配置形成,或者,由边界设备所配置的第二随机数接口配置形成。
作为本发明的进一步改进,所述代理端和服务端所分别对应的签名密钥和加密密钥通过代理端和服务端分别调用密码模块接口予以确定。
作为本发明的进一步改进,所述在所述代理端和服务端之间成功建立安全通道之后,还包括:
将所述会话密钥存储至服务端以及代理端,同时服务端存储的不同代理端所分别对应的会话密钥以上下文形式存储;其中,所述上下文形式存储包括基于会话密钥所对应的有效期、防止重放消息ID或者防止重放消息ID所对应的最大特征值中的一种或者任意几种组合存储。
作为本发明的进一步改进,所述代理端和服务端分别产生所对应的A明文和B明文之前,还包括:
代理端和服务端分别检测是否存在有效的会话密钥;
若是,则基于所述有效的会话密钥以在所述代理端和服务端之间成功建立安全通道;
若否,则通过代理端和服务端互相校验确定会话密钥,以在代理端和服务端之间成功建立安全通道。
作为本发明的进一步改进,所述基于预配置的代理端和服务端所分别对应的加密密钥和签名密钥对所述A明文和B明文进行校验,得到校验通过的A明文和B明文,包括:
代理端和服务端分别产生所对应的加密密钥和签名密钥,同时代理端和服务端分别获取对端所产生的加密公钥和签名公钥;
通过服务端对所述A明文进行校验,并将校验通过的A明文存储至服务端;
通过代理端对校验通过的A明文以及B明文进行校验,并将校验通过的B明文存储至代理端。
作为本发明的进一步改进,所述通过服务端对所述A明文进行校验,并将校验通过的A明文存储至服务端,包括;
代理端对所述A明文进行加密并签名,得到A密文以及A明文所对应的签名值;
服务端对所述A密文进行解密得到A明文,同时对所述A明文所对应的签名值进行校验,在校验通过后将A明文存储至服务端。
作为本发明的进一步改进,所述通过代理端对校验通过的A明文以及B明文进行校验,并将校验通过的B明文存储至代理端,包括:
服务端对校验通过的A明文以及B明文进行加密,并对B明文进行签名,得到校验通过的A明文以及B明文所对应的密文以及B明文所对应的签名值;
代理端对所述校验通过的A明文以及B明文所对应的密文进行解密得到A明文和B明文,同时对B明文所对应的签名值进行校验,在校验通过后将B明文存储至代理端。
作为本发明的进一步改进,所述代理端通过服务端所对应的加密密钥所包含的加密公钥对所述A明文进行加密,所述服务端通过服务端所对应的加密密钥所包含的加密私钥对所述A密文进行解密;
所述服务端通过代理端所对应的加密密钥所包含的加密公钥对校验通过的A明文以及B明文进行加密,所述代理端通过代理端所对应的加密密钥所包含的加密私钥对校验通过的A明文以及B明文所对应的密文进行解密。
作为本发明的进一步改进,所述代理端通过代理端所对应的签名密钥所包含的签名私钥对所述A明文进行签名,所述服务端通过代理端所对应的签名密钥所包含的签名公钥对所述A明文所对应的签名值进行校验;
所述服务端通过服务端所对应的签名密钥所包含的签名私钥对所述B明文进行签名,所述代理端通过服务端所对应的签名密钥所包含的签名公钥对所述B明文所对应的签名值进行校验。
基于相同发明思想,本发明还揭示了一种数据传输方法,包括:
基于会话密钥对数据进行加密和解密,并通过安全通道实现代理端和服务端之间的数据传输;其中,会话密钥和安全通道由前述任一项发明创造所述的安全通道的实现方法予以确定。
与现有技术相比,本发明的有益效果是:
首先,代理端和服务端分别产生所对应的A明文和B明文;其次,基于预配置的代理端和服务端所分别对应的加密密钥和签名密钥对A明文和B明文进行校验,得到校验通过的A明文和B明文;最后,对校验通过的A明文和B明文进行异或运算得到会话密钥,以在代理端和服务端之间成功建立安全通道。通过代理端和服务端所分别对应的加密密钥和签名密钥对A明文和B明文执行互相校验,保证了代理端和服务端双方的真实身份可靠鉴权及识别;基于会话密钥对数据进行加密和解密,从而确保了后续数据传输时不会存在将明文数据传输至非法捕获者的现象,由此保证了数据传输的安全性。
附图说明
图1为现有技术的拓扑图;
图2为本发明所示出的一种安全通道的实现方法的步骤示意图;
图3为运行本发明一种安全通道的实现方法的拓扑图;
图4为本发明所示出的检测是否存在有效的会话密钥的流程图;
图5为图2所示的一种安全通道的实现方法中步骤S2的整体步骤图;
图6为图5所示出的步骤S2的整体步骤图中步骤S22的具体步骤图;
图7为图5所示出的步骤S2的整体步骤图中步骤S23的具体步骤图;
图8为本发明所示出的一个服务端与多个代理端的拓扑图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
请参图1至图8所示出的一种安全通道的实现方法的一种具体实施方式。本发明的一种安全通道的实现方法的应用场景为服务端与代理端基于会话密钥成功建立安全通道,从而保证在安全通道传输的数据的机密性及完整性。其中,服务端10是指与第一密码设备20或边界设备30的物理服务器(或者电子设备)建立安全通道的一种物理服务器,代理端是指部署第一密码设备20、边界设备30的一种物理服务器。该安全通道的实现方法运行在服务端10和代理端之间,代理端可以是图3中所示出的第一密码设备20,以通过安全通道直接建立服务端10与第一密码设备20的连接,还可以是图3中所示出的边界设备30,边界设备30与第二密码设备40连接,以通过安全通道建立服务端10与边界设备30的连接,从而实现间接建立服务端10与第二密码设备40的连接。
示例性地,本发明所揭示的一种安全通道的实现方法,首先代理端和服务端分别产生所对应的A明文和B明文;其次基于预配置的代理端和服务端所分别对应的加密密钥和签名密钥对A明文和B明文进行校验,得到校验通过的A明文和B明文;最后对校验通过的A明文和B明文进行异或运算得到会话密钥,以在代理端和服务端之间成功建立安全通道。
需要说明的是,代理端和服务端分别生成各自所对应的加密密钥和签名密钥,同时,代理端获取服务端所对应的加密密钥所包含的加密公钥以及服务端所对应的签名密钥所包含的签名公钥,服务端获取代理端所对应的加密密钥所包含的加密公钥以及代理端所对应的签名密钥所包含的签名公钥。通过前述代理端获取服务端所对应的加密公钥以及签名公钥,以方便后续代理端基于服务端的加密公钥对A明文进行加密得到A密文,同时基于自身(即,代理端)的签名私钥对A明文进行签名得到A明文所对应的签名值,从而实现后续服务端基于自身(即,服务端)的加密密钥所包含的加密私钥对A密文进行解密,同时基于代理端的签名密钥所包含的签名公钥对A明文所对应的签名值进行验证;同理,通过前述服务端获取代理端所对应的加密公钥以及签名公钥,以方便后续服务端基于代理端的加密公钥对前述校验通过的A明文和B明文进行加密得到校验通过的A明文和B明文所对应的密文,同时基于自身(即,服务端)的签名私钥对B明文进行签名得到B明文所对应的签名值,从而实现后续代理端基于自身(即,代理端)的加密密钥所包含的加密私钥对校验通过的A明文和B明文所对应的密文进行解密,同时基于服务端的签名密钥所包含的签名公钥对B明文所对应的签名值进行校验。通过基于代理端和服务端所分别对应的加密密钥和签名密钥的互相校验,以保证代理端和服务端双方的真实身份,从而确保后续数据传输时不会存在将数据传输至非法捕获者的现象。在前述步骤校验通过后,代理端和服务端均已确定对端所产生的明文(即,代理端已确定服务端所产生的B明文,服务端已确定代理端所产生的A明文),然后代理端将服务端所产生的B明文存储至代理端,服务端将代理端所产生的A明文存储至服务端,以实现后续代理端和服务端均基于A明文和B明文进行异或运算以得到会话密钥。由于代理端和服务端均确定A明文和B明文,因此确保了代理端和服务端在基于A明文和B明文的基础上进行异或运算得到的会话密钥的唯一性。
另外,得到会话密钥后,成功建立安全通道,基于会话密钥对传输的数据进行加密并进行封装,同时通过HMAC算法计算封装后的数据包的MAC值,从而通过MAC值保证传输的数据的完整性。另外,基于会话密钥的加密和解密以保证发送端和接收端能够基于相同的会话密钥对数据进行解密以得到准确数据,而对于其他非法捕获者而言没有会话密钥捕获的数据包仅仅是无意义的数据,以保证了数据的机密性,同时基于协议对数据进行封装处理,以保证数据在传输过程中的完整性,也确保了数据的唯一性。前述非法捕获者是指冒充接收方接收数据的非法主体。
此外,当存在多个代理端时,服务端以上下文形式存储不同的代理端所分别对应的会话密钥,其中,上下文形式存储包括基于会话密钥所对应的有效期、防止重放消息ID或者防止重放消息ID所对应的最大特征值中的一种或者任意几种组合存储。通过上下文形式存储以保证每个数据包(即前述加密并进行封装处理的数据)的唯一性,基于防止重放消息ID的递增性以确保非法捕获者捕获的数据包不能重发以及重用,从而更大程度上确保了数据的安全性。
参图2所示,在本实施方式中,一种安全通道的实现方法包括以下步骤S1至步骤S3。
步骤S1、代理端和服务端分别产生所对应的A明文和B明文。
示例性地,参图3所示,部署有服务端10,服务端10基于安全通道与代理端连接,其中,代理端可以是第一密码设备20,也可以是边界设备30。当代理端为第一密码设备20时,基于安全通道直接建立第一密码设备20与服务端10的连接;当代理端为边界设备30时,边界设备30与第二密码设备40连接,以基于安全通道建立边界设备30与服务端10的连接,从而间接建立第二密码设备40 与服务端10的连接。
需要说明的是,密码设备(即,第一密码设备20或者第二密码设备40)是指具有某种密码功能或者能够完成某种密码工作任务的设备统称。边界设备30是一个使用数据连接层和网络层信息,可以在遗产网络(例如,以太网)和ATM网络之间传送数据包的物理设备。当某些密码设备(即,第一密码设备20)可以直接与服务端10基于安全通道建立连接以传输数据时,此时该密码设备(即,第一密码设备20)被定义为代理端;当某些密码设备(即,第二密码设备40)不能够直接与服务端10基于安全通道建立连接以传输数据时,则在该密码设备(即,第二密码设备40)与服务之间通过边界设备30建立连接以传输数据,此时该边界设备30被定义为代理端。另外,边界设备30与第二密码设备40之间通过SNMP协议实现通信,其中,SNMP协议是网络管理协议,其工作方式不属于本发明的发明内容,在此不再赘述。
具体的,代理端和服务端通过随机数接口产生所分别对应的A明文和B明文。代理端(即,第一密码设备20或者边界设备30)和服务端10均配置有随机数接口,并通过随机数接口分别产生代理端和服务端10所分别对应的随机数,将代理端产生的随机数定义为A明文,将服务端10产生的随机数定义为B明文。参图3所示,A明文可以是由第一密码设备20所配置的第一随机数接口21配置形成,A明文还可以是由边界设备30所配置的第二随机数接口31配置形成。
步骤S2、基于预配置的代理端和服务端所分别对应的加密密钥和签名密钥对A明文和B明文进行校验,得到校验通过的A明文和B明文。
具体地,参图5所示,前述步骤S2具体包括以下步骤S21至步骤S23。
步骤S21、代理端和服务端分别产生密密钥和签名密钥,同时代理端和服务端分别获取对端所产生的加密公钥和签名公钥。
具体地,代理端和服务端分别调用密码模块接口产生代理端和服务端分别产生所对应的加密密钥和签名密钥,其中,加密密钥包括加密公私钥对,签名密钥包括签名公私钥对,通过加密公私钥对对某一数据进行加密以及解密得到的数据唯一,因此通过成对设置的加密私钥和加密公钥以及成对设置的签名私钥和签名公钥,以确保某一数据加密前和解密后以及签名前以及校验后该数据的唯一性。在代理端和服务端分别产生所对应的加密密钥和签名密钥之后,代理端和服务端分别获取对端所产生的加密公钥和签名公钥,即,代理端获取服务端所对应的加密公钥和签名公钥,同样服务端获取代理端所对应的加密公钥和签名公钥,以方便后续执行通过服务端所对应的加密公钥对A明文进行加密以及通过服务端所对应的签名公钥对B明文所对应的签名值进行校验,同理通过代理端所对应的加密公钥对校验通过的A明文和B明文进行加密以及通过代理端所对应的签名公钥对A明文所对应的签名值进行校验的操作。通过同一加密公私钥对和签名公私钥对对某一数据进行加密和签名,以及解密和校验,只有解密和校验通过(即,加密前和解密后的数据为用一个时)所对应的代理端或者服务端为正确的接收者,以保证代理端和服务端双方的真实身份,从而最终确保后续数据传输时不会存在将数据传输至非法捕获者的现象。前述接收者在本申请中的含义为基于安全通道所转发数据的对象,例如,当数据从服务端10发送至代理端(第一密码设备20或者边界设备30)时,将代理端的角色定义为接收者;反之,数据从代理端发送至服务端10时,服务端10的角色定义为接收者。
需要说明的是,代理端和服务端分别调用密码模块接口产生代理端和服务端分别产生所对应的加密密钥和签名密钥所采用的算法可以是OpenSSL软算法或各厂牌密码卡硬素算法或者ECC非对称算法,本实施例对此不作限定。
另外,代理端获取服务端所对应的加密公钥和签名公钥,以及服务端获取代理端所对应的加密公钥和签名公钥所采用的方式为以离线方式互相传输,还可以是其他方式(例如,有线方式),本实施例不对互相传输加密公钥和签名公钥的方式作具体限定。
此外,签名密钥和加密密钥仅仅是服务端和代理端所对应的系统部署时产生,在后续不会产生第二次签名密钥和加密密钥,以确保基于代理端的加密以及签名在服务端进行解密和签名校验后得到的明文的唯一性(例如,当代理端对A明文进行加密得到A密文,服务端对A密文进行解密得到A明文,以确保加密前的A明文和解密后的A明文为同一个)。当然,用户也可以对加密密钥和签名密钥进行自定义的修改,只要能够实现加密前和解密后为同一个,从而保证下述代理端和服务端分别基于A明文和B明文进行异或运算时得到的会话密钥的唯一性。
步骤S22、通过服务端对A明文进行校验,并将校验通过的A明文存储至服务端。
参图6所示,前述步骤S22具体包括以下步骤S221至步骤S222。
步骤S221、代理端对A明文进行加密并签名,得到A密文以及A明文所对应的签名值。
具体地,代理端通过服务端所对应的加密公钥对A明文进行加密,同时通过自身(即,代理端)的签名私钥对A明文进行签名,得到A密文以及A明文所对应的签名值,然后通过安全通道建立请求消息将A密文以及A明文所对应的签名值发送至服务端。需要说明的是,前述通过安全通道建立请求消息中所对应的安全通道为不稳定的安全通道,也可以理解为该安全通道为测试中的通道。
步骤S222、服务端对A密文进行解密得到A明文,同时对A明文所对应的签名值进行校验,在校验通过后将A明文存储至服务端。
具体地,服务端接收自代理端所发送的A密文以及A明文所对应的签名值,通过服务端所对应的加密私钥对A密文进行解密得到A明文,同时通过代理端所对应的签名公钥对A明文所对应的签名值进行校验,在校验通过后,将A明文存储至服务端。
需要说明的是,由于是基于服务端所对应的加密公钥对A明文进行加密,并通过代理端所对应的签名私钥对A明文进行签名,然后再通过服务端所对应的加密私钥对A密文(即,加密后的A明文)进行解密,并通过代理端所对应的签名公钥对A明文所对应的签名值(即,签名后的A明文)进行校验(也可以理解为,基于同一个加密公私钥对和签名公私钥对进行加密解密,签名和校验),因此加密前和签名前的A明文对于解密后和签名校验后的A明文为同一个,当前后(即,加密前和解密后、以及签名前和校验后)得到的结果一致时,则代表校验通过,并将校验通过的A明文存储至服务端10,以保证服务端10存储有代理端所产生的随机数(即,A明文)。
步骤S23、通过代理端对校验通过的A明文以及B明文进行校验,并将校验通过的B明文存储至代理端。
参图7所示,前述步骤S23包括以下步骤S231至步骤S232。
步骤S231、服务端对校验通过的A明文以及B明文进行加密,并对B明文进行签名,得到校验通过的A明文以及B明文所对应的密文以及B明文所对应的签名值。
具体地,服务端通过代理端所对应的加密公钥对校验通过的A明文以及服务端所产生的B明文进行加密,同时通过自身(即,服务端)所对应的签名私钥对B明文进行签名,得到校验通过的A明文以及服务端所产生的B明文所对应的密文以及B明文所对应的签名值,然后通过安全通道建立请求消息将校验通过的A明文以及服务端所产生的B明文所对应的密文以及B明文所对应的签名值发送至代理端。
步骤S232、代理端对校验通过的A明文以及B明文所对应的密文进行解密得到A明文和B明文,同时对B明文所对应的签名值进行校验,在校验通过后将B明文存储至代理端。
具体地,代理端接收自服务端发送的校验通过的A明文以及服务端所产生的B明文所对应的密文以及B明文所对应的签名值,通过自身(即,代理端)所对应的加密私钥对校验通过的A明文以及服务端所产生的B明文所对应的密文进行解密得到A明文和B明文,同时通过服务端所对应的签名公钥对B明文所对应的签名值进行校验,在校验通过后,将B明文存储至代理端。
需要说明的是,同上所述,由于是基于代理端所对应的加密公钥对校验通过的A明文以及服务端所产生的B明文进行加密,并通过服务端所对应的签名私钥对B明文进行签名,然后再通过代理端所对应的加密私钥对校验通过的A明文以及服务端所产生的B明文所对应的密文进行解密,并通过服务端所对应的签名公钥对B明文所对应的签名值进行校验,即基于同一加密公私钥对以及签名公私钥对对某一数据进行加密解密,以及签名校验,因此前后(即,加密前和解密后、以及签名前和校验后)得到的数据为同一个,从而在数据为同一个时,则表示校验通过,并将校验通过的B明文存储至代理端。
另外,通过同一加密公私钥对和签名公私钥对对某一数据(即,A明文和/或B明文)进行加密和解密,以及签名和校验,并在前后(即,加密前和解密后、以及签名前和校验后)一致时,代表校验通过,以保证代理端和服务端双方的真实身份,从而确保后续数据传输时不会存在将数据传输至非法捕获者的现象。
步骤S3、对校验通过的A明文和B明文进行异或运算得到会话密钥,以在代理端和服务端之间成功建立安全通道。
具体地,代理端和服务端均存储有A明文和B明文,则代理端和服务端均通过A明文和B明文进行异或运算得到异或结果,并将异或结果作为会话密钥,从而在代理端和服务端之间成功建立安全通道。基于前述代理端和服务端存储的A明文和B明文为相同的,因此异或运算得到的会话结果一定相同,从而不需要对会话密钥进行校验。另外,除了将A明文和B明文进行异或运算得到的结果作为会话密钥,还可以是其他运算方式,只要能够保证代理端和服务端所分别计算的会话密钥一致即可。此外,此时的安全通道基于会话密钥实现数据的传输,因此指明在代理端和服务端之间成功建立安全通道。
在确定会话密钥,以在代理端和服务端成功建立安全通道之后,将会话密钥存储至服务端和代理端。参图8所示,当服务端10对应多个代理端(即,代理端11~代理端1n,其中n取大于等于2的整数)时,服务端10会存储有多个代理端所分别对应的会话密钥,此时的多个会话密钥以上下文形式存储;其中,上下文形式存储包括基于会话密钥所对应的有效期、防止重放消息ID或者防止重放消息ID所对应的最大特征值中的一种或者任意几种组合。
具体而言,服务端10存储多个会话密钥时,用户可以自定义对每个会话密钥作具体地限定,例如,限定会话密钥的使用时间,限定会话密钥的使用次数等。当该会话密钥在其所属的限定范围内(例如,当前时间在该会话密钥的使用时间内,或者当前次数在该会话密钥的使用次数内),则判定该会话密钥为有效的会话密钥;当该会话密钥不在其所属的限定范围内(例如,当前时间超出了该会话密钥所限定的使用时间,或者当前次数超出该会话密钥所限定的使用次数),则判定该会话密钥不为有效的会话密钥(即,无效的会话密钥)。
基于上述限定,参图4所示,在代理端和服务端分别产生所对应的A明文和B明文(即,步骤S1)之前,还包括以下步骤S11至步骤S13。
步骤S11、代理端和服务端分别检测是否存在有效的会话密钥;若是,则执行步骤S12;若否,则执行步骤S13。
步骤S12、基于有效的会话密钥以在代理端和服务端之间成功建立安全通道。
步骤S13、通过代理端和服务端互相校验确定会话密钥,以在代理端和服务端之间成功建立安全通道。
具体而言,首先检测代理端和服务端是否存在有效的会话密钥,当存在有效的会话密钥时,直接基于该有效的会话密钥以在代理端和服务端之间成功建立安全通道,从而省略了再次确定会话密钥的步骤,以提高了在代理端和服务端之间成功建立安全通道的效率;当不存在有效的会话密钥(即,会话密钥不在其所属的限定范围内,或者未确定会话密钥)时,则通过代理端和服务端互相校验确定会话密钥,以在代理端和服务端之间成功建立安全通道。需要说明的是,可以将前述通过代理端和服务端互相校验确定协商会话密钥,从而在代理端和服务端之间成功建立安全通道的操作具体为本实施例所示出的步骤S1至步骤S3所对应的操作。
进一步地,基于上文所揭示的一种安全通道的实现方法,本实施例还揭示了一种数据传输方法,该方法包括:基于会话密钥对数据进行加密和解密,并通过安全通道实现代理端和客户端之间的数据传输;其中,会话密钥和安全通道基于上文所揭示的一种安全通道的实现方法予以确定。
具体地,首先代理端通过会话密钥对原始数据进行加密,同时通过协议(例如,HMAC算法)对原始数据进行封装处理,然后通过安全通道将加密且封装处理后的数据(也可以理解为数据包)发送至服务端,服务端通过会话密钥对加密且封装处理后的数据进行解密,得到原始数据,从而实现了原始数据基于会话密钥在安全通道在代理端和客户端之间的传输。
需要说明的是,基于会话密钥对传输的数据进行加密并进行封装,同时通过HMAC算法计算封装后的数据包的MAC值,从而通过MAC值保证传输的数据的完整性。另外,基于会话密钥的加密和解密以保证发送端和接收端能够基于相同的会话对数据进行解密以得到完整数据,而对于其他非法捕获者而言没有会话密钥捕获的数据包仅仅是无意义的数据,以保证了数据的机密性,同时基于协议对数据进行封装处理,以保证数据在传输过程中的完整性,也确保了数据的唯一性。
此外,多个会话密钥在服务端内通过上下文形式存储以保证每个数据包(即前述加密并进行封装处理的数据)的唯一性,基于防止重放消息ID的递增性以确保非法捕获者捕获的数据包不能重发以及重用,从而更大程度上确保了数据的安全性。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (12)

1.一种安全通道的实现方法,其特征在于,包括:
代理端和服务端分别产生所对应的A明文和B明文;
基于预配置的代理端和服务端所分别对应的加密密钥和签名密钥对所述A明文和B明文进行校验,得到校验通过的A明文和B明文;
对所述校验通过的A明文和B明文进行异或运算得到会话密钥,以在所述代理端和服务端之间成功建立安全通道。
2.根据权利要求1所述的安全通道的实现方法,其特征在于,所述代理端包括第一密码设备、边界设备与第二密码设备,所述安全通道直接建立于服务端与第一密码设备之间,或者安全通道通过边界设备间接建立于服务端与第二密码设备之间。
3.根据权利要求2所述的安全通道的实现方法,其特征在于,所述A明文由第一密码设备所配置的第一随机数接口配置形成,或者,由边界设备所配置的第二随机数接口配置形成。
4.根据权利要求1所述的安全通道的实现方法,其特征在于,所述代理端和服务端所分别对应的签名密钥和加密密钥通过代理端和服务端分别调用密码模块接口予以确定。
5.根据权利要求1所述的安全通道的实现方法,其特征在于,所述在所述代理端和服务端之间成功建立安全通道之后,还包括:
将所述会话密钥存储至服务端以及代理端,同时服务端存储的不同代理端所分别对应的会话密钥以上下文形式存储;其中,所述上下文形式存储包括基于会话密钥所对应的有效期、防止重放消息ID或者防止重放消息ID所对应的最大特征值中的一种或者任意几种组合存储。
6.根据权利要求1所述的安全通道的实现方法,其特征在于,所述代理端和服务端分别产生所对应的A明文和B明文之前,还包括:
代理端和服务端分别检测是否存在有效的会话密钥;
若是,则基于所述有效的会话密钥以在所述代理端和服务端之间成功建立安全通道;
若否,则通过代理端和服务端互相校验确定会话密钥,以在代理端和服务端之间成功建立安全通道。
7.根据权利要求1至6中任一项所述的安全通道的实现方法,其特征在于,所述基于预配置的代理端和服务端所分别对应的加密密钥和签名密钥对所述A明文和B明文进行校验,得到校验通过的A明文和B明文,包括:
代理端和服务端分别产生所对应的加密密钥和签名密钥,同时代理端和服务端分别获取对端所产生的加密公钥和签名公钥;
通过服务端对所述A明文进行校验,并将校验通过的A明文存储至服务端;
通过代理端对校验通过的A明文以及B明文进行校验,并将校验通过的B明文存储至代理端。
8.根据权利要求7所述的安全通道的实现方法,其特征在于,所述通过服务端对所述A明文进行校验,并将校验通过的A明文存储至服务端,包括;
代理端对所述A明文进行加密并签名,得到A密文以及A明文所对应的签名值;
服务端对所述A密文进行解密得到A明文,同时对所述A明文所对应的签名值进行校验,在校验通过后将A明文存储至服务端。
9.根据权利要求8所述的安全通道的实现方法,其特征在于,所述通过代理端对校验通过的A明文以及B明文进行校验,并将校验通过的B明文存储至代理端,包括:
服务端对校验通过的A明文以及B明文进行加密,并对B明文进行签名,得到校验通过的A明文以及B明文所对应的密文以及B明文所对应的签名值;
代理端对所述校验通过的A明文以及B明文所对应的密文进行解密得到A明文和B明文,同时对B明文所对应的签名值进行校验,在校验通过后将B明文存储至代理端。
10.根据权利要求9所述的安全通道的实现方法,其特征在于,所述代理端通过服务端所对应的加密密钥所包含的加密公钥对所述A明文进行加密,所述服务端通过服务端所对应的加密密钥所包含的加密私钥对所述A密文进行解密;
所述服务端通过代理端所对应的加密密钥所包含的加密公钥对校验通过的A明文以及B明文进行加密,所述代理端通过代理端所对应的加密密钥所包含的加密私钥对校验通过的A明文以及B明文所对应的密文进行解密。
11.根据权利要求10所述的安全通道的实现方法,其特征在于,所述代理端通过代理端所对应的签名密钥所包含的签名私钥对所述A明文进行签名,所述服务端通过代理端所对应的签名密钥所包含的签名公钥对所述A明文所对应的签名值进行校验;
所述服务端通过服务端所对应的签名密钥所包含的签名私钥对所述B明文进行签名,所述代理端通过服务端所对应的签名密钥所包含的签名公钥对所述B明文所对应的签名值进行校验。
12.一种数据传输方法,其特征在于,包括:
基于会话密钥对数据进行加密和解密,并通过安全通道实现代理端和服务端之间的数据传输;其中,会话密钥和安全通道由权利要求1至11中任一项所述的安全通道的实现方法予以确定。
CN202210855778.5A 2022-07-21 2022-07-21 一种安全通道的实现方法及数据传输方法 Active CN114928503B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210855778.5A CN114928503B (zh) 2022-07-21 2022-07-21 一种安全通道的实现方法及数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210855778.5A CN114928503B (zh) 2022-07-21 2022-07-21 一种安全通道的实现方法及数据传输方法

Publications (2)

Publication Number Publication Date
CN114928503A true CN114928503A (zh) 2022-08-19
CN114928503B CN114928503B (zh) 2022-11-15

Family

ID=82816040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210855778.5A Active CN114928503B (zh) 2022-07-21 2022-07-21 一种安全通道的实现方法及数据传输方法

Country Status (1)

Country Link
CN (1) CN114928503B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115987634A (zh) * 2022-12-22 2023-04-18 深信服科技股份有限公司 获取明文数据、密钥获取方法、装置、电子设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103716280A (zh) * 2012-09-28 2014-04-09 腾讯科技(深圳)有限公司 数据传输方法、服务器及系统
CN105429962A (zh) * 2015-11-03 2016-03-23 清华大学 一种通用的面向加密数据的中间网络服务构建方法与体系
US20170289104A1 (en) * 2016-03-31 2017-10-05 Cisco Technology, Inc. Method and apparatus for distributing encryption and decryption processes between network devices
CN107517183A (zh) * 2016-06-15 2017-12-26 华为技术有限公司 加密内容检测的方法和设备
CN114143082A (zh) * 2021-11-30 2022-03-04 北京天融信网络安全技术有限公司 一种加密通信方法、系统及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103716280A (zh) * 2012-09-28 2014-04-09 腾讯科技(深圳)有限公司 数据传输方法、服务器及系统
CN105429962A (zh) * 2015-11-03 2016-03-23 清华大学 一种通用的面向加密数据的中间网络服务构建方法与体系
US20170289104A1 (en) * 2016-03-31 2017-10-05 Cisco Technology, Inc. Method and apparatus for distributing encryption and decryption processes between network devices
CN107517183A (zh) * 2016-06-15 2017-12-26 华为技术有限公司 加密内容检测的方法和设备
CN114143082A (zh) * 2021-11-30 2022-03-04 北京天融信网络安全技术有限公司 一种加密通信方法、系统及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115987634A (zh) * 2022-12-22 2023-04-18 深信服科技股份有限公司 获取明文数据、密钥获取方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CN114928503B (zh) 2022-11-15

Similar Documents

Publication Publication Date Title
CN109728909B (zh) 基于USBKey的身份认证方法和系统
US6263437B1 (en) Method and apparatus for conducting crypto-ignition processes between thin client devices and server devices over data networks
CN107888560B (zh) 一种移动智能终端邮件安全传输系统及方法
CN108599925B (zh) 一种基于量子通信网络的改进型aka身份认证系统和方法
CN106878016A (zh) 数据发送、接收方法及装置
CN110020524B (zh) 一种基于智能卡的双向认证方法
CN111756529B (zh) 一种量子会话密钥分发方法及系统
WO2007011897A2 (en) Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
CN106357690B (zh) 一种数据传输方法、数据发送装置及数据接收装置
CN112637136A (zh) 加密通信方法及系统
CN103763356A (zh) 一种安全套接层连接的建立方法、装置及系统
CN108400867A (zh) 一种基于公钥加密体制的认证方法
JP2004515117A (ja) 暗号化データセキュリティシステムおよび方法
JP2012019511A (ja) 無線通信機器とサーバとの間でのデータの安全なトランザクションのためのシステムおよび方法
CN113612605A (zh) 使用对称密码技术增强mqtt协议身份认证方法、系统和设备
CN111914291A (zh) 消息处理方法、装置、设备及存储介质
TW201537937A (zh) 統一身份認證平臺及認證方法
CN113904809B (zh) 一种通信方法、装置、电子设备及存储介质
US11088835B1 (en) Cryptographic module to generate cryptographic keys from cryptographic key parts
CN112165386B (zh) 一种基于ecdsa的数据加密方法及系统
WO2023036348A1 (zh) 一种加密通信方法、装置、设备及介质
CN114553441B (zh) 一种电子合同签署方法及系统
CN114650173A (zh) 一种加密通讯方法及系统
CN114928503B (zh) 一种安全通道的实现方法及数据传输方法
CN112822015B (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