【学习笔记】基于CPK的移动抄表数据安全策略研究
2015《电子技术应用》智能电网增刊
作者:胡东方,楚占锋,王 丽,连新凯,储昭碧,李 华
摘 要: 本文针对智能电网中智能电表的移动抄表系统,在讨论了基于无线通信的网络结构与数据传输流程之后,分析了其数据安全性需求。基于CPK组合公钥原理,提出了一种基于标识的移动抄表数据安全系统架构,给出了智能电表和移动终端的注册与认证、敏感数据的加密与解密、传输差错控制的算法,可实现对电力用户隐私的保护,增加了数据的完整性,提高了智能电表计量和移动抄表系统运行的可靠性。
0 引言
在智能电网中,智能电表是测量和收集用户侧信息的最重要的终端设备。智能电表可以定时记录用电数据,并将记录的数据发送回电力企业,用于实时监测和管理;同时,通过接收电力企业发出的分时电价、分时段策略信号,可以地提示用户或自动调整用电模式,从而实现需求侧响应,做到“削峰填谷”以减少能源浪费和提高电力系统可靠性。
近年来,随着无线通信技术和移动通信网络的发展,越来越多的智能电表支持无线通信[1],主要包括WIFI、ZigBee、蓝牙等技术。同时,越来越多的电力企业采用移动抄表终端抄录电力用户的用电信息,再通过中国移动、中国电信等移动公共网络,把多个用户的用电信息传送到供电营销系统。
这种基于无线传输的用电数据采集和通信极大地方便了用户和供电企业,然而随之而来的安全和隐私问题不容忽视。例如,不法分子可能通过无线传输传输伪造数据给智能电表,从而扰乱智能电表的正常运行;不法分子可能通过无线信道窃听并分析用户实时用电数据可能,从而推断出用户隐私信息,如住宅中使用的电器类型或用户是否在家;如果对某一用户收集了大量这样的信息,则用户的日常行为习惯也可能暴露。这些泄漏的隐私信息可能被用于有针对性的营销或某些非法目的。因此,在方便收集并利用用户用电数据的同时,保护与之相关的隐私信息不被泄露,是智能电表以及移动抄表技术领域的一个重要课题[2]。
近年来, 相关学者针对如何智能电网数据安全和保护电力用户的隐私性做了大量的研究。邓攀等[2]利用具有加法同态性质的对称加密算法保护用户实时用电数据的安全;刘文军等[3]提出了一种使用IBE算法的安全方案;孟祥萍等[4]提出了基于盲签名的数据聚合策略;刁凤等[5]利用直接匿名认证过程中签名者的匿名性隐藏用户的身份,设计了一种根据用户用电时间和用电量而动态改变费率的计费方案,获得用户真实账单的同时,保护了用户的实时消费数据。
此外,基于椭圆曲线难题的组合公钥体制CPK(Combined public key),自提出以来,获得广泛关注[6-9]。该CPK体制具有复合特性,基于标识的组合密钥体制,认证时不需要第三方证明,简化系统结构,方便运行维护。本文依据CPK的原理,设计适合智能电网移动抄表系统的数据安全策略。
1 移动抄表的数据安全性需求
1.1 网络结构与数据流程
常用的移动抄表系统的网路结构和数据传输流程如图1所示,主要设备包括支持无线通信的多功能智能电表、移动抄表终端以及电力营销系统。智能电表与移动抄表终端之间采用无线通信技术,主要包括WIFI、ZigBee、蓝牙。移动抄表终端与营销系统之间采用移动公网传输数据。
如图1所示,一般的移动抄表的流程包括几个步骤:第一步,移动终端通过S1、S2经由移动公网登录营销系统,营销系统通过S3、S4把当前的抄表任务下达给抄表终端;第二步,抄表终端采用无线传输方式,通过S5的连接智能电表,通过S6获取该用户的用电数据;第三步,移动终端再通过S1、S2,把所抄录的各个智能电表的用电数据传送到营销系统中,完成后一个完整的抄表任务。下次抄表任务的实施,表现为上述过程的循环。
此外,营销系统的分时的时段信息、电价信息等供电政策性的控制与管理数据,也可以经由移动抄表终端下传到各个智能电表中,以方便电力用户据此调整自己的用电策略。
1.2 数据安全性需求分析
在以上结构和数据流程中,由于易受监听而泄漏用户隐私,或者接收到伪造的数据,因此所有无线信道都被认为是不安全信道。该移动抄表系统的数据安全性需求主要包括以下几个方面:
(1)对智能电表而言:在传输数据之前,需要确定移动抄表终端身份的合法性;在传输用电数据给抄表终端过程中,要保证敏感数据的保密性,以维护用户的隐私,要确保用电数据的完整性,不缺少内容。在从移动终端接收时段、电价等供电政策性信息时,要确认数据的真实性和完整性。
(2)对移动抄表终端而言:在与智能电表交换数据时,要确定所抄录智能电表身份的合法性;要检验所收到的用户用电数据的真实性和完整性,要保证传输给电表的时段、电价等供电政策性信息的完整性。在传输智能电表及其用电数据到营销系统时,要确认营销系统能够接收自己的数据,要确保数据的完整性,还要确保用户敏感数据的保密性,在接收营销系统传输过来的数据时,要检验数据的真实性和完整性。
(3)对营销系统而言:首先要检验每个移动终端身份的合法性,其次要检验每个移动终端所传输来的数据的真实性和完整性,最后要保证传输給每个移动终端的任务、时段、电价等控制与管理数据的完整性与保密性。
为达成上述数据安全性要求,本文提出的策略注重以下几个方面[2]:
(1)设备认证。任何智能电表和移动终端的身份必须通过安全认证,才可以接入移动抄表网络,才能与其他设备有效地交换数据。
(2)数据保密与隐私保护。所有重要数据,包括用电数据,重要的控制及管理信息都必须进行加密,然后再在营销系统、移动终端、智能电表之间进行传输,只有具备相应解密密钥的设备才可以获取特定的真实的数据。其中,涉及用户隐私的数据,只有具备特定权限的特定的设备才能解密获取其真实内容。
(3)差错控制与数据完整性。为了确保数据在传输过程不会由于某些干扰导致部分数据的缺失与损坏,需要采取传输差错控制技术,通过发送方与接收方的多次确认,以保证数据的完整性。
上述方案的首要问题,在于采用合适的密钥实现身份认证与数据加密,下面先简单介绍一种组合密钥技术(CPK)的原理。
2 CPK原理简介
本文采用的组合公钥技术CPK-ECC是在ECC 体制基础上实现的基于标识的非对称公共密钥体制,密钥分为私有密钥和公有密钥[9]。ECC体制可描述为:在有限域Fp 上,给定一组参数 (a, b, G, n, p)可定义椭圆曲线E:y2≡(x3+ax+b) mod p。其中:G为加法群的基点,(x, y)∈Fp ,n是以G为基点的群的阶。令任意小于n的整数r为私钥,则r G =R为对应公钥。
ECC具有复合特性:任意多对私钥之和与对应的公钥之和构成新的公、私钥对。设私钥之和为:
(r1+r2+…+rm)mod n = r(1)
则对应公钥的点加运算之和为:
R1+R2+…+Rm=R(2)
那么,r 和R刚好形成新的公、私钥对。
基于标识的CPK密钥的产生过程为:
(1)构建组合矩阵。CPK 的组合矩阵分为私钥矩阵和公钥矩阵,其大小均为32×32,分别用[ri,j]或[Ri,j]表示,ri,j是小于n 的随机数,i,j=0,1,...,31。私钥矩阵[ri,j]由密钥管理中心KMC (Key Management Center) 保有,用于私钥的生成,公钥矩阵由私钥矩阵派生
ri,j G=(xi,j, yi,j)=Ri,j (3)
公钥矩阵分发到每一个实体,用于公钥的计算。
(2)将实体标识映射为矩阵坐标。先依据标识映射密钥HKey对标识ID进行Hash变换,得到二进制的比特序列,将输出结果分为4个组,每组再分为9个比特码,记为:
YS=Haah(ID,HKey)=(Wij)(4)
其中:i=0,1,2,3,j=0,1,…,8。在每个比特组中,Wij(i=0,1,2,3;j=1,2,…,8)的字长为5比特,用于选择组合矩阵的行坐标。将组合矩阵的32个列分为4组,分别进行置换变换,得到组合矩阵的列坐标tij。置换变换的依据是W00、W10、W20、W30,其字长都为6比特,分别指出置换序号(3-bit)和置换起点(3-bit)。置换算法表示为:
tij=Table(Wi0)(i=0,1,2,3)(5)
其中:Table表示置换表,大小为8×8,属于机密的。
(3)计算组合密钥。用于标识ID的组合私钥由密钥管理中心KMC依据下式进行计算:
对应的组合公钥,由依赖方依据下式计算:
基于上述原理,可以构建应用于移动抄表的数据安全系统,实现基于标识的身份认证、数据加密等数据安全保障措施。
3 基于CPK的移动抄表系统数据安全系统
3.1 系统结构
本文所提出的基于CPK的数据安全系统的架构如图2所示,其中虚线箭头代表离线传输数据[6]。
系统初始化模块主要确定CPK的参数,包括ECC的参数(a, b, G, n, p),标识映射密钥HKey,标识映射置换表Table,加密和解密函数。再在椭圆曲线密码中,随机选取32×32个公私钥对(ri,j,Ri,j),分别构建私钥矩阵和公钥矩阵,生成CPK的组合矩阵,进而得到密钥生成基。为保证密钥系统的安全性,采用离线方式,将密钥生成基提交给密钥管理中心KMC。
在该数据安全系统中,智能电表、移动终端均作为客户实体,各自具有唯一的标识ID值。
智能电表和移动终端的密钥申请可在检定环节完成。其流程为:
(1)把每个智能电表和每个移动终端当作用户,分别依据其ID值向密钥管理中心KMC的提出密钥申请。KMC的注册管理服务模块受理用户的申请,首先审查用户身份,确认用户是否已经存在、不同用户名是否有相同的映射值。通过身份审查后,注册管理服务模块代理用户利用专用网络,向密钥生成服务模块提出密钥申请。
(2)密钥生成服务模块初始化生成CPK系统所需的参数,包括公私钥矩阵和其他参数;根据用户标识ID和这些参数来计算该用户的私钥cskID,返回给注册管理服务模块。
(3)注册管理服务模块通过安全的途径或者离线传输方式,把用户私钥cskID、公钥矩阵一起发放给用户。相当于用户一次性获得了所有的公钥并完成了所用公钥的认证。注册管理服务模块还可以通过安全的途径或者离线传输方式,把该用户的标识以及公钥生成基等参数传送给营销系统的用户标识数据库。
3.2 数据安全的实现
针对图2的数据安全系统架构,给出实现数据安全的思路。
(1)设备认证与数字签名
设备的认证存在于智能电表与移动终端之间、移动终端与营销系统之间。营销系统和智能电表在接收数据之前,需要通过数字签名认证技术确定移动终端的合法身份。两次认证的思路基本相同,以下以营销系统对移动终端的认证过程为例,说明设备认证的流程。
移动终端的签名过程为:首先,选择一个随机数k(0<k<n),然后按下式依次计算:
kG=(x1,y1)c=(x1+y1)2 mod 2ms=k-1(h+c CSK) mod n (8)
其中:m用于选择校验码的长度,可取值64,CSK代表移动终端的组合私钥,h代表签名对象,包括标识ID值、日期时间、Hash码等,s是签名码,c为核对码。移动终端把计算结果sign=(s, c)发送到营销系统。
营销系统的验证过程为:依据移动终端的标识ID值,按照(7)式计算组合公钥IPK,然后依据收到的sign=(s, c),按下式以此计算:
最后,比较计算得到d值与接收到的c值,若d=c,则通过身份认证,否则认为该设备非法。
(2)隐私保护与数据加密
为保护电力用户的隐私,其用电信息等敏感数据需要进行加密处理,然后从智能电表传输给移动抄表终端,以及从移动终端传输给营销系统。下面说明智能电表对数据加密,以及移动终端对数据解密的过程。
智能电表的加密过程:首先依据移动终端的ID值,计算移动终端的组合公钥IPK,再选择随机数r,然后采用系统初始化确定的非对称数据加密函数ENC,按照下式依次计算:
最后,智能电表把信息(msg,β)发送给移动终端。
移动终端解密的方法为:先利用自己的组合私钥csk,计算解密密钥Key,然后再对信息msg进行解密得到数据data,具体过程为:
(3)差错控制与数据完整性
数据传输的完整性,首先要从链路层的数据协议方面保证。目前,已有多种校验数据完整性的方法,主要有字节数据的奇偶校验位校验方法,信息帧的二进制和校验码的校验方法。
另外,前述的数字签名与身份认证方法,以及数据加密与解密的算法,均在一定程度按上保证了数据的完整性。这是因为,如果数据传输过程中,数据有所损坏或丢失,恰好又没有被差错控制算法检测出来,在进行签名认证和数据解密时,则难以通过认证检验及解密计算校核。
在绝大多数的数据传输协议中,都采用了检错重传技术。如果由于字节奇偶校验没通过、信息帧校验和校验没通过、数字签名认证没通过等原因,导致数据传输的完整性被破坏,接收方通常要重新发起数据通信的请求,在此进行新传输过程,3次传输失败以后,才认定数据传输不能完成后,并且记录数据传输失败这一事件的时间等相关信息,以备将来查询。
3.3 策略特色
本文所提出的数据安全策略,是基于CPK组合密钥技术,具有以下特点[8]:
(1)基于标识的CPK安全系统的公私钥对是通过选择和组合公私钥矩阵中的元素而产生的,从而实现基于标识的超大规模的密钥生产与分发,并且不需要第三方的证明,简化了系统结构;
(2)CPK的用户公私钥根据其标识由密钥管理中心产生,有限的种子密钥可形成非常大的密钥空间,能实现对超大规模的智能电表及移动终端的管理;CPK可以采用静态分发静态管理的模式,可以理解为一个主管方的单层CA结构,用户在注册时就确认了认证关系,公私钥可以分开存储,认证管理的层级少、效率高,公钥信息维护容易,不需要太多后续维护;
(3)CPK公、私钥是统一由密钥管理中心生成,用户公钥由用户的ID值唯一确定,与智能电表或移动终端的编号之间的关系是一一对应的,密钥的更换和撤销相对比较容易,使得密钥的管理便捷、高效、经济;
(4)密钥管理中心在将个体的私钥分发给用户的同时,还可以一次性传输所有的公钥给该用户,即一次就可实现对所有公钥的认证,这特别适用于智能电表的密钥管理。
4 结束语
本文讨论了基于无线通信的智能电表移动抄表系统的数据传输流程,分析了移动抄表过程中的数据安全需求。基于CPK组合公钥原理,提出了移动抄表数据安全系统架构,给出了设备认证、数据加密、传输差错控制的算法,为供电企业建立移动抄表数据安全系统,提供了有实用意义的参考。
参考文献
[1]陈俊,邓桂平,戴晓华.基于无线传感网络的智能电网抄表系统研究[J]. 电测与仪表, 2010, 47(8):32-35.
[2]邓攀,韩光辉,范波,盛义发. 一种智能电表的安全通信方案[J]. 电力信息与通信技术, 2015, 13(2):16-21.
[3]刘文军,王棨,张宗萍,贾峥,蒋丹. TD-LTE智能电网中数据安全协议算法研究[J]. 电测与仪表,2014, 51(7):90-93.
[4]孟祥萍,周来,王晖,纪秀,程志明. 面向云计算的智能电网数据安全策略研究[J]. 电测与仪表, 2015, 52(13):105-110.
[5]刁凤, 张方国. 智能电表的完整隐私保护系统[J]. 密码学报, 2014, 1(4): 400–409.
[6]邓辉舫, 邓文, 田文春, 郑东曦. CPK认证系统的设计及实现[J]. 计算机工程, 2008, 29(19): 4920–4922.
[7]张思高, 王丽芬, 蒋泽军. 基于CPK的安全电子邮件系统的设计[J]. 微电子学与计算机, 2008, 25(6): 201-204.
[8]刘巧瑜. 基于CPK的云安全身份认证和访问控制技术研究[D]. 西安:西安电子科技大学, 2014, 03.
[9]南湘浩. CPK 组合公钥体制(v8.0)[J]. 信息安全与通信保密. 2013,34(3):39-44.