1.一种雾计算与区块链融合的智能家居身份认证方法,其特征在于,所述雾计算与区块链融合的智能家居身份认证方法包括:基于受信权威初始化属于网络的所有实体的认证变量,并对所有的智能设备、雾节点、终端用户进行注册;通过区块链上认证和链下认证进行终端用户与雾节点的相互认证;认证成功后,终端用户与智能设备建立安全的连接进行通信;
所述雾计算与区块链融合的智能家居身份认证方法包括以下步骤:
步骤一,基于受信权威初始化属于网络的所有实体的认证变量;在智能合约上进行所有的智能设备和雾节点的注册;并在受信权威上进行终端用户的注册;同时将智能设备、雾节点以及终端用户的密文信息以交易的形式存储在区块链上;
步骤二,终端用户利用用户名、口令和指纹在移动设备上登陆,并向区块链提交访问物联网设备的请求;智能合约验证用户的真实性,若验证不成功,则终止用户的访问请求;若验证成功,则转向步骤三;
步骤三,触发部署在区块链上的智能合约,执行区块链上的认证:区块链上部署的智能合约返回一个临时认证令牌并将消息广播给所有的用户和雾节点;
步骤四,终端用户与雾节点接收本地区块链广播的消息通过验证消息鲜活度、终端用户自身认证以及终端用户与雾节点相互认证进行链下验证;验证成功后,终端用户与智能设备就建立安全的连接进行通信;
所述在智能合约上进行所有的智能设备和雾节点的注册;并在受信权威上进行终端用户的注册包括:(1)雾节点注册:雾节点向系统提交注册交易请求事件ReqRegistration(MACFID,FID),触发智能合约,进行注册验证;注册权威根据雾节点的身份标识,查询所述雾节点是否已经被注册;若已被注册则拒绝所述雾节点提交的注册交易请求,并根据媒体访问控制地址验证雾节点的唯一身份标识FID的正确性;若所述雾节点的唯一身份标识FID的正确性验证成功,则接受所述雾节点提交的注册交易请求;否则,注册失败;同时于注册成功后将雾节点与关联智能设备的映射关系记录在区块链上;
(2)智能设备注册:智能设备提交注册交易请求事件ReqRegistra tion(MACFID, FID, MACSID, SID, ReqCardSID, PukSID)到区块链,触发智能合约,区块链上的智能合约执行智能设备的注册验证;
所述智能设备的注册验证包括:
(2.1)查询由注册权威发布的SID验证智能设备是否已经存在于系统中,如果已经存在,则注册终止;
(2.2)验证智能设备的媒体访问控制地址MACSID和对应的雾节点媒体访问控制地址MACFID的正确性;通过注册请求中的MACSID和MACFID验证SID和FID的正确性;
(2.3)通过注册请求中的SID和FID的以及雾节点的公钥PukSID验证智能设备的身份令牌ReqCardSID;
(2.4)当且仅当媒体访问控制地址MACFID、MACSID、SID、FID、智能设备的身份令牌ReqCardSID验证均成功后,注册成功;
(3)终端用户注册,用户Ui利用智能终端Pi在受信权威上进行注册:
(3.1)用户选择一个唯一的身份IDi和口令PWi,并在移动设备输入自身生物信息,Pi利用模糊提取器生成函数 产生一个秘密字符串s和一个辅助串r: ;并利用智能终端用输入的生物信息隐藏口令:UPWi=h(PWi||s);移动设备通过安全信道发送注册请求{IDi,PWi,r}到注册权威;
(3.2)从智能终端Pi接收请求消息,注册权威为终端用户计算一个用户的假名身份标识PIDi = h(IDi ||r),注册权威发送响应消息{PIDi}给Pi;同时将信息{PIDi, r}存储至区块链;
(3.3)用户接收来自注册权威的消息,智能终端Pi存储 在自身内
存中;
所述区块链上认证包括:
1)通过区块链上存储的用户的假名身份标识PIDi验证用户的身份,若所述假名身份标识存在,则验证传输的媒体访问地址MACSID是否存在,若存在则查询区块链上的SID验证智能设备是否已经存在,如果所述智能设备存在,则通过智能设备的MACSID地址验证SID是否正确,若SID验证通过,则转向步骤2);否则,验证失败;
2)区块链上部署的智能合约返回一个带有临时访问证书AccessCredential=(TOKEN, r, PIDi, FID, T1, ∆T)的消息;区块链所述消息广播给所有用户和雾节点;
其中令牌TOKEN由用户的假名身份标识PIDi和智能设备唯一身份标识SID取哈希生成,为TOKEN=h(SID||PIDi||FID);其中,T1表示当前会话时间,∆T表示最大传输时延,r表示用户注册阶段由模糊提取器生成的辅助串;
所述终端用户与雾节点接收本地区块链广播的消息通过验证消息鲜活度、终端用户自身认证以及终端用户与雾节点相互认证进行链下验证包括:终端用户接收本地区块链广播的消息并验证所述消息的鲜活度,同时终端用户向给管理所述智能设备的雾节点发送包含自身信息和令牌的消息M1的消息进行终端用户自身的认证;雾节点接收终端用户发送的消息认证用户成功之后,向终端用户发送一个用于认证的响应消息M2;
所述链下验证包括以下步骤:
1)终端用户通过广播接收消息,检查条件Tnew‑T1<∆T是否满足,Tnew表示当前系统最新时间;若满足,则通过向相应雾节点发送消息{M1,Signed(M1), Pukuser}进行终端用户自身认证;其中M1=(TOKEN, r, PIDi, T2, n, Pukuser, ∆T), Signed(M1)表示终端用户使用自己的私钥对消息M1生成的数字签名,Pukuser表示终端用户的公钥;
2)雾节点利用终端用户Ui的私钥验证签名并检查条件Tnew ‑T2<∆T是否满足,若满足,则雾节点检查用户的假名身份标识PIDi与广播收到的是否一致,若两者不相等则终止认证;
*
3)雾节点验证终端用户传过来的令牌是否真实有效:计算TOKEN =h(SID||FID||PIDi),*判断TOKEN 是否等于TOKEN,若不相等则拒绝访问请求;雾节点发送响应消息{M2,Signed(M2),PukFID},M2=(n‑1,T3,PukFID)给终端用户;其中,Signed(M2)表示雾节点使用自己的私钥生成的数字签名,T2表示当前会话时间,PukFID表示所述雾节点的公钥;
4)终端用户用雾节点的公钥验证签名,检查条件Tnew ‑T3<∆T是否满足,若不满足,则终止。
2.如权利要求1所述雾计算与区块链融合的智能家居身份认证方法,其特征在于,所述基于受信权威初始化属于网络的所有实体的认证变量包括:首先,受信权威为网络模型中的每个实体计算身份标识,根据每个实体entityi在互联网中的唯一媒体访问控制MAC地址MACi,计算MACi的哈希值,得到实体的身份标识IDi=hash(MACi),并将所述实体的身份标识发送给每个参与者进行存储;
其次,受信权威为所有实体生成一对公私钥对(Puku, Prku),其中u表示参与实体;同时所有的智能设备按照预先定义好的映射规则映射至某个雾节点进行管理;
最后,雾节点为每个智能设备计算注册令牌ReqCard;将所有节点的初始化信息以交易的形式打包成区块;
注册令牌ReqCard由管理所述智能设备的雾节点的唯一身份标识FID、智能设备唯一身份标识SID及使用椭圆曲线数字签名算法的签名结果Signature组成;所述签名结果Signature利用雾节点的私钥对雾节点和相应智能设备的身份标识信息进行签名得到。
3.如权利要求1所述雾计算与区块链融合的智能家居身份认证方法,其特征在于,所述终端用户利用用户名、口令和指纹在移动设备上登陆,并向区块链提交访问物联网设备的请求包括:用户Ui在智能终端Pi输入用户身份IDi和口令PWi,并在智能终端上输入自身生物信息,* * *智能终端利用嵌入其中的模糊提取器计算Rep(ω,r)→s ,UPW =h(IDi||s ),如果UPWi=UPW*用户登录成功;移动终端向本地区块链提交认证请求交易事件ReqAuth(IDi, PWi, MACSID,SID),其中MACSID表示智能设备的媒体访问地址,SID表示智能设备的身份标识。
4.一种实施如权利要求1‑3任意一项所述雾计算与区块链融合的智能家居身份认证方法的雾计算与区块链融合的智能家居身份认证系统,其特征在于,所述雾计算与区块链融合的智能家居身份认证系统包括:初始化模块,用于基于受信权威初始化属于网络的所有实体的认证变量;
注册模块,用于在智能合约上进行所有的智能设备和雾节点的注册;同时用于在受信权威上进行终端用户的注册;
认证模块,用于对登录用户以及相应智能设备进行相互验证;
通信模块,用于接收通过验证的用户的访问请求并建立安全连接进行通信;
所述认证模块包括:
用户登陆单元,用于通过输入用户名、口令和指纹进行终端用户登录;
用户身份验证单元,用于利用智能合约验证用户的真实性;同时于认证通过时,利用区块链上部署的智能合约返回一个临时认证令牌并广播给所有的用户和雾节点;
终端用户验证单元,用于终端用户对接收的本地区块链广播的消息进行鲜活度验证;
同时用于鲜活度验证通过后终端用户向管理所述智能设备的雾节点发送包含自身信息和令牌的消息M1消息进行终端用户自身认证;
雾节点认证单元:用于接收终端用户发送的消息认证用户成功,并向终端用户发送用于认证的响应消息M2。
5.如权利要求4所述雾计算与区块链融合的智能家居身份认证系统,其特征在于,所述雾计算与区块链融合的智能家居身份认证系统还包括:受信权威,用于进行安全变量的初始化;
终端用户,用于发送认证请求触发智能合约并从智能合约中请求获得访问特定智能设备的权限;同时用于获得访问权限后将联系负责管理指定智能设备的雾节点进行身份验证;
智能合约,用于进行终端用户和智能设备的注册以及终端用户和智能设备的认证;并根据满足智能合约预设条件的实体发送的请求执行相应处理;
雾节点,用于利用边缘网络中的设备认证合法用户访问智能设备;
智能设备,用于每个智能设备被映射至一个雾节点,执行部分处理。
6.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求
1‑3任意一项所述雾计算与区块链融合的智能家居身份认证方法。