CN115242468A - 一种基于rs485总线的安全通信系统及其方法 - Google Patents

一种基于rs485总线的安全通信系统及其方法 Download PDF

Info

Publication number
CN115242468A
CN115242468A CN202210793487.8A CN202210793487A CN115242468A CN 115242468 A CN115242468 A CN 115242468A CN 202210793487 A CN202210793487 A CN 202210793487A CN 115242468 A CN115242468 A CN 115242468A
Authority
CN
China
Prior art keywords
gateway
sub
state machine
code
lease
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
CN202210793487.8A
Other languages
English (en)
Other versions
CN115242468B (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.)
Guangzhou Hedong Technology Co ltd
Original Assignee
Guangzhou Hedong 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 Guangzhou Hedong Technology Co ltd filed Critical Guangzhou Hedong Technology Co ltd
Priority to CN202210793487.8A priority Critical patent/CN115242468B/zh
Publication of CN115242468A publication Critical patent/CN115242468A/zh
Application granted granted Critical
Publication of CN115242468B publication Critical patent/CN115242468B/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
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明涉及一种基于RS485总线的安全通信系统及方法、电子设备、存储介质,通过子设备与RS485网关各自随机生成密钥对并交换其中的公钥,在通过交换后的公钥与各自保留的私钥生成携带共同数据信息的公钥,将该公钥通过MD5算法再次加密生成密钥PK,之后子设备将密钥PK以加密签名数据的方式发送至RS485网关,RS485网关解密后通过密钥PK对所述签名数据进行验证,验证通过后,返回注册网关授权码和租期PD码至子设备,自此实现子设备与RS485网关进行安全通信,保证了RS485总线通信中设备与网关间的数据安全,且安全性能极高,避免了重要数据信息泄露的风险。

Description

一种基于RS485总线的安全通信系统及其方法
技术领域
本申请实施例涉及工控应用领域,特别是涉及一种基于RS485总线的通信系统及其方法、电子设备、存储介质。
背景技术
在传统的工控应用领域中,总线系统往往使用主从结构,例如MODBUS RTU、BACNETMSTP总线的通信都是使用明文。随着科技的发展,人们越来越多关注到信息安全等问题。在智能家居领域的应用中,在进行通讯时的许多关于安防系统的信息以及个人信息等都需要保护。其中,基于RS485总线的通讯如果采用传统的明文通讯,则会面临个人信息以及重要安防信息泄露的风险。
发明内容
基于上述背景技术,本发明提供了一种基于RS485总线的安全通信系统及其方法、电子设备、存储介质,保证了RS485总线通讯中设备与网关间的通信安全。
第一方面,本发明提供了一种基于RS485总线的安全通信系统,包括子设备和RS485网关;所述子设备通过RS485总线与所述RS485网关信号连接,所述子设备用于在上电后生成请求接入所述RS485网关指令;
所述子设备包括第一状态机模块和第二状态机模块;所述第一状态机模块与所述第二状态机模块信号连接;
所述第一状态机模块用于接收所述请求接入所述RS485网关指令,并通过椭圆曲线算法随机生成第一密钥对,所述第一密钥对包括第一公钥,所述第一状态机模块用于发送所述第一公钥至所述RS485网关;
所述RS485网关用于通过椭圆曲线算法随机生成第二密钥对,所述第二密钥对包括第二公钥,所述RS485网关用于发送所述第二公钥至所述第一状态机模块;
所述第一状态机模块还用于根据所述第一密钥对和所述第二公钥,通过椭圆曲线算法生成第三公钥,并根据所述第三公钥,通过MD5算法生成第一密钥PK,所述第一状态机模块还用于发送所述第一密钥PK至所述第二状态机模块;
所述RS485网关还用于根据所述第二密钥对和所述第一公钥,通过椭圆曲线算法生成第四公钥,并根据所述第四公钥,通过MD5算法生成第二密钥PK;
所述第二状态机模块用于根据所述第一密钥PK,通过HMAC-MD5算法生成签名数据,并通过TEA加密算法将所述签名数据进行加密后,生成加密签名数据并发送至所述RS485网关;
所述RS485网关用于对所述加密签名数据进行解密,并根据所述第二密钥PK对所述解密后的签名数据进行验证,确认验证通过后,发送所述注册网关授权码和租期PD码至所述第二状态机模块并与所述子设备以TEA加密的方式进行数据通信;
所述第二状态机模块用于接收所述RS485网关返回的注册网关授权码和租期PD码并与所述RS485网关以TEA加密的方式进行数据通信。
进一步地,所述子设备还包括第三状态机模块;所述第三状态机模块与所述第一状态机模块和所述第二状态机模块信号连接;
所述第二状态机模块用于发送所述注册网关授权码、所述租期PD码及所述第一密钥PK至所述第三状态机模块;
所述第三状态机模块用于根据所述注册网关授权码、所述租期PD码及所述第一密钥PK,通过HMAC-MD5算法生成授权码,并发送心跳数据至所述RS485网关,所述心跳数据包括所述授权码;
所述RS485网关用于根据所述授权码中的所述租期PD码进行有效期验证,若确认所述租期已经过期,则生成租期过期信息并发送至所述第三状态机模块;
所述第三状态机模块接收所述租期过期信息,并发送所述请求接入所述RS485网关指令至所述第一状态机模块。
进一步地,所述子设备还包括初始化模块;所述初始化模块与所述第一状态机模块相连接;
所述初始化模块用于获取所述子设备的上电状态并初始化所述子设备系统参数,同时开启定时器并设置定时器中断,并初始化串口引脚,在开启串口中断后,发送所述请求接入所述RS485网关指令至所述第一状态机模块。
第二方面,本发明提供了一种基于RS485总线的安全通信方法,应用于包括子设备和RS485网关在内的通信系统中的子设备,包括如下方法步骤:
生成请求接入所述RS485网关指令;
通过椭圆曲线算法随机生成第一密钥对,所述第一密钥对包括第一公钥,并发送所述第一公钥至所述RS485网关;
接收所述RS485网关返回的第二公钥,所述第二公钥通过所述RS485网关通过椭圆曲线算法随机生成的第二密钥对获取;
根据所述第一密钥对和所述第二公钥,通过椭圆曲线算法生成第三公钥;
根据所述第三公钥,通过MD5算法生成第一密钥PK;
根据所述第一密钥PK,通过HMAC-MD5算法生成签名数据;
通过TEA加密算法将所述签名数据进行加密,生成加密签名数据并发送至所述RS485网关;
接收所述网关返回的注册网关授权码和租期PD码并与所述RS485网关以TEA加密的方式进行数据通信,所述注册网关授权码和所述租期PD码通过所述RS485网关对所述加密签名数据解密并验证通过获取。
进一步地,与所述RS485网关以TEA加密的方式进行数据通信,还包括如下步骤:
根据所述注册网关授权码、所述租期PD码及所述第一密钥PK,通过HMAC-MD5算法生成授权码;
发送心跳数据至所述RS485网关,所述心跳数据包括所述授权码;
接收所述RS485网关返回的租期过期信息,所述租期过期信息通过所述RS485网关对所述授权码中的所述租期PD码验证获取;
重复执行生成请求接入所述RS485网关指令。
进一步地,在生成请求接入所述RS485网关指令前,还包括如下方法步骤:
获取所述子设备的上电状态并初始化所述子设备系统参数;
开启定时器并设置定时器中断;
初始化串口引脚并开启串口中断。
第三方面,本发明提供了一种基于RS485总线的安全通信方法,应用于包括子设备和RS485网关在内的通信系统中的RS485网关,包括如下方法步骤:
接收第一公钥,所述第一公钥通过子设备根据椭圆曲线算法随机生成第一密钥对获取;
通过椭圆曲线算法随机生成第二密钥对,所述第二密钥对包括第二公钥,并发送所述第二公钥至所述子设备;
根据所述第二密钥对和所述第一公钥,通过椭圆曲线算法生成第四公钥;
根据所述第四公钥,通过MD5算法生成第二密钥PK;
接收所述子设备发送的加密签名数据并对所述加密签名数据进行解密,获取所述注册网关授权码和所述租期PD码,所述注册网关授权码和所述租期PD码为根据所述第二密钥PK对所述解密后的签名数据验证通过获取;
发送所述注册网关授权码和所述租期PD码至所述子设备并与所述子设备以TEA加密的方式进行数据通信。
进一步地,与所述子设备以TEA加密的方式进行数据通信后,还包括如下步骤:
接收所述子设备发送的心跳数据,所述心跳数据包括所述子设备根据所述注册网关授权码、所述租期PD码及第一密钥PK,通过HMAC-MD5算法生成的授权码;
对所述授权码中的所述租期PD码进行有效期验证;
若所述租期PD码尚在有效期,则保持与所述子设备以TEA加密的方式进行数据通信;
若所述租期PD码超出有效期,则断开连接并向所述子设备发送租期过期信息。
第四方面,本申请实施例提供一种电子设备,包括:
至少一个存储器以及至少一个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如第二和三方面所述的一种基于RS485总线的安全通信方法的步骤。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第二和三方面所述的一种基于RS485总线的安全通信方法的步骤。
本发明通过子设备与RS485网关各自随机生成密钥对并交换其中的公钥,在通过交换后的公钥与各自保留的私钥生成携带共同数据信息的公钥,将该公钥通过MD5算法再次加密生成密钥PK,之后子设备将密钥PK以加密签名数据的方式发送至RS485网关,RS485网关解密后通过密钥PK对所述签名数据进行验证,验证通过后,返回注册网关授权码和租期PD码至子设备,自此实现子设备与RS485网关进行安全通信,保证了RS485总线通信中设备与网关间的数据安全,且安全性能极高,避免了重要数据信息泄露的风险。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图说明
图1为在一个示例性的实施例中提供的一种基于RS485总线的安全通信系统中的应用场景示意图;
图2为在一个示例性的实施例中提供的一种基于RS485总线的安全通信方法的步骤流程图;
图3为在一个示例性的实施例中提供的一种基于RS485总线的安全通信方法的步骤流程图;
图4为在一个示例性的实施例中提供的一种电子设备示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
应当明确,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请实施例保护的范围。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
现有的RS485通信应用场景如图1所示,子设备200通过RS485总线与RS485网关100的主口连接,子设备200与RS485网关100之间可以相互交换数据信息,RS485网关100的从口与服务平台300通过RS485总线相连接,从而实现不同网络间的设备通信。但正如背景技术中所指出的,对于子设备而言,现有的RS485通讯无法确保其申请接入的网关安全;对于RS485网关而言,现有的RS485通讯无法确保其即将连接的子设备安全。
因此针对上述技术问题,本申请实施例提供了一种基于RS485总线的安全通信系统,包括子设备和RS485网关;子设备通过RS485总线与RS485网关信号连接,子设备用于在上电后生成请求接入RS485网关指令。
子设备包括第一状态机模块和第二状态机模块;第一状态机模块与第二状态机模块信号连接。
其中,状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。在本申请实施例中,所述子设备为单片机。在资源有限的单片机中,没有操作系统,没有多任务,如果使用传统的方法,很难实现复杂的功能。而本申请实施例通过使用状态机编程,不像操作系统那样需要大量的单片机RAM,FLASH等资源,而是将复杂的问题,分解为多个状态,从而实现通过简单的编程,使单片机做出复杂的项目,提升单片机的资源利用率及开发效率。
第一状态机模块用于接收请求接入RS485网关指令,并通过椭圆曲线算法随机生成第一密钥对,第一密钥对包括第一公钥,第一状态机模块用于发送第一公钥至RS485网关;
RS485网关用于通过椭圆曲线算法随机生成第二密钥对,第二密钥对包括第二公钥,RS485网关用于发送第二公钥至第一状态机模块;
第一状态机模块还用于根据第一密钥对和第二公钥,通过椭圆曲线算法生成第三公钥,并根据第三公钥,通过MD5算法生成第一密钥PK,第一状态机模块还用于发送第一密钥PK至第二状态机模块;
RS485网关还用于根据第二密钥对和第一公钥,通过椭圆曲线算法生成第四公钥,并根据第四公钥,通过MD5算法生成第二密钥PK。
椭圆曲线算法,即ECDH算法,通过椭圆曲线Diffie-Hellman(ECDH)密钥协商协议,两个用户可以创建共享的机密协议,且可以在不安全的公共媒体上完成此操作,而不必事先交换任何私有信息。在本申请实施例中,第一状态机模块与RS485网关生成密钥PK的大致步骤是:首先子设备与RS485网关各自生成随机密钥对,即第一状态机模块生成第一密钥对,第一密钥对包括第一公钥和第一私钥,RS485网关生成第二密钥对,第二密钥对包括第二公钥和第二私钥;子设备与RS485网关交换各自密钥对中的公钥,即,子设备接收RS485网关发送的第二公钥,RS485网关接收子设备发送的第一公钥,在交换过程中无需考虑此时的通信环境是否安全;之后,子设备和RS485网关使用上述交换过的公钥及其各自的私钥再次创建新的公钥,即第一状态机模块生成第三公钥,RS485网关生成第四公钥,第三公钥与第四公钥是非对称密钥,通过ECDH算法可以从第三公钥与第四公钥中计算出相同的数据信息;之后,子设备根据第三公钥,RS485网关根据第四公钥,两者均通过MD5算法,生成密钥PK。MD5算法,即信息摘要算法(MD5 Message-Digest Algorithm),是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。在本申请实施例中,由于第三公钥和第四公钥包含相同的数据信息,因此子设备与RS485网关通过MD5算法生成的第一密钥PK、第二密钥PK是相同的。
第二状态机模块用于根据密钥PK,通过HMAC-MD5算法生成签名数据,并通过TEA加密算法将所述签名数据进行加密后,生成加密签名数据并发送至RS485网关。
RS485网关用于对加密签名数据进行解密,并根据密钥PK对解密后的签名数据进行验证,确认验证通过后,发送注册网关授权码和租期PD码至第二状态机模块并与子设备以TEA加密的方式进行数据通信。
第二状态机模块用于接收所述网关返回的注册网关授权码和租期PD码并与RS485网关以TEA加密的方式进行数据通信。
HMACMD5是从MD5哈希函数构造的一种键控哈希算法,被用作基于哈希的消息验证代码(HMAC)。在发送方和接收方共享机密密钥的前提下,HMAC可用于确定通过不安全信道发送的消息是否已被篡改。发送方计算原始数据的哈希值,并将原始数据和哈希值放在一个消息中同时传送。接收方重新计算所接收消息的哈希值,并检查计算所得的HMAC是否与传送的HMAC匹配。因为更改消息和重新生成正确的哈希值需要密钥,所以对数据或哈希值的任何更改都会导致不匹配。因此,如果原始的哈希值与计算得出的哈希值相匹配,则消息通过身份验证。
基于上述函数计算原理,本申请实施例中,第二状态机模块根据第三公钥,通过HMAC-MD5算法生成签名数据,并通过TEA加密算法对所述签名数据进行加密。TEA加密算法是一种分组密码算法,利用不断增加的Delta(黄金分割率)值作为变化,使得每轮的加密不同,因而具有很强的抗差分分析能力,加密速度较多,而且对64位数据加密的密钥长达128位,具备良好的安全性。
RS485网关对加密签名数据进行解密后,通过密钥PK对解密后的签名数据进行验证,确认验证通过后,发送注册网关授权码和租期PD码至第二状态机模块。此时RS485网关与子设备以TEA加密的方式进行数据通信,即建立安全连接。
在一个优选的实施例中,子设备还包括第三状态机模块;第三状态机模块与第一状态机模块和第二状态机模块信号连接;第二状态机模块用于发送所述注册网关授权码、租期PD码及密钥PK至所述第三状态机模块;第三状态机模块用于根据注册网关授权码、租期PD码及密钥PK,通过HMAC-MD5算法生成授权码,并发送心跳数据至RS485网关,心跳数据包括所述授权码;RS485网关用于根据授权码中的租期PD码进行有效期验证,若确认租期已经过期,则生成租期过期信息并发送至第三状态机模块;第三状态机模块接收租期过期信息,并发送执行指令至第一状态机模块。
在RS485网关与子设备建立安全连接后,还需保持子设备租期的有效性。在本申请实施例中,子设备的第三状态机模块在子设备与RS485网关以TEA加密的方式保持数据通信的同时,定时60s发送心跳数据,心跳数据包括根据注册网关授权码、租期PD码及密钥PK并通过HMAC-MD5算法生成授权码。RS485网关可以根据授权码中的租期PD码信息,验证该子设备的租期是否过期,若仍在有效期,则保持连接;若超出有效期,则断开连接,需子设备重复执行请求接入RS485网关的操作。
在一个优选的例子中,子设备还包括初始化模块;初始化模块与第一状态机模块相连接;初始化模块用于获取所述子设备的上电状态并初始化子设备系统参数,同时开启定时器并设置定时器中断,并初始化串口引脚,在开启串口中断后,发送请求接入所述RS485网关指令至第一状态机模块。
本申请实施例还提供了一种基于RS485总线的安全通信方法,应用于包括子设备和RS485网关在内的通信系统中的子设备,如图所示,包括如下方法步骤:
S201:生成请求接入RS485网关指令;
S202:通过椭圆曲线算法随机生成第一密钥对,第一密钥对包括第一公钥,并发送第一公钥至RS485网关;
S203:接收RS485网关返回的第二公钥,第二公钥通过RS485网关通过椭圆曲线算法随机生成的第二密钥对获取;
S204:根据第一密钥对和第二公钥,通过椭圆曲线算法生成第三公钥;
S205:根据第三公钥,通过MD5算法生成第一密钥PK;
S206:根据第三公钥,通过HMAC-MD5算法生成签名数据;
S207:通过TEA加密算法将签名数据进行加密,生成加密签名数据并发送至RS485网关;
S208:接收网关返回的注册网关授权码和租期PD码并与RS485网关以TEA加密的方式进行数据通信,注册网关授权码和租期PD码通过RS485网关对加密签名数据解密并验证通过获取。
在一个优选的实施例中,在步骤S208,与所述RS485网关以TEA加密的方式进行数据通信后,还包括如下步骤:
根据注册网关授权码、租期PD码及第一密钥PK,通过HMAC-MD5算法生成授权码;
发送心跳数据至所述RS485网关,所述心跳数据包括所述授权码;
接收所述RS485网关返回的租期过期信息,所述租期过期信息通过所述RS485网关对所述授权码中的所述租期PD码验证获取;
重复执行生成请求接入所述RS485网关指令。
在一个优选的实施例中,在步骤S201,生成请求接入所述RS485网关指令前,还包括如下步骤:
获取子设备的上电状态并初始化子设备系统参数;
开启定时器并设置定时器中断;
初始化串口引脚并开启串口中断。
本申请实施例还提供了一种基于RS485总线的安全通信方法,应用于包括子设备和RS485网关在内的通信系统中的RS485网关,如图3所示,包括如下方法步骤:
S301:接收第一公钥,第一公钥通过子设备根据椭圆曲线算法随机生成第一密钥对获取;
S302:通过椭圆曲线算法随机生成第二密钥对,第二密钥对包括第二公钥,并发送第二公钥至子设备;
S303:根据第二密钥对和第一公钥,通过椭圆曲线算法生成第四公钥;
S304:根据第四公钥,通过MD5算法生成第二密钥PK;
S305:接收子设备发送的加密签名数据并对加密签名数据进行解密,获取注册网关授权码和租期PD码,注册网关授权码和租期PD码为根据第二密钥PK对解密后的签名数据验证通过获取;
S306:发送注册网关授权码和租期PD码至子设备并与子设备以TEA加密的方式进行数据通信。
在一个优选的实施例中,在步骤S306,与子设备以TEA加密的方式进行数据通信后,还包括如下方法步骤:
接收所述子设备发送的心跳数据,所述心跳数据包括所述子设备根据所述注册网关授权码、所述租期PD码及第一密钥PK,通过HMAC-MD5算法生成的授权码;
对所述授权码中的所述租期PD码进行有效期验证;
若所述租期PD码尚在有效期,则保持与所述子设备以TEA加密的方式进行数据通信;
若所述租期PD码超出有效期,则断开连接并向所述子设备发送租期过期信息。
本申请实施例通过子设备与RS485网关各自随机生成密钥对并交换其中的公钥,在通过交换后的公钥与各自保留的私钥生成携带共同数据信息的公钥,将该公钥通过MD5算法再次加密生成密钥PK,之后子设备将密钥PK以加密签名数据的方式发送至RS485网关,RS485网关解密后通过密钥PK对所述签名数据进行验证,验证通过后,返回注册网关授权码和租期PD码至子设备,自此实现子设备与RS485网关进行安全通信。本申请实施例在实际应用中,即便截获子设备与RS485网关交换的信息数据,即公钥,但是无法在不知道子设备与RS485网关各自私钥的情况下生成两者间共享的数据信息,因此实现了RS485总线中设备与网关间的通信安全,且安全性能极高,避免了重要数据信息泄露的风险。
如图4所示,图4是本申请实施例根据一示例性实施例示出的一种电子设备的结构框图。
所述电子设备包括处理器910和存储器920。该主控芯片中处理器910的数量可以是一个或者多个,图4中以一个处理器910为例。该主控芯片中存储器920的数量可以是一个或者多个,图4中以一个存储器920为例。
存储器920作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例任意实施例所述的一种基于RS485总线的安全通信方法程序,以及本申请实施例任意实施例所述的一种基于RS485总线的安全通信方法对应的程序指令/模块。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器920可进一步包括相对于处理器910远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器910通过运行存储在存储器920中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述任一实施例所记载的一种终端屏幕扩展方法。
本申请实施例还提供了一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现上述任意一个实施例所述的一种基于RS485总线的安全通信方法。
本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可读储存介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其它数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其它内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其它光学存储、磁盒式磁带,磁带磁磁盘存储或其它磁性存储设备或任何其它非传输介质,可用于存储可以被计算设备访问的信息。
应当理解的是,本申请实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请实施例的范围仅由所附的权利要求来限制。
以上所述实施例仅表达了本申请实施例的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请实施例构思的前提下,还可以做出若干变形和改进,这些都属于本申请实施例的保护范围。

Claims (10)

1.一种基于RS485总线的安全通信系统,其特征在于:
包括子设备和RS485网关;所述子设备通过RS485总线与所述RS485网关信号连接,所述子设备用于在上电后生成请求接入所述RS485网关指令;
所述子设备包括第一状态机模块和第二状态机模块;所述第一状态机模块与所述第二状态机模块信号连接;
所述第一状态机模块用于接收所述请求接入所述RS485网关指令,并通过椭圆曲线算法随机生成第一密钥对,所述第一密钥对包括第一公钥,所述第一状态机模块用于发送所述第一公钥至所述RS485网关;
所述RS485网关用于通过椭圆曲线算法随机生成第二密钥对,所述第二密钥对包括第二公钥,所述RS485网关用于发送所述第二公钥至所述第一状态机模块;
所述第一状态机模块还用于根据所述第一密钥对和所述第二公钥,通过椭圆曲线算法生成第三公钥,并根据所述第三公钥,通过MD5算法生成第一密钥PK,所述第一状态机模块还用于发送所述第一密钥PK至所述第二状态机模块;
所述RS485网关还用于根据所述第二密钥对和所述第一公钥,通过椭圆曲线算法生成第四公钥,并根据所述第四公钥,通过MD5算法生成第二密钥PK;
所述第二状态机模块用于根据所述第一密钥PK,通过HMAC-MD5算法生成签名数据,并通过TEA加密算法将所述签名数据进行加密后,生成加密签名数据并发送至所述RS485网关;
所述RS485网关用于对所述加密签名数据进行解密,并根据所述第二密钥PK对所述解密后的签名数据进行验证,确认验证通过后,发送所述注册网关授权码和租期PD码至所述第二状态机模块并与所述子设备以TEA加密的方式进行数据通信;
所述第二状态机模块用于接收所述RS485网关返回的注册网关授权码和租期PD码并与所述RS485网关以TEA加密的方式进行数据通信。
2.根据权利要求1所述的一种基于RS485总线的安全通信系统,其特征在于:
所述子设备还包括第三状态机模块;所述第三状态机模块与所述第一状态机模块和所述第二状态机模块信号连接;
所述第二状态机模块用于发送所述注册网关授权码、所述租期PD码及所述第一密钥PK至所述第三状态机模块;
所述第三状态机模块用于根据所述注册网关授权码、所述租期PD码及所述第一密钥PK,通过HMAC-MD5算法生成授权码,并发送心跳数据至所述RS485网关,所述心跳数据包括所述授权码;
所述RS485网关用于根据所述授权码中的所述租期PD码进行有效期验证,若确认所述租期已经过期,则生成租期过期信息并发送至所述第三状态机模块;
所述第三状态机模块接收所述租期过期信息,并发送所述请求接入所述RS485网关指令至所述第一状态机模块。
3.根据权利要求1所述的一种基于RS485总线的安全通信系统,其特征在于:
所述子设备还包括初始化模块;所述初始化模块与所述第一状态机模块相连接;
所述初始化模块用于获取所述子设备的上电状态并初始化所述子设备系统参数,同时开启定时器并设置定时器中断,并初始化串口引脚,在开启串口中断后,发送所述请求接入所述RS485网关指令至所述第一状态机模块。
4.一种基于RS485总线的安全通信方法,应用于包括子设备和RS485网关在内的通信系统中的子设备,其特征在于,包括如下方法步骤:
生成请求接入所述RS485网关指令;
通过椭圆曲线算法随机生成第一密钥对,所述第一密钥对包括第一公钥,并发送所述第一公钥至所述RS485网关;
接收所述RS485网关返回的第二公钥,所述第二公钥通过所述RS485网关通过椭圆曲线算法随机生成的第二密钥对获取;
根据所述第一密钥对和所述第二公钥,通过椭圆曲线算法生成第三公钥;
根据所述第三公钥,通过MD5算法生成第一密钥PK;
根据所述第一密钥PK,通过HMAC-MD5算法生成签名数据;
通过TEA加密算法将所述签名数据进行加密,生成加密签名数据并发送至所述RS485网关;
接收所述网关返回的注册网关授权码和租期PD码并与所述RS485网关以TEA加密的方式进行数据通信,所述注册网关授权码和所述租期PD码通过所述RS485网关对所述加密签名数据解密并验证通过获取。
5.根据权利要求4所述的一种基于RS485总线的安全通信方法,其特征在于,与所述RS485网关以TEA加密的方式进行数据通信后,还包括如下步骤:
根据所述注册网关授权码、所述租期PD码及所述第一密钥PK,通过HMAC-MD5算法生成授权码;
发送心跳数据至所述RS485网关,所述心跳数据包括所述授权码;
接收所述RS485网关返回的租期过期信息,所述租期过期信息通过所述RS485网关对所述授权码中的所述租期PD码验证获取;
重复执行生成请求接入所述RS485网关指令。
6.根据权利要求4所述的一种基于RS485总线的安全通信系统,其特征在于,在生成请求接入所述RS485网关指令前,还包括如下方法步骤:
获取所述子设备的上电状态并初始化所述子设备系统参数;
开启定时器并设置定时器中断;
初始化串口引脚并开启串口中断。
7.一种基于RS485总线的安全通信方法,应用于包括子设备和RS485网关在内的通信系统中的RS485网关,其特征在于,包括如下方法步骤:
接收第一公钥,所述第一公钥通过子设备根据椭圆曲线算法随机生成第一密钥对获取;
通过椭圆曲线算法随机生成第二密钥对,所述第二密钥对包括第二公钥,并发送所述第二公钥至所述子设备;
根据所述第二密钥对和所述第一公钥,通过椭圆曲线算法生成第四公钥;
根据所述第四公钥,通过MD5算法生成第二密钥PK;
接收所述子设备发送的加密签名数据并对所述加密签名数据进行解密,获取所述注册网关授权码和所述租期PD码,所述注册网关授权码和所述租期PD码为根据所述第二密钥PK对所述解密后的签名数据验证通过获取;
发送所述注册网关授权码和所述租期PD码至所述子设备并与所述子设备以TEA加密的方式进行数据通信。
8.根据权利要求7所述的一种基于RS485总线的安全通信方法,其特征在于,与所述子设备以TEA加密的方式进行数据通信后,还包括如下步骤:
接收所述子设备发送的心跳数据,所述心跳数据包括所述子设备根据所述注册网关授权码、所述租期PD码及第一密钥PK,通过HMAC-MD5算法生成的授权码;
对所述授权码中的所述租期PD码进行有效期验证;
若所述租期PD码尚在有效期,则保持与所述子设备以TEA加密的方式进行数据通信;
若所述租期PD码超出有效期,则断开连接并向所述子设备发送租期过期信息。
9.一种电子设备,其特征在于,包括:
至少一个存储器以及至少一个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求4至8任一项所述的一种基于RS485总线的安全通信方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求4至8任一项所述的一种基于RS485总线的安全通信方法的步骤。
CN202210793487.8A 2022-07-07 2022-07-07 一种基于rs485总线的安全通信系统及其方法 Active CN115242468B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210793487.8A CN115242468B (zh) 2022-07-07 2022-07-07 一种基于rs485总线的安全通信系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210793487.8A CN115242468B (zh) 2022-07-07 2022-07-07 一种基于rs485总线的安全通信系统及其方法

Publications (2)

Publication Number Publication Date
CN115242468A true CN115242468A (zh) 2022-10-25
CN115242468B CN115242468B (zh) 2023-05-26

Family

ID=83671164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210793487.8A Active CN115242468B (zh) 2022-07-07 2022-07-07 一种基于rs485总线的安全通信系统及其方法

Country Status (1)

Country Link
CN (1) CN115242468B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784322A (zh) * 2019-11-08 2020-02-11 北京金茂绿建科技有限公司 一种网关设备与云平台连接的方法、系统、设备及介质
CN110808991A (zh) * 2019-11-08 2020-02-18 北京金茂绿建科技有限公司 一种安全通信连接的方法、系统、电子设备及存储介质
US10630682B1 (en) * 2016-11-23 2020-04-21 Amazon Technologies, Inc. Lightweight authentication protocol using device tokens
WO2020163210A1 (en) * 2019-02-05 2020-08-13 Ethopass, Llc Security system and related methods
CN111556064A (zh) * 2020-05-06 2020-08-18 广东纬德信息科技股份有限公司 基于电力网关的密钥管理方法、装置、介质及终端设备
CN111835752A (zh) * 2020-07-09 2020-10-27 国网山西省电力公司信息通信分公司 基于设备身份标识的轻量级认证方法及网关
CA3141024A1 (en) * 2019-07-12 2021-01-21 Joshua Vedell Data protection and recovery systems and methods
US20210083853A1 (en) * 2018-04-11 2021-03-18 Nippon Telegraph And Telephone Corporation Key distribution system, terminal device, key distribution method, and program
CN113300836A (zh) * 2021-04-23 2021-08-24 暨南大学 一种基于区块链和ecc的车载网络报文认证方法及系统
US20210359842A1 (en) * 2020-05-13 2021-11-18 Apple Inc. Guaranteed encryptor authenticity
CN113704736A (zh) * 2021-07-22 2021-11-26 中国电力科学研究院有限公司 基于ibc体系的电力物联网设备轻量级接入认证方法及系统
KR20210151016A (ko) * 2020-11-30 2021-12-13 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 비밀키 보호 처리 방법, 장치, 기기 및 저장매체
WO2022042179A1 (zh) * 2020-08-31 2022-03-03 Oppo广东移动通信有限公司 一种网络连接方法及终端、待配网设备、存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10630682B1 (en) * 2016-11-23 2020-04-21 Amazon Technologies, Inc. Lightweight authentication protocol using device tokens
US20210083853A1 (en) * 2018-04-11 2021-03-18 Nippon Telegraph And Telephone Corporation Key distribution system, terminal device, key distribution method, and program
WO2020163210A1 (en) * 2019-02-05 2020-08-13 Ethopass, Llc Security system and related methods
CA3141024A1 (en) * 2019-07-12 2021-01-21 Joshua Vedell Data protection and recovery systems and methods
CN110784322A (zh) * 2019-11-08 2020-02-11 北京金茂绿建科技有限公司 一种网关设备与云平台连接的方法、系统、设备及介质
CN110808991A (zh) * 2019-11-08 2020-02-18 北京金茂绿建科技有限公司 一种安全通信连接的方法、系统、电子设备及存储介质
CN111556064A (zh) * 2020-05-06 2020-08-18 广东纬德信息科技股份有限公司 基于电力网关的密钥管理方法、装置、介质及终端设备
US20210359842A1 (en) * 2020-05-13 2021-11-18 Apple Inc. Guaranteed encryptor authenticity
CN111835752A (zh) * 2020-07-09 2020-10-27 国网山西省电力公司信息通信分公司 基于设备身份标识的轻量级认证方法及网关
WO2022042179A1 (zh) * 2020-08-31 2022-03-03 Oppo广东移动通信有限公司 一种网络连接方法及终端、待配网设备、存储介质
KR20210151016A (ko) * 2020-11-30 2021-12-13 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 비밀키 보호 처리 방법, 장치, 기기 및 저장매체
CN113300836A (zh) * 2021-04-23 2021-08-24 暨南大学 一种基于区块链和ecc的车载网络报文认证方法及系统
CN113704736A (zh) * 2021-07-22 2021-11-26 中国电力科学研究院有限公司 基于ibc体系的电力物联网设备轻量级接入认证方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DAHAI DU;QIAO LI;ZHENG LI;HONG FAN;CHENGYUAN LI;HUA SHAO: "A key agreement scheme for avionics communications security", 《 2012 IEEE/AIAA 31ST DIGITAL AVIONICS SYSTEMS CONFERENCE (DASC)》 *
宋涛;李秀华;李辉;文俊浩;熊庆宇: "大数据时代下车联网安全加密认证技术研究综述", 《计算机科学》 *

Also Published As

Publication number Publication date
CN115242468B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
CN109347835B (zh) 信息传输方法、客户端、服务器以及计算机可读存储介质
WO2019174187A1 (zh) 基于区块链的多端间消息通信的方法、终端及存储介质
CN109510708B (zh) 一种基于Intel SGX机制的公钥密码计算方法和系统
CN101321165B (zh) 嵌入式系统中许可的认证
US8484486B2 (en) Integrated cryptographic security module for a network node
CA2865835C (en) System and method for connecting client devices to a network
WO2016176424A1 (en) System, method, and apparatus for secure identity authentication
CN105471901A (zh) 一种工业信息安全认证系统
CN113079132A (zh) 海量物联网设备认证方法、存储介质、信息数据处理终端
CN111884814B (zh) 一种用于智能终端防伪造的方法和系统
US20060053288A1 (en) Interface method and device for the on-line exchange of content data in a secure manner
CN116132043B (zh) 会话密钥协商方法、装置及设备
US11240661B2 (en) Secure simultaneous authentication of equals anti-clogging mechanism
CN111092860A (zh) 一种医疗数据安全交互传输模块
CN113242214B (zh) 一种电力二次设备板卡间加密认证装置、系统及方法
CN115242468B (zh) 一种基于rs485总线的安全通信系统及其方法
CN112995140B (zh) 安全管理系统及方法
CN106330877B (zh) 一种授权对终端状态进行转换的方法和系统
Dee et al. Message integrity and authenticity in secure CAN
CN114117471A (zh) 机密数据管理方法、电子设备、存储介质及程序产品
CN113111371A (zh) 一种基于区块链的数据传输方法及其系统
Lawson et al. Effectiveness of the NIZKP protocol for authentication in IoT environment
Gupta et al. Security mechanisms of Internet of things (IoT) for reliable communication: a comparative review
Yang et al. Authentication technology in industrial control system based on identity password
US20240048559A1 (en) Rendering endpoint connection without authentication dark on network

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