CN116961906B - 一种网络通信方法、装置、设备及存储介质 - Google Patents

一种网络通信方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116961906B
CN116961906B CN202311203528.4A CN202311203528A CN116961906B CN 116961906 B CN116961906 B CN 116961906B CN 202311203528 A CN202311203528 A CN 202311203528A CN 116961906 B CN116961906 B CN 116961906B
Authority
CN
China
Prior art keywords
communication
key
initiator
encryption key
ciphertext
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
CN202311203528.4A
Other languages
English (en)
Other versions
CN116961906A (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.)
Changchun Jida Zhengyuan Information Technology Co ltd
Original Assignee
Changchun Jida Zhengyuan 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 Changchun Jida Zhengyuan Information Technology Co ltd filed Critical Changchun Jida Zhengyuan Information Technology Co ltd
Priority to CN202311203528.4A priority Critical patent/CN116961906B/zh
Publication of CN116961906A publication Critical patent/CN116961906A/zh
Application granted granted Critical
Publication of CN116961906B publication Critical patent/CN116961906B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/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/3271Cryptographic 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/3273Cryptographic 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
    • 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/40Network security protocols

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)
  • Mobile Radio Communication Systems (AREA)

Abstract

本公开提供了一种网络通信方法、装置、设备及存储介质,涉及通信安全领域,该方法包括:利用通信发起方的永久私钥和临时私钥,以及通信响应方的永久公钥加密第一验证信息,生成第一密文,并将第一密文发送给通信响应方;通信响应方解密并验证第一密文;若验证未通过,不响应第一消息;若验证通过,利用通信响应方的临时私钥,以及通信发起方的临时公钥和永久公钥加密第二验证信息,得到第二密文,并将第二密文发送给通信发起方;通信发起方解密并验证第二密文;若验证通过,则双方使用交互过程中的密钥来生成通信密钥,并建立通信。本公开可以在一次往返通信内,同时完成通信密钥的协商和通信双方的身份认证,既保证通信安全,又兼顾通信效率。

Description

一种网络通信方法、装置、设备及存储介质
技术领域
本公开涉及通信安全领域,尤其涉及一种网络通信方法、装置、设备及存储介质。
背景技术
在通信过程中,为同时保证通信发起方和通信响应方的通信安全,通信发起方会提前向通信响应方发送一个单数据包,若该数据包通过了通信响应方的网关验证,则通信发起方和通信响应方会进行后续的通信密钥协商、双向身份认证等步骤,以建立通信;若该数据包没有通过通信响应方的网关验证,则通信响应方会直接丢弃数据包,让通信发起方无法确认通信响应方的存在。但是,该方法仅完成了服务隐藏的功能,没有实现身份认证、密钥协商等其他作用,且与后续的密钥协商无关联,存在安全隐患。经上述描述整个通信过程中,通信发起方和通信响应方之间需要往返交互多次,效率较低。
发明内容
本公开提供了一种网络通信方法、装置、设备及存储介质,以至少解决现有技术中存在的以上技术问题。
根据本公开的第一方面,提供了一种网络通信方法,该方法由通信响应方执行,该方法包括:
接收通信发起方发送的第一消息,第一消息包括通信发起方的临时公钥和第一密文;
通过通信响应方的永久私钥、通信发起方的临时公钥和通信发起方的永久公钥解密第一密文,得到第一待验信息;
若第一待验信息验证通过,通过通信响应方的临时私钥、通信发起方的临时公钥和通信发起方的永久公钥加密第二验证信息,得到第二密文;若第一待验信息验证未通过,不响应第一消息;
向通信发起方发送第二消息,第二消息包括通信响应方的临时公钥和第二密文;
生成通信密钥;
若第二密文通过通信发起方验证,通过通信密钥和通信发起方进行通信。
根据本公开的第二方面,提供了一种网络通信方法,该方法由通信发起方执行,该方法包括:
利用通信发起方的永久私钥、通信发起方的临时私钥和通信响应方的永久公钥加密第一验证信息,生成第一密文;
向通信响应方发送第一消息,第一消息包括通信发起方的临时公钥和第一密文;
接收通信响应方发送的第二消息,第二消息包括通信响应方的临时公钥和第二密文;
利用通信响应方的临时公钥、通信发起方的永久私钥和通信发起方的临时私钥解密第二密文,得到第二待验信息;
若第二待验信息验证通过,生成通信密钥;
通过通信密钥和通信响应方进行通信。
根据本公开的第三方面,提供了一种网络通信装置,该装置包括:
第一收发模块,用于接收通信发起方发送的第一消息,第一消息包括通信发起方的临时公钥和第一密文;
第一解密模块,用于通过通信响应方的永久私钥、通信发起方的临时公钥和通信发起方的永久公钥解密第一密文,得到第一待验信息;
第一加密模块,用于若第一待验信息验证通过,通过通信响应方的临时私钥、通信发起方的临时公钥和通信发起方的永久公钥加密第二验证信息,得到第二密文;若第一待验信息验证未通过,不响应第一消息;
第一收发模块,还用于向通信发起方发送第二消息,第二消息包括通信响应方的临时公钥和第二密文;
第一收发模块,还用于生成通信密钥;
第一收发模块,还用于若第二密文通过通信发起方验证,通过通信密钥和通信发起方进行通信。
在一可实施方式中,第一加密模块,还用于基于通信响应方的永久私钥和通信发起方的临时公钥,生成第三加密密钥;基于通信响应方的永久私钥和通信发起方的永久公钥,生成第四加密密钥;利用第三加密密钥和第四加密密钥解密第一密文,得到第一待验信息。
在一可实施方式中,第一加密模块,还用于基于通信响应方的临时私钥和通信发起方的临时公钥,生成第五加密密钥;基于通信响应方的临时私钥和通信发起方的永久公钥,生成第六加密密钥;利用第五加密密钥和第六加密密钥加密第二验证信息,得到第二密文。
在一可实施方式中,第一加密模块,还用于获取第三加密密钥、第四加密密钥、第五加密密钥和第六加密密钥;基于第三加密密钥、第四加密密钥、第五加密密钥和第六加密密钥中的至少一个密钥,生成通信密钥。
在一可实施方式中,第三加密密钥、第四加密密钥、第五加密密钥和第六加密密钥中的至少一个密钥是通过DH算法生成的。
根据本公开的第四方面,提供了一种网络通信装置,该装置包括:
第二加密模块,用于利用通信发起方的永久私钥、通信发起方的临时私钥和通信响应方的永久公钥加密第一验证信息,生成第一密文;
第二收发模块,用于向通信响应方发送第一消息,第一消息包括通信发起方的临时公钥和第一密文;
第二收发模块,还用于接收通信响应方发送的第二消息,第二消息包括通信响应方的临时公钥和第二密文;
第二解密模块,用于利用通信响应方的临时公钥、通信发起方的永久私钥和通信发起方的临时私钥解密第二密文,得到第二待验信息;
第二收发模块,还用于若第二待验信息验证通过,生成通信密钥;
第二收发模块,还用于通过通信密钥和通信响应方进行通信。
在一可实施方式中,第二加密模块,还用于基于通信发起方的临时私钥和通信响应方的永久公钥,生成第一加密密钥;基于通信发起方的永久私钥和通信响应方的永久公钥,生成第二加密密钥;利用第一加密密钥和第二加密密钥加密第一验证信息,得到第一密文。
在一可实施方式中,第二解密模块,还用于基于通信发起方的临时私钥和通信响应方的临时公钥,生成第七加密密钥;基于通信发起方的永久私钥和通信响应方的临时公钥,得到第八加密密钥;利用第七加密密钥和第八加密密钥解密第二密文,得到第二待验信息。
在一可实施方式中,第二加密模块,还用于若所述第二待验信息验证通过,获取第一加密密钥、第二加密密钥、第七加密密钥和第八加密密钥;基于第一加密密钥、第二加密密钥、第七加密密钥和第八加密密钥中的至少一个密钥,生成通信密钥。
在一可实施方式中,第一加密密钥、第二加密密钥、第七加密密钥和第八加密密钥中的至少一个密钥是通过DH算法生成的。
在一可实施方式中,第二收发模块,还用于若第二待验信息未通过验证,中断和通信响应方的通信。
根据本公开的第五方面,提供了一种设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开所述的方法。
根据本公开的第六方面,提供了一种存储介质,所述存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行本公开所述的方法。
本公开的网络通信方法、装置、设备及存储介质,在本实施例中,通信发起方将通信发起方的临时公钥和第一密文均发送给通信响应方,通信响应方解密第一密文,得到第一待验信息,若第一待验信息验证通过,则说明通信发起方的身份符合要求,可以进行后续步骤;若第一待验信息验证未通过,则通信响应方可选择不响应,实现服务隐藏,以保证通信安全。通信发起方还会收到第二密文,通信发起方解密第二密文得到第二待验信息,若第二待验信息验证通过,则计算通信密钥,并开始通信;若第二待验信息验证未通过,则中断通信。而且,通信双方在交互过程中交换了各自的临时公钥,用来确定通信所需的通信密钥。因而该方法可以在1-RTT(Round Trip Time,往返通信)内,同时完成了通信密钥的协商确定和通信双方的身份认证,既保证了通信安全,又兼顾了通信效率。此外,由于服务隐藏、身份认证与通信密钥生成过程融为一体,不需要多次交互完成,降低了信息泄漏的风险,提高了通信的安全性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本公开实施例所示的网络通信方法的实现流程示意图一;
图2示出了本公开实施例所示的网络通信方法的示意图;
图3示出了本公开实施例所示的网络通信方法的实现流程示意图二;
图4示出了本公开实施例所示的网络通信方法的实现流程示意图三;
图5示出了本公开实施例所示的网络通信装置的实现结构示意图一;
图6示出了本公开实施例所示的网络通信装置的实现结构示意图二;
图7示出了本公开实施例一种设备的组成结构示意图。
具体实施方式
为使本公开的目的、特征、优点能够更加的明显和易懂,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而非全部实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
图1示出了本公开实施例所示的网络通信方法的实现流程示意图一。该方法可由通信响应方执行,该方法包括以下步骤:
步骤S101:接收通信发起方发送的第一消息,第一消息包括通信发起方的临时公钥和第一密文。
在一些实施例中,计算机系统包括通信发起方和通信响应方,通信发起方指发起通信的计算机设备,通信响应方与通信发起方相对应,通信响应方是响应通信的计算机设备。上述通信发起方和/或通信响应方对应的计算机设备包括但不限于电脑、移动终端、智能手表、车载终端、智能眼镜、MP3、MP4中的至少一种。
在一些实施例中,第一密文采用密钥交换协议生成相关密钥。例如,DH(Diffie-Hellman)算法。通信发起方与通信响应方通过不安全的信道协商密钥,利用协商的对称密钥实现数据的对称加密传输。
步骤S102:通过通信响应方的永久私钥、通信发起方的临时公钥和通信发起方的永久公钥解密第一密文,得到第一待验信息。
在一些实施例中,第一密文是基于通信发起方的永久私钥、通信发起方的临时私钥和通信响应方的永久公钥对第一验证信息进行加密得到的。
第一验证信息用于通信响应方验证通信发起方的身份。在一些实施例中,第一验证信息是时间戳信息。
在一些实施例中,基于通信响应方的永久私钥和通信发起方的临时公钥,生成第三加密密钥。基于通信响应方的永久私钥和通信发起方的永久公钥,生成第四加密密钥。利用第三加密密钥和第四加密密钥解密第一密文,得到第一待验信息。
在一些实施例中,第三加密密钥和第四加密密钥中的至少一个密钥是通过DH算法生成的。以第三加密密钥和第四加密密钥都是DH算法生成为例进行说明,设通信响应方的永久私钥是Ya,通信发起方的临时公钥是Mb,通信发起方的永久公钥是Xb,则第三加密密钥K3=DH(Ya,Mb),第四加密密钥K4=DH(Ya,Xb),DH表示DH算法,括号内是DH算法需要输入的参数。
步骤S103:若第一待验信息验证通过,通过通信响应方的临时私钥、通信发起方的临时公钥和通信发起方的永久公钥加密第二验证信息,得到第二密文。
在一些实施例中,采用时间戳进行验证,则第一待验信息是时间戳数据,该时间戳数据记录了开始加密第一验证信息的时刻,则可以使用第一密文的接收时间来对解密出的时间戳数据进行验证。由于从通信发起方开始加密第一验证信息到通信响应方接收到第一密文的时间是相对固定的,则计算第一密文的接收时间和解密出的时间戳数据的时间差值,若该时间差值位于预设区间内,则第一待验信息通过验证;若时间差值不位于预设区间内,则第一待验信息未通过验证。其中,采用时间戳进行验证时,可以防止重放攻击。
第二验证信息用于通信发起方验证通信响应方的身份。在一些实施例中,第二验证信息是字符串,该字符串是通信发起方和通信响应方事先协商好的。例如,第二验证信息是0x1。
在一些实施例中,基于通信响应方的临时私钥和通信发起方的临时公钥,生成第五加密密钥;基于通信响应方的临时私钥和通信发起方的永久公钥,生成第六加密密钥。利用第五加密密钥和第六加密密钥加密第二验证信息,得到第二密文。
在一些实施例中,第五加密密钥和第六加密密钥中的至少一个密钥是通过DH算法生成的。以第五加密密钥和第六加密密钥都是DH算法生成为例进行说明,设通信响应方的临时私钥是Na,通信发起方的临时公钥是Mb,通信发起方的永久公钥是Xb,则第五加密密钥K5=DH(Na,Mb),第六加密密钥K6=DH(Na,Xb),那么加密得到的第二密文可表示为K5{K6{0x1}}。
步骤S104:若第一待验信息验证未通过,不响应第一消息。
需要说明的是,在该步骤中,不响应第一消息是为了实现服务隐藏。在网络安全中,将自身的身份暴露给其他计算机设备是一件具有极大风险的事项,因此需要服务隐藏方法来隐藏计算机设备的各类信息,以达到网络通信安全。在第一待验信息验证未通过的情况下,不响应第一消息可以不暴露通信响应方的身份,从而实现服务隐藏。但是,由于通信发起方主动发起的通信连接,通信发起方的身份本身就是暴露的,通信发起方不需要对通信响应方进行身份隐藏。
步骤S105:向通信发起方发送第二消息,第二消息包括通信响应方的临时公钥和第二密文。
在一些实施例中,请参考图2,在现实场景中,通信响应方201会接收到多个通信发起方的消息,这里仅以通信发起方包括通信发起方202和通信发起方203为例进行说明(实际场景中通信发起方可能更多,也可能更少),通信发起方202向通信响应方201发送第一消息,通信发起方203向通信响应方201发送第一消息,若通信响应方201验证第一消息通过,而验证第一消息未通过,则通信响应方201会向通信发起方202返回第二消息,对通信发起方203不做响应。
步骤S106:生成通信密钥。
通信密钥用于在通信发起方和通信响应方建立通信连接后,加密通信响应方发送给通信发起方的消息,或者解密通信发起方发送给通信响应方的消息。需要说明的是,通信密钥在通信响应方和通信发起方之间只限单次会话使用。若通信断开或者通信超时,则需要重新生成临时公私钥对,重新进行身份验证并生成新的通信密钥,原本的通信密钥无法继续使用。例如,一次通信中,通信发起方和通信响应方使用通信密钥Ka进行通信,两者通信断开后,若通信发起方和通信响应方需要重新建立通信连接,则需要两者重新协商生成通信密钥Kb来使用,而通信密钥Ka无法应用于新的通信。
在一些实施例中,通信密钥是基于上述实施例中的第三加密密钥、第四加密密钥、第五加密密钥和第六加密密钥中的至少一个密钥生成的。基于第三加密密钥、第四加密密钥、第五加密密钥和第六加密密钥中的至少一个密钥,生成通信密钥。
在一些实施例中,基于第三加密密钥、第四加密密钥、第五加密密钥和第六加密密钥,生成通信密钥。例如,通信密钥K=K3||K4||K5||K6,K3是第三加密密钥,K4是第四加密密钥,K5是第五加密密钥,K6是第六加密密钥,符号“||”表示拼接操作,在本实施例中,K3、K4、K5和K6属于字符串类型,拼接操作将K3、K4、K5和K6首尾拼接,得到一串新的字符串,该字符串即为通信密钥K。第三加密密钥是基于通信响应方的永久私钥和通信发起方的临时公钥生成的,第四加密密钥是基于通信响应方的永久私钥和通信发起方的永久公钥生成的,第五加密密钥是基于通信响应方的临时私钥和通信发起方的临时公钥生成的,第六加密密钥是基于通信响应方的临时私钥和通信发起方的永久公钥生成的。
步骤S107:若第二密文通过通信发起方验证,通过通信密钥和通信发起方进行通信。
在一些实施例中,通信发起方同样需要对通信响应方的身份进行验证,以保证两者使用相同的通信密钥进行通信。
综上所述,在本实施例中,在通信响应方接收到通信发起方发送的第一消息后,若第一待验信息验证通过,则说明通信发起方的身份符合要求,可以进行后续步骤;若第一待验信息验证未通过,则通信响应方可选择不响应,实现服务隐藏,以保证通信安全。而且,通信双方在交互过程中交换了各自的临时公钥,用来确定通信所需的通信密钥。因而该方法可以在1-RTT内,同时完成了通信密钥的协商确定和通信双方的身份认证,既保证了通信安全,又兼顾了通信效率。
图3示出了本公开实施例所示的网络通信方法的实现流程示意图二。该方法可由通信发起方执行,该方法包括以下步骤:
步骤S301:利用通信发起方的永久私钥、通信发起方的临时私钥和通信响应方的永久公钥加密第一验证信息,生成第一密文。
第一验证信息用于通信响应方验证通信发起方的身份。在一些实施例中,第一验证信息是时间戳数据(Timestamp)。
在一些实施例中,基于通信发起方的临时私钥和通信响应方的永久公钥,生成第一加密密钥;基于通信发起方的永久私钥和所述通信响应方的永久公钥,生成第二加密密钥;利用第一加密密钥和第二加密密钥加密第一验证信息,得到第一密文。
在一些实施例中,第一加密密钥和第二加密密钥中的至少一个密钥是通过DH算法生成的。以第一加密密钥和第二加密密钥都是DH算法生成为例进行说明,设通信发起方的永久私钥为Xa,通信发起方的临时私钥为Ma,通信响应方的永久公钥为Yb,则第一加密密钥K1=DH(Ma,Yb),第二加密密钥K2=DH(Xa,Yb),那么第一密文为K1{K2{Timestamp}}。
步骤S302:向通信响应方发送第一消息,第一消息包括通信发起方的临时公钥和第一密文。
步骤S303:接收通信响应方发送的第二消息,第二消息包括通信响应方的临时公钥和第二密文。
在一些实施例中,第二密文是基于通信响应方的临时私钥、通信发起方的临时公钥和通信发起方的永久公钥对第二验证信息进行加密得到的。第一验证信息用于通信发起方验证通信响应方的身份。
步骤S304:利用通信响应方的临时公钥、通信发起方的永久私钥和通信发起方的临时私钥解密第二密文,得到第二待验信息。
在一些实施例中,基于通信发起方的临时私钥和通信响应方的临时公钥,生成第七加密密钥;基于通信发起方的永久私钥和通信响应方的临时公钥,得到第八加密密钥;利用第七加密密钥和第八加密密钥解密第二密文,得到第二待验信息。
在一些实施例中,第七加密密钥和第八加密密钥中的至少一个密钥是通过DH算法生成的。以第七加密密钥和第八加密密钥都是DH算法生成为例进行说明,设通信响应方的临时公钥为Nb,通信发起方的永久私钥为Xa,通信发起方的临时私钥为Ma,则第七加密密钥K7=DH(Ma,Nb),第八加密密钥K8=DH(Xa,Nb)。
在一些实施例中,通信响应方生成第二密文使用的第二验证信息是字符串,该字符串是通信发起方和通信响应方事先协商好的。例如,通信响应方生成第二密文使用的验证信息是0x1。则通信发起方只需要检验解密出的第二待验信息是否与明文一致即可。若双方事先不存在协商条件,则第二验证信息仍可通过时间戳作为验证消息进行验证。
步骤S305:若第二待验信息验证通过,生成通信密钥。
通信密钥用于在通信发起方和通信响应方建立通信连接后,加密通信发起方发送给通信响应方的消息,或者解密通信发起方发送给通信响应方的消息。
在一些实施例中,通信密钥是基于上述实施例中的第一加密密钥、第二加密密钥、第七加密密钥和第八加密密钥中的至少一个密钥生成的。第一加密密钥、第二加密密钥、第七加密密钥和第八加密密钥中的至少一个密钥,生成通信密钥。
在一些实施例中,基于第一加密密钥、第二加密密钥、第七加密密钥和第八加密密钥,生成通信密钥。例如,通信密钥K=K1||K2||K7||K8,K1是第一加密密钥,K2是第二加密密钥,K7是第七加密密钥,K8是第八加密密钥。第一加密密钥是基于通信发起方的临时私钥和通信响应方的永久公钥生成的,第二加密密钥是基于通信发起方的永久私钥和通信响应方的永久公钥生成的,第七加密密钥是基于通信发起方的永久私钥和通信响应方的永久公钥生成的,第八加密密钥是基于通信发起方的永久私钥和通信响应方的临时公钥生成的。若第二待验信息验证未通过,中断和通信响应方的通信。
步骤S306:通过通信密钥和通信响应方进行通信。
综上所述,在本实施例中,通信发起方将通信发起方的临时公钥和第一密文均发送给通信响应方,通信响应方解密第一密文,得到第一待验信息,若第一待验信息验证通过,则说明通信发起方的身份符合要求,可以进行后续步骤;若第一待验信息验证未通过,则通信响应方可选择不响应,实现服务隐藏,以保证通信安全。通信发起方还会收到第二密文,通信发起方解密第二密文得到第二待验信息,若第二待验信息验证通过,则计算通信密钥,并开始通信;若第二待验信息验证未通过,则中断通信。而且,通信双方在交互过程中交换了各自的临时公钥,用来确定通信所需的通信密钥。因而该方法可以在单次RTT内,同时完成了通信密钥的协商确定和通信双方的身份认证,既保证了通信安全,又兼顾了通信效率。
在接下来的实施例中,若无特别说明,通信发起方的永久私钥为Xa,通信发起方的永久公钥为Xb,通信发起方的临时私钥为Ma,通信发起方的临时公钥为Mb。通信响应方的永久私钥为Ya,通信响应方的永久公钥为Yb,通信响应方的临时私钥为Na,通信相应方的临时公钥为Nb。通信发起方和通信响应方事先都知道对方的永久公钥。
其中永久公钥、永久私钥为通信发起方或通信响应方在通信之前生成的一对非对称密钥,该密钥基于通信双方身份产生,一般情况固定不变,按实际应用需求进行更新。临时公钥、临时私钥基于每次会话产生,一次一密,提升双方通讯的安全性。
图4示出了本公开实施例所示的网络通信方法的实现流程示意图三。该方法由通信发起方和通信响应方配合执行,该方法包括以下步骤:
步骤S401:通信发起方基于通信发起方的临时私钥和通信响应方的永久公钥,生成第一加密密钥;基于通信发起方的永久私钥和通信响应方的永久公钥,生成第二加密密钥。
在通信发起方发起通信之前,通信发起方都需要生成此次通信的临时公钥和临时私钥。
在一些实施例中,第一加密密钥K1=DH(Ma,Yb)。
在一些实施例中,第二加密密钥K2=DH(Xa,Yb)。
步骤S402:通信发起方利用第一加密密钥和第二加密密钥加密第一验证信息,得到第一密文。
在一些实施例中,第一验证信息使用时间戳数据(Timestamp),则使用第一加密密钥K1和第二加密密钥K2对时间戳数据加密,得到第一密文K1{K2{Timestamp}}。
步骤S403:通信发起方向通信响应方发送第一消息,第一消息包括通信发起方的临时公钥和第一密文。
在一些实施例中,通信发起方将第一消息<Mb,K1{K2{Timestamp}}>发送给通信响应方。
步骤S404:通信响应方基于通信响应方的永久私钥和通信发起方的临时公钥,生成第三加密密钥;基于通信响应方的永久私钥和通信发起方的永久公钥,生成第四加密密钥。
通信响应方在接收到第一消息后,也需要生成此次通信的临时公钥和临时私钥。
在一些实施例中,第三加密密钥K3=DH(Ya,Mb)。
在一些实施例中,第四加密密钥K4=DH(Ya,Xb)。
步骤S405:通信响应方利用第三加密密钥和第四加密密钥解密第一密文,得到第一待验信息。
步骤S406:通信响应方判断第一待验信息是否验证通过。
若通信发起方确定第一待验信息验证通过,则执行步骤S408;
若通信发起方确定第一待验信息验证未通过,则执行步骤S407。
若通信发起方持有Xa,则根据DH算法可知K3==K1,K4==K2,那么解密出的第一待验信息和第一验证信息相同。若通信发起方不持有Xa,则K4==K2不成立,那么解密得到的第一待验信息和第一验证信息原文不同。因此,对K4的计算验证了通信发起方拥有永久私钥Xa,也就是验证了通信发起方的身份,此时通信响应方完成了对通信发起方身份的验证。
若K3==K1不成立,那么解密出的第一待验信息和第一验证信息也不同,因此对K3的计算验证了通信发起方拥有此次会话的临时私钥,进一步确保了此次会话通信发起方的身份。
实际应用中,可根据安全要求,通信发起方只选择K1或K2其中一个完成对时间戳加密。此时,通信响应方可根据通信发起方的加密方式对第一密文进行解密。例如,通信发起方利用第一加密密钥加密第一验证信息,得到第一密文,对应的,通信响应方利用第三加密密钥解密,得到第一待验信息。又例如,通信发起方利用第二加密密钥加密第一验证信息,得到第一密文,对应的,通信响应方利用第四加密密钥解密第一密文,得到第一待验信息。
在一些实施例中,计算第一密文的接收时间和解密出的时间戳数据的时间差值,若该时间差值位于预设区间内,则第一待验信息通过验证;若时间差值不位于预设区间内,则第一待验信息未通过验证。
步骤S407:通信响应方不响应第一消息。
在第一待验信息验证未通过的情况下,通信响应方不对第一消息多出响应,实现对通信发起方的服务隐藏。在服务隐藏技术中,通信响应方会接收到多个通信发起方的消息,因此必须对通信发起方的身份进行认证,如有问题则不响应任何消息,这样才能实现服务隐藏;如不进行身份认证,直接作出响应,则会暴露通信响应方身份。
步骤S408:通信响应方基于通信响应方的临时私钥和通信发起方的临时公钥,生成第五加密密钥;基于通信响应方的临时私钥和通信发起方的永久公钥,生成第六加密密钥。
在一些实施例中,第五加密密钥K5=DH(Na,Mb)。
在一些实施例中,第六加密密钥K6=DH(Na,Xb)。
步骤S409:通信响应方利用第五加密密钥和第六加密密钥加密第二验证信息,得到第二密文。
在一些实施例中,第二验证信息是字符串,该字符串是通信发起方和通信响应方事先协商好的。例如,通信响应方生成第二密文使用的第二验证信息是0x1。若双方事先不存在协商条件,则第二验证信息仍可通过时间戳作为验证消息进行验证。
在一些实施例中,第二密文为K5{K6{0x1}}。
步骤S410:通信响应方向通信发起方发送第二消息,第二消息包括通信响应方的临时公钥和第二密文。
在一些实施例中,通信发起方将第一消息<Nb,K5{K6{0x1}}>发送给通信响应方。
步骤S411:通信响应方基于第三加密密钥、第四加密密钥、第五加密密钥和第六加密密钥中的至少一个密钥,生成通信密钥。
在一些实施例中,通信密钥K=K3||K4||K5||K6。
步骤S412:通信发起方基于通信发起方的临时私钥和通信响应方的临时公钥,生成第七加密密钥;基于通信发起方的永久私钥和通信响应方的临时公钥,得到第八加密密钥。
在一些实施例中,K7=DH(Ma,Nb)。
在一些实施例中,K8=DH(Na,Xb)。
步骤S413:通信发起方利用第七加密密钥和第八加密密钥解密第二密文,得到第二待验信息。
步骤S414:通信发起方判断第二待验信息是否验证通过。
若通信发起方确定第二待验信息验证通过,则执行步骤S416;
若通信发起方确定第二待验信息验证未通过,则执行步骤S415。
在本步骤中,一方面是为了生成用于产生通信密钥所需的K7和K8,另一方面通信发起方需要对通信响应方做一个初步的身份认证,以防后续双方产生的通信密钥不同,导致利用通信密钥加密后的数据无法解密,浪费前期所做的工作。
若通信响应方持有Ya,则根据DH算法可知K7==K5,K8==K6,那么解密出的第二待验信息和第二验证信息相同。若通信发起方不持有Ya,则K8==K6不成立,那么解密得到的第二待验信息和第二验证信息原文不同。因此,对K8的计算验证了通信发起方拥有永久私钥Ya,也就是验证了发响应的身份,此时通信发起方进行了对通信响应方身份的验证。
同样的,若K7==K5不成立,那么解密出的第二待验信息和第二验证信息原文也不同,因此对K7的计算验证了通信发起方拥有此次会话的临时私钥,进一步确保了此次会话通信发起方的身份。
实际应用中,可根据安全要求,只选择K5或K6其中一个完成对时间戳加密。此时,通信发起方可根据通信响应方的加密方式对第二密文进行解密。例如,通信响应方利用第五加密密钥加密第二验证信息,得到第二密文,对应的,通信发起方利用第七加密密钥解密,得到第二待验信息。又例如,通信响应方利用第六加密密钥加密第二验证信息,得到第二密文,对应的,通信发起方利用第八加密密钥解密第二密文,得到第二待验信息。
在一些实施例中,比较解密得到的第二待验信息和事先约定的字符串,若第二待验信息和前述字符串相同,则第二待验信息验证通过;若第二待验信息和前述字符串不同,则第二待验信息验证未通过。
步骤S415:通信发起方中断和通信响应方的通信。
若第二待验信息验证未通过,则说明步骤S412中产生的K7和/或K8存在问题,在此种情况下得到的通信密钥会无法解密通信响应方发送的消息,使得通信无法正常继续。
步骤S416:通信发起方基于第一加密密钥、第二加密密钥、第七加密密钥和第八加密密钥中的至少一个密钥,生成通信密钥。
在一些实施例中,通信密钥K=K1||K2||K7||K8。
需要说明的是,若在步骤S406和步骤S414中,第一待验信息和第二待验信息均验证通过,则可得到K=K1||K2||K7||K8=K3||K4||K5||K6。
步骤S417:通信发起方和通信响应方使用通信密钥建立通信。
通信发起方和通信响应方使用通信密钥建立通信,证明双方验证了对方的身份。根据非对称密码算法原理,验证身份等同于确认对方拥有本方掌握的对方永久公钥的配对永久私钥。在本实施例中,通信发起方掌握Yb,需要证明通信响应方拥有Ya;通信响应方掌握Xb,需要证明通信发起方拥有Xa。对于通信发起方而言,通信密钥包含K2=DH(Xa,Yb),若通信响应方不拥有Ya,则通信响应方计算不出来K4=DH(Ya,Xb),从而通信响应方的通信密钥和通信发起方的通信密钥不同,两者的通信自然无法达成。对于通信响应方而言,通信密钥包含K4=DH(Ya,Xb),若通信发起方不拥有Xa,则通信发起方计算不出来K2=DH(Xa,Yb),从而通信发起方的通信密钥和通信响应方的通信密钥不同,两者的通信自然也无法达成。同时,通信响应方在接收到第一消息时,就可以通过验证时间戳数据来验证发送方是否拥有Xa(请参见S404-S406),以达成服务隐藏的目的。
综上所述,本实施例采用了创新的密钥协商协议,在1-RTT内实现通信密钥的协商,同时完成双向身份认证,并且在通信断开或超时的情况下,无论通信发起方还是通信响应方都可以通过1-RTT恢复通信,保证了通信安全,又兼顾了通信效率。
图5示出了本公开实施例所示的网络通信装置的实现结构示意图一,该装置500包括:
第一收发模块501,用于接收通信发起方发送的第一消息,所述第一消息包括所述通信发起方的临时公钥和所述第一密文;
第一解密模块502,用于通过所述通信响应方的永久私钥、所述通信发起方的临时公钥和所述通信发起方的永久公钥解密所述第一密文,得到第一待验信息;
第一加密模块503,用于若所述第一待验信息验证通过,通过所述通信响应方的临时私钥、所述通信发起方的临时公钥和所述通信发起方的永久公钥加密第二验证信息,得到第二密文;若所述第一待验信息验证未通过,不响应所述第一消息;
所述第一收发模块501,还用于向所述通信发起方发送第二消息,所述第二消息包括所述通信响应方的临时公钥和所述第二密文;
所述第一收发模块501,还用于生成通信密钥;
所述第一收发模块501,还用于若所述第二密文通过所述通信发起方验证,通过所述通信密钥和所述通信发起方进行通信。
在一可实施方式中,所述第一解密模块502,还用于基于所述通信响应方的永久私钥和所述通信发起方的临时公钥,生成第三加密密钥;基于所述通信响应方的永久私钥和所述通信发起方的永久公钥,生成第四加密密钥;利用所述第三加密密钥和所述第四加密密钥解密所述第一密文,得到所述第一待验信息。
在一可实施方式中,所述第一加密模块503,还用于基于所述通信响应方的临时私钥和所述通信发起方的临时公钥,生成第五加密密钥;基于所述通信响应方的临时私钥和所述通信发起方的永久公钥,生成第六加密密钥;利用所述第五加密密钥和所述第六加密密钥加密所述第二验证信息,得到所述第二密文。
在一可实施方式中,所述第一加密模块503,还用于获取第三加密密钥、第四加密密钥、第五加密密钥和第六加密密钥;基于所述第三加密密钥、所述第四加密密钥、所述第五加密密钥和所述第六加密密钥中的至少一个密钥,生成所述通信密钥。
在一可实施方式中,所述第三加密密钥、所述第四加密密钥、所述第五加密密钥和所述第六加密密钥中的至少一个密钥是通过DH算法生成的。
综上所述,在本实施例中,若通信响应方解密出的第一待验信息正确,则说明通信发起方的身份符合要求,可以进行后续步骤;若通信响应方解密出的第一待验信息错误,则通信响应方可选择不响应,以保证通信安全。而且,通信双方在交互过程中交换了各自的临时公钥,用来确定通信所需的通信密钥。因而该方法可以在单次RTT内,同时完成了通信密钥的协商确定和通信双方的身份认证,既保证了通信安全,又兼顾了通信效率。
图6示出了本公开实施例所示的网络通信装置的实现结构示意图二,该装置600包括:
第二加密模块601,用于利用所述通信发起方的永久私钥、所述通信发起方的临时私钥和通信响应方的永久公钥加密第一验证信息,生成第一密文;
第二收发模块602,用于向所述通信响应方发送第一消息,所述第一消息包括所述通信发起方的临时公钥和所述第一密文;
所述第二收发模块602,还用于接收所述通信响应方发送的第二消息,所述第二消息包括所述通信响应方的临时公钥和第二密文;
第二解密模块603,用于利用所述通信响应方的临时公钥、所述通信发起方的永久私钥和所述通信发起方的临时私钥解密所述第二密文,得到第二待验信息;
所述第二收发模块602,还用于若所述第二待验信息验证通过,生成通信密钥;
所述第二收发模块602,还用于通过所述通信密钥和所述通信响应方进行通信。
在一可实施方式中,所述第二加密模块601,还用于基于所述通信发起方的临时私钥和所述通信响应方的永久公钥,生成第一加密密钥;基于所述通信发起方的永久私钥和所述通信响应方的永久公钥,生成第二加密密钥;利用所述第一加密密钥和所述第二加密密钥加密所述第一验证信息,得到所述第一密文。
在一可实施方式中,所述第二解密模块603,还用于基于所述通信发起方的临时私钥和所述通信响应方的临时公钥,生成第七加密密钥;基于所述通信发起方的永久私钥和所述通信响应方的临时公钥,得到第八加密密钥;利用所述第七加密密钥和所述第八加密密钥解密所述第二密文,得到所述第二待验信息。
在一可实施方式中,所述第二加密模块601,还用于若所述第二待验信息验证通过,获取第一加密密钥、第二加密密钥、第七加密密钥和第八加密密钥;基于所述第一加密密钥、所述第二加密密钥、所述第七加密密钥和所述第八加密密钥中的至少一个密钥,生成所述通信密钥。
在一可实施方式中,所述第一加密密钥、所述第二加密密钥、所述第七加密密钥和所述第八加密密钥中的至少一个密钥是通过DH算法生成的。
在一可实施方式中,所述第二收发模块602,还用于若所述第二待验信息未通过验证,中断和所述通信响应方的通信。
综上所述,在本实施例中,在通信响应方接收到通信发起方发送的第一消息后,若第一待验信息验证未通过,则说明通信发起方的身份符合要求,可以进行后续步骤;若第一待验信息验证通过,则通信响应方可选择不响应,实现服务隐藏,以保证通信安全。而且,通信双方在交互过程中交换了各自的临时公钥,用来确定通信所需的通信密钥。因而该方法可以在单次RTT内,同时完成了通信密钥的协商确定和通信双方的身份认证,既保证了通信安全,又兼顾了通信效率。
根据本公开的实施例,本公开还提供了一种设备和一种存储介质。
图7示出了可以用来实施本公开的实施例的示例设备的示意性框图。设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM703中,还可存储设备操作所需的各种程序和数据。计算单元701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如网络通信方法。例如,在一些实施例中,网络通信方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM702和/或通信单元709而被载入和/或安装到设备上。当计算机程序加载到RAM703并由计算单元701执行时,可以执行上文描述的网络通信方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行网络通信方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (15)

1.一种网络通信方法,其特征在于,所述方法由通信响应方执行,所述方法包括:
接收通信发起方发送的第一消息,所述第一消息包括所述通信发起方的临时公钥和第一密文;
通过所述通信响应方的永久私钥、所述通信发起方的临时公钥和所述通信发起方的永久公钥解密所述第一密文,得到第一待验信息;
若所述第一待验信息验证通过,通过所述通信响应方的临时私钥、所述通信发起方的临时公钥和所述通信发起方的永久公钥加密第二验证信息,得到第二密文;
若所述第一待验信息验证未通过,不响应所述第一消息;
向所述通信发起方发送第二消息,所述第二消息包括所述通信响应方的临时公钥和所述第二密文;生成通信密钥;
若所述第二密文通过所述通信发起方验证,通过所述通信密钥和所述通信发起方进行通信。
2.根据权利要求1所述的方法,其特征在于,通过所述通信响应方的永久公钥、所述通信发起方的临时公钥和所述通信发起方的永久公钥解密所述第一密文,得到第一待验信息,包括:
基于所述通信响应方的永久私钥和所述通信发起方的临时公钥,生成第三加密密钥;基于所述通信响应方的永久私钥和所述通信发起方的永久公钥,生成第四加密密钥;
利用所述第三加密密钥和所述第四加密密钥解密所述第一密文,得到所述第一待验信息。
3.根据权利要求1所述的方法,其特征在于,通过所述通信响应方的临时私钥、所述通信发起方的临时公钥和所述通信发起方的永久公钥加密第二验证信息,得到第二密文,包括:
基于所述通信响应方的临时私钥和所述通信发起方的临时公钥,生成第五加密密钥;基于所述通信响应方的临时私钥和所述通信发起方的永久公钥,生成第六加密密钥;
利用所述第五加密密钥和所述第六加密密钥加密所述第二验证信息,得到所述第二密文。
4.根据权利要求1所述的方法,其特征在于,生成通信密钥,包括:
获取第三加密密钥、第四加密密钥、第五加密密钥和第六加密密钥;
基于所述第三加密密钥、所述第四加密密钥、所述第五加密密钥和所述第六加密密钥中的至少一个密钥,生成所述通信密钥。
5.根据权利要求4所述的方法,其特征在于,所述第三加密密钥、所述第四加密密钥、所述第五加密密钥和所述第六加密密钥中的至少一个密钥通过DH算法生成。
6.一种网络通信方法,其特征在于,所述方法由通信发起方执行,所述方法包括:
利用所述通信发起方的永久私钥、所述通信发起方的临时私钥和通信响应方的永久公钥加密第一验证信息,生成第一密文;
向所述通信响应方发送第一消息,所述第一消息包括所述通信发起方的临时公钥和所述第一密文;
接收所述通信响应方发送的第二消息,所述第二消息包括所述通信响应方的临时公钥和第二密文;
利用所述通信响应方的临时公钥、所述通信发起方的永久私钥和所述通信发起方的临时私钥解密所述第二密文,得到第二待验信息;
若所述第二待验信息验证通过,生成通信密钥;
通过所述通信密钥与所述通信响应方进行通信。
7.根据权利要求6所述的方法,其特征在于,利用所述通信发起方的永久私钥、所述通信发起方的临时私钥和通信响应方的永久公钥加密第一验证信息,生成第一密文,包括:
基于所述通信发起方的临时私钥和所述通信响应方的永久公钥,生成第一加密密钥;基于所述通信发起方的永久私钥和所述通信响应方的永久公钥,生成第二加密密钥;
利用所述第一加密密钥和所述第二加密密钥加密所述第一验证信息,得到所述第一密文。
8.根据权利要求6所述的方法,其特征在于,利用所述通信响应方的临时公钥、所述通信发起方的永久私钥和所述通信发起方的临时私钥解密所述第二密文,得到第二待验信息,包括:
基于所述通信发起方的临时私钥和所述通信响应方的临时公钥,生成第七加密密钥;基于所述通信发起方的永久私钥和所述通信响应方的临时公钥,得到第八加密密钥;
利用所述第七加密密钥和所述第八加密密钥解密所述第二密文,得到所述第二待验信息。
9.根据权利要求6所述的方法,其特征在于,若所述第二待验信息验证通过,生成通信密钥,包括:
若所述第二待验信息验证通过,获取第一加密密钥、第二加密密钥、第七加密密钥和第八加密密钥;
基于所述第一加密密钥、所述第二加密密钥、所述第七加密密钥和所述第八加密密钥中的至少一个密钥,生成所述通信密钥。
10.根据权利要求9所述的方法,其特征在于,第一加密密钥、第二加密密钥、第七加密密钥和第八加密密钥中的至少一个密钥是通过DH算法生成的。
11.根据权利要求6至8任一项所述的方法,其特征在于,所述方法还包括:
若所述第二待验信息未通过验证,中断和所述通信响应方的通信。
12.一种网络通信装置,其特征在于,所述装置包括:
第一收发模块,用于接收通信发起方发送的第一消息,所述第一消息包括所述通信发起方的临时公钥和第一密文;
第一解密模块,用于通过通信响应方的永久私钥、所述通信发起方的临时公钥和所述通信发起方的永久公钥解密所述第一密文,得到第一待验信息;
第一加密模块,用于若所述第一待验信息验证通过,通过所述通信响应方的临时私钥、所述通信发起方的临时公钥和所述通信发起方的永久公钥加密第二验证信息,得到第二密文;若所述第一待验信息验证未通过,不响应所述第一消息;
所述第一收发模块,还用于向所述通信发起方发送第二消息,所述第二消息包括所述通信响应方的临时公钥和所述第二密文;
所述第一收发模块,还用于生成通信密钥;
所述第一收发模块,还用于若所述第二密文通过所述通信发起方验证,通过所述通信密钥和所述通信发起方进行通信。
13.一种网络通信装置,其特征在于,所述装置包括:
第二加密模块,用于利用通信发起方的永久私钥、所述通信发起方的临时私钥和通信响应方的永久公钥加密第一验证信息,生成第一密文;
第二收发模块,用于向所述通信响应方发送第一消息,所述第一消息包括所述通信发起方的临时公钥和所述第一密文;
所述第二收发模块,还用于接收所述通信响应方发送的第二消息,所述第二消息包括所述通信响应方的临时公钥和第二密文;
第二解密模块,用于利用所述通信响应方的临时公钥、所述通信发起方的永久私钥和所述通信发起方的临时私钥解密所述第二密文,得到第二待验信息;
所述第二收发模块,还用于若所述第二待验信息验证通过,生成通信密钥;
所述第二收发模块,还用于通过所述通信密钥和所述通信响应方进行通信。
14.一种通信设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法,或,以使所述至少一个处理器能够执行权利要求6-11中任一项所述的方法。
15.一种存储介质,其特征在于,所述存储介质存储有计算机指令,所述计算机指令用于使计算机执行根据权利要求1-5中任一项所述的方法,或,所述计算机指令用于使所述计算机执行权利要求6-11中任一项所述的方法。
CN202311203528.4A 2023-09-19 2023-09-19 一种网络通信方法、装置、设备及存储介质 Active CN116961906B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311203528.4A CN116961906B (zh) 2023-09-19 2023-09-19 一种网络通信方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311203528.4A CN116961906B (zh) 2023-09-19 2023-09-19 一种网络通信方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116961906A CN116961906A (zh) 2023-10-27
CN116961906B true CN116961906B (zh) 2023-12-15

Family

ID=88454855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311203528.4A Active CN116961906B (zh) 2023-09-19 2023-09-19 一种网络通信方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116961906B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639412A (zh) * 2018-12-05 2019-04-16 成都卫士通信息产业股份有限公司 一种通信方法、系统及电子设备和存储介质
CN109787758A (zh) * 2019-01-18 2019-05-21 如般量子科技有限公司 基于私钥池和Elgamal的抗量子计算MQV密钥协商方法和系统
CN109921905A (zh) * 2019-01-18 2019-06-21 如般量子科技有限公司 基于私钥池的抗量子计算密钥协商方法和系统
CN110365482A (zh) * 2019-08-01 2019-10-22 江苏恒宝智能系统技术有限公司 一种数据通信方法和装置
CN110601825A (zh) * 2019-08-29 2019-12-20 北京思源理想控股集团有限公司 密文的处理方法及装置、存储介质、电子装置
CN112713997A (zh) * 2020-12-28 2021-04-27 北京握奇数据股份有限公司 密钥协商方法和系统
CN113904766A (zh) * 2021-09-08 2022-01-07 北京世纪互联宽带数据中心有限公司 一种加密通信方法、装置、设备及介质
CN113904809A (zh) * 2021-09-08 2022-01-07 北京世纪互联宽带数据中心有限公司 一种通信方法、装置、电子设备及存储介质
CN115396177A (zh) * 2022-08-23 2022-11-25 成都三零瑞通移动通信有限公司 一种基于WASM实现web端高效通信的加密通信方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639412A (zh) * 2018-12-05 2019-04-16 成都卫士通信息产业股份有限公司 一种通信方法、系统及电子设备和存储介质
CN109787758A (zh) * 2019-01-18 2019-05-21 如般量子科技有限公司 基于私钥池和Elgamal的抗量子计算MQV密钥协商方法和系统
CN109921905A (zh) * 2019-01-18 2019-06-21 如般量子科技有限公司 基于私钥池的抗量子计算密钥协商方法和系统
CN110365482A (zh) * 2019-08-01 2019-10-22 江苏恒宝智能系统技术有限公司 一种数据通信方法和装置
CN110601825A (zh) * 2019-08-29 2019-12-20 北京思源理想控股集团有限公司 密文的处理方法及装置、存储介质、电子装置
CN112713997A (zh) * 2020-12-28 2021-04-27 北京握奇数据股份有限公司 密钥协商方法和系统
CN113904766A (zh) * 2021-09-08 2022-01-07 北京世纪互联宽带数据中心有限公司 一种加密通信方法、装置、设备及介质
CN113904809A (zh) * 2021-09-08 2022-01-07 北京世纪互联宽带数据中心有限公司 一种通信方法、装置、电子设备及存储介质
CN115396177A (zh) * 2022-08-23 2022-11-25 成都三零瑞通移动通信有限公司 一种基于WASM实现web端高效通信的加密通信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陆思奇 ; 周思渊 ; 毛颖 . 强安全模型下TLS1.3协议的形式化分析与优化.《软件学报》.第2849-2866页. *

Also Published As

Publication number Publication date
CN116961906A (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
CN106788989B (zh) 一种建立安全加密信道的方法及设备
WO2014107977A1 (zh) 密钥保护方法和系统
CN109688098B (zh) 数据的安全通信方法、装置、设备及计算机可读存储介质
CN103338215A (zh) 基于国密算法建立tls通道的方法
CN110635901B (zh) 用于物联网设备的本地蓝牙动态认证方法和系统
CN111914291A (zh) 消息处理方法、装置、设备及存储介质
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
WO2015135398A1 (zh) 一种基于协商密钥的数据处理方法
CN105407467B (zh) 短消息加密方法、装置和系统
US20210241270A1 (en) System and method of blockchain transaction verification
WO2010023506A1 (en) Methods, apparatuses, computer program products, and systems for providing secure pairing and association for wireless devices
CN114143117A (zh) 数据处理方法及设备
CN114389860B (zh) 语音通信方法、客户端、服务端、电子设备及存储介质
CN112003697A (zh) 密码模块加解密方法、装置、电子设备及计算机存储介质
WO2021109668A1 (zh) 一种安全认证方法、装置及电子设备
CN114139176A (zh) 一种基于国密的工业互联网核心数据的保护方法及系统
CN117336092A (zh) 一种客户端登录方法、装置、电子设备和存储介质
WO2015158173A1 (zh) 一种基于协商密钥的数据处理方法
CN116961906B (zh) 一种网络通信方法、装置、设备及存储介质
CN114793178B (zh) 配网方法、装置、设备和存储介质
WO2019242163A1 (zh) 数据安全验证方法、装置、系统、计算机设备及存储介质
CN112995210B (zh) 一种数据传输方法、装置及电子设备
CN115086951A (zh) 一种报文传输系统、方法及装置
CN110505059B (zh) 一种用于pc5接口点到点通信的直接密钥生成方法及装置
CN115334480A (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