CN114024700B - 基于区块链的数据文件的访问控制方法、介质及装置 - Google Patents
基于区块链的数据文件的访问控制方法、介质及装置 Download PDFInfo
- Publication number
- CN114024700B CN114024700B CN202010692384.3A CN202010692384A CN114024700B CN 114024700 B CN114024700 B CN 114024700B CN 202010692384 A CN202010692384 A CN 202010692384A CN 114024700 B CN114024700 B CN 114024700B
- Authority
- CN
- China
- Prior art keywords
- data file
- access
- requester
- access request
- blockchain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000004044 response Effects 0.000 claims abstract description 9
- 230000006399 behavior Effects 0.000 claims description 27
- 230000000903 blocking effect Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 230000009471 action Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000011217 control strategy Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供一种基于区块链的数据文件的访问控制方法、介质及装置,包括:响应于来自请求者的对数据文件的访问请求,查询区块链中存储的访问控制表,以验证该访问请求是否被授权;在验证为该请求者的访问请求被授权的情况下,查询区块链中存储的拒绝服务信息表,以验证该请求者的访问请求是否合法;以及在验证为该请求者的访问请求合法的情况下,向该请求者提供所请求的数据文件。
Description
技术领域
本公开涉及云计算与物联网领域,具体而言涉及一种基于区块链的数据文件的访问控制方法、介质及装置。
背景技术
随着通信技术的发展,用户数据不断增加,数据的共享与融合也成为趋势。然而,共享和查询数据所带来的安全和隐私风险是云存储面临的最大挑战。在保证授权的用户可以合法访问的同时能够保证数据的安全性、保密性和完整性就显得尤为重要。常用的访问控制模型(诸如,自主访问控制模型(DAC)、基于角色的访问控制模型(RBAC)、基于属性的访问控制模型(ABAC)、基于权力的访问控制模型(CaBAC)等)是通过一个中心化的访问路径,如果单点被劫持,将遭受安全风险。鉴于此,去中心化的***访问控制成为一种具有突出优势的解决办法。以比特币为代表的区块链技术体现了这一优势,它采用分布式账本,将交易记录存储到网络中的所有节点。在添加到现有区块链上的块之前,每一事务都以密码方式进行签名,并通过共识机制进行验证。它是一个点对点的分散机制,无需第三方的信任授权。
发明内容
根据本公开的第一方面,提供了一种基于区块链的数据文件的访问控制方法,该方法包括:响应于来自请求者的对数据文件的访问请求,查询区块链中存储的访问控制表,以验证该访问请求是否被授权,其中,访问控制表记录有与区块链的多个用户分别相关的多个访问权限条目,每个访问权限条目记录有用户对相应数据文件的访问权限,在该请求者对数据文件的访问请求与该多个条目中的一个或多个条目匹配的情况下,验证为该访问请求被授权;在验证为该请求者的访问请求被授权的情况下,查询区块链中存储的拒绝服务信息表,以验证该请求者的访问请求是否合法,其中,拒绝服务信息表记录有与区块链中的多个用户分别相关的多个拒绝信息条目,每个拒绝信息条目记录有与用户对应的不当行为,根据拒绝服务信息表中是否包括与该请求者相关的拒绝信息条目,验证该请求者的访问请求是否合法;以及在验证为该请求者的访问请求合法的情况下,向该请求者提供所请求的数据文件。
根据本公开的第二方面,提供了一种用于控制对数据文件的访问的非瞬态计算机可读存储介质,其上存储有程序,当该程序由计算机执行时,使该计算机执行如上所述的方法。
根据本公开的第三方面,提供了一种用于控制对数据文件的访问的计算装置,包括存储器和处理器,存储器与处理器通信耦合,该存储器中存储有程序,该程序当由处理器执行时,使得该处理器执行如上所述的方法。
根据本公开的第四方面,提供了一种用于控制对数据文件的访问的装置,包括用于执行如上所述的方法的单元。
本公开能够实现数据的有效共享,保证数据的安全性,同时能够灵活地控制用户的权限,使得用户不当行为难以实施。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得更为清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是图示根据本公开的实施例的一个示例性云存储动态访问***的结构示意图。
图2是图示根据本公开的实施例的基于区块链的数据文件的访问控制方法的流程图。
图3是图示根据本公开的实施例的基于区块链的数据文件的访问控制方法的详细流程图。
图4是图示根据本公开的实施例的智能合约消耗的Gas对比图。
图5是可以实现根据本公开的实施例的计算设备的示例性配置。
为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,本公开并不限于附图等所公开的位置、尺寸及范围等。
具体实施方式
下面将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的结构及方法是以示例性的方式示出,来说明本公开中的结构和方法的不同实施例。然而,本领域技术人员将会理解,它们仅仅说明可以用来实施的本公开的示例性方式,而不是穷尽的方式。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
图1是图示根据本公开的实施例的一个示例性云存储动态访问***的结构示意图。该***包括区块链以及用于存储数据文件的云端。如图1所示,多个用户(例如,注册者、访问者(也被称为“请求者”))可以访问该***。例如,作为注册者的用户可以通过终端A访问该***,作为访问者的用户可以通过终端B访问该***。图1中还引入“数据控制单元(DCU)”的概念,DCU由注册者(也被称为数据文件的“拥有者”,多数应用场景下为服务提供机构)生成。注册者例如可以利用不对称密钥对数据文件进行加密,将经加密的数据文件上传到云端,并且将数据文件的散列值和索引存储到区块链中。请求者只有在满足预定的访问策略的情况下才能访问数据文件。
在一些实施例中,可以通过基于分布式计算网络——以太坊(Ethereum)的智能合约来限定预定的访问策略。以太坊提供了一种图灵完备语言,可支持广泛的计算结构。智能合约是指在分布式区块链网络中双方根据协议执行的合约,智能合约可以被实现为计算机程序,并以字节码的形式部署在区块链上。
根据本公开的实施例的访问控制策略可以使用部署在以太坊区块链平台上的智能合约实现,具体涉及四个智能合约:验证合约(Validation Contract,VC)、访问合约(getAccess Contract,GaC)、授予合约(Grant Contract,GC)和撤销合约(RevokeContract,ReC)。
验证合约(VC)可以被用于验证用户是否已注册到区块链,成为区块链的合法用户。在一些实施例中,通过唯一身份证号注册的每个用户在区块链中相应地有其唯一的地址。在对响应于来自请求者的访问数据文件的请求的过程中,VC可以检查地址,从而获取用户的身份凭证,以验证请求者的身份合法性。VC可以维护***的现有用户的访问信息和记录新的用户(即,注册者)的注册信息,诸如注册时间、访问路径等。
访问合约(GaC)可以被用于根据访问控制策略来验证实体是否可以访问数据文件。GaC可以验证请求者对数据文件的访问请求是否满足访问控制策略的条件,例如,是否已被授权,以及是否合法。如果不满足访问控制策略的条件,则可以终止该请求者的访问请求,还可以进一步对该请求者的权限进行处理。
授予合约(GC)可以被用于向请求者授予访问权限。在根据GaC验证得到请求者的访问请求满足访问控制策略的条件的情况下,向请求者提供所请求的数据文件。在一些实施例中,还可以利用GC来修改访问控制策略,例如通过GC限定有限时间内的访问权限。在有限时间内,如果请求者向***发起对数据文件的访问请求,则可以根据GaC验证得到该访问请求满足访问控制策略的条件。否则,如果请求者在该有限之间之外向***发起访问请求,则此时访问权限已过期,根据GaC验证得到该访问请求不满足访问控制策略的条件。
撤销合约(ReC)可以被用于撤销请求者的访问权限。用户在与***的交互期间可能会出现不当行为,此时可以根据ReC撤销与这些不当行为相关联的访问权限,从而防止此类不当行为的再次发生,对***造成不良的影响和负担。
另外,在根据本公开的实施例中,数据文件的传输可以利用不对称密钥进行加密。在上传数据文件时,数据文件的拥有者可以利用该拥有者的非对称密钥的公钥对数据文件进行加密,将经加密的数据文件存储在云端,并且将数据文件的散列值和索引存储在区块链中。在下载数据文件时,可以请求该数据文件的拥有者利用私钥对该数据文件解密。并使用该请求者的公钥对该数据文件加密,将加密后的数据文件提供给该请求者。
图2是图示根据本公开的实施例的基于区块链的数据文件的访问控制方法的流程图。该方法例如可以应用于图1所示的云存储动态访问***中。
在S201处,响应于来自请求者的对数据文件的访问请求,查询区块链中存储的访问控制表,以验证该访问请求是否被授权。
访问控制表是用于记录用户的访问权限的列表。访问控制表可以存储在区块链中,并且可以包括与区块链的多个用户分别相关的多个访问权限条目,每个访问权限条目记录有用户对相应数据文件的访问权限。通过查询访问控制表,可以验证请求者的访问请求是否被授权。
在S202处,在验证为请求者的访问请求被授权的情况下,查询区块链中存储的拒绝服务信息表,以验证请求者的访问请求是否合法。
拒绝服务信息表是用于记录用户的不当行为的列表。拒绝服务信息表可以存储在区块链中,并且可以包括与区块链中的多个用户分别相关的多个拒绝信息条目,每个拒绝信息条目记录有与用户对应的不当行为。通过查询拒绝服务信息表,可以验证请求者是否有不当行为,并据此验证请求者的的访问请求是否合法。
在S203处,在验证为请求者的访问请求合法的情况下,向请求者提供所请求的数据文件。
根据本公开的实施例的基于区块链的数据文件的访问控制方法,通过查询访问控制信息表和拒绝服务信息表,在请求者的访问请求是被授权的并且访问者没有不当行为的情况下,才向访问者提供所请求的数据文件。因此,能够实现数据的有效共享,保证数据的安全性,同时能够灵活地控制用户的权限,使得用户不当行为难以实施。
图3是图示根据本公开的实施例的基于区块链的数据文件的访问控制方法的详细的流程图。该方法例如可以应用于图1所示的云存储动态访问***中。
如图3所示,在一些实施例中,在301处,请求者可以登录到***。当请求者向***发起登陆时,需要提供该请求者的以太坊地址(address),以用于验证该用户是否为该***的注册的合法用户。
在302处,可以判断请求者是否是合法用户。每个合法用户在***中可以具有对应的地址。在***采用基于以太坊的分布式网络的实施例中,要求合法的用户具有在***中注册的以太坊地址。并且,因为调用以太坊合约需要消耗代币,所以要求与以太坊地址对应的合法的用户的账号中的代币不为空。如果请求者具有已注册的以太坊地址并且该用户的账号中的代币不为空,则判断该请求者是合法用户;否则,判断该请求者不是合法用户,并且在310处拒绝该请求者的访问请求。该步骤可以通过调用VC来实现。VC可以以请求者提供的address作为输入,并且以该请求者是否为合法用户的判定结果作为输出。
在303处,可以收到请求者对数据文件的访问请求。访问请求例如可以包括要访问的数据文件(file)和相应的操作(诸如,读、写等)。
在304处,可以查询访问控制表。访问控制表的一个非限制性示例是下面列出的表1。在表1中,每个访问权限条目包括数据文件的拥有者(Data Owner)、用户(User)、数据文件(File)以及该用户对该数据文件的权限(Permission)。例如,在表1中,在第一行的访问权限条目表示User A被授权对Owner A所拥有的File A进行读(Read)操作,在第二行的访问权限条目表示User B被授权对Owner A所拥有的File A进行写(Write)操作,以及在第三行的访问权限条目表示User C被授权对Owner B所拥有的File B进行读(Read)操作。
Data Owner | User | File | Permission |
Owner A | User A | File A | Read |
Owner A | User B | File B | Write |
Owner B | User C | File B | Read |
.. | .. | .. | .. |
表1访问控制表
在本公开的一些实施例中,访问权限条目中的部分项可以不是必需的,例如,数据文件的拥有者可以不是必需的。
此外,访问权限条目中所包括的项可以不限于表1中列出的项。在本公开的一些实施例中,访问权限条目还可以记录有用户对相应数据文件的允许访问期间,在该允许访问期间内,与该访问权限条目中的用户对应的请求者可以访问该访问权限条目中的数据文件,并且可以进行不超出访问权限的范围的操作;在该允许访问期间经过后,***拒绝向与该访问权限条目中的用户对应的请求者提供该数据文件。在一些实施例中,可以通过调用GC合约来修改访问权限表,从而在访问权限表中记录允许访问期间。
在305处,可以根据访问控制表中的访问权限条目来判断请求者的访问请求是否被授权。具体而言,如果访问控制表中的至少一个访问权限条目中的用户(User)与请求者是一致的,该至少一个访问权限条目中的数据文件(File)与请求者所请求访问的数据文件是一致的,并且该至少一个访问权限条目中的权限(Permission)涵盖了该请求者的访问请求,则可以判断该请求者的访问请求被授权;否则,可以判断该请求者的访问请求未被授权,并且在310处拒绝该请求者的访问请求。
以上步骤304和305例如可以对应与图2中的步骤S201,可以通过调用GaC来实现。
此外,还可以根据访问控制表中的访问权限条目来向访问控制表添加新的访问权限条目。在本公开的一些实施例中,在访问权限条目中包括数据文件的拥有者的情况下,如果数据文件的拥有者与请求访问该数据文件的请求者是一致的,即该请求者即为该数据文件的拥有者,数据文件的拥有者请求访问该数据文件,则可以向访问控制表添加新的访问权限条目,以使得数据文件的拥有者的访问请求被授权。向访问控制表添加新的访问权限条目的过程可以通过调用GC来实现。
在306处,可以查询拒绝服务信息表。拒绝服务信息表的一个非限制性示例如下面列出的表2。在表2中,每个拒绝信息条目包括:请求者ID(Requester ID),即做出不当行为的请求者的ID;数据文件ID(File ID),即做出不当行为的请求者要访问的数据文件的ID;不当行为类型(Misconduct),即对请求者做出的不当行为的归类,例如,短时间内频繁发送请求、获取访问权限时连续失败等;不当行为时间(Time of Misconduct),即请求者做出不当行为的时间;处罚(Fine),即***针对请求者的不当行为征收的阻塞代偿。例如,在表2中,在第一行的拒绝信息条目表示User A在2019年1月15日请求访问file A时验证失败,***针对该不当行为做出的处罚是永久阻止其访问。
Requester ID | file ID | Misconduct | Time of Misconduct | Fine |
User A | file A | validation failed | 2019-01-15 17:19 | Blocked permanently |
.... | .... | .... | .... | .... |
表2拒绝服务信息表
在本公开的一些实施例中,拒绝服务信息表中的拒绝信息条目中的处罚可以包括对用户的不当行为的阻塞期间。在该阻塞期间内,***拒绝与所述用户对应的请求者的访问请求。在一些实施例中,可以根据拒绝服务信息表中记录的用户的历史不当行为,来确定相应的处罚。例如,用户的历史不当行为较多时,可以将阻塞时间确定得较长。应当理解,处罚的确定不限于以上例子,可以根据实际需要来适当地设计处罚的确定方法。
此外,拒绝信息条目中所包括的项可以不限于表2中列出的项。例如,拒绝信息条目中的部分项可以不是必需的(例如可以不包括数据文件ID等)。也可以根据需要对拒绝信息条目增加一个或多个项。
在本公开的一些实施例中,***可以将请求者对数据文件的访问请求过程中的不当行为作为与该请求者相关的拒绝信息条目在记录于该拒绝服务信息表中。请求者的不当行为例如可能发生在对***的登录(例如频繁登录)、对文件的访问(例如对文件频繁操作)等的多个阶段,在各阶段,可以调用相应的智能合约(例如GaC、GC)来将拒绝信息条目记录在拒绝服务信息表中。由此,能够在用户对数据文件的访问请求的多个阶段记录用户的不当行为,从而动态地维护拒绝服务信息表,根据拒绝服务信息表来灵活地控制用户的权限。
在307处,可以根据拒绝服务信息表来判断请求者的访问请求是否合法。如果拒绝服务信息表中不包括与该请求者相关的拒绝信息条目,则可以判断该请求者的访问请求合法;否则,可以判断该请求者的访问请求不合法。
以上步骤306和307例如可以对应于图2中的步骤S202,可以通过调用GaC来实现。
在308处,在验证该请求者是合法用户并且该请求者的访问请求被授权且合法之后,该***可以向请求者提供数据文件,从而该请求者可以对数据文件进行操作。该步骤例如可以对应于图2中的步骤S203,可以通过调用GC来实现。
为了保证数据文件的传输过程的安全性,***可以向该数据文件的拥有者请求利用该拥有者的私钥对该数据文件进行解密。在解密之后,***可以使用请求者的公钥对经解密的数据文件进行加密,并且将经请求者的公钥加密的数据文件提供给该请求者。请求者从***获得经该请求者的公钥加密的数据文件之后,可以利用自己的私钥进行解密,从而可以对数据文件进行操作。每次第三方(即请求者)请求访问时都需要获得用户(即数据文件的拥有者)的许可,因此可以实现对数据文件的可访问性保持有效的控制。
在309处,在判断该请求者的访问请求不合法的情况下,可以从访问权限表中删除与该请求者的该访问请求相关的访问权限条目,并且在310处拒绝该请求者的访问请求。从访问权限表中删除访问权限条目可以通过调用ReC来实现。
图4是图示根据本公开的实施例的智能合约消耗的Gas对比图。根据以上的实施例,利用以太坊平台实现4个智能合约,并得到4个智能合约消耗的费用情况。如图4所示,以Gas作为以太坊智能合约消耗费用的单位,VC、GaC、GC和ReC的消耗分别为1531432、2859097、1340488、43714。可以看到GC占了以太坊智能合约消耗费用的一大部分。
本公开提供了一种对数据文件的访问控制方法,该方法以用户为中心并且是基于区块链的云存储动态访问,适用于用户数据共享,如电子档案、电子保险、私有数据云化,多终端登陆,电子病历等场景。根据本公开的实施例的方法具有以下优点中的一个或多个:
第一,本方法在分布式区块链网络上部署和执行访问控制策略。数据在创建时加密并存储在云中,而相应的索引和散列值存储在区块链中。这使得本方法不依赖于块大小和文件大小,并且由于区块链的防篡改特性,本方法能够维护数据的真实性和完整性。
第二,访问控制可以调用四个智能合约中的一个或多个:验证合约、访问合约、授权合约和撤销合约。利用智能合约,可以实现对用户权限的灵活控制以及对用户的不当行为的判断、记录和惩罚,并且用户的权限以及用户的不当行为均可以存储在区块链中。此外,智能合约可以在任何支持智能合约范式的区块链上进行重编程。整体而言,控制策略效率高并且灵活可靠。
第三,本方法记录用户的不当行为并且动态地更新不当行为的历史记录,从而使得使非法行为更难实施。
第四,本方法的加密和解密采用非对称加密算法,使用数据文件拥有者的私钥进行解密后使用请求者的公钥进行加密,之后再将经加密的文件传输给请求者。因此,每次第三方请求访问都需要获得数据文件的拥有者的许可,并且只有请求者才可以对数据文件进行解密从而进行操作,实现了对数据文件的可访问性的有效的控制。
图5示出了可以用于实现根据本公开的实施例的计算设备的示例性配置。计算设备500是可以应用本公开的上述方面的硬件设备的实例。计算设备500可以是被配置为执行处理和/或计算的任何机器。计算设备500可以是但不限制于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数据助手(PDA)、智能电话、车载计算机或以上组合。
如图5所示,计算设备500可以包括可能经由一个或多个接口与总线502连接或通信的一个或多个元件。总线502可以包括但不限于,工业标准架构(Industry StandardArchitecture,ISA)总线、微通道架构(Micro Channel Architecture,MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及外设组件互连(PCI)总线等。计算设备500可以包括例如一个或多个处理器504、一个或多个输入设备506、以及一个或多个输出设备508。一个或多个处理器504可以是任何种类的处理器,并且可以包括但不限于一个或多个通用处理器或专用处理器(诸如专用处理芯片)。输入设备506可以是能够向计算设备输入信息的任何类型的输入设备,并且可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或远程控制器。输出设备508可以是能够呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。
计算设备500还可以包括或被连接至非暂态存储设备514,该非暂态存储设备514可以是任何非暂态的并且可以实现数据存储的存储设备,并且可以包括但不限于盘驱动器、光存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁性介质、压缩盘或任何其他光学介质、缓存存储器和/或任何其他存储芯片或模块、和/或计算机可以从其中读取数据、指令和/或代码的其他任何介质。计算设备500还可以包括随机存取存储器(RAM)510和只读存储器(ROM)512。ROM 512可以以非易失性方式存储待执行的程序、实用程序或进程。RAM 510可提供易失性数据存储,并存储与计算设备500的操作相关的指令。计算设备500还可包括网络/总线接口616。网络/总线接口616可以是能够启用与外部装置和/或网络通信的任何种类的设备或***,并且可以包括但不限于调制解调器、网络卡、红外线通信设备、无线通信设备和/或芯片集(诸如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设施等)。
可单独地或以任何组合方式来使用前述实施方案的各个方面、实施方案、具体实施或特征。可由软件、硬件或硬件与软件的组合来实现前述实施方案的各个方面。
例如,前述实施方案可体现为计算机可读介质上的计算机可读代码。计算机可读介质为可存储数据的任何数据存储设备,所述数据其后可由计算机***读取。计算机可读介质的示例包括只读存储器、随机存取存储器、CD-ROM、DVD、磁带、硬盘驱动器、固态驱动器和光学数据存储设备。计算机可读介质还可分布在网络耦接的计算机***中使得计算机可读代码以分布式方式来存储和执行。
例如,前述实施方案可采用硬件电路的形式。硬件电路可以包括组合式逻辑电路、时钟存储设备(诸如软盘、触发器、锁存器等)、有限状态机、诸如静态随机存取存储器或嵌入式动态随机存取存储器的存储器、定制设计电路、可编程逻辑阵列等的任意组合。
在一个实施方案中,可以通过用诸如Verilog或VHDL的硬件描述语言(HDL)编码和设计一个或多个集成电路或者结合使用离散电路来实现根据本公开的硬件电路。
综上所述,本公开提供了一种基于区块链的数据文件的访问控制方法,该方法包括:响应于来自请求者的对数据文件的访问请求,查询区块链中存储的访问控制表,以验证该访问请求是否被授权,其中,访问控制表记录有与区块链的多个用户分别相关的多个访问权限条目,每个访问权限条目记录有用户对相应数据文件的访问权限,在该请求者对数据文件的访问请求与该多个条目中的一个或多个条目匹配的情况下,验证为该访问请求被授权;在验证为该请求者的访问请求被授权的情况下,查询区块链中存储的拒绝服务信息表,以验证该请求者的访问请求是否合法,其中,拒绝服务信息表记录有与区块链中的多个用户分别相关的多个拒绝信息条目,每个拒绝信息条目记录有与用户对应的不当行为,根据拒绝服务信息表中是否包括与该请求者相关的拒绝信息条目,验证该请求者的访问请求是否合法;以及在验证为该请求者的访问请求合法的情况下,向该请求者提供所请求的数据文件。
在一些实施例中,数据文件由该数据文件的拥有者利用非对称密钥加密而存储在云端,该数据文件的散列值和索引存储在区块链中。
在一些实施例中,在验证为该请求者的访问请求合法的情况下,向该请求者提供所请求的数据文件包括:向数据文件的拥有者请求用该拥有者的私钥对该数据文件解密,并使用该请求者的公钥对该数据文件加密,将加密后的数据文件提供给该请求者。
在一些实施例中,该方法还包括:在验证为该请求者的访问请求不合法的情况下,在访问控制表中将与该请求者相关的访问权限条目删除。
在一些实施例中,该方法还包括:将该请求者对数据文件的访问请求过程中的不当行为作为与该请求者相关的拒绝信息条目,记录于拒绝服务信息表。
在一些实施例中,拒绝服务信息表中的拒绝信息条目还记录有对用户的不当行为的阻塞期间,在阻塞期间内拒绝与该用户对应的请求者的访问请求。
在一些实施例中,访问控制表中的访问权限条目还记录有用户对相应数据文件的允许访问期间,在允许访问期间经过后拒绝向与该用户对应的请求者提供数据文件。
在一些实施例中,该方法还包括:响应于来自请求者的对数据文件的访问请求,验证该请求者是否为区块链的合法用户,在验证为该请求者不是合法用户的情况下,拒绝该请求者的访问请求。
在一些实施例中,响应于来自请求者的对数据文件的访问请求,根据访问控制表中的访问权限条目,向访问控制表添加新的访问权限条目。
在一些实施例中,访问权限条目中包括数据文件的拥有者,并且如果该数据文件的拥有者与请求者是一致的,向访问控制表添加新的访问权限条目,该新的访问权限条目使得该访问请求被授权。
在一些实施例中,在验证访问请求未被授权的情况下,拒绝请求者的访问。
本公开还提供了一种用于控制对数据文件的访问的非瞬态计算机可读存储介质,其上存储有程序,当该程序由计算机执行时,使该计算机执行如上所述的方法。
本公开还提供了一种用于控制对数据文件的访问的计算装置,包括存储器和处理器,存储器与处理器通信耦合,该存储器中存储有程序,该程序当由处理器执行时,使得该处理器执行如上所述的方法。
本公开还提供了一种用于控制对数据文件的访问的装置,包括用于执行如上所述的方法的单元。
虽然已通过示例详细展示了本发明的一些具体实施例,但是本领域技术人员应当理解,上述示例仅意图是说明性的而不限制本发明的范围。应该认识到的是,前述方法中的一些步骤不一定按照图示的顺序执行,而是它们可以被同时、以不同顺序或以重叠方式执行。此外,本领域技术人员可以根据需要增加一些步骤或省略一些步骤。前述***中的一些部件不是必须按照图示的布置,本领域技术人员可以根据需要增加一些部件或省略一些部件。本领域技术人员应该理解,上述实施例可以在不脱离本发明的范围和实质的情况下被修改。本发明的范围是通过所附的权利要求限定的。
Claims (12)
1.一种基于区块链的数据文件的访问控制方法,所述方法包括:
响应于来自请求者的对数据文件的访问请求,查询所述区块链中存储的访问控制表,以验证所述访问请求是否被授权,其中,所述访问控制表记录有与所述区块链的多个用户分别相关的多个访问权限条目,每个访问权限条目记录有用户对相应数据文件的访问权限,在所述请求者对数据文件的访问请求与所述多个条目中的一个或多个条目匹配的情况下,验证为所述访问请求被授权;
在验证为所述请求者的访问请求被授权的情况下,查询所述区块链中存储的拒绝服务信息表,以验证所述请求者的访问请求是否合法,其中,所述拒绝服务信息表记录有与所述区块链中的多个用户分别相关的多个拒绝信息条目,每个拒绝信息条目记录有与用户对应的不当行为,根据所述拒绝服务信息表中是否包括与所述请求者相关的拒绝信息条目,验证所述请求者的访问请求是否合法;
在验证为所述请求者的访问请求合法的情况下,向所述请求者提供所请求的数据文件;以及
将所述请求者对数据文件的访问请求过程中的不当行为作为与该请求者相关的拒绝信息条目,记录于所述拒绝服务信息表,
其中,所述拒绝服务信息表中的拒绝信息条目还记录有对用户的不当行为的阻塞期间,在所述阻塞期间内拒绝与所述用户对应的请求者的访问请求。
2.根据权利要求1所述的方法,其中,
所述数据文件由所述数据文件的拥有者利用非对称密钥加密而存储在云端,所述数据文件的散列值和索引存储在所述区块链中。
3.根据权利要求2所述的方法,其中,在验证为所述请求者的访问请求合法的情况下,向所述请求者提供所请求的数据文件包括:
向所述数据文件的拥有者请求用所述拥有者的私钥对所述数据文件解密,并使用所述请求者的公钥对所述数据文件加密,将加密后的数据文件提供给所述请求者。
4.根据权利要求1所述的方法,还包括:
在验证为所述请求者的访问请求不合法的情况下,在所述访问控制表中将与所述请求者相关的访问权限条目删除。
5.根据权利要求1所述的方法,其中,
所述访问控制表中的访问权限条目还记录有用户对相应数据文件的允许访问期间,在所述允许访问期间经过后拒绝向与所述用户对应的请求者提供所述数据文件。
6.根据权利要求1所述的方法,还包括:
响应于来自所述请求者的对数据文件的访问请求,验证所述请求者是否为所述区块链的合法用户,在验证为所述请求者不是合法用户的情况下,拒绝所述请求者的访问请求。
7.根据权利要求1所述的方法,其中,响应于来自请求者的对数据文件的访问请求,根据访问控制表中的访问权限条目,向访问控制表添加新的访问权限条目。
8.根据权利要求7所述的方法,其中:
访问权限条目中包括所述数据文件的拥有者,并且
如果所述数据文件的拥有者与所述请求者是一致的,向访问控制表添加新的访问权限条目,所述新的访问权限条目使得所述访问请求被授权。
9.根据权利要求1所述的方法,其中,在验证所述访问请求未被授权的情况下,拒绝请求者的访问。
10.一种用于控制对数据文件的访问的非瞬态计算机可读存储介质,其上存储有程序,当所述程序由计算机执行时,使所述计算机执行根据权利要求1至9中的任一项所述的方法。
11.一种用于控制对数据文件的访问的计算装置,包括存储器和处理器,所述存储器与所述处理器通信耦合,所述存储器中存储有程序,所述程序当由处理器执行时,使得所述处理器执行根据权利要求1至9中的任一项所述的方法。
12.一种用于控制对数据文件的访问的装置,包括用于执行根据权利要求1至9中的任一项所述的方法的单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010692384.3A CN114024700B (zh) | 2020-07-17 | 2020-07-17 | 基于区块链的数据文件的访问控制方法、介质及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010692384.3A CN114024700B (zh) | 2020-07-17 | 2020-07-17 | 基于区块链的数据文件的访问控制方法、介质及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114024700A CN114024700A (zh) | 2022-02-08 |
CN114024700B true CN114024700B (zh) | 2024-03-26 |
Family
ID=80054049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010692384.3A Active CN114024700B (zh) | 2020-07-17 | 2020-07-17 | 基于区块链的数据文件的访问控制方法、介质及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114024700B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138733A (zh) * | 2019-04-03 | 2019-08-16 | 华南理工大学 | 基于区块链的对象存储***可信存证与访问权限控制方法 |
WO2020113139A1 (en) * | 2018-11-28 | 2020-06-04 | Dan Kikinis | System and method for security gateway for high security blockchain systems |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9992028B2 (en) * | 2015-11-26 | 2018-06-05 | International Business Machines Corporation | System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger |
US9792742B2 (en) * | 2016-02-02 | 2017-10-17 | Live Nation Entertainment, Inc. | Decentralized virtual trustless ledger for access control |
EP3479519B1 (en) * | 2016-08-30 | 2022-11-02 | Commonwealth Scientific and Industrial Research Organisation | Dynamic access control on blockchain |
-
2020
- 2020-07-17 CN CN202010692384.3A patent/CN114024700B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020113139A1 (en) * | 2018-11-28 | 2020-06-04 | Dan Kikinis | System and method for security gateway for high security blockchain systems |
CN110138733A (zh) * | 2019-04-03 | 2019-08-16 | 华南理工大学 | 基于区块链的对象存储***可信存证与访问权限控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114024700A (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8402508B2 (en) | Delegated authentication for web services | |
US7900239B2 (en) | Controlling access to a resource by a program using a digital signature | |
US8898755B2 (en) | Trusted internet identity | |
KR102037160B1 (ko) | 기대치에 따른 데이터 보안 작동 | |
US8590052B2 (en) | Enabling granular discretionary access control for data stored in a cloud computing environment | |
US20190333031A1 (en) | System, method, and computer program product for validating blockchain or distributed ledger transactions in a service requiring payment | |
US11290446B2 (en) | Access to data stored in a cloud | |
KR20070098869A (ko) | 분할을 포함한 다기능 컨텐트 제어 | |
EP1941417A1 (en) | A method for controlling access to file systems, related system, sim card and computer program product for use therein | |
KR20070091349A (ko) | 다기능 컨텐트 제어용 제어 생성 시스템 | |
KR101441581B1 (ko) | 클라우드 컴퓨팅 환경을 위한 다계층 보안 장치 및 다계층 보안 방법 | |
AU2010267645A1 (en) | Method for remotely controlling and monitoring the data produced on desktop on desktop software | |
EP3847779B1 (en) | Hardware security module that enforces signature requirements | |
KR20090052321A (ko) | 다기능 제어 구조를 이용하는 콘텐트 제어 시스템과 방법 | |
US20220271958A1 (en) | Network Platform for Secure Document Sharing and Verification | |
KR20090028806A (ko) | 증명서 철회 리스트를 이용한 콘텐트 제어 시스템과 방법 | |
US20070055478A1 (en) | System and method for active data protection in a computer system in response to a request to access to a resource of the computer system | |
CN114024700B (zh) | 基于区块链的数据文件的访问控制方法、介质及装置 | |
EP4289110A1 (en) | Sponsor delegation for multi-factor authentication | |
WO2020082062A1 (en) | Method and system for anonymous information rights management to allow tracking of downloaded documents without authentication | |
CN117614724B (zh) | 一种基于体系细粒度处理的工业互联网访问控制方法 | |
WO2023160632A1 (zh) | 针对飞地实例的云服务访问权限设置方法和云管理平台 | |
US20220353073A1 (en) | Method for authenticating an end-user account, method for single authenticating within a cluster of hsm, and method for implementing access control | |
US20220174067A1 (en) | Securing data and tracking actions upon data | |
KR101502800B1 (ko) | 권리자 식별정보가 기록된 디지털 시스템, 응용 시스템, 및 서비스 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |