CN115001836B - 一种plc安全通信的实现系统及方法 - Google Patents
一种plc安全通信的实现系统及方法 Download PDFInfo
- Publication number
- CN115001836B CN115001836B CN202210682582.0A CN202210682582A CN115001836B CN 115001836 B CN115001836 B CN 115001836B CN 202210682582 A CN202210682582 A CN 202210682582A CN 115001836 B CN115001836 B CN 115001836B
- Authority
- CN
- China
- Prior art keywords
- key
- plc
- box
- data
- algorithm
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000006854 communication Effects 0.000 title claims abstract description 31
- 238000004891 communication Methods 0.000 title claims abstract description 30
- 239000002245 particle Substances 0.000 claims abstract description 75
- 230000001360 synchronised effect Effects 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 20
- 230000000739 chaotic effect Effects 0.000 claims abstract description 11
- 238000013507 mapping Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 16
- 230000009326 social learning Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 7
- 208000011597 CGF1 Diseases 0.000 claims description 6
- 230000004039 social cognition Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000005538 encapsulation Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
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
- H04L63/0435—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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- 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
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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种PLC安全通信的实现系统及方法,该系统包括密码服务中心和PLC终端。通过改进ZUC算法实现PLC通信流密码处理的自主可控;通过Logistic混沌映射生成伪随机数,基于改进型粒子群算法对伪随机数构成的S盒进行非线性度、差分均匀度和雪崩度的寻优,实现了S盒构造的双重置乱,提高了密钥字生成的不可预测性;密码服务中心高效更新S盒并基于国密算法将S盒、密钥K等下发至PLC终端,实现了通信的全过程加密;PLC终端通过子线程预处理模式实现ZUC密钥字超前存储,整个过程不侵占工控资源,保证工控的实时性;接收端PLC通过同步标识和密钥分流器快速筛选密钥流并实现密文解密,高效率实现对称加解密的自同步。
Description
技术领域
本发明涉及工业信息安全领域,具体涉及一种PLC安全通信的实现系统及方法。
背景技术
商用可编程逻辑控制器(Programmable Logic Controller,PLC)的通信过程一般暴露在无密码保护环境中,随着工业控制系统中智能化、网络化水平的提高,信息安全漏洞的威胁与日俱增,为提高安全级别,少部分PLC产品集成了AES和DES等加密算法,但该算法本身就存在安全漏洞,且无法实现自主可控。
祖冲之系列密码算法(ZUC算法)是由我国自主设计的加密和完整性算法,现已成为国际通信加密标准之一,其算法机制非常适合PLC通信。S盒是ZUC算法中唯一非线性部件,它的主要作用是让明文混乱,其安全强度对整个算法的安全性起着决定性的作用,ZUC算法应用中S盒是固定且公开的,不利于防范跟踪攻击,且ZUC算法作为一种典型的同步流密码算法,存在着通信不稳定和数据丢包从而造成密钥字不同步,ZUC最终解密失败的隐患。
发明内容
鉴于此,本发明主要解决的技术问题是克服上述现有技术存在的缺点和不足,提供一种PLC安全通信的实现系统及方法,增加通信安全性的同时对其进行自同步改造,避免了通信数据丢失造成的后续数据解密失败的风险。
所述PLC安全通信的实现方法,其特征在于:
A1:S盒生成器基于Logistic混沌映射和改进型粒子群算法构造S盒,密钥生成器随机生成密钥K,密钥计数器记录密钥K的编号m,其中,改进型粒子群算法公式为:
;
上式中,C1为自我认知因子;rand1()为[0,1]范围内的随机数;Pi(t)为粒子i从开始到t时刻为止搜寻过程中遇到的最优位置;Xi(t)为粒子i在t时刻所在的位置;所述位置即Xi(t)的元素排列;Pi(t)-Xi(t)为粒子Xi(t)到Pi(t)的汉明距离;C1rand1()(Pi(t)-Xi(t))为t时刻自我学习速度集合,所谓速度集合指Xi(t)在变化过程中交换项Q(x,y)的集合,其中x为目标项,x、y为排列顺序号而非真实数值,C1rand1()(Pi(t)-Xi(t))经过四舍五入处理得到整数z,随机挑选Xi(t)中所有和Pi(t)不同项中的z个数值进行交换以使Xi(t)的对应项与Pi(t)相同;
C2为社会认知因子;rand2()为[0,1]范围内的随机数;G(t)为所有粒子从开始到t时刻为止搜寻过程中遇到的最优位置;Xi(t)为粒子i在t时刻所在的位置;G(t)-Xi(t)为粒子Xi(t)到G(t)的汉明距离;C2rand2()(G(t)-Xi(t))为社会学习速度集合,若社会学习速度集合和自我学习速度集合存在相同的目标项,则以社会学习速度的交换项为准并舍去自我学习速度的交换项;
Vmax为速度集合上限;Vi(t+1)为粒子i在t+1时刻应该更新的速度集合;Xi(t+1)为粒子i在t+1时刻应该更新的位置;
A2:国密模块将S盒、密钥K和密钥编号m进行基于SM2或SM4的加密并发送至PLC终端;
A3:PLC发送模块进行ZUC加密和数据发送;
A4:PLC接收模块进行数据接收和ZUC解密。
S盒生成器基于Logistic混沌映射和改进型粒子群算法构造S盒包括以下步骤:
B1:基于Logistic映射作为混沌模型生成256个元素,Logistic模型为xn+1= xn*μ*(1-xn),x∈[0,1], μ∈[3.5699456,4],在取值范围内随机选取x0、μ,根据模型计算x序列{x0、x1... x255};
B2:对x序列中元素扩大100倍并进行取整运算:{Xn}=[xn*100],将获得的正整数{Xn}集合编码为[X0 X1 X2 ... X255]的粒子形式;
B3:构造适应度函数,通过权衡S盒的非线性度Ns、差分均匀度δs、雪崩度Bs构造函数f(s)=asfs(Ns)+adfd(δs)+aBfB(Bs),这里定义fs(Ns)=Ns,fd(δs)=δs,fB(Bs)=Bs,as、ad、aB表示加权系数,f(s)越大则S盒综合性能越优良,适应度函数完整形式如下:
f(s)= (1-1)
B4:构造改进型粒子群算法:
(1-2)
B5:基于改进型粒子群算法优化S盒;
所述B5步骤包括:
B51:进行参数设定,包括设置种群规模M;设定自我认知因子C1=0.3;设定社会认知因子C2=0.3;设定最大迭代次数Nmax;设定适应度函数理想值f(s)g;在解空间内随机选取M个解作为粒子群的初始位置Xi(0),i∈[1,M];设定粒子群最大速度Vmax;
B52:初始化最优解,设置0时刻各粒子的最优位置Pi(0)=Xi(0),从M个粒子中找到粒子群的全局最优位置G(0)=argmax{f(P1(0))...f(Pi(0))...f(PM(0))},迭代次数T=0;
B53:迭代优化,利用公式1-2进行粒子群的迭代计算,获取粒子i在t+1时刻的速度集合Vi(t+1)和位置Xi(t+1);
利用公式1-1计算粒子i在位置Xi(t+1)的适应度值f(Xi(t+1));
利用公式2-1更新粒子i经过的局部最优位置:
(2-1)
利用公式2-2更新所有粒子经过的全局最优位置:
G(t+1)=argmax{f(P1(t+1))...f(Pi(t+1))...f(PM(t+1))} (2-2)
迭代次数T=T+1;
B54:重复上述过程完成t时刻所有M个粒子的计算,当迭代次数T达到Nmax或已获得适应度函理想结果时,迭代结束,最终的正整数{Xn}排列即为理想的S盒结构。
国密模块将S盒、密钥K和密钥编号m进行基于SM2或SM4的加密并发送至PLC终端包括以下步骤:
C1:生成新的密钥K后密钥计数器进行计数操作获得密钥编码m,服务中心和PLC通过国密SM2或SM4算法构建非对称或对称加密通道,服务中心将加密后的S盒、密钥K和密钥编码m发送至PLC终端;
C2:PLC终端通过国密模块对SM2或SM4算法进行解密,获取的S盒和密钥K发送给可变S盒ZUC算法,密钥编码m发送给同步标识计数器;
C3:可变S盒ZUC算法的固定S盒替换为服务中心下发的可变S盒;
C4:服务中心根据PLC终端密钥消耗情况周期性更新下发新的S盒、密钥K和密钥编码m。
PLC发送模块进行ZUC加密和数据发送包括以下步骤:
D1:PLC建立子线程,子线程使用密钥K和ZUC算法生成密钥字并存储于缓冲区,每个密钥产生的加密轮次由用户自定义,而每个加密轮次产生的密钥字是32位,由ZUC算法特性决定。为保证工控实时性,密钥字的生成和存储总是超前正在使用的密钥编号,比如通信正在使用基于密钥编码为m生成的密钥字进行加解密,则子线程至少要完成密钥编码为m+10之前所有的密钥字的生成和存储;
D2:获取缓冲区内的密钥流和二进制明文进行按位异或生成密文流;
D3:同步标识计数器记录加密过程中正在使用的密钥编号m、ZUC算法基于该密钥的加密轮次n,ZUC算法基于该加密轮次生成的密钥字编号p;
D4:同步数据生成器将密文流c和同步标识m、n、p进行组合处理形成数据流d,即d=c||m||n||p;
D5:PLC发送模块完成数据封装后发送给其他PLC的接收模块。
PLC接收模块进行数据接收和ZUC解密包括以下步骤:
E1:数据分离器分割密文数据和同步标识数据,密文数据c全部放行,同步标识数据m||n||p发送至密钥流分拣器;
E2:为避免发送端部分数据流丢失造成的后续数据解密失败,密钥流分拣器根据数据分离器提取的同步标识数据的编号对缓冲区内的密钥流进行放行;
E3:异或单元将密文和密钥流进行按位异或生成明文流。
本发明的系统由密码服务中心和PLC终端组成。
所述密码服务中心由S盒生成器、密钥生成器、密钥计数器和国密模块组成。
所述PLC终端由国密模块、可变S盒ZUC算法、缓冲区、发送模块和接收模块组成,其中发送模块由同步标识计数器、同步数据生成器和异或单元组成;接收模块由数据分离器、密钥流分拣器和异或单元组成;所有PLC终端均集成发送模块和接收模块,可实现双向通信,双模块共享国密模块、可变S盒ZUC算法和缓冲区。
本发明的优点及有益效果:本发明通过改进型ZUC算法对PLC通信进行加解密,实现PLC通信流密码处理的自主可控;通过Logistic混沌映射简单高效地生成伪随机数,并基于改进型粒子群算法对伪随机数构成的S盒进行非线性度、差分均匀度和雪崩度的寻优,实现了S盒构造过程的双重置乱,提高了密钥字生成的不可预测性;密码服务中心高效更新S盒并基于国密算法将S盒、密钥K等下发至各PLC终端,实现了通信的全过程加密;PLC终端通过子线程预处理模式实现ZUC密钥字超前存储,整个过程不侵占工控资源,保证工控的实时性;接收端PLC通过同步标识和密钥分流器快速筛选密钥流并实现密文解密,高效率实现对称加解密的自同步。
附图说明
图1为本发明的系统架构图;
图2为本发明的迭代优化流程图;
图3 为本发明的可变S盒ZUC架构图;
图4 为本发明的同步标识存储结构图。
具体实施方式
下面根据附图举例对本发明做进一步解释:
本发明实施例提供了一种PLC安全通信的实现系统及方法,系统架构如图1所示,该系统由密码服务中心和PLC终端组成。
所述密码服务中心由S盒生成器、密钥生成器、密钥计数器和国密模块组成。
所述PLC终端由国密模块、可变S盒ZUC算法、缓冲区、发送模块和接收模块组成,其中发送模块由同步标识计数器、同步数据生成器和异或单元组成;接收模块由数据分离器、密钥流分拣器和异或单元组成;所有PLC终端均集成发送模块和接收模块,可实现双向通信,双模块共享国密模块、可变S盒ZUC算法和缓冲区。
所述PLC安全通信的实现方法,其特征在于:
A1:S盒生成器基于Logistic混沌映射和改进型粒子群算法构造S盒,密钥生成器随机生成密钥K,密钥计数器记录密钥K的编号m;
A2:国密模块将S盒、密钥K和密钥编号m进行基于SM2或SM4的加密并发送至PLC终端;
A3:PLC发送模块进行ZUC加密和数据发送;
A4:PLC接收模块进行数据接收和ZUC解密。
一、S盒生成器基于Logistic混沌映射和改进型粒子群算法构造S盒的方法为:
B1:基于Logistic映射作为混沌模型生成256个元素,Logistic模型为xn+1= xn*μ*(1-xn),x∈[0,1], μ∈[3.5699456,4],在取值范围内随机选取x0、μ,根据模型计算x序列{x0、x1... x255};
B2:对x序列中元素扩大100倍并进行取整运算:{Xn}=[xn*100],将获得的正整数{Xn}集合编码为[X0 X1 X2 ... X255]的粒子形式;
B3:构造适应度函数,通过权衡S盒的非线性度Ns、差分均匀度δs、雪崩度Bs构造函数f(s)=asfs(Ns)+adfd(δs)+aBfB(Bs),这里定义fs(Ns)=Ns,fd(δs)= δs,fB(Bs)=Bs,as、ad、aB表示加权系数,f(s)越大则S盒综合性能越优良,适应度函数完整形式如下:
f(s)= (1-1)
B4:构造改进型粒子群算法:
(1-2)
上式中,C1为自我认知因子;rand1()为[0,1]范围内的随机数;Pi(t)为粒子i从开始到t时刻为止搜寻过程中遇到的最优位置;Xi(t)为粒子i在t时刻所在的位置;所述位置即Xi(t)的元素排列;Pi(t)-Xi(t)为粒子Xi(t)到Pi(t)的汉明距离;C1rand1()(Pi(t)-Xi(t))为t时刻自我学习速度集合,所谓速度集合指Xi(t)在变化过程中交换项Q(x,y)的集合,其中x为目标项,x、y为排列顺序号而非真实数值,C1rand1()(Pi(t)-Xi(t))经过四舍五入处理得到整数z,随机挑选Xi(t)中所有和Pi(t)不同项中的z个数值进行交换以使Xi(t)的对应项与Pi(t)相同,例如Xi(t)="1 2 3 4",Pi(t)="3 4 2 1",Xi(t)所有4项均和Pi(t)不同,假如经过计算z=2,则随机挑选Xi(t)中的某两项进行交换以获得和Pi(t)相同的对应值,比如挑选了第1项和第3项作为目标项,则"1 2 3 4"到"3 2 1 4"的交换项为Q(1,3),"3 21 4"到"3 1 2 4"的交换项为Q(3,2),由此"1 2 3 4"到"3 1 2 4"的整个变换过程的速度集合为{Q(1,3),Q(3,2)};
C2为社会认知因子;rand2()为[0,1]范围内的随机数;G(t)为所有粒子从开始到t时刻为止搜寻过程中遇到的最优位置;Xi(t)为粒子i在t时刻所在的位置;G(t)-Xi(t)为粒子Xi(t)到G(t)的汉明距离;C2rand2()(G(t)-Xi(t))为社会学习速度集合,若社会学习速度集合和自我学习速度集合存在相同的目标项,则以社会学习速度的交换项为准并舍去自我学习速度的交换项;
Vmax为速度集合上限;Vi(t+1)为粒子i在t+1时刻应该更新的速度集合;Xi(t+1)为粒子i在t+1时刻应该更新的位置;
B5:基于改进型粒子群算法优化S盒的过程如图2所示,步骤如下:
B51:进行参数设定,包括设置种群规模M;设定自我认知因子C1=0.3;设定社会认知因子C2=0.3;设定最大迭代次数Nmax;设定适应度函数理想值f(s)g;在解空间内随机选取M个解作为粒子群的初始位置Xi(0),i∈[1,M];设定粒子群最大速度Vmax;
B52:初始化最优解,设置0时刻各粒子的最优位置Pi(0)=Xi(0),从M个粒子中找到粒子群的全局最优位置G(0)=argmax{f(P1(0))...f(Pi(0))...f(PM(0))},迭代次数T=0;
B53:迭代优化,利用公式1-2进行粒子群的迭代计算,获取粒子i在t+1时刻的速度集合Vi(t+1)和位置Xi(t+1);
利用公式1-1计算粒子i在位置Xi(t+1)的适应度值f(Xi(t+1));
利用公式2-1更新粒子i经过的局部最优位置:
(2-1)
利用公式2-2更新所有粒子经过的全局最优位置:
G(t+1)=argmax{f(P1(t+1))...f(Pi(t+1))...f(PM(t+1))} (2-2)
迭代次数T=T+1。
下面通过一个例子来论述优化S盒的过程:
种群为M的粒子群,t时刻,第i个粒子的位置(即元素排列)为Xi(t)="1 2 3 4 5 67 8",假如粒子i至t时刻为止搜索到的局部最优位置为Pi(t)="1 5 2 4 6 3 8 7",同时,所有粒子至t时刻为止搜索到的全局最优位置为G(t)="1 4 2 5 6 3 8 7",Xi(t)到Pi(t)的汉明距离d1(t)=6,Xi(t)到G(t)的汉明距离d2(t)=7;
计算自我学习速度集合:假如rand1()=0.9,则C1*rand1()*d1(t)=1.62,对1.62进行四舍五入处理得2,即需要从Xi(t)中的第2、3、5~8位不同项中随机选取某两位,使其与Pi(t)中的对应位相同,假如随机选取Xi(t)中的第2位(数值2)和第7位(数值7),使其变成Pi(t)中的第2位(数值5)和第7位(数值8),则需要进行以下运算:"1 2 3 4 5 6 7 8"->Q(2,3)->"1 3 2 4 5 6 7 8"->Q(7,8)->"1 3 2 4 5 6 8 7",由此可知该自我学习过程的速度集合为{Q(2,3)、Q(7,8)};
计算社会学习速度集合:假如rand2()=0.8,则C2*rand2()*d2(t)=1.68,对1.68四舍五入处理得2,即需要从Xi(t)中的第2~8位不同项中随机选取某两位,使其与G(t)中的对应位相同,假如随机选取Xi(t)中第2位(数值2)和第3位(数值3),使其变成G(t)中的第2位(数值4)和第3位(数值2),则需要进行以下运算:
"1 2 3 4 5 6 7 8"->Q(2,4)->"1 4 3 2 5 6 7 8"->Q(3,4)->"1 4 2 3 5 6 78",由此可知该社会学习过程的速度集合为{Q(2,4)、Q(3,4)};
很明显,自我学习速度集合中的Q(2,3)和社会学习速度集合中的Q(2,4)存在相同的目标位2,因此以社会学习速度集合中的变换项为依据,整合后的速度集合为Vi(t+1)={Q(7,8)、Q(2,4)、Q(3,4)},经过该整合过程Xi(t+1)= Xi(t)+ Vi(t+1)="1 4 2 3 5 6 8 7",此时Xi(t+1)到Pi(t)的汉明距离为4,Xi(t+1)到G(t)的汉明距离为3,两个汉明距离明显减少,粒子i向更优良的位置移动,在Xi(t+1)位置利用公式1-1进行适应度计算,并基于公式2-1和2-2进行个体局部最优值的更新和粒子群全局最优值的更新。
B54:重复上述过程完成t时刻所有M个粒子的计算,当迭代次数达到Nmax或已获得适应度函理想结果f(s)g时,迭代结束,输出正整数{Xn}排列以组成S盒。
二、服务中心下发S盒、密钥K和密钥编码m的方法为:
C1:生成新的密钥K后密钥计数器进行计数操作获得密钥编码m,服务中心和PLC通过国密SM2或SM4算法构建非对称或对称加密通道,服务中心将加密后的S盒、密钥K和密钥编码m发送至PLC终端;
C2:PLC终端通过国密模块对SM2或SM4算法进行解密,获取的S盒和密钥K发送给可变S盒ZUC算法,密钥编码m发送给同步标识计数器;
C3:可变S盒ZUC算法的固定S盒替换为服务中心下发的可变S盒Sflexible(L1)和Sflexible(L2),此时系统内各PLC终端设备的ZUC算法架构、密钥K和密钥编码m相同;
C4:服务中心根据PLC终端密钥消耗情况周期性更新下发新的S盒、密钥K和密钥编码m。
三、PLC发送模块进行ZUC加密和数据发送:
D1:PLC建立子线程,子线程使用密钥K和图3的ZUC算法生成密钥字并存储于缓冲区,缓冲区的存储结构如图4所示,每个密钥产生的加密轮次由用户自定义,而每个加密轮次产生的密钥字是32位,由ZUC算法特性决定。为保证工控实时性,密钥字的生成和存储总是超前正在使用的密钥编号,比如通信正在使用基于密钥编码为m生成的密钥字进行加解密,则子线程至少要完成密钥编码为m+10之前所有的密钥字的生成和存储;
D2:获取缓冲区内的密钥流和二进制明文进行按位异或生成密文流;
D3:同步标识计数器记录加密过程中正在使用的密钥编号m、ZUC算法基于该密钥的加密轮次n,ZUC算法基于该加密轮次生成的密钥字编号p;
D4:同步数据生成器将密文流c和同步标识m、n、p进行组合处理形成数据流d,即d=c||m||n||p;
D5:PLC发送模块完成数据封装后发送给其他PLC的接收模块。
四、PLC接收模块进行数据接收和ZUC解密:
E1:数据分离器分割密文数据和同步标识数据,密文数据c全部放行,同步标识数据m||n||p发送至密钥流分拣器;
E2:为避免发送端部分数据流丢失造成的后续数据解密失败,密钥流分拣器根据数据分离器提取的同步标识数据的编号对缓冲区内的密钥流进行放行;
E3:异或单元将密文和密钥流进行按位异或生成明文流。
Claims (6)
1.一种PLC安全通信的实现方法,其特征在于:
A1:S盒生成器基于Logistic混沌映射和改进型粒子群算法构造S盒,密钥生成器随机生成密钥K,密钥计数器记录密钥K的编号m,其中,改进型粒子群算法公式为:
;
上式中,C1为自我认知因子;rand1()为[0,1]范围内的随机数;Pi(t)为粒子i从开始到t时刻为止搜寻过程中遇到的最优位置;Xi(t)为粒子i在t时刻所在的位置;所述位置即Xi(t)的元素排列;Pi(t)-Xi(t)为粒子Xi(t)到Pi(t)的汉明距离;C1rand1()(Pi(t)-Xi(t))为t时刻自我学习速度集合,所谓速度集合指Xi(t)在变化过程中交换项Q(x,y)的集合,其中x为目标项,x、y为排列顺序号而非真实数值,C1rand1()(Pi(t)-Xi(t))经过四舍五入处理得到整数z,随机挑选Xi(t)中所有和Pi(t)不同项中的z个数值进行交换以使Xi(t)的对应项与Pi(t)相同;
C2为社会认知因子;rand2()为[0,1]范围内的随机数;G(t)为所有粒子从开始到t时刻为止搜寻过程中遇到的最优位置;Xi(t)为粒子i在t时刻所在的位置;G(t)-Xi(t)为粒子Xi(t)到G(t)的汉明距离;C2rand2()(G(t)-Xi(t))为社会学习速度集合,若社会学习速度集合和自我学习速度集合存在相同的目标项,则以社会学习速度的交换项为准并舍去自我学习速度的交换项;
Vmax为速度集合上限;Vi(t+1)为粒子i在t+1时刻应该更新的速度集合;Xi(t+1)为粒子i在t+1时刻应该更新的位置;
A2:国密模块将S盒、密钥K和密钥编号m进行基于SM2或SM4的加密并发送至PLC终端;
A3:PLC发送模块进行ZUC加密和数据发送;
A4:PLC接收模块进行数据接收和ZUC解密。
2.根据权利要求1所述的一种PLC安全通信的实现方法,其特征在于,S盒生成器基于Logistic混沌映射和改进型粒子群算法构造S盒包括以下步骤:
B1:基于Logistic映射作为混沌模型生成256个元素,Logistic模型为xn+1= xn*μ*(1-xn),x∈[0,1], μ∈[3.5699456,4],在取值范围内随机选取x0、μ,根据模型计算x序列{x0、x1... x255};
B2:对x序列中元素扩大100倍并进行取整运算:{Xn}=[xn*100],将获得的正整数{Xn}集合编码为[X0 X1 X2 ... X255]的粒子形式;
B3:构造适应度函数,通过权衡S盒的非线性度Ns、差分均匀度δs、雪崩度Bs构造函数f(s)=asfs(Ns)+adfd(δs)+aBfB(Bs),这里定义fs(Ns)=Ns,fd(δs)=δs,fB(Bs)=Bs,as、ad、aB表示加权系数,f(s)越大则S盒综合性能越优良,适应度函数完整形式如下:
f(s)= (1-1)
B4:构造改进型粒子群算法:
(1-2)
B5:基于改进型粒子群算法优化S盒;
所述B5步骤包括:
B51:进行参数设定,包括设置种群规模M;设定自我认知因子C1=0.3;设定社会认知因子C2=0.3;设定最大迭代次数Nmax;设定适应度函数理想值f(s)g;在解空间内随机选取M个解作为粒子群的初始位置Xi(0),i∈[1,M];设定粒子群最大速度Vmax;
B52:初始化最优解,设置0时刻各粒子的最优位置Pi(0)=Xi(0),从M个粒子中找到粒子群的全局最优位置G(0)=argmax{f(P1(0))...f(Pi(0))...f(PM(0))},迭代次数T=0;
B53:迭代优化,利用公式1-2进行粒子群的迭代计算,获取粒子i在t+1时刻的速度集合Vi(t+1)和位置Xi(t+1);
利用公式1-1计算粒子i在位置Xi(t+1)的适应度值f(Xi(t+1));
利用公式2-1更新粒子i经过的局部最优位置:
(2-1)
利用公式2-2更新所有粒子经过的全局最优位置:
G(t+1)=argmax{f(P1(t+1))...f(Pi(t+1))...f(PM(t+1))} (2-2)
迭代次数T=T+1;
B54:重复上述过程完成t时刻所有M个粒子的计算,当迭代次数T达到Nmax或已获得适应度函理想结果时,迭代结束,最终的正整数{Xn}排列即为理想的S盒结构。
3.根据权利要求1所述的一种PLC安全通信的实现方法,其特征在于,国密模块将S盒、密钥K和密钥编号m进行基于SM2或SM4的加密并发送至PLC终端包括以下步骤:
C1:生成新的密钥K后密钥计数器进行计数操作获得密钥编码m,服务中心和PLC通过国密SM2或SM4算法构建非对称或对称加密通道,服务中心将加密后的S盒、密钥K和密钥编码m发送至PLC终端;
C2:PLC终端通过国密模块对SM2或SM4算法进行解密,获取的S盒和密钥K发送给可变S盒ZUC算法,密钥编码m发送给同步标识计数器;
C3:可变S盒ZUC算法的固定S盒替换为服务中心下发的可变S盒;
C4:服务中心根据PLC终端密钥消耗情况周期性更新下发新的S盒、密钥K和密钥编码m。
4.根据权利要求1所述的一种PLC安全通信的实现方法,其特征在于,PLC发送模块进行ZUC加密和数据发送包括以下步骤:
D1:PLC建立子线程,子线程使用密钥K和ZUC算法生成密钥字并存储于缓冲区,每个密钥产生的加密轮次由用户自定义,而每个加密轮次产生的密钥字是32位,由ZUC算法特性决定,为保证工控实时性,密钥字的生成和存储总是超前正在使用的密钥编号;
D2:获取缓冲区内的密钥流和二进制明文进行按位异或生成密文流;
D3:同步标识计数器记录加密过程中正在使用的密钥编号m、ZUC算法基于该密钥的加密轮次n,ZUC算法基于该加密轮次生成的密钥字编号p;
D4:同步数据生成器将密文流c和同步标识m、n、p进行组合处理形成数据流d,即d=c||m||n||p;
D5:PLC发送模块完成数据封装后发送给其他PLC的接收模块。
5.根据权利要求1所述的一种PLC安全通信的实现方法,其特征在于,PLC接收模块进行数据接收和ZUC解密包括以下步骤:
E1:数据分离器分割密文数据和同步标识数据,密文数据c全部放行,同步标识数据m||n||p发送至密钥流分拣器;
E2:为避免发送端部分数据流丢失造成的后续数据解密失败,密钥流分拣器根据数据分离器提取的同步标识数据的编号对缓冲区内的密钥流进行放行;
E3:异或单元将密文和密钥流进行按位异或生成明文流。
6.一种PLC安全通信的实现系统,用于实现如权利要求1到5任意一项所述的方法,其特征在于,该系统由密码服务中心和PLC终端组成;
所述密码服务中心由S盒生成器、密钥生成器、密钥计数器和国密模块组成;
所述PLC终端由国密模块、可变S盒ZUC算法、缓冲区、发送模块和接收模块组成,其中发送模块由同步标识计数器、同步数据生成器和异或单元组成;接收模块由数据分离器、密钥流分拣器和异或单元组成;所有PLC终端均集成发送模块和接收模块,可实现双向通信,双模块共享国密模块、可变S盒ZUC算法和缓冲区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210682582.0A CN115001836B (zh) | 2022-06-16 | 2022-06-16 | 一种plc安全通信的实现系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210682582.0A CN115001836B (zh) | 2022-06-16 | 2022-06-16 | 一种plc安全通信的实现系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115001836A CN115001836A (zh) | 2022-09-02 |
CN115001836B true CN115001836B (zh) | 2023-11-17 |
Family
ID=83034321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210682582.0A Active CN115001836B (zh) | 2022-06-16 | 2022-06-16 | 一种plc安全通信的实现系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115001836B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117879810B (zh) * | 2024-01-15 | 2024-06-18 | 江西安城通数字技术有限公司 | 一种动态密码生成方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109508175A (zh) * | 2018-11-14 | 2019-03-22 | 重庆邮电大学 | 基于分数阶混沌和祖冲之算法的伪随机数发生器的fpga设计 |
CN112367155A (zh) * | 2020-10-13 | 2021-02-12 | 黑龙江大学 | 一种基于fpga的zuc加密系统ip核构建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150215114A1 (en) * | 2014-01-29 | 2015-07-30 | Mohammad A. Alahmad | Method for generating a secure cryptographic hash function |
-
2022
- 2022-06-16 CN CN202210682582.0A patent/CN115001836B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109508175A (zh) * | 2018-11-14 | 2019-03-22 | 重庆邮电大学 | 基于分数阶混沌和祖冲之算法的伪随机数发生器的fpga设计 |
CN112367155A (zh) * | 2020-10-13 | 2021-02-12 | 黑龙江大学 | 一种基于fpga的zuc加密系统ip核构建方法 |
Non-Patent Citations (2)
Title |
---|
一种基于混沌系统的ZUC动态S盒构造及应用方案;韩妍妍;何彦茹;刘培鹤;张铎;王志强;何文才;;计算机研究与发展(10);全文 * |
基于椭圆曲线密码体制和AES的混合加密技术研究;刘恒壮;中国优秀硕士学位论文全文数据库 工程科技Ⅰ辑(第2019年第09期期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115001836A (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1938980A (zh) | 用于密码加密处理数据的方法和设备 | |
CN110798311B (zh) | 基于量子真随机数矩阵实现一次一密的ip加密方法 | |
Panda | Data security in wireless sensor networks via AES algorithm | |
Seredynski et al. | Block cipher based on reversible cellular automata | |
CN115001836B (zh) | 一种plc安全通信的实现系统及方法 | |
US20190166105A1 (en) | Method and system for encrypting/decrypting data with ultra-low latency for secure data storage and/or communication | |
Al-Arjan et al. | Intelligent security in the era of AI: The key vulnerability of RC4 algorithm | |
Zirem et al. | Efficient lightweight chaotic secure communication system for WSNs and IoT | |
CN111641503A (zh) | 一种用于多无人平台的可信数据传输方法 | |
CN107070629A (zh) | 一种针对sm4密码算法轮输出的模板攻击方法 | |
Kassim et al. | DMAV: Enhanced MAV Link Protocol Using Dynamic DNA Coding for Unmanned Aerial Vehicles. | |
Pandey et al. | Particle swarm optimization in cryptanalysis of DES | |
Ratan | Applications of genetic algorithms in cryptology | |
Mandal et al. | An adaptive neural network guided random block length based cryptosystem for online wireless communication (ANNRBLC) | |
Reyes et al. | Permutation parity machines for neural cryptography | |
Bokhari et al. | Performance of software and hardware oriented lightweight stream cipher in constraint environment: A review | |
Vohra et al. | An efficient chaos-based optimization algorithm approach for cryptography | |
Reddy et al. | An efficient data transmission approach using IAES-BE | |
Manojkumar et al. | Prevent Data in Embedded Based Customized Wireless Message Transmitting System Using AES Algorithm with Artificial Bee Colony Optimisation Techniques | |
Kun et al. | An improved AES algorithm based on chaos | |
Rangarajan et al. | Crypto Analysis with Modified Diffie–Hellman Key Exchange based Sensor Node Security Improvement in Wireless Sensor Networks | |
Ghazli et al. | Evolutionary approach to secure mobile telecommunication networks | |
Grozov et al. | Construction of a cryptographically secure pseudorandom sequence generator based on the blender algorithm | |
Innocent et al. | Secure two-party computation: Generic approach and exploiting specific properties of functions approach | |
Mohammed et al. | Adversarial Learning for Cross Layer Security |
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 |