1.一种面向智能电网数据的完整性审计方法,其特征在于,该方法包括:步骤1:移动边缘计算服务器MEC与智能电表SM的初始化:MEC向独立电力系统运营商IESO注册、SM获取IESO的认证和SM选择为其服务的移动边缘计算服务器MECm;
所述SM选择为其服务的移动边缘计算服务器MECm,指的是在MEC完成注册,且SM认证成功后,IESO向具有不同需求的SM推荐其各自所需的MEC;
步骤2:数据聚合:SM生成数据块并盲化,且将SM的验证令牌标记到已经盲化过的数据块中,SM将标记了验证令牌的盲化后的数据块上传至MECm,MECm对SM上传的数据进行数据聚合;
步骤3:签名生成和数据存储:MECm对于接收的每个数据块计算其签名后将数据块转发至云服务器Cloud进行存储;当签名达到预设数量时,MECm构建签名索引数据结构,将所述签名存储在所述签名索引数据结构中;
步骤4:审计挑战:IESO向MECm与Cloud发起审计挑战;
步骤5:数据验证:Cloud与MECm检索被挑战的数据块的签名证据和数据证明并发送给IESO,IESO验证数据块的完整性;
所述SM推荐其各自所需的MEC的方法包括:
步骤I:定义MECm的服务属性集MSAm,对于给定的一个ISP,MECm服务属性集表示为MSAm={u1,u2,u3,u4,u5,u6,u7},其中uc,c∈[1,7]表示属性集MSAm中的任一属性,u1表示允许MECm的最大计算时间,所述计算时间包括计算签名时间,u2表示MECm为SMi进行服务的价格,u3表示MECm当前允许的最大SM连接数,u4表示MECm允许的最大存储开销,u5表示SMi到MECm的网络延迟,u6表示MECm到云服务器Cloud的网络延迟,u7表示云服务器Cloud到由IESO所维护的审计者Auditor的网络延迟;
步骤II:SMi对MSAm中的属性进行归一化处理,并对归一化处理后的属性值按照从大到小排序ASi=x1≥x2≥...≥x7,其中xj,j∈[1,7]表示属性集MSAm中的归一化后的任一属性;
步骤III:建立多属性决策矩阵,并根据SMi需求对属性进行排序;
首先给定注册的SMi及SMi的候选MEC服务集 得到
对应的多属性决策矩阵是 其中n表示候选MEC服务集中MEC的总数;
表示SMi对MECm进行归一化的属性;就每个属性 而言,它的权重wmc表示SMi对它的偏好,然后依据IESO提供的根据SMi属性偏好进行的排序BSi=y1≥y2≥...≥y7,获得SMi的对MECm属性偏好的权重排序 这里的yc,c∈[1,
7]表示属性集MSAm中的任一属性, 表示排序后的SMi对MECm属性的权重;
步骤IV:给定一个SMi和 将SMi选择MECm问题转化为求SMi选择综合评价最高的MECm的问题:对于每个 集合,SMi使用
来计算SMi对集合 中的所有MECm的综合评
价,SMi最终选择综合评价值最高的MEC,也就是求max{zm},具体表述如下:其中,式(1)为所求对象;式(2)表示MEC服务属性;式(3)表示标准化条件;式(4)表示SMi对MECm属性偏好的权重排序;式(5)列出了与 对应的权重变量步骤V:计算属性yc的距离系数
所述 表现为属性偏好排序BSi中的相邻属性
和 的在属性值排序ASi中的重要程度;参照SMi对MECm的属性值排序ASi=x1≥x2≥...≥x7和SMi属性偏好排序BSi=y1≥y2≥...≥y7计算 <·>NUM表示从 到 在ASi的属性个数;
步骤VI:通过距离系数 计算权重 利用G1法给定 其中,d表示中间计数变量;根据 进行归一化处理后得到权重集合
步骤VII:SMi通过权重集合 与属性集合 计算SMi对MECm的综合评价;根据n个MEC,计算n次权重集合 通过计算 得
出每个MECm的综合评价,SMi从中选择综合评价最高的MECm。
2.根据权利要求1所述的面向智能电网数据的完整性审计方法,其特征在于,所述MEC向独立电力系统运营商IESO注册的方法为:首先由IESO维护的证书颁发机构CA生成一个公钥私钥对{PKCA,SKCA};然后当某一个移动边缘计算服务器MECm试图加入智能电网SG时,MECm向证书颁发机构CA发送注册请求 其中 为MECm的IP地址,为MECm的编号, 为MECm的公钥;再然后接收方CA收到MECm的注册请求后,分别计算数字证书 及证书相应的签名 并将它们返回给MECm。
3.根据权利要求2所述的面向智能电网数据的完整性审计方法,其特征在于,所述SM获取IESO的认证的方法包括SM的注册和SM的验证;
所述SM的注册为:首先某个智能电表SMi向CA发送注册请求*
其中 是SMi的IP地址,S1表示中间变量,H()表示
对*进行哈希加密操作, 表示SMi的编号, 表示异或操作,||表示连接操作,w是SMi的登录密码,T1是SMi向CA发送请求的时间;假设CA预先知道所有SMi的 CA收到注册请求后,对于新鲜的消息,CA计算中间变量 T2为CA当前计算时间,CA将{S2,T2}返回给SMi,SMi收到消息后,计算 时,SMi注册成功;
所述SM的验证为:为了使得MEC能够验证SMi发送的数据块,CA向MECm发送其中ρ表示中间变量,其中 表示
使用MECm的公钥对*进行加密, 表示使用CA的私钥对*进行签名,s0和r1是随机值;
接下来,CA向SMi发送 其中S3与S4表示
中间变量,T3表示当前计算时间;SMi在接收到消息后,如果计算 并且则SMi存储H(s0)和H(r1),其中H(s0)作为原始验证令牌将被携带在每个数据块中,并用于促进MEC对SMi发送的数据块进行正确验证,H(r1)是致盲因子的加密密钥;且SM和MEC同时使用单向散列链来更新验证令牌,每隔一段时间,通过计算一个新的令牌,其中Fa表示第a次计算的验证令牌,当a=1时,有F1=H(H(s0)),其中H(s0)是原始验证令牌。
4.根据权利要求1所述的面向智能电网数据的完整性审计方法,其特征在于,所述SM生成数据块并盲化且将SM的验证令牌标记到已经盲化过的数据块中的内容为:每隔一段时间,智能电表SMi会上传收集到的家庭用电数据至选定的MECm,定义 为SMi在Tj时间生成的数据块,表示为 其中ce,e∈[1,6]代表数据类型e的确切值,所述数据类型包括能耗、波动、最大电压、最小电压、有功功率和无功功率;在数据生成阶段,SMi首先计算盲化因子 其中HMAC(*)为密钥相关的哈希运算消息认证码;接下来,将SMi的验证令牌标记到已经盲化过的数据块中,得到最终上传至MECm的数据块 其中∞表示串联运算符,Fa表示第a次计算的验证令牌,||表示连接操作。
5.根据权利要求1所述的面向智能电网数据的完整性审计方法,其特征在于,所述步骤
3包括如下步骤:
步骤3.1:结合布隆米尔过滤器和红黑树设计一个两层签名索引数据结构S‑INDEX=(Xs,Hs,Bs,Ts,Os),其中Xs表示已经合并到索引结构中的元素集,在Xs中,每个元素都表达为xi=(SMi,Tj,sig),其中SMi代表相关数据块到达MEC服务器的SM来源,Tj代表SMi数据块到达MECm的时间,sig代表SMi对应的签名;Hs表示可用的哈希函数族;Bs表示为SM层构造的专用布隆米尔过滤器;Ts表示签名层中的红黑树RBT的集合,这些集合与每个SMi相互对应;Os表示对Xs中的元素的原子操作的集合;所述Bs定义为一个包括Bloom位、RBT指示符、Dirty标记、Proof值和RBT根的五元素数组,其中每个SMi有|Hs|个独立的哈希函数,并且将xi=(SMi,Tj,sig)中对SMi的哈希结果存储在Bloom位中,每个RBT的位置索引被编码在RBT指示符中,以便将每个SMi与RBTi相关联,Dirty标记指示RBTi是否已经被移除,Proof值保留SMi的副本作为参考,RBT根保存指向Ts中每个RBT的指针;
步骤3.2:对于通过MECm的每个数据块 MECm将使用自己的私钥 计算相应的签名
步骤3.3:当MECm已经接收到预设数量的数据块并且生成了Xs,ISP构建S‑INDEX,并在红黑树上存储相应的签名;
步骤3.4:将数据块 转发至云,云服务器存储数据块
6.根据权利要求5所述的面向智能电网数据的完整性审计方法,其特征在于,所述步骤步骤3.3包括如下步骤:步骤3.3.1:对于Xs中的所有SMi,使用Hs中的散列函数来计算它们的Bloom位,将对应Bloom位的值由初始值0置为1,然后构造排序Γ,允许任何SMi至少在其散列邻居集中与NH(SMi)的任一散列位置排他地相关联,NH(SMi)表示SMi的哈希邻集,HASHo(SMi)表示使用Hs中的第o个哈希函数对SMi进行映射;
所述排序Γ的构造方法为:首先把Xs中的所有SMi的哈希值通过Hs中哈希函数映射到索引表中,将Bloom位置为1,遍历索引表,找出单键SMi;然后把所有能找到的单键压入排序Γ,接下来,将索引表中SMi对应的|Hs|位置上的映射关系去除,再次遍历索引表,以查看能否得到新的单键,再把新得到的单键压入排序Γ;这样循环往复,直到索引表为空,最终得到排序Γ;
步骤3.3.2:对于每个Xs的SMi,使用与SMi相关的所有sig∈Xs构建一个红黑树RBT,将所有与SMi相关的签名作为RBTi中除根节点以外的元素,在RBT根中记录其根节点的指针,并且在Proof值的相同索引处记录SMi;
步骤3.3.3:根据排序Γ,从后往前进行RBT指示符的编码,当轮到SMi的时候,使用对RBT指示符进行编码,其中表示每个SM对应RBT的位置索引,e(ξi)表示用于完成SMi与RBTi的一对一映射关系的哈希函数,∧表示异或操作,Root
7.根据权利要求1所述的面向智能电网数据的完整性审计方法,其特征在于,所述步骤
4包括如下步骤:
步骤4.1:首先定义状态估计 其中SE表示待审计块
的集合,这些数据块分别存储在不同的MECm和Cloud上,这些数据块来自存储SM的集合SS里的不同SMi与时间集合TD里不同时间Tj;Auditor同时向涵盖SE的Cloud和多个MECm发起审计挑战,以审计每个远程块 从而保证状态估计SE的正确性,步骤4.2:审计数据去重:利用在MEC上提出的S‑INDEX来完成重复数据消除,以防止那些被多个状态估计SE共享的数据块在短时间内被重复审计;
步骤4.3:对于给定一定数量的数据块SE,抽样审计数据块中是否含有错误的数据块;
首先将对错误数据块的最小检测精度解释为采样块集至少包含一个假块的概率,表示为P(X≥1),其中X表示假块的数量,令Fratio表示Cloud中每个块为假的概率,Fnum=(Fratio*|SE|)表示假块的总数,则其中C表示组合数学中的组合操作,Smin为采样所需的最小数据块数;然后推导出则通过Auditor预先定义概率P的数值计算出最终要审计的数据块De‑SP
数;在审计质询阶段,对于一个审计组M(SE )中的每个块,Auditor为其生成一个随机数De‑SP De‑SP并发送{M(SE ),V}至Cloud和MECm,其中SE 表示将去重De
过的数据块SE 进行抽样后的数据块。
8.根据权利要求7所述的面向智能电网数据的完整性审计方法,其特征在于,所述审计数据去重的方法为:首先对于任何RBT节点 对其结构添加两个字段:上一次的检索时间Tlast和上一次的审计结果Raudit,以识别已经被审计的数据块;在审计质询之前,Auditor向存有状态评估数据块SE中的所有MEC发起预审计请求;给定预定的审计识别时间θ,每个MECm搜索S‑INDEX以寻找MECm保留的审计节点返回检索到的审计节点元数据 给Auditor,Auditor将元数据组成De De
一个审计组M(SE ),其中SE 表示已经完成审计数据去重的数据块。
9.根据权利要求1所述的面向智能电网数据的完整性审计方法,其特征在于,所述步骤
5包括如下步骤:
步骤5.1:首先定义Cloud聚合数据证明 和
以及定义MECm聚合签名证
据 和用来定位数据块的数据元信息
步骤5.2:利用基于BLS签名算法的批量验证:给定一个MECm,设 其中G表示椭圆曲线的生成元;当收到审计质询时,Cloud通过和 聚合
数据证明,同时MECm通过 聚合签名证据;
步骤5.3:当Auditor收到Cloud返回的聚合数据证明 和 以及MECm返回的AGGsig后,Auditor将构建以下判别式来完成比较:其中e表示BLS的双线性映射,μ表示审计方法公开参数,
符号 表示判别等式两边是否相等,如果等式成立则证明Cloud与MECm存储的数据块无误。