CN111245601A - 一种通讯协商方法及装置 - Google Patents
一种通讯协商方法及装置 Download PDFInfo
- Publication number
- CN111245601A CN111245601A CN201911309853.2A CN201911309853A CN111245601A CN 111245601 A CN111245601 A CN 111245601A CN 201911309853 A CN201911309853 A CN 201911309853A CN 111245601 A CN111245601 A CN 111245601A
- Authority
- CN
- China
- Prior art keywords
- message
- client
- encryption
- server
- random number
- 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/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/0838—Key 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
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种通讯协商方法及装置,该方法包括:根据预设的第一密钥对第一随机数进行加密,得到第一加密数;根据第一随机数和第一加密数组合生成第一报文,第一报文具有第一请求头;将第一报文发送给服务端;接收服务端根据第一报文反馈的第二报文,第二报文具有第二请求头;当第二请求头与第二预设值一致时,对第二报文进行解析,得到第二随机数、第二加密方式和第二加密数;根据第一密钥对第二随机数和第二加密方式进行加密,得到第四加密数;当第四加密数与第二加密数一致时,确定服务端安全,向服务端发送连接请求,与服务端建立通信连接。通过实施本发明,客户端与服务端的通讯连接采用的秘钥动态可变、加密算法动态可变,确保安全通讯。
Description
技术领域
本发明涉及安全通讯领域,具体涉及一种通讯协商方法及装置。
背景技术
随着工业4.0的推进,工业控制行业逐步进入互联网化的时代。我国基础工业技术与应用不断演进,联网工控设备数量可能呈现爆发式的增长,工控安全漏洞问题也变得尤为突出。全球各地工控安全问题事件数量在逐渐上升,国家政府基础设施也进入被攻击目标之列。传统的工业防护体系中,各设备之间或设备与服务端之间的通讯协商采用的方法是基于HTTP协议或是通信密钥无法更改,无法动态改变加密算法,安全性能较低,已经不能满足当前互联网化下对安全生产的需求。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中通讯协商过程中无法动态改变加密算法安全性能低缺陷,从而提供一种通讯协商方法及装置。
根据第一方面,本发明实施例公开了一种通讯协商方法,应用于与服务端通信的客户端,包括:根据预设的第一密钥对第一随机数进行加密,得到第一加密数;根据所述第一随机数和第一加密数组合生成第一报文,所述第一报文具有第一请求头;将所述第一报文发送给所述服务端;接收所述服务端根据所述第一报文反馈的第二报文,所述第二报文具有第二请求头;当所述第二请求头与第二预设值一致时,对所述第二报文进行解析,得到第二随机数、第二加密方式和第二加密数;根据所述第一密钥对所述第二随机数和第二加密方式进行加密,得到第四加密数;当所述第四加密数与所述第二加密数一致时,确定所述服务端安全,向所述服务端发送连接请求,与所述服务端建立通信连接。
结合第一方面,在第一方面第一实施方式中,所述第四加密数与所述第二加密数不一致时,与所述服务端断开连接。
结合第一方面,在第一方面第二实施方式中,还包括:根据所述第一密钥、第一随机数及第二随机数生成通信密钥;根据所述通信密钥及第二加密方式与所述服务端进行通信。
根据第二方面,本发明实施例还提供一种通讯协商方法,应用于与客户端通信的服务端,包括如下步骤:接收所述客户端发送的第一报文;所述第一报文为所述客户端根据第一请求头、第一随机数和第一加密数所生成的;当所述第一请求头与第一预设值一致时,对所述第一报文进行解析,得到所述第一随机数和第一加密数;根据所述第一密钥对所述第一随机数进行加密,得到第三加密数;当所述第一加密数与所述第三加密数一致时,确定所述客户端安全;根据所述第一密钥对第二随机数进行加密,得到第二加密数;根据所述第二随机数、第二加密方式和第二加密数组合生成第二报文,所述第二报文具有第二请求头;将所述第二报文发送给所述客户端;当收到所述客户端的连接请求时,与所述客户端建立通信连接。
结合第二方面,在第二方面第一实施方式中,当所述第三加密数与所述第一加密数不一致时,与所述客户端断开连接。
结合第二方面,在第二方面第二实施方式中,还包括:记录所述第二加密方式;获取所述客户端传输的通信密钥;根据所述通信密钥及第二加密方式与所述客户端进行通信。
根据第三方面,本发明实施例还公开了一种通讯协商装置,包括服务端和客户端,包括:第一加密模块,用于根据预设的第一密钥对第一随机数进行加密,得到第一加密数;第一组合模块,用于根据所述第一随机数和第一加密数组合生成第一报文,所述第一报文具有第一请求头;第一发送模块,用于将所述第一报文发送给所述服务端;第一接收模块,用于接收所述服务端根据所述第一报文反馈的第二报文,所述第二报文具有第二请求头;第一解析模块,用于当所述第二请求头与第二预设值一致时,对所述第二报文进行解析,得到第二随机数、第二加密方式和第二加密数;第二加密模块,用于根据所述第一密钥对所述第二随机数和第二加密方式进行加密,得到第四加密数;第一连接模块,用于当所述第四加密数与所述第二加密数一致时,确定所述服务端安全,向所述服务端发送连接请求,与所述服务端建立通信连接。
根据第四方面,本发明实施例还公开了一种通讯协商装置,包括服务端和客户端,包括:第二接收模块,用于接收所述客户端发送的第一报文;所述第一报文为所述客户端根据第一请求头、第一随机数和第一加密数所生成的;第二解析模块,用于当所述第一请求头与第一预设值一致时,对所述第一报文进行解析,得到所述第一随机数和第一加密数;第三加密模块,用于根据所述第一密钥对所述第一随机数进行加密,得到第三加密数;确定模块,用于当所述第一加密数与所述第三加密数一致时,确定所述客户端安全;第四加密模块,用于根据所述第一密钥对第二随机数进行加密,得到第二加密数;第二组合模块,用于根据所述第二随机数、第二加密方式和第二加密数组合生成第二报文,所述第二报文具有第二请求头;第二发送模块,用于将所述第二报文发送给所述客户端;第二连接模块,用于当收到所述客户端的连接请求时,与所述客户端建立通信连接。
根据第五方面,本发明实施例还公开了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如第一方面或第一方面任一实施方式所述通讯协商方法或执行如第二方面或第二方面任一实施方式所述通讯协商方法。
根据第六方面,本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面或第一方面任一实施方式所述通讯协商方法或执行如第二方面或第二方面任一实施方式所述通讯协商方法。
本发明技术方案,具有如下优点:
本发明提供的通讯协商方法,通过根据预设的第一密钥对第一随机数进行加密,得到第一加密数,根据第一随机数和第一加密数组合生成第一报文,第一报文具有第一请求头,将第一报文发送给服务端,接收服务端根据第一报文反馈的第二报文,第二报文具有第二请求头,当第二请求头与第二预设值一致时,对第二报文进行解析,得到第二随机数、第二加密方式和第二加密数,根据第一密钥对第二随机数和第二加密方式进行加密,得到第四加密数,当第四加密数与第二加密数一致时,确定服务端安全,向服务端发送连接请求,与服务端建立通信连接。通过实施本发明,客户端与服务端的通讯连接采用的秘钥动态可变、加密算法动态可变,确保安全通讯。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中服务端与客户端交互的一个具体示例图;
图2为本发明实施例1中通讯协商方法的一个具体示例的流程图;
图3为本发明实施例2中通讯协商方法的一个具体示例的流程图;
图4为本发明实施例3中通讯协商装置的一个具体示例的原理框图;
图5为本发明实施例4中通讯协商装置的一个具体示例的原理框图;
图6为本发明实施例5中通讯协商电子设备的一个具体示例图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
本实施例提供一种通讯协商方法,应用于与服务端通信的客户端,如图1所示,该服务端可以为统一安全管理平台,该客户端可以为工业防火墙设备,在握手阶段,客户端向服务端发送随机数进行校验,服务端也向客户端发送随机数进行校验,双方进行身份验证,确定对方安全,根据新的通信密钥进行通信,如图2所示,该通讯协商方法包括如下步骤:
S11:根据预设的第一密钥对第一随机数进行加密,得到第一加密数。
示例性地,该预设的第一密钥可以用KEY来表示,第一随机数可以用REQ_SEED来表示,第一加密数可以用REQ_VALUE来表示,本申请实施例采用的加密方法可以为HASH(KEY)加上第一随机数REQ_SEED后再进行HASH,具体加密公式如下:
REQ_VALUE=HASH(HASH(KEY)+REQ_SEED)
式中,HASH()表示哈希算法。本发明实施例对该加密方式不作限定,可以根据实际情况设定。
S12:根据第一随机数和第一加密数组合生成第一报文,第一报文具有第一请求头。
示例性地,该第一报文可以为WNT+REQ_SEED+REQ_VALUE,其中,WNT为该第一报文的第一请求头,本发明实施例对该第一报文请求头不做限定,可以根据实际情况设定。
S13:将第一报文发送给服务端。
S14:接收服务端根据第一报文反馈的第二报文,第二报文具有第二请求头。
示例性地,当客户端给服务端发送第一报文验证后,服务端确认客户端安全后,服务端会给客户端发送第二报文进行验证,在本发明实施例中,该第二请求头也可以设置为WNT,与第一请求头一样,本发明实施例对该第二报文请求头不做限定,可以根据实际情况设定。
S15:当第二请求头与第二预设值一致时,对第二报文进行解析,得到第二随机数、第二加密方式和第二加密数。
示例性地,在本发明实施例中,该第二预设值为WNT,当接收到服务端发送的第二报文时,判断第二报文的请求头是否为WNT,当第二请求头和第二预设值一致时,对第二报文进行解析,得到第二随机数RESP_SEED、第二加密方式RESP_ENCR和第二加密数RESP_VALUE。
S16:根据第一密钥对第二随机数和第二加密方式进行加密,得到第四加密数。
示例性地,该加密方法与服务端对第二随机数的加密方法一致,可以为HASH(KEY+REQ_SEED)加上RESP_SEED加上RESP_ENCR后在进行HASH,具体加密方法如下:
RESP_VALUE=HASH(HASH(KEY+REQ_SEED)+RESP_SEED+RESP_ENCR)
本发明实施例对该加密方式不作限定,可以根据实际情况设定。
S17:当第四加密数与第二加密数一致时,确定服务端安全,向服务端发送连接请求,与服务端建立通信连接。
示例性地,比较加密得到的第四加密数与解析得到的第二加密数,当第四加密数和第二加密数一致时,可以确认服务端安全,此时,客户端与服务端完成验证,确认对方安全,客户端向服务端发送连接请求,当收到服务端的应答请求后,与服务端建立通信连接。
本发明提供的通讯协商方法,通过根据预设的第一密钥对第一随机数进行加密,得到第一加密数,根据第一随机数和第一加密数组合生成第一报文,第一报文具有第一请求头,将第一报文发送给服务端,接收服务端根据第一报文反馈的第二报文,第二报文具有第二请求头,当第二请求头与第二预设值一致时,对第二报文进行解析,得到第二随机数、第二加密方式和第二加密数,根据第一密钥对第二随机数和第二加密方式进行加密,得到第四加密数,当第四加密数与第二加密数一致时,确定服务端安全,向服务端发送连接请求,与服务端建立通信连接。通过实施本发明,客户端与服务端的每次通讯都会生成新的密钥,密钥不固定,每次通讯的加密算法也随机生成,保证通讯更加安全,采用私有协议加密逻辑简单,安全,加密通讯性能更好。
作为本申请一个可选实施方式,本发明实施例的通讯协商方法还包括:
当第二请求头与第二预设值不一致时,与服务端断开连接。
示例性地,当第二请求头与第二预设值不一致时,认为服务端不安全,客户端不与服务端连接。
作为本申请一个可选实施方式,本发明实施例的通讯协商方法还包括:
当第四加密数与第二加密数不一致时,与服务端断开连接。
示例性地,当第四加密数与第二加密数不一致时,认为服务端不安全,客户端不与服务端连接。客户端第二次对服务端的安全进行验证,进一步保证服务端的安全性。
作为本申请一个可选实施方式,本发明实施例的通讯协商方法还包括:
首先,根据第一密钥、第一随机数及第二随机数生成通信密钥。
示例性地,该通信密钥可以用NEW_KEY表示,可以设置为KEY+REQ_SEED+RESP_SEED。本发明实施例对该通信密钥不做限定,可以根据实际情况设定。
其次,根据通信密钥及第二加密方式与服务端进行通信。
示例性地,客户端通过上述通信密钥NEW_KEY与服务端进行通信,进行数据传输时采用RESP_ENCR代表的加密算法对通信数据进行加密,通信密钥动态可变,每次进行通讯时都生成新的密钥,保障通讯过程更加安全。
实施例2
本发明实施例还提供一种通讯协商方法,应用于与客户端通信的服务端,如图3所示,包括如下步骤:
S21:接收客户端发送的第一报文;第一报文为客户端根据第一请求头、第一随机数和第一加密数所生成的。
示例性地,服务端接收客户端发送的第一报文,对客户端的安全性进行验证。
S22:当第一请求头与第一预设值一致时,对第一报文进行解析,得到第一随机数和第一加密数。
示例性地,在本发明实施例中,该第一预设值也可以设置为WNT,当接收到客户端发送的第一报文时,判断第一报文的请求头是否为WNT,当第一请求头和第一预设值一致时,对第一报文进行解析,得到第一随机数REQ_SEED和第一加密数REQ_VALUE。
S23:根据第一密钥对第一随机数进行加密,得到第三加密数。
示例性地,该加密方法与客户端对第一随机数的加密方法一致,可以为HASH(KEY)加上第一随机数REQ_SEED后再进行HASH,具体加密公式如下:
REQ_VALUE=HASH(HASH(KEY)+REQ_SEED)。
S24:当第一加密数与第三加密数一致时,确定客户端安全。
示例性地,比较加密得到的第三加密数与解析得到的第一加密数,当第三加密数和第一加密数一致时,可以确认客户端安全,然后向客户端发送第二报文,等待客户端验证。
S25:根据第一密钥对第二随机数进行加密,得到第二加密数。
示例性地,该预设的第一密钥可以为KEY,第二随机数可以用RESP_SEED来表示,第二加密数可以用RESP_VALUE来表示,本申请实施例采用的加密方法可以为HASH(KEY+REQ_SEED)加上RESP_SEED加上RESP_ENCR后在进行HASH,具体加密方法如下:
RESP_VALUE=HASH(HASH(KEY+REQ_SEED)+RESP_SEED+RESP_ENCR)。
S26:根据第二随机数、第二加密方式和第二加密数组合生成第二报文,第二报文具有第二请求头。
示例性地,该第二报文可以为WNT+RESP_SEED+RESP_ENCR+RESP_VALUE,其中,WNT为该第二报文的第二请求头,本发明实施例对该第二报文请求头不做限定,本领域技术人员可以根据实际情况设定。
S27:将第二报文发送给客户端。
S28:当收到客户端的连接请求时,与客户端建立通信连接。
示例性地,当接收到客户端的连接请求时,表明客户端确认服务端安全,双向身份认证成功,与客户端建立通信连接。
本发明提供的通讯协商方法,通过接收客户端发送的第一报文,第一报文为客户端根据第一请求头、第一随机数和第一加密数所生成的,当第一请求头与第一预设值一致时,对第一报文进行解析,得到第一随机数和第一加密数,根据第一密钥对第一随机数进行加密,得到第三加密数,当第一加密数与第三加密数一致时,确定客户端安全,根据第一密钥对第二随机数进行加密,得到第二加密数,根据第二随机数、第二加密方式和第二加密数组合生成第二报文,第二报文具有第二请求头,将第二报文发送给客户端,当收到客户端的连接请求时,与客户端建立通信连接。通过实施本发明,客户端与服务端的每次通讯都会生成新的密钥,密钥不固定,每次通讯的加密算法也随机生成,保证通讯更加安全,采用私有协议加密逻辑简单,安全,加密通讯性能更好。
作为本申请一个可选实施方式,本发明实施例的通讯协商方法还包括:
当第一请求头与第一预设值不一致时,与客户端断开连接。
示例性地,当第一请求头与第一预设值不一致时,认为客户端不安全,服务端不与客户端连接。
作为本申请一个可选实施方式,本发明实施例的通讯协商方法还包括:
当第三加密数与第一加密数不一致时,与客户端断开连接。
示例性地,当第三加密数与第一加密数不一致时,认为客户端不安全,服务端不与客户端连接。服务端第二次对客户端的安全进行验证,进一步保证客户端的安全性。
作为本申请一个可选实施方式,本发明实施例的通讯协商方法还包括:
首先,记录第二加密方式。
示例性地,该第二加密方式RESP_ENCR可以为1-N范围内的随机一个数字,每个数字代表一种加密算法,记录第二加密方式后可以在正常建立通讯后对每种加密算法的传输数据进行解密。
其次,获取客户端传输的通信密钥。
示例性地,该通信密钥NEW_KEY为KEY+REQ_SEED+RESP_SEED。
再次,根据通信密钥及第二加密方式与客户端进行通信。
示例性地,服务端利用上述通信密钥NEW_KEY与客户端进行通信,该通信密钥动态可变,每次进行通讯时生成新的密钥,保障通讯过程更安全。
实施例3
本发明实施例还提供一种通讯协商装置,如图4所示,包括:
第一加密模块31,用于根据预设的第一密钥对第一随机数进行加密,得到第一加密数。具体实现方式见实施例1中步骤S11,在此不再赘述。
第一组合模块32,用于根据第一随机数和第一加密数组合生成第一报文,第一报文具有第一请求头。具体实现方式见实施例1中步骤S12,在此不再赘述。
第一发送模块33,用于将第一报文发送给服务端。具体实现方式见实施例1中步骤S13,在此不再赘述。
第一接收模块34,用于接收服务端根据第一报文反馈的第二报文,第二报文具有第二请求头。具体实现方式见实施例1中步骤S14,在此不再赘述。
第一解析模块35,用于当第二请求头与第二预设值一致时,对第二报文进行解析,得到第二随机数、第二加密方式和第二加密数。具体实现方式见实施例1中步骤S15,在此不再赘述。
第二加密模块36,用于根据第一密钥对第二随机数和第二加密方式进行加密,得到第四加密数。具体实现方式见实施例1中步骤S16,在此不再赘述。
第一连接模块37,用于当第四加密数与第二加密数一致时,确定服务端安全,向服务端发送连接请求,与服务端建立通信连接。具体实现方式见实施例1中步骤S17,在此不再赘述。
本发明提供的通讯协商装置,通过根据预设的第一密钥对第一随机数进行加密,得到第一加密数,根据第一随机数和第一加密数组合生成第一报文,第一报文具有第一请求头,将第一报文发送给服务端,接收服务端根据第一报文反馈的第二报文,第二报文具有第二请求头,当第二请求头与第二预设值一致时,对第二报文进行解析,得到第二随机数、第二加密方式和第二加密数,根据第一密钥对第二随机数和第二加密方式进行加密,得到第四加密数,当第四加密数与第二加密数一致时,确定服务端安全,向服务端发送连接请求,与服务端建立通信连接。通过实施本发明,客户端与服务端的每次通讯都会生成新的密钥,密钥不固定,每次通讯的加密算法也随机生成,保证通讯更加安全,采用私有协议加密逻辑简单,安全,加密通讯性能更好。
作为本申请一个可选实施方式,本发明实施例的通讯协商装置还包括:
第一断开模块,用于当第四加密数与第二加密数不一致时,与服务端断开连接。具体实现方式见实施例1中对应的步骤,在此不再赘述。
作为本申请一个可选实施方式,本发明实施例的通讯协商装置还包括:
生成模块,用于根据第一密钥、第一随机数及第二随机数生成通信密钥。具体实现方式见实施例1中对应的步骤,在此不再赘述。
第一通信模块,用于根据通信密钥及第二加密方式与服务端进行通信。具体实现方式见实施例1中对应的步骤,在此不再赘述。
实施例4
本发明实施例还提供一种通讯协商装置,如图5所示,包括:
第二接收模块41,用于接收客户端发送的第一报文;第一报文为客户端根据第一请求头、第一随机数和第一加密数所生成的。具体实现方式见实施例2中步骤S21,在此不再赘述。
第二解析模块42,用于当第一请求头与第一预设值一致时,对第一报文进行解析,得到第一随机数和第一加密数。具体实现方式见实施例2中步骤S22,在此不再赘述。
第三加密模块43,用于根据第一密钥对第一随机数进行加密,得到第三加密数。具体实现方式见实施例2中步骤S23,在此不再赘述。
确定模块44,用于当第一加密数与第三加密数一致时,确定客户端安全。具体实现方式见实施例2中步骤S24,在此不再赘述。
第四加密模块45,用于根据第一密钥对第二随机数进行加密,得到第二加密数。具体实现方式见实施例2中步骤S25,在此不再赘述。
第二组合模块46,用于根据第二随机数、第二加密方式和第二加密数组合生成第二报文,第二报文具有第二请求头。具体实现方式见实施例2中步骤S26,在此不再赘述。
第二发送模块47,用于将第二报文发送给客户端。具体实现方式见实施例2中步骤S27,在此不再赘述。
第二连接模块48,用于当收到客户端的连接请求时,与客户端建立通信连接。具体实现方式见实施例2中步骤S28,在此不再赘述。
本发明提供的通讯协商装置,通过接收客户端发送的第一报文,第一报文为客户端根据第一请求头、第一随机数和第一加密数所生成的,当第一请求头与第一预设值一致时,对第一报文进行解析,得到第一随机数和第一加密数,根据第一密钥对第一随机数进行加密,得到第三加密数,当第一加密数与第三加密数一致时,确定客户端安全,根据第一密钥对第二随机数进行加密,得到第二加密数,根据第二随机数、第二加密方式和第二加密数组合生成第二报文,第二报文具有第二请求头,将第二报文发送给客户端,当收到客户端的连接请求时,与客户端建立通信连接。通过实施本发明,客户端与服务端的每次通讯都会生成新的密钥,密钥不固定,每次通讯的加密算法也随机生成,保证通讯更加安全,采用私有协议加密逻辑简单,安全,加密通讯性能更好。
作为本申请一个可选实施方式,本发明实施例的通讯协商装置还包括:
第二断开连接,用于当第三加密数与第一加密数不一致时,与客户端断开连接。具体实现方式见实施例2中对应的步骤,在此不再赘述。
作为本申请一个可选实施方式,本发明实施例的通讯协商装置还包括:
记录模块,用于记录第二加密方式。具体实现方式见实施例2中对应的步骤,在此不再赘述。
获取模块,用于获取客户端传输的通信密钥。具体实现方式见实施例2中对应的步骤,在此不再赘述。
第二通信模块,用于根据通信密钥及第二加密方式与客户端进行通信。具体实现方式见实施例2中对应的步骤,在此不再赘述。
实施例5
本发明实施例还提供了一种通讯协商设备,如图6所示,该通讯协商设备可以包括处理器51和存储器52,其中处理器51和存储器52可以通过总线或者其他方式连接,图6中以通过总线连接为例。
处理器51可以为中央处理器(Central Processing Unit,CPU)。处理器51还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的通讯协商方法对应的程序指令/模块(例如,图4所示的第一加密模块31、第一组合模块32、第一发送模块33、第一接收模块34、第一解析模块35、第二加密模块36和第一连接模块37或图5所示的第二接收模块41、第二解析模块42、第三加密模块43、确定模块44、第四加密模块45、第二组合模块46、第二发送模块47和第二连接模块48)。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的通讯协商方法。
存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器51所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至处理器51。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器52中,当被所述处理器51执行时,执行如图2或图3所示实施例中的通讯协商方法。
上述通讯协商终端具体细节可以对应参阅图2或图3所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
实施例6
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的通讯协商方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种通讯协商方法,应用于与服务端通信的客户端,其特征在于,包括如下步骤:
根据预设的第一密钥对第一随机数进行加密,得到第一加密数;
根据所述第一随机数和第一加密数组合生成第一报文,所述第一报文具有第一请求头;
将所述第一报文发送给所述服务端;
接收所述服务端根据所述第一报文反馈的第二报文,所述第二报文具有第二请求头;
当所述第二请求头与第二预设值一致时,对所述第二报文进行解析,得到第二随机数、第二加密方式和第二加密数;
根据所述第一密钥对所述第二随机数和第二加密方式进行加密,得到第四加密数;
当所述第四加密数与所述第二加密数一致时,确定所述服务端安全,向所述服务端发送连接请求,与所述服务端建立通信连接。
2.根据权利要求1所述的通讯协商方法,其特征在于,当所述第四加密数与所述第二加密数不一致时,与所述服务端断开连接。
3.根据权利要求1所述的通讯协商方法,其特征在于,还包括:
根据所述第一密钥、第一随机数及第二随机数生成通信密钥;
根据所述通信密钥及第二加密方式与所述服务端进行通信。
4.一种通讯协商方法,应用于与客户端通信的服务端,其特征在于,包括如下步骤:
接收所述客户端发送的第一报文;所述第一报文为所述客户端根据第一请求头、第一随机数和第一加密数所生成的;
当所述第一请求头与第一预设值一致时,对所述第一报文进行解析,得到所述第一随机数和第一加密数;
根据所述第一密钥对所述第一随机数进行加密,得到第三加密数;
当所述第一加密数与所述第三加密数一致时,确定所述客户端安全;
根据所述第一密钥对第二随机数进行加密,得到第二加密数;
根据所述第二随机数、第二加密方式和第二加密数组合生成第二报文,所述第二报文具有第二请求头;
将所述第二报文发送给所述客户端;
当收到所述客户端的连接请求时,与所述客户端建立通信连接。
5.根据权利要求4所述的通讯协商方法,其特征在于,当所述第三加密数与所述第一加密数不一致时,与所述客户端断开连接。
6.根据权利要求4所述的通讯协商方法,其特征在于,还包括:
记录所述第二加密方式;
获取所述客户端传输的通信密钥;
根据所述通信密钥及第二加密方式与所述客户端进行通信。
7.一种通讯协商装置,包括服务端和客户端,其特征在于,包括:
第一加密模块,用于根据预设的第一密钥对第一随机数进行加密,得到第一加密数;
第一组合模块,用于根据所述第一随机数和第一加密数组合生成第一报文,所述第一报文具有第一请求头;
第一发送模块,用于将所述第一报文发送给所述服务端;
第一接收模块,用于接收所述服务端根据所述第一报文反馈的第二报文,所述第二报文具有第二请求头;
第一解析模块,用于当所述第二请求头与第二预设值一致时,对所述第二报文进行解析,得到第二随机数、第二加密方式和第二加密数;
第二加密模块,用于根据所述第一密钥对所述第二随机数和第二加密方式进行加密,得到第四加密数;
第一连接模块,用于当所述第四加密数与所述第二加密数一致时,确定所述服务端安全,向所述服务端发送连接请求,与所述服务端建立通信连接。
8.一种通讯协商装置,包括服务端和客户端,其特征在于,包括:
第二接收模块,用于接收所述客户端发送的第一报文;所述第一报文为所述客户端根据第一请求头、第一随机数和第一加密数所生成的;
第二解析模块,用于当所述第一请求头与第一预设值一致时,对所述第一报文进行解析,得到所述第一随机数和第一加密数;
第三加密模块,用于根据所述第一密钥对所述第一随机数进行加密,得到第三加密数;
确定模块,用于当所述第一加密数与所述第三加密数一致时,确定所述客户端安全;
第四加密模块,用于根据所述第一密钥对第二随机数进行加密,得到第二加密数;
第二组合模块,用于根据所述第二随机数、第二加密方式和第二加密数组合生成第二报文,所述第二报文具有第二请求头;
第二发送模块,用于将所述第二报文发送给所述客户端;
第二连接模块,用于当收到所述客户端的连接请求时,与所述客户端建立通信连接。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1至6任一所述通讯协商方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1至6任一所述通讯协商方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911309853.2A CN111245601B (zh) | 2019-12-18 | 2019-12-18 | 一种通讯协商方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911309853.2A CN111245601B (zh) | 2019-12-18 | 2019-12-18 | 一种通讯协商方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111245601A true CN111245601A (zh) | 2020-06-05 |
CN111245601B CN111245601B (zh) | 2023-05-02 |
Family
ID=70879376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911309853.2A Active CN111245601B (zh) | 2019-12-18 | 2019-12-18 | 一种通讯协商方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245601B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114040389A (zh) * | 2021-11-05 | 2022-02-11 | 国网新疆电力有限公司电力科学研究院 | 一种适用于物联网应用场景的高速安全传输方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105307165A (zh) * | 2015-10-10 | 2016-02-03 | 中国民生银行股份有限公司 | 基于移动应用的通信方法、服务端和客户端 |
CN109005028A (zh) * | 2018-11-02 | 2018-12-14 | 美的集团股份有限公司 | 密钥协商方法、云服务器、设备、存储介质以及系统 |
CN109547471A (zh) * | 2018-12-24 | 2019-03-29 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 网络通信方法和装置 |
WO2019114703A1 (zh) * | 2017-12-15 | 2019-06-20 | 华为技术有限公司 | 一种安全通信的方法、装置和系统 |
-
2019
- 2019-12-18 CN CN201911309853.2A patent/CN111245601B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105307165A (zh) * | 2015-10-10 | 2016-02-03 | 中国民生银行股份有限公司 | 基于移动应用的通信方法、服务端和客户端 |
WO2019114703A1 (zh) * | 2017-12-15 | 2019-06-20 | 华为技术有限公司 | 一种安全通信的方法、装置和系统 |
CN109005028A (zh) * | 2018-11-02 | 2018-12-14 | 美的集团股份有限公司 | 密钥协商方法、云服务器、设备、存储介质以及系统 |
CN109547471A (zh) * | 2018-12-24 | 2019-03-29 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 网络通信方法和装置 |
Non-Patent Citations (1)
Title |
---|
张仕斌,万武南,张金全: "《卓越工程师计划 应用密码学》", 31 January 2017 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114040389A (zh) * | 2021-11-05 | 2022-02-11 | 国网新疆电力有限公司电力科学研究院 | 一种适用于物联网应用场景的高速安全传输方法 |
CN114040389B (zh) * | 2021-11-05 | 2023-09-19 | 国网新疆电力有限公司电力科学研究院 | 一种适用于物联网应用场景的高速安全传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111245601B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237241B2 (en) | Transport layer security latency mitigation | |
CN113099443B (zh) | 设备认证方法、装置、设备和系统 | |
CN108401011B (zh) | 内容分发网络中握手请求的加速方法、设备及边缘节点 | |
EP3391620A1 (en) | Systems and methods for secure multi-party communications using a proxy | |
CN108111497B (zh) | 摄像机与服务器相互认证方法和装置 | |
CN112019541B (zh) | 一种数据传输方法、装置、计算机设备及存储介质 | |
CN106878016A (zh) | 数据发送、接收方法及装置 | |
WO2019178942A1 (zh) | 一种进行ssl握手的方法和系统 | |
US10693879B2 (en) | Methods, devices and management terminals for establishing a secure session with a service | |
CN102833253A (zh) | 建立客户端与服务器安全连接的方法及服务器 | |
WO2016150169A1 (zh) | 一种安全通信方法、网关、网络侧服务器及系统 | |
WO2016008344A1 (en) | Wireless connection establishing methods and wireless connection establishing apparatuses | |
CN110839240B (zh) | 一种建立连接的方法及装置 | |
US10015144B2 (en) | Method and system for protecting data using data passports | |
US20150188699A1 (en) | Method and apparatus for establishing secure session between client and server | |
CN115766119A (zh) | 通信方法、装置、通信系统及存储介质 | |
US9049012B2 (en) | Secured cryptographic communication system | |
CN111245601B (zh) | 一种通讯协商方法及装置 | |
JP5614465B2 (ja) | 暗号通信装置、代行サーバ、暗号通信装置プログラム及び代行サーバプログラム | |
US9825942B2 (en) | System and method of authenticating a live video stream | |
CN110602133B (zh) | 智能合约处理方法、区块链管理设备及存储介质 | |
US10992741B2 (en) | System and method for providing a configuration file to client devices | |
CN115987634A (zh) | 获取明文数据、密钥获取方法、装置、电子设备及介质 | |
KR101503009B1 (ko) | 데이터 크기 정보를 이용한 애플리케이션 식별 방법 및 장치 | |
CN118054921A (zh) | 一种http校验方法、装置、介质及设备 |
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 |