一种基于区块链的云辅助物联网认证方法及系统

文档序号:34866548发布日期:2023-07-23 20:48阅读:91来源:国知局
一种基于区块链的云辅助物联网认证方法及系统

本发明涉及信息安全,尤其涉及一种基于区块链的云辅助物联网认证方法及系统。


背景技术:

1、云辅助物联网作为云计算和物联网环境下的新范式,可以为用户提供融合云计算和物联网(internet of things,iot)优势的解决方案。认证和访问控制是解决新范式下云端数据易被篡改、易泄露以及对数据和物联网设备未经授权的访问等安全问题的重要技术之一。云辅助物联网环境下的认证和访问控制方案,需要考虑物联网设备与云计算服务器之间一对多和多对多访问、抵御各种攻击等需求。

2、现有技术中的云辅助物联网认证方案没有充分考虑到访问控制更新、抗物理和克隆攻击等安全性需求,且在性能方面仍有不足。


技术实现思路

1、本发明提供一种基于区块链的云辅助物联网认证方法及系统,用以解决现有技术中存在的灵活性不够的技术问题。

2、本发明第一方面提供了一种基于区块链的云辅助物联网认证方法,包括:

3、第三方密钥生成中心kgc生成公共参数,并初始化区块链;

4、云服务器向kgc进行注册,注册过程中的kgc为iot设备的拥有者,服务器为mre方案中的用户,mre方案为多接收者加密方案,iot设备为物联网设备;

5、iot设备基于puf技术向kgc进行注册;

6、云服务器基于想要访问的iot设备的可辨识标识生成第一消息认证元组,并发送给想要访问的iot设备:目标iot设备;

7、目标iot设备基于接收的第一消息认证元组生成第二消息认证元组,发送给对应的云服务器;

8、云服务器对第二消息认证元组进行认证,如果认证通过则接收会话密钥。

9、在一种实施方式中,第三方密钥生成中心kgc生成公共参数,并初始化区块链,包括:

10、kgc随机产生大素数p从而确定素域fp,并选取一个在fp上的椭圆曲线点群e(fp),再选取e(fp)中的素数阶子群gn,gn的生成元为点p,阶为n;

11、kgc随机选取并计算ppub=[a-1-1]p,为模n的简化剩余系,ppub为系统主公钥;

12、kgc选取哈希函数h0,h2,h4:h3,h5,h6,h7,h8:{0,1}*→{0,1}*,其中,哈希函数基于sm3实现;

13、kgc选择安全的对称加密算法ex(),dx(),其中x是对称密钥;

14、kgc将ω=<fp,e(fp),gn,p,h0,h1,h2,h3,h4,h5,h6,h7,h8,ex(),dx(),ppub>作为公共参数,将a作为主私钥秘密保存;

15、kgc初始化区块链,将云服务器公钥信息、查询、认证所需信息进行上传,将查询的链码部署在区块链上。

16、在一种实施方式中,iot设备基于puf技术向kgc进行注册,包括:

17、iot设备j随机选取iddj以及计算puf函数值ra=puf(ca),rb=puf(cb)其中,iddj为iot设备j的可辨识标识,ca,cb为选取的随机数;

18、iot设备j将iot设备注册元组<iddj,ca,ra,cb,rb>发送给kgc;

19、kgc检查iddj是否存在,如果已存在则退出,否则继续;

20、kgc计算哈希函数值τ=h5(ca||ra);

21、kgc计算椭圆曲线点pdj=[h4(rb||iddj)]p;

22、kgc使用mre算法加密τ,得到mre加密结果;

23、kgc将kgc记录元组<iddj,pdj,ca,cb,tj>存储在本地;

24、kgc将kgc广播元组<iddj,pdj,ca,cb,mre加密结果>上传到区块链中。

25、在一种实施方式中,云服务器基于想要访问的iot设备的可辨识标识生成第一消息认证元组,并发送给想要访问的iot设备,包括:

26、云服务器i随机选择并计算椭圆曲线点d1=[d1]p;

27、云服务器i使用想要访问的iot设备的iddj在区块链中查找相关元组,如果不存在,则返回空值,退出认证程序;如果存在,则区块链将元组<iddj,pdj,ca,cb,tj,mre加密结果>发送给云服务器i;

28、云服务器i执行mre解密程序,获得秘密值τ′;

29、云服务器i计算椭圆曲线点w0=[d1]pdj和阶段1的时间戳t0;

30、云服务器i计算阶段1的哈希值v0=h6(τ′||t0||d1||w0);

31、云服务器i将第一消息认证元组{v0,t0,d1}发送给iot设备j。

32、在一种实施方式中,目标iot设备基于接收的第一消息认证元组生成第二消息认证元组,发送给对应的云服务器,包括:

33、iot设备j检查阶段1的时间戳t0是否有效,如果有效则继续,无效则退出;

34、iot设备j使用<iddj>向区块链查询认证所需信息的相关元组,若不存在则退出,如果存在,则通过区块链将元组<iddj,pdj,ca,cb,tj,mre加密结果>发送给iot设备j;

35、iot设备j计算puf函数值ra=puf(ca)以及哈希函数值τ=h5(ca||ra);

36、iot设备j计算puf函数值rb=puf(cb),计算iot设备私钥xdj=h4(rb||iddj);

37、iot设备j计算椭圆曲线点w′0=[xdj]d1;

38、iot设备j计算哈希值v′0=h6(τ||t0||d1||w′0)用于验证完整性;

39、iot设备j检查v0=v′0是否成立,如果不成立则退出,成立则继续;

40、iot设备j随机选择并计算椭圆曲线点d2=[d2]p;

41、iot设备j计算椭圆曲线点w1=[d2]d1和阶段2的时间戳t1;

42、iot设备j计算哈希值sk=h7(τ||w1||t1||t0||v′0||w′0)和阶段2的哈希值v1=h8(sk||w1||d2||t1||w′0);

43、iot设备j发送第二消息认证元组{d2,v1,t1}给云服务器i。

44、在一种实施方式中,云服务器对第二消息认证元组进行认证,如果认证通过则接收会话密钥,包括:

45、云服务器i检查阶段2的时间戳t1是否有效,如果有效则继续,无效则退出;

46、云服务器i计算椭圆曲线点w′1=[d1]d2;

47、云服务器i计算哈希值sk=h7(τ′||w′1||t1||t0||v0||w0)以阶段3的哈希值v′1=h8(sk′||w′1||d2||t1||w0);

48、如果v′1=v1成立则接收会话密钥sk′。

49、在一种实施方式中,所述方法还包括:对能够访问iot设备的云服务进行更新、对iot设备进行撤销以及iot设备重新注册。

50、基于同样的发明构思,本发明第二方面提供了一种基于区块链的云辅助物联网认证系统,包括:

51、初始化模块,用于第三方密钥生成中心kgc生成公共参数,并初始化区块链;

52、云服务器注册模块,用于云服务器向kgc进行注册,注册过程中的kgc为iot设备的拥有者,服务器为mre方案中的用户,mre方案为多接收者加密方案,iot设备为物联网设备;

53、iot设备注册模块,用于iot设备基于puf技术向kgc进行注册;

54、第一认证模块,用于云服务器基于想要访问的iot设备的可辨识标识生成第一消息认证元组,并发送给想要访问的iot设备:目标iot设备;

55、第二认证模块,用于目标iot设备基于接收的第一消息认证元组生成第二消息认证元组,发送给对应的云服务器;

56、密钥协商模块,用于云服务器对第二消息认证元组进行认证,如果认证通过则接收会话密钥。

57、基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。

58、基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。

59、相对于现有技术,本发明的优点和有益的技术效果如下:

60、1.设计了一个可以灵活进行访问控制的,适用于多服务器环境的基于区块链的云辅助物联网认证方案。

61、2.该方案利用puf保护iot设备的私钥并进行认证,使用区块链共享认证所需信息和云服务器的公钥信息。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1