CN114117507B - 对象存储***及其访问控制方法和设备、存储介质 - Google Patents
对象存储***及其访问控制方法和设备、存储介质 Download PDFInfo
- Publication number
- CN114117507B CN114117507B CN202010885839.3A CN202010885839A CN114117507B CN 114117507 B CN114117507 B CN 114117507B CN 202010885839 A CN202010885839 A CN 202010885839A CN 114117507 B CN114117507 B CN 114117507B
- Authority
- CN
- China
- Prior art keywords
- client
- metadata
- object storage
- proposal
- metadata server
- 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 56
- 238000011217 control strategy Methods 0.000 claims abstract description 18
- 238000013475 authorization Methods 0.000 claims description 67
- 230000004044 response Effects 0.000 claims description 60
- 238000012795 verification Methods 0.000 claims description 24
- 230000002457 bidirectional effect Effects 0.000 claims description 14
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000012550 audit Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种对象存储***及其访问控制方法和设备、存储介质。该对象存储***访问控制设备包括:由元数据服务器节点和排序节点构成的区块链网络;区块链网络,用于将对象存储***的访问控制策略写入智能合约并运行在元数据服务器节点;并将文件数据的元数据存储在区块链的分布式账本中。本公开通过采用区块链网络作为访问授权中心且元数据上链,增强了***可靠性及元数据的可信性与一致性。
Description
技术领域
本公开涉及存储技术领域,特别涉及一种对象存储***及其访问控制方法和设备、存储介质。
背景技术
对象存储是一种基于对象的新兴存储技术,是当下网络存储领域研究的热点,也是构建大型分布式系的优选方案。对象存储在功能特性上结合了NAS(Network AttachedStorage,网络附属存储)和SAN(Storage Area Network,存储区域网络)的优点,使得高性能、跨平台与数据共享的存储结构成为可能。对象存储***的数据和元数据是分离存储,客户端需要从元数据服务器获取元数据和访问权限后才能读/写对象存储设备的对象数据。
发明内容
发明人通过研究发现:相关技术对象存储***通过采用基于对称密钥和基于能力访问模型的访问控制中心实现***的访问控制,该方法存在以下一些问题:使用共享对称密钥容易泄露安全性低,且产生大量的凭证增加了网络传输压力;中心化访问控制***,***不可靠有宕机风险,数据存在被篡改风险;数据操作行为日志依赖访问控制中心可信,难审计。
鉴于以上技术问题中的至少一项,本公开提供了一种对象存储***及其访问控制方法和设备、存储介质,采用区块链网络作为访问授权中心且元数据上链,增强了***可靠性及元数据的可信性与一致性。
根据本公开的一个方面,提供一种对象存储***访问控制设备,包括:
由元数据服务器节点和排序节点构成的区块链网络;
区块链网络,用于将对象存储***的访问控制策略写入智能合约并运行在元数据服务器节点;并将文件数据的元数据存储在区块链的分布式账本中。
在本公开的一些实施例中,客户端,用于通过区块链的智能合约验证访问权限并获取元数据;再访问对象存储设备的对象数据并进行相应操作。
在本公开的一些实施例中,区块链网络,用于将客户端对对象数据生命周期内的操作行为日志写入到区块链分布式账本中。
在本公开的一些实施例中,元数据服务节点,具备背书和记账功能,用于访问授权背书生成交易、验证交易并维护账本;排序节点,用于将交易排序生成区块。
在本公开的一些实施例中,区块链网络,用于在客户端向对象存储发起读操作请求的情况下,与客户端进行双向身份认证;通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端,以便客户端访问对象存储设备的对象数据并进行读操作;将客户端的本次读操作行为日志写入分布式账本。
在本公开的一些实施例中,区块链网络,用于在客户端向对象存储发起写操作请求的情况下,与客户端进行双向身份认证;通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端,以便客户端访问对象存储设备的对象数据并进行写操作;将客户端的本次写操作行为日志写入分布式账本;执行智能合约更新元数据。
根据本公开的另一方面,提供一种对象存储***,包括对象存储设备和如上述任一实施例所述的对象存储***访问控制设备。
根据本公开的另一方面,提供一种对象存储***访问控制方法,包括:
采用元数据服务器节点和排序节点构成的区块链网络;
区块链网络将对象存储***的访问控制策略写入智能合约并运行在元数据服务器节点;
区块链网络将文件数据的元数据存储在区块链的分布式账本中。
在本公开的一些实施例中,所述对象存储***访问控制方法还包括:
元数据服务器节点在客户端向对象存储发起读操作请求的情况下,与客户端进行双向身份认证;
元数据服务器节点通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端;
客户端访问对象存储设备的对象数据并进行读操作;
区块链网络将客户端的本次读操作行为日志写入分布式账本。
在本公开的一些实施例中,所述对象存储***访问控制方法还包括:
元数据服务器节点在客户端向对象存储发起写操作请求的情况下,与客户端进行双向身份认证;
元数据服务器节点通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端;
客户端访问对象存储设备的对象数据并进行写操作;
区块链网络将客户端的本次写操作行为日志写入分布式账本;
区块链网络执行智能合约更新元数据。
在本公开的一些实施例中,所述元数据服务器节点通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端包括:
客户端向第一元数据服务器节点发起访问授权提案,其中,所述访问授权提案为读访问授权提案或写访问授权提案;
第一元数据服务器节点检查本次访问授权提案的合法性;
若检查通过,第一元数据服务器节点调用智能合约执行访问控制策略验证客户端权限,其中,所述客户端权限为客户端读权限或客户端写权限;
第一元数据服务器节点向其它元数据服务器节点广播所述访问授权提案,其中,其它元数据服务器节点为区块链内除第一元数据服务器节点外的其它元数据服务器节点。
在本公开的一些实施例中,所述元数据服务器节点通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端包括:
其它元数据服务器节点调用智能合约执行访问控制策略验证客户端权限,返回验证结果给第一元数据服务器节点;
若第一元数据服务器节点接收到的一致验证结果大于预定阈值,则调用智能合约执行访问授权提案背书并查询元数据,其中,所述访问授权提案背书包括读访问授权提案背书或写访问授权提案背书;
第一元数据服务器节点返回访问授权背书提案响应和元数据给客户端,其中,所述访问授权背书提案响应包括读访问授权背书提案响应或写访问授权背书提案响应;
第一元数据服务器节点将访问授权提案背书、访问授权背书提案响应和元数据打包生成交易给排序节点;
排序节点检查交易,交易进入等待状态,若交易在预定时间内未被触发则将被判为无效提案。
在本公开的一些实施例中,所述客户端访问对象存储设备的对象数据并进行读操作包括:
客户端向对象存储设备发送读操作请求,其中,读操作请求包括读操作授权背书提案响应;
对象存储设备通过安全服务器获取客户端公钥验证客户端身份,若验证通过,对象存储设备向区块链排序节点广播请求验证读操作授权背书提案响应;
排序节点调用智能合约查询是否存在对应的交易,返回检查响应给对象存储设备;
对象存储设备返回读取的对象数据给客户端,同时广播读取响应给排序节点。
在本公开的一些实施例中,所述区块链网络将客户端的本次读操作行为日志写入分布式账本包括:
排序节点接收到读取响应,触发智能合约将本次读操作交易进入排序,生成区块;
排序节点广播区块到元数据服务器节点;
元数据服务器节点验证区块的有效性后,将区块写入分布式账本。
在本公开的一些实施例中,所述客户端访问对象存储设备的对象数据并进行写操作包括:
客户端向对象存储设备发送写操作请求,其中,写操作请求包括写操作授权背书提案响应;
对象存储设备通过安全服务器获取客户端公钥验证客户端身份,若验证通过,则向区块链排序节点广播请求验证写操作授权背书提案响应;
排序节点调用智能合约查询是否存在对应的交易,返回检查响应给对象存储设备;
对象存储设备存储客户端写入的对象数据,同时广播写入响应给排序节点。
在本公开的一些实施例中,所述区块链网络将客户端的本次写操作行为日志写入分布式账本包括:
排序节点接收到写入响应后,触发智能合约将本次写操作交易排序,生成区块;
排序节点广播区块到元数据服务器节点;
元数据服务器节点验证区块的有效性后,将区块写入分布式账本。
在本公开的一些实施例中,所述区块链网络执行智能合约更新元数据包括:
客户端完成写操作,对象存储设备按序选择一个提案更新元数据服务器节点,发送元数据更新提案给提案更新元数据服务器节点;
提案更新元数据服务器节点验证元数据更新提案,同时将元数据更新提案广播给其它元数据服务器节点进行验证,其中,其它元数据服务器节点为区块链中除所述提案更新元数据服务器节点外的其它元数据服务器节点;
提案更新元数据服务器节点接收到的一致验证响应大于预定值,则调用智能合约执行元数据更新背书,生成元数据更新背书响应,并将元数据更新提案、元数据更新背书和元数据更新背书响应打包成交易,将交易广播到排序节点;
排序节点检查交易,将交易直接进入排序状态,生成区块;
排序节点广播区块到元数据服务器节点;
元数据服务器节点验证区块的有效性后,将区块写入分布式账本。
根据本公开的另一方面,提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例所述的对象存储***访问控制方法。
本公开通过采用区块链网络作为访问授权中心且元数据上链,增强了***可靠性及元数据的可信性与一致性。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本公开对象存储***访问控制设备一些实施例的示意图。
图2为本公开对象存储***访问控制方法一些实施例的示意图。
图3为本公开对象存储***访问控制方法另一些实施例的示意图。
图4为本公开对象存储***访问控制方法又一些实施例的示意图。
图5为本公开对象存储***访问控制方法又一些实施例的示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为本公开对象存储***访问控制设备一些实施例的示意图。如图1所示,本公开的对象存储***访问控制设备10包括:由元数据服务器节点11和排序节点12构成的区块链网络。
区块链网络,用于将对象存储***的访问控制策略写入智能合约并运行在元数据服务器节点,其中智能合约包括访问授权验证、背书授权背书、元数据背书,同时实现元数据查询、操作行为日志查询等查询审计功能;并将文件数据的元数据存储在区块链的分布式账本中。
在本公开的一些实施例中,元数据服务节点11,具备背书和记账功能,用于访问授权背书生成交易、验证交易并维护账本.
在本公开的一些实施例中,排序节点12,用于将交易排序生成区块。
在本公开的一些实施例中,区块链网络可以用于将客户端对对象数据生命周期内的操作行为日志写入到区块链分布式账本中。
在本公开的一些实施例中,如图1所示,排序节点12的个数为2个,分别为O1和O2;元数据服务节点11的个数为4个,分别为M1、M2、M3和Mi。
基于本公开上述实施例提供的对象存储***访问控制设备,采用元数据服务器节点和排序节点通过点对点网络构成基于区块链的访问控制设备,将元数据写到分布式账本,并将访问控制策略写入智能合约。本公开上述实施例客户端通过智能合约验证访问权限并获取元数据后访问对象数据进行操作,最后将操作日志行为写到分布式账本中。
本公开上述实施例采用区块链网络作为访问授权中心且元数据上链,增强了***可靠性及元数据的可信性与一致性;通过智能合约实现访问控制策略自动强制执行且智能合约可升级,无需依赖可信第三方;操作行为日志存储在分布式账本,审计容易更可信。
图1还给出了本公开对象存储***一些实施例的示意图。如图1所示,本公开对象存储***可以包括对象存储设备20和对象存储***访问控制设备10,其中:
本公开对象存储***访问控制设备10可以实现为由元数据服务器节点11和排序节点12构成的区块链网络。
在本公开的一些实施例中,本公开对象存储***访问控制设备10可以实现为本公开上述任一实施例所述的对象存储***访问控制设备。
在本公开的一些实施例中,客户端可以用于通过区块链的智能合约验证访问权限并获取元数据;再访问对象存储设备的对象数据并进行相应操作。
在本公开的一些实施例中,区块链网络可以用于在客户端向对象存储发起读操作请求的情况下,与客户端进行双向身份认证;通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端,以便客户端访问对象存储设备的对象数据并进行读操作;将客户端的本次读操作行为日志写入分布式账本。
在本公开的一些实施例中,区块链网络可以用于在客户端向对象存储发起写操作请求的情况下,与客户端进行双向身份认证;通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端,以便客户端访问对象存储设备的对象数据并进行写操作;将客户端的本次写操作行为日志写入分布式账本;执行智能合约更新元数据。
在本公开的一些实施例中,如图1所示,本公开对象存储***还可以包括安全服务器30,其中:
客户端,用于从安全服务器30申请获取用户的公私钥,并获取元数据服务器节点和对象存储设备的公钥。
在本公开的一些实施例中,安全服务器30可以实现为云平台安全服务器。
在本公开的一些实施例中,本公开安全服务器30、对象存储设备20和对象存储***访问控制设备10均可以部署在云平台。
基于本公开上述实施例提供的对象存储***,利用区块链的智能合约、分布式账本等技术实现了对象存储***访问的可靠认证授权和可信日志审计具备以下优点:元数据服务器采用区块链网络架构且元数据上链,增强了***可靠性及元数据的可信性与一致性;智能合约实现访问控制策略自动强制执行且智能合约可升级,无需依赖可信第三方;操作行为日志存储在分布式账本,审计容易更可信。
图2为本公开对象存储***访问控制方法一些实施例的示意图。优选的,本实施例可由本公开对象存储***访问控制设备或本公开对象存储***执行。如图2所示,所述方法可以包括步骤210-步骤230,其中:
步骤210,采用元数据服务器节点和排序节点构成的区块链网络。
步骤220,区块链网络将对象存储***的访问控制策略写入智能合约并运行在元数据服务器节点。
步骤230,区块链网络将文件数据的元数据存储在区块链的分布式账本中。
图3为本公开对象存储***访问控制方法另一些实施例的示意图。优选的,本实施例可由本公开对象存储***访问控制设备或本公开对象存储***执行。本公开对象存储***访问控制方法除包括图2实施例的方法步骤外,如图3所示,本公开对象存储***访问控制方法还可以包括步骤310-步骤330,其中:
步骤310,元数据服务器节点在客户端向对象存储发起读操作请求的情况下,与客户端进行双向身份认证。
步骤320,元数据服务器节点通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端。
步骤330,客户端访问对象存储设备的对象数据并进行读操作;区块链网络将客户端的本次读操作行为日志写入分布式账本。
图4为本公开对象存储***访问控制方法又一些实施例的示意图。优选的,本实施例可由本公开对象存储***访问控制设备或本公开对象存储***执行。本公开对象存储***访问控制方法除包括图2和/或图3实施例的方法步骤外,如图4所示,本公开对象存储***访问控制方法还可以包括步骤410-步骤440,其中:
步骤410,元数据服务器节点在客户端向对象存储发起写操作请求的情况下,与客户端进行双向身份认证。
步骤420,元数据服务器节点通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端。
步骤430,客户端访问对象存储设备的对象数据并进行写操作;区块链网络将客户端的本次写操作行为日志写入分布式账本。
步骤440,区块链网络执行智能合约更新元数据。
图5为本公开对象存储***访问控制方法又一些实施例的示意图。如图5所示,本公开对象存储***访问控制方法可以包括步骤510-步骤550,其中:
步骤510,双向身份认证。客户端与区块链元数据服务器节点、对象存储服务器连接时需要通过非对称加密实现双向身份认证。
在本公开的一些实施例中,步骤510可以实现为图3实施例的步骤310或图4实施例的步骤410。
在本公开的一些实施例中,如图5所示,步骤510可以步骤1-步骤3,其中:
步骤1,客户端向区块链第一元数据服务器节点M1发起针对对象存储的读或写操作请求。
其中,第一元数据服务器节点M1为客户端按照随机选择、按序选择等方式选择的区块链元数据服务器节点中的一个元数据服务器节点。
步骤2,第一元数据服务器节点M1从安全服务器查询客户端公钥。
步骤3,客户端与第一元数据服务器节点M1通过非对称加密实现双向身份认证。
步骤520,访问授权验证和授权背书。
在本公开的一些实施例中,步骤520可以实现为图3实施例的步骤320或图4实施例的步骤420。
在本公开的一些实施例中,如图5所示,步骤510可以步骤4-步骤10,其中:
步骤4,客户端向第一元数据服务器节点M1发起访问授权提案Proposal,其中,所述访问授权提案为读访问授权提案或写访问授权提案。
步骤5,第一元数据服务器节点M1检查本次访问授权提案Proposal的合法性,包括提案签名、提案格式等。若检查通过,第一元数据服务器节点M1调用智能合约执行访问控制策略验证客户端权限,其中,所述客户端权限为客户端读权限或客户端写权限。
步骤6,第一元数据服务器节点M1向其它元数据服务器节点Mi广播所述访问授权提案Proposal,其中,其它元数据服务器节点Mi为区块链内除第一元数据服务器节点M1外的其它元数据服务器节点Mi。
步骤7,其它元数据服务器节点Mi调用智能合约执行访问控制策略验证客户端权限,返回验证结果给第一元数据服务器节点M1;若第一元数据服务器节点M1接收到的一致验证结果大于预定阈值N,则调用智能合约执行访问授权提案背书Proposal_Sign并查询元数据Meta_Data,其中,所述访问授权提案背书Proposal_Sign包括读访问授权提案背书或写访问授权提案背书。
在本公开一些实施例中,所述预定阈值N可以为元数据服务器节点Mi个数的一半向上取整。
步骤8,第一元数据服务器节点M1返回访问授权背书提案响应Proposal_Sign和元数据Meta_Data给客户端,其中,所述访问授权背书提案响应包括读访问授权背书提案响应或写访问授权背书提案响应。
步骤9,第一元数据服务器节点M1将访问授权提案背书Proposal、访问授权背书提案响应Proposal_Sign和元数据Meta_Data打包生成交易TS给排序节点Oi。
步骤10,排序节点Oi检查交易TS,包括交易背书合法性、交易类型等;交易TS进入等待状态,若交易在预定时间t内未被触发则将被判为无效提案。
在本公开的一些实施例中,本公开对象存储***访问控制方法可以包括:如果客户端发起的是读操作访问授权请求则执行步骤530,如果客户端发起的是写操作访问授权请求则执行步骤540。
步骤530,客户端读操作。客户端向对象存储设备读取对象数据,并将本次读操作行为日志上链。
在本公开的一些实施例中,步骤530可以实现为图3实施例的步骤330。
在本公开的一些实施例中,如图5所示,步骤530可以步骤11-步骤16,其中:
步骤11,客户端向对象存储设备发送读操作请求,其中,读操作请求包括读操作授权背书提案响应Proposal_Response。
步骤12,对象存储设备通过安全服务器获取客户端公钥验证客户端身份;若验证通过,对象存储设备向区块链排序节点Oi广播请求验证读操作授权背书提案响应Proposal_Response;排序节点Oi调用智能合约查询是否存在对应的交易TS,返回检查响应给对象存储设备。
步骤13,对象存储设备返回读取的对象数据给客户端。
步骤14,对象存储设备同时广播读取响应Read_Response给排序节点Oi。
步骤15,排序节点Oi接收到读取响应Read_Response,触发智能合约将本次读操作交易TS进入排序,生成区块Block。
步骤16,排序节点Oi广播区块Block到元数据服务器节点;元数据服务器节点Mi验证区块Block的有效性后,将区块Block写入分布式账本。
步骤540,客户端写操作。客户端向对象存储设备写入对象数据,并将本次写操作行为日志上链。
在本公开的一些实施例中,步骤540可以实现为图4实施例的步骤430。
在本公开的一些实施例中,如图5所示,步骤540可以步骤17-步骤22,其中:
步骤17,客户端向对象存储设备发送写操作请求,其中,写操作请求包括写操作授权背书提案响应Proposal_Response。
步骤18,对象存储设备通过安全服务器获取客户端公钥验证客户端身份,若验证通过,则向区块链排序节点Oi广播请求验证写操作授权背书提案响应Proposal_Response;排序节点Oi调用智能合约查询是否存在对应的交易TS,返回检查响应给对象存储设备。
步骤19,对象存储设备存储客户端写入的对象数据。
步骤20,对象存储设备同时广播写入响应Write_Response给排序节点Oi。
步骤21,排序节点Oi接收到写入响应Write_Response后,触发智能合约将本次写操作交易TS进入排序,生成区块Block。
步骤22,排序节点Oi广播区块Block到元数据服务器节点;元数据服务器节点点Mi验证区块Block的有效性后,将区块Block写入分布式账本。
步骤550,元数据上链。客户端完成写操作触发元数据服务器节点执行智能合约更新元数据。
在本公开的一些实施例中,步骤550可以实现为图4实施例的步骤440。
在本公开的一些实施例中,如图5所示,步骤550可以步骤23-步骤29,其中:
步骤23,客户端完成写操作,对象存储设备按序选择一个提案更新元数据服务器节点Mj,发送元数据更新提案Meta_Update给提案更新元数据服务器节点Mj。
步骤24,提案更新元数据服务器节点Mj验证元数据更新提案。
步骤25,提案更新元数据服务器节点Mj同时将元数据更新提案广播给其它元数据服务器节点Mi进行验证,其中,其它元数据服务器节点Mi为区块链中除所述提案更新元数据服务器节点Mj外的其它元数据服务器节点Mi。
步骤26,提案更新元数据服务器节点Mj接收到的一致验证响应大于预定值n,则调用智能合约执行元数据更新背书Meta_Update_Sign,生成元数据更新背书响应Meta_Update_Respons。
在本公开一些实施例中,所述预定值n可以为元数据服务器节点Mi个数的一半向上取整。
步骤27,提案更新元数据服务器节点Mj将元数据更新提案Meta_Update、元数据更新背书Meta_Update_Sign和元数据更新背书响应Meta_Update_Respons打包成交易TS,将交易TS广播到排序节点Oi。
步骤28,排序节点Oi检查交易TS,将交易TS直接进入排序状态,生成区块Block。
步骤29,排序节点Oi广播区块Block到元数据服务器节点Mi;元数据服务器节点Mi验证区块Block的有效性后,将区块Block写入分布式账本。
基于本公开上述实施例提供的对象存储***访问控制方法,是一种基于区块链的对象存储***访问控制方法,采用元数据服务器节点和排序节点通过点对点网络构成基于区块链的访问控制设备,将元数据写到分布式账本,并将访问控制策略写入智能合约。本公开上述实施例客户端通过智能合约验证访问权限并获取元数据后访问对象数据进行操作,最后将操作日志行为写到分布式账本中。
本公开上述实施例采用区块链网络作为访问授权中心且元数据上链,增强了***可靠性及元数据的可信性与一致性;通过智能合约实现访问控制策略自动强制执行且智能合约可升级,无需依赖可信第三方;操作行为日志存储在分布式账本,审计容易更可信。
下面通过具体实施例对本公开对象存储***访问控制方法进行说明。
本公开所实现的基于区块链的对象存储***访问控制方法在实现基于云服务的对象存储***用户访问控制管理实施例流程可以包括步骤61至步骤65,其中:
步骤61,云平台管理者根据用户访问控制策略开发智能合约,并将智能合约部署在云平台4个元数据服务器节点。
步骤62,用户通过客户端从云平台安全服务器申请获取用户的公私钥,并获取元数据服务器节点和对象存储设备的公钥。
步骤63,用户通过客户端向云平台对象存储发起读操作请求。
在本公开的一些实施例中,步骤63可以步骤63-1到步骤63-14,其中:
步骤63-1,用户的客户端与元数据服务器节点连接并通过非对称加密实现双向身份认证。
步骤63-2,用户通过客户端向第一元数据服务器节点M1发起读操作授权提案Proposal;
步骤63-3,第一元数据服务器节点M1检查本次读操作授权提案Proposal的合法性,调用智能合约执行访问控制策略验证客户端读权限;同时向其它元数据服务器节点Mi广播读操作授权提案Proposal。
步骤63-4,元数据服务器节点Mi调用智能合约执行访问控制策略验证客户端读权限,返回验证结果给M1。
步骤63-5,第一元数据服务器节点M1接收到大于2个一致验证结果,调用智能合约执行读/写访问授权提案背书Proposal_Sign并查询元数据Meta_Data,返回读操作授权背书提案响应Proposal_Response和Meta_Data给客户端。
步骤63-6,第一元数据服务器节点M1将(Proposal,Proposal_Sign,Proposal_Response)打包生成交易TS给排序节点Oi;
步骤63-7,排序节点Oi检查TS,包括交易背书合法性、交易类型等,交易TS进入等待状态。
步骤63-8,用户通过客户端向对象存储设备发送读操作请求,请求包括读操作授权背书提案响应Proposal_Response。
步骤63-9,对象存储设备通过安全服务器获取客户端公钥验证用户身份;验证通过,向区块链排序节点Oi广播请求验证Proposal_Response。
步骤63-10,排序节点Oi查询存在对应的TS,返回响应给对象存储设备。
步骤63-11,对象存储设备返回读取的对象数据给用户,同时广播读取响应Read_Response给Oi。
步骤63-12,排序节点Oi接收到Read_Response触发智能合约将本次读操作交易TS进入排序,生成区块Block。
步骤63-13,排序节点Oi广播区块Block到元数据服务器节点Mi。
步骤63-14,排序节点Oi验证区块Block的有效性后,将区块Block写入分布式账本。
步骤64,用户通过客户端向云平台对象存储发起写操作请求。
在本公开的一些实施例中,步骤64可以步骤64-1到步骤64-11,其中:
步骤64-1,执行63-1至63-10步骤,其中用户通过客户端发起的访问授权对应为写操作授权。
步骤64-2,对象存储设备存储客户端写入的对象数据给客户端,同时广播写入响应Write_Response给排序节点Oi。
步骤64-3,排序节点Oi接收到Write_Response触发智能合约将本次读操作交易TS排序,生成区块Block。
步骤64-4,排序节点Oi广播区块Block到元数据服务器节点Mi。
步骤64-5,元数据服务器节点Mi验证区块Block的有效性后,将区块Block写入分布式账本。
步骤64-6,对象存储设备按序选择一个提案更新元数据服务器节点Mj,发送元数据更新提案Meta_Update给提案更新元数据服务器节点Mj。
步骤64-7,提案更新元数据服务器节点Mj验证Meta_Update,可同时Meta_Update广播给其它元数据服务器节点Mi进行验证。
步骤64-8,提案更新元数据服务器节点Mj接收到大于2个一致验证响应,调用智能合约执行元数据更新背书Meta_Update_Sign,生成元数据更新背书响应Meta_Update_Respons,并将元数据更新提案Meta_Update、元数据更新背书Meta_Update_Sign和元数据更新背书响应Meta_Update_Respons打包成交易TS,将TS广播到排序节点Oi。
步骤64-9,排序节点Oi检查TS,包括交易背书合法性、交易类型,交易TS直接进入排序状态,生成区块。
步骤64-10,排序节点Oi广播区块Block到元数据服务器节点Mi。
步骤64-11,元数据服务器节点Mi验证区块Block的有效性后,将区块Block写入分布式账本。
步骤65,用户或第三方审计可通过云平台提供的区块链浏览器调用智能合约查询用户的读/写操作行为日志。
基于本公开上述实施例提供的对象存储***访问控制方法,利用区块链的智能合约、分布式账本等技术实现了对象存储***访问的可靠认证授权和可信日志审计具备以下优点:元数据服务器采用区块链网络架构且元数据上链,增强了***可靠性及元数据的可信性与一致性;智能合约实现访问控制策略自动强制执行且智能合约可升级,无需依赖可信第三方;操作行为日志存储在分布式账本,审计容易更可信。
根据本公开的另一方面,提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例(例如图2-图5任一实施例)所述的对象存储***访问控制方法。
基于本公开上述实施例提供的计算机可读存储介质,采用元数据服务器节点和排序节点通过点对点网络构成基于区块链的访问控制设备,将元数据写到分布式账本,并将访问控制策略写入智能合约。本公开上述实施例客户端通过智能合约验证访问权限并获取元数据后访问对象数据进行操作,最后将操作日志行为写到分布式账本中。
本公开上述实施例采用区块链网络作为访问授权中心且元数据上链,增强了***可靠性及元数据的可信性与一致性;通过智能合约实现访问控制策略自动强制执行且智能合约可升级,无需依赖可信第三方;操作行为日志存储在分布式账本,审计容易更可信。
在上面所描述的元数据服务器节点11和排序节点12可以实现为用于执行本申请所描述功能的通用处理器、可编程逻辑控制器(PLC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
Claims (18)
1.一种对象存储***访问控制设备,其特征在于,包括:
由元数据服务器节点和排序节点构成的区块链网络;
区块链网络,用于将对象存储***的访问控制策略写入智能合约并运行在元数据服务器节点;并将文件数据的元数据存储在区块链的分布式账本中。
2.根据权利要求1所述的对象存储***访问控制设备,其特征在于,
客户端,用于通过区块链的智能合约验证访问权限并获取元数据;再访问对象存储设备的对象数据并进行相应操作。
3.根据权利要求1或2所述的对象存储***访问控制设备,其特征在于,
区块链网络,用于将客户端对对象数据生命周期内的操作行为日志写入到区块链分布式账本中。
4.根据权利要求1或2所述的对象存储***访问控制设备,其特征在于,
元数据服务节点,具备背书和记账功能,用于访问授权背书生成交易、验证交易并维护账本;
排序节点,用于将交易排序生成区块。
5.根据权利要求1或2所述的对象存储***访问控制设备,其特征在于,
区块链网络,用于在客户端向对象存储发起读操作请求的情况下,与客户端进行双向身份认证;通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端,以便客户端访问对象存储设备的对象数据并进行读操作;将客户端的本次读操作行为日志写入分布式账本。
6.根据权利要求1或2所述的对象存储***访问控制设备,其特征在于,
区块链网络,用于在客户端向对象存储发起写操作请求的情况下,与客户端进行双向身份认证;通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端,以便客户端访问对象存储设备的对象数据并进行写操作;将客户端的本次写操作行为日志写入分布式账本;执行智能合约更新元数据。
7.一种对象存储***,其特征在于,包括对象存储设备和如权利要求1-6中任一项所述的对象存储***访问控制设备。
8.一种对象存储***访问控制方法,其特征在于,包括:
采用元数据服务器节点和排序节点构成的区块链网络;
区块链网络将对象存储***的访问控制策略写入智能合约并运行在元数据服务器节点;
区块链网络将文件数据的元数据存储在区块链的分布式账本中。
9.根据权利要求8所述的对象存储***访问控制方法,其特征在于,还包括:
元数据服务器节点在客户端向对象存储发起读操作请求的情况下,与客户端进行双向身份认证;
元数据服务器节点通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端;
客户端访问对象存储设备的对象数据并进行读操作;
区块链网络将客户端的本次读操作行为日志写入分布式账本。
10.根据权利要求8所述的对象存储***访问控制方法,其特征在于,还包括:
元数据服务器节点在客户端向对象存储发起写操作请求的情况下,与客户端进行双向身份认证;
元数据服务器节点通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端;
客户端访问对象存储设备的对象数据并进行写操作;
区块链网络将客户端的本次写操作行为日志写入分布式账本;
区块链网络执行智能合约更新元数据。
11.根据权利要求9或10所述的对象存储***访问控制方法,其特征在于,所述元数据服务器节点通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端包括:
客户端向第一元数据服务器节点发起访问授权提案,其中,所述访问授权提案为读访问授权提案或写访问授权提案;
第一元数据服务器节点检查本次访问授权提案的合法性;
若检查通过,第一元数据服务器节点调用智能合约执行访问控制策略验证客户端权限,其中,所述客户端权限为客户端读权限或客户端写权限;
第一元数据服务器节点向其它元数据服务器节点广播所述访问授权提案,其中,其它元数据服务器节点为区块链内除第一元数据服务器节点外的其它元数据服务器节点。
12.根据权利要求11所述的对象存储***访问控制方法,其特征在于,所述元数据服务器节点通过区块链的智能合约验证客户端的访问权限,并返回元数据给客户端包括:
其它元数据服务器节点调用智能合约执行访问控制策略验证客户端权限,返回验证结果给第一元数据服务器节点;
若第一元数据服务器节点接收到的一致验证结果大于预定阈值,则调用智能合约执行访问授权提案背书并查询元数据,其中,所述访问授权提案背书包括读访问授权提案背书或写访问授权提案背书;
第一元数据服务器节点返回访问授权背书提案响应和元数据给客户端,其中,所述访问授权背书提案响应包括读访问授权背书提案响应或写访问授权背书提案响应;
第一元数据服务器节点将访问授权提案背书、访问授权背书提案响应和元数据打包生成交易给排序节点;
排序节点检查交易,交易进入等待状态,若交易在预定时间内未被触发则将被判为无效提案。
13.根据权利要求9所述的对象存储***访问控制方法,其特征在于,所述客户端访问对象存储设备的对象数据并进行读操作包括:
客户端向对象存储设备发送读操作请求,其中,读操作请求包括读操作授权背书提案响应;
对象存储设备通过安全服务器获取客户端公钥验证客户端身份,若验证通过,对象存储设备向区块链排序节点广播请求验证读操作授权背书提案响应;
排序节点调用智能合约查询是否存在对应的交易,返回检查响应给对象存储设备;
对象存储设备返回读取的对象数据给客户端,同时广播读取响应给排序节点。
14.根据权利要求13所述的对象存储***访问控制方法,其特征在于,所述区块链网络将客户端的本次读操作行为日志写入分布式账本包括:
排序节点接收到读取响应,触发智能合约将本次读操作交易进入排序,生成区块;
排序节点广播区块到元数据服务器节点;
元数据服务器节点验证区块的有效性后,将区块写入分布式账本。
15.根据权利要求10所述的对象存储***访问控制方法,其特征在于,所述客户端访问对象存储设备的对象数据并进行写操作包括:
客户端向对象存储设备发送写操作请求,其中,写操作请求包括写操作授权背书提案响应;
对象存储设备通过安全服务器获取客户端公钥验证客户端身份,若验证通过,则向区块链排序节点广播请求验证写操作授权背书提案响应;
排序节点调用智能合约查询是否存在对应的交易,返回检查响应给对象存储设备;
对象存储设备存储客户端写入的对象数据,同时广播写入响应给排序节点。
16.根据权利要求15所述的对象存储***访问控制方法,其特征在于,所述区块链网络将客户端的本次写操作行为日志写入分布式账本包括:
排序节点接收到写入响应后,触发智能合约将本次写操作交易排序,生成区块;
排序节点广播区块到元数据服务器节点;
元数据服务器节点验证区块的有效性后,将区块写入分布式账本。
17.根据权利要求10、15和16中任一项所述的对象存储***访问控制方法,其特征在于,所述区块链网络执行智能合约更新元数据包括:
客户端完成写操作,对象存储设备按序选择一个提案更新元数据服务器节点,发送元数据更新提案给提案更新元数据服务器节点;
提案更新元数据服务器节点验证元数据更新提案,同时将元数据更新提案广播给其它元数据服务器节点进行验证,其中,其它元数据服务器节点为区块链中除所述提案更新元数据服务器节点外的其它元数据服务器节点;
提案更新元数据服务器节点接收到的一致验证响应大于预定值,则调用智能合约执行元数据更新背书,生成元数据更新背书响应,并将元数据更新提案、元数据更新背书和元数据更新背书响应打包成交易,将交易广播到排序节点;
排序节点检查交易,将交易直接进入排序状态,生成区块;
排序节点广播区块到元数据服务器节点;
元数据服务器节点验证区块的有效性后,将区块写入分布式账本。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如权利要求8-17中任一项所述的对象存储***访问控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010885839.3A CN114117507B (zh) | 2020-08-28 | 2020-08-28 | 对象存储***及其访问控制方法和设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010885839.3A CN114117507B (zh) | 2020-08-28 | 2020-08-28 | 对象存储***及其访问控制方法和设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114117507A CN114117507A (zh) | 2022-03-01 |
CN114117507B true CN114117507B (zh) | 2024-01-30 |
Family
ID=80375129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010885839.3A Active CN114117507B (zh) | 2020-08-28 | 2020-08-28 | 对象存储***及其访问控制方法和设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114117507B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115664665A (zh) * | 2022-09-19 | 2023-01-31 | 中国国土勘测规划院 | 记账方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468295A (zh) * | 2015-11-14 | 2016-04-06 | 华中科技大学 | 一种实现对象存储的安全防护访问方法及*** |
KR20190106551A (ko) * | 2018-03-09 | 2019-09-18 | 삼성에스디에스 주식회사 | 블록체인 기반의 접근 제어 장치 및 그 동작 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2014363926A1 (en) * | 2013-12-11 | 2015-08-27 | Intralinks, Inc. | Customizable secure data exchange environment |
US11153092B2 (en) * | 2016-08-30 | 2021-10-19 | Commonwealth Scientific And Industrial Research Organisation | Dynamic access control on blockchain |
WO2020081727A1 (en) * | 2018-10-16 | 2020-04-23 | Eluvio, Inc. | Decentralized content fabric |
JP2020126409A (ja) * | 2019-02-04 | 2020-08-20 | 株式会社日立製作所 | データ管理システムおよびデータ管理方法 |
-
2020
- 2020-08-28 CN CN202010885839.3A patent/CN114117507B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468295A (zh) * | 2015-11-14 | 2016-04-06 | 华中科技大学 | 一种实现对象存储的安全防护访问方法及*** |
KR20190106551A (ko) * | 2018-03-09 | 2019-09-18 | 삼성에스디에스 주식회사 | 블록체인 기반의 접근 제어 장치 및 그 동작 방법 |
Non-Patent Citations (1)
Title |
---|
高可信云存储技术研究;王峰 等;电信网技术(第05期);第30-33页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114117507A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889503B (zh) | 基于区块链的身份管理方法、电子装置及存储介质 | |
CN112307455B (zh) | 基于区块链的身份认证方法及装置、电子设备 | |
CN111461723B (zh) | 基于区块链的数据处理***及方法、装置 | |
WO2020134942A1 (zh) | 身份核实方法及其*** | |
US11716357B2 (en) | Data access policies | |
CN110569658B (zh) | 基于区块链网络的用户信息处理方法、装置、电子设备及存储介质 | |
KR20190042567A (ko) | 블록체인 상의 동적 액세스 제어 | |
CN102546664A (zh) | 用于分布式文件***的用户与权限管理方法及*** | |
TWI623904B (zh) | 基於區塊鏈智能合約的函證系統及其方法 | |
CN110222531A (zh) | 一种访问数据库的方法、***及设备 | |
WO2022205965A1 (zh) | 跨链访问控制方法和装置 | |
US11997210B2 (en) | Protection of online applications and webpages using a blockchain | |
CN110210863A (zh) | 区块链安全交易方法、装置、电子设备及存储介质 | |
CN113610528A (zh) | 基于区块链的管理***、方法、设备及存储介质 | |
CN114117507B (zh) | 对象存储***及其访问控制方法和设备、存储介质 | |
US20040243828A1 (en) | Method and system for securing block-based storage with capability data | |
CN113112354A (zh) | 一种区块链网络的交易处理方法、区块链网络及存储介质 | |
CN115001707B (zh) | 基于区块链的设备认证方法和相关设备 | |
CN115767552A (zh) | 车辆解锁方法、装置、计算机设备和存储介质 | |
CN113221164A (zh) | 基于区块链的数据核验方法及装置、电子设备 | |
CN112104701B (zh) | 一种跨链通信的方法、装置、网络节点和存储介质 | |
CN112104607B (zh) | 跨链通信的方法、装置、网络节点和存储介质 | |
KR102523571B1 (ko) | 블록체인 네트워크 상의 특수 목적 토큰을 이용한 탈중앙화 자격 증명 방법 및 그 시스템 | |
US20230222509A1 (en) | Method, terminal, and coin register for transmitting electronic coin data sets | |
US20230224309A1 (en) | Method and system for digital identity and transaction verification |
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 |