CN115499832B - 一种工业无线通信安全方法 - Google Patents
一种工业无线通信安全方法 Download PDFInfo
- Publication number
- CN115499832B CN115499832B CN202211420873.9A CN202211420873A CN115499832B CN 115499832 B CN115499832 B CN 115499832B CN 202211420873 A CN202211420873 A CN 202211420873A CN 115499832 B CN115499832 B CN 115499832B
- Authority
- CN
- China
- Prior art keywords
- key
- box
- elliptic curve
- encryption
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- 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/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种工业无线通信安全方法,包括多设备密钥协商及更新方法、密钥扩展方法和加解密方法。本发明兼顾工业设备数量巨大但硬件资源有限的应用场景,在尽量减少计算资源损耗的前提下提升了工业密码技术的成熟度和自主可控水平,杜绝跟踪攻击和中间人攻击等安全隐患。该方法采用精简、高安全且自同步更新的椭圆曲线方案,实现了“去中心化”的多设备密钥协商。加解密过程中,在无第三方干预的情况下通过S盒多重置乱、动态参数置乱、参数周期性变更等机制,提高了系统破解难度。通过子线程开辟、密钥扩展和加解密过程使用相同的S盒置换机制来减少计算资源消耗,保障了工业设备运行的实时性。
Description
技术领域
本发明涉及工业信息安全领域,具体而言,涉及一种工业无线通信的方法。
背景技术
随着以5G为代表的移动通信技术在工业互联网中的推广,工业生产逐步摆脱线束和空间制约,网络节点信息化、智能化和实时性不断提高,然而无线通信的开放性和扩散性所带来的安全漏洞却与日俱增,为提高安全级别,部分工业产品集成了AES和DES等加密算法,但该算法本身就存在安全漏洞,且无法实现自主可控。
SM4算法是我国发布的商用密码算法中的分组密码算法,具有安全性强、效率高和易于硬件实现等优势,该算法的设计意图就是为了满足无线局域网产品的安全需求,其快速分组方案和对称加解密形式较好地满足了工业移动通信实时性要求。实际应用中SM4算法所使用的对称密钥有两种获取方式,第一种由服务端统一发放,服务端的“中心化”管理方式使资源过度集中,密钥下发一旦泄密整个系统就会被攻破,第二种由双向通信设备基于SM2算法密钥交换协议部分进行协商,该部分在国家标准中仅定义了两个设备的通信情况,且计算过程大量使用中间变量,不能完全满足工业设备硬件资源和计算资源有限的情况。除此之外,在加解密方面,SM4算法的S盒作为核心部件,其主要作用是让明文混乱,该S盒是固定且公开的,其轮函数机制中系统参数CK和FK也是固定且公开的,不利于防范跟踪攻击。
发明内容
鉴于此,本发明综合考虑工业无线通信应用场景需求,在尽量节省计算损耗的同时提升密码技术的成熟度和自主可控水平,杜绝跟踪攻击和中间人攻击等安全隐患,提出了一种工业无线通信安全方法,包括多设备密钥协商及更新方法、密钥扩展方法和加解密方法;该发明采用精简、高安全且自同步更新的椭圆曲线方案,实现了“去中心化”的多设备密钥协商机制,同时在加解密过程中,无第三方干预的情况下实现S盒和动态参数的自同步调整,极大增加了系统破解难度。
所述密钥协商及更新方法,其特征在于,包括以下步骤:
S1、密钥协商
可信设备A、B、C...N接入网络之后,进行基于椭圆曲线方程y2=x3+ax+b的密钥协商,a、b为其系数,G为双方约定的基于该椭圆曲线的某个基点,n为基点G的阶,每次更新密钥时对a、b和G进行动态调整,具体如下:
S11、各设备使用自带的随机数发生器产生随机数ri∈[1,n-1];基于ri计算椭圆曲线点Ri=[ri]G=(xi,yi);生成私钥di,私钥存储于可信区域内,严格保密且无法传输;基于私钥di生成公钥Pi=[di]G;上述步骤中i∈[A,N];
S12、各设备向网络中发布非密数据:Ri、Pi;
S13、设备i获取其他设备的非密数据并计算椭圆曲线点:
Ei=[ti](PA+RA)... (Pi-1+Ri-1) (Pi+1+Ri+1)... (PN+RN)=(xi',yi'),其中ti=di+ri;
因此对于设备A:EA=[tA](PB+RB)(PC+RC)...(PN+RN)=(xA',yA'),其中tA=dA+rA;
对于设备B:EB=[tB](PA+RA)(PC+RC)...(PN+RN)=(xB',yB'),其中tB=dB+rB;
依次类推可得到所有设备的椭圆曲线点;
各椭圆曲线点的坐标值相同,即xA'=xB'=...=xN',yA'=yB'=...=yN';
S14、各设备计算协商密钥
首先各设备基于SM3算法计算256位哈希值:
HA=H256(xA'||yA');HB=H256(xB'||yB');...;HN=H256(xN'||yN');
然后计算协商密钥:
KA=F192(HA);KB=F192(HB);...;KN=F192(HN);F192表示选取256位哈希值的前192位;
由S13步骤已知各椭圆曲线点坐标值相同,因此各设备获得相同的系统私钥值d∑=KA=KB=...=KN;
d∑为192位,对d∑进行十六进制数表示:A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15A16A1 7A18A19A20A21A22A23A24A25A26A27A28A29A30A31A32A33A34A35A36A37A38A39A40A41A42A43A44A45A46A47,每个Ai表示4位。另外可表示d∑=dSM4||dodd-even,dSM4为密钥扩展算法使用的原始密钥,由A0~A31组成,dodd-even为S盒置换机制中奇偶判定依据,由A32~A47组成;
S2、密钥更新
当有新设备接入并认证成功后,或经过设定周期T后,各设备建立第二线程并依据S1各步骤对密钥进行更新,密钥更新前需依据已协商的密钥对椭圆曲线方程y2=x3+ax+b的a和b参数进行更新,使a=A46,b=A47,并重新选择椭圆曲线的基点G,使其横坐标xG=HA,然后根据y2=x3+A46x+A47计算纵坐标yG,最终G=(xG,yG)。
密钥扩展方法,其特征在于,包括以下步骤:
S3、数据的预处理和输入:
原始密钥dSM4被拆分为:
MK0(32位):A0A1A2A3A4A5A6A7;
MK1(32位):A8A9A10A11A12A13A14A15;
MK2(32位):A16A17A18A19A20A21A22A23;
MK3(32位):A24A25A26A27A28A29A30A31;
MK0、MK1、MK2、MK3分别与动态参数FK进行异或运算后进入轮函数F';
设置动态参数FK,以dSM4的反向数值作为FK的设置依据:
FK0:A31A30A29A28A27A26A25A24;
FK1:A23A22A21A20A19A18A17A16;
FK2:A15A14A13A12A11A10A9A8;
FK3:A7A6A5A4A3A2A1A0;
设置动态参数CKi:在轮函数F'中根据轮次数i设定动态参数CKi,当i=0时,使CK0=FK1,当i≠0时,引入轮函数F'中间变量CKi=M';
S4、轮函数F'运算:
S41、构造S盒置换机制τ:
SM4算法中标准的S盒符号为S1;基于混沌算法生成的S盒符号为S2;S2经过行列置换后的S盒符号为S2';τ用于S盒的选择、评估和置换,每次进行密钥更新后需重设该机制,具体方法为:
对A32~A47进行求和,结果为奇数则使用S1盒对32位数据M进行置换;结果为偶数则对S2盒进行行列置换形成S2'盒,其中A0~A15用于S2盒的列变换,依次交换A0A1列、A2A3列...A14A15列,A16~A31用于S2盒的行变换,依次交换A16A17行、A18A19行... A30A31行,构造S2'盒完成后计算其适应度函数,通过权衡其非线性度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盒综合性能越优良,适应度函数完整形式如下:
所有设备约定相同的适应度阈值fTTZ,当f(s)≥fTTZ时则对32位数据M进行S2'盒的置换,若f(s)<fTTZ时则对32位数据M进行原始S2盒的置换;
S42、轮密钥输出:
计算输出值:Ki+4= Ki⊕T'(M)=Ki⊕T'(Ki+1⊕Ki+2⊕Ki+3⊕CKi),i=0,1,......,31;
其中T'为密钥扩展算法的合成置换操作;
T'(Ki+1⊕Ki+2⊕Ki+3⊕CKi)=L'(τ(Ki+1⊕Ki+2⊕Ki+3⊕CKi));
其中L'()操作为线性变换,其计算公式为:
L'(B)= B⊕(B<<<13)⊕(B<<<23)。
加解密方法,其特征在于,包括以下步骤:
S5、输入明文的预处理:
每次输入128bit明文,可拆分为X0,X1,X2,X3;
计算输入进S盒置换机制τ的数据:
M=Xi+1⊕Xi+2⊕Xi+3⊕rki=Xi+1⊕Xi+2⊕Xi+3⊕Ki+4
S6、轮函数F运算:
S61、构造S盒置换机制τ:
τ用于S盒的选择、评估和置换,直接借用S41步骤生成的S盒置换机制τ;
S62、生成密文:
Xi+4=Xi⊕T(M)= Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕Ki+4),i=0,1,......,31;
其中T为加密算法的合成置换操作;
T(Xi+1⊕Xi+2⊕Xi+3⊕Ki+4) =L(τ(Xi+1⊕Xi+2⊕Xi+3⊕Ki+4));
其中L()操作为线性变换,其计算公式为:
L(B)=(B<<<2)⊕(B<<<10)⊕B⊕(B<<<18)⊕(B<<<24);
反序变换:在轮函数F中进行32次迭代后最终获得X32, X33, X34, X35共计128bit数据,使用反序变化最终得到128bit密文C=X35||X34||X33||X32;
S7、解密方法:
本算法的解密变换与加密变换相同,不同的仅是轮密钥的使用顺序,解密时,使用轮密钥序(rk31,rk30,..., rk0)。
本发明的优点及有益效果:实现了多设备密钥协商的去中心化,降低了服务端下发对称密钥出现泄密而造成系统被攻破的风险;针对工业设备数量巨大但是硬件资源有限的问题,采用精简的椭圆曲线算法以降低其计算损耗,协商流程只需一次通信和计算即可完成所有设备的密钥协商,提高了效率和实时性;为了兼顾安全性,各设备在无第三方干预情况下自同步完成椭圆曲线和基点更新,其协商密钥与前一周期密钥差别巨大而无法预测;加解密方面,各设备基于协商密钥周期性同步更新S盒,S盒的选择和行列置换均无法预期,通过多重置乱提升了S盒的非线性度和分析难度;密钥扩展过程使用动态参数参与置乱,无需额外消耗计算资源却能极大提高系统的复杂度;密钥更新和S盒机制更新在主线程之外开辟第二线程实现,同时,密钥扩展和加解密过程使用相同的S盒置换机制,减少了计算损耗。
附图说明
图1为设备密钥协商框架图;
图2为标准SM4算法的S1盒;
图3为基于混沌算法生成的S2盒;
图4为进行行列置换后的S2'盒;
图5 为密钥扩展算法架构图;
图6 为加密算法架构图。
具体实施方式
下面根据附图举例对本发明做进一步解释:
本发明实施例提供了一种工业无线通信安全方法,包括多设备密钥协商及更新方法、密钥扩展方法和加解密方法。多设备密钥协商及更新方法实现了网络内所有可信设备密钥同步生成和更新的去中心化,密钥扩展方法和加解密方法实现了基于协商密钥的S盒同步更新和多重置乱,提高了系统的非线性度和分析难度。
一、密钥协商及更新方法
S1、密钥协商
可信设备A、B、C...N接入网络之后,如图1所示进行基于椭圆曲线方程y2=x3+ax+b的密钥协商,a、b为其系数,G为双方约定的基于该椭圆曲线的某个基点,n为基点G的阶,每次更新密钥时对a、b和G进行动态调整,具体步骤如下:
S11、各设备使用自带的随机数发生器产生随机数ri∈[1,n-1];基于ri计算椭圆曲线点Ri=[ri]G=(xi,yi);生成私钥di,私钥存储于可信区域内,严格保密且无法传输;基于私钥di生成公钥Pi=[di]G;上述步骤中i∈[A,N];
S12、各设备向网络中发布非密数据:Ri、Pi;
S13、设备i获取其他设备的非密数据并计算椭圆曲线点:
Ei=[ti](PA+RA)... (Pi-1+Ri-1) (Pi+1+Ri+1)... (PN+RN)=(xi',yi'),其中ti=di+ri;
因此对于设备A:EA=[tA](PB+RB)(PC+RC)...(PN+RN)=(xA',yA'),其中tA=dA+rA;
对于设备B:EB=[tB](PA+RA)(PC+RC)...(PN+RN)=(xB',yB'),其中tB=dB+rB;
依次类推可得到所有设备的椭圆曲线点;
对于设备B:
EB=[tB](PA+RA)(PC+RC)...(PN+RN)=[dB+rB](PA+RA)(PC+RC)...(PN+RN)=[dB+rB]([dA]G+[rA]G)(PC+RC)...(PN+RN)=[dB+rB][dA+rA]G(PC+RC)...(PN+RN)=[dA+rA][dB+rB]G(PC+RC)...(PN+RN)=[tA](PB+RB) (PC+RC)...(PN+RN)=EA;
很明显EA=EB,依次类推所有设备的椭圆曲线点均相同,即EA=EB=EC=...=EN,所以各椭圆曲线点的坐标值相同,即xA'=xB'=...=xN',yA'=yB'=...=yN';
S14、各设备计算协商密钥
首先各设备基于SM3算法计算256位哈希值:
HA=H256(xA'||yA');HB=H256(xB'||yB');...;HN=H256(xN'||yN');
然后计算协商密钥:
KA=F192(HA);KB=F192(HB);...;KN=F192(HN);F192表示选取256位哈希值的前192位;
由S13步骤已知各椭圆曲线点坐标值相同,因此各设备获得相同的系统私钥值d∑=KA=KB=...=KN;
d∑为192位,对d∑进行十六进制数表示:A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15A16A1 7A18A19A20A21A22A23A24A25A26A27A28A29A30A31A32A33A34A35A36A37A38A39A40A41A42A43A44A45A46A47,每个Ai表示4位。另外可表示d∑=dSM4||dodd-even,dSM4为密钥扩展算法使用的原始密钥,由A0~A31组成,dodd-even为S盒置换机制中奇偶判定依据,由A32~A47组成。
S2、密钥更新
当有新设备接入并认证成功后,或经过设定周期T后,各设备建立第二线程并依据S1各步骤对密钥进行更新,密钥更新前需依据已协商的密钥对椭圆曲线方程y2=x3+ax+b的a和b参数进行更新,使a=A46,b=A47,并重新选择椭圆曲线的基点G,使其横坐标xG=HA,然后根据y2=x3+A46x+A47计算纵坐标yG,最终G=(xG,yG)。
二、密钥扩展方法
密钥扩展算法架构如图5所示,其中,S1如图2所示,为SM4算法中标准的S盒;S2如图3所示,为基于混沌算法生成的S盒;S2'为S2经过行列置换后的S盒。
S3、数据的预处理和输入:
原始密钥dSM4被拆分为:
MK0(32位):A0A1A2A3A4A5A6A7;
MK1(32位):A8A9A10A11A12A13A14A15;
MK2(32位):A16A17A18A19A20A21A22A23;
MK3(32位):A24A25A26A27A28A29A30A31;
MK0、MK1、MK2、MK3分别与动态参数FK进行异或运算后进入轮函数F';
设置动态参数FK,以dSM4的反向数值作为FK的设置依据:
FK0:A31A30A29A28A27A26A25A24;
FK1:A23A22A21A20A19A18A17A16;
FK2:A15A14A13A12A11A10A9A8;
FK3:A7A6A5A4A3A2A1A0;
设置动态参数CKi:在轮函数F'中根据轮次数i设定动态参数CKi,当i=0时,使CK0=FK1,当i≠0时,引入轮函数F'中间变量CKi=M';
S4、轮函数F'运算:
S41、构造S盒置换机制τ:
图5中方框τ用于S盒的选择、评估和置换,每次进行密钥更新后需重设该机制,具体方法为:
对A32~A47进行求和,结果为奇数则使用S1盒对32位数据M进行置换;结果为偶数则对S2盒进行行列置换形成S2'盒,其中A0~A15用于S2盒的列变换,依次交换A0A1列、A2A3列...A14A15列,A16~A31用于S2盒的行变换,依次交换A16A17行、A18A19行... A30A31行,构造S2'盒完成后计算其适应度函数,通过权衡其非线性度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盒综合性能越优良,适应度函数完整形式如下:
所有设备约定相同的适应度阈值fTTZ,当f(s)≥fTTZ时则对32位数据M进行S2'盒的置换,若f(s)<fTTZ时则对32位数据M进行原始S2盒的置换。
S42、轮密钥输出:
计算输出值:Ki+4= Ki⊕T'(M)=Ki⊕T'(Ki+1⊕Ki+2⊕Ki+3⊕CKi),i=0,1,......,31;
其中T'为密钥扩展算法的合成置换操作;
T'(Ki+1⊕Ki+2⊕Ki+3⊕CKi)=L'(τ(Ki+1⊕Ki+2⊕Ki+3⊕CKi));
其中L'()操作为线性变换,其计算公式为:
L'(B)= B⊕(B<<<13)⊕(B<<<23)。
示例1:
通过一个例子来论述密钥扩展方法,若经过密钥协商过程后N个设备约定系统私钥为:
d∑=01234567,89ABCDEF,FEDCBA98,76543210,01234567,89ABCDEF;
则dSM4=01234567,89ABCDEF,FEDCBA98,76543210;
dodd-even =01234567,89ABCDEF;
根据S3步骤获得:FK0=01234567,FK1=89ABCDEF,FK2= FEDCBA98,FK0=76543210;
当i=0时,即第0轮迭代,动态参数CK0= FK1=89ABCDEF;K0=MK0⊕FK0=01234567⊕01234567=00000000,同理可得:K1=00000000,K2=00000000,K3=00000000;
则M=K1⊕K2⊕K3⊕CK0=89ABCDEF;
对dodd-even进行求和为0x78(十六进制),该结果为偶数,则对S2进行置换操作,列置换依据为dSM4的01234567,89ABCDEF,即对0列和1列进行置换,对2列和3列进行置换,依次类推,最后完成E列和F列的置换;行置换依据为dSM4的FEDCBA98,76543210,对F行和E行进行置换,对D行和C行进行置换,依次类推,最后完成1行和0行的置换,行列置换完成后获得的S2'如图4所示,计算该S2'的适应度函数f(s),若f(s)≥fTTZ则对89ABCDEF进行基于S2'的S盒置换:
τ(M)=τ(K1⊕K2⊕K3⊕CK0)=τ(89ABCDEF)=22055772;
所以L'(τ(M))=L'(22055772)=(22055772)⊕(22055772<<<13)⊕(22055772<<<23)=(22055772)⊕(AAEE4440)⊕(B91102AB)= 31FA1199,M'=31FA1199作为下一轮运算的CK1使用;
K4=K0⊕T'(M)=K0⊕L'(τ(M))=(00000000)⊕(31FA1199)= 31FA1199;
故经过第0轮迭代输出K4的结果是31FA1199,依据该过程在轮函数F'中进行32次迭代后输出K4~K35共32个数值作为加密算法的轮密钥。
三、加解密方法
加密算法架构如图6所示,其中,S1、S2、S2'和“二、密钥扩展方法”中的S盒相同。
S5、输入明文的预处理:
每次输入128bit明文,可拆分为X0,X1,X2,X3;
计算输入进S盒置换机制τ的数据:
M=Xi+1⊕Xi+2⊕Xi+3⊕rki=Xi+1⊕Xi+2⊕Xi+3⊕Ki+4
S6、轮函数F运算:
S61、构造S盒置换机制τ:
图6中方框τ用于S盒的选择、评估和置换,直接借用S41步骤生成的S盒置换机制τ;
S62、生成密文:
Xi+4=Xi⊕T(M)= Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕Ki+4),i=0,1,......,31;
其中T为加密算法的合成置换操作;
T(Xi+1⊕Xi+2⊕Xi+3⊕Ki+4)=L(τ(Xi+1⊕Xi+2⊕Xi+3⊕Ki+4));
其中L()操作为线性变换,其计算公式为:
L(B)=(B<<<2)⊕(B<<<10)⊕B⊕(B<<<18)⊕(B<<<24);
反序变换:在轮函数F中进行32次迭代后最终获得X32, X33, X34, X35共计128bit数据,使用反序变化最终得到128bit密文C=X35||X34||X33||X32;
S7、解密方法:
本算法的解密变换与加密变换相同,不同的仅是轮密钥的使用顺序,解密时,使用轮密钥序(rk31,rk30,..., rk0)。
示例2:
通过一个例子来论述加密方法:
若输入的明文为128bit数据:01234567,89ABCDEF,FEDCBA98,76543210;
则X0=01234567,X1=89ABCDEF,X2=FEDCBA98,X3=76543210;
当i=0时,即第0轮迭代:
M=X1⊕X2⊕X3⊕K4,其中K4来自于S4步骤中的“示例1”结果,为31FA1199;
故M =(89ABCDEF)⊕(FEDCBA98)⊕(76543210)⊕(31FA1199)=30D954FE;
根据“示例1”中S盒的判定,应选用S2'对数据M进行置换:
τ(X1⊕X2⊕X3⊕K4)=τ(30D954FE)=81135F35;
所以T(M)=L(τ(M))=L(81135F35)=(81135F35<<<2)⊕(81135F35<<<10)⊕(81135F35)⊕(81135F35<<<18)⊕(81135F35<<<24) =(044D7CD6)⊕(4D7CD604)⊕(81135F35)⊕(7CD6044D)⊕(3581135F)= 8175E2F5;
所以X4=X0⊕T(M)=(01234567)⊕(8175E2F5)= 8056A792;
故经过第0轮迭代输出X4为8056A792,依据该过程在轮函数F中进行32次迭代后获得X32, X33, X34, X35,然后获得反序密文C= X35||X34||X33||X32。
Claims (3)
1.一种工业无线通信安全方法,其特征在于,包括多设备密钥协商及更新方法、密钥扩展方法和加解密方法;
所述密钥协商及更新方法,其特征在于,包括以下步骤:
S1、密钥协商
可信设备A、B、C...N接入网络之后,进行基于椭圆曲线方程y2=x3+ax+b的密钥协商,a、b为其系数,G为双方约定的基于该椭圆曲线的某个基点,n为基点G的阶,每次更新密钥时对a、b和G进行动态调整,具体步骤如下:
S11、各设备使用自带的随机数发生器产生随机数ri∈[1,n-1];基于ri计算椭圆曲线点Ri=[ri]G=(xi,yi);生成私钥di,私钥存储于可信区域内,严格保密且无法传输;基于私钥di生成公钥Pi=[di]G;上述步骤中i∈[A,N];
S12、各设备向网络中发布非密数据:Ri、Pi;
S13、设备i获取其他设备的非密数据并计算椭圆曲线点:
Ei=[ti](PA+RA)... (Pi-1+Ri-1) (Pi+1+Ri+1)... (PN+RN)=(xi',yi'),其中ti=di+ri;
因此对于设备A:EA=[tA](PB+RB)(PC+RC)...(PN+RN)=(xA',yA'),其中tA=dA+rA;
对于设备B:EB=[tB](PA+RA)(PC+RC)...(PN+RN)=(xB',yB'),其中tB=dB+rB;
依次类推可得到所有设备的椭圆曲线点;
各椭圆曲线点的坐标值相同,即xA'=xB'=...=xN',yA'=yB'=...=yN';
S14、各设备计算协商密钥
首先各设备基于SM3算法计算256位哈希值:
HA=H256(xA'||yA');HB=H256(xB'||yB');...;HN=H256(xN'||yN');
然后计算协商密钥:
KA=F192(HA);KB=F192(HB);...;KN=F192(HN);F192表示选取256位哈希值的前192位;
由S13步骤已知各椭圆曲线点坐标值相同,因此各设备获得相同的系统私钥值d∑=KA=KB=...=KN;
d∑为192位,对d∑进行十六进制数表示:A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15A16A17A18A1 9A20A21A22A23A24A25A26A27A28A29A30A31A32A33A34A35A36A37A38A39A40A41A42A43A44A45A46A47,每个Ai表示4位;另外可表示d∑=dSM4||dodd-even,dSM4为密钥扩展算法使用的原始密钥,由A0~A31组成,dodd-even为S盒置换机制中奇偶判定依据,由A32~A47组成;
S2、密钥更新
当有新设备接入并认证成功后,或经过设定周期T后,各设备建立第二线程并依据S1各步骤对密钥进行更新,密钥更新前需依据已协商的密钥对椭圆曲线方程y2=x3+ax+b的a和b参数进行更新,使a=A46,b=A47,并重新选择椭圆曲线的基点G,使其横坐标xG=HA,然后根据y2=x3+A46x+A47计算纵坐标yG,最终G=(xG,yG)。
2.根据权利要求1所述的一种工业无线通信安全方法,所述密钥扩展方法,其特征在于,包括以下步骤:
S3、数据的预处理和输入:
原始密钥dSM4被拆分为:
MK0(32位):A0A1A2A3A4A5A6A7;
MK1(32位):A8A9A10A11A12A13A14A15;
MK2(32位):A16A17A18A19A20A21A22A23;
MK3(32位):A24A25A26A27A28A29A30A31;
MK0、MK1、MK2、MK3分别与动态参数FK进行异或运算后进入轮函数F';
设置动态参数FK,以dSM4的反向数值作为FK的设置依据:
FK0:A31A30A29A28A27A26A25A24;
FK1:A23A22A21A20A19A18A17A16;
FK2:A15A14A13A12A11A10A9A8;
FK3:A7A6A5A4A3A2A1A0;
设置动态参数CKi:在轮函数F'中根据轮次数i设定动态参数CKi,当i=0时,使CK0=FK1,当i≠0时,引入轮函数F'中间变量CKi=M';
S4、轮函数F'运算:
S41、构造S盒置换机制τ:
SM4算法中标准的S盒符号为S1;基于混沌算法生成的S盒符号为S2; S2经过行列置换后的S盒符号为S2';τ用于S盒的选择、评估和置换,每次进行密钥更新后需重设该机制,具体方法为:
对A32~A47进行求和,结果为奇数则使用S1盒对32位数据M进行置换;结果为偶数则对S2盒进行行列置换形成S2'盒,其中A0~A15用于S2盒的列变换,依次交换A0A1列、A2A3列...A14A15列,A16~A31用于S2盒的行变换,依次交换A16A17行、A18A19行... A30A31行,构造S2'盒完成后计算其适应度函数,通过权衡其非线性度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盒综合性能越优良,适应度函数完整形式如下:
所有设备约定相同的适应度阈值fTTZ,当f(s)≥fTTZ时则对32位数据M进行S2'盒的置换,若f(s)<fTTZ时则对32位数据M进行原始S2盒的置换;
S42、轮密钥输出:
计算输出值:Ki+4= Ki⊕T'(M)=Ki⊕T'(Ki+1⊕Ki+2⊕Ki+3⊕CKi),i=0,1,......,31;
其中T'为密钥扩展算法的合成置换操作;
T'(Ki+1⊕Ki+2⊕Ki+3⊕CKi)=L'(τ(Ki+1⊕Ki+2⊕Ki+3⊕CKi));
其中L'()操作为线性变换,其计算公式为:
L'(B)= B⊕(B<<<13)⊕(B<<<23)。
3.根据权利要求1所述的一种工业无线通信安全方法,所述加解密方法,其特征在于,包括以下步骤:
S5、输入明文的预处理:
每次输入128bit明文,可拆分为X0,X1,X2,X3;
计算输入进S盒置换机制τ的数据:
M=Xi+1⊕Xi+2⊕Xi+3⊕rki=Xi+1⊕Xi+2⊕Xi+3⊕Ki+4
S6、轮函数F运算:
S61、构造S盒置换机制τ:
τ用于S盒的选择、评估和置换,直接借用S41步骤生成的S盒置换机制τ;
S62、生成密文:
Xi+4=Xi⊕T(M)= Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕Ki+4),i=0,1,......,31;
其中T为加密算法的合成置换操作;
T(Xi+1⊕Xi+2⊕Xi+3⊕Ki+4) =L(τ(Xi+1⊕Xi+2⊕Xi+3⊕Ki+4));
其中L()操作为线性变换,其计算公式为:
L(B)=(B<<<2)⊕(B<<<10)⊕B⊕(B<<<18)⊕(B<<<24);
反序变换:在轮函数F中进行32次迭代后最终获得X32, X33, X34, X35共计128bit数据,使用反序变换最终得到128bit密文C=X35||X34||X33||X32;
S7、解密方法:
本算法的解密变换与加密变换相同,不同的仅是轮密钥的使用顺序,解密时,使用轮密钥序(rk31,rk30,..., rk0)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211420873.9A CN115499832B (zh) | 2022-11-14 | 2022-11-14 | 一种工业无线通信安全方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211420873.9A CN115499832B (zh) | 2022-11-14 | 2022-11-14 | 一种工业无线通信安全方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115499832A CN115499832A (zh) | 2022-12-20 |
CN115499832B true CN115499832B (zh) | 2023-01-17 |
Family
ID=84881086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211420873.9A Active CN115499832B (zh) | 2022-11-14 | 2022-11-14 | 一种工业无线通信安全方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115499832B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013078970A1 (zh) * | 2011-11-30 | 2013-06-06 | 西安西电捷通无线网络通信股份有限公司 | 基于sm2密钥交换协议的密钥协商方法及装置 |
CN104753665A (zh) * | 2015-03-19 | 2015-07-01 | 成都信息工程学院 | 一种针对sm4密码轮函数输出的侧信道能量攻击方法 |
CN105553638A (zh) * | 2015-12-07 | 2016-05-04 | 成都芯安尤里卡信息科技有限公司 | 针对sm4一阶掩码算法的二阶频域能量分析攻击 |
CN114745123A (zh) * | 2022-06-10 | 2022-07-12 | 济南职业学院 | 一种工业rfid安全通信方法 |
-
2022
- 2022-11-14 CN CN202211420873.9A patent/CN115499832B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013078970A1 (zh) * | 2011-11-30 | 2013-06-06 | 西安西电捷通无线网络通信股份有限公司 | 基于sm2密钥交换协议的密钥协商方法及装置 |
CN104753665A (zh) * | 2015-03-19 | 2015-07-01 | 成都信息工程学院 | 一种针对sm4密码轮函数输出的侧信道能量攻击方法 |
CN105553638A (zh) * | 2015-12-07 | 2016-05-04 | 成都芯安尤里卡信息科技有限公司 | 针对sm4一阶掩码算法的二阶频域能量分析攻击 |
CN114745123A (zh) * | 2022-06-10 | 2022-07-12 | 济南职业学院 | 一种工业rfid安全通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115499832A (zh) | 2022-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108418686B (zh) | 一种多分布式的sm9解密方法与介质及密钥生成方法与介质 | |
Hasanzadeh et al. | A novel color image encryption algorithm based on substitution box and hyper-chaotic system with fractal keys | |
Niu et al. | An image encryption approach based on chaotic maps and genetic operations | |
CN109831297A (zh) | 一种支持门限解密的多身份全同态加密方法 | |
Paterson et al. | Plaintext recovery attacks against WPA/TKIP | |
Yin et al. | GSAPSO-MQC: medical image encryption based on genetic simulated annealing particle swarm optimization and modified quantum chaos system | |
CN109450615A (zh) | 一种高效的opc ua客户端与服务器端数据传输加密方法 | |
CN106067878A (zh) | 一种网络数据加密传输方法 | |
CN113407963A (zh) | 基于signsgd的联邦学习梯度安全聚合方法 | |
Sun et al. | Efficient Multiparty Quantum Key Agreement With a Single $ d $-Level Quantum System Secure Against Collusive Attack | |
Noura et al. | Lightweight dynamic key-dependent and flexible cipher scheme for IoT devices | |
Achkoun et al. | SPF-CA: A new cellular automata based block cipher using key-dependent S-boxes | |
Zhang et al. | An efficient and secure image encryption algorithm based on non-adjacent coupled maps | |
Khan et al. | Elliptic curve cryptography for the security of insecure Internet of Things | |
Salmi et al. | Implementation of the data encryption using caesar cipher and vernam cipher methods based on CrypTool2 | |
Xu et al. | Secure multi-party quantum summation based on quantum homomorphic encryption | |
Harn et al. | General logic-operation-based lightweight group-key distribution schemes for Internet of Vehicles | |
Espalmado et al. | DARE Algorithm: A new security protocol by integration of different cryptographic techniques | |
Yang et al. | Cryptanalysis of a chaos block cipher for wireless sensor network | |
CN115499832B (zh) | 一种工业无线通信安全方法 | |
CN112601221A (zh) | 一种基于时间信息的物联网动态ntru接入认证方法 | |
CN109981254B (zh) | 一种基于有限李型群分解问题的微型公钥加解密方法 | |
Liu et al. | A comprehensive privacy-preserving federated learning scheme with secure authentication and aggregation for internet of medical things | |
CN110532763B (zh) | 一种基于高阶正形置换的密码构造方法及系统 | |
CN114401085A (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 |