在计算机网络中,网络密钥被用来保护交换数据。这些数据在传输之前已经完成了加密。在一个PLC网络中,数据在共享的电网中传输。因此,对数据进行加密是很重要的,以避免被破译。为此,PLC网络使用密钥来辨别网络和属于该网络的设备。
HomePlug1.0使用两个加密密钥,分别为NEK和DEK。它们被保存到每一个设备的寄存器中,并且可通过修改EKS(加密密钥选择)参数来进行访问。
WEP(Wired Equivalent Privacy,有线等效保密)被用来保护Wi-Fi网络中的数据,与此类似,NEK以相同的方式鉴别PLC网络。NEK用来完成以下工作:
1)在相同的电力网络上构建多个PLC网络。
2)对PLC设备之间传输的数据进行加密。
3)验证设备是否属于该PLC网络。
HomePlug PLC网络的默认NEK
在HomePlug中,默认的NEK等于0x46D613E0F84A764C。任何在商店出售的HomePlug PLC设备都有这个加密密钥。
如果一个没有经过培训的人在毫无配置概念的时候使用这些设备,那么安全性将荡然无存。如果有数据在整栋大楼或者单独住所的电力网络中传输,所有设置为此默认NEK标准的设备所传输的数据都会被解密。
DEK可以区别特定的PLC设备。通过建筑物或者商业应用场景中的电力网络,可以实现远程的PLC设备配置。这一密钥用来对持有NEK的PLC设备与企图加入本PLC网络的PLC设备之间的通信信息进行加密。在第9章我们将看到,特别是实际的PLC网络配置,利用这一密钥可以在网络管理中心处实现非常有用的PLC远程设备配置。
计算NEK
PKCS#5标准指定了两种使用密码加密的方法。在HomePlug中使用了PBFDK1方法。关于输入参数方面,它需要一个密码(由管理员输入);一个“salt value”(这是一个公钥,由HomePlug指定固定的参数);一个迭代计数(管理者在PBFDK1格式中指定了次数,将在一个循环中重复,以提高加密效率)以及还有输出的生成密钥的长度。
PBFDK1使用MD5哈希函数(对加密信息摘要的特殊定义和合成),在这里的目的就是用来加密信息和,以及用来生成PLC网络密码的数字摘要。该方法用方程描述如下:
DK=PBFDK1(P,S,c,dkLen)
其中,DK为加密密钥(当dkLen为8时,DK为NEK);P为密码(由网络管理员输入);S是salt value(等于二进制码0x08856DAF 7CF58185);c是迭代次数(1000次);dkLen为加密密钥的长度(8bit)。
根据FIPS PUB112标准,规定密码的长度为4~8bit,甚至可能更长(如24bit)。
PBFDK1指定哈希函数(MD5)必须以迭代的方式执行1000次。第一个值是密码和salt value的级联。
迭代步骤如下:
T1=MD5(P|S)
T2=MD5(T1)
︙
T1000=MD5(T999)
DK=T1000<0…7>
其中(P|S)是P和S的级联。
MD5算法(RFC 1321)(www.xing528.com)
MD5算法根据输入信息生成128bit的MD(摘要)。在理论上,两个不同的信息不会产生相同的MD。
MD5算法如下:
mext=m+mpad+m1
其中,mext是由MD5算法生成的扩展信息;m是自定长度的输入信息转变成一个数据流;mpad是m之后的补足位(也就是1之后的若干个0),将mext补足为余数为448(模512)的长度;m1是原始信息的长度,m是64bit二进制块。
加长的信息mext要经过4次变换,每次传输要经过16次处理。在每次处理中,都在上一次的结果上增加一个固定值。这个固定值是通过SINE函数计算出来的,被保存在一个64行1列的表格当中。
固定值的计算如下:
addition=int(232×abs(sin(i)))
其中,i代表随机数,这64个固定值(addition)将不会超过32位。
HomePlug AV的安全性
在HomePlug AV应用的安全功能如下:
1)在密码段链接(Cipher Block Chaining,CBC)模式中用128bit的AES加密。
2)用一个NEK(每小时变换一个NEK数值)加密物理数据保护数据。
3)在网络上用NMK(Network Membership Key)来辨别NEK,在此NMK对进入网络的设备进行鉴权。
4)新的PLC设备通过以下配置来辨别:
◆在以太网接口上使用一个帧来传输NMK;
◆使用DAK(direct access key)代表HomePlug 1.0的DEK密钥;
◆使用一个简单的连接按钮;
◆使用MDAK(Meta DAK);
◆使用一对PPK(Public-Private Key encryption)。
5)支持HLE(Higher Layer Entities)协议,例如IEEE 802.1x。
表4.1从4个方面总结了不同的PLC技术进行安全管理的特点:密钥管理、加密水平、优点和每个方法的缺点。
表4.1 PLC技术的密钥管理
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。