[发明专利]基于接头暗号匿名的物联网身份认证方法有效
申请号: | 201810140301.2 | 申请日: | 2018-02-11 |
公开(公告)号: | CN108471402B | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 陈付龙;张紫阳;罗永龙;张程;刘超;孙丽萍;郑孝遥;俞庆英;王涛春 | 申请(专利权)人: | 安徽师范大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/32;H04L9/08 |
代理公司: | 北京润平知识产权代理有限公司 11283 | 代理人: | 邹飞艳;张苗 |
地址: | 241002 安徽省芜*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 接头 暗号 匿名 联网 身份 认证 方法 | ||
1.一种基于接头暗号匿名的物联网身份认证方法,其特征在于,该方法包括:
步骤1,采用安全暗号协商和安全多方计算方法,保护节点接头暗号信息对其他参与节点完整性匿名,完成信任凭据计算;
步骤2,依靠发送方执行的Sender算法和接收方执行的Receiver算法完成身份的认证;
在步骤1中,
S1,陌生参与节点在安全场景中广播自己公钥,并接收其他节点公钥,并记录在节点目录记录表PUCT内,便于在公共场景中验证节点签名有效性;
S2,节点对接头暗号信息进行初始化操作,根据参与节点数量n将接头暗号中所有元素随机划分为n个部分元组PT[n-1],随机选择部分元组PT[k]作为自己私有信息,k属于[0,n-1]的一个整数,私有信息不作通信处理,仅在节点内部参与节点部分结果PR计算,其他部分元组PT[i]节点作通信处理,被其他节点接收并计算部分结果PR,i≠k;
S3,每个节点对其他所有参与节点发送部分元组PT[i],并接收其他所有节点的部分元组PT[j],j属于[0,n-2],j值不同表示部分元组PT[j]来自不同的节点,通过如下公式计算部分结果PR,
S4,每个节点对其他所有参与节点发送部分计算结果PR[k],并接收其他节点的部分结果PR[j],所有部分计算结果采用加法、乘法或其他复杂计算方法计算出总结果WR,并将总结果WR作为信任凭据CR,
其中,PR[k]表示节点自己部分结果,PR[j]表示来自其他节点;
在步骤2中,发送方执行的Sender算法的步骤包括:
S5,所有参与节点完成多方暗号协商,节点会具有相同的信任凭据CR以及所有参与节点目录记录表PUCT,输入信任凭据CR和所有参与节点目录记录表PUCT;
S6,节点如果处于空闲状态可发起认证请求,将节点类型设置为发送类型,如果节点处于处理状态可将节点设置为接收类型;
S7,判断节点类型,如果是发送类型,则为真,执行S8;如果不是发送类型,则为假,执行S9;
S8,执行Sender算法,完成发送方认证处理,执行S10;
S9,执行Receiver算法,完成接收方认证处理,执行S10;
S10,如果认证通过,则执行S14;如果认证没有通过,则执行S11;
S11,将请求节点信息加入非法节点记录表_PUCT内,记录非法节点信息,抵制非法节点认证请求,节省计算开销,如果发送认证请求,则先判断该节点是否在非法节点记录中,如果在,直接丢弃请求,否则继续处理,执行S14;
S12,判断非法节点数量,当新增加非法节点达到一定数量后,就执行S13,通知其他节点新的非法节点信息,否则执行S14;
S13,将非法节点信息广播给其他参与节点_PUCT,抑制这些非法节点认证请求,节省网络资源;
S14,判断所有参与节点目录记录表PUCT中所有节点是否全部完成认证,如果所有参与节点目录记录表PUCT内没有陌生节点,则返回True,完成认证,否则执行S6;
在步骤2中,发送方执行的Sender算法的方法包括:
S15,节点输入信任凭据CR和所有参与节点目录记录表PUCT;
S16,节点根据系统随机函数Random()产生随机数N1,产生计数器t1=1,若认证请求失败,则t1=t1+1,若t1T不成立,则等待一段时间后,令t1=1,继续发送认证请求;
S17,节点调用软件或硬件Hash接口计算摘要信息m a=Hash(CR||N1||t1),使用发送节点私钥sk1将ma加密计算产生m1,执行下一步S18;
S18,发送认证数据(m1,N1,t1),向接收方说明自己身份合法性,进入S19;
S19,等待接收节点的响应信息(m2,N2,t2);
S20,收到响应后,在t2T与下述公式成立的情况下,响应是具有有效性的、签名是具有正确性的以及节点是具有合法性的,其中,N1说明响应与请求是相对应的;
EReceiver pk(m2)=Hash(CR||N1||N2||t2); (3)
S21,双方通过验证后,发送节点根据认证消息中的N2、自己信任凭据CR和随机数N1安全建立会话密钥sessionKey;
sessionKey=Hash(CR||N1||N2); (4)
在步骤2中,接收方执行的Receiver算法的步骤包括:
S22,节点输入信任凭据CR和所有参与节点目录记录表PUCT;
S23,接收发送节点的认证数据(m1,N1,t1);
S24,收到数据后,若t1T,则请求有效,否则请求无效;若下述公式(5)成立,则发送方身份节点合法,执行S25,否则节点非法,返回False;
ESender pk(m1)=Hash(CR||N1||t1); (5)
S25,节点根据系统随机函数Random()产生随机数N2,产生计数器t2=1,若认证响应失败,则t2=t2+1;若t2T不成立,则等待一段时间后,令t2=1,继续发送认证响应;
S26,节点调用软件或硬件Hash接口计算摘要信息mb=Hash(CR||N1||N2||t2),使用接受节点私钥sk2将mb加密计算产生m2,执行下一步骤S27;
S27,发送认证数据(m2,N2,t2),向发送节点说明自己身份合法性;
S28,双方通过验证后,接收节点根据认证消息中的N1、自己信任凭据CR和随机数N2,通过如下公式安全建立会话密钥sessionKey;
sessionKey=Hash(CR||N1||N2)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽师范大学,未经安徽师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810140301.2/1.html,转载请声明来源钻瓜专利网。