PRIME标准中安全配置的研究①
2012-08-21黄均安
金 明, 戴 崇, 黄均安, 唐 振
(安徽水利水电职业技术学院机电系,安徽合肥231603)
0 引言
当今,电力线通信技术(PLC,power line communication)不断的发展,基于低压电力线传输高速数据、图像、语音等多媒体信号成为一种可能.随着大量新的调制技术和新型PLC芯片出现,电力线通信在传输速率和服务质量上取得了很大突破.基于PLC技术,电力自动抄表系统的成本正迅速降低[1].
PLC中常采用抗干扰能力强的正交频分复用(OFDM)调制技术,OFDM能有效地解决电力线通信的易受干扰信号、背景噪声、脉冲噪声和群延迟的影响以及变压器的跨越等实质问题[2].
当前的PLC通信主要可分为:宽带通信和窄带通信.PLC宽带通信主要是实现电力线上网,大数据量传输,目前在国外有一定的应用.但在国内,由于电力系统的基础设施无法提供高质量的数据传输服务;同时国内的电网电压波动性较大,也影响通信质量[3].所以,目前基于PLC宽带研究及应用在国内并不广泛.
PLC窄带通信技术由于其通信方式简单,通信质量稳定可靠,在国内电力系统中广泛应用于电力自动抄表系统中.目前国内主要采用PRIME标准和G3标准两大通讯体系.
1 PRIME标准概述
PRIME(powerLine intelligent metering evolution)是一个由PRIME联盟推出的一个开放式多供应商、基于OFDM的PLC物理层和MAC层的自动抄表技术 AMR(automatic meter- reading)[4].
在频段选择上,PRIME直接采用CENELECA 的 47.36kHz~93.75kHz范围,这样可以减少低压电力线受较低阻抗性和家电干扰等不确定因素的影响,有效的提高了数据的传输质量[5].
图1 PRIME体系结构
PRIME的通信体系可以分为以下几个层次:最底层的物理层,MAC层,汇聚层,以及最顶层的客户应用层.
物理层实现了在50Hz~60Hz的交流配电线上进行MAC层的协议数据单元收发.
会聚层主要实现设置会聚子层,以提供管理MAC核心功能、并控制MAC层的服务数据包走向.
管理层能够使本地或远程控制实体在PRIME设备上执行.
MAC层处于整个协议栈的核心地位,它提供以下的重要服务:信道访问、频带分配、连接的建立与维护,以及拓扑决议.
PRIME的中继技术是由其MAC层来实现的,是PRIME技术能否成功地应用于AMR的关键所在.
PRIME的体系结构如下图1所示:
目前,在电力线通信中,整个电力线网络可分成若干个子网络,在PRIME标准中,这些子网络可称为PRIME子网.一个PRIME子网,通常是由一个基站节点(集中器)和若干个服务节点(电表)组成.基站节点主要负责启动和维护子网;而服务节点可根据需要在三种状态(不通状态、中继状态和终端状态)之间动态地变换.如图2:
服务节点若要进行状态变换,需要与基站节点的进行通信,采用MAC控制报文.
报文类型分为以下几类:注册管理控制报文(REG)、连接管理控制报文(CON)、升级管理控制报文(PRO)、信标槽信息控制报文(BSI)、帧结构变化控制报文(FRA)、无竞争请求控制报文(CFP)、保活控制报文(ALV)、组播管理控制报文(MUL)、物理层鲁棒性管理控制报文(PRM)以及安全信息控制报文(SEC).
图2 PRIME应用组网图
MAC层的通信中,数据的安全性是非常重要的.因为这会影响到PRIME子网络维护、更新以及通信的安全性.所以,MAC报文在传输过程中,要对报文进行加密处理和安全配置.
本文正是通过安全连接方法和密钥管理方法通论,来实现MAC层数据通信的安全性、完整性、身份认证可靠性.
2 PRIME标准中的安全配置
目前,PRIME标准支持两种安全配置;一个是安全配置0;一个是安全配置1.PRIME新标准还可以有其他多种安全配置,不在本文的讨论范围内.
安全配置0适应于没有严格要求保密性,身份验证性和数据完整性的通信环境,如无加密的MAC服务数据单元(MAC SDU)的传输.
安全配置1是基于密钥长度为128比特的AES加密算法和循环冗余码效验(CRC)的.该配置有如下安全要求:
(1)加密机制和加密的密钥能够保证保密性;
(2)每个节点仅知道自身的密钥,且基站节点知道所有节点的密钥,以保证身份验证性;
(3)加密负载的CRC以保证数据完整性.
对于安全配置0,不涉及加密信息,下文着重讨论基于AES加密算法的安全配置1.
2.1 AES算法加密/解密算法原理
AES是新一代的加密标准,其软件和硬件能够很好地适应计算环境,性能稳定,且只需较低的存储量.
AES是一个迭代的、对称密钥分组的密码,可使用128、192和256位密钥,并用128位(16字节)分组加密和解密,迭代次数亦可变(10轮、12轮或14轮次),且与数据块长度和加密密钥长度对应,即 AES-128、AES-192 和 AES -256[6].
PRIME标准采用的是用流水线方式实现的AES-128算法,用的是ECB(Electronic CodeBook)块加密法模式.AES算法的核心是进行轮操作,它由四个步骤组成:S盒变换(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和子密钥加(AddRoundKey);除了第10轮操作不需要列混淆步骤,其他9轮操作均由这四个步骤完成[7].
每次轮操作都需要一组子密钥,而本组的子密钥的产生与上一组的子密钥有关,所以,需要有一个密钥扩展程序(Key Expansion),利用外部输入的密钥K,得到一系列扩展密钥[8].
2.2 ASE中密钥获取算法
获取工作密钥的方法是运用AES算法,以一个常量(C)作为明文和以一个代密钥(GK)作为加密密钥.其中,如果常量小于128位,那么必须填充高位,使之扩展成128位,如图3所示:
图3 密钥生成概念图
用公式表示如下:
生成密钥(Generated Key)=AES_enc(GK,C)
2.3 PRIME MAC通信中的安全配置协商
在PRIME通信标准中,MAC层数据通信是采用安全配置协商的机制,其加密算法采用的就是AES算法.MAC层信号PDUs和数据PDUs都使用相同的安全配置,并在设备的注册过程中进行协商配置.
一般地,终端在请求注册时,先用最高的安全配置;若遭到拒绝,则会使用下一级的安全配置[9].
服务节点和基站节点都使用三类工作密钥来加密数据.这些密钥和使用如下:
2.3.1 初始工作密钥(WK0)
该密钥有使用范围的限制,它由处于未连接状态的服务节点所使用,用于对REG_RSP消息中的REG.SNK和REG.AUK字段进行解密.该密钥的获取公式为:
2.3.2 工作密钥(WK)
该密钥用于对由基站节点发送给服务节点或由服务节点发送给基站节点的所有点播数据进行加密.
2.3.3 子网工作密钥(SWK)
该密钥由整个子网所共享;为确保子网工作密钥的安全性,不应在物理信道上传输、获取该密钥,而是从REG控制包中被加密传输的密钥和SEC控制包中未被加密传输的密钥中获取该密钥.SWK可用于加密如下数据:
(1)广播数据组播数据
(2)在直接连接中传输的单播数据
该密钥的获取公式为:
图4 服务节点功能变化图
图5 -安全配置1加密算法
图6 ADD1021信号输出图
2.4 密钥的分配和管理
子网中MAC层控制报文的安全配置是由基站节点决定的,任何一个试图连接到子网上的服务节点都需要支持基站节点在它的BPDU中所公布的安全配置.任何一个由终端状态转变为中继状态的服务节点都应在它们的BPDU中公布与基站节点所公布的相同的安全配置.
设备注册时,会确定数据传输的安全配置.登记期间,与设备相关的连接都应符合所规定的安全配置;且涉及同一设备(除基站节点外)的连接应符合相同的安全配置.
PRIME标准正是通过在MAC这种安全配置的管理,使用登记注册、未登记等机制完成了中继服务节点的动态转换,进而实现了PRIME的组网和维护[10].如图4所示,显示某服务节点的功能变化图.
2.5 加密过程
使用安全配置1的连接通常在传输每一个报文时,都会加上一个 CRC;对应的字段被称为SCRC(即安全CRC),并作用于未加密报文负载.SCRC有助于确认接收端已解密的报文的完整性.
SCRC就是未加密的报文负载相乘的8位多项式除以生成多项式g(D)=D8+D2+D+1的模2余项.需要加密的数据块应为128位的整数倍,包括报文的连锁负载和SCRC;若两者之和尚未达到128位的整数倍,则应在SCRC后填充100…0以达到128位的整数倍.随后,数据块被分割成若干个128位的分组,每个明文分组用有效的工作密钥,运用AES算法,进行加密.如图5表示为:
3 总结与展望
电力通信领域中的安全问题,会关乎电力企业安全、高效、稳定的运行.
Intellon公司曾经推出过 PowerPacket技术,PowerPacket使用OFDM频谱调制技术在电力线上高速传递数据,传输速率的上限可达85MB/s;它是包含物理层和MAC层的一个完整方案.但是在点对点的通信中,Intellon采用56位DES加密技术以保证信息的安全,其安全性远不如PRIME标准中的AES加密算法的高.
对于加密技术而言,现在被广泛研究的是公钥算法RSA.虽然它的强度是建立在数学难题基础上的,但是它有一个非常大缺点:加密字节长,要想达到好的安全性,它要求至少1024位长度.相比之下,AES加密一般只需128位.这使得RSA的速度非常慢,进而会影响通信速度,这在普通的抄表系统中,会产生严重的影响.
AES的加密方法实现更简单,同时具备很强的扩散性能,最终形成的密码有很高的随机性,抗分析攻击能力强.
更为重要的是,ASE算法的实现程序,对处理器性能、内存容量等方面要求很低.这可以大大降低PLC中子网节点和终端设备的硬件成本,西班牙Iberdrola电力公司所研发的AD1021MCU核仅仅可以为C51核.基于AD1021的自动抄表系统在西班牙得到广泛的应用[11].
我们采用基于PRIME标准的ASCIAD1021进行自动抄表系统的模拟,可以在同一楼层进行同一相的PLC发送,并实现简单的组网功能.实验发现,通过PRIME标准实现服务节点组网层次越多,动态管理的复杂度就越多,当超过一定层次的时候,维护一个子网的动态运行就变的很难.另外,不同相之间的通信也存在着些收发数据掉包的情况.在整个测试过程中,PRIME安全配置标准能够实现数据有效,可靠的接收发送.图6给出实际测试过程中,通过功率放大得到的AD1021输出信号图.如图6(CH1:功率放大器输出;CH2:ADD1021输出.)
通过试验和研究可以发现,基于PRIME标准的安全配置可以在实际电力系统中进行推广,实现电力系统远程抄表.
[1]赵磊,单渊达,张根度.电力线通信技术的发展[J].电网技术,2001,25(11):70 -79.
[2]文堂柳,许艳.PLC技术及其发展研究[J].科技广场,2008,(12):239-240.
[3]Michael Navid.利用先进的电力线通信技术打造理想的智能电网平台[C].2010第二十届中国电工仪器仪表产业发展论坛论文集.宁波:美信集成电子公司,2010:267-269.
[4]Draft Standard for PowerLine Intelligent Metering Evolution[Z].The PRIME Alliance TechnicalWorking Group.2008:1-10.
[5]EN50065-1:Signalling on Low-voltage Electrical Installations in Frequency Range 3kHz to 148.5kHz[Z].2001:5 - 6.
[6]RFC1144:Compressing TCP/IP Headers for Low -Speed Serial Links[Z].V.Jacobson,1990:6 -12.
[7]蔡宇东,沈海斌,严晓浪.AES算法的高速实现[J].微电子学与计算机,2004,21(1):83 -85.
[8]景为平,徐晨,陈海进.AES密码算法的结构优化与实现[J].微电子学与计算机,2007,24(2):36 -38.
[9]PL3120/PL3150/PL3170 Power Line Smart Transceiver Data Book[Z].Echelon Corp:1 -5.
[10]William Stallings.Cryptography and NetWork Security(Fourth Edition)[M].北京:电子工业出版社,2007:25-27.
[11]ADD1021Datasheet.ADD Semiconductor,2010:1 -24.