一种基于区块链的智能电表信息上载方法技术

技术编号:33446219 阅读:14 留言:0更新日期:2022-05-19 00:31
本发明专利技术公开了一种基于区块链的智能电表信息上载方法,包括:将智能仪表的数据上传到区块链,用户有需要时可以验证存储在链上的数据,同时可以有效地减少客户端的计算负担。通过上述方式,本发明专利技术一种基于区块链的智能电表信息上载方法,可以大大提高认证协议的认证效率,另外,通过使用数据上链的方式可以有效防止关键数据被篡改。止关键数据被篡改。止关键数据被篡改。

【技术实现步骤摘要】
一种基于区块链的智能电表信息上载方法


[0001]本专利技术涉及区块链
,特别是涉及一种基于区块链的智能电表信息上载方法。

技术介绍

[0002]在当前的电力系统世界中,电力公司需要定期收集和汇总客户的电力消耗信息,以收集和分配电力资源。
[0003]但是,电力信息在上传过程中容易被攻击者篡改,这种隐患对电力系统的安全性和稳定性构成了不可预测的风险,而且,由于智能仪表具有弱计算能力,与具有强计算能力的服务器相比,不能提供高频率的加密和解密交换,无法实现高效、安全的信息上载。

技术实现思路

[0004]本专利技术主要解决的技术问题是提供一种基于区块链的智能电表信息上载方法,具有快速高效、安全性高等优点,同时有着广泛的市场前景。
[0005]为解决上述技术问题,本专利技术采用的一个技术方案是:提供一种基于区块链的智能电表信息上载方法,其步骤包括:(1)客户端和服务器端的认证:(1.1)客户端选择一个随机值Rs,并计算Us和PPKs,US= RS + SKs, PPKs = PKs
ꢀ−
Q(PW),SKs为客户端的长期私钥,PKs为客户端的长期公钥,Q为映射函数,PW为预先共享的密码;(1.2)客户端通过普通信道发送消息序列M1={S, C, Us, PPKs, Ns, Model}给服务器端;其中,C为服务器端标识,S为客户端的电表标识,Ns为客户端产生的随机值,Model为客户端电表信息;(1.3)服务器端收到普通信道发来的消息序列M1={S, C, Us, PPKs, Ns, Model};(1.4)服务器端选择一个随机值Rc,并计算Uc、Zc、PKs、K、MAC2,然后,通过普通信道发送消息序列M2= {C, S, Zc, PKc, Nc, MAC2}给客户端,其中,Nc为服务器端产生的随机值,PKc为服务器端的长期公钥,Uc= Rc+ SKc,SKc为服务器端的长期私钥,Zc= Uc
×
G,G为椭圆曲线加密算法的基点,PKs= PPKs + Q(PW),K = (Us
×
G
ꢀ‑
PKs)
ꢀ×
Rc= G
×
Rc
×
Rs,MAC2= CMAC64(RMB128(K), S || C || Ns || Nc || Model),CMAC64加密函数用于生成64位数的输出,RMB128(K)为字符串K最右边的128位,K为临时的共享秘密,用于生成最后的会话密钥;(1.5)客户端收到普通信道发来的消息序列M2= {C, S, Zc, PKc, Nc, MAC2};
(1.6)客户端验证MAC2,如验证通过,则计算K、MAC3和MK,然后,客户端通过普通信道发送消息序列M3= {C, S, Ns, MAC3, Model}给服务器端,其中:K = (Zc
−ꢀ
PKc)
×
Rs= G
×
Rc
×
Rs,MAC3= CMAC64(RMB128(K), C || S ||Nc || Ns || Model),MK = CMAC128(LMB128(K), Ns || Nc || Model);(1.7)服务器端收到普通信道发来的消息序列M3={C,S,Ns,MAC3, Model};(1.8)服务器端验证收到的MAC3,如验证通过,则计算MK= CMAC128(LMB128(K), Ns || Nc || Model);(1.9)当客户端计算得到的MK数值与服务器端计算得到的MK数值相等时,客户端与服务器端处于同一个会话,继续执行步骤(2);当客户端计算得到的MK数值与服务器端计算得到的MK数值不相等时,结束本次会话,重新执行步骤(1.1);(2)服务器端将数据存储到区块链:(2.1)客户端根据预设的第一发送频率通过普通信道发送消息序列M4i={(Bi)
MK
,hash ((Bi)
MK
)};给服务器端,Bi为客户端电表基础信息;(2.2)服务器端根据预设的第一接收频率接收普通信道发来的消息序列M4i={(Bi)
MK
,hash ((Bi)
MK
)};(2.3)服务器端每收到预设的M1次M4i消息,就通过普通信道发送消息序列M5j= hash (MK (j))给客户端,并上传结果MBj=hash(Bi,
ꢀ…
, Bi

59)到区块链;(2.4)客户端每发送预设的M2次M4i消息,就接收普通信道发来的消息序列M5j= hash( MK (j));(2.5)当客户端发送M4i消息序列的次数大于预设的次数阈值时,通过普通信道发送消息序列M6= hash(MK(i))给服务器端,终止会话;(2.6)服务器端收到普通信道发来的消息序列 M6= hash(MK(i))后,上传结果MB={hash(Bi,
ꢀ…
, Bi

59), hash(∑MBj)}到区块链,并终止会话。
[0006]在本专利技术一个较佳实施例中,第一发送频率和第一接收频率为5秒。
[0007]在本专利技术一个较佳实施例中,客户端电表基础信息包括但不限于电表的电量消耗信息。
[0008]在本专利技术一个较佳实施例中,哈希摘要码函数采用SHA系列哈希函数或国密SM3提供的密码杂凑函数。
[0009]在本专利技术一个较佳实施例中,M1和M2的值为60。
[0010]在本专利技术一个较佳实施例中,所述次数阈值为17280次。
[0011]本专利技术的有益效果是:将智能仪表的数据上传到区块链,并验证存储在链上的数据,可以有效地减少客户端的计算负担,可以大大提高认证协议的认证效率,有效防止关键数据被篡改。
附图说明
[0012]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它
的附图,其中:图1是本专利技术的一种基于区块链的智能电表信息上载方法一较佳实施例的流程结构示意图。
具体实施方式
[0013]下面将对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。
[0014]请参阅图1,本专利技术实施例包括:一种基于区块链的智能电表信息上载方法,基于IEEE802.15.6的改进协议,将智能仪表的数据上传到区块链,用户有需要时可以验证存储在链上的数据,同时可以有效地减少客户端的计算负担。
[0015]其中,关于IEEE802.15.6的改进协议(An Improved Protocol for the Password Auth本文档来自技高网
...

【技术保护点】

【技术特征摘要】
MK (j));(2.5)当客户端发送M4i消息序列的次数大于预设的次数阈值时,通过普通信道发送消息序列M6= hash(MK(i))给服务器端,终止会话;(2.6)服务器端收到普通信道发来的消息序列 M6= hash(MK(i))后,上传结果MB={hash(Bi,
ꢀ…
, Bi

59), hash(∑MBj)}到区块链,并终止会话。2.根据权利要求1所述的一种基于区块链的智能电表信息上载方法,其特征在于,第一发送频率和第一接收...

【专利技术属性】
技术研发人员:王晖南张建民高飞刘佳易韩霞谢振刚郭易鑫孙晋凯杨兆忠高强肖春武文萍赵园
申请(专利权)人:国网山西省电力公司营销服务中心
类型:发明
国别省市:

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

1