本公开提供一种基于区块链的数据文件的访问控制方法、介质及装置,包括:响应于来自请求者的对数据文件的访问请求,查询区块链中存储的访问控制表,以验证该访问请求是否被授权;在验证为该请求者的访问请求被授权的情况下,查询区块链中存储的拒绝服务信息表,以验证该请求者的访问请求是否合法;以及在验证为该请求者的访问请求合法的情况下,向该请求者提供所请求的数据文件。提供所请求的数据文件。提供所请求的数据文件。
【技术实现步骤摘要】
基于区块链的数据文件的访问控制方法、介质及装置
[0001]本公开涉及云计算与物联网领域,具体而言涉及一种基于区块链的数据文件的访问控制方法、介质及装置。
技术介绍
[0002]随着通信技术的发展,用户数据不断增加,数据的共享与融合也成为趋势。然而,共享和查询数据所带来的安全和隐私风险是云存储面临的最大挑战。在保证授权的用户可以合法访问的同时能够保证数据的安全性、保密性和完整性就显得尤为重要。常用的访问控制模型(诸如,自主访问控制模型(DAC)、基于角色的访问控制模型(RBAC)、基于属性的访问控制模型(ABAC)、基于权力的访问控制模型(CaBAC)等)是通过一个中心化的访问路径,如果单点被劫持,将遭受安全风险。鉴于此,去中心化的系统访问控制成为一种具有突出优势的解决办法。以比特币为代表的区块链技术体现了这一优势,它采用分布式账本,将交易记录存储到网络中的所有节点。在添加到现有区块链上的块之前,每一事务都以密码方式进行签名,并通过共识机制进行验证。它是一个点对点的分散机制,无需第三方的信任授权。
技术实现思路
[0003]根据本公开的第一方面,提供了一种基于区块链的数据文件的访问控制方法,该方法包括:响应于来自请求者的对数据文件的访问请求,查询区块链中存储的访问控制表,以验证该访问请求是否被授权,其中,访问控制表记录有与区块链的多个用户分别相关的多个访问权限条目,每个访问权限条目记录有用户对相应数据文件的访问权限,在该请求者对数据文件的访问请求与该多个条目中的一个或多个条目匹配的情况下,验证为该访问请求被授权;在验证为该请求者的访问请求被授权的情况下,查询区块链中存储的拒绝服务信息表,以验证该请求者的访问请求是否合法,其中,拒绝服务信息表记录有与区块链中的多个用户分别相关的多个拒绝信息条目,每个拒绝信息条目记录有与用户对应的不当行为,根据拒绝服务信息表中是否包括与该请求者相关的拒绝信息条目,验证该请求者的访问请求是否合法;以及在验证为该请求者的访问请求合法的情况下,向该请求者提供所请求的数据文件。
[0004]根据本公开的第二方面,提供了一种用于控制对数据文件的访问的非瞬态计算机可读存储介质,其上存储有程序,当该程序由计算机执行时,使该计算机执行如上所述的方法。
[0005]根据本公开的第三方面,提供了一种用于控制对数据文件的访问的计算装置,包括存储器和处理器,存储器与处理器通信耦合,该存储器中存储有程序,该程序当由处理器执行时,使得该处理器执行如上所述的方法。
[0006]根据本公开的第四方面,提供了一种用于控制对数据文件的访问的装置,包括用于执行如上所述的方法的单元。
[0007]本公开能够实现数据的有效共享,保证数据的安全性,同时能够灵活地控制用户的权限,使得用户不当行为难以实施。
[0008]通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得更为清楚。
附图说明
[0009]构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
[0010]参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
[0011]图1是图示根据本公开的实施例的一个示例性云存储动态访问系统的结构示意图。
[0012]图2是图示根据本公开的实施例的基于区块链的数据文件的访问控制方法的流程图。
[0013]图3是图示根据本公开的实施例的基于区块链的数据文件的访问控制方法的详细流程图。
[0014]图4是图示根据本公开的实施例的智能合约消耗的Gas对比图。
[0015]图5是可以实现根据本公开的实施例的计算设备的示例性配置。
[0016]为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,本公开并不限于附图等所公开的位置、尺寸及范围等。
具体实施方式
[0017]下面将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0018]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的结构及方法是以示例性的方式示出,来说明本公开中的结构和方法的不同实施例。然而,本领域技术人员将会理解,它们仅仅说明可以用来实施的本公开的示例性方式,而不是穷尽的方式。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
[0019]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
[0020]图1是图示根据本公开的实施例的一个示例性云存储动态访问系统的结构示意图。该系统包括区块链以及用于存储数据文件的云端。如图1所示,多个用户(例如,注册者、访问者(也被称为“请求者”))可以访问该系统。例如,作为注册者的用户可以通过终端A访问该系统,作为访问者的用户可以通过终端B访问该系统。图1中还引入“数据控制单元(DCU)”的概念,DCU由注册者(也被称为数据文件的“拥有者”,多数应用场景下为服务提供机构)生成。注册者例如可以利用不对称密钥对数据文件进行加密,将经加密的数据文件上传到云端,并且将数据文件的散列值和索引存储到区块链中。请求者只有在满足预定的访问策略的情况下才能访问数据文件。
[0021]在一些实施例中,可以通过基于分布式计算网络——以太坊(Ethereum)的智能合约来限定预定的访问策略。以太坊提供了一种图灵完备语言,可支持广泛的计算结构。智能合约是指在分布式区块链网络中双方根据协议执行的合约,智能合约可以被实现为计算机程序,并以字节码的形式部署在区块链上。
[0022]根据本公开的实施例的访问控制策略可以使用部署在以太坊区块链平台上的智能合约实现,具体涉及四个智能合约:验证合约(Validation Contract,VC)、访问合约(getAccess Contract,GaC)、授予合约(Grant Contract,GC)和撤销合约(Revoke Contract,ReC)。
[0023]验证合约(VC)可以被用于验证用户是否已注册到区块链,成为区块链的合法用户。在一些实施例中,通过唯一身份证号注册的每个用户在区块链中相应地有其唯一的地址。在对响应于来自请求者的访问数据文件的请求的过程中,VC可以检查地址,从而获取用户的身份凭证,以验证请求者的身份合法性。VC可以维护系统的现有用户的访问信息和记录新的用户(即,注册者)的注册信息,诸如注册时间、访问路径等。
[0024]访问合约(GaC)可以被用于根据访问控制策略来验证实体是否可以访问数据文件。GaC可以验证请求者对数据文件的访问请求是否满足访问控制策略的条件,例如,是否已被授权,以及是否合法。如果不满足访问控制策略的条件,则可以终止该请求者的访问请求,还可以进本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于区块链的数据文件的访问控制方法,所述方法包括:响应于来自请求者的对数据文件的访问请求,查询所述区块链中存储的访问控制表,以验证所述访问请求是否被授权,其中,所述访问控制表记录有与所述区块链的多个用户分别相关的多个访问权限条目,每个访问权限条目记录有用户对相应数据文件的访问权限,在所述请求者对数据文件的访问请求与所述多个条目中的一个或多个条目匹配的情况下,验证为所述访问请求被授权;在验证为所述请求者的访问请求被授权的情况下,查询所述区块链中存储的拒绝服务信息表,以验证所述请求者的访问请求是否合法,其中,所述拒绝服务信息表记录有与所述区块链中的多个用户分别相关的多个拒绝信息条目,每个拒绝信息条目记录有与用户对应的不当行为,根据所述拒绝服务信息表中是否包括与所述请求者相关的拒绝信息条目,验证所述请求者的访问请求是否合法;以及在验证为所述请求者的访问请求合法的情况下,向所述请求者提供所请求的数据文件。2.根据权利要求1所述的方法,其中,所述数据文件由所述数据文件的拥有者利用非对称密钥加密而存储在云端,所述数据文件的散列值和索引存储在所述区块链中。3.根据权利要求2所述的方法,其中,在验证为所述请求者的访问请求合法的情况下,向所述请求者提供所请求的数据文件包括:向所述数据文件的拥有者请求用所述拥有者的私钥对所述数据文件解密,并使用所述请求者的公钥对所述数据文件加密,将加密后的数据文件提供给所述请求者。4.根据权利要求1所述的方法,还包括:在验证为所述请求者的访问请求不合法的情况下,在所述访问控制表中将与所述请求者相关的访问权限条目删除。5.根据权利要求1所述的方法,还包括:将所述请求者对数据文件的访问请求过程中的不当行为作为与该请求者相关的拒绝信息条目,记录于...
【专利技术属性】
技术研发人员:李军,杨小军,游嘉,王兵,金杰,秦国强,陈鹏宇,赵进,
申请(专利权)人:中国电信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。