2012年7月的印度大停电,是历史上最大的动力中断,造成约6.7亿人受灾。调查显示,导致事故的直接原因是高峰时段的电量供不应求。统计显示,近十几年影响超过百万人小时的大规模停电,绝大部分的故障都是由于电量供需不均衡和缺乏有效的实时诊断措施而引起的,为了提高电网的可靠性和安全性,包括美国、中国和英国在内的很多国家都已经开始更新电力设施,并开始实施智能电网技术。众所周知,智能电网是涉及亿万居民日常生活和社会安定的重要电力网络。在该网络中,居民的隐私保护是智能电网发展和普及应用的关键因素之一。

本文综合分析了目前智能电网中居民隐私保护的数据加密和查询机制的研究成果,提出了两种集数据加密和查询于一体的可搜索加密方案的设计思路,用以提高广大居民的用电安全性。

一、智能电网中隐私保护问题

智能电网最大的特色在于它的双向通信能力,它能够通过智能电表远程采集用户细粒度的能量消费数据,使电网运营商能有效地管理电量的需求和供应,通过提供合理的实时电价等措施转移用电高峰,达到“销峰填谷”和负载平衡的作用,从而极大地提高了电网的可靠性和安全性。

为了获得实现负载均衡所需的实时电量消费和供应数据,每户家庭必须安装智能电表,每个发电厂也必须进行实时监控。但是德国与荷兰的研究者们通过研究发现:这些用户相关的细粒度消费数据在一定程度上泄露了居民的电量消耗模式。这些涉及居民隐私信息的泄露将会导致入室盗窃等犯罪行为的发生,因而智能电表被人们误认为是“家庭监视器”。德国居民拒绝在自己家里安装智能电表,基于用户隐私和人权的考虑,2009年,荷兰议会也拒绝了强制性部署智能电表的提案。由此可见,智能电表测量数据中居民的隐私保护问题成为制约智能电网发展和普及的一个主要“瓶颈”。

为保护居民的隐私,当前的研究主要集中在测量数据的加密和数据聚合方面,极少关注到智能电网中加密数据的查询,但在密码学和数据库领域的一些密文查询的成果值得借鉴和改进。

二、测量数据加密与数据聚合

2010年,EFTHYMIOU C等人认为,在智能电网中,居民端的测量数据通常有两种类型,即低频率传输的数据和尚频率传输的数据。低频率传输的数据包含一个周期性的用电总数,足够粗略,不会泄漏隐私,它可能被直接发送到控制中心用于电网的实时监控决策与优化,它关系到居民的隐私,必须进行保护,因此,根据这一分类,应为每个智能电表分配两个身份标识:一个用于低频数据传输(LFID);另一个用于高频数据传输(HFID)。前者是一个匿名的身份,在电网中是公开的。隐私保护的目的是能够隐藏高频测量数据与智能电表的真实身份HFIDs之间的联系。只有一个可信的第三方(称为托管),它能知道一对有效的真假身份(HFID,LFID)之间的对应关系,并为每个智能电表分配两组公/私密钥对,分别对应智能电表的真假身份。

由于端到端的加密可以保护隐私,每一个智能电表接人智能电网时都需要注册。只有注册电表的测量数据才会被接受,由于高频数据和低频数据的传输使用的是不同的ID,高频数据不直接发给控制中心而由托管方进行转发,因此电网不会知道HFID的真实身份。

LIX等人认为测量数据本身是比较小的,但每一次当数据被公钥加密后,其密文的大小都会增加。当这样的信息被多个转发设备加密后,通信带宽和传输延迟也会随之增加,事实上,在一个局部网络中智能电表的测量数据往往会通过本地的网关进行转发,大部分文献都认为网关服务器可以对收到的加密数据进行聚合,得到一个聚合结果(如数据总和)后再以紧凑的形式转发给控制中心。这样可以提高加密后测量数据的传输效率,同时由于每个测量数据是用智能电表与控制中心共享的密钥进行加密的,网关无法得知测量数据的具体内容,因此数据隐私也得到了保护。

同态加密是一种数据聚合形式,它允许人们对密文进行特定的代数运算后得到的仍然是加密的结果,与对明文进行同样的运算再将结果加密一样。换言之,这项技术可以在加密的数据中进行渚如求和/差、比较等操作,得出正确的结果,而在整个处理过程中无需对数据进行解密。

目前,大多数基于同态加密的数据聚合方案只考虑了一维数据,即低频传输数据的聚合,在智能电网中高频传输的测量数据通常是多维的,如消耗的数量,为什么目的消费等。当多个维度的数据存在时,现有的方案不得不单独地对每一个维度进行处理。这样又进一步增加了智能电表和控制中心的处理负担,相应的处理和通信时间也会增加.基于同态加密系统Paillier,LU R等人提出了一个新颖而高效的隐私保护聚合(EPPA)方案,该方案能将所有维度的数据作为一个整体进行加密,从而节省了计算开销和通信开销,减少了数据延迟,提高了实时响应能力。但其数据聚合使用的是相同的密钥,其隐私保护能力不强,且没有考虑聚合后加密数据的查询等问题,使得加密后数据的可用性不高。

三、加密数据的查询

国内外对于加密数据的查询问题研究按照数据的所有者分为3类,即:公共数据;用户自己拥有的数据;第三方拥有的数据。

(1)公共数据 指对所有用户公开的数据,用户想要查询某一数据项但并不想、止数据库知道自己查询的是什么。针对该问题,最简单的解决方法就是采用公共信息检索协议。该协议允许用户以很小的通信代价完成秘密查询,用户可以下载整个数据库,然后查询自己想要的数据项,而后面的很多研究成果大多是基于该方法的变形。

(2)用户自己拥有的数据一个用户想要上传自己的隐私数据到一个远程服务器,并希望对远程服务器保持自己数据的私密性,用户以后能从服务器中查询到包括某一关键词的所有文档,2000年,可搜索的对称加密方案被研究者提出,该方案几乎不需要用户与服务器之间的通信,仅需要一次的交互,且对于每一个查询数据库所执行的操作都是线性时间的解决方案则需要多项式次交互(依赖于数据库的大小),即对于每次查询数据库需要多项式时间的操作。这些研究成果仅适用于用户将自己的数据加密后存储到一个不可信的远程服务器并能在日后进行秘密查询的情况。

(3)第三方拥有的密文数据2004年,BONEH D等人提出了一种带关键词搜索的公钥加密方案(PEKS)。该方案基于双线性映射,在用户发送邮件时需要对该邮件所有关键词进行加密,每次加密都要用到对运算.在服务器上查询时,查询关键词需要被转化为关键词限门以后发送给服务器进行密文查询,随后,BAEKJ等人在改进的双线性映射方案基础上,提出了一种支的关键词搜索方案,提高了服务器搜索的效率,并且该方案在限门的传输过程中增加了时戳,有效地防止了重放攻击。但这些方案大多数都不能同时支持数据加密和查询,使得其应用具有局限性。LIUQ等人提出了一个云计算中能隐私保护的关键词搜索(EPPKS)方案。它整合了数据加密和关键词搜索等功能,但只能支持一维数据的加密和查询,当需要对具有多维特性的数据进行加密和查询时,其通信和计算开销会很大。

此外,在数据库应用中还有一些基于保序加密、分桶方式和特殊树结构的密文区间查询方法。但这些方法的安全性不高,从而使得隐私保护的效果不佳。最近,蔡克等人提出了采用单断言实现敏感数据的区间判断、同时使用可逆矩阵对区间索引和区间限门进行安全保护的方法,不仅减少了整个方案的信息泄露,而且保证了区间索引和区间限门的安全,但在多维数据查询等方面的效果还不是很理想,还需要继续完善和提高。

四、可搜索公钥加密方案的设计

将电表测量的居民数据以加密的形式存储和发送是保护数据隐私的一种较为有效的手段,当数据被加密传送到控制中心后,为保证数据的机密性,控制中心会以密文的方式存储。但除控制中心以外的第三方数据查询者,如市场决策者、营销分析师、研究和开发的专业人员等,通常会通过用户类型、地址区域或日期等条件,进行组合后查询这些加密的多维测量数据,从而挖掘出有利于市场决策的信息。这时,如何通过多重关键词组合查询加密后的多维数据就具有非常重要的意义。将公钥加密与关键词搜索融合,从整个(采集一传输—使用”)流程对数据进行隐私保护,以及对数据可用性进行优化设计,可以使加密和查询集中在同一套可搜索加密方案中。

本文基于带关键词的公钥加密和隐向量加密两种方式,提出可搜索加密方案的设计思路,在对数据加密的同时对其可搜索属性进行隐藏。带关键词的公钥加密是指为数据的可搜索属性选择一些特征关键词作为代表,然后将这些特征关键词以加密的形式转换为关键词标签,附着在每一个密文的后面。当查询者的查询条件达到后,其中的询问关键词会被加密为关键词限门。控制中心可以在不解密密文的情况下验证哪些密文的关键词标签与查询者的关键词限门匹配,然后将满足条件的密文发送给查询者,查询者可以用被授权的密钥对密文进行解密。而隐向量加密是将可搜索的属性值映射为一组加密向量,基于这组向量,多维数据会被加密为一组密文,而查询者的查询条件也会被转换为一组查询向量并生成相应的查询令牌,控制中心使用查询令牌与各密文进行匹配验证,如果验证通过则数据会被解密并传送给查询者;否则,输出错误,但隐向量加密会随着属性值域的扩大而增加,查询的通信和计算开销会较大。

1、基于带关键词的可搜索加密机制

带关键词搜索的公钥加密方案是在加密的数据上添加可查询标签和进行不解密的匹配查询的一种方法。在这一背景下,数据可以被分布式地存放在本地网关服务器上,作为一个数据仓库便于后期使用,控制中心和其他的查询者都可以对服务器上的密文进行查询。带关键词搜索的公钥加密框架(PEKS)如图1所示。

智能电网中数据的可搜索加密机制

其工作流程主要分为以下两个阶段。

(1)当一个智能电表已用公钥加密将其测量数据di加密为ci后,运行关键词查询算法PEKS()和接收者的公钥生成一些关键词的标签信息ci',并将密文和标签存储在网关服务器上。

(2)查询者通过一个函数ftrapdoor()来计算其查询条件中的关键词,得到一个限门T,将T发送到网关服务器。网关服务器将搜索其数据库中密文的标签ci并验证其是否与查询关键词限门T匹配。若是,则将查到的密文C发送给查询者,查询者根据自己的私钥可以解密数据。若否,则查询下一条密文。

本方法用于多维加密数据查询,如果该数据有k维是可查询的,则首先需要为此多维数据选择一个关键词序列W=w1,w2,W3,…,Wk来代表这个数据在每一个可企询属性上的特征,然后将这组关键词加密为关键词标签Ci,当有查询条件达到时,也需要为其查询的属性选择一些查询关键词,表示为序列W=w1,w2,W3,…,Wk,再将这个序列转化为查询限门T当然,查询者也可以构造关键词的子集进行查询(即v≤k)。现有的大部分关键词查询大多只注重于关键词查询算法PEKS()的构造端,而与数据的加密端是独立的。带关键词的可搜索公钥加密则使用同一套加密参数完成数据加密和关键词查询两个步骤。

2、基于隐向量加密的可搜索加密机制

隐向量加密( HVE)的概念是由BONEH D等人提出的。它是一种谓词加密,包含有两个分别与密文和查询令牌相关联的属性向量。在一定程度上,当且仅当这两个向量的对应位相等时,密文和查询令牌是相匹配的,数据就会被解密。在多维数据等值查询的数据加密阶段,发送者会选择一个加密向量x=x1,X2,X3,…,xl,并根据此向量将测量数据加密为C后发送给网关服务器。当有查询条件到达时,它会被程序转化为查询向量v =v1,v2,v3,…,vi.其中,vi=*表示查询者不关心第f维是否相等。然后根据查询向量产生查询令牌并发送给网关服务器,网关服务器会将密文C与查询令牌进行匹配,如果s(v)是所有yj≠宰的下标j的集合,则查询渭词可表示为:

智能电网中数据的可搜索加密机制

当pHVE(X)=1时,表示查询向量与加密向量是匹配的,这样数据会被恢复后发送给查询者,基于隐向量加密的查询流程如图2所示。

智能电网中数据的可搜索加密机制

在执行多维数据的比较查询时,在数据加密阶段,发送者也会根据可查询属性的值来选择一个特征向量x=x1,X2,x3,…,xl,如果X1的值域是{1,2,3,…,n},则x会被映射为具有,l位代码的向量:智能电网中数据的可搜索加密机制相应地,特征向量x也就被映射为加密向量:

智能电网中数据的可搜索加密机制

根据此加密向量u(x),测量数据被加密为C后发送给网关服务器.当有查询条件到达时,查询条件也会被转化为一组向量v=v1,V2,V3,…,vl如果vi的值域为{1,2,3,…,n},则vi也会被映射为具有n位代码的查询向量:而v则被映射为:

然后,根据查询向量σ(v)生成的查询令牌也会被发送给网关服务器,如果s(σ(v))表示所有的σ(v)j*≠*的下标j ∈{1,2,3,…,nl}的集合,则比较谓词可表示为:

因此,当pHVEσ(v)σ(x)=1时,表示查询向量与加密向量是匹配的,这样数据会被恢复后发送给查询者。利用比较查询以同样的方式反方向构造,就可以构造出区间查询的加密向量和查询向量,从而使得隐向量加密可以用于加密数据区间查询中。

小知识之智能电网

智能电网就是电网的智能化(智电电力),也被称为“电网2.0”,它是建立在集成的、高速双向通信网络的基础上,通过先进的传感和测量技术、先进的设备技术、先进的控制方法以及先进的决策支持系统技术的应用,实现电网的可靠、安全、经济、高效、环境友好和使用安全的目标,其主要特征包括自愈、激励和包括用户、抵御攻击、提供满足21世纪用户需求的电能质量、容许各种不同发电形式的接入、启动电力市场以及资产的优化高效运行。