本发明属于信息安全技术领域,尤其涉及一种适用于电力无线传感器网络的sm2签名方法。
背景技术:
sm2是国家密码管理局发布的先进安全的椭圆曲线公钥密码算法,sm2具有性能更优、处理速度快、密码复杂度高等优势,与rsa算法相比具有更高的安全性。sm2算法规定了数字签名算法、密钥交换协议和公钥加密算法,其中数字签名算法包括签名生成算法和签名验证算法。sm2数字签名算法的私钥一般用于签名者生成签名,公钥用于验证者对签名进行验证。在应用中,验证者往往需要保管公钥,而对于电力系统的无线传感器网络,其信息安全核心是安全密钥的建立,而传感节点常常分布在偏僻、信号较差的区域,往往资源受限,从而造成数据传输不稳定、消息来源鉴别困难等问题。
目前,无线传感器网络密钥管理机制有四种类型,分别是密钥预分配、动态密钥管理机制、基于公钥体制的密钥管理机制和基于可信密钥分发中心的密钥管理机制。然而不同的密钥管理方案可能造成节点的密钥更新代价较大、安全性低和计算开销较大等问题。同时由于用户公钥较长,如何减少公钥存储空间又不影响认证效率和安全性也是设计签名方法时需要解决的问题。
技术实现要素:
本发明的主要目的是提出一种适用于电力无线传感器网络的sm2签名方法,解决上述背景技术中提出的无线传感器网络在消息鉴别时,减少公钥存储空间而又不影响认证效率和安全性问题。
为此,本发明提供了一种适用于电力无线传感器网络的sm2签名方法,所述方法包括以下步骤:
步骤a:系统参数,
数据云端生成sm2算法系统参数
步骤b:传感节点密钥生成,
以传感节点序列号作为身份id,计算传感节点私钥
步骤c:签名生成,
对于传感节点的数据包
步骤d:签名验证,
数据云端对接收的数据包
步骤e:授权签名验证,
数据云端向验证者公开所述步骤b中身份为id的传感节点对应的授权信息
进一步的,所述步骤b包括:数据云端关于传感节点,无需存储所述传感节点公钥,而只需存储传感节点身份id。
进一步的,所述步骤c包括:传感节点计算数据包
进一步的,所述步骤d包括:数据云端先分别验证
进一步的,所述步骤d包括:数据云端验证签名之前,通过传感节点id计算对应的所述传感节点公钥,在验证签名后,撤销所述传感节点公钥,释放存储空间。
本发明公开了一种适用于电力无线传感器网络的sm2签名方法,有益效果包括:
1.数据云端根据传感节点身份id能够计算出其对应公钥,故无需存储,从而节省数据云端存储空间。
2.验证签名者仅限于数据云端或经过数据云端授权的被授权者,从而提高了验证结果的可靠性。
附图说明
下面结合附图对本实施例或技术方案进一步说明。
图1是本发明签名方法的流程图。
图2是本发明签名密钥生成的流程图。
具体实施方式
为了更好的解释本发明实施例的方案,下面结合附图作进一步说明。
如图1所示,本发明签名方法大致流程如下:
101、数据云端生成sm2算法椭圆曲线参数,秘密保存主密钥,公布其他参数;
102、将传感节点序列号作为身份id,数据云端通过身份id计算每个传感节点公私钥,并将私钥注入传感节点;
103、传感节点用私钥对数据包进行签名,输出数字签名值(r,s);
104、数据云端根据传感节点公钥计算方法,计算对应的传感节点公钥,再对签名进行验证,输出验证结果;
105、数据云端向验证者公开身份为id的传感节点对应的授权信息q,被授权者可以通过传感节点id和q验证签名,并输出验证结果。
如图2所示,本发明签名密钥生成方法具体如下:
201、传感节点发送身份id到数据云端;
202、数据云端根据身份id计算私钥
203、通过安全方式对每个传感节点注入私钥。
实施例1:
系统参数生成后,传感节点a将序列号作为身份id发送至数据云端,数据云端根据身份id生成私钥
以上所述仅是本发明的优选实施方式,而不限于这种方式,应当指出,尽管对本发明进行了详细说明,本领域的普通技术人员应当理解,对对上述各实施例其中部分或者全部技术特征进行等同替换,或对所述的技术方案依然能够进行修改,而这些替换和修改,并不使其本质脱离本发明各实施例技术方案的范围。