正在加载图片...
魏世勇等:基于安全传输策略的网络化预测控制系统设计 ·1405· 有任何数据安全措施的网络层传输协议,易受到攻击. 的安全等级时,非对称加密算法的速度比对称加密 因此,为了应对网络中的被动攻击,必须采取相应的策 算法要慢上千倍,因此,本文将两者结合起来,利用 略确保传输数据的机密性,以防止恶意攻击者获取被 对称加密算法来进行数据的加密来保障数据传输 控对象和控制器的真实信息. 的实时性,通过非对称加密算法RSA来定时更新对 般情况下,传输数据的机密性是通过加密算 称加密算法的密钥.表1对比了常见的3种对称加 法来确保的.加密算法分为非对称加密算法和对 密算法DES、3DES和AES.在NCSs中,控制器与传 称加密算法两种.其中,非对称加密算法并不需要 感器、执行器之间传输的数据量较小,数据传输频 像对称加密算法那样在进行数据传输的两个实体 繁.无论从速度还是安全性角度来说,AES加密算 之间交换密钥,安全性能非常好.但是在达到相同 法最为适合的. 表1DES,3DES和AES算法对比 Table 1 Comparison of DES,3DES,and AES algorithms 算法 速度 密钥长度 分组长度 安全性 DES 较快 56 64 密钥短,易受穷举法攻击 3DES 较慢 112/168 64 DES的三重安全性 AES 快 128/192/256 32N(N=4,6.8) 安全级别高 本文采用Matlab中S-Function来实现AES算法, 输出才一样.此处,将128位的散列码分成两个64位 如图2所示为基于MATLAB/SIMULINK的AES加密 的double型数据,并将两个double型数据相加.前者 解密过程仿真实验,其中AES_Encryption为AES加密 所计算的结果为-4.7978840567495×109,后者为 模块,AES_Decryption为AES解密模块,当原始数据向 6.7230518714531×1092.两者毫无关系,相差甚远. 量进行AES加密后将转换成一个没有意义的数据向 同样,当输入为[7654.321168.76543]中的一部分,即 量,通过AES解密模块则转换为初始的数据向量 只输入7654.321时,得到的散列码也不一样.由此, 可见MD5能够检测数据的完整性和真实性. -1.708×10-22 11.11 -1.066x10+四 7654.321 -2.41×10% 7654.32 Constant l 1.569x10可 Constant] 168.76543 22.12 DisplayI 168.76543 -4.7978840567495×10四 Constant MD5 11.11 Constant 33.13 22.12 Displayl AES E AES D Constant2 33.13 7654.321 AES Encryption AES_Decryption 66.28 7654.321 66.28 Constant3 Display 168.76542 Constant3 MD5 168.76542 6.7230518714531×10 图2基于MATLAB/SIMULINK的AES算法仿真 MD5 1 Constant2 Fig.2 Simulation of AES algorithm using MATLAB/SIMULINK Display2 7654.321 1.3数据完整性和真实性检测 7654.321 MD5 -2.217590528185×104 在NCSs中,数据在网络中传输不仅要考虑其机 Constant7 MD5 2 Display4 密性,而且要确保接收方接收到数据的真实性和完整 7654.321 性.本文采用MD5散列码和时间戳策略来确保传输 7654.321 Constant5 数据的完整性与真实性.MD5是一种单向的散列算 168.76543 MD5 168.76543 -4.7978840567495×10则 法,可以用来检测接收方所接受到的数据是否被恶意 MD5_3 Constant4 的篡改、伪造、部分截取.MD5算法接收任何维数的数 Display3 据向量输入,并根据数据向量计算出一个128位的散 图3基于MATLAB/SIMULINK的MD5算法仿真 列码.这个散列码可以表征出数据向量的特征,一旦 Fig.3 Simulation of MD5 algorithm using MATLAB/SIMULINK 数据向量遭到修改,计算得到的散列码会发生很大的 变化.图3所示为基于MATLAB./SIMULINK的MD5 1.4网络化控制数据安全传输策略有效性验证 算法仿真.当二维输入向量由[7654.321168.76543] 在S100-1实训平台上搭建管道压力控制系统验 更改为[7654.321168.76542]时,MD5算法所产生的 证所设计的SDTS的有效性.针对该管道压力系统,设 128位散列码是大相径庭的,而只有输人完全相同时, 计了一个如式(1)所示的离散PI控制器.其中系统的魏世勇等: 基于安全传输策略的网络化预测控制系统设计 有任何数据安全措施的网络层传输协议,易受到攻击. 因此,为了应对网络中的被动攻击,必须采取相应的策 略确保传输数据的机密性,以防止恶意攻击者获取被 控对象和控制器的真实信息. 一般情况下,传输数据的机密性是通过加密算 法来确保的. 加密算法分为非对称加密算法和对 称加密算法两种. 其中,非对称加密算法并不需要 像对称加密算法那样在进行数据传输的两个实体 之间交换密钥,安全性能非常好. 但是在达到相同 的安全等级时,非对称加密算法的速度比对称加密 算法要慢上千倍,因此,本文将两者结合起来,利用 对称加密算法来进行数据的加密来保障数据传输 的实时性,通过非对称加密算法 RSA 来定时更新对 称加密算法的密钥. 表 1 对比了常见的 3 种对称加 密算法 DES、3DES 和 AES. 在 NCSs 中,控制器与传 感器、执行器之间传输的数据量较小,数据传输频 繁. 无论从速度还是安全性角度来说,AES 加密算 法最为适合的. 表 1 DES、3DES 和 AES 算法对比 Table 1 Comparison of DES, 3DES, and AES algorithms 算法 速度 密钥长度 分组长度 安全性 DES 较快 56 64 密钥短,易受穷举法攻击 3DES 较慢 112 / 168 64 DES 的三重安全性 AES 快 128 / 192 / 256 32N (N = 4,6,8) 安全级别高 本文采用 Matlab 中 S鄄鄄Function 来实现 AES 算法, 如图 2 所示为基于 MATLAB/ SIMULINK 的 AES 加密 解密过程仿真实验,其中 AES_Encryption 为 AES 加密 模块,AES_Decryption 为 AES 解密模块,当原始数据向 量进行 AES 加密后将转换成一个没有意义的数据向 量,通过 AES 解密模块则转换为初始的数据向量. 图 2 基于 MATLAB/ SIMULINK 的 AES 算法仿真 Fig. 2 Simulation of AES algorithm using MATLAB/ SIMULINK 1郾 3 数据完整性和真实性检测 在 NCSs 中,数据在网络中传输不仅要考虑其机 密性,而且要确保接收方接收到数据的真实性和完整 性. 本文采用 MD5 散列码和时间戳策略来确保传输 数据的完整性与真实性. MD5 是一种单向的散列算 法,可以用来检测接收方所接受到的数据是否被恶意 的篡改、伪造、部分截取. MD5 算法接收任何维数的数 据向量输入,并根据数据向量计算出一个 128 位的散 列码. 这个散列码可以表征出数据向量的特征,一旦 数据向量遭到修改,计算得到的散列码会发生很大的 变化. 图 3 所示为基于 MATLAB/ SIMULINK 的 MD5 算法仿真. 当二维输入向量由[7654郾 321 168郾 76543] 更改为[7654郾 321 168郾 76542] 时,MD5 算法所产生的 128 位散列码是大相径庭的,而只有输入完全相同时, 输出才一样. 此处,将 128 位的散列码分成两个 64 位 的 double 型数据,并将两个 double 型数据相加. 前者 所计算的结果为 - 4郾 7978840567495 伊 10 294 ,后者为 6郾 7230518714531 伊 10 29 2 . 两者毫无关系,相差甚远. 同样,当输入为[7654郾 321 168郾 76543]中的一部分,即 只输入 7654郾 321 时,得到的散列码也不一样. 由此, 可见 MD5 能够检测数据的完整性和真实性. 图 3 基于 MATLAB / SIMULINK 的 MD5 算法仿真 Fig. 3 Simulation of MD5 algorithm using MATLAB / SIMULINK 1郾 4 网络化控制数据安全传输策略有效性验证 在 S100鄄鄄1 实训平台上搭建管道压力控制系统验 证所设计的 SDTS 的有效性. 针对该管道压力系统,设 计了一个如式(1)所示的离散 PI 控制器. 其中系统的 ·1405·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有