CN113949561B - 一种安全控制器的站间安全通信方法、装置及介质 - Google Patents

一种安全控制器的站间安全通信方法、装置及介质 Download PDF

Info

Publication number
CN113949561B
CN113949561B CN202111203035.1A CN202111203035A CN113949561B CN 113949561 B CN113949561 B CN 113949561B CN 202111203035 A CN202111203035 A CN 202111203035A CN 113949561 B CN113949561 B CN 113949561B
Authority
CN
China
Prior art keywords
communication data
current communication
crc checksum
serial number
destination address
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
CN202111203035.1A
Other languages
English (en)
Other versions
CN113949561A (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.)
Hangzhou Hollysys Automation Co Ltd
Original Assignee
Hangzhou Hollysys Automation 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 Hangzhou Hollysys Automation Co Ltd filed Critical Hangzhou Hollysys Automation Co Ltd
Priority to CN202111203035.1A priority Critical patent/CN113949561B/zh
Publication of CN113949561A publication Critical patent/CN113949561A/zh
Application granted granted Critical
Publication of CN113949561B publication Critical patent/CN113949561B/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
    • 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
    • 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/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • H04L63/126Applying verification of the received information the source of the received data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种安全控制器的站间安全通信方法、装置及介质,涉及工业控制领域。该方法应用于发送方,首先获取源地址/目的地址、序列号以及当前通信数据;然后将源地址/目的地址、序列号、当前通信数据进行CRC计算并获取CRC校验和;最后将CRC校验和以及当前通信数据通过目标密钥加密并传输至接收方以便于接收方依据CRC校验和、当前通信数据、预先获取的源地址/目的地址以及序列号进行功能安全诊断。该方法中由于通信双方是已知源地址/目的地址、序列号的,因此在通信链路上只传输CRC校验和以及当前通信数据,解决了在传输过程中网络威胁方对源地址/目的地址、序列号的窃取模仿,最终提高了安全控制器的站间通信的安全性。

Description

一种安全控制器的站间安全通信方法、装置及介质
技术领域
本申请涉及工业控制领域,特别是涉及一种安全控制器的站间安全通信方法、装置及介质。
背景技术
随着工业互联网的不断发展,对流程工业控制系统的需求为智能化、灵活可配,因此带来的问题是工业控制系统的封闭性在逐步被打破。同时流程工业控制系统为了保证多域多工段全局协同的大规模应用,需要不同控制站之间进行通信,对多域多工段工艺过程实时数据进行通信,以完成多工段生产过程联动。如何保证工业互联网架构下多控制站之间通信的信息安全性是必须要考虑的问题。对于安全控制器来说,其多控制站之间的通信既要满足信息安全要求,也要满足功能安全的要求,即要实现信息安全和功能安全的“双安融合”。
安全控制器的站间通信协议采用“显式+固定”防护措施通信协议,机制的实现方法如下:通信协议功能安全设计诊断措施为源地址(Source Address,SA)、目的地址(Destination Address,DA)、序列号和循环冗余校验码(Cyclic Redundancy Check,CRC),信息安全设计诊断措施为数据加解密;通信协议功能安全设计的诊断措施为显式方式,即源地址/目的地址、序列号为通信数据帧中的固定格式,CRC校验和覆盖数据帧中的源地址/目的地址、序列号和通信数据,数据帧在传输过程中包含源地址/目的地址、序列号、当前通信数据和当前CRC校验和。通信接收方先对收到的数据帧中依据收到的CRC校验和进行校验,校验通过后从通信数据帧中特定位置取出源地址/目的地址、序列号,然后进行对应的功能安全诊断;通信协议信息安全设计的诊断措施为固定密钥,即从通信协议设计完成后,通信数据的加解密采用的固定的一个密钥,通信发送方根据固定密钥对通信数据进行通信加密,通过接收方根据通信密钥进行解密的出通信数据。
现有的安全控制器的站间安全通信过程中包含容易被网络威胁方窃取模仿的源地址/目的地址、序列号,因此大大降低安全控制器的站间通信的安全性。
由此可见,如何提高安全控制器的站间通信的安全性,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种安全控制器的站间安全通信方法、装置及介质,用于提高安全控制器的站间通信的安全性。
为解决上述技术问题,本申请提供一种安全控制器的站间安全通信方法,应用于发送方,包括:
获取源地址/目的地址、序列号以及当前通信数据;
将所述源地址/目的地址、所述序列号、所述当前通信数据进行CRC计算并获取CRC校验和;
将所述CRC校验和以及所述当前通信数据通过目标密钥加密并传输至接收方以便于所述接收方依据所述CRC校验和、所述当前通信数据、预先获取的所述源地址/目的地址以及所述序列号进行功能安全诊断。
优选地,所述目标密钥为从多个密钥中选取的一个目标密钥。
为解决上述技术问题,本申请还提供一种安全控制器的站间安全通信方法,应用于接收方,包括:
预先存储源地址/目的地址以及序列号;
获取所述发送方发送的通过目标密钥加密后的CRC校验和以及当前通信数据;
获取通过所述目标密钥解密所述加密后的CRC校验和以及当前通信数据,以便于根据所述源地址/目的地址、所述序列号、所述CRC校验和以及所述当前通信数据进行功能诊断。
优选地,在所述获取通过所述目标密钥解密所述加密后的CRC校验和以及当前通信数据之后,还包括:
将所述源地址/目的地址、所述序列号、所述CRC校验和以及所述当前通信数据进行CRC校验;
根据所述CRC校验结果判断所述源地址/目的地址、所述序列号、所述CRC校验和以及所述当前通信数据是否正确;
若所述CRC校验通过,则所述源地址/目的地址、所述序列号、所述CRC校验和以及所述当前通信数据正确,并接收所述当前通信数据。
优选地,通过所述目标密钥解密加密后的所述CRC校验和以及所述当前通信数据包括:
判断通过所述目标密钥是否成功解密加密后的所述CRC校验和以及所述当前通信数据;
若通过所述目标密钥成功解密加密后的所述CRC校验和以及所述当前通信数据,则进入所述将所述源地址/目的地址、所述序列号、所述CRC校验和以及所述当前通信数据进行CRC校验的步骤;
若通过所述目标密钥未成功解密加密后的所述CRC校验和以及所述当前通信数据,则将加密后的所述CRC校验和以及所述当前通信数据丢弃,并重新进入所述预先存储发源地址/目的地址以及序列号的步骤。
优选地,所述根据所述CRC校验结果判断所述源地址/目的地址、所述序列号、所述CRC校验和以及所述当前通信数据是否正确包括:
若所述CRC校验结果不通过,则将所述源地址/目的地址、所述序列号、所述CRC校验和以及所述当前通信数据丢弃,并重新进入所述预先存储源地址/目的地址以及序列号的步骤。
优选地,所述目标密钥为从多个密钥中选取的一个目标密钥。
为解决上述技术问题,本申请还提供一种安全控制器的站间安全通信装置,应用于接收方,包括:
存储模块,用于预先存储源地址/目的地址以及序列号;
第一获取模块,用于获取所述发送方发送的通过目标密钥加密后的CRC校验和以及当前通信数据;
第二获取模块,用于获取通过所述目标密钥解密所述加密后的CRC校验和以及当前通信数据,以便于根据所述源地址/目的地址、所述序列号、所述CRC校验和以及所述当前通信数据进行功能诊断。
为解决上述技术问题,本申请还提供一种安全控制器的站间安全通信装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的安全控制器的站间安全通信方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的安全控制器的站间安全通信方法的步骤。
本申请所提供的安全控制器的站间安全通信方法,应用于发送方,首先获取源地址/目的地址、序列号以及当前通信数据;然后将源地址/目的地址、序列号、当前通信数据进行CRC计算并获取CRC校验和;最后将CRC校验和以及当前通信数据通过目标密钥加密并传输至接收方以便于接收方依据CRC校验和、当前通信数据、预先获取的源地址/目的地址以及序列号进行功能安全诊断。该方法中由于通信双方是已知源地址/目的地址、序列号的,因此在通信链路上只传输CRC校验和以及当前通信数据,解决了在传输过程中网络威胁方对源地址/目的地址、序列号的窃取模仿,最终提高了安全控制器的站间通信的安全性。
另外,本申请所提供的安全控制器的站间安全通信方法,应用于接收方,该方法首次预先存储源地址/目的地址以及序列号,然后获取发送方发送的通过目标密钥加密后的CRC校验和以及当前通信数据,最后获取通过目标密钥解密加密后的CRC校验和以及当前通信数据,以便于根据源地址/目的地址、序列号、CRC校验和、以及当前通信数据进行功能诊断。该方法具有上述提到的应用于发送方的安全控制器的站间安全通信方法相同的有益效果。
此外,本申请还提供了一种应用于接收方的安全控制器的站间安全通信装置、一种安全控制器的站间安全通信装置以及计算机可读存储介质,具有上述提到的安全控制器的站间安全通信方法相同的有益效果。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本实施例提供的一种应用于发送方的安全控制器的站间安全通信方法的流程图;
图2为本实施例提供的一种应用于接收方的安全控制器的站间安全通信方法的流程图;
图3为本申请的一实施例提供的应用于发送方的安全控制器的站间安全通信装置的结构图;
图4为本申请的一实施例提供的应用于接收方的安全控制器的站间安全通信装置的结构图;
图5为本申请一实施例提供的安全控制器的站间安全通信装置的结构图;
图6为本申请实施例提供的发送方和接收方的应用场景示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种安全控制器的站间安全通信方法、装置及介质,用于提高安全控制器的站间通信的安全性。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
需要说明的是,安全控制器现有站间通信协议,主要基于工控系统封闭网络环境的前提下进行的设计,未考虑专业网络威胁个体从站间通信“黑通道”链路上进行的攻击(窃取→分析→篡改→伪装)。现有的设计可以防护简单的设备伪装接入,对于大规模、高性能计算的网络威胁防护能力不足;网络威胁方通过识别源地址/目的地址、序列号等,就可以完成站间通信的攻击行为。
图1为本实施例提供的一种应用于发送方的安全控制器的站间安全通信方法的流程图,该方法包括:
S10:获取源地址/目的地址、序列号以及当前通信数据。
为了保证一定的硬件失效或者外部干扰下的安全性,安全控制器站间通信协议的安全性设计需要采用源地址/目的地址、序列号等。源地址为发送数据的控制器的地址,目的地址为接收数据的控制器的地址。需要说明的是,本实施例的控制器站间通信不仅仅局限于两个控制器站间通信,可以为多个控制器站间通信,当两个控制器进行站间通信时,一个控制器用来发送数据,另一个控制器用来接收数据,此时发送数据的控制器的地址为源地址,接收员数据的控制器的地址为目的地址;当多个控制器进行站间通信时,控制器两两之间进行通信,如3个控制器进行站间通信时,第一个控制器可以作为发送方将数据发送至作为接收方的第二个控制器,此时第一个控制器的地址为源地址,第二个控制器的地址为目的地址,然后第二个控制器作为发送方将数据发送至作为接收方的第三个控制器,此时,第二个控制器的地址为源地址,第三个控制器的地址为目的地址。对于通信的双方,周期通信的源地址和目的地址是确定的,通信双方已知周期通信源地址/目的地址。源地址/目的地址的位数都是确定的,均占用8个比特位。
序列号的机制是通信双方根据一定规则循环累加产生的,周期通信序列号是在上一次通信的序列号基础上累加得到,因此对于周期通讯的序列号是确定的,通信双方已知周期通讯序列号。序列号的位数也是确定的,占用8个比特位,如通信双方是第一次进行通信,则序列号是1,即二进制数表示为00000001,当下一次进行通信时,序列号累加为2,即二进制表示序列号为00000010,直到进行255次通信时,序列号累加为255,即二进制表示序列号为11111111。当再次进行通信时,序列号可以重新从1开始计数。
对于获取当前通信数据时,将文本信息等通过数据处理模块转化为当前通信数据,然后开始传输当前数据。由于控制器只能识别二进制的数,因此当前数据在控制器以及传输过程中以二进制的形式体现。
源地址/目的地址、序列号为通信数据帧中的固定格式,在获取到源地址/目的地址、序列号以及当前通信数据之后,将数据帧按固定格式排列,从高位到低位依次为代表源地址的8个比特位、代表目的地址的8个比特位、代表序列号的8个比特位,然后是代表当前数据的比特位,从而方便接收方从特定位置取出当前通信数据。
S11:将源地址/目的地址、序列号、当前通信数据进行CRC计算并获取CRC校验和。
在数据传输的过程中,可能会出现网络威胁方从站间通信“黑通道”链路上进行的攻击,通过识别源地址/目的地址、序列号等,就可以完成站间通信的攻击行为。在数据传输过程中,通常需要对数据进行校对,最常见的是CRC校验功能,可以保证在通信传输过程中数据的准确性,判断数据有无丢失。CRC的计算标准以及方法是非常严格的,传输数据只要被改动一个字节,甚至只是大小写的改动,整个CRC的计算结果就会跟原来的不同,就会导致数据传输、接收的错误,因此为了检验数据是否出错,将源地址/目的地址、序列号、当前通信数据进行CRC计算并获取CRC校验和。
CRC校验码由信息码n位和校验码k位构成。k位校验位拼接在n位数据位后面,n+k为循环冗余校验码的字长,又称这个校验码(n+k,n)码。n位信息位可以表示成为一个报文多项式M(x),最高幂次是xn-1。当进行CRC检验时,发送方和接受方事先约定一个除数,即生成多项式G(x),约定的生成多项式G(x)是一个k+1位的二进制数,最高幂次是xk。将M(x)的比特序列乘以xk,即左移k位后,除以G(x),得到的k位余数就是校验码。
如校验数据M(x)=1000,生成多项式为G(x)=x3+x+1,此生成多项式对应的二进制数为1011,由CRC规则得到校验码为3位,因此可以在M(x)的比特位序列后预加3位得到1000000,此时用1000000除以1011(模2除法)得到的余数101即为CRC校验和。
S12:将CRC校验和以及当前通信数据通过目标密钥加密并传输至接收方以便于接收方依据CRC校验和、当前通信数据、预先获取的源地址/目的地址以及序列号进行功能安全诊断。
由于CRC校验是先在要发送的帧后面附加一个数(这个就是用来校验的校验码,是二进制序列的),生成一个新帧发送给接收发。当然,这个附加的数不是随意的,它要使所生成的新帧能与发送方和接收方共同选定的某个特定数整除(模2除法)。到达接收方后,再把接收到的新帧除以(同样采用模2除法)这个选定的除数。因为在发送方发送数据帧之前就已通过附加一个数,做了“去余”处理(也就已经能整除了),所以结果应该是没有余数。如果有余数,则表明该帧在传输过程中出现了差错。在上述步骤中得到了CRC校验和,将CRC校验和以及当前通信数据帧发送至接收方,接收方已知源地址/目的地址、并且接收方通过内部的计数器在上一次通信的序列号基础上累加得到周期通信的序列号,接收方依据CRC校验和、当前通信数据、预先获取的源地址/目的地址以及序列号进行功能安全诊断。
需要说明的是,在数据传输过程中,为了保证通信数据的安全性,需要将通信数据采用密钥进行加密,然后再将加密后的数据传输至接收方,接收方采用同一个密钥对发送方发送的数据进行解密。在本实施例中,发送方将CRC校验和以及当前通信数据通过密钥加密传输给发送方,接受方采用同一个密钥对发送方发送的加密的CRC校验和以及当前通信数据进行解密,从而获得解密后的CRC校验和以及当前通信数据。密钥的二进制位数通常为16位或32位,密钥的个数不作限定,可以为一个或者多个,但是在传输同一组数据的过程中,接收方要与发送方采用同一个密钥,否则会导致接收方不能成功解密加密后的数据,影响安全控制器的站间通信。
本实施例所提供的安全控制器的站间安全通信方法,应用于发送方,首先获取源地址/目的地址、序列号以及当前通信数据;然后将源地址/目的地址、序列号、当前通信数据进行CRC计算并获取CRC校验和;最后将CRC校验和以及当前通信数据通过目标密钥加密并传输至接收方以便于接收方依据CRC校验和、当前通信数据、预先获取的源地址/目的地址以及序列号进行功能安全诊断。该方法中由于通信双方是已知源地址/目的地址、序列号的,因此在通信链路上只传输CRC校验和以及当前通信数据,解决了在传输过程中网络威胁方对源地址/目的地址、序列号的窃取模仿,最终提高了安全控制器的站间通信的安全性。
上述实施例中密钥的个数不作限定,可以为一个,也可以为多个,但是在通信过程中,存在网络威胁方通过识别站间通信密钥来对站间通信进行攻击的情况,此时,若只采用固定的一个密钥,一旦网络威胁方破解了该密钥,甚至对该密钥进行篡改,将会导致通信信息被网络威胁方窃取,甚至会由于密钥被篡改,导致发送方与接收方之间不能进行正常通信。因此,作为优选地实施方式,目标密钥为从多个密钥中选取的一个目标密钥。
安全控制器站间通信的信息安全防护都是通过数据帧的加解密实现。在发送方与接收方在通信过程中,密钥是固定的,但是密钥库包含一定数量的密钥。当进行通信时,选取其中一个密钥作为目标密钥对数据进行加密和解密。需要说明的是,对于密钥的更新方式不作限定,从信息安全角度,由于不能通过第三方下发密钥更新方式,通过序列号清零触发站间通信密钥周期更新是最优的密钥更新方式,并以轮询方式选取目标密钥,保证了站间通信不会因密钥更新停机,也能防止网络威胁方通过高性能计算破解密钥进而实现下一步站间通信伪装篡改攻击。如密钥库包含4个密钥,最初选用1号密钥作为目标密钥,当序列号从1开始计数到255,也就是序列号的二进制数从00000001累加为11111111并清零,触发目标密钥更新为2号密钥,当采用2号密钥进行第一次通信时,序列号为00000001直到累加到11111111并清零,触发目标密钥更新为3号密钥,以此类推更新目标密钥为4号密钥,当4号密钥使用255次之后,再从1号密钥开始进行轮询。
本实施例所提供的目标密钥为从多个密钥中选取的一个目标密钥,解决了只采用固定的一个密钥,一旦网络威胁方破解了该密钥,甚至对该密钥进行篡改,将会导致通信信息被网络威胁方窃取,甚至会由于密钥被篡改,导致发送方与接收方之间不能进行正常通信的问题,提高了安全控制器站间通信的信息安全性。
上述实施例中提出的安全控制器的站间安全通信方法是应用于发送方,本实施例还提出一种应用于接收方安全控制器的站间安全通信方法,图2为本实施例提供的一种应用于接收方的安全控制器的站间安全通信方法的流程图,该方法包括图2中的步骤S13、S14和S15,具体如下:
S13:预先存储源地址/目的地址以及序列号。
安全控制器站间通信协议的安全性设计需要采用源地址/目的地址、序列号等,接收方获得的源地址/目的地址、序列号与发送方获得的源地址/目的地址、序列号一致,上述实施例已对源地址/目的地址、序列号以作详细描述,此处不再赘述。对于通信的双方,周期通信的源地址和目的地址是确定的,通信双方已知周期通信源地址/目的地址,序列号在上一次通信的序列号基础上累加得到,当进行通信时,需要预先存储源地址/目的地址以及序列号。
S14:获取发送方发送的通过目标密钥加密后的CRC校验和以及当前通信数据。
发送方将CRC校验和以及当前数据通过目标密钥加密传输给接收方,接收方获取发送方发送的通过目标密钥加密后的CRC校验和以及当前通信数据,从而进行发送方与接收方之间的通信。
S15:获取通过目标密钥解密加密后的CRC校验和以及当前通信数据,以便于根据源地址/目的地址、序列号、CRC校验和以及当前通信数据进行功能诊断。
步骤S14中接收方收到的是通过目标密钥加密后的CRC校验和以及当前通信数据,接收方是不能直接从加密的数据中获取到当前数据,首先需要通过目标密钥将加密的数据进行解密才能获取到解密后的CRC校验和以及当前通信数据,然后结合步骤S13的预先存储源地址/目的地址以及序列号,进行功能诊断。
本实施例所提供的安全控制器的站间安全通信方法,应用于接收方,该方法首次预先存储源地址/目的地址以及序列号,然后获取发送方发送的通过目标密钥加密后的CRC校验和以及当前通信数据,最后获取通过目标密钥解密加密后的CRC校验和以及当前通信数据,以便于根据源地址/目的地址、序列号、CRC校验和、以及当前通信数据进行功能诊断。该方法具有上述提到的应用于发送方的安全控制器的站间安全通信方法相同的有益效果。
在数据传输的过程中,通信链路上可能会受到电磁干扰等,造成数据传输出现错误。为了检验数据在传输过程中是否出错,在获取到通过目标密钥解密加密后的CRC校验和以及当前通信数据之后,对源地址/目的地址、序列号、CRC校验和以及当前通信数据采用CRC校验来对功能安全进行诊断。因此,在获取通过目标密钥解密加密后的CRC校验和以及当前通信数据之后,还包括图2中的S16、S17和S18,具体如下:
S16:将源地址/目的地址、序列号、CRC校验和以及当前通信数据进行CRC校验。
在数据传输的过程中,可能会出现网络威胁方从站间通信“黑通道”链路上进行的攻击,通过识别源地址/目的地址、序列号等,就可以完成站间通信的攻击行为。在数据传输过程中,通常需要对数据进行校对,最常见的是CRC校验功能,可以保证在通信传输过程中数据的准确性,判断数据有无丢失。CRC的计算标准以及方法是非常严格的,传输数据只要被改动一个字节,甚至只是大小写的改动,整个CRC的计算结果就会跟原来的不同,就会导致数据传输、接收的错误,因此为了检验数据是否出错,将源地址/目的地址、序列号、当前通信数据进行CRC校验。
S17:根据CRC校验结果判断源地址/目的地址、序列号、CRC校验和以及当前通信数据是否正确,若CRC校验通过,则认为源地址/目的地址、序列号、CRC校验和以及当前通信数据正确,并进入步骤S18。
接收方在接收到带CRC校验码的数据后,如果数据在传输过程中没有出错,将一定能够被相同的生成多项式G(x)除尽,如果数据在传输中出现错误,生成多项式G(x)去除后得到的结果肯定不为0,因此可以通过CRC校验结果判断源地址/目的地址、序列号、CRC校验和以及当前通信数据是否正确,若CRC校验通过,则认为源地址/目的地址、序列号、CRC校验和以及当前通信数据正确,并进入步骤S18。
S18:接收当前通信数据。
当余数是0,则认为CRC校验通过,即认为源地址/目的地址、序列号、CRC校验和以及当前通信数据在传输过程中没有发生改变,接收方收到的数据即为正确的当前通信数据,并从特定的位置取出正确的当前通信数据。
本实施例所提出的在获取通过目标密钥解密加密后的CRC校验和以及当前通信数据之后,首次将源地址/目的地址、序列号、CRC校验和以及当前通信数据进行CRC校验,然后根据CRC校验结果判断源地址/目的地址、序列号、CRC校验和以及当前通信数据是否正确,当CRC校验通过,则源地址/目的地址、序列号、CRC校验和以及当前通信数据正确,并接收当前通信数据。该方法通过对源地址/目的地址、序列号、CRC校验和以及当前通信数据进行CRC校验,可以检测出数据在传输过程中是否出错,保证接收方收到正确的当前通信数据。
由于在数据传输过程中,为了防止信息被窃取盗用,采用加密后的数据进行传输,此时接收方需要将加密的数据进行解密才能获取到当前通信数据,在这个过程中,可能会出现接收方对数据解密失败,从而不能进行正常的通信。为了保证发送方与接收方之间能够进行正常的通信,通过目标密钥解密加密后的CRC校验和以及当前通信数据包括:
判断通过目标密钥是否成功解密加密后的CRC校验和以及当前通信数据;
若通过目标密钥成功解密加密后的CRC校验和以及当前通信数据,则进入将步骤S16将源地址/目的地址、序列号、CRC校验和以及当前通信数据进行CRC校验;
若通过目标密钥未成功解密加密后的CRC校验和以及当前通信数据,则将加密后的CRC校验和以及当前通信数据丢弃,并重新进入步骤S13预先存储发源地址/目的地址以及序列号。
在通信过程中,接收方可能成功解密加密后的CRC校验和以及当前通信数据,此时可以通过解密后的CRC校验和、当前通信数据、源地址/目的地址、序列号进行CRC校验,但是接收方也可能未成功解密加密后的CRC校验和以及当前通信数据,此时通信可能停止。在实施中,很多情况都可能会造成接收方对加密后的CRC校验和以及当前通信数据解密失败,如在密钥被威胁方窃取篡改、接收方不足以根据算法破解密钥或存在多个密钥时,接收方没有及时对更新的密钥使用算法进行解密等,接收方对加密后的CRC校验和以及当前通信数据解密失败导致通信双方不能进行正常的通信,此时为了保证通信双方能够进行正常的通信,需要重新进入预先存储发源地址/目的地址以及序列号的步骤。
本实施例所提供的若通过目标密钥未成功解密加密后的CRC校验和以及当前通信数据,则将加密后的CRC校验和以及当前通信数据丢弃,并重新进入预先存储发源地址/目的地址以及序列号的步骤,保证了通信双方不会因为解密不成功导致通信双方数据传输中断。
在上述实施例的基础上,当CRC校验结果不通过时,造成接收方接收到错误的当前通信数据,从而影响发送方与接收方之间的正常通信。作为优选地方式,步骤S17的根据CRC校验结果判断源地址/目的地址、序列号、CRC校验和以及当前通信数据是否正确,若CRC校验结果不通过,则认为源地址/目的地址、序列号、CRC校验和以及当前通信数据不正确,并重新进入步骤S13,如图2所示。
本实施例所提供的若CRC校验结果不通过,则将源地址/目的地址、序列号、CRC校验和以及当前通信数据丢弃,并重新进入预先存储源地址/目的地址以及序列号的步骤。该方法可以在通过CRC校验后发现源地址/目的地址、序列号、CRC校验和以及当前通信数据不正确时将数据丢弃,并重新获取数据,可以防止接收方接收到错误的当前通信数据,影响发送方与接收方之间的正常通信。
上述应用于发送方的安全控制器的站间安全通信方法的实施例中,为了避免网络威胁方通过识别站间通信密钥来对站间通信进行攻击的情况采用从多个密钥中选取的一个目标密钥。同样地,对于本实施例中对于应用于接收方的安全控制器的站间安全通信方法中为了保证通信信息的安全,作为优选地方式,目标密钥为从多个密钥中选取的一个目标密钥。
上述对应用于发送方的安全控制器的站间安全通信方法从多个密钥中选取的一个目标密钥已作详细描述,由于发送方与接收方应用的是同一套密钥才能保证发送方与接收方之间进行正常通信,因此此处应用于接收方的安全控制器的站间安全通信方法从多个密钥中选取的一个目标密钥不再赘述,并且有相同的有益效果。
在上述实施例中,对于安全控制器的站间安全通信方法进行了详细描述,本申请还提供安全控制器的站间安全通信装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度,其中基于功能模块角度的装置包含应用于发送方的安全控制器的站间安全通信装置以及应用于接收方的安全控制器的站间安全通信装置。
图3为本申请的一实施例提供的应用于发送方的安全控制器的站间安全通信装置的结构图。本实施例基于功能模块的角度,包括:
第一获取模块10,用于获取源地址/目的地址、序列号以及当前通信数据;
第二获取模块11,用于将源地址/目的地址、序列号、当前通信数据进行CRC计算并获取CRC校验和;
传输模块12,用于将CRC校验和以及当前通信数据通过目标密钥加密并传输至接收方以便于接收方依据CRC校验和、当前通信数据、预先获取的源地址/目的地址以及序列号进行功能安全诊断。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例提供的应用于发送方的安全控制器的站间安全通信装置,首先通过第一获取模块获取源地址/目的地址、序列号以及当前通信数据;然后通过第二获取模块将源地址/目的地址、序列号、当前通信数据进行CRC计算并获取CRC校验和;最后通过传输模块将CRC校验和以及当前通信数据通过目标密钥加密并传输至接收方以便于接收方依据CRC校验和、当前通信数据、预先获取的源地址/目的地址以及序列号进行功能安全诊断。该装置中由于通信双方是已知源地址/目的地址、序列号的,因此在通信链路上只传输CRC校验和以及当前通信数据,解决了在传输过程中网络威胁方对源地址/目的地址、序列号的窃取模仿,最终提高了安全控制器的站间通信的安全性。
图4为本申请的一实施例提供的应用于接收方的安全控制器的站间安全通信装置的结构图。本实施例基于功能模块的角度,包括:
存储模块13,用于预先存储源地址/目的地址以及序列号;
第一获取模块14,用于获取发送方发送的通过目标密钥加密后的CRC校验和以及当前通信数据;
第二获取模块15,用于获取通过目标密钥解密加密后的CRC校验和以及当前通信数据,以便于根据源地址/目的地址、序列号、CRC校验和以及当前通信数据进行功能诊断。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例提供的应用于接收方的安全控制器的站间安全通信装置,首先通过存储模块预先存储源地址/目的地址以及序列号;然后通过第一获取模块获取发送方发送的通过目标密钥加密后的CRC校验和以及当前通信数据;最后通过第二获取模块获取通过目标密钥解密加密后的CRC校验和以及当前通信数据,以便于根据源地址/目的地址、序列号、CRC校验和以及当前通信数据进行功能诊断。该装置中由于通信双方是已知源地址/目的地址、序列号的,因此在通信链路上只传输CRC校验和以及当前通信数据,解决了在传输过程中网络威胁方对源地址/目的地址、序列号的窃取模仿,最终提高了安全控制器的站间通信的安全性。
图5为本申请一实施例提供的安全控制器的站间安全通信装置的结构图。本实施例基于硬件角度,如图5所示,安全控制器的站间安全通信装置包括:
存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的安全控制器的站间安全通信方法的步骤。
本实施例提供的安全控制器的站间安全通信装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的安全控制器的站间安全通信方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于安全控制器的站间安全通信方法所涉及到的数据等。
在一些实施例中,安全控制器的站间安全通信装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图5中示出的结构并不构成对安全控制器的站间安全通信装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的安全控制器的站间安全通信装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:安全控制器的站间安全通信方法,效果同上。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例(可以是发送方对应的方法、也可以是接收方对应的方法,还可以是发送方和接收方对应的方法)中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请提供的计算机可读存储介质包括上述提到的安全控制器的站间安全通信方法,效果同上。
为了使本领域的技术人员更好的理解本申请的技术方案,下面结合附图6对上述本申请作进一步的详细说明,图6为本申请实施例提供的发送方和接收方的应用场景示意图。该应用过程包括:
发送方将源地址/目的地址、序列号、当前通信数据进行CRC计算;
将通过CRC计算得出的CRC校验和与当前通信数据进行数据帧加密传输至接收方;
接收方对数据帧解密得到解密后的CRC校验和与当前通信数据,并填入预先存储的源地址/目的地址、序列号;
接收方对源地址/目的地址、序列号、当前通信数据、CRC校验和进行CRC校验,通过校验后最终接收正确的当前数据。
上文通过对本申请实施例提供的发送方和接收方的应用场景,可以看出由于通信双方是已知源地址/目的地址、序列号的,因此在通信链路上只传输CRC校验和以及当前通信数据,解决了在传输过程中网络威胁方对源地址/目的地址、序列号的窃取模仿,最终提高了安全控制器的站间通信的安全性。
以上对本申请所提供的一种安全控制器的站间安全通信方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种安全控制器的站间安全通信方法,其特征在于,应用于发送方,包括:
获取源地址和目的地址、序列号以及当前通信数据;
将所述源地址和所述目的地址、所述序列号、所述当前通信数据进行CRC计算并获取CRC校验和;
将所述CRC校验和以及所述当前通信数据通过目标密钥加密并传输至接收方以便于所述接收方依据所述CRC校验和、所述当前通信数据、预先获取的所述源地址和所述目的地址以及所述序列号进行功能安全诊断。
2.根据权利要求1所述的安全控制器的站间安全通信方法,其特征在于,所述目标密钥为从多个密钥中选取的一个目标密钥。
3.一种安全控制器的站间安全通信方法,其特征在于,应用于接收方,包括:
预先存储源地址和目的地址以及序列号;
获取发送方发送的通过目标密钥加密后的CRC校验和以及当前通信数据;
获取通过所述目标密钥对所述加密后的CRC校验和以及当前通信数据进行解密得到的CRC校验和以及当前通信数据,以便于根据所述源地址和所述目的地址、所述序列号、所述CRC校验和以及所述当前通信数据进行功能诊断。
4.根据权利要求3所述的安全控制器的站间安全通信方法,其特征在于,在所述获取通过所述目标密钥对所述加密后的CRC校验和以及当前通信数据进行解密得到的CRC校验和以及当前通信数据之后,还包括:
将所述源地址和所述目的地址、所述序列号、所述CRC校验和以及所述当前通信数据进行CRC校验;
根据所述CRC校验结果判断所述源地址和所述目的地址、所述序列号、所述CRC校验和以及所述当前通信数据是否正确;
若所述CRC校验通过,则所述源地址和所述目的地址、所述序列号、所述CRC校验和以及所述当前通信数据正确,并接收所述当前通信数据。
5.根据权利要求4所述的安全控制器的站间安全通信方法,其特征在于,所述获取通过所述目标密钥对所述加密后的CRC校验和以及当前通信数据进行解密得到的CRC校验和以及当前通信数据包括:
判断通过所述目标密钥是否成功解密加密后的所述CRC校验和以及所述当前通信数据;
若通过所述目标密钥成功解密加密后的所述CRC校验和以及所述当前通信数据,则进入所述将所述源地址和所述目的地址、所述序列号、所述CRC校验和以及所述当前通信数据进行CRC校验的步骤;
若通过所述目标密钥未成功解密加密后的所述CRC校验和以及所述当前通信数据,则将加密后的所述CRC校验和以及所述当前通信数据丢弃,并重新进入所述预先存储源地址和所述目的地址以及序列号的步骤。
6.根据权利要求4所述的安全控制器的站间安全通信方法,其特征在于,所述根据所述CRC校验结果判断所述源地址和所述目的地址、所述序列号、所述CRC校验和以及所述当前通信数据是否正确包括:
若所述CRC校验结果不通过,则将所述源地址和所述目的地址、所述序列号、所述CRC校验和以及所述当前通信数据丢弃,并重新进入所述预先存储源地址和目的地址以及序列号的步骤。
7.根据权利要求3-6任意一项所述的安全控制器的站间安全通信方法,其特征在于,所述目标密钥为从多个密钥中选取的一个目标密钥。
8.一种安全控制器的站间安全通信装置,其特征在于,应用于接收方,包括:
存储模块,用于预先存储源地址和目的地址以及序列号;
第一获取模块,用于获取发送方发送的通过目标密钥加密后的CRC校验和以及当前通信数据;
第二获取模块,用于获取通过所述目标密钥对所述加密后的CRC校验和以及当前通信数据进行解密得到的CRC校验和以及当前通信数据,以便于根据所述源地址和所述目的地址、所述序列号、所述CRC校验和以及所述当前通信数据进行功能诊断。
9.一种安全控制器的站间安全通信装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的安全控制器的站间安全通信方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的安全控制器的站间安全通信方法的步骤。
CN202111203035.1A 2021-10-15 2021-10-15 一种安全控制器的站间安全通信方法、装置及介质 Active CN113949561B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111203035.1A CN113949561B (zh) 2021-10-15 2021-10-15 一种安全控制器的站间安全通信方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111203035.1A CN113949561B (zh) 2021-10-15 2021-10-15 一种安全控制器的站间安全通信方法、装置及介质

Publications (2)

Publication Number Publication Date
CN113949561A CN113949561A (zh) 2022-01-18
CN113949561B true CN113949561B (zh) 2024-05-17

Family

ID=79330725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111203035.1A Active CN113949561B (zh) 2021-10-15 2021-10-15 一种安全控制器的站间安全通信方法、装置及介质

Country Status (1)

Country Link
CN (1) CN113949561B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101820619A (zh) * 2010-01-15 2010-09-01 北京工业大学 无线传感器网络中高效节能的链路安全方法
CN101826960A (zh) * 2010-04-16 2010-09-08 中国电子科技集团公司第二十八研究所 一种实时传输加解密数据的校验方法
CN102571259A (zh) * 2010-12-09 2012-07-11 中国科学院沈阳计算技术研究所有限公司 一种用于数控总线的安全可控通信方法
WO2018137147A1 (zh) * 2017-01-24 2018-08-02 北京广利核系统工程有限公司 一种核电站安全级仪控系统通信协议的自诊断方法
CN110799007A (zh) * 2019-10-31 2020-02-14 河南思维轨道交通技术研究院有限公司 一种工控机和工控机通信防护方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101820619A (zh) * 2010-01-15 2010-09-01 北京工业大学 无线传感器网络中高效节能的链路安全方法
CN101826960A (zh) * 2010-04-16 2010-09-08 中国电子科技集团公司第二十八研究所 一种实时传输加解密数据的校验方法
CN102571259A (zh) * 2010-12-09 2012-07-11 中国科学院沈阳计算技术研究所有限公司 一种用于数控总线的安全可控通信方法
WO2018137147A1 (zh) * 2017-01-24 2018-08-02 北京广利核系统工程有限公司 一种核电站安全级仪控系统通信协议的自诊断方法
CN110799007A (zh) * 2019-10-31 2020-02-14 河南思维轨道交通技术研究院有限公司 一种工控机和工控机通信防护方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于EtherCAT 总线的数控系统总线安全控制技术的研究与应用;刘才思;中国优秀硕士论文电子期刊网信息科技辑(2016年03期);全文 *

Also Published As

Publication number Publication date
CN113949561A (zh) 2022-01-18

Similar Documents

Publication Publication Date Title
CN111131278B (zh) 数据处理方法及装置、计算机存储介质、电子设备
CN104463007A (zh) 数据验证方法及其装置
CN112738051B (zh) 数据信息加密方法、系统及计算机可读存储介质
CN105320535A (zh) 一种安装包的校验方法、客户端、服务器及系统
KR20190059965A (ko) 인증이 있는 암호 메시지명령
CN114614994B (zh) Api接口数据的通信方法、装置、客户端及存储介质
US9515989B1 (en) Methods and apparatus for silent alarm channels using one-time passcode authentication tokens
CN112653719A (zh) 汽车信息安全存储方法、装置、电子设备和存储介质
CN106161472A (zh) 一种数据加密的方法、装置及系统
CN113452527A (zh) 用于有状态的基于散列的签名的鲁棒状态同步
CN113515752A (zh) 信息加密方法、解密方法、装置及电子设备
CN107864129B (zh) 一种保证网络数据安全的方法和装置
CN114154174A (zh) 后量子签名设施的状态同步
CN114785524A (zh) 电子印章生成方法、装置、设备和介质
JP6534913B2 (ja) 情報処理装置および不正メッセージ検知方法
CN113704789A (zh) 一种车载通讯安全处理方法、装置、设备及存储介质
CN106453430A (zh) 验证加密数据传输路径的方法及装置
CN112600838B (zh) 一种can总线数据的加密方法、装置、存储介质及电子设备
US11341217B1 (en) Enhancing obfuscation of digital content through use of linear error correction codes
US20170070481A1 (en) Communication channel security against packet sniffing
CN113949561B (zh) 一种安全控制器的站间安全通信方法、装置及介质
CN110213292B (zh) 数据发送方法及装置、数据接收方法及装置
CN115909560A (zh) 数据加密方法、解密方法及门锁系统
CN110875902A (zh) 通信方法、装置及系统
CN115277064A (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