CN117040714A - 一种双通秘钥的混沌加密式智能安全水表及其加密方法 - Google Patents
一种双通秘钥的混沌加密式智能安全水表及其加密方法 Download PDFInfo
- Publication number
- CN117040714A CN117040714A CN202310372841.4A CN202310372841A CN117040714A CN 117040714 A CN117040714 A CN 117040714A CN 202310372841 A CN202310372841 A CN 202310372841A CN 117040714 A CN117040714 A CN 117040714A
- Authority
- CN
- China
- Prior art keywords
- module
- encryption
- data
- chaotic
- water meter
- 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.)
- Pending
Links
- 230000000739 chaotic effect Effects 0.000 title claims abstract description 135
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims description 69
- 230000006854 communication Effects 0.000 claims abstract description 63
- 238000004891 communication Methods 0.000 claims abstract description 55
- 230000005611 electricity Effects 0.000 claims abstract description 15
- 230000003993 interaction Effects 0.000 claims abstract description 14
- 239000013598 vector Substances 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 10
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 abstract description 19
- 238000012545 processing Methods 0.000 abstract description 7
- 238000005336 cracking Methods 0.000 abstract description 6
- 230000002457 bidirectional effect Effects 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 7
- 230000001965 increasing effect Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000004146 energy storage Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005312 nonlinear dynamic Methods 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005291 chaos (dynamical) Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
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/001—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- 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/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
- H04W12/033—Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/60—Arrangements in telecontrol or telemetry systems for transmitting utility meters data, i.e. transmission of data from the reader of the utility meter
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)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本发明公开了一种双通秘钥的混沌加密式智能安全水表,其中,包括水电表1及与之信息交互的后台控制端2;所述水电表1包括用于检测用水及用电信息的数据源模块101;所述水电表1通过第一无线通讯模块102与所述后台控制端2的第二无线通讯模块201通讯连接;本发明具备如下优点:双向加密:该方案采用双向加密,即不仅在水电表与服务器之间传输数据时进行加密处理,同时在服务器传输数据到水电表时也进行加密处理,有效提高了数据的安全性。使用混沌加密算法:与传统的加密算法不同,双通秘钥的混沌加密式智能安全水表采用混沌加密算法,该算法具有随机性、非线性、复杂度高等特点,可以有效防止攻击者的破解攻击。
Description
技术领域
本发明涉及物联网水电表技术领域,特别涉及一种双通秘钥的混沌加密式智能安全水表及其加密方法。
背景技术
传统物联网智能水表的背景技术主要是通过将水表内部的机械结构与电子元件相结合,实现对水表读数、水流量、水压等数据的测量、存储和传输。这些智能水表通常具有以下技术特点:
机械结构技术:传统水表的核心是一个机械结构,它由一个涡轮、一个齿轮传动系统和一组数字式机械读数器组成。智能水表基于传统水表的机械结构,通过添加微处理器和传感器等电子元件,实现自动读数和数据传输的功能。
电子技术:智能水表通常集成了多种电子元件,如传感器、微处理器、存储器和通信模块等,以实现实时数据采集、存储和传输。
通信技术:智能水表通常通过无线网络、有线网络或蜂窝网络等技术,将数据传输到云端服务器或数据中心,以实现数据的远程监控和管理。
智能水表可以广泛应用于工业、商业和家庭等场景,能够实现远程监控、智能缴费、用水量控制和管网管理等功能,极大地提高了水资源的利用效率和水务管理的智能化水平。
传统的物联网水电表通常使用传统的加密方式,如AES、DES等,其加密方式是单向的,如中国发明专利CN202110658612.X所示,这类加密方法只有在水电表与后台服务器之间传输数据时,才会进行加密处理。而数据从服务器传输到水电表时则不进行加密处理。这样就会存在一定的风险,因为攻击者可以通过拦截服务器和水电表之间的通信线路,获取到传输的数据。
为此,提出一种双通秘钥的混沌加密式智能安全水表及其加密方法。
发明内容
有鉴于此,本发明实施例希望提供一种双通秘钥的混沌加密式智能安全水表及其加密方法,以解决或缓解现有技术中存在的技术问题,至少提供一种有益的选择;
本发明实施例的技术方案是这样实现的:
第一方面
一种双通秘钥的混沌加密式智能安全水表,其中,包括水电表及与之信息交互的后台控制端;所述水电表包括用于检测用水及用电信息的数据源模块;所述水电表通过第一无线通讯模块与所述后台控制端的第二无线通讯模块通讯连接;
以上为传统水电表及互联网系统所应用的后台控制端的连接与通讯原理;在此基础上,所述水电表还包括第一加密模块,所述第一加密模块产生随机的双通加密密钥和初始化向量,对输入的明文数据进行加密,并将其转换为密文输出传递至所述后台控制端;
在具体应用时,所述MCU模块接收所述数据源模块检测的数据,并与所述第一加密模块交互连接及加密,随后所述MCU模块将加密后的信息传递至所述第一无线通讯模块,并无线传递至所述后台控制端的所述第二无线通讯模块;
之后,所述CPU将信息传递至数据寄存器存储。
其中在一种实施方式中:所述后台控制端还包括与所述CPU交互连接的第二加密模块和验证模块;所述第二加密模块和所述验证模块分别对所述第一加密模块的输出信息生成加密后的数据并管理密钥和初始化向量等加密参数、对所述第一加密模块的输出信息使用不同的测试向量进行验证。
在应用时,通过第二加密模块产生随机的加密密钥和初始化向量,从而保证加密的安全性。同时,它还具备加密和解密的能力,可以对输入的明文数据进行加密,并将其转换为密文输出。同样地,它也可以对输入的密文数据进行解密,得到明文数据。
在上述实施方式中:上述的驱动模式并不局限于此;作为优选的技术方案,其还可优选选型为:所述第二加密模块和所述验证模块分别为NXPACH模块和BIST模块;所述CPU向所述NXPACH模块发送需要加密的数据和密钥,所述NXPACH模块对数据进行加密,并返回加密后的数据;所述BIST模块不断检测所述CPU和所述NXPACH模块之间的信息交互状态。
其中在一种实施方式中:所述第一加密模块包括随机数发生器和混沌模块;所述随机数发生器接收所述MCU模块传递的所述数据源模块所检测的信息,所述随机数发生器生成初始化向量IV于所述混沌模块;所述混沌模块输出将通过异或XOR运算与原始数据流进行混合,生成加密后的数据流。
在整套第一加密模块中,随机数发生器的输出将作为混沌模块的输入之一,另外一个输入是一个初始化向量(IV),这个向量是随机数发生器。混沌模块的输出将通过异或(XOR)运算与原始数据流进行混合,生成加密后的数据流。整套第一加密模块103的输出是加密后的数据流。
在上述实施方式中:上述的驱动模式并不局限于此;作为优选的技术方案,其还可优选选型为:所述随机数发生器为噪声源模块。
其中在一种实施方式中:所述混沌模块包括y(n)计算模块与XOR模块;所述y(n)计算模块与所述XOR模块通过内置的反馈器共同交互,随机生成所述初始化向量IV的位置和值来实现初始向量的设置,产生随机数及加密密钥。
XOR模块的输入是y(n)和x(n)以及w(n)和(kXORk),其中y(n)和x(n)是随机数发生器和混沌电路的输出,w(n)是外部环境的干扰噪声,(kXORk)是密钥的异或值。XOR模块的输出是加密后的密文z(n)。
第二方面
一种双通秘钥的混沌加密式智能安全水表的加密方法,该加密方法包括如下步骤:
S1、水电表通过数据源模块检测用水及用电信息,基于第一加密模块对数据生成混沌序列;生成的混沌序列和随机噪声序列结合在一起,作为加密通信过程中的密钥;
S1.1、所述第一加密模块的加密公式为:
y(n+1)=ay(n)(1-y(n))+k*x(n)z(n)=x(n)XORy(n)XORw(n)
z(n)=x(n)XORy(n)XORw(n)
其中,x(n)表示所述数据源模块采集到的数据,y(n)表示混沌序列,w(n)表示噪声序列,z(n)为加密后的输出结果;
S2、在物联网水电表系统中,引入系统管理员使用k1作为密钥;
S2.1、在加密通信过程中,首先将明文数据通过XOR运算与前一个加密块相结合,然后与混沌序列和噪声序列相结合,形成密文;在后台控制端,接收到的密文通过相同的过程进行解密,以获得原始数据;
S2.2、入系统管理员使用k1作为主要密钥,而k2可以用作备用密钥:
y(n+1)=ay(nX1-y(n))+kx(n)+bw(n)
z(n)=x(n)XORyn)XORw(n)XOR k1
b表示秘钥参数,w(n)表示噪声序列,k1表示由秘钥生成的密钥;
S3、引入系统管理员使用k1作为主要密钥,而k2可以用作备用密钥;如果主密钥失效,备用密钥衔接并保障通讯;
结合所述S1和所述S2,生成混沌序列和随机噪声序列,将它们与明文数据进行XOR运算,形成第一加密块;
S3.1、将所述第一加密块与前一个加密块进行XOR运算,然后与第二个密钥k2进行XOR运算,生成第二加密块;
S3.2、将所述第一加密块、所述第二加密块进行XOR运算,生成最终的密文;在所述后台控制端,接收到的密文通过相同的过程进行解密,以获得原始数据;
S3.3、S3的加密过程为:
y(n+1)=ay(n)1-y(n))+kx(n)+bw(n)
z(n)=x(n)XORy(n)XORw(n)XOR(k1 XOR k2)
k1和k2表示由两个不同的秘钥生成的密钥。
与现有技术相比,本发明的有益效果是:
一、双向加密:本发明提供的水表及其加密方法采用了双向加密,即不仅在水电表与服务器之间传输数据时进行加密处理,同时在服务器传输数据到水电表时也进行加密处理,有效提高了数据的安全性。
二、使用混沌加密:与传统的加密不同,本发明提供的水表及其加密方法的双通秘钥的混沌加密式智能安全水表采用混沌加密算法,该算法具有随机性、非线性、复杂度高等特点,可以有效防止攻击者的破解攻击。
三、使用双通秘钥:传统的加密通常只使用一个密钥来进行加密解密,而本发明提供的水表及其加密方法采用双通秘钥,即采用两个不同的密钥分别对数据进行加密和解密,更加安全可靠。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的多个水电表和一个后台控制端组成的系统示意图;
图2为本发明的水电表模块示意图;
图3为本发明的后台控制端模块示意图;
图4为本发明的第一加密模块示意图;
图5为本发明的混沌模块示意图;
图6为本发明的加密公式计算原理流程示意图;
图7为本发明的加密公式应用于水电表交互系统时的工作流程示意图;
图8为本发明应用时的秘钥轮换代码及其注释的示意图。
附图标记:1、水电表;101、数据源模块;102、第一无线通讯模块;103、第一加密模块;1031、随机数发生器;1032、混沌模块;10321、y(n)计算模块;10322、XOR模块;104、MCU模块;2、后台控制端;201、第二无线通讯模块;202、数据寄存器;203、第二加密模块;204、验证模块;205、CPU。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施例的限制;
需要注意的是,术语“第一”、“第二”、“对称”、“阵列”等仅用于区分描述与位置描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“对称”等特征的可以明示或者隐含地包括一个或者更多个该特征;同样,对于未以“两个”、“三只”等文字形式对某些特征进行数量限制时,应注意到该特征同样属于明示或者隐含地包括一个或者更多个特征数量;
在本发明中,除非另有明确的规定和限定,“安装”、“连接”、“固定”等术语应做广义理解;例如,可以是固定连接,也可以是可拆卸连接,或一体成型;可以是机械连接,可以是直接相连,可以是焊接,也可以是通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据说明书附图结合具体情况理解上述术语在本发明中的具体含义。
在现有技术中,传统的物联网水电表通常使用传统的加密算法,如AES、DES等,其加密方式是单向的,这类加密方法只有在水电表与后台服务器之间传输数据时,才会进行加密处理。而数据从服务器传输到水电表时则不进行加密处理。这样就会存在一定的风险,因为攻击者可以通过拦截服务器和水电表之间的通信线路,获取到传输的数据;为此,请参阅图1-7,本发明提供一种技术方案以解决上述技术问题:一种双通秘钥的混沌加密式智能安全水表及该水表所应用的加密方法;
在本申请一些具体实施方式中,请结合参阅图6~7:首先,该水表的加密方法包括:
S1、水电表1通过数据源模块101检测用水及用电信息,基于水电表1自身的第一加密模块103对数据生成混沌序列;生成的混沌序列和随机噪声序列结合在一起,作为加密通信过程中的密钥;
S1.1、第一加密模块103的加密公式(1)为:
y(n+1)=ay(n)(1-y(n))+k*x(n)z(n)=x(n)XORy(n)XORw(n)
z(n)=x(n)XORy(n)XORw(n)
其中,x(n)表示数据源模块101采集到的数据,y(n)表示混沌序列,w(n)表示噪声序列,z(n为加密后的输出结果;
在物联网水电表系统中,公式(1)用于生成混沌序列,在这个系统中,初始值和控制参数由系统管理员(工作人员或生产厂商)设置,以确保其安全性。生成的混沌序列和随机噪声序列结合在一起,作为加密通信过程中的密钥。
S2、在物联网水电表系统中,引入系统管理员使用k1作为密钥;
S2.1、在加密通信过程中,首先将明文数据通过XOR运算与前一个加密块相结合,然后与混沌序列和噪声序列相结合,形成密文;在后台控制端2,接收到的密文通过相同的过程进行解密,以获得原始数据;
S2.2、入系统管理员使用k1作为主要密钥,而k2可以用作备用密钥,公式(2)为:
y(n+1)=ay(nX1-y(n))+kx(n)+bw(n)
z(n)=x(n)XORyn)XORw(n)XOR k1
b表示秘钥参数,w(n)表示噪声序列,k1表示由秘钥生成的密钥;
公式(2)中引入了一个额外的参数b,以及由秘钥生成的密钥k1。在物联网水电表系统中,这个公式用于增强加密强度和保护数据的安全性。系统管理员可以使用k1作为主要密钥,而k2可以用作备用密钥。如果主密钥失效,备用密钥可以无缝衔接,并保障通讯。
在加密通信过程中,首先将明文数据通过XOR运算与前一个加密块(或IV)相结合,然后与混沌序列和噪声序列相结合,形成密文。在接收端,接收到的密文通过相同的过程进行解密,以获得原始数据。
S3、引入系统管理员使用k1作为主要密钥,而k2可以用作备用密钥;如果主密钥失效,备用密钥衔接并保障通讯;
结合S1和S2,生成混沌序列和随机噪声序列,将它们与明文数据进行XOR运算,形成第一加密块;
S3.1、将第一加密块与前一个加密块进行XOR运算,然后与第二个密钥k2进行XOR运算,生成第二加密块;
S3.2、将第一加密块、第二加密块进行XOR运算,生成最终的密文;在后台控制端2,接收到的密文通过相同的过程进行解密,以获得原始数据;
S3.3、S3的加密过程,公式(3)为:
y(n+1)=ay(n)1-y(n))+kx(n)+bw(n)
z(n)=x(n)XORy(n)XORw(n)XOR(k1 XOR k2)
k1和k2表示由两个不同的秘钥生成的密钥。
公式(3)是公式(1)和(2)的扩展与迭代,它结合了两种加密方法。在物联网水电表系统中,该公式可以用于提高加密强度和保障数据的安全性。
在这个系统中,首先生成混沌序列和随机噪声序列,然后将它们与明文数据进行XOR运算,形成第一个加密块。接下来,将第一个加密块与前一个加密块(或IV)进行XOR运算,然后与第二个密钥k2进行XOR运算,生成第二个加密块。最后,将两个加密块进行XOR运算,生成最终的密文。在接收端,接收到的密文通过相同的过程进行解密,以获得原始数据。
在上述方法流程中,请参阅图7:上述加密方法的全流程为:
读取数据源模块101数据,即读取水电表1的计量数值,作为x(n)的输入。
根据公式y(n+1)=ay(n)1-y(n))+kx(n)+bw(n)计算y(n+1)。
根据公式z(n)=x(n)XORy(n)XORw(n)XOR(k1 XORk2)计算z(n)。
将z(n)作为通讯数据发送给后台,实现与后台的交互。
通过接收后台的数据,即秘钥k1和k2,更新w(n)。
根据上一次的计量数值和当前计量数值计算水电表的用量。
将用量数据作为输出返回给显示屏,同时在本地存储用量数据,作为历史记录。
对于公式本身而言,具体来说,它读取水表和电表的数据,然后使用公式(3)计算出y(n+1)的值,再使用随机数生成器生成w(n)的值,最后使用公式(3)计算出z(n)的值,并将z(n)和y(n+1)的值传输到后台。
可以理解的是,在本具体实施方式中,公式(1)中,y(n+1)和z(n)是基于混沌理论的非线性动力学方程得到的。y(n+1)表示当前时刻n的状态值,通过迭代方程得到下一个状态值y(n+1),其中a和k是参数,x(n)是输入信号。(1-y(n))表示当前状态值y(n)的反转值。z(n)通过异或运算符将x(n)、y(n)和w(n)三个信号进行混合,其中w(n)是噪声信号,用于增加加密的随机性。
公式(1)中的z(n)可以看做是对输入信号x(n)进行加密处理,其中y(n)和w(n)是引入的混沌噪声信号,从而达到了对数据的混淆和保护的目的。同时,这个加密过程可以通过将z(n)再次通过公式(1)进行反推,从而得到原始的输入信号x(n)。
示例性的,基于公式(1),以下为其全流程的推导:
假设一个模拟环境,该模拟环境有一个水电表1及与之通讯连接的后台控制端2,它的初始值为y(0)=0.2,输入信号为x(n)=0.5,而参数a=1.5,k=1,w(0)=0.1。
首先,根据公式(1)可以得到:
y(1)=a*y(0)*(1-y(0))+k*x(0)*z(0)z(1)
=x(0)XOR y(0)XORw(0)
将y(0),x(0),和w(0)带入上面的公式,得到:
y(1)=1.5*0.2*(1-0.2)+1*0.5*(0XOR 0.2XOR 0.1)
≈0.29z(1)=0.5XOR 0.2XOR 0.1≈0.4
然后可以继续根据公式(1),计算y(2)和z(2),得到:
y(2)=1.5*0.29*(1-0.29)+1*0.5*(0.4XOR 0.29XOR 0.1)
≈0.357z(2)=0.5XOR 0.29XOR 0.1XOR 0.4≈0.69
可以继续这个过程,一直计算出y(n)和z(n)的值。
总之,公式(1)是一个可以用于生成混沌序列的算法,它的输出结果是一系列看似随机的数值。通过调整参数,可以控制输出的结果,使其更加随机或者更加周期性。
需要指出的是,在公式(1)中,混沌序列和噪声序列的具体表现形式可以根据具体实现方式而定。一般而言,混沌序列是一种在非线性动力学系统中出现的不规则运动形式,它表现出无规律的波动和震荡,这种运动状态对于外部干扰具有很强的抗干扰能力。噪声序列则是一种随机信号,具有随机性、无规律性和不确定性,可以模拟实际应用中存在的各种干扰和噪声。
具体到公式(1)中,混沌序列和噪声序列的参数化形式可以通过设置初始值和一些常数来实现。以混沌序列为例,常见的参数化方法包括设置初始值和控制参数a、b、c等的取值。在实际应用中,这些参数值可以根据具体需求进行调整和优化,以达到更好的性能和效果。噪声序列的参数化方法则可以通过设置其幅值和频率等参数来实现,也可以通过模拟随机过程来生成。
示例性的,基于公式(1)的混沌序列的实现示例,可以引用经典的Lorenz算法来生成混沌序列:
(1)初始条件:
x0=0
y0=1
z0=1.05
(2)参数设置:
a=10
b=28
c=8/3
k=0.5
公式(1)的迭代:
xn+1=xn+k(y(n)-x(n))
yn+1=yn+k(x(n)(a-z(n))-y(n))
zn+1=zn+k(x(n)y(n)-c*z(n))
其中,x(n),y(n),z(n)就是混沌序列的“种子”,可以作为公式(1)中的y(n)和w(n)使用。在这个示例中,控制参数a、b、c决定了Lorenz系统的动态行为,初始条件x0、y0、z0决定了混沌序列的起始状态,k决定了混沌序列的增长速度。在实际应用中,可以根据具体需求调整初始条件和控制参数的取值,以生成适合于公式(1)应用场景的混沌序列。
进一步示例性的,基于公式(1)的噪声生成:
基于高斯白噪声的加性噪声:
w(n)=sigma*randn(1,N)
其中,randn函数可以生成服从均值为0,方差为1的高斯分布随机数,sigma表示噪声的标准差,N表示生成的噪声序列的长度。
在公式(1)中,噪声序列w(n)的作用是增加随机性,使得系统更难以被预测和攻击,因此噪声序列的标准差大小应根据具体应用场景进行调整。例如,对于一个水表系统,如果需要提高安全性,可以增加噪声序列的标准差,使得攻击者难以通过截获数据来破解系统。如果需要提高数据的可靠性,则可以适当减小噪声序列的标准差。
综上,生成噪声序列的具体方法和参数设置需要根据具体的应用场景进行选择和调整。进而,本技术在此点实现了对水电表1本体的数据加密。
在本方案中,公式(2)中的y(n)同样表示一个混沌序列,x(n)表示一个输入信号,w(n)表示一个噪声序列。相比于公式(1),公式(2)多了一个k1,它是一个常数,用于调整混沌序列和噪声序列对输入信号的影响。公式(2)中的y(n)和z(n)同样可以用于加密通信,其中z(n)就是通过将x(n)与y(n)、w(n)异或得到的。在加密通信中,后台控制端2可以使用相同的公式(2)和相同的参数来解密。
示例性的,对公式(2)的演示:
假设一个模拟环境,该模拟环境有一个水电表1及与之通讯连接的后台控制端2,需要保护其中的数据通信安全。可以使用公式(2)来生成一个伪随机序列z(n),然后将原始的数据x(n)与z(n)进行异或操作,得到加密后的数据y(n)。具体流程如下:
P1、初始化混沌序列y(n)和噪声序列w(n),并设定控制参数a、k、b和w的取值。
P2、对于每个时间步n,先利用公式(2)计算出y(n+1)和z(n),其中y(n+1)是下一个混沌序列的值,z(n)是噪声序列。
P3、将原始数据x(n)与z(n)进行异或操作,得到加密后的数据y(n)。
P4、将加密后的数据y(n)发送给接收端。
P5、接收端同样使用公式(2)生成伪随机序列z(n),然后将接收到的加密数据y(n)与z(n)进行异或操作,得到解密后的数据x(n)。
需要指出的是,在本具体实施方式中,为了确保通信安全,在实际应用时需要定期更改控制参数a、k、b和w的取值,以及初始值的设置,以避免恶意攻击者猜测出参数和初始值,从而破解加密数据。
进一步示例性的,本模拟场景不变:
初始值:y(0)=0.3,w(0)=0.4,z(0)=0.1
控制参数:a=1.4,k=0.2,b=0.3,k1=0.4,k2=0.1
现在假设水电表1要将明文字符"M"加密并传递给后台控制端2。后台控制端2基于CPU205"M"转换为ASCII码,得到77。接下来,将77转换为二进制,得到01001101。将每一位二进制数当做明文的一个bit,对每个bit都进行加密,并将加密后的bit串传递给后台控制端2。加密过程如下:
将01001101按顺序划分为8个bit,依次表示为x(1)到x(8);
对于第一个bit,即x(1)=0,根据公式(2)计算得到y(1)=0.294,w(1)=0.413,z(1)=0.0086
根据z(1)的值,将k1和k2的二进制位异或,得到k1XORk2=0XOR1=1根据公式(2),计算得到第一个加密后的bit为:c(1)=x(1)XORy(1)XORw(1)XOR(k1XORk2)=0XOR1XOR1XOR1=1
重复步骤2-4,对每一个bit都进行加密,得到加密后的bit串c=10111101。
后台控制端2接收到加密后的bit串c后,按照与发送方相同的步骤进行解密。解密过程如下:
将加密后的bit串c划分为8个bit,依次表示为c(1)到c(8)
对于第一个bit,即c(1)=1,根据公式(2)计算得到y(1)=0.348,w(1)=0.465,z(1)=0.0078
根据z(1)的值,将k1和k2的二进制位异或,得到k1XORk2=0XOR1=1根据公式(2),计算得到第一个解密后的bit为:x(1)=c(1)XORy(1)XORw(1)XOR(k1XORk2)=1XOR1XOR1XOR1=0
重复步骤2-4,实现后台控制端2与水电表1的双端加密交互。
可以理解的是,在本示例性展示中,公式(2)中加入了与秘钥相关的参数b和由秘钥生成的密钥k1,可以增加加密强度和保护数据的安全性。具体的加密流程如下:
P1、加密过程:
首先,明文数据x(n)与秘钥k1做异或运算得到中间结果m1(n),即m1(n)=x(n)XORk1。
接着,将m1(n)与混沌序列y(n)、噪声序列w(n)分别做异或运算,并加上参数b和系数k,得到加密后的数据z(n)=m2(n)XORw(n)XORy(n)XORb,即z(n)=m1(n)XORw(n)XORy(n)XORb。
最后,将加密后的数据z(n)发送给后台控制端2。
P2、解密过程:
后台控制端2收到加密后的数据z(n)后,将其与密钥k1做异或运算得到中间结果m1(n),即m1(n)=z(n)XORk1。
接着,后台控制端2需要知道混沌序列y(n)、噪声序列w(n)和参数b的值,才能进行解密。后台控制端2可以通过与发送方预共享的密钥来获取这些参数的值。
后台控制端2将m1(n)与混沌序列y(n)、噪声序列w(n)分别做异或运算,并加上参数b和系数k,得到解密后的数据x(n)=m2(n)XORw(n)XORy(n)XORb,即x(n)=m1(n)XORw(n)XORy(n)XORb。
在加密过程中,通过将明文数据与密钥做异或运算,可以使加密后的数据与原始数据之间的关系变得非常复杂,从而增加了破解的难度。同时,混沌序列和噪声序列的引入,可以增加数据的随机性和不可预测性,增加了数据的安全性。在解密过程中,后台控制端2需要知道混沌序列、噪声序列和参数b的值,才能正确解密。因此,只有掌握了预共享的密钥,才能够正确解密加密后的数据,保护了物联网水表之间传输数据的安全性。
在本方案中,公式(3)是在公式(3)的基础上增加了另一个秘钥k2,通过将k1和k2异或后加入到z(n)中,以增强加密强度和保护数据的安全性。在具体应用时,既可以选择以公式(2)为载体,也可以选择公式(3)为载体;其中公式(2)的具体原理推导已由上文展示;下文将展示公式(3)的加密原理:
示例性的,通过将k1和k2异或后加入到z(n)中,以增强加密强度和保护数据的安全性。其中,y(n)表示混沌序列,w(n)表示噪声序列,k1和k2表示密钥,x(n)为明文,z(n)为密文:
P1、生成混沌序列y(n)和噪声序列w(n),其中混沌序列y(n)的生成方式和公式(2)中一样,噪声序列w(n)的生成方式也可以是随机产生的数字序列,或者是其他的数字序列。
P2、将明文x(n)与混沌序列y(n)异或,得到中间变量A(n)=x(n)XORy(n)。
P3、将中间变量A(n)与噪声序列w(n)、密钥k1、密钥k2异或,得到密文z(n)=A(n)XORw(n)XORk1XORk2。
P4、将密文z(n)发送给接收方,接收方收到密文后,用相同的密钥k1、k2进行解密。将密文z(n)与密钥k1、k2异或,得到中间变量B(n)=z(n)XORk1XORk2。
P5、生成混沌序列y(n)和噪声序列w(n),与P1中的生成方式一样。
P6、将中间变量B(n)与混沌序列y(n)异或,得到明文x(n)=B(n)XORy(n)。
公式(3)中的加密过程和解密过程都是利用混沌序列和噪声序列对明文进行加密和解密,通过添加密钥k1和k2,即双通秘银,可以增加加密强度和保护数据的安全性。
进一步示例性的,假设一个模拟环境,该模拟环境有一个水电表1及与之通讯连接的后台控制端2,水电表1传递了一个长度为8比特的数据流于后台控制端2;
针对该长度为8比特的数据流进行加密,采用公式(3)进行加密:
S1、首先,需要预设好一个初始的混沌序列y(0),噪声序列w(0),以及两个密钥k1和k2,并设置公式中的控制参数a、b、c、k的取值,假设它们分别为:a=1.4,b=0.3,c=0.7,k=0.4。
S2、接下来,通过公式(3)依次生成混沌序列y(n)和噪声序列w(n),同时生成密钥k1和k2。假设要加密的数据流为11001110,那么可以将其转化为二进制比特流,即x(0)=1,x(1)=1,x(2)=0,x(3)=0,x(4)=1,x(5)=1,x(6)=1,x(7)=0。
S3、按照公式(3)中的运算方式,依次计算出y(n+1)和w(n+1),并用它们生成密钥k1和k2:
对于混沌序列y(n):
y(n+1)=a*y(n)*(1-y(n))+k*x(n)+b*w(n)
对于噪声序列w(n):
w(n+1)=c*w(n)*(1-w(n))
对于密钥k1和k2:
k1=y(n)XORw(n)
k2=w(n)XOR k1
其中,XOR表示按位异或运算;
接下来,将生成的密钥k1和加密数据流进行异或运算,得到加密后的数据流。具体计算方式为:
c(n)=x(n)XOR k1 XORk2
最后,将加密后的数据流进行传输或存储。
在解密时,需要先通过公式(3)重新生成混沌序列y(n)和噪声序列w(n),以及密钥k1和k2;然后,将密文和密钥k1和k2进行异或运算,得到解密后的数据流。具体计算方式为:
x(n)=c(n)XOR k1 XORk2
通过这种方式,可以将数据流进行加密,保护数据的安全性。由于密钥k1和k2的生成过程中使用了混沌序列和噪声序列,因此加密强度更高。
在本方案中,基于上文,在实际应用时,公式(3)可以引入作为管理员使用k1为主要密钥;而k2可以用作备用密钥;如果主密钥失效,备用密钥衔接并保障通讯;下面将对上述的示例性实施场景进行进一步的推导,接下来引入一个模拟的突发情况并检验上述实施步骤:管理员秘钥k1失效了,需要无缝切换到秘钥k2,以保障通讯的连续性;
具体而言,水电表1的MCU模块104及后台控制端2的CPU可以采用嵌入式开发技术已经现有的“秘钥轮换”技术来实现,具体的:
将多个秘钥存储在一个数组中,并使用一个计数器来追踪当前使用的秘钥。每当一个秘钥失效时,计数器将自动递增,以切换到下一个秘钥。在公式(3)中,每当加密函数被调用时,它将选择当前使用的秘钥,并将计数器递增,以准备切换到下一个秘钥。
需要指出的是,“秘钥轮换”技术属于嵌入式开发技术的现有模式,例如智能卡、物联网设备等。
其具体的实施编程方式如图8所示,其使用了一个全局变量key_counter来追踪当前使用的秘钥。每当加密函数被调用时,将使用key_counter来选择当前使用的秘钥,并将计数器递增,以准备切换到下一个秘钥。
可以理解的是,在本具体实施方式中,公式(1)、(2)和(3)的z(n)都表示加密后的输出结果。在公式(1)中,z(n)表示水表数据经过混沌序列和噪声序列加密后的结果;在公式(2)中,z(n)表示数据经过混沌序列、噪声序列以及由秘钥生成的密钥加密后的结果;在公式(3)中,z(n)表示数据经过混沌序列、噪声序列以及由两个秘钥生成的密钥加密后的结果。因此,z(n)是加密后的输出结果。
总结性的,当应用于物联网水电表系统时,公式(1)、(2)和(3)可用于加密通信以确保数据的保密性和完整性。在上述三个公式中,混沌序列和噪声序列是通过随机数发生器1031和混沌模块1032生成的。加密和解密过程在通信双方之间进行,保证了数据的保密性和完整性,使得该系统适用于物联网水电表系统等敏感领域。
以上为本具体实施方式提供的一种双通秘钥的混沌加密式智能安全水表所应用的加密方法,下文将展示执行该加密方法的具体智能安全水表:
在本申请一些具体实施方式中,请结合参阅图1~5:一种双通秘钥的混沌加密式智能安全水表,其中,包括水电表1及与之信息交互的后台控制端2;水电表1包括用于检测用水及用电信息的数据源模块101;水电表1通过第一无线通讯模块102与后台控制端2的第二无线通讯模块201通讯连接;
以上为传统水电表及互联网系统所应用的后台控制端2的连接与通讯原理;其中第一无线通讯模块102和第二无线通讯模块201可优选为NB-IoT通讯模块;
在此基础上,本具体实施方式所提供的一种双通秘钥的混沌加密式智能安全水表中,水电表1还包括第一加密模块103,第一加密模块103产生随机的双通加密密钥和初始化向量,对输入的明文数据进行加密,并将其转换为密文输出传递至后台控制端2;
在具体应用时,MCU模块104接收数据源模块101检测的数据,并与第一加密模块103交互连接及加密,随后MCU模块104将加密后的信息传递至第一无线通讯模块102,并无线传递至后台控制端2的第二无线通讯模块201;
之后,CPU205将信息传递至数据寄存器202存储。
需要指出的是,在本具体实施方式中,接收数据源模块101即传统水电表用于检测用水用电信息的相关常规模块;
在本方案中,后台控制端2还包括与CPU205交互连接的第二加密模块203和验证模块204;第二加密模块203和验证模块204分别对第一加密模块103的输出信息生成加密后的数据并管理密钥和初始化向量等加密参数、对第一加密模块103的输出信息使用不同的测试向量进行验证。
需要指出的是,水电表1除了上述数据源模块101、第一无线通讯模块102、第一加密模块103等模块,其在实际应用时还包括了传统智能水电表的相关常规模块;同理,后台控制端2在实际应用时还包括了传统物联网后台控制的相关常规模块;因其功能相同且结构相同,因此不再赘述。
在应用时,通过第二加密模块203产生随机的加密密钥和初始化向量,从而保证加密的安全性。同时还具备加密和解密的能力,可以对输入的明文数据进行加密,并将其转换为密文输出。同样地,它也可以对输入的密文数据进行解密,得到明文数据。
具体的,第一加密模块103包括随机数发生器1031和混沌模块1032;随机数发生器1031接收MCU模块104传递的数据源模块101所检测的信息,随机数发生器1031生成初始化向量IV于混沌模块1032;混沌模块1032输出将通过异或XOR运算与原始数据流进行混合,生成加密后的数据流。
在整套第一加密模块103中,随机数发生器1031的输出将作为混沌模块1032的输入之一,另外一个输入是一个初始化向量(IV),这个向量是随机数发生器1031。混沌模块1032的输出将通过异或(XOR)运算与原始数据流进行混合,生成加密后的数据流。整套第一加密模块103的输出是加密后的数据流。随机数发生器1031通过输入数据源模块101的数据源(如水表检测的水电信息),生成一个随机的初始化向量(IV),用于混沌模块1032中的状态初始化。接下来,混沌模块1032根据这个初始状态和一系列的混沌方程计算出一系列的伪随机数序列,这些序列通过异或运算和原始数据流进行混合,从而生成加密后的数据流。最终,加密后的数据流将传输给第一无线通讯模块102,以便于发送给后台控制端2的第二无线通讯模块201。
当随机数发生器1031收到数据源模块所传递的输入信息后生成一个随机数序列,这个序列的初始状态就是随机数发生器1031的种子。然后,这个随机数序列中的一部分(按照实际情况的通常惯例,通常是序列的前面几个数)会被选出来作为初始化向量(IV),传递给混沌模块1032。混沌模块1032将接收到的初始化向量和它自己内部的状态作为输入,并基于上文所述的公式(1)、(2)和(3)产生一个新的状态输出。这个新的状态输出又会成为下一次输入的一部分,这样就形成了一个循环,使得混沌模块产生的输出看起来是完全随机的。
优选的,随机数发生器1031为噪声源模块。噪声源模块的型号可选为IntelDRNG模块、AMDRDRAND模块、VIAPadLockRNG模块、BroadcomBCM5892TRNG模块、MaximMAX66242TRNG模块、MicrochipATECC608ATRNG模块等。
可以理解的是,在本具体实施方式中,随机数发生器1031生成的随机数序列和混沌模块产生的混沌序列都是不可预测的,因此将它们组合起来用于加密,可以增加加密的强度和安全性。初始化向量的作用在于使得相同的输入数据产生不同的输出结果,这有助于防止攻击者使用已知明文攻击等方式对加密数据进行破解。
需要指出的是,为了保证物理随机噪声源和混沌电路的兼容性,需要对其进行合理的设计和选择。具体而言,本具体实施方式提供的水表装置在应用时应保证以下几点:
(1)电源和电压:随机数发生器1031和混沌模块1032需要相同的电源和电压,以确保它们可以正确地工作和相互协作。
(2)信号接口:随机数发生器1031和混沌模块1032之间需要进行信号传输,因此需要选择合适的接口标准,例如SPI或I2C。
(3)设计布局:为了避免干扰和噪声,需要合理地布局随机数发生器1031和混沌模块1032,同时使用适当的滤波器和隔离器来减少干扰。
具体的,混沌模块1032包括y(n)计算模块10321与XOR模块10322;y(n)计算模块10321与XOR模块10322通过内置的反馈器共同交互,随机生成初始化向量IV的位置和值来实现初始向量的设置,产生随机数及加密密钥。
XOR模块10322的输入是y(n)和x(n)以及w(n)和(k1XORk2),其中y(n)和x(n)是随机数发生器和混沌电路的输出,w(n)是外部环境的干扰噪声,(k1XORk2)是密钥的异或值。XOR模块的输出是加密后的密文z(n);
可以理解的是,在本具体实施方式中,在使用时需要一个初始向量(Initialization Vector;IV),其作用是增加加密强度,防止攻击者通过对多次加密结果的分析来破解密钥。在本具体实施方式中,y(n)计算模块10321并不直接接收IV,而是通过在算法实现过程中固定IV的位置和值来实现初始向量的设置。在具体实现中,可以将IV作为输入之一,然后在y(n)计算模块10321中进行相应的处理。
在加密过程中,初始向量会被连续地异或到明文中,然后输入到混沌模块中产生伪随机数流,并与明文异或生成密文。y(n)计算模块和XOR模块是在混沌模块中共同工作的组成部分,负责产生伪随机数流以及将其与明文进行异或运算来实现加密。
需要指出的是,在本具体实施方式中,XOR模块10322不需要接收初始化向量(IV),XOR模块10322的输入是y(n)和x(n)以及w(n)和(k1XORk2),其中y(n)和x(n)是随机数发生器1031和混沌模块1032的输出,w(n)是外部环境的干扰噪声,(k1XORk2)是密钥的异或值。XOR模块10322的输出是加密后的密文z(n)。
优选的,混沌模块1032优选为Infineon OPTIGATPM模块、Test Vector LeakageAssessment(TVLA)模块或Chip DNA模块;通过常规的嵌入式开发技术即可刻录设置出上述的y(n)计算模块10321和XOR模块10322;
示例性的,将y(n)计算模块10321和XOR模块10322基于FPGA开发模块进行HDL化,随后将HDL转化为硬件描述语言,如Verilog或VHDL,并使用综合工具将其转换为逻辑网表;将逻辑网表映射到目标芯片的物理结构上,并进行布线,以满足时序和功耗等限制条件;使用综合工具和布局工具生成比特流文件(该文件包含了完整的硬件设计信息)。最终,将生成的y(n)计算模块10321和XOR模块10322的比特流文件硬件化,并通过烧录工具烧录到目标硬件设备中;如果有必要,在后期还可以进行一些常规的工艺测试;
可以理解的是,上述是嵌入式开发技术的常规应用手段中的其中一种,还可以通过其它的嵌入式开发技术设计出y(n)计算模块10321和XOR模块10322;
可以理解的是,上述列举的嵌入式开发技术,还可以对本具体实施方式其它的模块进行加工烧录。
同时,上述提供的四种混沌模块1032的模块型号均包括相关非线性电路、储能元件和反馈网络。非线性电路提供非线性特性,储能元件存储能量,并在反馈网络中进行相互作用。这种反馈网络可以将系统带入混沌状态,产生看似无序的随机振荡。在混沌状态下,系统表现出高度的敏感性依赖于初始条件和控制参数的微小变化,从而为加密提供了潜在的不可预测性和安全性。因此产生了高质量的随机数和提供加密密钥。
在本方案中,第二加密模块203和验证模块204分别为NXPA71CH模块和BIST模块;CPU205向NXPA71CH模块发送需要加密的数据和密钥,NXPA71CH模块对数据进行加密,并返回加密后的数据;BIST模块不断检测CPU205和NXPA71CH模块之间的信息交互状态。
需要指出的是,水电表1、后台控制端2分别具备第一加密模块103和第二加密模块203,虽然二者的名称都带有“加密”,但是二者的作用不同;第一加密模块103主要用于保护水表数据的安全传输,而第二加密模块203主要用于保护后台数据库中的数据安全,防止非法用户获取敏感数据。虽然二者都是加密,但是应用的场景和目的不同。
具体的,首先第二加密模块203在接收到要传输的数据后,会生成一个初始化向量(IV)并使用混沌加密算法对数据进行加密,生成密文。加密后的数据会通过通信通道传输到后台控制;
后台控制端(NXPA71CH模块)和CPU205之间的交互如下:
(1)接收数据:第二加密模块203通过通信通道将加密后的数据传输到NXPA71CH模块;
(2)解密数据:NXPA71CH模块接收到数据后,使用相同的加密算法和密钥进行解密,还原出原始数据。
(3)验证数据:NXPA71CH模块会验证解密后的数据是否与原始数据一致,确保数据的完整性和真实性。
(4)存储数据:解客后的数据会存储在后台控制端2的数据寄存器202中;在数据存储于后台控制端的数据寄存器202中时,可以再次进行加密;
公式(1)、(2)和(3)描述了混沌加密的核心步骤:公式(1)、(2)描述了加密过程,公式(3)描述了解密过程。在加密过程中,使用的随机数序列是根据初始状态和一组参数生成的。在解密过程中,使用相同的初始状态和参数,就可以生成与加密时相同的随机数序列,从而还原出原始数据。
具体的,NXPA71CH模块是一种硬件安全模块(HSM),用于提供安全存储、密钥管理和加密功能。在进行加密操作时,CPU205向NXPA71CH模块发送需要加密的数据和密钥,NXPA71CH模块会使用内部的加密引擎对数据进行加密,并返回加密后的数据。
NXPA71CH模块的工作方式是通过其自带的安全通信协议与CPU205通信。它包含一个加密引擎,在进行加密操作时,CPU205向NXPA71CH模块发送需要加密的数据和密钥,NXPA71CH模块使用加密引擎对数据进行加密,并返回加密后的数据。
BIST(Built-InSelf-Test)模块是一种硬件测试模块,用于验证加密算法的正确性和安全性。它通过执行自测试程序来检测硬件故障和缺陷,并提供自动测试结果和故障报告。
BIST模块工作方式是通过自测试程序进行测试和验证。在测试期间,模块会自动执行内部的测试和验证。如果发现任何故障或缺陷,BIST模块会自动生成故障报告并发送给CPU205,以便进行诊断和修复。同时在应用时,CPU205也可以直接交互于第二无线通讯模块201,实现第二无线通讯模块201通知工作人员进行处理。
具体的,BIST模块主要对如下情况进行检测:
(1)数据传输错误:CPU205和NXPA71CH模块之间的数据传输错误,例如丢失、重复或损坏的数据包。
(2)安全漏洞:CPU205和NXPA71CH模块之间未经身份验证的访问或未加密的数据传输。此为上述公式(1)、(2)和(3)提供的双端秘钥k1和k2的最终保险措施。如果k1和k2均被绕过,则BIST模块直接交互于CPU205模块,CPU205模块进行安全熔断或通知工作人员。
(3)硬件故障:CPU205和NXPA71CH模块之间出现了硬件故障,例如断路等。
在本方案中,本装置整体的所有电器元件依靠市电进行供能;
具体的,装置整体的电器元件与市电输出端口处通过继电器、变压器和按钮面板等装置进行常规电性连接,以满足本装置的所有电器元件的供能需求。
具体的,在实际情况中,如果存在多个后台控制端2,那么多个后台控制端2的CPU205还统一交互连接有一总控制器,该总控制器用于连接并控制所有后台控制端2及其所有电器元件按照预先设置的程序作为预设值及驱动模式进行驱动;
优选的,该总控制器为PLC控制器,通过梯形图、顺序功能图、功能块图、指令表或结构文本的等常规PLC控制的模式完成上述控制需求;需要指出的是,其编程所驱动的电器元件或其它动力元件的运行启停时间间距、功率等输出参数是非限定性的;具体的,依据实际使用需求进行相关驱动控制上的调节。
以上所述实施例仅表达了本发明的相关实际应用的实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
实施例一
为使本发明的上述具体实施方式更加明显易懂,下面对本发明的具体实施方式做详细的示例性的说明。本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的实施例的限制。
本实施例基于上述具体实施方式中描述的相关原理,其中示例性应用时:
当前环境中,有十个水电表1与一个后台控制端2进行交互;
S1、某一个水电表1通过数据源模块101检测到了相关的水电信息,该水电信息为水量数据d=123.45,通过MCU模块104将其转换为一个长度为8比特的数据(1);
S2、数据(1)传递至第一加密模块103内进行加密处理;
S2.1、第一加密模块103在使用前,就已经预设好一个初始的混沌序列y(0),噪声序列w(0),以及两个密钥k1和k2,并设置公式中的控制参数a、b、c、k的取值,其中a=1.4,b=0.3,c=0.7,k=0.4;
S2.2、通过MCU模块104计算Lorenz算法生成混沌序列:
xn+1=xn+k(y(n)-x(n))
yn+1=yn+k(x(n)(a-z(n))-y(n))
zn+1=zn+k(x(n)y(n)-c*z(n))
其中,x(n),y(n),z(n)就是混沌序列,可以作为公式(1)中的y(n)和w(n)使用。控制参数a、b、c决定了Lorenz系统的动态行为,初始条件x0、y0、z0决定了混沌序列的起始状态,k决定了混沌序列的增长速度。在实际应用中,可以根据具体需求调整初始条件和控制参数的取值,以生成适合于公式(1)应用场景的混沌序列;
S2.3、初始化混沌序列y(n)和噪声序列w(n),并设定控制参数a、k、b和w的取值;对于每个时间步n,先利用公式(2)计算出y(n+1)和z(n),其中y(n+1)是下一个混沌序列的值,z(n)是噪声序列;
同时生成密钥k1和k2;其中加密的数据流为11001110,那么可以将其转化为二进制比特流,即x(0)=1,x(1)=1,x(2)=0,x(3)=0,x(4)=1,x(5)=1,x(6)=1,x(7)=0;
按照公式(3)中的运算方式,依次计算出y(n+1)和w(n+1),并用它们生成密钥k1和k2:
对于混沌序列y(n):
y(n+1)=a*y(n)*(1-y(n))+k*x(n)+b*w(n)
对于噪声序列w(n):
w(n+1)=c*w(n)*(1-w(n))
对于密钥k1和k2:
k1=y(n)XORw(n)
k2=w(n)XOR k1
其中,XOR表示按位异或运算;
接下来,将生成的密钥k1和加密数据流进行异或运算,得到加密后的数流(2);具体计算方式为:
c(n)=x(n)XOR k1 XORk2
S3、通过MCU模块104传递数流(2)至第一无线通讯模块102并发送到后台控制端2的第二无线通讯模块201,第二无线通讯模块201将信息传递至数据寄存器202存储;
S3.1、存储及解密过程中,第二加密模块(NXPA71CH模块)203同步交互;其中,通过公式(3)重新生成混沌序列y(n)和噪声序列w(n),以及密钥k1和k2;然后,将密文和密钥k1和k2进行异或运算,即可得到解密后的数据流(3)。具体计算方式为:
x(n)=c(n)XOR k1 XORk2
后台控制端2接收到加密后的bit串c后,按照与发送方相同的步骤进行解密。解密过程如下:
将加密后的bit串c划分为8个bit,依次表示为c(1)到c(8)
对于第一个bit,即c(1)=1,根据公式(2)计算得到y(1)=0.348,w(1)=0.465,z(1)=0.0078;
根据z(1)的值,将k1和k2的二进制位异或,得到k1XORk2=0XOR1=1;
根据公式(2),计算得到第一个解密后的bit为:x(1)=c(1)XORy(1)XORw(1)XOR(k1XORk2)=1XOR1XOR1XOR1=0;
重复步骤实现后台控制端2与水电表1的双端加密交互。进而可以将数据流进行加密,保护数据的安全性。由于密钥k1和k2的生成过程中使用了混沌序列和噪声序列,因此加密强度更高。
S4、管理员持有k1(主要密钥),如果需要对相关数据进行处理或作业,则通过k1解密。
以上所述实施例仅表达了本发明的相关实际应用的实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
实施例二
为使本发明的上述具体实施方式更加明显易懂,下面对本发明的具体实施方式做详细的示例性的说明。本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的实施例的限制。
本实施例基于上述具体实施方式中描述的相关原理,其中示例性应用时:
当前环境中,有十个水电表1与一个后台控制端2进行交互;
S1、某一个水电表1通过数据源模块101检测到了相关的水电信息,该水电信息为水量数据d=123.45,水表内部MCU模块104生成了一个随机数:k1=0x5aa5a5a5a5a5a5a,它要将当前的用水量数据发送给后台控制端2,同时加密以保证安全传输;
根据公式(1),水表内置MCU模块104会将随机数k1发送给加模块,并用该随机数生成初始化向量IV。同时,MCU模块104会将d与随机数k1通过异或运算得到s1=d⊕k1,然后将s1传递给第一加密模块103。
接下来,第一加密模块103将s1与初始化向量V通过混沌加密进行混合,得到密文c,根据公式(2):
c=h(lv,s1)
其中,h为混沌加密算法;具体参照实施例一或具体实施方式中的混沌生成;
在将密文c发送给后台控制端2之前,第一加密模块103还需要将初始化向量IV发送给后台控制端2用于后台控制端2解密。
后台控制端2收到密文c和初始化向量IV后,先通过混沌解密得到s1,根据公式3:
s1=h^{-1}(IV,C)
其中,h^-{1}为混沌解密的算法
然后,后台控制端再将s1与预先保存的随机数k1进行异或运算得到原始数据d:
d=s1\oplus k1
得到原始数据d后,后台控制端2将其存储到数据寄存器202中。在存储时,后台控制端2会通过第二加密模块203对数据进行加密,以保证存储的安全性;
具体来说,后台控制端2会利用第二加密模块203生成一个密k2,然后利用该密钥对数据d进行加密。加密后的数据c通过公式2来表示:
c'=h(lv',s2)
其中,IV’为加密算法使用的初始化向量,s2为经过加密后得到的密文;
在存储数据时,后台控制端会将密文c存储到相应的数据寄存器202中,以便之后的读取和使用。由于数据已经加密,因此任何未经授权的人员都无法直接读取和理解其内容.
当需要读取数据时,后台控制端2会先使用密钥k解密数据,得到明文m';具体解密过程:
m'=Deck(c’)
其中,Deck表示使用密钥k进行解密操作。解密完成后,后台控制端2就可以对明文m'进行进一步的处理,如计算水表读数、统计用水量等等;
在实际应用中,还需要考虑数据的完整性和认证问题。例如,可以使用消息认证码(MAC)来保证数据的完整性和认证性。同时可定期更新秘钥,以保证保密效果。
以上所述实施例仅表达了本发明的相关实际应用的实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
实施例三
为使本发明的上述具体实施方式更加明显易懂,下面对本发明的具体实施方式做详细的示例性的说明。本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的实施例的限制。
本实施例基于上述具体实施方式中描述的相关原理,其中示例性应用时:
当前环境中,如果k1被恶意第三方攻破,那么攻击者有可能窃取到k1的值,从而有可能破解加密的数据。为了进一步防范整套数据的传输,可以引入另一个密钥k2来对k1进行保护。具体地,采用以下方式:
首先,在水表内部随机生成一个密钥k2,并将其存储在NXPA71CH模块中,只有NXPA71CH模块才能够访问和使用该密钥。
在进行数据加密和传输时,不直接使用k1,而是使用k2对k1进行加密,得到一个新的加密密钥k1'。具体地,可以使用NXPA71CH模块中的加密算法对k1进行加密,得到k1'。
在数据传输过程中,只传输加密后的数据和k1',而不传输k1本身。在后台控制端收到加密数据和k1"后,先使用NXPA71CH模块中的解密算法对k1"进行解密,得到k1。然后使用k1对加密数据进行解密,得到原始数据。
通过引入k2并对k1进行加密保护,即使攻击者窃取了加密数据和k1',也无法直接获得k1,从而进一步保护了数据的安全性。
以上所述实施例仅表达了本发明的相关实际应用的实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种双通秘钥的混沌加密式智能安全水表的加密方法,其特征在于,所述加密方法包括如下步骤:
S1、水电表(1)通过数据源模块(101)检测用水及用电信息的数据,基于第一加密模块(103)对所述数据生成混沌序列;生成的混沌序列和随机噪声序列结合相结合,作为加密通信过程中的密钥;
S1.1、所述第一加密模块(103)对所述数据的加密公式为:
y(n+1)=ay(n)(1-y(n))+k*x(n)z(n)=x(n)XORy(n)XORw(n)
z(n)=x(n)XORy(n)XORw(n)
其中,x(n)表示所述数据源模块(101)采集到的数据,y(n)表示混沌序列,w(n)表示噪声序列,z(n)为加密后的输出结果;
S2、在物联网水电表系统中,引入系统管理员使用k1作为密钥;
S2.1、在加密通信过程中,首先将明文数据通过XOR运算与前一个加密块相结合,然后与混沌序列和噪声序列相结合,形成密文;在后台控制端(2),接收到的密文通过相同的过程进行解密,以获得原始数据。
2.根据权利要求1所述的加密方法,其特征在于,在所述S2中,还包括:
S2.2、引入系统管理员使用k1作为主要密钥,k2用作备用密钥:
y(n+1)=ay(nX1-y(n))+kx(n)+bw(n)
z(n)=x(n)XORyn)XORw(n)XORk1
b表示秘钥参数,w(n)表示噪声序列,k1表示由秘钥生成的密钥。
3.根据权利要求2所述的加密方法,其特征在于,还包括:
S3、如果主密钥失效,使用备用密钥保障通讯;
结合所述S1和所述S2,生成混沌序列和随机噪声序列,将它们与明文数据进行XOR运算,形成第一加密块;
S3.1、将所述第一加密块与前一个加密块进行XOR运算,然后与第二个密钥k2进行XOR运算,生成第二加密块;
S3.2、将所述第一加密块、所述第二加密块进行XOR运算,生成最终的密文;在所述后台控制端(2),接收到的密文通过相同的过程进行解密,以获得原始数据;
S3.3、所述S3的加密过程为:
y(n+1)=ay(n)1-y(n))+kx(n)+bw(n)
z(n)=x(n)XORy(n)XORw(n)XOR(k1XORk2)
k1和k2表示两个不同的密钥。
4.一种双通秘钥的混沌加密式智能安全水表,其特征在于,采用如权利要求1-3任一项所述的加密方法进行加密,所述安全水表包括水电表(1)及与之信息交互的后台控制端(2);所述水电表(1)包括用于检测用水及用电信息的数据源模块(101);所述水电表(1)通过第一无线通讯模块(102)与所述后台控制端(2)的第二无线通讯模块(201)通讯连接;
所述水电表(1)还包括第一加密模块(103),所述第一加密模块(103)产生随机的双通加密密钥和初始化向量,对输入的明文数据进行加密,并将其转换为密文输出传递至所述后台控制端(2);
所述水电表(1)和所述后台控制端(2)分别包括MCU模块(104)和CPU(205)。
5.根据权利要求4所述的水表,其特征在于:所述MCU模块(104)接收所述数据源模块(101)检测的数据,并与所述第一加密模块(103)交互连接及加密,随后所述MCU模块(104)将加密后的信息传递至所述第一无线通讯模块(102),并无线传递至所述后台控制端(2)的所述第二无线通讯模块(201);
所述CPU(205)将信息传递至数据寄存器(202)存储。
6.根据权利要求5所述的水表,其特征在于:所述后台控制端(2)还包括与所述CPU(205)交互连接的第二加密模块(203)和验证模块(204);
所述第二加密模块(203)和所述验证模块(204)分别对所述第一加密模块(103)的输出信息生成加密后的数据并管理密钥和初始化向量等加密参数、对所述第一加密模块(103)的输出信息使用不同的测试向量进行验证。
7.根据权利要求6所述的水表,其特征在于:所述第二加密模块(203)和所述验证模块(204)分别为NXPA71CH模块和BIST模块;
所述CPU(205)向所述NXPA71CH模块发送需要加密的数据和密钥,所述NXPA71CH模块对数据进行加密,并返回加密后的数据;
所述BIST模块不断检测所述CPU(205)和所述NXPA71CH模块之间的信息交互状态。
8.根据权利要求5~7任意一项所述的水表,其特征在于:所述第一加密模块(103)包括随机数发生器(1031)和混沌模块(1032);
所述随机数发生器(1031)接收所述MCU模块(104)传递的所述数据源模块(101)所检测的信息,所述随机数发生器(1031)生成初始化向量IV于所述混沌模块(1032);
所述混沌模块(1032)输出将通过XOR运算与原始数据流进行混合,生成加密后的数据流。
9.根据权利要求8所述的水表,其特征在于:所述随机数发生器(1031)为噪声源模块。
10.根据权利要求8所述的水表,其特征在于:所述混沌模块(1032)包括y(n)计算模块(10321)与XOR模块(10322);
所述y(n)计算模块(10321)与所述XOR模块(10322)共同交互,随机生成所述初始化向量IV的位置和值来实现初始向量的设置,产生随机数及密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310372841.4A CN117040714A (zh) | 2023-04-10 | 2023-04-10 | 一种双通秘钥的混沌加密式智能安全水表及其加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310372841.4A CN117040714A (zh) | 2023-04-10 | 2023-04-10 | 一种双通秘钥的混沌加密式智能安全水表及其加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117040714A true CN117040714A (zh) | 2023-11-10 |
Family
ID=88621377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310372841.4A Pending CN117040714A (zh) | 2023-04-10 | 2023-04-10 | 一种双通秘钥的混沌加密式智能安全水表及其加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117040714A (zh) |
-
2023
- 2023-04-10 CN CN202310372841.4A patent/CN117040714A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104468089B (zh) | 数据保护装置及其方法 | |
CN113691380B (zh) | 一种智能电网中多维隐私数据聚合方法 | |
CN107678763A (zh) | 基于数字签名技术的电能表升级方法和系统 | |
CN106059757A (zh) | 视音频监控设备及其数据加解密方法、视音频展示设备 | |
CN107483209A (zh) | 一种安全的基于异构系统的签密方法 | |
CN112511304A (zh) | 一种基于混合加密算法的电力数据隐私通信方法 | |
CN113312608B (zh) | 一种基于时间戳的电力计量终端身份认证方法及系统 | |
CN109617675A (zh) | 一种充放电设施与用户端间的双方标识认证方法及系统 | |
CN106101150A (zh) | 加密算法的实现方法和系统 | |
CN100461669C (zh) | 公钥跳码安全系统 | |
CN113660226B (zh) | 一种基于区块链的能源数据可信共享系统和方法 | |
CN113141247B (zh) | 一种同态加密方法、装置、系统及可读存储介质 | |
CN115022102B (zh) | 输电线监测数据传输方法、装置、计算机设备和存储介质 | |
CN110012443A (zh) | 一种全同态的数据加密聚合方法及其系统 | |
CN105978686A (zh) | 密钥管理方法及系统 | |
CN116418480A (zh) | 一种基于哈希函数的混沌加密智能电表及其加密方法 | |
CN102571804A (zh) | 基于产品标识码的物联网中心首次登录方法 | |
CN117914491B (zh) | 一种便携式sram puf的数字加解密方法及系统 | |
CN112039654A (zh) | 一种抵御中间人攻击的电表数据安全采集方法 | |
Dachman-Soled et al. | Securing circuits and protocols against 1/poly (k) tampering rate | |
CN102903226B (zh) | 智能电表通信的数据传输方法 | |
CN106850211A (zh) | 一种基于mac地址的加密方法及系统 | |
CN112907247A (zh) | 一种区块链授权计算控制方法 | |
CN101645772A (zh) | 基于t半序的伪随机序列生成方法及序列发生器 | |
CN117040714A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240226 Address after: 25 Guangming Road, Yinchuan (National) economic and Technological Development Zone, Ningxia Hui Autonomous Region Applicant after: NINGXIA LONGJI NINGGUANG INSTRUMENT Co.,Ltd. Country or region after: China Address before: No. 22-2-502, Hubin Community, Xingqing District, Yinchuan, 750000 Ningxia Applicant before: Zhang Wei Country or region before: China |
|
TA01 | Transfer of patent application right |