1.一种基于区块链的雾计算环境的安全认证系统,其特征在于,所述基于区块链的雾计算环境的安全认证系统,包括注册权威、雾节点、物联网设备和区块链网络;
所述注册权威,用于负责对实体进行注册和注销,所有的注册权威构成私有链;
所述雾节点部署在物联网设备附近,用于为物联网设备提供基本的计算和存储功能,通过智能合约接口访问区块链网络;
所述物联网设备部署在不同环境中,用于采集环境中的数据,每个物联网设备通过无线或者有线方式连接到一个雾节点;
所述区块链网络,用于维护永久的、防篡改的分布式数据存储;所有注册权威形成私有区块链网络;实体在注册时,注册权威将注册信息以交易形式写入区块链网络中,并使用共识机制保证区块链网络中每个节点存储相同信息;
物联网设备的注册,包括:
在物联网设备的注册阶段,注册权威RA负责安全地为每个物联网设备进行注册,并将注册信息写入区块链中;
(1)注册权威RA为物联网设备Sd选择一个唯一身份IDd,产生一个随机挑战集合Cd={Cd1,Cd2,…,Cdn },通过安全信道将Cd传送给物联网设备;
(2)物联网设备根据接收到Cd后,利用嵌入的物理不可克隆函数PUF计算Cd对应的响应Rd,即Rd=PUF(Cd),得到Rd={Rd1,Rd2,…,Rdn },并将通过安全信道传送给注册权威;
(3)注册权威在接收到Rd后,为物联网设备选择唯一身份IDd和一个随机数作为临时身份TIDd,并计算一个伪身份PIDd=h(IDd||K)和证书TCd=h(IDd||RTd||K);其中K是区块链网络中注册权威共享的一个秘密参数,RTd是物联网设备注册时间戳;注册权威将物联网设备Sd的参数(TIDd,PIDd)通过安全信道传送给对应的雾节点Fu存储,将(IDd,PIDd,TCd,Cd,h(Cd ||Rd))写入区块链网络,并将(TIDd,PIDd,TCd)安全地传送给物联网设备;
old new
(4)物联网设备接收到消息后存储{TIDd =null,TIDd =TIDd,PIDd,TCd};
雾节点和物联网设备之间的安全认证,包括:
(1)物联网设备产生一个临时交互号n1和当前时间戳T1,将n1、TIDd和T1一起传送给雾节点;
(2)雾节点根据接收到消息的当前时间戳T2,检验消息的新鲜性,即判断|T2‑T1|是否小于物联网设备和雾节点之间传输的最大允许的传送时间∆T,如果不满足,则认证过程终止;如果条件成立,则雾节点根据TIDd,调用智能合约,在区块链中找到对应的{TCd,Cd,h(Cd||Rd)};雾节点从一组{ Cd,h(Cd||Rd)}中随机选择一对{ Cdj,h(Cdj||Rdj)};同时雾节点产 new
生一个临时交互号n2、当前时间戳T2,并为物联网设备随机选择一个新的临时身份TIDd ;
new
计算M1= n2⊕h(PIDd|| h(Cdj||Rdj)||T2),M2=TIDd ⊕h(TIDd|| h(Cdj||Rdj)|| n2||T2),M3 new
=h(TIDd || h(Cdj||Rdj)|| n2||T2),雾节点随机选择一个随机数SK作为雾节点和物联网* new设备之间的共享会话钥,并计算SK =SK⊕h(TIDd ||TCd || h(Cdj||Rdj) ||n2|| T2),最*后雾节点将{M1,M2,M3,Cdj,SK ,T2}通过开放信道传给物联网设备;
(3)物联网设备接收到雾节点传送的消息后,根据接收到消息的当前时间戳T3检验接收到的消息的新鲜性;如果消息是新鲜的,物联网设备根据Cdj,利用嵌入物理不可克隆函数PUF的计算Rdj=PUF (Cdj)和哈希值h(Cdj||Rdj);计算n2=M1⊕h(PIDd|| h(Cdj||Rdj)||T2),new * newTIDd =M2⊕h(TIDd||h(Cdj||Rdj)||n2||T2),M3=h(TIDd || h(Cdj||Rdj)|| n2||T2);比较* newM3=M3是否相等,如果相等,则表示物联网设备认证雾节点;更新临时身份为TIDd ,并计算* new会话钥SK=SK ⊕h(TIDd ||TCd || h(Cdj||Rdj) ||n2|| T2);
new
物联网设备产生一个临时交互号n3和当前时间戳T3,M4=n3⊕h(TIDd || h(Cdj||Rdj)| new
| TCd || n2|| T3),M5=h(TIDd || h(Cdj||Rdj)|| SK ||n2||n3|| T3),将消息{M4,M5,T3}通过开放信道传给雾节点;
new
(4)雾节点接收到消息后,检验消息的新鲜性;如果消息新鲜,计算n3=M4⊕h(TIDd || * newh(Cdj||Rdj)|| TCd || n2|| T3),M5=h(TIDd || h(Cdj||Rdj)|| SK || n2||n3|| T3),检验*M5与接收到的M5是否相等;如果相等,则表示雾节点认证物联网设备。
2.一种应用如权利要求1所述的基于区块链的雾计算环境的安全认证系统的基于区块链的雾计算环境的安全认证方法,其特征在于,所述基于区块链的雾计算环境的安全认证方法包括以下步骤:步骤一,通过可信的注册权威为物联网设备进行注册;
步骤二,进行雾节点和物联网设备之间的安全认证;
步骤一中,所述物联网设备的注册方法,包括:
在物联网设备的注册阶段,注册权威RA负责安全地为每个物联网设备进行注册,并将注册信息写入区块链中;
(1)注册权威RA为物联网设备Sd选择一个唯一身份IDd,产生一个随机挑战集合Cd={Cd1,Cd2,…,Cdn },通过安全信道将Cd传送给物联网设备;
(2)物联网设备根据接收到Cd后,利用嵌入的物理不可克隆函数PUF计算Cd对应的响应Rd,即Rd=PUF(Cd),得到Rd={Rd1,Rd2,…,Rdn },并将通过安全信道传送给注册权威;
(3)注册权威在接收到Rd后,为物联网设备选择唯一身份IDd和一个随机数作为临时身份TIDd,并计算一个伪身份PIDd=h(IDd||K)和证书TCd=h(IDd||RTd||K);其中K是区块链网络中注册权威共享的一个秘密参数,RTd是物联网设备注册时间戳;注册权威将物联网设备Sd的参数(TIDd,PIDd)通过安全信道传送给对应的雾节点Fu存储,将(IDd,PIDd,TCd,Cd,h(Cd ||Rd))写入区块链网络,并将(TIDd,PIDd,TCd)安全地传送给物联网设备;
old new
(4)物联网设备接收到消息后存储{TIDd =null,TIDd =TIDd,PIDd,TCd};
步骤二中,所述雾节点和物联网设备之间的安全认证方法,包括:
(1)物联网设备产生一个临时交互号n1和当前时间戳T1,将n1、TIDd和T1一起传送给雾节点;
(2)雾节点根据接收到消息的当前时间戳T2,检验消息的新鲜性,即判断|T2‑T1|是否小于物联网设备和雾节点之间传输的最大允许的传送时间∆T,如果不满足,则认证过程终止;如果条件成立,则雾节点根据TIDd,调用智能合约,在区块链中找到对应的{TCd,Cd,h(Cd||Rd)};雾节点从一组{ Cd,h(Cd||Rd)}中随机选择一对{ Cdj,h(Cdj||Rdj)};同时雾节点产 new
生一个临时交互号n2、当前时间戳T2,并为物联网设备随机选择一个新的临时身份TIDd ;
new
计算M1= n2⊕h(PIDd|| h(Cdj||Rdj)||T2),M2=TIDd ⊕h(TIDd|| h(Cdj||Rdj)|| n2||T2),M3 new
=h(TIDd || h(Cdj||Rdj)|| n2||T2),雾节点随机选择一个随机数SK作为雾节点和物联网* new设备之间的共享会话钥,并计算SK =SK⊕h(TIDd ||TCd || h(Cdj||Rdj) ||n2|| T2),最*后雾节点将{M1,M2,M3,Cdj,SK ,T2}通过开放信道传给物联网设备;
(3)物联网设备接收到雾节点传送的消息后,根据接收到消息的当前时间戳T3检验接收到的消息的新鲜性;如果消息是新鲜的,物联网设备根据Cdj,利用嵌入物理不可克隆函数PUF的计算Rdj=PUF (Cdj)和哈希值h(Cdj||Rdj);计算n2=M1⊕h(PIDd|| h(Cdj||Rdj)||T2),new * newTIDd =M2⊕h(TIDd||h(Cdj||Rdj)||n2||T2),M3=h(TIDd || h(Cdj||Rdj)|| n2||T2);比较* newM3=M3是否相等,如果相等,则表示物联网设备认证雾节点;更新临时身份为TIDd ,并计算* new会话钥SK=SK ⊕h(TIDd ||TCd || h(Cdj||Rdj) ||n2|| T2);
new
物联网设备产生一个临时交互号n3和当前时间戳T3,M4=n3⊕h(TIDd || h(Cdj||Rdj)| new
| TCd || n2|| T3),M5=h(TIDd || h(Cdj||Rdj)|| SK ||n2||n3|| T3),将消息{M4,M5,T3}通过开放信道传给雾节点;
new
(4)雾节点接收到消息后,检验消息的新鲜性;如果消息新鲜,计算n3=M4⊕h(TIDd || * newh(Cdj||Rdj)|| TCd || n2|| T3),M5=h(TIDd || h(Cdj||Rdj)|| SK || n2||n3|| T3),检验*M5与接收到的M5是否相等;如果相等,则表示雾节点认证物联网设备。
3.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求2所述基于区块链的雾计算环境的安全认证方法。
4.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求2所述基于区块链的雾计算环境的安全认证方法。