CN110944010B - 一种防窃取的流量装置控制系统及方法 - Google Patents
一种防窃取的流量装置控制系统及方法 Download PDFInfo
- Publication number
- CN110944010B CN110944010B CN201911281855.5A CN201911281855A CN110944010B CN 110944010 B CN110944010 B CN 110944010B CN 201911281855 A CN201911281855 A CN 201911281855A CN 110944010 B CN110944010 B CN 110944010B
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- bit
- bits
- decryption
- 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
Links
Images
Classifications
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Communication Control (AREA)
Abstract
本发明属于自动控制技术领域,涉及一种防窃取的流量装置控制系统及方法。该系统包括上位机、加密/解密器、控制器、执行机构组、总线A、总线B、总线C、软件系统,软件系统中包括控制软件、功能模块、数据链路加密/解密模块,使用者只能对控制软件进行编辑、对功能模块进行调用,无法对数据链路加密/解密模块进行编辑。数据链路加密/解密模块和加密/解密器的加密方式包括加密波特率、加密数据帧格式、加密数据传输协议。该系统可以防止流量标准装置控制系统开发公司的软件开发人员盗用控制系统,保护流量标准装置控制系统开发公司的知识产权。
Description
技术领域
本发明属于自动控制技术领域,涉及一种防窃取的流量装置控制系统及方法。
背景技术
随着自动化技术的不断发展,工业生产和科研机构逐渐大量使用具有一定自动化程度的控制系统来提高工作效率和工作质量,在计量技术机构中大量使用的就是各类气体、液体介质的流量、流速标准装置。自动化控制系统由硬件和软件两部分组成,其中,硬件是指用于实现控制效果的所有功能设备和执行机构,包括控制器、控制操作的执行机构以及相互间连接通信的接口和数据线,由于硬件涉及种类非常复杂,且涵盖国内外的品牌,因此,为保证通信顺畅,通讯协议采用标准明确的国际通用通信协议;软件是指上位机控制系统,主要功能包括接收使用者的指令和硬件回传的信息、对接收到的信息进行分析处理、显示使用者需要的信息、向硬件发送指令,由自控化控制系统开发公司的软件开发人员根据使用者的要求和控制系统的功能,利用自动化控制系统开发公司采用的软件开发平台进行定制开发。
由于目前自动化控制系统的硬件和软件开发相对独立,且软件开发平台对于软件开发人员基本处于完全掌握状态,即全功能、全权限、全信息掌握,因此软件开发人员可以私下利用软件开发平台为其他公司制作控制软件谋取私利,甚至可以在软件开发人员辞职后,直接到其他公司,以原公司的开发平台和软件开发案例为基础,为其他公司制作控制软件,造成潜心研发开发平台的自动化控制系统开发公司的知识产权被其他公司窃取并免费使用而无法制约,进而造成软件开发人员被利益诱惑而大量流动,进一步影响自动化控制系统开发公司的工作效率,提高人力成本。
发明内容
为了解决流量、流速标准装置中自动化控制系统软件开发平台无法防止被盗用的现状,本发明提出一种防窃取的流量装置控制系统及方法,旨在实现控制系统软件开发平台被窃取后在其他控制系统中无法正常使用,为保护自动化控制系统开发公司知识产权提供一种新颖可靠的解决方法。
本发明提出一种防窃取的流量装置控制系统,包括上位机、加密/解密器、控制器、执行机构组、总线A、总线B、总线C、软件系统;所述的上位机包括通讯接口,与加密/解密器通过总线A通讯,所述的控制器用于通过总线C向执行机构组内的各个执行机构传送执行命令,并接收执行机构传回来的数据;加密/解密器用于将上位机经总线A传出的经加密后的数据信息进行解密,并经总线B传递给控制器,同时,用于将控制器经总线B传出的数据进行加密,并通过总线A传递给上位机;所述的软件系统存储在上位机中,软件系统中包括控制软件、功能模块、数据链路加密/解密模块,使用者只能对控制软件进行编辑、对功能模块进行调用,无法对数据链路加密/解密模块进行编辑,其中,控制软件通过调用控制软件内部的功能模块实现接收和执行软件使用者产生的指令、接收由控制器发回的数据信息、对接收到的信息进行计算处理、向控制器发送指令,并且使用者利用功能模块对控制软件进行编辑修改,数据链路加密/解密模块用于将控制软件传输来的数据进行加密后,由通讯接口传出,或将通讯接口接收到的数据进行解密后传递给控制软件。
上述的通讯接口是并行口或者串行口,接口型式及所采用的通讯协议包括RS232、RS-422、RS485、USB、HDMI、SPI、I2C、CAN、HART、ModBus或PROFIBUS。
进一步地,上述数据链路加密/解密模块和加密/解密器的加密方式包括加密波特率、加密数据帧格式、加密数据传输协议中一种或两种以上的结合。
1.加密波特率:数据链路加密/解密模块控制下的通讯接口与加密/解密器间的数据传输波特率值是控制软件中预设的控制器数据传输波特率值的整数倍,倍数值至少为3,且该倍数值对于软件系统的使用者和软件开发者是保密的,软件系统的使用者和软件开发者只能对控制软件中预设的控制器数据传输波特率值进行查询和编辑。
2.加密数据帧格式:数据链路加密/解密模块控制下的通讯接口与加密/解密器间的数据传输方式与控制器的数据传输方式相同,即控制器采用串行数据传输时,通讯接口与加密/解密器间的数据传输方式也为串行,控制器采用并行数据传输时,通讯接口与加密/解密器间的数据传输方式也为并行;
在采用串行方式进行数据传输时,数据链路加密/解密模块控制下的通讯接口与加密/解密器间数据传输的数据帧格式由起始位、结束位、检验位、数据位组成;起始位的逻辑值与串口无数据传输时的常态逻辑值相反,且在数据帧格式的最前端,起始位的位个数与控制软件中预设的控制器数据传输帧格式的起始位个数相同;结束位的逻辑值与串口无数据传输时的常态逻辑值相同,且在数据帧格式的最末端,结束位的位个数与控制软件中预设的控制器数据传输帧格式的起始位个数相同;数据位在起始位和结束位之间,位个数与控制软件中预设的控制器数据位个数相同,数据位的逻辑值是对控制软件传输给数据链路加密/解密模块或控制器传输给加密/解密器的数据帧中加密前的数据位进行可逆的逻辑运算产生,运算方式包括加密前数据位的部分或全部位取反、加密前数据位各位的次序进行调整、加密前数据位与密钥二进制值进行数学运算中的一种或两种以上的复合使用,运算方式对于软件系统的使用者和软件开发者是保密的;检验位的位个数为1位,检验位的逻辑值是由密钥次序中规定的数据位参与计算的次序的第一个参与计算的数据位按照密钥次序依次与其他数据位进行迭代逻辑运算得到,逻辑运算包括与、或、非、与非、或非,检验位的位置是在起始位与结束位间由密钥位置值规定,密钥位置值是检验位与起始位之间间隔的位个数,密钥位置、密钥次序与逻辑运算方式对于软件系统的使用者和软件开发者是保密的;
在采用并行方式进行数据传输时,数据帧格式由检验位、数据位组成;数据位的位个数与控制软件中预设的控制器数据位个数相同,数据位的逻辑值是对控制软件传输给数据链路加密/解密模块或控制器传输给加密/解密器的数据帧中加密前的数据位进行可逆的逻辑运算产生,运算方式包括加密前数据位的部分或全部位取反、加密前数据位各位的次序进行调整、加密前数据位与密钥二进制值进行数学运算中的一种或两种以上的复合使用,运算方式对于软件系统的使用者和软件开发者是保密的;检验位的位个数为1位,检验位的逻辑值是由密钥次序中规定的数据位参与计算的次序的第一个参与计算的数据位按照密钥次序依次与其他数据位进行迭代逻辑运算得到,逻辑运算包括与、或、非、与非、或非,检验位的位置是在数据位的第一位与数据位的最后一位间由密钥位置值规定,密钥位置值是检验位与数据位第一位间间隔的位个数,密钥位置、密钥次序与逻辑运算方式对于软件系统的使用者和软件开发者是保密的。
3.加密数据传输协议:在数据链路加密/解密模块控制下的通讯接口传输数据给加密/解密器时,通讯接口传输数据给加密/解密器后,加密/解密器按照检验位的计算方式计算接收到的数据位所产生的检验位与接收到的检验位是否一致,如果检验位一致,立刻将接收到的数据再进行数据帧格式加密后回传给通讯接口,由通讯接口传给数据链路加密/解密模块检查传输数据的正确性,如果检验位不一致,立刻将数据位全为1且检验位取按照数据位全为1时所计算检验位值的相反值的数据通过通讯接口回传给数据链路加密/解密模块;当数据链路加密/解密模块接收到数据位全为1且检验位的值为按照数据位全为1时所计算检验位值的相反值,则数据链路加密/解密模块重新发送数据;当数据链路加密/解密模块接收到加密/解密器回传的数据时,数据链路加密/解密模块对接收到的数据位进行解密,并与发送的数据位进行比较,如果一致,则立刻将数据位全为0且检验位取按照数据位全为0时所计算的检验位值的数据确认码传输给加密/解密器,并结束本次数据传输,如果不一致,则立刻将数据位全为1且检验位取按照数据位全为1时所计算检验位值的数据确认码传输给加密/解密器,并重新发送数据;加密/解密器在回传给通讯接口数据后,如在加密波特率下传输一个数据帧格式所需要的时间内未收到数据链路加密/解密模块传输的数据,则将接收数据视为无效数据;
在加密/解密器给数据链路加密/解密模块控制下的通讯接口传输数据时,通讯接口传输数据给数据链路加密/解密模块后,数据链路加密/解密模块按照检验位的计算方式计算接收到的数据位所产生的检验位与接收到的检验位是否一致,如果检验位一致,立刻将接收到的数据再进行数据帧格式加密后回传给通讯接口,由通讯接口传给加密/解密器检查传输数据的正确性,如果检验位不一致,立刻将数据位全为1且检验位取按照数据位全为1时所计算检验位值的相反值的数据通过通讯接口回传给加密/解密器;当加密/解密器接收到数据位全为1且检验位的值为按照数据位全为1时所计算检验位值的相反值,则加密/解密器重新发送数据;当加密/解密器接收到数据链路加密/解密模块回传的数据时,加密/解密器对接收到的数据位进行解密,并与发送的数据位进行比较,如果一致,则立刻将数据位全为0且检验位取按照数据位全为0时所计算的检验位值的数据确认码传输给数据链路加密/解密模块,如果不一致,则立刻将数据位全为1且检验位取按照数据位全为1时所计算检验位值的数据确认码传输给数据链路加密/解密模块,并重新发送数据;数据链路加密/解密模块回传给加密/解密器数据后,如在加密波特率下传输一个数据帧格式所需要的时间内未收到数据链路加密/解密模块传输的数据,则将接收数据视为无效数据。
上述的防窃取的流量装置控制系统的方法,所述数据链路加密/解密模块和加密/解密器的加密方式为加密波特率、加密数据帧格式、加密数据传输协议的结合,包括如下步骤:
上位机中的控制软件在运行过程中,当需要向控制器发送数据时,控制软件发出的未加密数据进入到数据链路加密/解密模块,数据链路加密/解密模块对未加密的数据按照数据帧加密方式进行加密,形成加密后的数据帧,通过通讯接口,按照加密后的数据传输波特率通过总线A按照加密数据传输协议传递给加密/解密器,加密/解密器将接收到的数据进行解密,并按照控制软件预设的控制软件数据传输帧格式和波特率,将数据传输给控制器,并由控制器形成控制操作命令;
当控制器需要向上位机中的控制软件发送数据时,控制器按照控制软件预设的控制软件数据传输帧格式和波特率发出的未加密数据进入到加密/解密器,加密/解密器对未加密的数据按照数据帧加密方式进行加密,形成加密后的数据帧,按照加密后的数据传输波特率通过总线A和通讯接口按照加密数据传输协议传递给数据链路加密/解密模块,数据链路加密/解密模块将接收到的数据进行解密,并传递给控制软件。
进一步地,上述方法的防窃取原理是:软件系统的使用者和软件开发者在操作和调试软件系统时,所能获得的权限范围包括对控制软件进行编辑、对功能模块组里的功能模块的调用、预设控制器的数据传输波特率和数据帧格式,所不能获得的权限范围包括对功能模块进行编辑、接触到数据链路加密/解密模块和加密方式、对数据链路加密/解密模块中的加密和解密方式进行编辑,并且加密/解密器的全部设计、生产、加工、程序烧录过程均与软件系统的使用者和软件开发者隔绝,当软件系统的使用者和软件开发者盗用软件系统为其他自动化控制系统制作控制软件时,上位机的通讯接口输出的波特率、数据帧格式和通信协议与控制软件中预设的均不相同,因此通讯接口与控制器接通后,控制器无法获得正确命令,而加密/解密器又无法获得,即使获得了加密/解密器硬件,又因为无法获得烧录的程序,因此控制系统无法正常工作。
进一步地,上述加密方法的防破译方式和原理是:
1.将检验位穿插在数据位中:检验位的位置为保密信息,由于通常的检验位是在数据位后,因此,在破译时,接收加密后的数据过程中会误将检验位当作数据位,得到错误的数据加密前后各数据位的变化关系;
2.改变数据传输波特率:加密后的波特率为预设控制器通讯波特率的整数倍,波特率改变倍数为保密信息,在接收加密后的数据进行破译时时,由于波特率改变导致数据传输不同步,因此破译时接收不到正确的加密后的数据位数值;
3.检验位加密:检验位的逻辑值是由密钥次序中规定的数据位参与计算的次序的第一个参与计算的数据位按照密钥次序依次与其他数据位进行迭代逻辑运算得到,逻辑运算包括与、或、非、与非、或非、同或、异或,密钥次序和采用的逻辑运算方式都是保密信息,数据接收方在接收到数据发送方发送的数据后,根据接收到的数据中的数据位计算检验位的值,并与接收到的检验位的值进行比较,通过对检验位的计算方法进行加密,破译时由于检验位的值错误而导致通讯无法成功,通过上述方式,在通讯协议方面对数据传输过程进行了再次加密保护;
4.增加回传机制:数据链路加密/解密模块和加密/解密器间进行数据通讯时,数据接收方在回传数据后,在未收到数据发送发发来的全为0且检验位取按照数据位全为0时所计算的检验位值的数据确认码时,所接受到的数据不向下传输,保证了即使在数据位加密方式被破译后,通过上述方式,在通讯协议方面对数据传输过程进行了再次加密保护。
进一步地,上述加密方法在保证数据传输准确性方面的原理是:
1.数据位加密算法为可逆运算:所采用的包括加密前数据位的部分或全部位取反、加密前数据位各位的次序进行调整、加密前数据位与密钥二进制值进行数学运算的数据位加密算法为可逆运算,确保数据在被接收后,通过加密方式的反运算可以得到唯一解;
2.数据检验位检验:检验位的逻辑值是由密钥次序中规定的数据位参与计算的次序的第一个参与计算的数据位按照密钥次序依次与其他数据位进行迭代逻辑运算得到,逻辑运算包括与、或、非、与非、或非、同或、异或,数据接收方在接收到数据发送方发送的数据后,根据接收到的数据中的数据位计算检验位的值,并与接收到的检验位的值进行比较,如果不一致,则证明接收到的数据肯定有误;
3.数据回传检验:数据接收方接收到数据,并检验检验位为一致后,立刻将接收到的数据再进行数据帧格式加密后回传给数据发送方,并等待数据发送方确认后返回的信息,通过上述的数据回传确认方式,保证数据传输的正确性。
本发明具有以下有益效果:本发明提出的一种防窃取的流量装置控制系统可以防止流量标准装置控制系统开发公司的软件开发人员盗用控制系统,保护流量标准装置控制系统开发公司的知识产权。
附图说明
图1为本发明防窃取的流量装置控制系统结构图。
图2为本发明串行通讯时序图。
图3为本发明串行通讯时波特率未破译情况下控制器接收数据时序图。
图4为本发明串行通讯时波特率未破译情况下控制器发送数据时序图。
图5为本发明串行通信时破译波特率未破译检验位时强行接收数据时序图。
图6为本发明并行通讯时序图。
图7为本发明并行通讯时波特率未破译情况下控制器接收数据时序图。
图8为本发明并行通讯时波特率未破译情况下控制器发送数据时序图。
图9为本发明并行通信时破译波特率未破译检验位时强行接收数据时序图。
图中:1上位机;11通讯接口;2加密/解密器;3控制器;4执行机构组;5总线A;6总线B;7总线C;8软件系统;81控制软件;82功能模块组;83数据链路加密/解密模块。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明的具体结构、原理以及工作过程作进一步的详细说明。
不失一般性,设定数据链路加密/解密模块83控制下的通讯接口11与加密/解密器5间的数据传输波特率值是控制软件81中预设的控制器3数据传输波特率值的3倍,数据位位数为8,数据位的加密方式为数据位循环左移1位,检验位的位置在数据位的第4位和第5位之间,检验位计算的逻辑运算方式为异或,密钥次序是87654321,则检验位的的具体计算方式为:首先将数据位第8位与第7位进行异或运算,运算结果再与第6位数据位进行异或运算,依次类推,直到与数据位第1位进行异或运算结束,将运算结果作为检验位值。串行通讯时,串行通讯方式为RS232,起始位的逻辑值是0,结束位的逻辑值是1,无数据传输时数据线上的逻辑值为1。并行通讯时,无数据传输时数据线上的逻辑值为1,检验位计算方式为偶校验,即数据位中有偶数个1时检验位为1。
当采用串行方式传输二进制数据01011001时,数据链路加密/解密模块83控制下的通讯接口11与加密/解密器2间进行正常无误的数据传输的时序如图2所示,010110001经加密后的各数据位值为10110010,检验位值为1,则数据发送方发送数据帧01011100101,数据接收方在接收到数据后,核验检验位值无误后,回传数据00110101011,数据发送方接收到数据接收方回传的数据后,核验检验位和数据位的值无误后,向数据发送方发送数据确认码00000000001。
当软件系统8被盗用到其他流量装置时,数据链路加密/解密模块83通过盗用系统的上位机1的通讯接口11直接与控制器3链接,由于数据链路加密/解密模块83的数据传输波特率是控制器3预设数据传输波特率的3倍,因此控制器3与数据链路加密/解密模块83间的数据传输是不同步的,控制器3的每1位数据对应了数据链路加密/解密模块83的3位数据,并且,控制器3的数据帧格式一般采用检验位在数据位后方,检验位运算方式为奇检验或偶检验,即根据数据位中1的个数判断检验位的值,假定控制器3串口通讯的检验位计算方式为偶校验,即数据位中有偶数个1时检验位为1,否则为0,则控制器3与数据链路加密/解密模块83通讯的时序图如图3和图4所示。
当数据链路加密/解密模块83通过盗用系统的上位机1的通讯接口11向盗用系统的控制器3发送数据时,如图3所示,数据链路加密/解密模块83发送数据帧01011100101后,等带回传的数据,串行口的数据线的逻辑值处于1状态,控制器3在接收数据时,如果识别的是数据链路加密/解密模块83波特率时序每3位的第1位的值时,所接收到的数据帧是01001111111,其中检验位是1,根据检验位运算方式,检验位正确,所以认为收到的数据值是10011111,而实际在串行口中发送的加密后的数据位值为10110010,存在很大差异;如果识别的是数据链路加密/解密模块83波特率时序每3位的第2位的值时,由于起始位为1,数据接收并不会被触发;如果识别的是数据链路加密/解密模块83波特率时序每3位的第3位的值时,所接收到的数据帧是01101111111,其中检验位是1,根据检验位运算方式,检验位错误,认为收到的数据值是错误的。由此可见,在波特率未破译的情况下向控制器3发送数据时,很难进行一次验证通过的数据通信,即使验证通过,通信建立成功,控制器所接收到的数据位的值也是错误的。
当盗用系统的控制器3通过盗用系统的上位机1的通讯接口11向数据链路加密/解密模块83发送数据时,时序如图4所示,控制器3按照预设波特率发送数据帧,但是数据链路加密/解密模块83按照3倍波特率进行数据接收,在控制器3还未发完数据帧时已完成数据接收,接收到的数据帧是00011100011,检验位经计算是1,与接收到检验位的一致,则数据链路加密/解密模块83向控制器3回传数据,但是控制器3依旧占用串行口发送数据,导致串行口此时数据逻辑处于不稳定状态,在回传时序结束后,数据链路加密/解密模块83接收数据确认码,此时控制器3依旧在发送数据,数据链路加密/解密模块83接收到的数据确认码值为00111000111,检验位经计算是0,与接收到的一致,但是确认码数据位中的数值与预定义不同,数据链路加密/解密模块83不能对收到的数据是否正确进行确认,数据作废。由此可见,在波特率未破译的情况下接收控制器3发送的数据时,实际接收到的数据位数值与控制器3发送的数值差异很大,且由于通讯协议没有达成条件,数据链路加密/解密模块83由于确认数据而作废了接收数据,因此,阻断了软件系统8和控制器3之间的通信,使软件系统8对控制器3不可用,起到了防盗的作用。
即使当波特率被破译时,即盗用者发现波特率被加倍,并同样倍数改变控制器3的通讯波特率时,通过检验位位置加密可以有效保护数据位的数值不被准确截获,时序图如图5所示。假如数据链路加密/解密模块83发送数据位值为10110010时,数据帧格式是01011000101,控制器3接收到数据帧后,所认为的数据位值为10110001,数据位的值没有被成功盗取。
当采用并行方式传输二进制数据01011001时,数据链路加密/解密模块83控制下的通讯接口11与加密/解密器间2进行正常无误的数据传输的时序如图6所示,首先由数据发送端发送加密后数据位和检验位,数据帧格式为101110010,随后,数据接收端确认检验位无误后,回传数据011010101,数据发送端核验回传的检验位和数据位后,发送数据确认码000000000。
当软件系统8被盗用到其他流量装置时,由于盗用系统的上位机1的通讯接口11在数据链路加密/解密模块83控制下,数据传输的波特率是预设控制器3通讯波特率的3被,因此控制器3在与数据链路加密/解密模块83进行通讯时,时序是不同步的,如图7和图8所示。当数据链路加密/解密模块83向控制器3发送数据值10110010时,时序图如图7所示,数据链路加密/解密模块83发送数据后,一直等待回传数据,所以通讯线处于常态逻辑值1,由于数据链路加密/解密模块83的通讯波特率是控制器3的通讯波特率的3倍,因此控制器3在接收1位数据的时间内对应了数据链路加密/解密模块83的3个位信号,如果控制器3按照第1个位信号进行识别,则控制器3接收到的数据是110111111,并且由于通常通讯认为检验位在数据位后,控制器3认为接收到的数据值是11011111,检验位是1,根据偶校验规则,检验位值有误,认为接收到错误数据;如果控制器3按照第2个位信号进行识别,则控制器3接收到的数据是0111111111,并且由于通常通讯认为检验位在数据位后,控制器3认为接收到的数据值是01111111,检验位是1,根据偶校验规则,检验位值有误,认为接收到错误数据;如果控制器3按照第2个位信号进行识别,则控制器3接收到的数据是100111111,并且由于通常通讯认为检验位在数据位后,控制器3认为接收到的数据值是10011111,检验位是1,根据偶校验规则,检验位值正确,但是接收到的数据与实际传输数据不同。由此可以证明,波特率加密情况下,数据链路加密/解密模块83向控制器3发送数据时,无法建立正确的通讯,并且接收到的数据也不正确。
当控制器3向数据链路加密/解密模块83向发送数据值10110010时,检验位的值是1。由于数据链路加密/解密模块83的通讯波特率是控制器3的通讯波特率的3倍,因此控制器3发送1位数据的时间内,数据链路加密/解密模块83接收了3位的值,时序图如图8所示。当控制器3发送了3位数值时,数据链路加密/解密模块83认为已经完成数据接收,接收的数据是111000111,其中数据值是11100111,检验位是0,根据数据链路加密/解密模块83中的检验位计算方式,检验位应该是0,则数据链路加密/解密模块83回传数据110001111,而此时控制器3也在发送数据,因此,此时并行线上逻辑值处于混乱状态,当数据链路加密/解密模块83结束回传数据的时序后,处于数据确认码接收状态,接收到控制器3继续发送的数据和检验位值,则数据链路加密/解密模块83认为接收到的数据确认码是1110001111,该确认码为无意义码,则数据链路加密/解密模块83认为接收到的数据为无用数据,剔除掉。通过上述过程可以证明,控制器3向数据链路加密/解密模块发送数据时,无法建立有效通讯,且传递的数据信息均是错误的。
即使当波特率被破译时,即盗用者发现波特率被加倍,并同样倍数改变控制器3的通讯波特率时,通过检验位位置加密可以有效保护数据位的数值不被准确截获,时序图如图9所示。由于控制器3认为检验位在数据位后,因此,当传递数据值为10110010时,由于检验位在数据位的第4位和第5位之间,因此控制器3认为接收到的数据值为10110001,数据值不一致。
由此可见,通过采用本发明提出的防盗用流量装置控制系统结构,软件系统在被到用到其他流量装置系统时,由于数据链路加密/解密模块83与盗用的流量装置的控制器3间无法建立有效通信,软件系统无法被为其他流量装置使用,起到了防盗用的效果。
Claims (4)
1.一种防窃取的流量装置控制系统,其特征在于,包括上位机(1)、加密/解密器(2)、控制器(3)、执行机构组(4)、总线A(5)、总线B(6)、总线C(7)、软件系统(8);所述的上位机(1)包括通讯接口(11),与加密/解密器(2)通过总线A(5)通讯,所述的控制器(3)用于通过总线C(7)向执行机构组(4)内的各个执行机构传送执行命令,并接收执行机构传回来的数据;加密/解密器(2)用于将上位机经总线A传出的经加密后的数据信息进行解密,并经总线B(6)传递给控制器,同时,用于将控制器经总线B传出的数据进行加密,并通过总线A传递给上位机;所述的软件系统(8)存储在上位机(1)中,软件系统中包括控制软件(81)、功能模块组(82)、数据链路加密/解密模块(83),使用者只能对控制软件进行编辑、对功能模块进行调用,无法对数据链路加密/解密模块进行编辑,其中,控制软件通过调用控制软件内部的功能模块实现接收和执行软件使用者产生的指令、接收由控制器发回的数据信息、对接收到的信息进行计算处理、向控制器发送指令,并且使用者利用功能模块对控制软件进行编辑修改,数据链路加密/解密模块用于将控制软件传输来的数据进行加密后,由通讯接口(11)传出,或将通讯接口(11)接收到的数据进行解密后传递给控制软件;
所述数据链路加密/解密模块和加密/解密器的加密方式包括加密波特率、加密数据帧格式、加密数据传输协议中一种或两种以上的结合;
所述加密波特率:数据链路加密/解密模块控制下的通讯接口与加密/解密器间的数据传输波特率值是控制软件中预设的控制器数据传输波特率值的整数倍,倍数值至少为3,且该倍数值对于软件系统的使用者和软件开发者是保密的,软件系统的使用者和软件开发者只能对控制软件中预设的控制器数据传输波特率值进行查询和编辑;
所述加密数据帧格式:数据链路加密/解密模块控制下的通讯接口与加密/解密器间的数据传输方式与控制器的数据传输方式相同,即控制器采用串行数据传输时,通讯接口与加密/解密器间的数据传输方式也为串行,控制器采用并行数据传输时,通讯接口与加密/解密器间的数据传输方式也为并行;
在采用串行方式进行数据传输时,数据链路加密/解密模块控制下的通讯接口与加密/解密器间数据传输的数据帧格式由起始位、结束位、检验位、数据位组成;起始位的逻辑值与串口无数据传输时的常态逻辑值相反,且在数据帧格式的最前端,起始位的位个数与控制软件中预设的控制器数据传输帧格式的起始位个数相同;结束位的逻辑值与串口无数据传输时的常态逻辑值相同,且在数据帧格式的最末端,结束位的位个数与控制软件中预设的控制器数据传输帧格式的起始位个数相同;数据位在起始位和结束位之间,位个数与控制软件中预设的控制器数据位个数相同,数据位的逻辑值是对控制软件传输给数据链路加密/解密模块或控制器传输给加密/解密器的数据帧中加密前的数据位进行可逆的逻辑运算产生,运算方式包括加密前数据位的部分或全部位取反、加密前数据位各位的次序进行调整、加密前数据位与密钥二进制值进行数学运算中的一种或两种以上的复合使用,运算方式对于软件系统的使用者和软件开发者是保密的;检验位的位个数为1位,检验位的逻辑值是由密钥次序中规定的数据位参与计算的次序的第一个参与计算的数据位按照密钥次序依次与其他数据位进行迭代逻辑运算得到,逻辑运算包括与、或、非、与非、或非,检验位的位置是在起始位与结束位间由密钥位置值规定,密钥位置值是检验位与起始位之间间隔的位个数,密钥位置、密钥次序与逻辑运算方式对于软件系统的使用者和软件开发者是保密的;
在采用并行方式进行数据传输时,数据帧格式由检验位、数据位组成;数据位的位个数与控制软件中预设的控制器数据位个数相同,数据位的逻辑值是对控制软件传输给数据链路加密/解密模块或控制器传输给加密/解密器的数据帧中加密前的数据位进行可逆的逻辑运算产生,运算方式包括加密前数据位的部分或全部位取反、加密前数据位各位的次序进行调整、加密前数据位与密钥二进制值进行数学运算中的一种或两种以上的复合使用,运算方式对于软件系统的使用者和软件开发者是保密的;检验位的位个数为1位,检验位的逻辑值是由密钥次序中规定的数据位参与计算的次序的第一个参与计算的数据位按照密钥次序依次与其他数据位进行迭代逻辑运算得到,逻辑运算包括与、或、非、与非、或非,检验位的位置是在数据位的第一位与数据位的最后一位间由密钥位置值规定,密钥位置值是检验位与数据位第一位间间隔的位个数,密钥位置、密钥次序与逻辑运算方式对于软件系统的使用者和软件开发者是保密的;
所述加密数据传输协议:在数据链路加密/解密模块控制下的通讯接口传输数据给加密/解密器时,通讯接口传输数据给加密/解密器后,加密/解密器按照检验位的计算方式计算接收到的数据位所产生的检验位与接收到的检验位是否一致,如果检验位一致,立刻将接收到的数据再进行数据帧格式加密后回传给通讯接口,由通讯接口传给数据链路加密/解密模块检查传输数据的正确性,如果检验位不一致,立刻将数据位全为1且检验位取按照数据位全为1时所计算检验位值的相反值的数据通过通讯接口回传给数据链路加密/解密模块;当数据链路加密/解密模块接收到数据位全为1且检验位的值为按照数据位全为1时所计算检验位值的相反值,则数据链路加密/解密模块重新发送数据;当数据链路加密/解密模块接收到加密/解密器回传的数据时,数据链路加密/解密模块对接收到的数据位进行解密,并与发送的数据位进行比较,如果一致,则立刻将数据位全为0且检验位取按照数据位全为0时所计算的检验位值的数据确认码传输给加密/解密器,并结束本次数据传输,如果不一致,则立刻将数据位全为1且检验位取按照数据位全为1时所计算检验位值的数据确认码传输给加密/解密器,并重新发送数据;加密/解密器在回传给通讯接口数据后,如在加密波特率下传输一个数据帧格式所需要的时间内未收到数据链路加密/解密模块传输的数据,则将接收数据视为无效数据;
在加密/解密器给数据链路加密/解密模块控制下的通讯接口传输数据时,通讯接口传输数据给数据链路加密/解密模块后,数据链路加密/解密模块按照检验位的计算方式计算接收到的数据位所产生的检验位与接收到的检验位是否一致,如果检验位一致,立刻将接收到的数据再进行数据帧格式加密后回传给通讯接口,由通讯接口传给加密/解密器检查传输数据的正确性,如果检验位不一致,立刻将数据位全为1且检验位取按照数据位全为1时所计算检验位值的相反值的数据通过通讯接口回传给加密/解密器;当加密/解密器接收到数据位全为1且检验位的值为按照数据位全为1时所计算检验位值的相反值,则加密/解密器重新发送数据;当加密/解密器接收到数据链路加密/解密模块回传的数据时,加密/解密器对接收到的数据位进行解密,并与发送的数据位进行比较,如果一致,则立刻将数据位全为0且检验位取按照数据位全为0时所计算的检验位值的数据确认码传输给数据链路加密/解密模块,如果不一致,则立刻将数据位全为1且检验位取按照数据位全为1时所计算检验位值的数据确认码传输给数据链路加密/解密模块,并重新发送数据;数据链路加密/解密模块回传给加密/解密器数据后,如在加密波特率下传输一个数据帧格式所需要的时间内未收到数据链路加密/解密模块传输的数据,则将接收数据视为无效数据。
2.根据权利要求1所述的防窃取的流量装置控制系统,其特征在于,所述的通讯接口(11)是并行口或者串行口,接口型式及所采用的通讯协议包括RS232、RS-422、RS485、USB、HDMI、SPI、I2C、CAN、HART、ModBus或PROFIBUS。
3.采用权利要求1或2所述的防窃取的流量装置控制系统的方法,其特征在于,所述数据链路加密/解密模块和加密/解密器的加密方式为加密波特率、加密数据帧格式、加密数据传输协议的结合,包括如下步骤:
上位机中的控制软件在运行过程中,当需要向控制器发送数据时,控制软件发出的未加密数据进入到数据链路加密/解密模块,数据链路加密/解密模块对未加密的数据按照数据帧加密方式进行加密,形成加密后的数据帧,通过通讯接口,按照加密后的数据传输波特率通过总线A按照加密数据传输协议传递给加密/解密器,加密/解密器将接收到的数据进行解密,并按照控制软件预设的控制软件数据传输帧格式和波特率,将数据传输给控制器,并由控制器形成控制操作命令;
当控制器需要向上位机中的控制软件发送数据时,控制器按照控制软件预设的控制软件数据传输帧格式和波特率发出的未加密数据进入到加密/解密器,加密/解密器对未加密的数据按照数据帧加密方式进行加密,形成加密后的数据帧,按照加密后的数据传输波特率通过总线A和通讯接口按照加密数据传输协议传递给数据链路加密/解密模块,数据链路加密/解密模块将接收到的数据进行解密,并传递给控制软件。
4.根据权利要求3所述的防窃取的流量装置控制系统的方法,其特征在于,软件系统的使用者和软件开发者在操作和调试软件系统时,所能获得的权限范围包括对控制软件进行编辑、对功能模块组里的功能模块的调用、预设控制器的数据传输波特率和数据帧格式,所不能获得的权限范围包括对功能模块进行编辑、接触到数据链路加密/解密模块和加密方式、对数据链路加密/解密模块中的加密和解密方式进行编辑,并且加密/解密器的全部设计、生产、加工、程序烧录过程均与软件系统的使用者和软件开发者隔绝,当软件系统的使用者和软件开发者盗用软件系统为其他自动化控制系统制作控制软件时,上位机的通讯接口输出的波特率、数据帧格式和通信协议与控制软件中预设的均不相同,因此通讯接口与控制器接通后,控制器无法获得正确命令,而加密/解密器又无法获得,即使获得了加密/解密器硬件,又因为无法获得烧录的程序,因此控制系统无法正常工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911281855.5A CN110944010B (zh) | 2019-12-13 | 2019-12-13 | 一种防窃取的流量装置控制系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911281855.5A CN110944010B (zh) | 2019-12-13 | 2019-12-13 | 一种防窃取的流量装置控制系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110944010A CN110944010A (zh) | 2020-03-31 |
CN110944010B true CN110944010B (zh) | 2021-09-14 |
Family
ID=69911071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911281855.5A Active CN110944010B (zh) | 2019-12-13 | 2019-12-13 | 一种防窃取的流量装置控制系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110944010B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114449062B (zh) * | 2021-12-31 | 2023-10-24 | 广东国腾量子科技有限公司 | 一种qkd密钥管理系统的交互系统及方法 |
CN114640510B (zh) * | 2022-03-02 | 2023-07-04 | 宁波三星医疗电气股份有限公司 | 一种采用分离的加密服务器进行通信的方法 |
CN116704736B (zh) * | 2023-07-28 | 2023-10-03 | 石家庄科林电气股份有限公司 | 一种sts分体式电能表及其双线多态传输方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008972A (zh) * | 2006-01-27 | 2007-08-01 | 北京飞天诚信科技有限公司 | 软件保护装置数据传输过程的安全控制方法及其设备 |
CN103036823A (zh) * | 2012-12-14 | 2013-04-10 | 中船重工(武汉)凌久电子有限责任公司 | 基于fpga的波特率快速自适应方法、处理器及接收端 |
CN109918933A (zh) * | 2019-03-15 | 2019-06-21 | 广州市星翼电子科技有限公司 | 一种通过加密烧录端口来防止烧录数据被盗听盗取的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9998434B2 (en) * | 2015-01-26 | 2018-06-12 | Listat Ltd. | Secure dynamic communication network and protocol |
-
2019
- 2019-12-13 CN CN201911281855.5A patent/CN110944010B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008972A (zh) * | 2006-01-27 | 2007-08-01 | 北京飞天诚信科技有限公司 | 软件保护装置数据传输过程的安全控制方法及其设备 |
CN103036823A (zh) * | 2012-12-14 | 2013-04-10 | 中船重工(武汉)凌久电子有限责任公司 | 基于fpga的波特率快速自适应方法、处理器及接收端 |
CN109918933A (zh) * | 2019-03-15 | 2019-06-21 | 广州市星翼电子科技有限公司 | 一种通过加密烧录端口来防止烧录数据被盗听盗取的方法 |
Non-Patent Citations (1)
Title |
---|
流量标准装置自动检测系统可靠性浅议;陈梅等;《中国计量》;20080229;第63-64页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110944010A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110944010B (zh) | 一种防窃取的流量装置控制系统及方法 | |
EP0292790B1 (en) | Controlling the use of cryptographic keys via generating station established control values | |
CN110047185B (zh) | 一种智能门锁的开锁方法及系统 | |
JP4763368B2 (ja) | 通信カード、機密情報処理システム、機密情報転送方法およびプログラム | |
CN108073353B (zh) | 一种数据处理的方法及装置 | |
US20170063853A1 (en) | Data cipher and decipher based on device and data authentication | |
KR20140122188A (ko) | 센서 및/또는 센서의 센서 데이터의 조작 검출 방법 | |
CN1319294A (zh) | 具有保密功能的适配器及使用这种适配器的计算机保密系统 | |
CN111314366B (zh) | 一种基于mqtt协议的安全登录系统及方法 | |
CN103825738A (zh) | 一种登陆信息认证方法与设备 | |
JPS61501001A (ja) | 暗号化伝送システム | |
CN112100697B (zh) | 带密码终止开关的存储器装置 | |
CN101770559A (zh) | 数据保护装置和方法 | |
US20120166799A1 (en) | System and method for securely moving content | |
CN100552649C (zh) | 基于mems密码锁及fpga的硬盘加密系统 | |
CN108629192B (zh) | 一种授权数据处理方法及装置 | |
CN113746642B (zh) | 一种计算机间通信方法及系统 | |
CN101251885A (zh) | 一种保护mcu内软件程序安全的方法及装置 | |
CN107493262B (zh) | 用于传输数据的方法和装置 | |
CN111611602A (zh) | 一种基于国密芯片的安全可控量产方法 | |
CN104580181A (zh) | 加密数据的方法、装置及加密加速引擎 | |
JPH08139718A (ja) | 暗号装置およびそれを利用した端末間通信方法 | |
JPS60102038A (ja) | 暗号通信方式 | |
US20230224284A1 (en) | Method of controlling security key of vehicle | |
US7327845B1 (en) | Transmission of encrypted messages between a transmitter and a receiver utilizing a one-time cryptographic pad |
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 |