主权项 |
一种分层无线传感器网络中的密钥管理方法,其特征在于整个网络由若干簇组成,每个簇头执行私钥生成器PKG的职能,具体过程包括如下步骤:1)部署网络环境,包括初始私钥和初始系统参数;所述步骤1)具体为:在节点部署之前,基站产生随机的定义在有限域F<sub>p</sub>上的椭圆曲线E,选择椭圆曲线E上的点P,为簇头节点和普通节点预置相同的初始系统参数<img file="FDA0001198680930000011.GIF" wi="763" he="78" />其中q为大素数,G<sub>1</sub>,G<sub>2</sub>为q阶子群,双线性映射<img file="FDA0001198680930000012.GIF" wi="39" he="47" />G<sub>1</sub>×G<sub>1</sub>→G<sub>2</sub>,P为G<sub>1</sub>的生成元,n、r为常数,n表示hash长度,r用于公钥映射值的计算,H<sub>1</sub>、H<sub>2</sub>是两个不同的hash函数,H<sub>1</sub>:{0,1}<sup>*</sup>→G<sub>1</sub><sup>*</sup>,H<sub>2</sub>:G<sub>2</sub>→{0,1}<sup>n</sup>,P<sub>pub</sub>=sP,其中s为整个网络的初始主密钥,节点公钥<img file="FDA0001198680930000013.GIF" wi="444" he="70" />节点私钥<img file="FDA0001198680930000014.GIF" wi="275" he="67" />2)以基站为中心部署传感器节点,基站按照地理位置分布均匀地选出N个簇头CH;3)基站生成N个随机数K作为每簇的组密钥,分发给每个簇头节点并保存在基站中,每个普通传感器节点到簇头注册身份ID<sub>i</sub>;4)每个簇头作为私钥生成器PKG,选择随机数s<sub>CH</sub>∈Z<sub>q</sub><sup>*</sup>作为簇的主密钥,向簇内普通节点发布新的主公共值P<sub>CH</sub>,其表达式为P<sub>CH</sub>=s<sub>CH</sub>P;5)簇头普通节点选取随机数σ,计算<img file="FDA0001198680930000015.GIF" wi="489" he="63" />构造多项式函数<img file="FDA0001198680930000016.GIF" wi="486" he="72" />其中e为自然常数,e=2.718,g<sub>i</sub>是每个节点公钥的映射值;6)簇头将基站发放的组密钥K和新的主公共值P<sub>CH</sub>,广播给簇内普通节点,簇内普通节点收到簇头的广播后,利用步骤5)计算的g<sub>i</sub>解密得到组密钥K,计算得到新的<img file="FDA0001198680930000017.GIF" wi="489" he="70" />7)簇内普通节点用本簇的簇头公钥加密收集到的信息,连同发送者身份用组密钥K进行加密,发送给邻近节点,距离簇头近的节点直接广播给簇头;对于距离簇头较远的节点,节点之间进行中继;8)当轮换簇头或者一轮信息收集完毕时,更新组密钥K和主公共值P<sub>CH</sub>,重新构造多项式<img file="FDA0001198680930000018.GIF" wi="489" he="71" />广播给簇内普通节点。 |