1.一种基于边缘区块链的工业物联网安全数据共享方法,其特征在于,基于密钥生成中心、边缘设备、物联网设备、多个边缘设备构建的区块链、云、智能合约六部分,实现数据共享的过程包括:
步骤S1、密钥生成中心是可信的第三方,初始化密钥生成中心,可以生成全局参数和密钥对,密钥对包括主公钥和主私钥;
步骤S2、密钥生成中心为物联网设备生成公钥和部分私钥,生成的公钥被公开,生成的部分私钥由密钥生成中心发送给物联网设备,物联网设备随机选择一个秘密值,部分私钥基于该秘密值生成真正的私钥;
步骤S3、物联网设备采用对称加密算法生成的对称密钥对共享数据进行加密,得到密文;物联网设备采用哈希算法对共享数据进行哈希,得到共享数据摘要;物联网设备采用LSH算法对共享数据进行局部敏感哈希,得到lsh值;基于共享数据摘要和lsh值建立索引,并基于公钥和真正的私钥生成签名,随后物联网设备将密文、索引和签名发送给边缘设备;
步骤S4、边缘设备验证签名的合法性,验证通过后,边缘设备将共享数据摘要、索引和签名记录到区块链上,将密文发送到云上;物联网设备将对称加密算法生成的对称密钥分成n个分片,共享给n个边缘设备;
步骤S5、在有另外的物联网设备请求访问共享数据时,智能合约验证该物联网设备的访问权限,在该物联网设备有权限时,智能合约执行搜索算法,将匹配的共享数据摘要以交易的形式记录到区块链上,云监控到交易后,将匹配共享数据摘要的密文返回给发出请求的物联网设备,将匹配到的t个边缘设备上的t个分片传送至发出请求的物联网设备,发出请求的物联网设备验证所有分片的有效性,如果验证有效,则恢复出所匹配共享数据的对称密钥,并利用恢复的对称密钥解密密文,得到请求访问的共享数据。
2.根据权利要求1所述的基于边缘区块链的工业物联网安全数据共享方法,其特征在于,步骤S1中,
生成的全局参数和主公钥首先由密钥生成中心发送给边缘设备,再由边缘设备经过共识操作后记录到区块链上并公开;
生成的主私钥保密。
3.根据权利要求1所述的基于边缘区块链的工业物联网安全数据共享方法,其特征在于,步骤S5中,在有另外的物联网设备请求访问共享数据时,智能合约调用访问控制列表验证该物联网设备的访问权限,并过滤掉没有访问权限的物联网设备。
4.根据权利要求1所述的基于边缘区块链的工业物联网安全数据共享方法,其特征在于,执行步骤S1,初始化密钥生成中心,生成全局参数和密钥对,密钥对包括主公钥和主私钥,具体过程为:
S1.1、在密钥生成中心输入安全参数λ,选择三个q阶的循环群G1、G2和GT,其中,P为G1的生成元,Q为G2的生成元;
S1.2、在密钥生成中心选择一个对称双线性映射函数e:G1×G2→GT;
S1.3、在密钥生成中心选择三个抗碰撞哈希函数H1、H2和H3,其中,S1.4、从 中随机选取一个秘密值s;
S1.5、计算g=e(P,P);
S1.6、计算主公钥mpk,其表达是为mpk=s·P,计算主私钥msk,其表达式为:msk=s;
S1.7、得到全局参数params,全局参数params={G1,G2,e,P,Q,mpk,H1,H2,H3}。
5.根据权利要求4所述的基于边缘区块链的工业物联网安全数据共享方法,其特征在于,执行步骤S2,得到真正的私钥的具体过程为:步骤S2.1、密钥生成中心为物联网设备生成部分私钥PPisk,部分私钥PPisk的表达式为:其中,s是从 中随机选取的一个秘密值,P为G1的生成元, 表示第i个物联网设备的编号, 为第i个物联网设备的哈希;
步骤S2.2、密钥生成中心为物联网设备生成公钥 公钥 的表达式为:其中, 其为密钥生成中心从 中随机选择的一个秘密值,mpk表示主公钥,为第i个物联网设备的哈希,P为G1的生成元;
步骤S2.3、基于步骤S2.1的部分私钥PPisk、以及步骤S2.2中密钥生成中心从 中随机选择的一个秘密值sval,计算得到真正的私钥 真正的私钥 的表达式为:
6.根据权利要求5所述的基于边缘区块链的工业物联网安全数据共享方法,其特征在于,执行步骤S3,建立索引的具体步骤为:步骤S3.1.1、物联网设备采用哈希算法对共享数据进行哈希,得到共享数据摘要共享数据摘要 满足如下公式:
其中,mi表示共享数据,H2(mi)表示共享数据mi的哈希值;
步骤S3.1.2、物联网设备利采用LSH算法对共享数据进行局部敏感哈希,得到lsh值,基于共享数据摘要 和lsh值建立索引index,索引index形式如下:
7.根据权利要求6所述的基于边缘区块链的工业物联网安全数据共享方法,其特征在于,执行步骤S3,建立索引后,生成签名的具体过程为:步骤S3.2.1、物联网设备从 中随机选择一个秘密值γi,计算 其中g=e(P,P),e表示对称双线性映射函数;
步骤S3.2.2、物联网设备采用对称加密算法生成的对称密钥对共享数据进行加密,得到密文ci,所述密文ci的表达式:ci=Enck(mi),
其中,mi表示共享数据;
步骤S3.2.3、物联网设备计算hi,hi的表达式为:其中,ci表示密文, 表示公钥,Ri由物联网设备计算得到,H3表示抗碰撞哈希函数;
步骤S3.2.4、物联网设备计算Si,Si的表达式为:其中,γi是从 中随机选择的一个秘密值, 表示共享数据摘要, 表示真正的私钥;
步骤S3.2.5、基于步骤S3.2.3计算的hi和步骤S3.2.4计算的Si,构建签名σi=(hi,Si)。
8.根据权利要求7所述的基于边缘区块链的工业物联网安全数据共享方法,其特征在于,执行步骤S4,边缘设备验证签名的合法性,包括如下步骤:步骤S4.1.1、边缘设备计算R′i,R′i的表达式为:其中,e表示对称双线性映射函数,Si由物联网设备计算得到, 表示公钥,表示共享数据摘要,hi由物联网设备计算得到;
步骤S4.1.2、边缘设备计算h′i,h′i的表达式为:其中,H3表示抗碰撞哈希函数,ci表示密文,R′i由边缘设备计算得到, 表示公钥;
步骤S4.1.3、基于hi的表达式验证下列等式是否成立:
如果上述等式成立,边缘设备将共享数据索引index和共享数据摘要 记录到区块链上,将密文ci上传到云上。
9.根据权利要求8所述的基于边缘区块链的工业物联网安全数据共享方法,其特征在于,执行步骤S4,物联网设备将对称加密算法生成的对称密钥分成n个分片,具体操作为:基于边缘设备的编号 物联网设备使用shamir密钥分享算法分割对称密钥,获得n个分片Frag,其中,分片Fragi表示对称密钥的第i个分片,分片Fragi满足如下表达式:其中, 表示第i个边缘设备的编号的j次方,t表示对称密钥的分片个数,Fj为在有限域中随机选择的正整数,Fj中的j表示第j次选择的正整数,S表示对称密钥。
10.根据权利要求9所述的基于边缘区块链的工业物联网安全数据共享方法,其特征在于,执行步骤S5时,发出请求的物联网设备利用恢复的对称密钥解密密文,得到请求访问的共享数据,具体操作为:
步骤S5.1、发出请求的物联网设备计算ψ,ψ的表达式为:其中, 表示第i个边缘设备的编号的j次方,t表示对称密钥的分片个数,Fj为在有限域中随机选择的正整数,Fj中的j表示第j次选择的正整数,P为G1的生成元,Q为G2的生成元,e表示对称双线性映射函数;
步骤S5.2、发出请求的物联网设备计算 的表达式为:其中,P为G1的生成元,Q为G2的生成元,e表示对称双线性映射函数,S表示对称密钥;
步骤S5.3、t个边缘设备将提供t个分片Frag返回给发出请求的物联网设备,发出请求的物联网设备通过ψ和 验证分片合法性,验证采用如下表达式:其中,t表示对称密钥的分片个数,e表示对称双线性映射函数,Fj为在有限域中随机选择的正整数,Fj中的j表示第j次选择的正整数,P为G1的生成元,Q为G2的生成元, 表示第i个边缘设备的编号的j次方,S表示对称密钥,Fragi表示对称密钥的第i个分片;
步骤S5.4、如果步骤S5.3的验证等式成立,则发出请求的物联网设备恢复对称密钥,恢复对称密钥采用如下表达式:
其中,F(0)为对称密钥,Fragi为对称密钥的第i个分片,Fi为在有限域中随机选择的正整数,Fi中的i表示第i次选择的正整数, 表示第i个边缘设备的编号, 表示第j个边缘设备的编号,t表示对称密钥的分片个数,最终获得的F(0)即为对称密钥,发出请求的物联网设备采用对称密钥对密文解密,得到请求访问的共享数据。