首页> 中国专利> 一种基于权限访问机制的数据共享系统、装置及方法

一种基于权限访问机制的数据共享系统、装置及方法

摘要

本发明涉及一种基于权限访问机制的数据共享系统、装置及方法,所述数据共享系统至少包括由多个用户设备构成的区块链,数据所有者所对应的用户设备配置为基于更新发布智能合约且在所述智能合约中添加访问变量的方式赋予数据使用者所对应的用户设备不同的访问权限,从而避免在所述区块链上用户设备资格信息转移的过程中数据被窃取和泄露。通过该设置方式,利用智能合约和访问控制来实现数据共享。智能合约的更新不仅可以为数据共享场景提供更丰富的功能,而且数据所有者可以根据需要通过更新部署智能合约来实现专有功能。而且通过添加访问变量使本发明具有细粒度的访问控制,提高了可扩展性,更重要的是避免数据被窃取和泄露。

著录项

说明书

技术领域

本发明涉及信息安全技术领域,具体涉及一种基于权限访问机制的数据共享系统、装置及方法。

背景技术

数据是一种强大的资源,而数据共享能够有效利用数据为医疗、机器学习、科研、工业等诸多方面带来极大的积极效果,但是现有的基于区块链和云存储的数据共享模式还存在安全问题和共享管理问题。

例如,公开号为CN111327426A的中国专利文献公开了一种数据共享方法及相关装置、设备及系统,其中,数据共享方法包括:第一节点或第一节点的代理节点接收针对用于指示将目标数据分享给区块链网络中的n个节点的分享请求,根据至少n个节点的公钥生成第一多重签名地址,通过第一多重签名地址对目标数据进行加密,得到第一交易数据;进而,将第一交易数据上传至区块链网络,n个节点在接收到第一交易数据后分别根据包含在该至少n个节点的私钥中的至少i个私钥对第一交易数据进行解密得到目标数据。该专利提供一种公平、可监督的数据共享方式,数据共享的过程透明且公平,可以提高数据的安全性。但是,该专利提供的共享方法其加密和解密的过程会带来更多的开销,同时缺乏对共享数据的管理和扩展性。

此外,一方面由于对本领域技术人员的理解存在差异;另一方面由于发明人做出本发明时研究了大量文献和专利,但篇幅所限并未详细罗列所有的细节与内容,然而这绝非本发明不具备这些现有技术的特征,相反本发明已经具备现有技术的所有特征,而且申请人保留在背景技术中增加相关现有技术之权利。

发明内容

针对现有技术之不足,本发明提供一种基于权限访问机制的数据共享系统,至少包括由多个用户设备构成的区块链。数据所有者所对应的用户设备配置为基于更新发布智能合约且在所述智能合约中添加访问变量的方式赋予数据使用者所对应的用户设备不同的访问权限,从而避免在所述区块链上用户设备资格信息转移的过程中数据被窃取和泄露。尽管现有技术可以采用强大的加密和解密算法来为数据共享提供安全的保证,但是强大的加密和解密算法会带来更多的开销,同时缺乏对共享数据的管理和扩展性。针对共享数据的管理、扩展以及安全,必然会导致:

1、在不同的场景中使用相同的规则来强制数据共享是不切实际的;

2、不同的用户对同一数据有不同的权限。

而本发明通过更新发布智能合约且在所述智能合约中添加访问变量的方式赋予数据使用者所对应的用户设备不同的访问权限。本发明利用智能合约和访问控制来实现数据共享。智能合约的更新不仅可以为数据共享场景提供更丰富的功能,而且数据所有者可以根据需要通过更新部署智能合约来实现专有功能。而且通过添加访问变量使本发明具有细粒度的访问控制,提高了可扩展性,更重要的是避免数据被窃取和泄露。具体而言,区块链上的成员(用户设备)资格信息可以由一个实体转移到另一个实体。在传输过程中,恶意节点可能会窃取,还有另一种可能是信息泄露,即由于一个实体被欺骗而导致成员信息泄露。在这种情况下,通过在智能合约中添加访问变量的数量,如查询或修改,来克服不安全缺陷。例如,区块链上的成员(用户设备)成功部署智能合约后,数据使用者每次访问数据都会消耗访问时间,当访问次数为零时,数据使用者无法继续访问数据。此时,如果数据使用者想再次访问数据,则需要重新向数据所有者申请访问数据。

根据一种优选实施方式,所述数据所有者所对应的用户设备配置为基于所述区块链上的任一用户设备监听数据使用者所对应的用户设备的操作行为反馈的信息而动态更新所述数据使用者所对应的用户设备的访问权限。

根据一种优选实施方式,所述用户设备配置为:

将其生成的原始数据进行加密预处理生成第一数据,并基于所述第一数据分离出至少描述所述原始数据属性的第二数据。所述第二数据存储于所述区块链中。所述第一数据经过切分后以随机匹配的方式分别存储于多个云设备。

根据一种优选实施方式,所述用户设备生成的数据包括所述原始数据和身份信息数据。所述用户设备基于所述身份信息数据生成用于确定关于数据权限的身份证书。所述用户设备基于所述用户设备/数据所有者的需求信息将所述身份证书生成的权限分配信息配置于所述区块链中。

根据一种优选实施方式,所述数据使用者所对应的用户设备配置为向所述数据所有者所对应的用户设备发送请求以访问所述云设备存储的数据。在所述数据所有者所对应的用户设备批准请求的情况下,所述数据所有者所对应的用户设备向发送请求所对应的用户设备发送身份证书以申请访问所述区块链。所述区块链内的任一用户设备配置为基于申请访问的信息验证所述数据使用者所对应的用户设备的身份证书以及相应的权限信息。在所述数据使用者所对应的用户设备的身份证书合法且其请求的权限信息符合其身份证书对应的权限信息的情况下,批准所述数据使用者所对应的用户设备获取所请求访问的数据对应的第二数据。

本发明还提供一种基于权限访问机制的数据共享装置,至少包括用户设备。所述用户设备配置为基于至少一个数据使用者所对应的用户设备的访问请求而组建用于数据共享的区块链。所述用户设备配置为基于更新发布智能合约且在所述智能合约中添加访问变量的方式赋予数据使用者所对应的用户设备不同的访问权限,从而避免在所述区块链上成员资格信息转移的过程中数据被窃取和泄露。

本发明还提供一种基于权限访问机制的数据共享装置,至少包括用户设备。所述用户设备配置为基于至少一个数据使用者所对应的用户设备的访问请求而组建用于数据共享的区块链。数据所有者所对应的用户设备配置为基于所述区块链上的任一用户设备监听数据使用者所对应的用户设备的操作行为反馈的信息而动态更新数据使用者所对应的用户设备的访问权限。

本发明还提供一种基于权限访问机制的数据共享系统,至少包括由多个用户设备构成的区块链。用户设备配置为基于智能合约赋予数据使用者所对应的用户设备不同的访问权限。所述智能合约配置为基于所述区块链上的任一用户设备监听数据使用者所对应的用户设备的操作行为反馈的信息而动态更新数据使用者所对应的用户设备的访问权限。

根据一种优选实施方式,所述智能合约配置为基于数据使用者所对应的用户设备被记录在所述区块链上的操作行为而更新该用户设备的信誉度。所述智能合约配置为基于所述信誉度更新该用户设备的访问权限。

本发明还提供一种基于权限访问机制的数据共享方法,所述数据共享方法包括:

数据所有者对应的用户设备基于至少一个数据使用者所对应的用户设备的访问请求而组建用于数据共享的区块链;

基于更新发布智能合约且在所述智能合约中添加访问变量的方式赋予数据使用者所对应的用户设备不同的访问权限,从而避免在所述区块链上用户设备资格信息转移的过程中数据被窃取和泄露。

附图说明

图1是本发明数据共享系统的一种优选实施方式的模块示意图;

图2是本发明数据共享系统的一种优选实施方式的模块示意图;

图3是本发明数据共享装置的一种优选实施方式的模块示意图;

图4是本发明第一数据和第二数据的优选存储方式的模块示意图;

图5是本发明数据共享系统的数据共享的一个优选实施方式的示意图;

图6是本发明智能合约与用户设备信息交互的一个优选实施方式的示意图;

图7是本发明数据共享方法的一种优选实施方式的步骤流程示意图。

附图标记列表

10:数据层 20:提取层 30:处理层

40:存储层 50:控制层 60:应用层

70:数据所有者 80:数据使用者 11:个人

12:多个个人 13:企业 14:多个企业

15:证书颁发机构 31:数据切片 32:权限分配

51:数据重组 52:身份验证 53:访问控制

61:学校 62:医院 63:公司

64:研究机构 65:制造商 100:用户设备

200:区块链 300:云设备 400:智能合约

120:原始数据 111:身份证书 121:第一数据

122:第二数据 500:加密 600:解密

401:更新 402:调整 403:反馈

404:控制 405:控制策略 406:操作行为

407:操作记录 408:信誉度 409:更新完成

410:注册 411:注册完成 412:安装

413:安装完成 414:交易 415:交易信息

416:发布 417:发布完成

具体实施方式

下面结合附图1至7进行详细说明。

优选地,用户设备100可以是计算机设备,例如移动计算设备、笔记本、平板电脑、手机。用户设备100还可以是智能穿戴设备,例如智能手表、智能眼镜等。

优选地,用户设备100可以包括处理器和存储装置。存储装置用于存储处理器发出的指令。处理器被配置为执行存储装置存储的指令。优选地,可以在用户设备100外单独设置存储装置。处理器可以是中央处理器(CentralProcessing Unit,CPU),通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application-SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。

优选地,用户设备100可以承载有操作系统,例如Linux系统、Android系统、IOS操作系统等。

优选地,用户设备100可以通过有线或者无线的方式接入互联网、物联网、移动网络等异构网络。异构网络内包括多个无线接入网络。不同的无线接入网络可能使用不同的通信路径进行传输。而且相同的无线接入技术可能使用不同的通信路径进行通信。异构网络还包括有线网络,可以通过有线网络接口接入互联网。有线网络接口可以是以太网的RJ-45接口、细同轴电缆的BNC接口、粗同轴电缆AUI接口、FDDI接口、ATM接口等。

优选地,存储装置可以是磁盘、硬盘、光盘、移动硬盘、固态硬盘、闪存等。

优选地,区块链200可以是由多个用户设备100构建的。优选地,区块链200可以包括数据所有者70的用户设备100和数据使用者80的用户设备100。区块链200可以是公有链,还可以是许可链。许可链可以是联盟链。

优选地,云设备300可以是远程服务器,还可以是云服务器。优选地,云设备300可以用于云计算以及云存储。

区块链技术描述了一种链状的数据结构。它使用哈希算法的单向性来确保历史数据不易更改。对历史数据的任何更改都会影响当前哈希值。因此,它可以通过前一个块的哈希值来追溯到任何一个历史块,并且可以保证历史数据的真实性和完整性。

元数据(Meta data):是指从信息资源中抽取出来的用于说明其特征、内容的结构化的数据,用于组织、描述、检索、保存、管理信息和知识资源。需要说明的是本发明第二数据122可以是元数据。第二数据122至少包括数据的哈希值、数据的存储地址和加密秘钥。

实施例1

如图1所示,本实施例提供一种基于权限访问机制的数据共享系统。数据共享系统至少包括由多个用户设备100构成的区块链200。数据所有者70所对应的用户设备100配置为基于更新发布智能合约400且在智能合约400中添加访问变量的方式赋予数据使用者80所对应的用户设备100不同的访问权限,从而避免在区块链200上用户设备100资格信息转移的过程中数据被窃取和泄露。尽管现有技术可以采用强大的加密和解密算法来为数据共享提供安全的保证,但是强大的加密和解密算法会带来更多的开销,同时缺乏对共享数据的管理和扩展性。针对共享数据的管理、扩展以及安全,必然会导致:

1、在不同的场景中使用相同的规则来强制数据共享是不切实际的;

2、不同的用户对同一数据有不同的权限。

而本发明通过更新发布智能合约400且在智能合约400中添加访问变量的方式赋予数据使用者80所对应的用户设备100不同的访问权限。本发明利用智能合约400和访问控制来实现数据共享。智能合约400的更新不仅可以为数据共享场景提供更丰富的功能,而且数据所有者70可以根据需要通过更新部署智能合约400来实现专有功能。而且通过添加访问变量使本发明具有细粒度的访问控制,提高了可扩展性,更重要的是避免数据被窃取和泄露。具体而言,区块链200上的成员(用户设备100)资格信息可以由一个实体转移到另一个实体。需要说明的是,实体可以是个人,也可以是企业。优选地,实体如果具体到具体的硬件,即为使用所使用的设备。在传输过程中,恶意节点(设备)可能会窃取,还有另一种可能是信息泄露,即由于一个实体被欺骗而导致成员信息泄露。在这种情况下,通过在智能合约400中添加访问变量的数量,如查询或修改,来克服不安全缺陷。例如,区块链200上的成员(用户设备100)成功部署智能合约400后,数据使用者80每次访问数据都会消耗访问时间,当访问次数为零时,数据使用者80无法继续访问数据。此时,如果数据使用者80想再次访问数据,则需要重新向数据所有70申请访问数据。

优选地,数据所有者70所对应的用户设备100配置为基于区块链200上的任一用户设备100监听数据使用者80所对应的用户设备100的操作行为反馈的信息而动态更新数据使用者80所对应的用户设备100的访问权限。优选地,数据所有者70所对应的用户设备100通过智能合约400来动态更新数据使用者80所对应的用户设备100的访问权限。如图3所示,智能合约400通过数据使用者80的操作行为416来动态调整402控制策略405,进而更新数据使用者80所对应的用户设备100的访问权限。具体而言,智能合约400在区块链200上编程和部署。区块链200上的节点负责监听数据使用者80的访问请求。优选地,区块链200上的节点是由数据所有者70所授权的用户设备100。授权包括赋予该用户设备100对数据的权限。对数据的权限包括查询、下载、修改等。优选地,区块链200上的节点通过智能合约400上的控制策略405控制404数据使用者80的操作行为406。优选地,当数据使用者80的操作行为406带来的区块链200上的网络行为的变化反馈403给智能合约400。智能合约400基于该反馈403的信息自适应调整402控制策略405。优选地,可以通过自适应算法来调整控制策略405,进而改变数据使用者80的权限。优选地,自适应算法的思想可以是针对具体的数据权限,如操作权限,设置时间与操作阈值。短时间内的过阈值操作被记录为一种潜在的攻击行为。例如,可以在单位时间内设置操作的阈值次数来构建自适应算法。优选地,数据所有者70可以设置10分钟内数据使用者80访问的次数不能超过3次。如果数据使用者80在10分钟内访问次数超过3次,那么该数据使用者80的操作方式被视为一种潜在的攻击行为。智能合约400可以记录该数据使用者80的操作行为,并解除该数据使用者80的访问资格,同时在该数据使用者80再次申请访问时,调低其数据权限。优选地,智能合约400基于反馈的信息同时更新数据使用者80的操作记录407和信誉度408。操作记录407可以是记录在区块链200上的历史日志。优选地,信誉度408可以参与自适应算法,作为修改数据使用者80权限的变量。通过该设置方式,达到的有益效果是:

随着加入区块链200的实体的增多,当一条数据需要与多个实体共享时,为了保证数据的细粒度访问,数据所有者70往往需要根据需要多次更新智能合约400。即使进行一些小的更改,数据所有者70也需要重新部署智能合约400。因此,数据所有者70更改智能合约400的时间和经济成本将显著增加。另一方面,数据所有者70不能保证他们总是在线的。如果数据所有者70尚未处理数据访问请求,请求访问的实体将无法继续下一步操作。这种情况会导致数据使用者等待很长时间,造成时间成本的巨大浪费。而本发明基于智能合约400自适应地更新数据使用者80的权限,能够使区块链200能够自主调节访问,即智能合约400根据自适应算法动态调整访问控制策略,维护或更新实体的访问权限,从而不需要过度的人为干预,进而节省成本。而且,系统将数据所有者70发布的关于数据使用者80的操作行为406记录在区块链200的历史日志中,没有人可以篡改区块链200上记录的历史行为。同时,系统更新当前的信誉度408,可以将信誉度408参与自调整算法的计算过程,直接影响修改数据使用者80权限的结果。通过上述设置,数据共享的网络可以根据网络,即区块链200上的实时变化动态调整各实体(数据使用者80)对数据的访问权限。

优选地,如图6所示,本发明智能合约400与用户设备100信息交互通过智能合约400的发布、用户设备100对智能合约400的安装完成。优选地,数据所有者70首先发布416一个智能合约400。优选地,智能合约400是超级账本结构的中的链码。发布成功后,智能合约400返回发布完成417的信息至数据所有者70。数据使用者80收到关于智能合约400的注册410信息,数据使用者80注册410成功后向智能合约400发送注册完成411信息,表面注册成功。注册成功后,数据使用者80下载智能合约400并安装412。智能合约400向数据使用者80发送安装完成413信息。数据使用者80安装完成后可以向智能合约400发送交易414信息,如果满足智能合约400中的访问控制策略405,则数据使用者80可以接收到智能合约400发送的交易信息415。如果智能合约400更新401,数据所有者70需要发布更新401的智能合约,发布成功后,智能合约400返回更新完成09的信息至数据所有者70。优选地,数据使用者80需要下载并安装新版的智能合约。

根据一种优选实施方式,用户设备100配置为:

将其生成的原始数据120进行加密预处理生成第一数据121,并基于第一数据121分离出至少描述原始数据120属性的第二数据122。第二数据122存储于区块链200中。第一数据121经过切分后以随机匹配的方式分别存储于多个云设备300。优选地,用户设备100配置为基于智能合约400添加访问变量的方式以使得在区块链200中的至少包括第二数据122的键数据被安全读取。优选地,键数据可以是数据所有者70关心的核心数据,例如第二数据122、区块链200上其他成员的操作记录、区块链200上成员的资格信息、区块链200上成员的权限分配信息等。优选地,键数据可以通过key-value的形式存储于区块链200中,从而方便数据所有者70的查询。通过该设置方式,本发明到的有益效果是:

现有技术采用将元数据存储在区块链,并将数据内容存储在云设备300中。这种设置方式,一方面仅考虑到将元数据存储在区块链200中实现去中心化,可以避免单节点故障导致数据丢失、数据易遭受篡改、对元数据篡改成本低等安全隐患,从而提高安全性。但是,没有考虑到分离元数据后的数据内容存储在云设备300中也有中心化带来的安全隐患。另一方面,现有技术通过不允许用户修改甚至删除保存在区块链200中的元数据来提高安全性,但是没有考虑到访问元数据的过程中可能出现安全问题,即区块链200上的成员资格信息可以由一个实体转移到另一个实体,在转移的过程中,恶意节点可能会窃取,也有可能实体被欺骗而导致成员信息泄露,因此仅通过元数据在区块链200上的只读状态也可能导致元数据被不安全地读取。本发明将第一数据121经过切分后以随机匹配的方式分别存储于多个云设备300。通过该设置方式,能够在数据内容存储在云设备300的一侧同样实现去中心化,进而降低用户存储数据的安全风险。而用户设备100配置为基于智能合约400添加访问变量的方式以使得在区块链200中的至少包括第二数据122的键数据被安全读取。通过该设置方式能够避免因为区块链200上成员资格信息的窃取和泄露导致存储在区块链200上的第二数据122被不安全地访问,进而导致用户存储的数据被窃取。例如,在智能合约400中添加访问时间,数据访问者(实体)每次访问数据都会消耗访问时间。当访问次数为零时,实体无法继续访问数据。如果此实体想要再次访问,那么需要重新向数据所有者申请访问数据。

优选地,本发明的数据切片31的随机匹配方式可以采用现有公开的多种算法。优选地,随机匹配算法可以是随机游走(Random Walk)、数值概率算法、蒙特卡洛算法、拉斯维加斯算法、舍伍德算法等。例如,随机游走算法构建了若干个随机游走器(random walker)。随机游走器从某个节点初始化,之后在每一步随机游走中,随机地访问当前节点的某个邻接节点。

优选地,如图4所示,原始数据120生成的第一数据121存储在云设备300中。通过该设置方式,将第二数据122存储在区块链中,利用区块链200的可追溯性和不可改变的特性,所有在区块链200上发生的键数据的历史操作信息都会被记录下来,任何人都不能更改。这在很大程度上保证了第二数据122的安全性。

根据一种优选实施方式,用户设备100生成的数据包括原始数据120和身份信息数据。用户设备100基于身份信息数据生成用于确定关于数据权限的身份证书111。优选地,关于数据权限可以是关于数据的访问权限和操作权限。访问权限可以是数据使用者80能否访问该数据。操作权限是在数据使用者80能够访问该数据后是否能够进行查询、下载、修改等操作。用户设备100基于用户设备100/数据所有者70的需求信息将身份证书111生成的权限分配信息配置于区块链200中。

优选地,基于第一数据121分离的第二数据122存储在区块链200中。用户设备100配置为基于区块链200中记录的键数据的信息以定位和监控数据。通过该设置方式,现有的存储方案中均是利用区块链200的特性来保证数据的安全,然而基于记录键数据的信息还能够实现数据的追踪和定位,进而能够快速找到数据和监控数据的流向。

优选地,如图5所示,用户设备100配置为按照如下方式将其生成的原始数据120进行加密预处理生成第一数据121:

基于用户设备100/数据所有者70的私钥对原始数据120进行签名;

基于签名后的原始数据120进行加密500以生成第一数据121。

优选地,加密算法可以选择对称加密算法和非对称加密算法。优选地,本实施例可以采用对称加密算法。通过该设置方式,对称加密算法具有效率高和强度高的特点,与其他加密方法相比,对称加密更适合于存储量小、计算能力小的个人设备。

根据一种优选实施方式,用户设备100配置为基于第一数据121进行切分生成多个数据切片31。数据切片31至少包括用于标识是否属于同一原始数据120的第一数据切片部段和第二数据切片部段。多个数据切片31的第二数据切片部段彼此之间不包含相同的数据。优选地,第二数据切片部段包含的数据是唯一的。不同的第二数据切片部段之间不存在相同的数据。优选地,区块链200中有专门提供数据存储服务的节点。当其存储资源被网络中的数据所有者70使用时,他们将通过激励机制获得数据所有者70支付的奖励。

根据一种优选实施方式,用户设备100生成的数据包括原始数据120和身份信息数据。用户设备100基于身份信息数据生成用于确定关于数据权限的身份证书111。用户设备100基于用户设备100/数据所有者70的需求信息将身份证书111生成的权限分配信息配置于区块链200中,从而实现记录在区块链200上的至少包括第二数据122信息的键数据的控制。通过该设置方式,通过权限分配信息,可以知道数据使用者80对数据的操作权限。

优选地,如图5所示,数据使用者80所对应的用户设备100配置为向数据所有者70所对应的用户设备100发送请求以访问云设备300存储的数据。在数据所有者70所对应的用户设备100批准请求的情况下,数据所有者70所对应的用户设备100向发送请求所对应的用户设备100发送身份证书111以申请访问区块链200。区块链200内的任一用户设备100配置为基于申请访问的信息验证数据使用者80所对应的用户设备100的身份证书111以及相应的权限信息,并在数据使用者80所对应的用户设备100的身份证书111合法且其请求的权限信息符合其身份证书111对应的权限信息的情况下,批准数据使用者80所对应的用户设备100获取所请求访问的数据对应的第二数据122。优选地,在数据使用者80所对应的用户设备100获取第二数据122后,可以从云设备300中下载加密后的第一数据121。优选地,数据使用者80所对应的用户设备100可以从第二数据122中的解密秘钥对第一数据121进行解密600,从而获得完整的原始数据120。

实施例2

本实施例是对实施例1进一步的改进/补充,重复的内容不再赘述。

本实施例还提供一种基于权限访问机制的数据共享装置,至少包括用户设备100。用户设备100配置为基于至少一个数据使用者80所对应的用户设备100的访问请求而组建用于数据共享的区块链200。用户设备100配置为基于更新发布智能合约400且在智能合约400中添加访问变量的方式赋予数据使用者80所对应的用户设备100不同的访问权限,从而避免在区块链200上成员资格信息转移的过程中数据被窃取和泄露。

优选地,该数据共享装置可以应用至实施例1的数据共享系统中。优选地,本实施例的用户设备100与实施例1的用户设备100相同,重复的内容不再赘述。

实施例3

本实施例是对实施例1、2及其结合的进一步的改进/补充,重复的内容不再赘述。

如图3所示,本实施例还提供一种基于权限访问机制的数据共享装置。该数据共享装置至少包括用户设备100。用户设备100配置为基于至少一个数据使用者80所对应的用户设备100的访问请求而组建用于数据共享的区块链200。数据所有者70所对应的用户设备100配置为基于区块链200上的任一用户设备100监听数据使用者80所对应的用户设备100的操作行为反馈的信息而动态更新数据使用者80所对应的用户设备100的访问权限。

如图3所示,智能合约400通过数据使用者80的操作行为416来动态调整402控制策略405,进而更新数据使用者80所对应的用户设备100的访问权限。具体而言,智能合约400在区块链200上编程和部署。区块链200上的节点负责监听数据使用者80的访问请求。优选地,区块链200上的节点是由数据所有者70所授权的用户设备100。授权包括赋予该用户设备100对数据的权限。对数据的权限包括查询、下载、修改等。优选地,区块链200上的节点通过智能合约400上的控制策略405控制404数据使用者80的操作行为406。优选地,当数据使用者80的操作行为406带来的区块链200上的网络行为的变化反馈403给智能合约400。智能合约400基于该反馈403的信息自适应调整402控制策略405。优选地,可以通过自适应算法来调整控制策略405,进而改变数据使用者80的权限。优选地,自适应算法的思想可以是针对具体的数据权限,如操作权限,设置时间与操作阈值。短时间内的过阈值操作被记录为一种潜在的攻击行为。例如,可以在单位时间内设置操作的阈值次数来构建自适应算法。优选地,数据所有者70可以设置10分钟内数据使用者80访问的次数不能超过3次。如果数据使用者80在10分钟内访问次数超过3次,那么该数据使用者80的操作方式被视为一种潜在的攻击行为。智能合约400可以记录该数据使用者80的操作行为,并解除该数据使用者80的访问资格,同时在该数据使用者80再次申请访问时,调低其数据权限。优选地,智能合约400基于反馈的信息同时更新数据使用者80的操作记录407和信誉度408。操作记录407可以是记录在区块链200上的历史日志。优选地,信誉度408可以参与自适应算法,作为修改数据使用者80权限的变量。通过该设置方式,达到的有益效果是:

随着加入区块链200的实体的增多,当一条数据需要与多个实体共享时,为了保证数据的细粒度访问,数据所有者70往往需要根据需要多次更新智能合约400。即使进行一些小的更改,数据所有者70也需要重新部署智能合约400。因此,数据所有者70更改智能合约400的时间和经济成本将显著增加。另一方面,数据所有者70不能保证他们总是在线的。如果数据所有者70尚未处理数据访问请求,请求访问的实体将无法继续下一步操作。这种情况会导致数据使用者等待很长时间,造成时间成本的巨大浪费。而本发明基于智能合约400自适应地更新数据使用者80的权限,能够使区块链200能够自主调节访问,即智能合约400根据自适应算法动态调整访问控制策略,维护或更新实体的访问权限,从而不需要过度的人为干预,进而节省成本。而且,系统将数据所有者70发布的关于数据使用者80的操作行为406记录在区块链200的历史日志中,没有人可以篡改区块链200上记录的历史行为。同时,系统更新当前的信誉度408,可以将信誉度408参与自调整算法的计算过程,直接影响修改数据使用者80权限的结果。通过上述设置,数据共享的网络可以根据网络,即区块链200上的实时变化动态调整各实体(数据使用者80)对数据的访问权限。

优选地,该数据共享装置可以应用至实施例1和2的数据共享系统中。优选地,本实施例的用户设备100与实施例1和2的用户设备100相同,重复的内容不再赘述。

实施例4

本实施例是对实施例1、2、3及其结合的进一步的改进/补充,重复的内容不再赘述。

本实施例还提供一种基于权限访问机制的数据共享系统,至少包括由多个用户设备100构成的区块链200。用户设备100配置为基于智能合约400赋予数据使用者80所对应的用户设备100不同的访问权限。智能合约400配置为基于区块链200上的任一用户设备100监听数据使用者80所对应的用户设备100的操作行为反馈的信息而动态更新数据使用者80所对应的用户设备100的访问权限。

根据一种优选实施方式,智能合约400配置为基于数据使用者80所对应的用户设备100被记录在区块链200上的操作行为而更新该用户设备100的信誉度。智能合约400配置为基于信誉度更新该用户设备100的访问权限。

优选地,本实施例的数据共享系统的各个部件,如用户设备100、区块链200、云设备300等于实施例1、2和3相对应的部件实现的功能相同,重复的内容不再赘述。

实施例5

本实施例是对实施例1、2、3、4及其结合的改进和补充,重复的内容不再赘述。如图2所示,本发明还提供一种数据共享系统。数据共享系统至少包括:数据层10、提取层20、处理层30、存储层40、控制层50和应用层60。

优选地,数据层10生成需要存储的数据。生成数据的实体可以是个人11和/或企业13。生成数据的实体可以是多个个人12,也可以是多个企业14。优选地,如果数据所有者70是一个单一实体,那么他不仅拥有数据的所有权,还拥有数据管理权和收益权。优选地,如果许多实体作为数据所有者70一起工作,除了所有权之外,多个实体还将拥有使用数据的权利。优选地,作为数据的共有者,实体之间可能存在对等关系或不平等关系。对等关系意味着任何实体都位于同一位置。实体不能更改其他人管理数据和数据收入的权限。如果实体处于不平等的关系中,不同的实体获得不同级别的管理权和收益权。根据实体生成的数据的价值权重和实体在数据共享过程中的贡献大小分配的相应级别的权限。优选地,证书颁发机构15用于可以代表数据所有者70生成身份证明。优选地,证书颁发机构15可以是数据所有者70。

优选地,提取层20将数据层10生成的数据分为两部分。一部分是原始数据120,另一部分是身份信息数据。优选地,原始数据120可以是实体/用户设备100想要共享的数据。原始数据120也可以是从物联网场景中每个实体持有的所有电子设备收集的数据。

优选地,提取层20对原始数据120进行预处理。预处理可以是加密预处理。如图4所示,原始数据120由数据所有者70的私钥进行签名。然后将签名的数据加密为密文。身份信息数据是实体用来生成身份证书111的数据。优选地,身份证书111反映了实体对数据的相应权限。优选地,该权限是唯一的。优选地,当多个实体或用户设备100作为数据所有者70,并且这些实体或用户设备100处于对等关系中时,这些实体或用户设备100具有相同的权限,但不同实体或用户设备100的身份信息仍然存在差异。

优选地,处理层30,用于将第一数据121进行分组以生成多个数据切片31,并基于第一数据121分离出至少描述原始数据120属性的第二数据122。用户设备100配置为基于第一数据121进行切分生成多个数据切片31。数据切片31至少包括用于标识是否属于同一原始数据120的第一数据切片部段和第二数据切片部段。多个数据切片31的第二数据切片部段彼此之间不包含相同的数据。优选地,第二数据切片部段包含的数据是唯一的。不同的第二数据切片部段之间不存在相同的数据。

优选地,处理层30还生成相应的权限分配信息,并根据数据所有者70的需要在区块链200上进行配置,以控制记录在区块链200上的键数据。

优选地,存储层40用于将第二数据122存储于由多个用户设备100构建的区块链200中以及将多个数据切片31随机存储于多个云设备300。

通过该设置方式,由于多个数据切片31组成的数据量是巨大的。如果存储在区块链200中,会造成大量的数据冗余。因此,将每一数据切片31存储在云设备300中,利用云设备300的容量和性能优势,可以更经济、方便地使用数据。

优选地,存储数据的任务并不是在单个云设备300中完成的,而是在多个云设备300中分别存储的。优选地,许多云设备300是自主的,不会相互干扰。不同的数据切片31按照匹配算法随机分布并存储在云服务器中。优选地,需要指出的是,提取的键数据记录在区块链200数据库中。处理层30生成的权限分配32在区块链200上进行配置。通过该设置方式,利用区块链的可追溯性和不可改变的特性,所有在区块链200上发生的键数据的历史操作信息都会被记录下来,任何人都不能更改。这在很大程度上保证了数据所有者对共享数据的控制。优选地,智能合约400可以根据合约中制定的规则自动执行,具有自动执行和自我验证的特点。当数据使用策略被部署在包含区块链200控制的智能网络中时,确保可以使用包含数据使用限制的智能网络。

优选地,在存储层40和应用层60之间是控制层50。控制层50处理连接数据存储设备和访问数据的实体。优选地,控制层50配置为:

在确定访问云设备300的用户设备100的身份证书111合法的情况下调用区块链200中的智能合约400查询与身份证书111对应的权限信息;基于权限信息与访问云设备300所请求的权限信息进行比较。优选地,若确定访问云设备300的用户设备100请求的权限信息符合其身份证书111对应的权限信息,则访问云设备300的用户设备100至少能够获取所请求访问的数据对应的第二数据122。优选地,访问云设备300的用户设备100基于第二数据122从云设备300获取第一数据121。优选地,控制层50主要实现的是数据重组51、身份验证52和访问控制53。优选地,数据使用者80首先通过身份验证52访问区块链200。在确定数据使用者80是合法用户后,数据使用者80通过调用智能合约400查询与身份对应的访问控权限。优选地,智能合约400将实体权限与操作所需的权限进行比较。如果数据使用者80的身份符合所需的访问权限要求,则可以从区块链200中查询所需访问数据对应的键数据。优选地,数据使用者80基于键数据中的第二数据122从云设备300下载相应的数据切片31,并根据查询获得的第二数据122进行数据重组51。优选地,数据使用者80利用第二数据122的密钥对数据重组51后的数据进行解密,得到原始数据120。

优选地,应用层60用于为不同的实体提供服务,并满足数据使用者70的需求。为不同的访问实体建立目标函数。应用层中的每个实体都充当数据的接收器。实体可以是个人11或公共机构,如学校61、医院62、公司63、科研机构64或者制造商65。公共机构需要进行实名身份认证,并在区块链200上注册身份信息数据,以便于后续部门对数据共享过程中的违法行为追究责任。

实施例6

本实施例还提供一种基于权限访问机制的数据共享方法,数据共享方法包括:

数据所有者70对应的用户设备100基于至少一个数据使用者80所对应的用户设备100的访问请求而组建用于数据共享的区块链200;

基于更新发布智能合约400且在智能合约400中添加访问变量的方式赋予数据使用者80所对应的用户设备100不同的访问权限,从而避免在区块链200上用户设备100资格信息转移的过程中数据被窃取和泄露。

优选地,本实施例提供的数据共享方法可以按照如图7所示的步骤流程图进行实施。步骤包括:

S100:将用户设备100需要存储的数据进行加密预处理生成第一数据121,并基于第一数据121分离出至少描述原始数据120属性的第二数据122。如图5所示,用户设备100配置为按照如下方式将其生成的原始数据120进行加密预处理生成第一数据121:

基于用户设备100/数据所有者70的私钥对原始数据120进行签名;

基于签名后的原始数据120进行加密500以生成第一数据121。

优选地,加密算法可以选择对称加密算法和非对称加密算法。优选地,本实施例可以采用对称加密算法。通过该设置方式,对称加密算法具有效率高和强度高的特点,与其他加密方法相比,对称加密更适合于存储量小、计算能力小的个人设备。

S200:第二数据122存储于包括该用户设备100的区块链200中,第一数据121经过切分后以随机匹配的方式分别存储于多个云设备300。通过该设置方式,本发明到的有益效果是:

现有技术采用将元数据存储在区块链,并将数据内容存储在云设备300中。这种设置方式,一方面仅考虑到将元数据存储在区块链200中实现去中心化,可以避免单节点故障导致数据丢失、数据易遭受篡改、对元数据篡改成本低等安全隐患,从而提高安全性。但是,没有考虑到分离元数据后的数据内容存储在云设备300中也有中心化带来的安全隐患。另一方面,现有技术通过不允许用户修改甚至删除保存在区块链200中的元数据来提高安全性,但是没有考虑到访问元数据的过程中可能出现安全问题,即区块链200上的成员资格信息可以由一个实体转移到另一个实体,在转移的过程中,恶意节点可能会窃取,也有可能实体被欺骗而导致成员信息泄露,因此仅通过元数据在区块链200上的只读状态也可能导致元数据被不安全地读取。本发明将第一数据121经过切分后以随机匹配的方式分别存储于多个云设备300。通过该设置方式,能够在数据内容存储在云设备300的一侧同样实现去中心化,进而降低用户存储数据的安全风险。而用户设备100配置为基于智能合约400添加访问变量的方式以使得在区块链200中的至少包括第二数据122的键数据被安全读取。通过该设置方式能够避免因为区块链200上成员资格信息的窃取和泄露导致存储在区块链200上的第二数据122被不安全地访问,进而导致用户存储的数据被窃取。例如,在智能合约400中添加访问时间,数据访问者(实体)每次访问数据都会消耗访问时间。当访问次数为零时,实体无法继续访问数据。如果此实体想要再次访问,那么需要重新向数据所有者申请访问数据。

根据一种优选实施方式,用户设备100配置为基于第一数据121进行切分生成多个数据切片31。数据切片31至少包括用于标识是否属于同一原始数据120的第一数据切片部段和第二数据切片部段。多个数据切片31的第二数据切片部段彼此之间不包含相同的数据。优选地,第二数据切片部段包含的数据是唯一的。不同的第二数据切片部段之间不存在相同的数据。

S300:数据使用者80所对应的用户设备100配置为向数据所有者70所对应的用户设备100发送请求以访问云设备300存储的数据。在数据所有者70所对应的用户设备100批准请求的情况下,数据所有者70所对应的用户设备100向发送请求所对应的用户设备100发送身份证书111以申请访问区块链200。区块链200内的任一用户设备100配置为基于申请访问的信息验证数据使用者80所对应的用户设备100的身份证书111以及相应的权限信息,并在数据使用者80所对应的用户设备100的身份证书111合法且其请求的权限信息符合其身份证书111对应的权限信息的情况下,批准数据使用者80所对应的用户设备100获取所请求访问的数据对应的第二数据122。优选地,在数据使用者80所对应的用户设备100获取第二数据122后,可以从云设备300中下载加密后的第一数据121。优选地,数据使用者80所对应的用户设备100可以从第二数据122中的解密秘钥对第一数据121进行解密600,从而获得完整的原始数据120。

根据一种优选实施方式,用户设备100生成的数据包括原始数据120和身份信息数据。用户设备100基于身份信息数据生成用于确定关于数据权限的身份证书111。用户设备100基于用户设备100/数据所有者70的需求信息将身份证书111生成的权限分配信息配置于区块链200中,从而实现记录在区块链200上的至少包括第二数据122信息的键数据的控制。通过该设置方式,通过权限分配信息,可以知道数据使用者80对数据的操作权限。

S400:数据所有者70对应的用户设备100配置为:

通过更新其在区块链200发布的智能合约400以及使得数据使用者80对应的用户设备100通过区块链200下载安装更新的智能合约400的方式实现细粒度访问控制以提高扩展性。优选地,数据所有者70对应的用户设备100配置为在智能合约400设置的过程中添加访问变量以避免区块链200上成员资格信息在转移的过程中被窃取和泄露。优选地,为数据使用者80对应的用户设备100分配访问时间,并在访问时间消耗为零时,解除数据使用者80对应的用户设备100的访问资格。数据使用者80对应的用户设备100重新向数据所有者70对应的用户设备100申请访问以获取访问资格。通过该设置方式,如果想要保证数据的安全和数据使用的扩展性,需要对针对数据使用者80的权限进行管理,至少需要不同的用户对同一个数据设置不同的权限,而且在不同的应用场景中应该采用不同的规则来获取数据。智能合约400的更新不仅可以为数据共享场景提供更丰富的功能,而且数据所有者70可以根据需要通过更新部署智能合约400来实现专有功能。而且通过添加访问变量使本发明具有细粒度的访问控制,提高了可扩展性,更重要的是通过访问变量的设置,例如访问时间的设置能够避免区块链成员资格信息转移的过程,第二数据122被恶意节点被窃取和或者被泄露。

优选地,随着加入区块链200的实体的增多,当一条数据需要与多个实体共享时,为了保证数据的细粒度访问,数据所有者70往往需要根据需要多次更新智能合约400。即使进行一些小的更改,数据所有者70也需要重新部署智能合约400。因此,数据所有者470更改智能合约400的时间和经济成本将显著增加。另一方面,数据所有者70不能保证他们总是在线的。如果数据所有者70尚未处理数据访问请求,请求访问的实体将无法继续下一步操作。这种情况会导致数据使用者等待很长时间,造成时间成本的巨大浪费。优选地,智能合约400还可以配置为基于区块链200上的任一用户设备100监听数据使用者80所对应的用户设备100的操作行为反馈的信息而动态更新数据使用者80所对应的用户设备100的访问权限。通过该设置方式,利用智能合约400可以在某些条件被触发时自动执行一个书面程序代码来响应这一事实,从而使区块链200能够自主调节访问,即智能合约400根据自适应算法动态调整访问控制策略,维护或更新实体的访问权限,从而不需要过度的人为干预,进而节省成本。

本发明说明书包含多项发明构思,申请人保留根据每项发明构思提出分案申请的权利。本发明说明书包含多项发明构思,诸如“优选地”、“根据一个优选实施方式”或“可选地”均表示相应段落公开了一个独立的构思,申请人保留根据每项发明构思提出分案申请的权利。

需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开内容的启发下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号