一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链技术的档案数据一致性保持系统及方法与流程

2021-11-09 22:18:00 来源:中国专利 TAG:


1.本发明属于区块链技术领域,具体涉及一种基于区块链技术的档案数据一致性保持系统及方法。


背景技术:

2.区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任”基础,创造了可靠的“合作”机制,具有广阔的运用前景。
3.在当前大数据时代背景下,数据泄露事件频频发生,数据的篡改、随意交易触犯了数据产权保护的法律法规,但同时数据的流动性给数据的管理和保护也带来了很大的困难,目前各单位中的档案管理系统使用的都是中心化的技术方案,用户在某一单位的所有档案信息均存储在该单位的服务器中,不同的单位管理着各自负责的档案信息,不会存在着与其它档案中心所存储的档案的相关数据,即不同档案管理中心的数据是独立开来的,而且档案的保存过程也是不透明的,数据交流会花费大量时间进行权限申请、身份审查和数据校验;由于所有的档案都必须由中心化的档案管理中心进行上传保存,因此相关档案管理者会拥有对应档案的读写权限,而这会导致档案存在着被随时修改的可能性。并且在这种相对独立且中心化的模式下,即使档案被修改,用户也难以发现自己的档案被修改过,由于不存在能够校验档案完整性的信息,导致档案的完整性无法得到保障,用户对档案的信任度也会随着下降。。


技术实现要素:

4.本发明的目的是为了解决背景技术中所提出的问题,而提供一种基于区块链技术的档案数据一致性保持系统及方法,基于区块链不可篡改、去中心化、公开透明和分布式存储等特点,采用区块链和分布式数据库共同存储电子档案的模式,单位自行加密电子档案并存储在数据库上,区块链存储电子档案的哈希值及对应访问控制策略,以防止电子档案数据被篡改和泄露。
5.本发明的目的是这样实现的:一种基于区块链技术的档案数据一致性保持系统,包括:用户层,包括普通用户和管理员两种用户,是系统的入口,两种用户通过网页登录到系统中;应用层,集成有业务处理单元,同时建立与其他各个层之间的数据交互,应用层由智能合约组成,在应用层中规定了用户层可以进行的操作以及操作产生的其他动作;区块链层,包括存储单元和查看模块,负责加密信息存储和加密信息查看功能,以部署在私有链上的智能合约为中心构建,区块链层可以从不同的节点接入到私有链,私有链提供接口给区块链层;
数据层,存储应用层所需要的数据,并向应用层提供读取操作,数据层由ipfs以及mysql数据库构成,应用层产生的信息通过ipfs进行hash加密,并存储在ipfs的私有存储网络中,ipfs将源电子数据与加密hash值建立映射关系,所述映射关系用于对源电子数据寻址。
6.优选的,所述业务处理单元包括:档案信息模块:将提取的档案基本信息传至区块链合约中,完成电子档案的创建,数据存入区块链后再通过智能合约中的event事件,将档案基本信息同步到mongo db中;档案管理模块:当查询非本用户档案信息时,用户仅有查看功能,不能做添加、删除操作;历史记录模块:将对档案的全部操作记录全部打包进区块链中,对历史操作记录的溯源查询直接通过智能合约从区块链数据库中提取;用户迁移模块:当普通用户所属单位区块链节点服务器出现故障时,由本单位的上级单位的管理员授权出现故障点单位的管理员访问指定的同级运行稳定的单位节点,再由本单位的管理员授权本单位的其他普通用户快速迁移至稳定的单位节点,保证系统的正常使用;数据查验模块:在档案的每一页下方显示与其对应的数字指纹,通过比对历史操作记录中记载的该项电子档案页对应的数字指纹,如果两者一致则数据没有发生改变,若不一致则证明mongo db中存储的数字指纹被篡改。
7.优选的,所述的普通用户只能创建、查询档案,不能对用户和区块链节点管理进行操作,在用户层中,管理员可以创建用户、修改用户信息、删除用户以及为普通用户分配区块链账户。
8.优选的,在用户层中,对普通用户的ip地址进行限定,每个普通用户只能访问自己ip对应的区块链节点服务器。
9.优选的,所述区块链层在对档案数据进行存储时,使用密钥对档案数据库操作日志进行非对称加密,并将加密后的事务存储到区块链网层的私有链中。
10.优选的,所述区块链层的存储单元包括数据抽取模块、事务日志存储模块和电子文件存储模块,对电子档案文件的尺寸进行划分,将小粒度的电子文件直接存储至联盟区块链上,将大粒度的电子文件分布式存储至私有ipfs网络。
11.一种基于区块链技术的档案数据一致性的保持方法,包括如下步骤:s1、采集输入的用户层和应用层信息;s2、将档案电子数据上传到ipfs,并获取所上传数据对应的ipfs数字指纹;s3、调取档案智能合约将档案信息及ipfs数字指纹存储到区块链层中,当智能合约将档案存储进区块链后会伴随触发一个自动执行event事件,该event事件涵盖了档案的所有内容信息;s4、服务器负责监听以太坊区块链event事件,当event被档案智能合约自动触发时,服务器获取事件内容的同时将档案相关信息写入到mongo db数据库。
12.优选的,区块链层的查看模块中,当用户请求档案信息查询时,管理员通过普通用户发生的请求信息,验证其权限,验证通过后,管理员计算用户的代理密钥,并通过安全信道将代理密钥和档案密文传送给区块链层,区块链层中相应的节点再用代理密钥转换档案
密文,转换后的档案重加密密文可以直接被普通用户的私钥解密,以此来获取原始的档案信息。
13.优选的,当本单位a向其他单位分享档案时,单位a
i
随机设置多项式算法:f
i
(x)=a
i0
a
i1
x
……
a
i(n

1)
x
n
‑1;在本单位a向其他单位a
i
发送一个秘密值分量s
ij
=f
i
(j),同时,其他单位a
i
也自行计算b
ik
=g
aik
(mod q)(k=0,1,
……
,n

1),并将其传送至本单位a,其他单位a
i
收到s
ij
后验证式g
sij
=∏(b
jk
)
ik
(mod q)是否成立,若成立,则表明收到的秘密值分量有效,反之则无效,则本单位a返回给其他单位a
i
错误提示,其他单位a
i
需要发送新的s
ij
,直到s
ij
满足等式为止,最后本单位a和其他单位a
i
建立的主密钥为:s=∑a
i0
(mod q),主公钥为y=g
s

14.优选的,所述的系统选取双线性映射e:g1×
g1→
g
t
,其中,g1的生成元是g,g
t
的阶为q,另hash函数h1:{0,1}*

g1,h2:g
t

g1,设定有n个单位,则有公共参数p为:p=(g1,g
t
,e,g,h1,h2,n),所述的系统设置安全参数后,输出公共参数,生产系统主密钥。
15.优选的,所述的区块链层的节点根据公共参数、身份标识idi。生产身份对应的私钥sk
idi
=h1(id
i
)
s

16.优选的,计算所述档案的hash值h
m
=h
256
(m),在z
q
*上随机选取r,用公钥将档案进行加密得到密文:c
idi
=[g
r
,m
·
e(g
s
,h1(id
i
)
r
)],本单位将档案相关数据打包成交易t={h
m
,desc,acp,sig
skidi
(h
m
,desc,acp)},其中desc是本单位对该档案的id号及描述,acp是该电子档案的读写权限,sig
skidi
(h
m
,desc,acp)是对该交易的签名,以表示相关数据的正确性和合法性,本单位将交易发布到区块链网络中,其中一个节点接收该交易请求,其余节点对交易进行验证,验证成功后,所有节点更新数据,最后将该交易记录到区块链上。
[0017]
优选的,身份标识为id
j
的普通用户在区块链上浏览相关数据时,若要获取本单位的档案,则生成一个数据请求的消息msg={h
m
,req,sig
skidj
(h
m
,req)}发送给管理员,其中req为请求的具体内容,管理员接收到普通用户的消息后,首先验证签名是否合法,然后确认该普通用户是否拥有所请求的数据的读取权限,若两次验证都通过,则管理员为该普通用户计算代理重加密密钥:rk
idi

idj
={gr,x
·
e[g
s
,h1(id
i
)
r
],sk
idi
‑1·
h2(x)},然后将代理重加密密钥、请求的档案密文发送到代理节点,代理节点接收到代理重加密密钥和档案密文,则使用重加密算法计算重加密密文:c
idj
={c1,[c2·
e(c1,r3)],r1,r2}。
[0018]
优选的,代理节点将重加密密文发送给数据用户,由于密文经过转换,普通用户直接使用其私钥进行解密获取原始明文数据m,解密步骤包括:(1)第一次解密计算:x
j
=c4/e(c3,sk
idj
);(2)第二次解密计算:x
j
=c2/e[c1,h2(x
j
)]。
[0019]
与现有技术相比,本发明的有益效果在于:1、本发明提供的一种基于区块链技术的档案数据一致性保持系统及方法,基于区块链不可篡改、去中心化、公开透明和分布式存储等特点,采用区块链和分布式数据库共同存储电子档案的模式,单位自行加密电子档案并存储在数据库上,区块链存储电子档案的哈希值及对应访问控制策略,以防止电子档案数据被篡改和泄露。
[0020]
2、本发明提供的一种基于区块链技术的档案数据一致性保持系统及方法,通过用户ip地址的限定,每个用户只能访问自己ip对应的区块链节点服务器,保证区块链集群中的每个节点服务器都能够通过用户制作电子档案在区块链中打包交易数据,避免用户过度
集中在少数节点上而导致的这些节点负载过大,出现单点故障,影响系统的稳定运行。
[0021]
3、本发明提供的一种基于区块链技术的档案数据一致性保持系统及方法,通过抽取档案数据库事务日志及电子文件,针对不同的档案数据尺寸设计数据粒度感知的安全存储模型,并提出私有链ipfs集群相协同的数据存储方案,实现档案数据的安全存储。
附图说明
[0022]
图1是本发明一种基于区块链技术的档案数据一致性保持系统及方法结构示意图。
[0023]
图2是本发明一种基于区块链技术的档案数据一致性保持系统及方法的各层之间的交互关系示意图。
具体实施方式
[0024]
下面结合附图对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0025]
实施例1区块链技术采用分布式节点、p2p网络、共识机制保障了各节点数据的一致性,避免了因单点故障导致的数据损毁;并通过自身的链式存储结构和哈希算法、merkle树、非对称加密等密码学技术保障了数据的不可篡改和真实可信,同时时间戳技术还可以帮助历史数据进行回溯,因此,区块链技术提创建了一个安全的、去中心化的、防篡改的价值传播体系,构成了一个崭新的关于数据存储、传播和展示的模式。
[0026]
结合图1,一种基于区块链技术的档案数据一致性保持系统,包括:用户层,包括普通用户和管理员两种用户,是系统的入口,两种用户通过网页登录到系统中;应用层,集成有业务处理单元,同时建立与其他各个层之间的数据交互,应用层由智能合约组成,在应用层中规定了用户层可以进行的操作以及操作产生的其他动作;区块链层,包括存储单元和查看模块,负责加密信息存储和加密信息查看功能,以部署在私有链上的智能合约为中心构建,区块链层可以从不同的节点接入到私有链,私有链提供接口给区块链层;数据层,存储应用层所需要的数据,并向应用层提供读取操作,数据层由ipfs以及mysql数据库构成,应用层产生的信息通过ipfs进行hash加密,并存储在ipfs的私有存储网络中,ipfs将源电子数据与加密hash值建立映射关系,所述映射关系用于对源电子数据寻址。
[0027]
用户层是系统的入口,两种用户通过网页登录到系统中,应用层集成各个业务处理模块,同时建立与各个层之间的联系,区块链层负责加密信息存储和加密信息查看,数据层会存储应用层所需要的数据,并向应用层提供读取操作。
[0028]
ipfs(interplanetary file system),中文译作星际文件系统,它是一个点对点的分布式文件系统,提出的最初目标是用相同的文件系统连接所有的计算设备,ipfs中应用了已有的分布式哈希表(dht)、bittorrent内容分发协议、git和自验证文件系统(self

certifying file system,sfs)等技术,具有存储文件可寻址、内容不可篡改、去中心化及版本控制等特点。
[0029]
区块链有三种类型,公有链、联盟链和私有链,三者的区别在于读写权限的开放程度。公有链对所有人开放,联盟链对加入联盟的节点开放,私有链对某个节点开放,本发明选择私有链作为区块链存储方式,私有链节点的接入需要授权确认,而且私有链中各个节点的写入和读取权限都有着严格的限制,私有链的特点是交易速度快,隐私保障良好,交易成本大幅降低,安全性较高。
[0030]
所述业务处理单元包括:档案信息模块:将提取的档案基本信息传至区块链合约中,完成电子档案的创建,数据存入区块链后再通过智能合约中的event事件,将档案基本信息同步到mongo db中;档案管理模块:当查询非本用户档案信息时,用户仅有查看功能,不能做添加、删除操作;历史记录模块:将对档案的全部操作记录全部打包进区块链中,对历史操作记录的溯源查询直接通过智能合约从区块链数据库中提取;用户迁移模块:当普通用户所属单位区块链节点服务器出现故障时,由本单位的上级单位的管理员授权出现故障点单位的管理员访问指定的同级运行稳定的单位节点,再由本单位的管理员授权本单位的其他普通用户快速迁移至稳定的单位节点,保证系统的正常使用;数据查验模块:在档案的每一页下方显示与其对应的数字指纹,通过比对历史操作记录中记载的该项电子档案页对应的数字指纹,如果两者一致则数据没有发生改变,若不一致则证明mongo db中存储的数字指纹被篡改。
[0031]
系统管理员用户权限最高,可以创建本级以下(包含本级)管理员和本级普通用户,同时可以编辑、删除用户信息。
[0032]
整个流程都是由智能合约自动执行,既保证了链上数据的完整性、真实性,又保证了存储到mongo db数据库中的档案信息与链上数据信息的一致性,避免了数据在链上链下数据同步过程中被恶意篡改的可能性,保证链上与链下数据库的数据同步存储,区块链中存储档案的全部信息数据,防止数据被恶意篡改,提高数据安全性,在链下采用mongo db仅存储满足用户查询操作的档案基本信息,档案查询结果仅展示链下数据库mongo db中的档案基本信息,对于查询具体的档案信息,跳转至档案详情页,档案详情页中的数据由区块链获得,从而保证用户查询数据的可靠性和真实性。
[0033]
智能合约包含三个部分:卷宗基本信息、卷宗详细信息、历史记录信息功能,在每台区块链节点服务器上同时搭建ipfs客户端,构建私有ipfs网络。在切断了同ipfs互联网中的节点通信,保证了私有网络中的ipfs节点不会将数据同步传输到互联网环境中,私有ipfs网络中的所有节点间彼此通信共同构建出一个私有集群网络。因此使用私有ipfs网络可以构建专有网络,在这个私有网络中存储法院专属的数据,不会造成数据的外部泄露。
[0034]
结合图2,所述区块链层的存储单元包括数据抽取模块、事务日志存储模块和电子文件存储模块,对电子档案文件的尺寸进行划分,将小粒度的电子文件直接存储至联盟区块链上,将大粒度的电子文件分布式存储至私有ipfs网络,在以太坊区块链中,智能合约一经部署将不能再做更改,这就保证了交易按照智能合约中预设的逻辑进行。以太坊智能合
约的这种特性在一定程度上保证了交易的公正性。
[0035]
实施例2一种基于区块链技术的档案数据一致性的保持方法,包括如下步骤:s1、采集输入的用户层和应用层信息;s2、将档案电子数据上传到ipfs,并获取所上传数据对应的ipfs数字指纹;s3、调取档案智能合约将档案信息及ipfs数字指纹存储到区块链层中,当智能合约将档案存储进区块链后会伴随触发一个自动执行event事件,该event事件涵盖了档案的所有内容信息;s4、服务器负责监听以太坊区块链event事件,当event被档案智能合约自动触发时,服务器获取事件内容的同时将档案相关信息写入到mongo db数据库。
[0036]
实施例3区块链层的查看模块中,当用户请求档案信息查询时,管理员通过普通用户发生的请求信息,验证其权限,验证通过后,管理员计算用户的代理密钥,并通过安全信道将代理密钥和档案密文传送给区块链层,区块链层中相应的节点再用代理密钥转换档案密文,转换后的档案重加密密文可以直接被普通用户的私钥解密,以此来获取原始的档案信息。
[0037]
当本单位a向其他单位分享档案时,单位a
i
随机设置多项式算法:f
i
(x)=a
i0
a
i1
x
……
a
i(n

1)
x
n
‑1;在本单位a向其他单位a
i
发送一个秘密值分量s
ij
=f
i
(j),同时,其他单位a
i
也自行计算b
ik
=g
aik
(mod q)(k=0,1,
……
,n

1),并将其传送至本单位a,其他单位a
i
收到s
ij
后验证式g
sij
=∏(b
jk
)
ik
(mod q)是否成立,若成立,则表明收到的秘密值分量有效,反之则无效,则本单位a返回给其他单位a
i
错误提示,其他单位a
i
需要发送新的s
ij
,直到s
ij
满足等式为止,最后本单位a和其他单位a
i
建立的主密钥为:s=∑a
i0
(mod q),主公钥为y=g
s

[0038]
所述的系统选取双线性映射e:g1×
g1→
g
t
,其中,g1的生成元是g,g
t
的阶为q,另hash函数h1:{0,1}*

g1,h2:g
t

g1,设定有n个单位,则有公共参数p为:p=(g1,g
t
,e,g,h1,h2,n),所述的系统设置安全参数后,输出公共参数,生产系统主密钥。
[0039]
所述的区块链层的节点根据公共参数、身份标识idi。生产身份对应的私钥sk
idi
=h1(id
i
)
s

[0040]
计算所述档案的hash值h
m
=h
256
(m),在z
q
*上随机选取r,用公钥将档案进行加密得到密文:c
idi
=[g
r
,m
·
e(g
s
,h1(id
i
)
r
)],本单位将档案相关数据打包成交易t={h
m
,desc,acp,sig
skidi
(h
m
,desc,acp)},其中desc是本单位对该档案的id号及描述,acp是该电子档案的读写权限,sig
skidi
(h
m
,desc,acp)是对该交易的签名,以表示相关数据的正确性和合法性,本单位将交易发布到区块链网络中,其中一个节点接收该交易请求,其余节点对交易进行验证,验证成功后,所有节点更新数据,最后将该交易记录到区块链上。
[0041]
身份标识为id
j
的普通用户在区块链上浏览相关数据时,若要获取本单位的档案,则生成一个数据请求的消息msg={h
m
,req,sig
skidj
(h
m
,req)}发送给管理员,其中req为请求的具体内容,管理员接收到普通用户的消息后,首先验证签名是否合法,然后确认该普通用户是否拥有所请求的数据的读取权限,若两次验证都通过,则管理员为该普通用户计算代理重加密密钥:rk
idi

idj
={gr,x
·
e[g
s
,h1(id
i
)
r
],sk
idi
‑1·
h2(x)},然后将代理重加密密钥、请求的档案密文发送到代理节点,代理节点接收到代理重加密密钥和档案密文,则使用
重加密算法计算重加密密文:c
idj
={c1,[c2·
e(c1,r3)],r1,r2}。
[0042]
代理节点将重加密密文发送给数据用户,由于密文经过转换,普通用户直接使用其私钥进行解密获取原始明文数据m,解密步骤包括:(1)第一次解密计算:x
j
=c4/e(c3,sk
idj
);(2)第二次解密计算:x
j
=c2/e[c1,h2(x
j
)]。
[0043]
保证每一个用户的私钥都可由全部用户协商生成,即使单个用户被恶意攻击也能保证密钥的安全性。
[0044]
通过用户ip地址的限定,每个用户只能访问自己ip对应的区块链节点服务器,上传档案获得的积分也有此节点服务器发放,这样做的好处是保证区块链集群中的每个节点服务器都能够通过用户制作电子档案在区块链中打包交易数据,积极的参与到区块链的共识机制中,避免用户过度集中在少数节点上而导致的这些节点负载过大,出现单点故障,影响系统的稳定运行。
[0045]
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的保护范围内所做的任何修改,等同替换等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献