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

一种基于区块链技术构建的共享加密存储系统的制作方法

2022-03-26 04:49:54 来源:中国专利 TAG:


1.本发明涉及数据安全技术领域,具体涉及一种基于区块链技术构建的共享加密存储系统。


背景技术:

2.管理信息系统在运行过程中,产生大量的数据,这些数据涉及管理信息系统相关联的多个子系统,将这些数据进行系统管理,甚至对外共享时,要解决数据共享的合法性,例如企业审计中的数据可能涉及到部门特殊情况,面对不确定的风险或规定时,如何共享的问题;要解决数据的安全和权益:数据被目标用户使用时,可能存在被复制,留存,篡改的风险,数据得不到保障。如果数据不进行共享,各个用户或业务系统会形成信息孤岛,会对管理信息系统带来额外的工作量。
3.管理信息系统的数据管理模式一般包括数据托管模式和数据聚合模式。托管模式中,将数据托管到特定业务系统的中心数据库中,由该中心数据库统一管理和运维。聚合模式中,通过api接口,将不同业务系统的数据进行连接,数据中转系统和数据所有者进行交互并返回查询结果。
4.然而,托管模式中的缺点是数据的安全性不高,使用用户,使用权限全部依赖于托管系统的诚信度。而聚合模式中的看似不同业务系统数据独立管理,但最终数据聚合中完全有能力也有机会留存各个业务系统的数据。尽管数据所有者有权限设置不留存数据,这种风险还是存在的。


技术实现要素:

5.为了解决现有技术中所存在的问题,本发明提供一种基于区块链技术构建的共享加密存储系统,包括主节点和共识节点;
6.所述主节点用于基于主节点上部署的各个逻辑层,实现对用户进行管理、对私有数据和业务进行管理并维护数据访问信息;
7.所述共识节点用于基于共识节点上部署的各个逻辑层,对访问所述共识节点的用户进行安全管理、发起私有数据访问请求并根据私有数据访问请求提供私有数据服务;
8.其中,所述主节点通过调用存储访问接口,将私有数据封装为签名的事务信息,发送给共识节点;共识节点将私有数据以预定义周期封装为事务区块,并在区块链中转发,并基于共识算法在所有共识节点之中达成一致,然后写入各共识节点的本地数据库镜像,实现数据全局一致性;
9.各业务系统的用户通过共识节点从私有数据数据库中查询并获取当前业务系统未处理的事务信息;共识节点过滤转发到当前业务系统的已确认的事务区块消息,提取与当前业务系统地址匹配的事务区块消息,将匹配的事务区块消息发送到业务系统;业务系统使用主节点公钥验证所述事务区块消息的签名,并通过当前业务系统的私钥来解密会话密钥,然后解密所述事务区块消息,获取私有数据。
10.优选地,所述主节点和所述共识节点上部署的各个逻辑层包括:基础设施层、合约层、运维层、表现层和应用层;
11.所述基础设施层用于,封装支持智能合约实现的所有基础设施;
12.所述合约层用于,封装静态的合约数据;
13.所述运维层用于,封装对合约层中静态合约数据的动态操作;
14.所述表现层用于,封装协议和投票机制;
15.所述应用层用于,封装业务流中各场景和应用。
16.优选地,所述基础设施层包括:分布式账本、开发环境和预言机;
17.所述分布式账本用于记录共享加密存储系统上所有数据处理过程数据;
18.所述开发环境包括基于计算机代码实现的启动节点,部署合约、调用合约;
19.所述预言机基于区块链的安全规则对加密存储系统的数据源进行安全管理。
20.优选地,所述用户包括:数据所有者、数据使用者。
21.优选地,所述发起私有数据访问请求包括:
22.当数据使用者需要使用某个参与业务的项目信息时,先检索区块链上是否存在对应索引;
23.如果存在,数据使用者基于区块链向数据所有者发起数据请求;否则,数据使用者基于所述区块链发起数据请求。
24.优选地,所述索引包括:主关键字、公钥信息、私钥和签名。
25.优选地,所述根据私有数据访问请求提供私有数据服务包括:
26.数据所有者提取公钥信息并确认数据使用者为合法角色后,将符合标准要求的数据利用公钥加密、私钥签名后,生成加密数据包,基于区块链进行发送。
27.优选地,所述确认数据使用者为合法角色包括:确认的数据使用者为合法使用者。
28.优选地,所述对用户进行管理包括:对加入区块链的用户角色和属性进行审核。
29.优选地,所述维护数据访问信息包括:
30.对所述区块链中的数据信息进行审核并发送数据证书并存储;
31.为所述区块链中的数据信息建立索引信息并存储;
32.存储数据使用者发起的私有数据访问请求、存储数据所有者提供的私有数据服务。
33.与现有技术相比,本发明的有益效果为:
34.1、本发明构建的共享加密存储系统基于区块链技术,保证了数据的真实性和合约执行力,实现去中心化,实现数据共享的数据管理方法;
35.2、本发明构建的共享加密存储系统,应用到业务系统中,实现企业私有数据的有效管理,私有数据被业务子系统安全共享,过程公开透明,整体流程保证数据的完整性,可确权性和可追溯性;
36.3、本发明提供的技术方案中对合法角色的判断包括数据流程合法性验证和数据使用权限验证,这种双重验证保证了数据使用的安全性,符合业务对数据更加严格的安全限定。
附图说明
37.图1为本发明的基于区块链技术构建的共享加密存储系统结构示意图;
38.图2为本发明智能合约模型结构图;
39.图3为本发明数据管理实施方法流程图;
40.图4为本发明提供的数据索引信息;
41.图5为本发明的系统运行过程。
具体实施方式
42.本发明利用区块链提供的去中心化的数据管理模式,建立管理信息系统的多个业务系统以及外部用户的联盟链,通过预先确定的认定机制建立区块链上的智能合约,自动对用户审计行为在整个审计流程中的合理性进行认定,并通过联盟链上的多方主体共识生成区块并上链,对各用户对数据的申请和处理形成数据块,进行自动认证,每一个数据块中包含了一批次的网络交互信息,能够防止私有数据被篡改或伪造、以及能够实现私有数据访问记录可追溯验证其信息的有效性。
43.由于基于区块链技术的去信任、去中心化、集体维护和可靠数据库的特性,在构建共享加密存储系统运用到管理信息系统的数据管理上,让所有相关业务系统用户参与到数据管理的全过程,使工作流程处于透明被监督的状态,各项操作也都不可篡改的记录。
44.为了更好地理解本发明,下面结合说明书附图和实例对本发明的内容做进一步的说明。
45.实施例1:
46.本发明提供一种基于区块链技术构建的共享加密存储系统,采用的区块链技术,如图1所示,由多个节点构成,节点用于连接多个业务系,主要功能包含接收业务系统的消息;完成自有数据信息的区块链生成和提交;保证通信过程安全。包括主节点和共识节点。
47.1)链上公共区:主业务系统作为公共区,通过组织用户权限系统,实现人员之间的连接,并通过认证机制,实现原有成员和新增成员的管理。(采用多票通过原则,例如新增成员到链上,需要已存在链上的人员进行确认,多数确认后,表示合法增员。同理,其他成员操作,如删除,变更权限也如此)通过维护公共记录块链,实现对数据变更过程的记录,并制定数据规范、使用规则和数据溯源。由主节点承担,主节点由链上成员选举或直接指定。
48.2)链上成员区:每个成员会保存一份公共记录区块链的备份,监督主业务流程中的区块链数据记录的正确性,同时维护自己用于共享的私有数据,由各共识节点实现。
49.其中,所述主节点通过调用存储访问接口将私有数据封装为签名的事务信息,发送给共识节点;共识节点将私有数据以预定义周期封装为事务区块,并在区块链中转发,基于共识算法在所有共识节点之中达成一致,然后写入各共识节点的本地数据库镜像,确保数据库的全局一致性;
50.各业务系统通过共识节点从私有数据数据库中查询并获取当前业务系统未处理的事务信息;共识节点也可以过滤转发到当前业务系统的已确认的事务区块消息,提取与业务系统地址匹配的消息,将其发送到业务系统;业务系统使用主节点公钥验证消息的签名,并通过当前业务系统的私钥来解密会话密钥,然后解密消息获取私有数据。
51.可选地,在发起一致性认证时,将多个共识节点的任一节点作为认证发起节点,该
节点首先获取新事务数据的哈希信息;
52.从区块链中确定各区块是否包含上述哈希信息对应的密文信息。区块链中的每个区块包括交易报文和区块元数据;交易报文中包括各新事务数据分别对应的密文信息;区块元数据中包括区块的前序区块的区块元数据哈希值;若区块链中存在哈希信息对应的密文信息,则确认新事务数据一致性认证通过。
53.其中,所述认证发起节点获取的新事务数据的哈希信息可以由业务系统的用户直接提供,也可以根据用户提供的新事务数据计算获得。而认证发起节点遍历区块链中各区块所包含的密文信息所对应的哈希信息,获得哈希值后再与接受的新事务数据的哈希信息比对。更优选地,认证发起节点预先存储所述区块链各区块中密文信息所对应的哈希信息的索引信息,认证发起节点通过索引信息查询区块链特定位置的密文信息所对应的哈希信息是否与用户提供的新事务数据的哈希信息一致。然后,从区块链中确定索引信息对应的新事务数据的密文信息;根据新事务数据的密文信息计算新事务数据的哈希信息;当新事务数据的哈希信息与新事务数据的哈希信息一致时,确定区块链中存在哈希信息对应的密文信息。
54.实施例2:
55.所述区块链上每个节点均采用智能合约方案,利用如图2所示的智能合约模型实现,具体包括:
56.基础设施层:封装了支持智能合约实现的所有基础设施,包括分布式账本、开发环境和预言机等。
57.分布式账本:智能合约的执行与交互需要依靠共识算法、通信网络等技术实现,最终执行结果将记入由全体节点共同维护的分布式账本。本发明中,利用分布式账本记录共享加密存储系统的数据内容。
58.开发环境:智能合约可看作是运行在区块链上的计算机程序,作为计算机程序,开发、部署和调试涉及到开发环境,本发明中还还承担启动节点,部署合约、调用合约等功能。
59.预言机:为保证区块链网络的安全,智能合约一般运行在隔离的沙箱执行环境中,预言机可提供可信沙箱外部数据源供合约查询外或触发合约执行。同时,为保持分布式节点的合约执行结果一致,智能合约也通过查询预言机实现随机性。本发明中,预言机是保证可信的加密存储系统的数据源。
60.合约层:封装了静态的合约数据,包括合约各方达成一致的合约条款、审计方法,代码化后的情景-应对型规则和合约创建者指定的合约与外界以及合约与合约之间的交互准则等。合约层可看作是智能合约的静态数据库,封装了所有智能合约调用、执行、通信规则。
61.运维层:封装了一系列对合约层中静态合约数据的动态操作,包括机制设计、形式验证、安全检查等。智能合约的应用通常关乎企业各部门的利益,恶意的、错误的、有漏洞的智能合约会带来巨大的损失,运维层是保证智能合约能够按照设计者意愿正确、安全、高效运行的关键。
62.表现层:封装了智能合约在本发明应用中的具体表现形式。包括去中心化应用(decentralized application,dapp)、去中心化组织(decen-tralized autonomous organization,dao);去中心化应用是基于以太坊角,定义的交易协议,根据区块链上设定
的条件来执行的一个合约或者一组合约。去中心化组织为本发明用到的基于节点的投票机制。
63.应用层:封装了智能合约在本发明应用的场景,共享加密存储系统。
64.当业务系统ru向共识节点rv请求共享私有数据时,共识节点rv首先验证业务系统的ru身份,与ru达成共识后,共识节点rv设置访问限度,然后智能合约根据共识节点rv提供的私钥将数据解密,并依据约束输出对应结果,在输出数据给ru之前,使用ru提供的公钥对数据进行加密,ru再通过本地私钥进行解密。具体如下:
65.首先ru向rv发出私有数据访问请求rqt。
66.rv接收数据(rqt‖lisc
ru
‖t),lisc
ru
为ru的身份许可证,t为时间戳;
67.节点rv验证ru身份合法,则设置针对ru的访问限度rsc,在授权访问时,将访问限度和被访问区块对应的私钥pk
bv
发送给共识节点集rtyv,此时ru接收数据:
68.e
pkrtye
(rsc‖pk
bv
‖t‖lisc
rv
)
69.lisc
rv
为rv的身份许可证,e
pkrtyv
为利用共识节点集rtye的提供的私钥进行加密的函数。
70.在共识节点集rtye验证上述信息后,开始执行智能合约,根据节点设定的访问限度,将区块链中的代码锁定,并根据提供的对称密钥来解密所共享的私有数据,使用业务系统的公钥pk
ru
对共享数据进行非对称加密,输出结果。
71.如果业务系统ru和共识节点rv在同一个网关覆盖范围内,则网关直接将数据发送给业务系统ru;否则,由当前执行智能合约的共识节点将加密结果发送到ru的邻近网关,具体表述如下:
72.rtyj=e
pkrtyj 1
(temp‖t‖lisc
rtyj
)
73.其中:
74.temp=e
pkru
(data‖lisc
rv
‖lisc
rtyj
‖t)
75.data为待共享的私有数据。
76.4)业务系统ru收到数据后,通过自身私钥解密数据,并进行共享数据的访问。
77.实施例3:
78.本发明中的用户共有3种角色,数据使用者及数据服务方为其他业务系统,数据所有者为主业务系统。
79.1)数据所有者:各个业务系统的数据,通过维护用于共享的私有数据和提供对外的数据查询服务,并按需追踪数据的使用过程。
80.2)数据使用者:业务系统通过发起数据使用需求并获得被标记的数据使用权。
81.3)数据服务方:同时服务所有者和使用者,通过记录数据流转过程,维持流转秩序,记录相关情况。
82.如图3所示,本发明另一方面提供了一种数据管理实施方法,包括:
83.第一步:业务系统进行系统实施部署,并公布系统的公钥、数据访问规则、访问内容、访问方式、数据共享的标准格式。
84.第二步:相关业务系统用户加入区块链并审核通过。
85.第三步:向业务系统发送数据证书。
86.第四步:提交数据索引信息。图4示出了数据索引信息的示例图。
87.第五步:对接受到的所有索引信息进行验证,并将验证完成的记录汇总,加入到区块中,形成区块链。
88.实施例4:
89.基于此,本发明的共享加密存储系统的运行过程如下:
90.1、当数据使用者需要使用某个参与业务的项目信息时,先检索区块链上是否存在对应索引,而不获取真正的数据内容。如存在,得到此索引全部的信息,包含信息描述、密钥信息(公钥和私钥)、签名等。本发明中私钥采用的加密算法包括:des、3des、tdea、blowfish、rc2、rc4、rc5、idea、pkipjack、aes等;公钥采用的加密算法包括:rsa、elgamal、背包算法、rabin、d-h、ecc等;
91.2、数据使用者通过业务主系统发起数据请求,数据请求包含利用hash算法生成的数据业务主关键字的hash值、密钥信息、请求需求等,如果存在对应索引则发送给需提供数据的部门,如果不存在对应索引,则发起请求等待可以数据所有者用户完成业务后再响应该请求。
92.3、数据所有者用户提取公钥信息并确认数据使用者为合法角色后(这里的合法角色包括:确认的数据使用者为合法使用者),将符合标准要求的数据利用公钥加密、私钥签名后,生成加密数据包,发送给业务主系统。
93.4、业务主系统通过提取公钥,验证合法后,利用私钥解密记录并核对是否为请求的hash值,如果是,则使用数据,形成交易记录。其过程如图5所示。图5中,block1表示分布式块;header表示主关键信息索引,body,表示信息内容,signature为签名,表示个人信息。数据使用者为该数据业务指定用户包括:根据数据业务主关键字确定项目信息,根据预先存储的该业务中参与该数据业务的用户信息列表中提取相关用户,并确定该数据请求者是否属于该相关用户,如果是则认为数据使用者为该数据业务指定用户。本发明对角色的验证包括了数据流程合法性验证和数据使用权限验证的双重验证,在保证审计流程安全的基础上保证了数据使用的安全性。
94.本发明中公钥加密、私钥签名后,生成加密数据包。
95.实施例5:
96.本发明的共享加密存储系统进一步包括数据监督过程。监督的内容包括,数据所有者用户提供数据的规范性和质量,业务系统有无恶意使用,过程中有无数据泄漏风险。优选的过程如下:
97.数据所有者首先与主节点进行交互,并获得全局认证参数。然后,数据所有者生成有限域和分布函数f。然后数据所有者初始化业务系统用户的等级结构,并为各个业务系统用户分配二维张量(ai,bi)。最后通过分布函数f对张量的运算,数据所有者计算全局认证参数中的连接矩阵。每个业务系统用户的张量bi与所对应的公开张量的乘积是其对应的加密密钥如果两个业务系统不具有等级关系,则与两者关联的张量乘积为零。如果具有等级关系,则通过上一级业务系统用户的张量能够计算获得下一级业务系统用户的加密密钥。
98.所述连接矩阵通过以下过程得到:
99.数据所有者为业务系统用户vi随机选择张量ai=(a
i,1
,a
i,2
)和bi=(b
i,1
,b
i,2
)。将所有张量ai通过分布函数f映射到一个新的张量wi。
100.数据所有者将bi转换到一个n维张量γi。γ
i,1
=b
i,1
、γ
i,2
=b
i,i
而对j≠1,i均有γ
i,j
=0;得到n维张量的集合γ1=(γ
1,1

1,2
,0,

,0);γ2=(γ
2,1

2,2
,0,

,0);γn=(γ
n,1
,0,

,0,γ
n,n
);
101.计算矩阵
[0102][0103]
判断张量γ1,γ2…
γn是否相关。如果相关,则重新选择b1,b2…bn
。否则为每个类选取一个加密密钥并计算连接矩阵a。即对每个业务系统用户vi,数据所有者随机选取自身的加密密钥
[0104]
定义和φ=[φ1,

,φn]
t
,则γ
×
a=φ;
[0105]
求解上述步骤中的方程组,得到a=γ-1
×
φ;
[0106]
数据所有者通过安全信道将((ai,bi),)发送给业务系统用户vi,并将f以及a发送给主节点。
[0107]
本发明方法能够产生以下有益效果:
[0108]
1)所有索引链上的信息都含有特定的业务系统密钥,无法导出原文,所以无泄漏风险。
[0109]
2)作业系统与数据所有者间的数据请求与响应,无第三方参与,过程无泄漏风险。
[0110]
3)数据包只有业务系统的私钥能解密,无第三方泄密风险。
[0111]
4)数据最终的使用结果生成到业务系统的交易链中,实现“留痕”,是可追溯的。
[0112]
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0113]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0114]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0115]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0116]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0117]
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。
再多了解一些

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

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

相关文献