论文总结:基于可编辑区块链的工业物联网数据管理机制
Posted deepdarkfan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文总结:基于可编辑区块链的工业物联网数据管理机制相关的知识,希望对你有一定的参考价值。
论文总结:A trustworthy industrial data management scheme based on redactable blockchain(基于可编辑区块链的工业物联网数据管理机制)
1.背景
\\qquad 工业物联网的数据安全涉及到收集、传递、存储和分析等方面,如果数据安全无法保障,那么物联网上的各种设备的安全性也无法被保障。例如在2015年
\\qquad 可编辑区块链技术也已经被提出,可编辑区块链采用了变色龙哈希。可编辑区块链依据陷门管理方式划分为两种:集中式可编辑区块链和分布式可编辑区块链。集中式可编辑区块链当中有一个管理者对陷门进行管理,但但这种情况下如果管理者被攻击,则陷门的安全也无法保障,并且管理者也有可能成为不诚实的;而分布式可编辑区块链指的是将陷门管理权限下放给不同的实体,这些实体共同管理陷门,这种管理方式缺陷是如果其中一个节点不诚实,那么就有可能提供恶意的陷门片段,导致陷门恢复失败。
2.相关工作
\\qquad 传统的工业数据管理应用出现了安全和效率的瓶颈,区块链的出现有助于突破这个瓶颈。由于区块链具有去中心化、可追溯和数据不可变的特点,和区块链相关的工业数据管理方案被不断提出,但他们都忽视了区块链上的有害数据治理问题。
\\qquad 可编辑区块链最早于2016年被提出,该方案采用了变色龙哈希,采用这种哈希函数的原因是避免哈希值因为区块链数据的修改而改变。
\\qquad 本文指出:集中式可编辑区块链当中的集中式陷门管理者在工业物联网环境下不存在,并且集中式可编辑区块链中的陷门管理者需要面对被攻击的风险。如果采用分布式区块链则会导致陷门回复过程中消耗大量的算力,这对于物联网设备来说不能接受。
3.本文方案简介和前置知识
3.1变色龙哈希
\\qquad 变色龙哈希是一种带有陷门的哈希函数,设计变色龙哈希时需要满足:拥有两个信息 x ′ x' x′和 x x x且 x ≠ x ′ x \\neq x' x=x′的情况下仍然有 H ( x ′ ) = H ( x ) H(x')=H(x) H(x′)=H(x),其中 H ( ) H() H()代表的含义是变色龙哈希函数。变色龙哈希函数的基本结构分为以下四个方面:
\\qquad (1)初始化:需要构造安全参数 λ \\lambda λ以及两个大质数 p p p和 q q q并满足 q ∣ ( p − 1 ) q|(p-1) q∣(p−1),输出是一个乘法群 Z p ∗ Z_p^* Zp∗,其中生成元为 λ \\lambda λ,阶数为 q q q。
\\qquad (2)密钥生成:私钥为 x ∈ Z q ∗ x \\in Z_q^* x∈Zq∗ ,公钥为 y ≡ g x m o d p y \\equiv g^x mod p y≡gxmodp。
\\qquad (3)哈希计算:选取一个随机数 r r r,利用前两步的生成元、公钥对信息 m m m进行哈希计算得到 H a s h ( y , m , r ) = g m y r Hash(y,m,r)=g^my^r Hash(y,m,r)=gmyr。
\\qquad (4)构造碰撞:针对一个新的信息 m ′ m' m′,构造一个新的随机数 r ′ = ( m − m ′ + x r ) x − 1 r'=(m−m′+xr)x^-1 r′=(m−m′+xr)x−1,使得 H a s h ( y , m ′ , r ′ ) = H a s h ( y , m , r ) Hash(y,m',r') =Hash(y,m,r) Hash(y,m′,r′)=Hash(y,m,r)。
3.2密钥共享
\\qquad 本方案采用的是Shamir密钥共享,这种方案的优势是将密钥分发给 n n n个人,而恢复密钥的时候只需要 t t t个人(满足 t < n t < n t<n)即可恢复密钥。Shamir密钥共享方案用于本方案的陷门恢复部分。
\\qquad (1)初始化:生成随机两个大素数 p p p和 q q q,需要满足 q ∣ ( p − 1 ) q|(p−1) q∣(p−1),并设定密钥持有者人数 n n n和门限值 t t t,门限值作用是规定有恢复密钥需要 t t t个人。
\\qquad (2)密钥分配:密钥分发过程中, t t t个人随机选取属于自己的 a i a_i ai,其中 i ∈ [ 0 , t − 1 ] i \\in [0,t-1] i∈[0,t−1],并且 a 0 a_0 a0是被共享的密钥,密钥片段分配时,首先需要计算表达式 f ( x ) = a 0 + a 1 x + a 2 x 2 + ⋅ ⋅ ⋅ + a t − 1 x t − 1 f(x)=a_0+a_1x+a_2x^2+\\cdot\\cdot\\cdot+a_t-1x^t-1 f(x)=a0+a1x+a2x2+⋅⋅⋅+at−1xt−1,每个人都需要随机选择 x i ( i ∈ [ 1 , n ] ) x_i(i \\in [1,n]) xi(i∈[1,n]),密钥片段将会以 ( x i , f ( x i ) ) (x_i,f(x_i)) (xi,f(xi))的形式保存。
\\qquad
(3)密钥恢复:当有
t
t
t个密钥片段持有者时,通过拉格朗日插值多项式进行密钥恢复,多项式为:
F
(
x
)
=
∑
i
=
1
t
(
y
i
∏
1
≤
j
≤
t
,
j
≠
i
(
x
−
x
j
)
(
∏
1
≤
j
≤
t
,
j
≠
i
(
x
j
−
x
i
)
)
−
1
)
m
o
d
(
p
)
F(x)=\\left\\\\sum_i=1^t\\left(y_i \\prod_1 \\leq j \\leq t, j \\neq i\\left(x-x_j\\right)\\left(\\prod_1 \\leq j \\leq t, j \\neq i\\left(x_j-x_i\\right)\\right)^-1\\right)\\right\\ \\bmod (p)
F(x)=∑i=1t(yi∏1≤j≤t,j=i(x−xj)(∏1≤j≤t,j=i(xj−xi))−1)mod(p),恢复的结果就是
a
0
a_0
a