浙江大学学报(工学版), 2019, 53(8): 1496-1505 doi: 10.3785/j.issn.1008-973X.2019.08.008

计算机与控制工程

支持数据实用性和容错的差分隐私保护方案

张磊,, 张菁,

Differential privacy protection scheme supporting high data utility and fault tolerance

ZHANG Lei,, ZHANG Jing,

通讯作者: 张菁,女,教授. orcid.org/0000-0001-5728-9579. E-mail: ise-zhangjing@ujn.edu.cn

收稿日期: 2018-09-29  

Received: 2018-09-29  

作者简介 About authors

张磊(1978—),女,副教授,博士生,从事无线传感网络的信息安全与隐私保护研究.orcid.org/0000-0002-6651-2477.E-mail:lei_power@hrbeu.edu.cn , E-mail:lei_power@hrbeu.edu.cn

摘要

针对智能电网环境下个体数据的差分隐私与聚合数据实用性的均衡问题,提出基于近似耗电分组的差分隐私算法,通过降低组内耗电值的最大敏感度,降低整体差分隐私噪音,提高聚合数据对于供电方的实用性;针对内部节点攻击个体电表数据的问题,通过构建分布式加密聚合平台,抵御包括控制中心在内的内部节点对个体细粒度数据的攻击;解决由于故障电表的存在所导致的分布式聚合方案不能正确解密同态加密聚合值以及非故障电表添加的噪音值不能满足整体差分噪音量需求这2个问题. 实验证明所提出的基于近似耗电分组的算法与预估故障率设定差分噪音的方法的结合,相比其他相近方案,在提高聚合数据实用性方面有明显提升,同时分布式加密聚合平台为抵御内部节点攻击以及支持加密容错和差分容错提供了轻量级保证.

关键词: 智能电网 ; 差分隐私 ; 隐私保护 ; 容错 ; 聚合数据实用性

Abstract

Aiming at the problem of balancing the differential privacy of individual data and the aggregation data utility under the smart grid environment, a differential privacy algorithm based on similar power consumption grouping was proposed. By reducing the maximum sensitivity of consumption data, the whole differential privacy noise was reduced, and the utility of aggregation data for the power supplier was improved. To solve the problem of internal nodes attacking individual data, a distributed encryption aggregation platform was constructed to resist the attack of internal nodes including the control center on individual fine-grained data. The proposed method can solve the two issues due to the existence of the malfunctional smart meters, i.e. the distributed aggregation scheme cannot correctly decrypt the homomorphic encryption aggregation data and the added noise of the non-malfunctional smart meters cannot satisfy the overall differential requirement. Experiments show that the combination of the proposed method based on similar consumption grouping and the method of estimating the failure rate and setting the differential noise, compared with other related schemes, has an obvious effect on improving the utility of aggregation data, and the distributed encryption aggregation platform also provides lightweight guarantee for resisting the attack of internal nodes as well as supporting the encrypted fault-tolerance and the differential fault-tolerance.

Keywords: smart grid ; differential privacy ; privacy protection ; fault tolerance ; aggregation data utility

PDF (1241KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

张磊, 张菁. 支持数据实用性和容错的差分隐私保护方案. 浙江大学学报(工学版)[J], 2019, 53(8): 1496-1505 doi:10.3785/j.issn.1008-973X.2019.08.008

ZHANG Lei, ZHANG Jing. Differential privacy protection scheme supporting high data utility and fault tolerance. Journal of Zhejiang University(Engineering Science)[J], 2019, 53(8): 1496-1505 doi:10.3785/j.issn.1008-973X.2019.08.008

智能电网的发展便利了电力供应者对耗电数据的实时、细粒度的收集与分析(连续细粒度时间间隔内的统计函数)、监测(伪造电量、漏电等)与智能分析(决定实时电量价格),以减少用电消耗及成本,并对不同时间段的电力进行调控与分配,提供灵活的账单计费方式. 电力用户可根据各大电力公司的电价、收费方式选择供电方以节省用电开支[1],并且可与供电方预定下一时间段的电量等以实现个性化的用电模式[1-2]. 电力公司在收集个人数据以及计算个人账单的同时须保证个人隐私不受侵犯[3-6]. 因此,已有研究[7-16]提出许多同态加密聚合方案,以便聚合者/供电方在无法获取个体细粒度数据的前提下收集到实时、细粒度的聚合数据,包括某区域内所有用户在某时间点的聚合值(空间聚合,通常为15 min)、连续时间内某一用户的耗电聚合值(时间聚合,通常为1个月)或多个电器的聚合值(多维聚合). 这些聚合数据直接决定了供电方对下一时间段内电量的定价、预测与供给以及用户预采用耗电模型.

多数相关文献[11, 13, 15]在防止同态聚合过程中的个体数据泄露时,针对的是半可信的聚合者或者外部袭击者,对于电网内部有一定权限的控制中心等内部攻击者无抵御能力. 设计安全级别高、计算和通信代价小的加密方案是当今的研究热点. 差分袭击[17]是同态加密聚合技术中的主要攻击模型,通过目标用户在与不在2种情况下的聚合差,求得目标用户的细粒度耗电值以构建目标用户的行为习惯、个性喜好、目前状态等. 差分隐私保护在同态聚合领域中通过对聚合值添加差分噪音的方式抵御差分攻击[8-9, 11, 13, 16-23]. 但是,差分隐私保护中添加的各种差分噪音会降低聚合数据的实用性,众多现有方案均以牺牲数据的实用性为代价换取数据的隐私安全,导致差分的聚合值与真实聚合值之间的误差较大. 当今,绝大多数同态聚合方案以区域分组(同一社区或地理位置临近)为基础添加差分噪音并制定隐私保护协议[8-9, 13, 17-23],然而相邻用户用电量可能存在较大差异,而根据差分噪音的混合属性,在差分参数ε相同的情况下,差分噪音只取决于组内最大敏感度,组内其他用户所添加的噪音可能远超过实际需要值,导致供电方得到的聚合值的误差过大,大大降低了智能电网大数据的实用性[19-23]. 因此,保护同态聚合过程中个人数据的差分隐私与提高聚合数据的实用性之间的均衡问题是当今同态加密聚合技术的研究热点[21-24]. 本研究提出近似耗电分组的方案,即在多区域内将上一时间周期内耗电量相似的电表划分一组,以降低组内敏感度差异,降低差分噪音的添加从而提高聚合数据的实用性.

另外,容错技术是同态聚合隐私保护中另一项研究热点[9, 25]. 智能电表作为低成本设备运行在未知环境下,容易出现故障,忽略这种故障会导致:1)同态聚合过程中密钥的和不为零,从而不能正确求解聚合值;2)每个电表所添加的差分噪音不能满足差分隐私的总和需求,或者远超过实际所需的噪音,影响聚合数据的实用性. 本研究建立了基于Paillier加密算法的平台,并对其进行改进以保证在出现故障电表时差分噪音的总量满足差分隐私安全及个人细粒度数据隐私安全(后者能保证抵御电网内部包括控制中心在内的内部节点的攻击,提高整体的安全等级),同时提出的预估一定故障电表数量的差分噪音的添加也对提高聚合数据的实用性起到了一定的作用.

1. 基本原理

1.1.  $\varepsilon $-差分隐私[16]

给定隐私算法A表示在耗电量函数 $f(D)$上添加拉普拉斯噪音后的函数,给定数据集 ${D_{\rm{u}}}$${D_{\rm{v}}}$,两者之间至多相差一条记录,即 $\left| {{D_{\rm{u}}}\Delta {D_{\rm{v}}}} \right| \leqslant 1$,若A满足

${\rm{Pr}}\;[A({D_{\rm{u}}}) \in R] \leqslant (\exp\; \varepsilon )\,{\rm{Pr}}\,\left[ {A({D_{\rm{v}}}) \in R} \right]\, ,$

则算法A满足 $\varepsilon $-差分隐私.

式中:Pr $[\cdot] $为隐私泄露风险,由算法A的随机性控制; $R \in {\rm{Range}}(A)$为输出结果; $\varepsilon $为不可区分度, $\varepsilon $越小,隐私程度越高[21].

为了使式(1)成立,须添加噪音机制. 若 $A(D)$满足

$A(D) = f(D) + {\rm{Lap}}\;(\lambda )\, ,$

则算法A满足 $\varepsilon $-差分隐私[17].

式中: ${\rm{Lap}}\;(\lambda )$为独立产生的拉普拉斯随机变量, $\lambda $为绝对方差,对于每个整数 $\lambda $来说,有

${\rm{Lap}}\;(\lambda ) = {\rm{Lap}}\;({{{{\rm{GS}}_{{f}}}}/\varepsilon }).$

其中, ${{\rm{GS}}_{{f}}}$为耗电量函数f的全局敏感度,是一定区域内所有电表在测量期间汇报的最大耗电量; ${\rm{Lap}}\;({{{{\rm{GS}}_{{f}}}}/\varepsilon })$为概率密度函数 $ P({\rm{Lap}}(\lambda ) \!=\! x)\! =\!{{\rm e}^{{{ - \left| x \right|}/\lambda }}}/({2\lambda })$的拉普拉斯分布的随机变量,噪音量与 ${{\rm{GS}}_{{f}}}$成正比,与 $\varepsilon $成反比.

1.2. 拉普拉斯分布的无限可分性[12]

拉普拉斯噪音 ${\rm{Lap}}(\lambda )$具有独立同分布的伽马分布的无限可分性. 对于任意整数 $\lambda $及整数n≥1,有

${\rm{Lap}}\;(\lambda ) = \sum\nolimits_{i = 1}^n {\left( {{G_1}(N,\lambda ) - {G_2}(N,\lambda )} \right)} .$

式中: ${G_1}(N,\lambda )$${G_2}(N,\lambda )$均为独立同分布的随机变量,其伽马密度表达式为

$g(x,n,t) = \frac{{{{(1/\lambda )}^{1/n}}}}{{\varGamma (1/n)}}{x^{1/n - 1}}{{\rm e}^{ - x/\lambda }}.$

式中: $\varGamma ({1/n})$为在 ${1/n}$处的伽马函数,x≥0.

1.3. Pailler加密与解密[14]

1)公钥和私钥. 给定安全参数 $\kappa $,选择2个随机等长的质数pq,满足 $\left| p \right| \!=\! \left| q \right| \!=\! \kappa $,以便gcd(pq,(p−1)×(q−1))=1(gcd为最大公约数函数),定义RSA(Rivest- Shamir-Adleman)公钥加密的模 $n = pq,$然后选择随机整数源 $g \in {\bf Z}_{{{n}^2}}^*$,并设置 $\alpha = {(L({g^\beta }{\rm{mod}}\;{\rm{ }}{n^2}))^{ - 1}} {\rm{ mod }}\;n$Lu)为(u−1)/n的整数商),进一步计算公钥 ${\rm{PK}} = (n,g)$,相应的私钥 ${\rm{SK}} = (\beta ,\alpha )$,其中, $\beta = $lcm $(p - 1,q - 1)$(lcm为最小公倍数函数).

2)加密. 给定测量值 $m \in {{\bf Z}_{{n}}}$和随机数 $r \in {\bf Z}_{{n}}^*$,加密值表达式为

$c = E(m,r) = {g^m}{r^n}{\rm{ mod }}\;{n^2}.$

3)解密. 给定加密值 $c \in {\bf Z}_{{{{n}}^2}}^*$,相应的明文m可恢复为

$m = D(c) = L({c^\beta }od \;{n^2})\alpha {\rm{ mod }}\;n.$

1.4. Pailler的同态加密属性

在Paillier的同态加密协议中,同态加密属性[10]表达式为

$\begin{split} E({m_1,r_1})&E({m_2,r_2}) = \left( {{g^{{m_1}}}} \right.\left. {r_1^n} \right)\left( {{g^{{m_2}}}} \right.\left. {r_2^n} \right){\rm{ mod }}\;{n^2} = \\ & {g^{{m_1} + {m_2}}}{({r_1}{r_2})^n}{\rm{mod }}\;{n^2} {\rm{ = }}E({m_1} + {m_2}). \end{split} $

式中:E(·)为加密函数,m1m2为2个明文,r1r2$ \in $ $ {\bf Z}_{{n}}^*$为随机数.

2. 基于近似耗电值分组的模型

2.1. 系统模型

本研究基于NIST的智能电表(smart meter,SM)的系统构架,在此基础上将每一电量计量周期中邻域网内耗电量相似的电表划分为一组,控制中心(control center,CC)对每组加密的数据进行同态加密聚合. 如图1所示,从智能电表的通信角度展现了本研究所考虑的系统模型. 其中,智能电网可分为3个层次,即家域网 (householding area network,HAN),建域网(building area network,BAN)及 邻域网(neighborhood area network,NAN),分别表示一个用户家庭内部电网,一定数量的家域网或一栋居民建筑内的若干个家域网组成的电网,以及若干建域网组成的邻域电网[3]. 电力工厂产生电力,经传播子站变压后发送给位于不同区域的分配子站,再变压后发送到用户居民区. 假定每个分配子站都覆盖一个邻域网,每个分配子站内都有一个控制中心负责协调分配电力以及与可信任机构(trusted authority,TA)及用户电表之间的通信,并能通过其内部的网关/聚合器(gateway/aggregator,GW/Agg)对智能电表采集的数据进行接收、聚合及发送. 本研究中系统模型的每个邻域网内,不是以一栋住宅建筑区域网络内部的所有电表为一组,而是将每个邻域网中耗电量接近的电表分为一组. 如图1所示,在某一时间聚合周期内,BAN1中的SM1i与BAN2中的SM2j及BANn中的SMnk等划分为一组,对其取聚合值. 智能电表可读取用户每时刻的耗电值并与控制中心内的GW通信,而用户根据读取的电表值来调控自己的消费模式. 每个CC均会将其所在邻域网内各组的聚合值发送给TA,以便TA对聚合数据进行细粒度数据分析,从而根据当前的时间周期调控和预算下一周期的电量分配. 一般来说,TA为供电方或电力公司股权方,是可信机构. 如图2所示为用户数量为N的邻域网NANi内的近似耗电量分组及CC与组间的通信流示例,可见N个用户被分为N/P组,组内用户个数为P,每组与CC单独通信.

图 1

图 1   近似耗电分组的系统模型

Fig.1   System model of similar consumption grouping


图 2

图 2   控制中心与组间的通信流示例

Fig.2   Example of communication flow between control center and each group


2.2. 袭击模型

考虑3种袭击模型:1)外部袭击. 外部袭击者通过安装恶意硬件偷听个体用户与CC的GW、CC与TA之间以及其他系统内部通信流以推测目标用户的个人数据. 2)内部袭击. 内部袭击者即系统模型内部的参与者,对本系统模型来说,内部袭击者可以是个人用户电表、CC或者CC内部的GW,假定它们是半可信的,即严格执行各项协议(包括发送及传输数据都是真实可靠的,没有经过恶意篡改),但对个体细粒度(每15 min)的用电数据表示好奇,可能发生如下攻击:CC内部的GW根据各个电表发送过来的信息数据或联合某些电表攻击目标用户;CC根据GW发送过来的加密的聚合值或者系统内部个体数据发送给GW等的通信流推测目标用户的数据. 3)差分袭击. 通过联合控制中心或者进入到控制中心内部的服务器中,获取目标用户在与不在2种情况下相同组内的聚合值的差值,获取目标用户的细粒度数据. 完备的差分隐私保护须同时满足2个条件:保护个人隐私不被泄露;减少噪音误差,以提高聚合数据分析的实用性[21].

3. 基于近似耗电量分组的方案

本研究侧重描述空间聚合过程,即组内所有用户在某个细粒度空间聚合时间点t的耗电量的聚合值. 个体用户的时间聚合值作为近似耗电分组的标准在每个粗粒度时间聚合周期T(账单周期,一般为1个月)内由用户发送给控制中心,个体用户的时间聚合值是每次周期循环分组的唯一衡量标准. 分组方案的具体流程如图3所示,包括系统初始化、分组、个体数据的加噪加密、组内带容错方案的聚合及聚合值的解密.

图 3

图 3   循环分组方案的流程图

Fig.3   Flow chart of cyclic grouping scheme


3.1. 个体耗电量收集

对于每个t,个体用户电表 ${U_{{i}}}$读取耗电值 ${m_{{{i,t}}}}$,直到时间聚合周期T${U_{{i}}}$积累连续时间周期 $t = \{ 0,1, \cdots ,T\} $内的耗电值并进行求和 ${B_{{{i,t}}}} \!=\! \sum\nolimits_{t = 1}^T {{m_{{{i,t}}}}}, $然后发送给CC用于分组.

3.2. 分组

一旦接收到上一轮时间聚合周期内CC的聚合值 ${B_{{{i,t}}}}$,控制中心根据具体的收费标准计算每位用户的用电账单,同时根据不同耗电量对所有用户周期内的耗电量进行排序和重新分组. 具体算法见算法1.

3.3. 密钥的产生与分配

TA在初始化阶段根据1.3节中的Paillier加密原理,为每个用户及CC产生密钥:1)对于每个用户 ${U_{{i}}} \in U$,TA首先选择一个随机数 ${S_{{i}}} \in {{\bf Z}_{{n}}}$作为 ${U_{{i}}}$的密钥并安全地发送给 ${U_{{i}}}$;2)TA计算 ${S_0} \in {{\bf Z}_{}}$,使 ${S_0} + \sum\nolimits_{i = 1}^n {{S_{{i}}}} = 0od \;n$;3)TA将 $(\lambda ,\alpha ,{S_0})$作为CC的私人密钥,安全地发送给CC.

算法 1:BAN社区内电表用户分组

输入: ${B_{{i,t}}}(i = 1,2, \cdots ,N)$//上一时间聚合周期内个体耗电量

N//用户个数

P//组数

输出:分组结果 ${G_{{j}}}(j = 1,2, \cdots ,{N/P})$

1. forj=1;j${N/P}$;++j

2. ${G_{{j}}} = {\rm{Null}};$

3. end

4. fori=1;iN;++i

5. 利用 ${B_{{i}}}$${U_{{i}}}(i = 1,2, \cdots ,N)$进行排序,产生新的用户序列 $\{ U_1',U_2', \cdots ,U_{{N}}'\} $;并根据计费标准产生账单;

6. end

7. $i = 0$

8. forj=1;j$\left\lceil {{N/P}} \right\rceil $;++j

9. fork=i+1;ki+P;++k

10. ${G_{{j}}} = {G_{{j}}} + \{ U_{{k}}^{\rm{'}}\} $

11. end

12. i=i+P

13. end

3.4. 组内用户电量的聚合

在设计差分隐私的聚合方案时,不仅考虑到基于容错的同态加密方案的设计和基于近似耗电量的分组,也预估一定数量的故障电表下的差分噪音的添加,从而提高聚合数据的实用性.

3.4.1. 用户电量的差分隐私

一般来说,供电方或电力公司根据以往的经验值,对整个系统内部的故障数目会有大概的估计,估计值与真实故障电表个数的误差越小,多余的噪音就越少.

定理1  假定一定区域内 $N $个电表中最多有M个故障,若添加的噪音总和为

${\rm{Lap}}\;(\lambda ) = \sum {_{i = 1}^{N - M}} ({G_1}(N - M,\lambda ) - {G_2}(N - M,\lambda )),$

则满足差分隐私.

证明  根据gamma分布的加属性,有

$\begin{split} & \sum\nolimits_{i = 1}^{N - M} {({G_1}(N - M,\lambda ) - {G_2}(N - M,\lambda ))} = \\ &\quad {G_1}\left( {{{\left( {\sum\nolimits_{i = 1}^{N \!-\! M} \!\!{\frac{1}{{N \!-\! M}}} } \right)}^{ - 1}}\!,\lambda } \right) -\\& \quad{G_2}\left( {{{\left( {\sum\nolimits_{i = 1}^{N\! -\! M}\!\! {\frac{1}{{N \!- \!M}}} } \right)}^{ - 1}}\!,\lambda } \right) = {G_1}(1,\lambda ) - {G_2}(1,\lambda ). \end{split} $

式中: ${G_1}(1,\lambda )$${G_2}(1,\lambda )$为2个参数为 $1/\lambda $的指数随机变量.

由式(9)可知, ${\rm{Lap}}(\lambda )$可表示为2个独立同分布的参数为 $1/\lambda $的指数随机变量的差值,即满足最多M个故障用户的差分隐私. 在非故障用户的耗电值上添加 ${\rm{Lap}}(\lambda ) = \sum {_{i = 1}^{N - M}} \hat G(N - M,\lambda )$的拉普拉斯噪音就能保证最多M个电表发生故障的情况下的聚合值满足差分隐私,其中, $\hat G(N - M,\lambda )$= ${G_1}(N - M,\lambda ) - {G_2}(N - M,\lambda )$. 每个非故障电表提交给CC内部的GW的带有差分噪音的数据形式为 $g^{{m_{i,t}}+{\hat G}(N-M,\lambda)} $. 然而,添加噪音并不能防止个体数据的隐私袭击,因为差分隐私保护的是聚合测量值的差分隐私而不是个体数据的隐私,即使在个体数据中添加了一部分差分噪音也不足以为个体数据的隐私提供保护. 因此,须对个体数据再加密.

3.4.2. 用户电量的加密

个体用户电表 ${U_i} \subset U$加噪后的加密值表达式为

${C_{{{i,t}}}} = {g^{{m_{{{i,t}}}} + \hat G(N - M,\lambda )}}h_{t}^{{S_{{i}}}}od {n^2}.{\rm{ }}$

式中: $t \in T$t的Hash值 ${h_t} = H(t)$Si为密钥.

3.4.3. 容错方案的聚合与解密

接收到所有组内用户节点加噪后的加密值Ci,t后,控制中心的GW将其聚合为

$\begin{split} {{\tilde C}_{{t}}} =& \prod\nolimits_{i = 1}^{N - M} {{C_{{{i,t}}}}} od {n^2} \\ =& {g^{\sum\nolimits_{i = 1}^{N - M} {({m_{i,t}} + \hat G(N - M,\lambda ))} }}h_{{t}}^{\sum\nolimits_{i = 1}^{N - M} {{S_i}} }od {n^2}. \end{split} $

为了便于理解,式(12)可以转化为

${\tilde C_{{t}}} = {g^{\sum\nolimits_{{U_{{i}}} \in {{(U}/{\hat U)}}} {{m_{{{i,t}}}} + {\rm{Lap}}(\lambda )} }}h_t^{\sum\nolimits_{{U_i} \in {{(U}/{\hat U)}}} {{S_{{i}}}} }od {n^2}.$

式中: $\hat U $为故障电表用户.

若至少NM个电表正常工作(M≠0),则所有 ${S_{{i}}}$、私钥 ${S_0}$的和不等于零,CC不能正确解密聚合数据,为此采用如下方法.

1)一旦CC没有接收到故障电表 $\hat U \subset U$的汇报(最多F个),它将汇报这些故障用户给TA,TA将计算所有故障电表的密钥值 ${\bar C_{{t}}}$,并发送给CC. ${\bar C_{{t}}}$的表达式为

${\bar C_{{t}}} = \prod\nolimits_{{U_{{i}}} \in \hat U} {h_{{t}}^{{S_{{i}}}} = h_{{t}}^{\sum\nolimits_{{U_i} \in \hat U} {{S_{{i}}}} }} .$

2)GW计算 ${\tilde C_{{t}}} {\bar C_{{t}}}$,将计算聚合结果发送给CC. ${\tilde C_{{t}}} {\bar C_{{t}}}$的表达式为

$\begin{split} {{\tilde C}_{{t}}} {{\bar C}_{{t}}} = {g^{\sum\limits_{{U_{{i}}} \in {{(U}/{\hat U}})} {{m_{{{i,t}}}} + {\rm{Lap}}(\lambda )} }}h_{{t}}^{\sum\limits_{{U_{{i}}} \in {{(U}/{\hat U)}}} {{S_{{i}}}} }h_{{t}}^{\sum\limits_{{U_{{i}}} \in {\rm{ }}\hat U} {{S_{{i}}}} }od {n^2} \,. \end{split} $

3)CC利用 ${S_0}$计算t时刻区域内的加噪聚合值 ${D_{{t}}} = \displaystyle\sum\limits_{{U_{{i}}} \in {{(U}/{\hat U}})} {{m_{{{i,t}}}} + {\rm{Lap}}(\lambda )} .$

3.4.4. 正确性分析

根据Paillier加密的同态属性,CC用密钥解密GW接收到的聚合值为

$\begin{split} &{{\tilde C}_{{t}}} {{\bar C}_{{t}}} h_{{t}}^{{S_0}} = \prod\limits_{{U_{{i}}} \in (U/\hat U)} {({g^{({m_{i,t}} + \hat G(N - M,\lambda ))}}} h_{{t}}^{{S_{{i}}}}){{\bar C}_{{t}}}h_t^{{S_0}}od {n^2}\, . \end{split} $

根据同态加密属性,式(16)可以转化为

$\begin{split} & {g^{\sum\limits_{{U_{{i}}} \in {{(U}/{\hat U}})} {({m_{i,t}} + \hat G(N - M,\lambda ))} }}h_{{t}}^{\sum\limits_{{U_{{i}}} \in {{(U}/{\hat U)}}} {{S_i}} }{{\bar C}_t}h_t^{{S_0}}od {n^2} = \\ &\quad {g^{\sum\limits_{{U_{{i}}} \in {{(U}/{\hat U}})} {({m_{i,t}} + \hat G(N - M,\lambda ))} }}h_{{t}}^{\sum\nolimits_{{U_{{i}}} \in {{(U}/{\hat U)}}} {{S_{{i}}}} }h_{{t}}^{\sum\nolimits_{{U_{{i}}} \in \hat U} {{S_{{i}}}} }\\&\quad h_{{t}}^{{S_0}}od {n^2} \, . \end{split} $

根据3.3节密钥和为零的整数倍原理, $\displaystyle\sum\limits_{i = 1}^N {{S_{{i}}} + {S_0} = 0od N \Rightarrow \displaystyle\sum\limits_{i = 1}^N {{S_{{i}}} + {S_0} = \mu N\;(\text{指定的}\;\mu )} } ,$式(17)可以进一步转化为

${g^{\sum\limits_{{U_{{i}}} \in {{(U}/{\hat U}})} {({m_{i,t}} + \hat G(N - M,\lambda ))} }}h_{{t}}^{\mu N}od {n^2}\, .$

根据Paillier解密原理,解密式(21):

$\begin{split} &D({{\tilde C}_{{t}}}{{\bar C}_{{t}}}h_{{t}}^{{S_0}}) = L({({{\tilde C}_{{t}}}{{\bar C}_{{t}}}h_{{t}}^{{S_0}})^\lambda }od {\rm{ }}{n^2})\alpha \;{\rm{ mod }}\;n=\\ &\quad \sum\nolimits_{{U_{{i}}} \in {{(U}/{\hat U}})} {\left( {{m_{{{i,t}}}} + \hat G\left( {N - M,\lambda } \right)} \right)} =\\ &\quad \sum\nolimits_{{U_{{i}}} \in {{(U}/{\hat U}})} {{m_{{{i,t}}}} + {\rm{Lap}}(\lambda ) + (M - M')} \hat G\left( {N - M,\lambda } \right)\, . \end{split}$

式中:M′为故障电表个数.

根据Paillier解密原理,得到加噪的聚合值:

$\begin{split} & D({{\tilde C}_{{t}}} {{\bar C}_{{t}}} h_{{t}}^{{S_0}}) = L({({{\tilde C}_{{t}}} {{\bar C}_{{t}}} h_{{t}}^{{S_0}})^\lambda }\,od \,{n^2})\alpha\; {\rm{ mod }}\;n = \\ &\quad \sum\nolimits_{{U_{{i}}} \in {{(U}/{\hat U}})} {{m_{{{i,t}}}} + {\rm{Lap}}(\lambda )} = \\ &\quad \sum\nolimits_{{U_{{i}}} \in {{(U}/{\hat U}})} {({m_{{{i,t}}}} + \hat G(N - M,\lambda )} ). \end{split} $

解密加密后的聚合值即为NM个用户的加噪耗电值的总和,验证了加密方法的正确性.

3.4.5. 聚合数据的实用性

为了提高一定区域内空间聚合数据的实用性,分别提出基于近似耗电量的分组方式及预估故障电表数量的差分加噪方式,两者的共同目标都是降低差分隐私中的拉普拉斯噪音.

根据先验值预估计区域内最大故障电表数目的方法,可以大大减少多余的拉普拉斯噪音的添加. 由式(9)可知,即便故障用户的个数不足M${\rm{Lap}}\;(\lambda )$仍然满足差分隐私,只是参与收集电量的电表数量超过NM,添加的噪音超出实际需求 ${\rm{Lap}}\;(\lambda )$. 在预估最多M个故障电表的加噪前提下,如果N个智能电表均参与了噪音的添加,总的噪音为

$\begin{gathered} \sum\nolimits_{i = 1}^N {\hat G(N - M,\lambda )} = {\rm{Lap}}(\lambda ) + \sum\nolimits_{i = 1}^M {\hat G(N - M,\lambda )} . \end{gathered} $

则多余的噪音为 $\sum\nolimits_{i = 1}^M {\hat G(N - M,\lambda )} $.

假定故障率 $\alpha = M/N$,如图4所示为在不同的 $\alpha $下,均值绝对误差(mean absolute error,MAE)随用户数量的变化情况,其中

图 4

图 4   均值绝对误差随用户数量及故障率的变化

Fig.4   Variation of MAE with total number of users and fault rate


$\begin{split} {\rm{MAE}} =& {{\sum\nolimits_{i = 1}^N {({m_{i,t}} + \hat G(N - M,\lambda ) - {m_{i,t}})} }/N}= \\ &{{\sum\nolimits_{i = 1}^N {\hat G(N - M,\lambda )} }/N}= \\ & {{{\rm{Lap}}(\lambda )}/N} + \alpha \hat G(N - M,\lambda ) . \end{split} $

可以看出,MAE随着用户数量的增多而减小,这是由于近似耗电的用户数量增多,组内耗电量均值、组内最大敏感度均减小,添加的噪音相应减少; $\alpha $越大,噪音误差越大;当 $\alpha = 0$时误差最小,表明故障率越小,差分噪音越少.

4. 安全性分析

1)个体数据可以抵御外部袭击. 外部袭击者A会偷听个体用户发送给GW的数据,具体的数据形式为 ${g^{{m_{i,t}} + \hat G(N - M,\lambda )}}h_t^{{S_i}}$. 根据Paillier的抵御明文袭击的语义安全属性[10],任何攻击者A在没有个体电表密钥时是无法解密数据的,而密钥Si只有TA和个人电表掌控;外部袭击者也可能偷听GW发送给CC的加密的聚合值,具体的数据形式为 ${g^{\sum\nolimits_{{U_{{i}}} \in {{(U}/{\hat U}})} {{m_{{{i,t}}}} + {\rm{Lap}}(\lambda )} }}h_{{t}}^{\sum\nolimits_{{U_{{i}}} \in {{(U}/{\hat U}})} {{S_i}} }$,即便获得所有汇报节点的密钥的和,也只能得到这些节点的数据和,而不是个体数据. 因此,从对抗外部袭击者来说,个体数据是绝对安全的.

2)个人数据可以抵御半可信的内部袭击. 在空间聚合时间周期t内,用户 ${U_{{i}}}$发送给CC的GW的数据的表达形式为 ${g^{{m_{{{i,t}}}} + \hat G(N - M,\lambda )}}h_{{t}}^{{s_{{i}}}}$,此加密格式的数据可以抵御所有半可信内部袭击者,因为除了TA和用户电表本身,没有任何节点掌握Si. 即便是通过穷尽搜索发动暴力搜索攻击,也无法解密得到个体用户在t时刻的个人细粒度数据 ${m_{i,t}}$,因为 $h_{{t}}^{{{{s}}_{{i}}}}$是未知的. CC可以通过权限得到SM发送给其GW的通信流,但它不知道用户的私钥,其掌握的私钥S0只能解密正常汇报用户的聚合值 $\sum\nolimits_{i = 1}^N {{m_{{{i,t}}}}} $;CC可以发送某个或某些用户故障的信息给TA,然而只能得到来自TA的 ${\bar C_t}$,其中的Si$\sum {{S_{{i}}}} $无法得到,CC对个体数据无攻击能力,只有聚合和转发权限的GW更无攻击能力.

3)容错的可靠性. 即使在 $\hat U \subset U$故障的情况下,CC仍然可以汇报给TA并接收 ${\bar C_{{t}}}$,然后计算正常用户聚合数据 $\sum\nolimits_{{U_{{i}}} \in {U/{\hat U}}} {{m_{{{i,t}}}}} + {\rm{Lap}}(\lambda )$. ${S_0}$由CC保密,而故障电表的私钥 ${S_{{i}}}$,只有TA和用户电表本身知道,所以CC和用户电表都有各自的权限,能在确保个人用户隐私安全的同时,在TA的协助下保证容错的可靠性.

4)差分隐私. 为了防止这个攻击,N个智能电表正常工作或预估最大M个电表失灵的情况下的个体加噪值分别为 $\sum\nolimits_{i = 1}^N {{m_{{{i,t}}}} + {\rm{Lap}}(\lambda )} $$\sum\nolimits_{{U_{{i}}} \in {{(U}/{\hat U}})} {{m_{{{i,t}}}} + } $ $ {\rm{Lap}}(\lambda ) + (M - M')\hat G(N - M,\lambda )$M'为实际故障电表的个数且满足M'M+Lap(λ)),因此,添加的差分噪音足以保证整体差分隐私.

5. 性能评估

在存储代价、计算复杂度、通信代价及数据实用性等方面,将本研究所提出的方案与文献[10]、[20]所提出的方案进行比较.

5.1. 存储代价分析

文献[20]所提出的方案能解决电表故障或节点通信失败导致的同态聚合不能正确解密的问题,但随之而来的代价不可避免,主要表现如下:1)GW须特意设定一个存储备用密码的缓冲区,它能为每个电表存储B个备用密码,假定电表用户的个数为220个,模加运算中模的值为264,即未来密码中随机数的宽度为64位,电表读数占64位,则未来密码的总宽度为128位,B为1个月的聚合值,以15 min为例,周期数为2 880. 不计算添加的差分噪音的宽度,则总的存储容量近似为45 GB. 随着电表个数的增多或者周期数的增加,存储代价也会随之增加;2)每个聚合周期之间GW的缓冲区中备用密码的重置,会给整个系统带来更高的延迟代价;3)每个GW管辖范围内的所有电表同时发送B个备用密码,对系统的带宽是个严峻的考验,特别是当GW范围内用户电表较多时. 相比文献[20]提出的方案,本研究提出的方案也能支持电表故障或电表通信失败情况下的容错,借助的是TA以及在Paillier加密机制上的改进,因此,GW仅仅负责同态聚合和转交工作,没有额外的存储需求.

5.2. 计算代价分析

文献[20]所提出的方案采用模加运算,根据总的发送和接收到的随机数的差为零的原理,在每个空间聚合周期内,每个用户应该选择k个其他用户节点以及被其他k个节点选择作为配对节点,并向配对节点分别发送和接收随机数以加密测量值. 产生的若干个随机数作为噪音添加到差分数据中,等同于加密,最后的随机数总和为零,在产生正确的聚合值的同时也保护了个人细粒度数据的安全. 但是文献[20]所提出的方案不能抵御CC及其他外部节点通过获取通信流来解密个体数据;在此安全级别不高的情况下,容错问题会给方案带来较高的计算代价和带宽问题:在B个备用密码的计算方面,同样采用模加运算中的接收与分配随机数以及添加差分噪音的方法;在数据汇报阶段,加密的两部分如当前密码和B个备用密码都须计算和汇报给聚合器,计算、通信代价较高,特别是当用户电表个数较多时. 本研究所提出的方案不涉及对B个备用密码的计算以及备用密码计算过程中随机数的分配和接收;也不涉及每个用户和k个用户之间接收和发送随机数导致的通信延迟问题,采用的加密方法多为简单的指数和乘法运算.

5.3. 通信代价比较

在通信代价方面,文献[10]所提出的方案也采用了Paillier加密,因此,将本研究所提出的方案与其进行比较.

1)个人通信代价比较. 在本研究所提出的方案中,每个用户收集并汇报耗电值给GW. 若设置Paillier参数 $k = 512$,则用户 ${U_i}$的汇报规模 $\left| {{C_{{{i,t}}}}} \right| = 2\;048$.LG=1 024 bit,每个用户发送1个耗电数据给GW,则每个用户的通信代价 ${C_{\rm{u}}} = 2{L_{\rm{G}}}.$ 在文献[10]所提出的方案中,每个用户须在每个时间点交换随机数并分别汇报汇报值,发送或接收N−1个规模为 ${L_{\rm{G}}}$的随机数并汇报1个规模为 $2{L_{\rm{G}}}$的数据给GW,则每个用户的通信代价为 ${C_{{{\rm{u}}'}}} = 2N{L_{\rm{G}}}$.图5所示为在2种改进的Paillier加密方案下,在各个数据汇报时间点t处,个人通信代价随用户数量N的变化. 可以看出,本研究所提出的方案因不涉及各用户节点之间的组内通信,每个用户直接发送给GW的数据包的大小即为单个数据的密码宽度(非对称加密的数据包宽度),与组内/区域内的节点个数无关,一定时间内的个体通信代价只随时间的累积有微量增长. 在文献[10]所提出的方案中,个体通信代价随组内/区域内用户个数的增加和时间的累计明显增加,与之前的分析一致.

图 5

图 5   个人通信代价随用户数量及时间的变化

Fig.5   Variation of individual communication cost with number of users and time


2)总通信代价比较. 在本研究所提出的方案中,GW收集了N个用户汇报并将其聚合后汇报给CC,在一个空间聚合时间周期内组内/区域内的总通信代价 ${C_{\rm{O}}} = 2N{L_{\rm{G}}}$,文献[10]所提出的方案在每个时间点的总通信代价 ${C_{\rm{O}}} = 2{N^2}{L_{\rm{G}}}$. 带有参数nt的总通信代价如图6所示. 可以看出,与文献[10]所提出的方案相比,在本研究所提出的方案中,总通信代价随用户数的增加无明显变化,这与本研究所提出的方案以及文献[10]所提出的方案的总通信代价复杂度分别为 $O(N)$$O({N^2})$有直接关系. 在通信代价方面,特别是当用户数量较大时,本研究所提出的方案能有效地减少智能电网的总通信代价,这与对通信代价的分析是一致的.

图 6

图 6   总通信代价随用户数量的变化

Fig.6   Variation of total communication cost with number of users


5.4. 聚合数据的实用性

为了验证基于近似耗电分组的方案在提高聚合数据的实用性方面的性能,在相同的实验平台[26]上,对本研究所提出的方案与传统的基于临近区域分组的差分隐私方案(文献[20]所提出的方案)进行比较. 2个方案均力求通过降低噪音的方式提高聚合数据的可用性,在实验中设置 $\varepsilon $=1;全局敏感度,即所有电量应用和灯光的电力需求,为33 kW;每个用户都持有个人敏感度,即用户电力需求的总和. 以某小区内用户(约2 000人)为例,2个方案均利用CC解密的加噪的聚合值作为实验数据源,求解2个方案在相同用户个数、不同故障率、不同时间点处的加噪聚合值与区域内真实聚合值之间的差异,该差异可以直接反映聚合数据对于供电方/电力公司的实用性.

与文献[20]所提出的方案相比,本研究所提出的方案的加噪聚合值误差较小,更贴近真实聚合值,当误差率α较高(α=0.15)时(见图7(b)),本研究所提出的方案仍能保持较好的实用性,可见本研究所提出的基于近似耗电分组的方案在实现提高聚合数据实用性方面,取得了明显的效果,图中,Agg为加噪聚合值.

图 7

图 7   聚合数据实用性随故障率的变化

Fig.7   Variation of aggregation data utility with fault rates


6. 结 语

本研究提出完整的基于近似耗电分组的提高聚合数据实用性及容错的隐私保护方案,主要特点在于:1)隐私安全级别高,在现有的同态加密算法基础上进行改进,使其能抵御控制中心在内的内部节点对个人细粒度数据的攻击,此改进的加密平台能支持差分容错以及加密容错;2)高聚合数据实用性. 对于BAN网络内部的用户电表基于近似耗电进行分组,而不是采用传统多数方案中采用的临近区域分组,从根本上降低组内最大敏感度,从而降低整体拉普拉斯噪音需求,同时通过预估故障率并据此添加差分噪音,在保证整体差分噪音的前提下进一步降低额外噪音的添加,经实验证明这2种方法的结合对提高聚合数据的实用性起到了一定的作用. 接下来将围绕智能电网环境下恶意攻击的隐私保护问题进行研究.

参考文献

JIANG B, FEI Y

Smart home in smart microgrid: a cost-effective energy ecosystem with intelligent hierarchical agents

[J]. IEEE Transactions on Smart Grid, 2014, 6 (1): 3- 13

[本文引用: 2]

BOUDIA O R M, SENOUCI S M, FEHAM M, et al

Elliptic curve based secure multidimensional aggregation for smart grid communications

[J]. IEEE Sensors Journal, 2017, 17 (23): 7750- 7757

DOI:10.1109/JSEN.2017.2720458      [本文引用: 1]

ULUDAG S, ZEADALLY S, BADRA M. Techniques, taxonomy, and challenges of privacy protection in the smart grid [M]// Privacy in a Digital, Networked World. London: Springer, 2015: 428-433.

[本文引用: 2]

DENG X, HE L, ZHU C, et al

QoS-aware and load-balance routing for IEEE 802.11s based neighborhood area network in smart grid

[J]. Wireless Personal Communications: An International Journal, 2016, 89 (4): 1065- 1088

DOI:10.1007/s11277-016-3305-x     

曹珍富, 董晓蕾, 周俊, 等

大数据安全与隐私保护研究进展

[J]. 计算机研究与发展, 2016, 53 (10): 2137- 2151

DOI:10.7544/issn1000-1239.2016.20160684     

CAO Zhen-fu, DONG Xiao-lei, ZHOU Jun, et al

Research advances on big data security and privacy preserving

[J]. Journal of Computer Research and Development, 2016, 53 (10): 2137- 2151

DOI:10.7544/issn1000-1239.2016.20160684     

孟小峰, 张啸剑

大数据隐私管理

[J]. 计算机研究与发展, 2015, 52 (2): 265- 281

DOI:10.7544/issn1000-1239.2015.20140073      [本文引用: 1]

MENG Xiao-feng, ZHANG Xiao-jian

Big data privacy management

[J]. Journal of Computer Research and Development, 2015, 52 (2): 265- 281

DOI:10.7544/issn1000-1239.2015.20140073      [本文引用: 1]

GARCIA F D, JACOBS B. Privacy-friendly energy-metering via homomorphic encryption [C]// Proceedings of Privacy-Friendly Energy-Metering via Homomorphic Encryption. Berlin: Springer-Verlag, 2010: 226-238.

[本文引用: 1]

BARBOSA P, BRITO A, ALMEIDA H

A technique to provide differential privacy for appliance usage in smart metering

[J]. Information Sciences, 2016, 370/371: 355- 367

[本文引用: 2]

NI J, ZHANG K, ALHARBI K, et al

Differentially private smart metering with fault tolerance and range-based filtering

[J]. IEEE Transactions on Smart Grid, 2017, 8 (5): 2483- 2493

DOI:10.1109/TSG.2017.2673843      [本文引用: 3]

ERKIN Z, TSUDIK G. Private computation of spatial and temporal power consumption with smart meters [C]// Proceedings of International Conference on Applied Cryptography and Network Security. Berlin: Springer-Verlag, 2012: 561-577.

[本文引用: 9]

SHI Z, SUN R, LU R, et al

Diverse grouping-based aggregation protocol with error detection for smart grid communications

[J]. IEEE Transactions on Smart Grid, 2015, 6 (6): 2856- 2868

DOI:10.1109/TSG.2015.2443011      [本文引用: 2]

SAMUEL K, TOMASZ J K, KRZYSTOF P

The Laplace distribution and generalizations: a revisit with applications to communications, economics, engineering, and finance

[J]. Journal of the American Statistical Association, 2002, 97 (460): 1210- 1211

DOI:10.1198/jasa.2002.s242      [本文引用: 1]

JIA W, ZHU H, CAO Z, et al

Human-factor-aware privacy-preserving aggregation in smart grid

[J]. IEEE Systems Journal, 2017, 8 (2): 598- 607

[本文引用: 3]

PAILLIER P

Public-key cryptosystems based on composite degree residuosity classes

[J]. Advances in Cryptology: Eurocrypt, 1999, 547 (1): 223- 238

[本文引用: 1]

LU R, LIANG X, LI X, et al

EPPA: an efficient and privacy-preserving aggregation scheme for secure smart grid communications

[J]. IEEE Transactions on Parallel and Distributed Systems, 2012, 23 (9): 1621- 1631

DOI:10.1109/TPDS.2012.86      [本文引用: 1]

DWORK C. Differential privacy [C]// Proceedings of International Colloquium on Automata, Languages, and Programming. Berlin: Springer, 2006: 1-12.

[本文引用: 3]

DWORK C, MCSHERRY F, NISSIM K. Calibrating noise to sensitivity in private data analysis [C]// Proceedings of Conference on Theory of Cryptography. Berlin: Springer-Verlag, 2006: 265-284.

[本文引用: 3]

DWORK C, KENTHAPADI K, MCSHERRY F, et al. Our data, ourselves: privacy via distributed noise generaten [C]// Proceedings of A dvances in Cryptology: EUROCRYPT 2006, International Conference on the Theory and Applications of Cryptographic Techniques. Berlin: Springer-Verlag, 2006: 486-503.

何贤芒, 王晓阳, 陈华辉, 等

差分隐私保护参数ε的选取研究

[J]. 通信学报, 2015, 36 (12): 124- 130

DOI:10.11959/j.issn.1000-436x.2015321      [本文引用: 1]

HE Xian-mang, WANG Xiao-yang, CHEN Hua-hui, et al

Study on choosing the parameter ε in differential privacy

[J]. Journal on Communications, 2015, 36 (12): 124- 130

DOI:10.11959/j.issn.1000-436x.2015321      [本文引用: 1]

WON J, MA C Y T, YAU D K Y, et al. Proactive fault-tolerant aggregation protocol for privacy-assured smart metering [C]// Proceedings of INFOCOM-IEEE Conference on Computer Communications. Ottawa: IEEE, 2014: 2804-2812.

[本文引用: 7]

张啸剑, 孟小峰

面向数据发布和分析的差分隐私保护

[J]. 计算机学报, 2014, (4): 927- 949

[本文引用: 3]

ZHANG Xiao-jian, MENG Xiao-feng

Differential privacy in data publication and anlysis

[J]. Chinese Journal of Computers, 2014, (4): 927- 949

[本文引用: 3]

王保义, 胡恒, 张少敏

差分隐私保护下面向海量用户的用电数据聚类分析

[J]. 电力系统自动化, 2018, 42 (2): 121- 127

DOI:10.7500/AEPS20170611006     

WANG Bao-yi, HU Heng, ZHANG Shao-min

Differential privacy protection based clustering analysis of electricity consumption data for massive consumers

[J]. Automation of Electric Power Systems, 2018, 42 (2): 121- 127

DOI:10.7500/AEPS20170611006     

ZHANG L, ZHANG J

EPPRD: an efficient privacy-preserving power requirement and distribution aggregation scheme for a smart grid

[J]. Sensors, 2017, 17 (8): 1814

DOI:10.3390/s17081814      [本文引用: 3]

LIAO X, FORMB D, DAY C, et al. Towards secure meter data analysis via distributed differential privacy [C]// Proceedings of IEEE/IFLP International Conference on Dependable Systems and Networks. Atlanta: IEEE, 2014: 780-785.

[本文引用: 1]

BAO H, LU R

A new differentially private data aggregation with fault tolerance for smart grid communications

[J]. IEEE Internet of Things Journal, 2015, 2 (3): 248- 258

DOI:10.1109/JIOT.2015.2412552      [本文引用: 1]

O. for National Statistics. Families and households, 2001 to 2011[EB/OL]. (2012-01-01) [2017-07-01]. http://www.ons.gov.uk/ons/rel/family-demography/families-and-households/2011/rft-tables-1-to-8.xls.

[本文引用: 1]

/