基于用户数据隐私性的实时窃电检测方法技术

技术编号:28746538 阅读:27 留言:0更新日期:2021-06-06 18:58
本发明专利技术针对传统的直接把用户数据发布给检测器进行异常用电行为检测,从而造成暴露用户数据隐私可能引发的用户安全问题,公开了一种基于用户数据隐私性的窃电检测方法,所述方法基于具有容错性和隐私性的数据传输协议对用户用电数据进行采集,之后再将数据发布给检测器进行检测,在检测器是不可信的情况下,保证用户数据隐私,完成窃电检测,保证了窃电检测数据采集过程中的容错性和数据隐私性。测数据采集过程中的容错性和数据隐私性。测数据采集过程中的容错性和数据隐私性。

【技术实现步骤摘要】
基于用户数据隐私性的实时窃电检测方法


[0001]本专利技术涉及信息安全领域,具体涉及一种基于用户数据隐私性的实时窃电检测方法。

技术介绍

[0002]随着智能电表在智能电网里越来越普及,数据中心可以通过智能电表实时采集用户的用电数据,但是智能电表可能遭受用户恶意攻击,从而篡改电表读数达到其窃电目的。传统的基于机器学习的窃电检测方案都是把检测器当做可信的,用户直接把数据发布给检测器进行异常用电行为检测,这样就容易暴露用户数据隐私,数据的泄露有可能引发用户的安全问题,如何在保证用户数据隐私的条件下进行窃电检测,是一个涉及公共安全的重要问题。

技术实现思路

[0003]本专利技术的目的在于提供一种具有容错性和隐私性的数据传输协议对用户用电数据进行采集,之后再将数据发布给检测器进行检测,在检测器是不可信的情况下,保证用户数据隐私,完成实时窃电检测,保证了窃电检测数据采集过程中的容错性和数据隐私性。
[0004]下面是本专利技术技术方案的具体内容。
[0005]基于用户数据隐私性的实时窃电检测系统包括有用户p
i
、中间节点服务器FN、云服务器CS,i∈[1,n],n是用户数量,所有用户都正常在线时,窃电检测方法主要包括以下步骤:
[0006](1)生成参数:云服务器CS选择参数{G,g,ρ}以及生成一个一次性验证密钥对{x
cs
,y
cs
},云服务器CS广播(G,g,ρ,y
cs
),其中G是以g为生成元的ρ阶加法群,g是生成元,ρ是素数阶。代表整数域,y
cs
∈G;用户p
i
使用参数生成自己的密钥对(x
i
,y
i
),其中之后用户p
i
广播y
i
作为自己的公钥,云服务器CS发送给中间节点服务器FN开启任务请求,TIMESTAMP表示时间戳,代表使用私钥x0进行签名,之后中间节点服务器FN向参与数据采集任务的用户播报数据采集任务开始的请求。
[0007](2)建立会话秘钥:每个用户选择β个该群组里的用户建立共享会话秘钥k
ij
,k
ij
代表用户p
i
和用户p
j
的会话秘钥,其中1≤β≤n

1,i,j∈[1,n],i≠j;用户p
i
把自己所有会话秘钥{k
i1
,k
i2
,...,k

}保存下来。
[0008](3)用户p
i
选择公钥{y
i+1,
y
i+2
,...,y
n
},并且计算Y
i
=y
i+1
×
y
i+2
×
...y
n
,然后存储Y
i

[0009](4)加密假名:用户p
i
选择λ
i
作为盲化因子,λ
i
∈G,生成假名U
i
=ID
i
·
λ
i
modρ,其中ID
i
代表用户的真实身份;之后用户p
i
选择随机数r
i
,r
i
∈{1,2,...,ρ

1},并且计算用户p
i
再使用Y
i
对自己的假名U
i
进行加密获得C
i
就是用户p
i
加密后的假名,其中表示使用公
钥Y
i
进行加密。
[0010](5)卡槽分配:用户p
i
‑1把自己加密后的假名发送给后一个用户p
i
,i在这里是大于1的整数,当用户p
i
收到用户p
i
‑1的加密假名列表时,假名列表里包括从用户p1到用户p
i
‑1的所有加密的假名,用户p
i
使用私钥对列表里的所有加密假名进行解密;假名被解密后,用户p
i
再用其后所有用户的公钥的乘积加密自己的假名,加入这个假名列表中,打乱顺序,再传到下一个用户处执行相同操作,直到传到最后一名用户的时候,最后一名用户用自己的私钥对前面所有加密的假名进行解密,直接获得假名的明文,然后直接把自己的假名加入假名列表,得到最终的假名列表之后打乱顺序,再把这个假名列表传给中间节点服务器FN,中间节点服务器FN向所有用户广播这个假名列表,用户对假名列表里的所有假名进行去盲操作,解出自己真实ID的就是该用户对应的卡槽位。
[0011](6)数据采集:用户p
i
有β个会话秘钥,然后构造填充数时间戳是t,填充数如下:
[0012](a)
[0013](b)然后用户p
i
把自己的明文数据加入对应的卡槽位slot(i),得到用户p
i
的密文
[0014][0015](7)每个用户把自己的密文发给中间节点服务器FN,中间节点服务器FN对所有的密文进行异或操作得到卡槽位上的明文,中间节点服务器FN把明文数据发送给云服务器CS,云服务器CS再把数据发布给数据检测器进行检测。
[0016]存在部分用户发生故障而处于掉线状态时,本专利技术可以实现数据采集过程的容错性,保证有用户发生故障的情况下仍然能够进行数据采集,此时的窃电检测方法主要包括以下步骤:
[0017](1)建立会话秘钥:用户p
i
在群组里选择β个用户进行用户会话秘钥的共享,与选择的用户p
j
共享一个会话秘钥k
ij
,其中1≤β≤n

1,i,j∈[1,n],i≠j;用户p
i
保存所有会话秘钥{k
i1
,k
i2
,...,k

}。
[0018](2)云服务器CS发送给中间节点服务器FN开启任务请求,TIMESTAMP表示时间戳,表示使用私钥x0进行签名,之后中间节点服务器FN向全体用户播报数据采集任务开始的请求。
[0019](3)对于有n个正常在线用户的群组,如果只有b个用户者有响应,1<b≤n

1,中间节点服务器FN通知正常响应的用户p
i
检查他们共享了会话秘钥的成员是否还处于正常在线状态,如果之前共享了会话秘钥的成员不在线了,用户p
i
就将跟这些不在线的成员共享的会话秘钥删除掉,之后每个正常在线的用户执行以下步骤:
[0020](Ⅰ)用户p
i
使用时间戳t构造新的填充数
[0021][0022]α代表正常用户pi此时拥有的会话秘钥数量,1≤α≤b
...

【技术保护点】

【技术特征摘要】
1.基于用户数据隐私性的实时窃电检测方法,包括用户p
i
、中间节点服务器FN、云服务器CS,i∈[1,n],n是用户数量,其特征在于所述方法包括以下步骤:(1)生成参数:云服务器CS选择参数{G,g,ρ}以及生成一个一次性验证密钥对{x
cs
,y
cs
},云服务器CS广播(G,g,ρ,y
cs
),其中G是以g为生成元的ρ阶加法群,g是生成元,ρ是素数阶;代表整数域,y
cs
∈G;用户p
i
使用参数生成自己的密钥对(x
i
,y
i
),其中之后用户p
i
广播y
i
作为自己的公钥,云服务器CS发送给中间节点服务器FN开启任务请求,TIMESTAMP表示时间戳,代表使用私钥x0进行签名,之后中间节点服务器FN向参与数据采集任务的用户播报数据采集任务开始的请求;(2)建立会话秘钥:每个用户选择β个该群组里的用户建立共享会话秘钥k
ij
,k
ij
代表用户p
i
和用户p
j
的共享会话秘钥,其中1≤β≤n

1,i,j∈[1,n],i≠j;用户p
i
把自己所有会话秘钥{k
i1
,k
i2
,...,k

}保存下来;(3)用户p
i
选择公钥{y
i+1
,y
i+2
,...,y
n
},并且计算Y
i
=y
i+1
×
y
i+2
×
...y
n
,然后存储Y
i
;(4)加密假名:用户p
i
选择λ
i
作为盲化因子,λ
i
∈G,生成假名U
i
=ID
i
·
λ
i
modρ,其中ID
i
代表用户的真实身份;之后用户p
i
选择随机数r
i
,r
i
∈{1,2,...,ρ

1},并且计算用户p
i
再使用Y
i
对自己的假名U
i
进行加密获得C
i
就是用户p
i
加密后的假名,其中表示使用公钥Y
i
进行加密;(5)卡槽分配:用户p
i
‑1把自己加密后的假名发送给后一个用户p
i
,i≠1,当用户p
i
收到用户p
i
‑1的加密假名列表时,假名列表里包括从用户p1到用户p
i
‑1的所有加密的假名,用户p
i
使用私钥对列表里的所有加密假名进行解密;假名被解密后,用户p
i
再用其后所有用户的公钥的乘积加密自己的假名,加入这个假名列表中,打乱顺序,再传到下一个用户处执行相同操作,直到传到最后一名用户的时候,最后一名用户用自己的私钥对前面所有加密的假名进行解密,直接获得假名的明文,然后直接把自己的假名加入假名列表,得到最终的假名列表之后打乱顺序,再把这个假名列表传给中间节点服务器FN,中间节点服务器FN向所有用户广播这个假名列表,用户对假名列表里的所有假名进行去盲操作,解出自己真实ID的就是该用户对应的卡槽位;(6)...

【专利技术属性】
技术研发人员:董思亮刘忆宁
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1