CN114116609A - 一种基于ipfs的空间权限管理方法、设备及介质 - Google Patents
一种基于ipfs的空间权限管理方法、设备及介质 Download PDFInfo
- Publication number
- CN114116609A CN114116609A CN202010887511.5A CN202010887511A CN114116609A CN 114116609 A CN114116609 A CN 114116609A CN 202010887511 A CN202010887511 A CN 202010887511A CN 114116609 A CN114116609 A CN 114116609A
- Authority
- CN
- China
- Prior art keywords
- space
- name
- user
- management
- authority
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
- G06F16/1837—Management specially adapted to peer-to-peer storage networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/602—Providing cryptographic facilities or services
-
- 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
- G06F21/6227—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 where protection concerns the structure of data, e.g. records, types, queries
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种基于IPFS的空间权限管理方法、设备及介质,包括:创建空间,确定出空间的数据结构;其中,所述空间包括命名空间与空间权限,所述空间的数据结构包括命名空间的数据结构与空间权限的数据结构,空间权限的数据结构包括共享类型与权限列表,所述命名空间的数据结构包括空间ID、空间名称、空间地址、空间地址公钥、算法名称与创建时间;根据所述空间的数据结构完成空间权限管理。本说明书实施例结合安全可信的区块链技术,对IPFS系统进行深度改造,实现空间权限的管理,进一步构建安全、可控、可信的文件系统。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于IPFS的空间权限管理方法、设备及介质。
背景技术
IPFS是一个完全开放的网络文件系统,任何单位、组织及个人都可以向系统中存储文件与访问文件。IPFS是一个去中心化的点对点网络,对于网络空间的划分采用了一种自我认证命名方案(Self-Certified FileSystem)。
现有技术中,文件系统中SFS对空间权限管理时存在很多不足,无法满足当前用户需求。
发明内容
有鉴于此,本申请实施例提供了一种基于IPFS的空间权限管理方法、设备及介质,用于解决现有技术中文件系统中SFS对空间权限管理时存在很多不足,无法满足当前用户需求的问题。
本申请实施例采用下述技术方案:
本申请实施例提供一种基于IPFS的空间权限管理方法,所述方法包括:
创建空间,确定出空间的数据结构;其中,所述空间包括命名空间与空间权限,所述空间的数据结构包括命名空间的数据结构与空间权限的数据结构,空间权限的数据结构包括共享类型与权限列表,所述命名空间的数据结构包括空间ID、空间名称、空间地址、空间地址公钥、算法名称与创建时间;
根据所述空间的数据结构完成空间权限管理。
需要说明的是,本说明书实施例结合安全可信的区块链技术,对IPFS系统进行深度改造,实现空间权限的管理,进一步构建安全、可控、可信的文件系统。
本申请实施例还提供一种基于IPFS的空间权限管理设备,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
创建空间,确定出空间的数据结构;其中,所述空间包括命名空间与空间权限,所述空间的数据结构包括命名空间的数据结构与空间权限的数据结构,空间权限的数据结构包括共享类型与权限列表,所述命名空间的数据结构包括空间ID、空间名称、空间地址、空间地址公钥、算法名称与创建时间;
根据所述空间的数据结构完成空间权限管理。
本申请实施例还提供一种基于IPFS的空间权限管理介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
创建空间,确定出空间的数据结构;其中,所述空间包括命名空间与空间权限,所述空间的数据结构包括命名空间的数据结构与空间权限的数据结构,空间权限的数据结构包括共享类型与权限列表,所述命名空间的数据结构包括空间ID、空间名称、空间地址、空间地址公钥、算法名称与创建时间;
根据所述空间的数据结构完成空间权限管理。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本说明书实施例结合安全可信的区块链技术,对IPFS系统进行深度改造,实现空间权限的管理,进一步构建安全、可控、可信的文件系统。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例一提供的一种基于IPFS的空间权限管理方法的流程示意图;
图2为本说明书实施例二提供的一种基于IPFS的空间权限管理方法的流程示意图;
图3为本说明书实施例提供的文件系统总体结构示意图;
图4为本说明书实施例提供的空间权限的数据结构示意图。
具体实施方式
现有技术中,SFS提供了一种在全局命名空间中,通过加密分配的方式,构造自我认证名称的方法。任何用户都可以通过公钥体制的密码学算法生成一个密钥对,公钥的哈希值作为全局唯一的名字空间,所有用户平等共享全局命名空间,而不被任何中心化的实体控制。文件系统可以通过服务提供的公钥来验证名字空间的真实性。
SFS方案确实是一种空间划分与名称分配的有效管理方式,但并不是用户友好的方式。SFS方案将一长串的哈希值暴露为空间名称,这对于计算机处理URL的场景来说是没有任何问题的,但这并不适合于多种离线传播的场景。对于普通用户来说,哈希值是难以记忆、难以辨认的。哈希值形式的空间名字在离线传播过程中,容易出现拼写错误,传播效率低下;也容易出现通过出示假冒地址而进行欺诈的行为。
SFS方案实现了命名空间的自由管理,它不依赖于中心化的管理机制,任何人都可以自由、平等的发布自己的名字空间。但是,自由也带来了乱序,这种方案不适合需要严格秩序的应用场景。在政府、高校、科研院所、金融、商业联盟等组织中,更希望有一种可以严格规划、统一管理的空间划分方案。
虽然IPFS可以通过对等点连接(Peer Links)、域名记录(DNS TXT IPNSRecords)、可读可拼写可发音标识符解决方案(Proquint Pronounceable Identifiers)、短名称服务(Name Shortening Services)等,解决难以记忆、难以辨认的哈希值命名空间的问题,但仍然不能解决命名空间严格规划、统一管理的问题。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本说明书实施例一提供的一种基于IPFS的空间权限管理方法的流程示意图,本说明书实施例可以由文件系统的执行单元执行下述步骤,具体步骤可以包括:
步骤S101,创建空间,确定出空间的数据结构。
在本说明书实施例的步骤S101中,空间可以包括命名空间与空间权限,空间的数据结构包括命名空间的数据结构与空间权限的数据结构,空间权限的数据结构包括共享类型与权限列表,命名空间的数据结构包括空间ID、空间名称、空间地址、空间地址公钥、算法名称与创建时间。
进一步的,在本说明书实施例的步骤S101中,权限列表可以包括管理员列表、用户组列表及用户列表,所述共享类型可以包括完全共享及条件共享。
进一步的,在本说明书实施例的步骤S101中,管理员列表包括多名管理员,每名管理员包括管理员ID及管理员名称;所述用户组列表包括多个用户组,每个用户组包括用户组ID、用户组名称及用户组对应的权限;用户列表包括多名用户,每名用户包括用户ID、用户名称及用户对应的权限。
进一步的,在本说明书实施例的步骤S101中,条件共享是指只有符合预设条件的用户才能访问文件所述完全共享是指任何用户皆可访问所述文件。
进一步的,在本说明书实施例的步骤S101中,符合预设条件的用户包括:用户处于权限列表中的管理员列表、用户列表或者用户所属用户组在用户组列表中。
步骤S102,根据所述空间的数据结构完成空间权限管理。
与本说明书实施例一相对应的是,图2为本说明书实施例二提供的一种基于IPFS的空间权限管理方法的流程示意图,本说明书实施例可以由文件系统的执行单元执行下述步骤,具体步骤可以包括:
步骤S201,创建空间,确定出空间的数据结构。
在本说明书实施例的步骤S201中,与本说明书实施例的步骤S101相同,不再赘述。
步骤S202,根据所述空间的数据结构完成空间权限管理。
在本说明书实施例的步骤S202中,本步骤具体可以包括:
空间申请客户端接收用户节点发送的创建空间的请求信息,按照预设的非对称加密算法生成密钥对,将公钥作为空间地址公钥,将公钥的哈希值作为空间地址,接收用户节点根据空间地址公钥与空间地址的验证签名,然后将用户ID、空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳、数字签名发送到空间管理系统,所述空间管理系统将用户ID、空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳、数字签名保存为创建空间申请信息;
空间管理委员会的委员节点通过空间管理客户端从空间管理系统中读取所述创建空间申请信息,并对空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳进行签名,然后将管理委员会委员ID、空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳与数字签名发送到空间管理系统,空间管理系统将所述管理委员会委员ID、空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳与数字签名保存为创建空间审批信息;
当空间管理系统收集到的同一空间ID的创建空间审批信息数目超过空间管理委员会委员的预设数量时,将与所述空间有关的创建空间申请信息以及创建空间审批信息发送到空间管理智能合约,其中,预设数量可以为空间管理委员会委员的一半;
空间管理智能合约验证创建空间申请信息以及所有创建空间审批信息中的空间ID、空间名称、空间地址、空间地址公钥、算法名称与当前系统时间戳是否相同,如果相同,检查创建空间审批信息的数目是否超过空间管理委员会委员预设数量;
如果创建空间审批信息的数目超过空间管理委员会委员预设数量,空间管理智能合约依据空间管理委员会委员ID向空间管理委员会智能合约查询对应的委员信息,如果查询到对应的委员信息,检查新增空间ID是否与已有的空间ID冲突;
如果新增空间ID与已有的空间ID不冲突,空间管理智能合约对创建空间申请信息的数字签名与创建空间审核信息的数字签名进行验证;
若创建空间申请信息的数字签名与创建空间审核信息的数字签名通过验证,空间管理智能合约将创建空间申请信息中的空间ID、空间名称、空间地址、空间地址公钥、算法名称保存在区块链账本中;
空间管理智能合约将用户ID作为管理员ID、用户名称作为管理员名称,构造出所述权限列表,将空间权限的共享类型默认设置为完全共享;其中,
所述验证签名为用户节点对空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳进行签名得到,所述创建空间的请求信息包括空间ID、空间名称与算法名称。
需要说明的是,创建空间申请信息中的时间戳与创建空间审批信息中的时间戳应当在预定的时间范围内,即创建空间申请信息中的时间戳减去创建空间审批信息中的时间戳的绝对值小于预定的值,比如,预定的值可以为30分钟。时间戳可以用来防止数字签名盗用、数据重放攻击等。
进一步的,在本说明书实施例的步骤S202中,空间管理智能合约对创建空间申请信息的数字签名进行验证,具体包括:
所述空间管理智能合约依据用户ID从实名数字身份智能合约中获取公钥;使用所述公钥解密数字签名得到空间ID、空间名称、空间地址、空间地址公钥、算法名称与时间戳,比较所述创建空间申请信息中的空间ID与从数字签名中解密出来的空间ID是否相同,如果相同,比较创建空间申请信息中的空间名称与从数字签名中解密出来的空间名称是否相同,如果相同,比较创建空间申请信息中的空间地址与从数字签名中解密出来的空间地址是否相同,如果相同,比较创建空间申请信息中的空间地址公钥与从数字签名中解密出来的空间地址公钥是否相同,如果相同,比较创建空间申请信息中的算法名称与从数字签名中解密出来的算法名称是否相同,如果相同,比较创建空间申请信息中的时间戳与从数字签名中解密出来的时间戳是否相同,如果相同,则所述创建空间申请信息的数字签名通过验证。
需要说明的是,创建空间申请信息中的时间戳应当在预定的时间范围内,即数字签名中解密出来的时间戳减去创建空间申请信息中的时间戳的绝对值小于预定的值,比如,预定的值可以为120分钟。
进一步的,在本说明书实施例的步骤S202中,空间管理智能合约对创建空间审核信息的数字签名进行验证,具体包括:
所述空间管理智能合约依据空间管理委员会委员ID从实名数字身份智能合约中获取公钥,使用所述公钥解密数字签名得到空间ID、空间名称、空间地址、空间地址公钥、算法名称、空间管理委员会委员ID与时间戳;
比较所述创建空间审批信息中的空间管理委员会委员ID与从数字签名中解密出来的空间管理委员会委员ID是否相同,如果相同,比较创建空间审批信息中的空间ID与从数字签名中解密出来的空间ID是否相同,如果相同,比较创建空间审批信息中的空间名称与从数字签名中解密出来的空间名称是否相同,如果相同,比较创建空间审批信息中的空间地址与从数字签名中解密出来的空间地址是否相同,如果相同,比较创建空间审批信息中的空间地址公钥与从数字签名中解密出来的空间地址公钥是否相同,如果相同,比较创建空间审批信息中的算法名称与从数字签名中解密出来的算法名称是否相同,如果相同,比较创建空间审批信息中的时间戳与从数字签名中解密出来的时间戳是否相同,如果相同,则所述创建空间审核信息的数字签名通过验证。
需要说明的是,创建空间审批信息中的时间戳应当在预定的时间范围内,即数字签名中解密出来的时间戳减去创建空间审批信息中的时间戳的绝对值小于预定的值,比如,预定的值可以为30分钟。
进一步的,在本说明书实施例的步骤S202中,空间的权限管理包括:写空间权限、访问空间权限、增加管理员权限、删除管理员权限、增加用户组权限、删除用户组权限、增加用户权限、删除用户权限、修改共享类型权限、查看目录权限、创建目录权限、修改目录权限、删除目录权限、查看文件信息列表权限、下载文件权限、上传文件权限、删除文件权限中的一项或多项。
所述空间的权限管理为访问空间权限,具体包括:
通过空间访问客户端将用户ID、第一时间戳与第一数字签名发送到联盟安全文件系统的空间访问控制模块;
所述联盟安全文件系统的空间访问控制模块依据用户ID从实名数字身份智能合约中获取第一公钥,使用第一公钥解密第一数字签名得到用户ID、时间戳、空间ID、读空间命令,若所述用户ID与从数字签名中解密出来的用户ID相同,并且,所述第一时间戳与从第一数字签名中解密出来的时间戳相同,如果相同,依据从第一数字签名中解密出来的空间ID,向空间权限管理智能合约查询出相应的空间权限数据,并检查空间权限数据的共享类型数据项,如果共享类型数据项为完全共享,则判定为任何用户都可以访问该空间,按照访问空间的具体命令,将目录、文件信息列表或者文件内容返回给空间访问客户端;
如果共享类型数据项为条件共享,联盟安全文件系统的空间访问控制模块依据用户ID从用户管理智能合约处获取用户信息,所述用户信息包括用户ID、用户名称、用户组ID;
联盟安全文件系统的空间访问控制模块从空间权限数据的管理员列表中查找与用户ID相匹配的数据项,如果没有找到相应的数据项,则继续从空间权限数据的用户列表中查找与用户ID相匹配的数据项,如果没有找到相应的数据项,则继续从空间权限数据的用户组列表中查找与用户组ID相匹配的数据项,如果仍然没有找到相应的数据项,则判定为没有访问权限;
如果从空间权限数据的管理员列表中,或者用户列表中,或者用户组列表中的任何一处能够找到匹配的数据项,都判定为有权限访问空间,按照访问空间的具体命令,将目录、文件信息列表或者文件内容返回给空间访问客户端。
需要说明的是,第一时间戳应当在预定的时间范围内,即数字签名中解密出来的时间戳减去第一时间戳的绝对值小于预定的值,比如,预定的值可以为5分钟。
所述空间的权限管理为写空间权限,具体包括:
通过空间访问客户端将用户ID、第二时间戳与第二数字签名发送到联盟安全文件系统的空间访问控制模块;
所述联盟安全文件系统的空间访问控制模块依据用户ID从实名数字身份智能合约中获取第二公钥,使用所述第二公钥解密第二数字签名得到用户ID、时间戳、空间ID、写空间命令,若用户ID与从第二数字签名中解密出来的用户ID相同,并且,所述第二时间戳与从第二数字签名中解密出来的时间戳相同,依据从第二数字签名中解密出来的空间ID,向空间权限管理智能合约查询出相应的空间权限数据,并检查空间权限数据的共享类型数据项,如果共享类型数据项为完全共享,则判定为任何用户都可以访问该空间,接着按照写空间的具体命令,创建目录、修改目录、删除目录、上传文件或删除文件;
如果共享类型数据项为条件共享,联盟安全文件系统的空间访问控制模块依据用户ID从用户管理智能合约处获取用户信息,其中,所述用户信息包括用户ID、用户名称与用户组ID;
联盟安全文件系统的空间访问控制模块从空间权限数据的管理员列表中查找与用户ID相匹配的数据项,如果能够找到相应的数据项,执行写空间的具体命令,创建目录、修改目录、删除目录、上传文件或者删除文件。
需要说明的是,第二时间戳应当在预定的时间范围内,即数字签名中解密出来的时间戳减去第二时间戳的绝对值小于预定的值,比如,预定的值可以为5分钟。
需要说明的是,本说明书实施例可以通过联盟组织、业务主题等策略要素,对文件存储的命名空间进行合理的规划,使文件存储的空间具有有序性、确定性;结合区块链不可篡改、不可抵赖的特性可以确保命名空间的真实性,防止欺诈。将文件存储的空间按照预制的规划策略进行安全隔离,并且文件存储空间规划策略通过联盟链智能合约控制,只有符合合约规则的读写操作才能成功。合理的存储空间规划策略与严格的智能合约控制机制,可以保证所有文件按照规划有序存放。
需要说明的是,本说明书实施例结合安全可信的区块链技术,对IPFS系统进一步进行深度改造,增加空间划分与访问控制机制,进一步构建安全、可控、可信、有序的大规模分布式联盟安全文件系统(Alliance Security File System,缩写为ASFS),旨在满足安全、保密场景下的数据有序存储、有序交换与有序分享。
需要说明的是,本说明书实施例的文件系统总体结构可以包括:空间管理子系统、空间管理委员会子系统、联盟安全文件子系统、实名数字身份子系统、用户管理子系统。空间管理子系统包括:空间申请客户端、空间管理客户端、空间管理系统、空间管理智能合约、空间权限管理客户端、空间权限管理智能合约、空间访问客户端。空间管理委员会子系统包括空间管理委员会管理客户端、空间管理委员会管理系统、空间管理委员会智能合约。联盟安全文件系统可以包括:空间访问控制模块、IPFS。参见图3,示出了文件系统总体结构示意图。下述为本说明书实施例中文件系统的各部分介绍:
空间的数据结构
本说明书实施例的空间的数据结构可以包括空间管理委员会委员的数据结构、命名空间的数据结构与空间权限的数据结构,具体的:
空间管理委员会委员的数据结构包括:委员ID、委员名称、是否有效、创建时间、更新时间6个字段;
命名空间的数据结构包括:空间ID、空间名称、空间地址、空间地址公钥、算法名称、创建时间6个字段。
空间权限的数据结构包括:共享类型、权限列表2部分内容。其中,权限列表包括:管理员列表、用户组列表及用户列表3部分内容。管理员列表中包括多名管理员,每名管理员包括:管理员ID及管理员名称2个数据项。用户组列表中包括多个用户组,每个用户组包括:用户组ID、用户组名称及用户组对应的权限3个数据项。用户列表中包括多名用户,每名用户包括:用户ID、用户名称及用户对应的权限3个数据项。参见图4,示出了空间权限的数据结构示意图。
空间的权限规则
1、空间管理委员会委员管理规则
空间管理委员会可以由2名及以上成员组成。可以依据不同应用场景的需求,通过系统配置参数具体设定空间管理委员会委员的最少人数,但无论如何都不应当少于2人;也可以依据不同应用场景的需求,通过系统配置参数具体设定用户管理委员会委员的最多人数,默认最多人数为15人。
同时,2名及以上的用户联合签名可以增加、注销、启用空间管理委员会委员。可以依据不同应用场景的需求通过系统配置参数具体设定管理空间管理委员会委员的用户最少人数,但无论如何都不应当少于2人。
此外,原始空间管理委员会委员可以由系统初始化配置参数设定。系统初始化时会读取系统配置参数,并进行规则检查,如果不符合规则,系统启动失败。
2、空间创建控制规则
用户发起创建新空间的申请,经过超过半数的空间管理委员会委员的同意及联合签名后,方可实施创建新空间。
3、空间访问控制规则
空间的共享类型包括2种:完全共享及条件共享。完全共享,即没有权限,任何用户都可以访问空间。条件共享是指只有符合指定条件的用户才能访问空间。访问条件的指定方式包括3种:管理员列表、组织列表、用户列表,凡在管理员列表或者用户列表中的用户都可访问空间,用户所属用户组在用户组列表中的用户也可以访问空间。
空间申请者自动成为管理员,将空间申请者ID作为管理员ID、空间申请者名称作为管理员名称,构造管理员数据项,添加到空间权限数据结构的管理员列表中。新建空间的共享类型默认为完全共享。
一个空间至少拥有一个管理员。管理员拥有的权限可以包括:配置空间权限、访问空间权限。其中,配置空间权限包括:增加管理员权限、删除管理员权限、增加用户组权限、删除用户组权限、增加用户权限、删除用户权限、修改共享类型权限。访问空间权限包括:查看目录权限、创建目录权限、修改目录权限、删除目录权限、查看文件信息列表权限、下载文件权限、上传文件权限、删除文件权限。
用户组或用户对应的权限包括:读、写2种权限。读权限包括:查看目录、查看文件信息列表、下载文件。写权限包括:创建目录、修改目录、删除目录、上传文件、删除文件。
空间管理委员会委员管理
1、增加委员
1.1、首先,用户从空间管理委员会管理客户端发起增加委员的请求。用户对委员ID、委员名称、当前系统时间戳进行签名,然后将委员ID、委员名称、用户ID、当前系统时间戳、数字签名发送到空间管理委员会管理系统。空间管理委员会管理系统将委员ID、委员名称、用户ID、当前系统时间戳、数字签名保存为增加委员申请信息。
1.2、其次,其他用户从空间管理委员会管理系统中读取增加委员申请信息,并对委员ID、委员名称、当前系统时间戳进行签名,然后将委员ID、委员名称、用户ID、当前系统时间戳、数字签名发送到空间管理委员会管理系统。空间管理委员会管理系统保存该增加委员申请信息。
1.3、当空间管理委员会管理系统收集到的同一委员ID的增加委员申请信息数目超过系统设定的管理空间管理委员会委员的用户最少人数时,将与该委员有关的所有的增加委员申请信息发送到空间管理委员会智能合约,比如,管理空间管理委员会委员的用户最少人数设定为2人。
1.4、空间管理委员会智能合约首先检查申请人的意见一致性。验证所有增加委员申请信息的委员ID、委员名称是否相同,如果不同,则判定为未达成一致意见,返回错误。
1.5、如果相同,空间管理委员会智能合约检查增加委员申请信息的数目是否超过系统设定的管理空间管理委员会委员的用户最少人数,如果没有达到这一条件,则判定为非法请求,予以驳回。如果达到这一条件,空间管理委员会智能合约检查新增委员ID是否与已有的委员ID冲突,如果冲突,则判定为重复增加,返回错误。如果不冲突,空间管理委员会智能合约检查当前有效空间管理委员会委员的人数,如果总的有效人数大于或者等于系统设定的空间管理委员会委员最多人数,则判定为委员名额已满,返回错误。
1.6、如果总的有效人数小于系统设定的空间管理委员会委员最多人数,空间管理委员会智能合约继续验证数字签名的合法性。对于所有的增加委员申请信息的数字签名进行如下的验证:依据用户ID从实名数字身份智能合约中获取公钥;使用公钥解密数字签名得到委员ID、委员名称、时间戳;比较增加委员申请信息中的委员ID与从数字签名中解密出来的委员ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,比较增加委员申请信息中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误。其中,增加委员申请信息中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如30分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
1.7、如果相同,空间管理委员会智能合约将增加委员申请信息中的委员ID、委员名称保存在区块链账本中。区块链账本中保存的委员信息的完整数据结构包括:委员ID、委员名称、是否有效、创建时间、更新时间。其中新建委员的是否有效字段设为有效,创建时间及更新时间均设为当前系统时间。
2、注销委员
2.1、首先,用户从空间管理委员会管理客户端发起注销委员的请求。用户对委员ID、当前系统时间戳进行签名,然后将委员ID、用户ID、当前系统时间戳、数字签名发送到空间管理委员会管理系统。空间管理委员会管理系统将委员ID、用户ID、当前系统时间戳、数字签名保存为注销委员申请信息。
2.2、其次,其他空间管理委员会委员从空间管理委员会管理系统中读取注销委员申请信息,并对委员ID、当前系统时间戳进行签名,然后将委员ID、用户ID、当前系统时间戳、数字签名发送到空间管理委员会管理系统。空间管理委员会管理系统保存注销委员申请信息。
2.3、当空间管理委员会管理系统收集到的同一委员ID的注销委员申请信息数目超过系统设定的管理空间管理委员会委员的用户最少人数时,将与该委员有关的所有的注销委员申请信息发送到空间管理委员会智能合约。
2.4、空间管理委员会智能合约首先检查申请人的意见一致性。验证所有注销委员申请信息的委员ID是否相同,如果不同,则判定为未达成一致意见,返回错误。
2.5、如果相同,空间管理委员会智能合约检查注销委员申请信息的数目是否超过系统设定的管理空间管理委员会委员的用户最少人数,如果没有达到这一条件,则判定为非法请求,予以驳回。如果达到这一条件,空间管理委员会智能合约检查当前有效空间管理委员会委员的人数,如果总的有效人数小于或者等于系统设定的空间管理委员会委员最少人数,则判定为委员人数不足,返回错误。如果总的有效人数大于系统设定的空间管理委员会委员最少人数,空间管理委员会智能合约依据注销委员申请信息中的委员ID作为检索条件,检查区块链账本中是否存在对应的委员,如果不存在,则判定为非法委员,返回错误。比如,空间管理委员会委员最少人数设定为2人。
2.6、如果存在,空间管理委员会智能合约继续验证数字签名的合法性。对于所有的注销委员申请信息的数字签名进行如下的验证:依据用户ID从实名数字身份智能合约中获取公钥;使用公钥解密数字签名得到委员ID、时间戳;比较注销委员申请信息中的委员ID与从数字签名中解密出来的委员ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,比较注销委员申请信息中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误。其中,注销委员申请信息中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如30分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
2.7、如果相同,空间管理委员会智能合约依据注销委员申请信息中的委员ID从区块链账本中查找委员信息,如果找不到目标委员,则判定为非法委员信息,返回错误。如果找到目标委员,空间管理委员会智能合约将委员信息的是否有效设为无效,用当前系统时间替换委员信息的更新时间,然后将委员信息重新保存在区块链账本中。
3、启用委员
3.1、首先,用户从空间管理委员会管理客户端发起启用委员的请求。用户对委员ID、当前系统时间戳进行签名,然后将委员ID、用户ID、当前系统时间戳、数字签名发送到空间管理委员会管理系统。空间管理委员会管理系统将委员ID、用户ID、当前系统时间戳、数字签名保存为启用委员申请信息。
3.2、其次,其他空间管理委员会委员从空间管理委员会管理系统中读取启用委员申请信息,并对委员ID、当前系统时间戳进行签名,然后将委员ID、用户ID、当前系统时间戳、数字签名发送到空间管理委员会管理系统。空间管理委员会管理系统将其他空间管理委员会委员的委员ID、用户ID、当前系统时间戳、数字签名保存为启用委员申请信息。
3.3、当空间管理委员会管理系统收集到的同一委员ID的启用委员申请信息数目超过系统设定的管理空间管理委员会委员的用户最少人数时,将与该委员有关的所有的启用委员申请信息发送到空间管理委员会智能合约,其中,管理空间管理委员会委员的用户最少人数可以设定为2人。
3.4、空间管理委员会智能合约首先检查申请人的意见一致性。验证所有启用委员申请信息的委员ID、委员名称是否相同,如果不同,则判定为未达成一致意见,返回错误。
3.5、如果相同,空间管理委员会智能合约检查启用委员申请信息的数目是否超过系统设定的管理空间管理委员会委员的用户最少人数,如果没有达到这一条件,则判定为非法请求,予以驳回。如果达到这一条件,空间管理委员会智能合约检查当前有效空间管理委员会委员的人数,如果总的有效人数大于或者等于系统设定的空间管理委员会委员最多人数,则判定为委员名额已满,返回错误。如果总的有效人数小于系统设定的空间管理委员会委员最多人数,空间管理委员会智能合约依据启用委员申请信息中的委员ID作为检索条件,检查区块链账本中是否存在对应的委员,如果不存在,则判定为非法委员,返回错误。
3.6、如果存在,空间管理委员会智能合约继续验证数字签名的合法性。对于所有的启用委员申请信息的数字签名进行如下的验证:依据用户ID从实名数字身份智能合约中获取公钥;使用公钥解密数字签名得到委员ID、时间戳;比较启用委员申请信息中的委员ID与从数字签名中解密出来的委员ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,比较启用委员申请信息中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误。其中,启用委员申请信息中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如30分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
3.7、如果相同,空间管理委员会智能合约依据启用委员申请信息中的委员ID从区块链账本中查找委员信息,如果找不到目标委员,则判定为非法委员信息,返回错误。如果找到目标委员,空间管理委员会智能合约将委员信息的是否有效设为有效,用当前系统时间替换委员信息的更新时间,然后将委员信息重新保存在区块链账本中。
4、创建空间
4.1、首先,用户从空间申请客户端发起创建空间的请求。空间申请客户端按照预设的非对称加密算法生成密钥对,公钥作为空间地址公钥,公钥的哈希值作为空间地址。然后,用户对空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳进行签名,然后将用户ID、空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳、数字签名发送到空间管理系统。空间管理系统将用户ID、空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳、数字签名保存为创建空间申请信息。其中,非对称加密算法可以为RSA、Elgamal、Rabin、ECC中的一种。
4.2、其次,空间管理委员会委员通过空间管理客户端从空间管理系统中读取创建空间申请信息,并对空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳进行签名,然后将管理委员会委员ID、空间ID、空间名称、空间地址、空间地址公钥、算法名称、空间当前系统时间戳、数字签名发送到空间管理系统。空间管理系统将管理委员会委员ID、空间ID、空间名称、空间地址、空间地址公钥、算法名称、空间当前系统时间戳、数字签名保存为创建空间审批信息。
4.3、当空间管理系统收集到的同一空间ID的创建空间审批信息数目超过空间管理委员会委员半数时,将与该空间有关的创建空间申请信息以及所有的创建空间审批信息发送到空间管理智能合约。
4.4、空间管理智能合约首先检查申请人与审批人意见的一致性。验证创建空间申请信息以及所有创建空间审批信息的空间ID、空间名称、空间地址、空间地址公钥、算法名称是否相同,如果不同,则判定为未达成一致意见,返回错误。如果相同,检查创建空间审批信息的数目是否超过空间管理委员会委员半数,如果没有达到这一条件,则判定为非法请求,予以驳回。
4.5、如果达到这一条件,空间管理智能合约依据空间管理委员会委员ID向空间管理委员会智能合约查询对应的委员信息,如果没有找到,则判定为非法委员,返回错误;如果找到,判断委员信息中的是否有效字段是否有效,如果委员信息中的是否有效字段为无效,则判定为无效委员,返回错误。如果委员信息中的是否有效字段为有效,空间管理智能合约检查新增空间ID是否与已有的空间ID冲突,如果冲突,则判定为重复增加,返回错误。
4.6、如果不冲突,空间管理智能合约继续验证数字签名的合法性。
对于创建空间申请信息的数字签名进行如下的验证:依据用户ID从实名数字身份智能合约中获取公钥;使用公钥解密数字签名得到空间ID、空间名称、空间地址、空间地址公钥、算法名称、时间戳;
比较创建空间申请信息中的空间ID与从数字签名中解密出来的空间ID是否相同,如果不同,则判定为非法签名,返回错误;
如果相同,比较创建空间申请信息中的空间名称与从数字签名中解密出来的空间名称是否相同,如果不同,则判定为非法签名,返回错误;
如果相同,比较创建空间申请信息中的空间地址与从数字签名中解密出来的空间地址是否相同,如果不同,则判定为非法签名,返回错误;
如果相同,比较创建空间申请信息中的空间地址公钥与从数字签名中解密出来的空间地址公钥是否相同,如果不同,则判定为非法签名,返回错误;
如果相同,比较创建空间申请信息中的算法名称与从数字签名中解密出来的算法名称是否相同,如果不同,则判定为非法签名,返回错误;
如果相同,比较创建空间申请信息中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;其中,创建空间申请信息中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如120分钟。
对于所有的创建空间审批信息的数字签名进行如下的验证:依据空间管理委员会委员ID从实名数字身份智能合约中获取公钥;使用公钥解密数字签名得到空间ID、空间名称、空间地址、空间地址公钥、算法名称、空间管理委员会委员ID、时间戳;
比较创建空间审批信息中的空间管理委员会委员ID与从数字签名中解密出来的空间管理委员会委员ID是否相同,如果不同,则判定为非法签名,返回错误;
如果相同,比较创建空间审批信息中的空间ID与从数字签名中解密出来的空间ID是否相同,如果不同,则判定为非法签名,返回错误;
如果相同,比较创建空间审批信息中的空间名称与从数字签名中解密出来的空间名称是否相同,如果不同,则判定为非法签名,返回错误;
如果相同,比较创建空间审批信息中的空间地址与从数字签名中解密出来的空间地址是否相同,如果不同,则判定为非法签名,返回错误;
如果相同,比较创建空间审批信息中的空间地址公钥与从数字签名中解密出来的空间地址公钥是否相同,如果不同,则判定为非法签名,返回错误;
如果相同,比较创建空间审批信息中的算法名称与从数字签名中解密出来的算法名称是否相同,如果不同,则判定为非法签名,返回错误;
如果相同,比较创建空间审批信息中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;其中,创建空间审批信息中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如30分钟。
时间戳用来防止数字签名盗用、数据重放攻击等。
4.7、空间管理智能合约将创建空间申请信息中的空间ID、空间名称、空间地址、空间地址公钥、算法名称保存在区块链账本中。区块链账本中保存的空间信息的完整数据结构包括:空间ID、空间名称、空间地址、空间地址公钥、算法名称、创建时间。其中,新建空间的创建时间设为当前系统时间。
4.8、空间管理智能合约保存新建空间权限信息。空间申请者自动成为管理员,将空间申请者ID作为管理员ID、空间申请者名称作为管理员名称,构造管理员数据项,添加到空间权限数据结构的管理员列表中。新建空间的共享类型默认为完全共享。
空间权限管理
1、增加管理员权限
1.1、发起请求。空间管理员通过空间权限管理客户端将管理员ID、时间戳,数字签名发送到联盟区块链系统的空间权限管理智能合约。
1.2、验证签名。联盟区块链系统的空间权限管理智能合约依据管理员ID从实名数字身份智能合约中获取公钥。使用公钥解密数字签名得到管理员ID、时间戳、空间ID、新增管理员ID、新增管理员名称。比较参数中的管理员ID与从数字签名中解密出来的管理员ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,比较参数中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,执行验证权限的步骤。其中,参数中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如5分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
1.3、验证权限。联盟区块链系统的空间权限管理智能合约依据从数字签名中解密出来的空间ID,查找相应的空间权限数据,如果没有找到,则判定为非法空间ID,返回错误;如果找到,联盟区块链系统的空间权限管理智能合约从空间权限数据的管理员列表中查找与参数管理员ID相匹配的数据项,如果没有找到相应的数据项,则判定为非法管理员,返回错误;如果有找到相应的数据项,执行保存管理员权限的步骤。
1.4、保存管理员权限。联盟区块链系统的空间权限管理智能合约从空间权限数据的管理员列表中查找与新增管理员ID相匹配的数据项,如果找到相应的数据项,则判定为重复添加管理员,返回错误;如果没有找到相应的数据项,则新增管理员ID作为管理员ID、新增管理员名称作为管理员名称,构造新的数据项添加到空间权限数据的管理员列表中,最后将新的空间权限数据保存到区块链账本中。
2、删除管理员权限
2.1、发起请求。空间管理员通过空间权限管理客户端将管理员ID、时间戳,数字签名发送到联盟区块链系统的空间权限管理智能合约。
2.2、验证签名。联盟区块链系统的空间权限管理智能合约依据管理员ID从实名数字身份智能合约中获取公钥。使用公钥解密数字签名得到管理员ID、时间戳、空间ID、删除管理员ID。比较参数中的管理员ID与从数字签名中解密出来的管理员ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,比较参数中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,执行验证权限的步骤。其中,参数中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如5分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
2.3、验证权限。联盟区块链系统的空间权限管理智能合约依据从数字签名中解密出来的空间ID,查找相应的空间权限数据,如果没有找到,则判定为非法空间ID,返回错误;如果可以找到,联盟区块链系统的空间权限管理智能合约从空间权限数据的管理员列表中查找与参数管理员ID相匹配的数据项,如果没有找到相应的数据项,则判定为非法管理员,返回错误;如果可以找到相应的数据项,执行确保文件至少有一个管理员的步骤。
2.4、确保文件至少有一个管理员。联盟区块链系统的空间权限管理智能合约通过空间权限数据的管理员列表统计当前管理员的人数,如果当前管理员的人数少于2人,则判定为管理员人数不足,返回错误;如果当前管理员的人数不少于2人,执行删除管理员权限的步骤。
2.5、删除管理员权限。联盟区块链系统的空间权限管理智能合约从空间权限数据的管理员列表中查找与删除管理员ID相匹配的数据项,如果没有找到相应的数据项,则判定为非法删除对象,返回错误;如果找到相应的数据项,则从空间权限数据的管理员列表中删除目标数据项,最后将新的空间权限数据保存到区块链账本中。
3、增加用户组权限
3.1、发起请求。空间管理员通过空间权限管理客户端将管理员ID、时间戳,数字签名发送到联盟区块链系统的空间权限管理智能合约。
3.2、验证签名。联盟区块链系统的空间权限管理智能合约依据管理员ID从实名数字身份智能合约中获取公钥。使用公钥解密数字签名得到管理员ID、时间戳、空间ID、新增用户组ID、新增用户组名称。比较参数中的管理员ID与从数字签名中解密出来的管理员ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,比较参数中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,执行验证权限的步骤。其中,参数中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如5分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
3.3、验证权限。联盟区块链系统的空间权限管理智能合约依据从数字签名中解密出来的空间ID,查找相应的空间权限数据,如果没有找到,则判定为非法空间ID,返回错误;如果可以找到,联盟区块链系统的空间权限管理智能合约从空间权限数据的管理员列表中查找与参数管理员ID相匹配的数据项,如果没有找到相应的数据项,则判定为非法管理员,返回错误;如果可以找到相应的数据项,执行保存用户组权限的步骤。
3.4、保存用户组权限。联盟区块链系统的空间权限管理智能合约从空间权限数据的用户组列表中查找与新增用户组ID相匹配的数据项,如果找到相应的数据项,则判定为重复添加用户组,返回错误;如果没有找到相应的数据项,则新增用户组ID作为用户组ID、新增用户组名称作为用户组名称,构造新的数据项添加到空间权限数据的用户组列表中,最后将新的空间权限数据保存到区块链账本中。
4、删除用户组权限
4.1、发起请求。空间管理员通过空间权限管理客户端将管理员ID、时间戳,数字签名发送到联盟区块链系统的空间权限管理智能合约。
4.2、验证签名。联盟区块链系统的空间权限管理智能合约依据管理员ID从实名数字身份智能合约中获取公钥。使用公钥解密数字签名得到管理员ID、时间戳、空间ID、删除用户组ID。比较参数中的管理员ID与从数字签名中解密出来的管理员ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,比较参数中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,执行验证权限的步骤。其中,参数中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如5分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
4.3、验证权限。联盟区块链系统的空间权限管理智能合约依据从数字签名中解密出来的空间ID,查找相应的空间权限数据,如果没有找到,则判定为非法空间ID,返回错误;如果可以找到,联盟区块链系统的空间权限管理智能合约从空间权限数据的管理员列表中查找与参数管理员ID相匹配的数据项,如果没有找到相应的数据项,则判定为非法管理员,返回错误;如果可以找到相应的数据项,执行删除用户组权限的步骤。
4.4、删除用户组权限。联盟区块链系统的空间权限管理智能合约从空间权限数据的用户组列表中查找与删除用户组ID相匹配的数据项,如果没有找到相应的数据项,则判定为非法删除对象,返回错误;如果找到相应的数据项,则从空间权限数据的用户组列表中删除目标数据项,最后将新的空间权限数据保存到区块链账本中。
5、增加用户权限
5.1、发起请求。空间管理员通过空间权限管理客户端将管理员ID、时间戳,数字签名发送到联盟区块链系统的空间权限管理智能合约。
5.2、验证签名。联盟区块链系统的空间权限管理智能合约依据管理员ID从实名数字身份智能合约中获取公钥。使用公钥解密数字签名得到管理员ID、时间戳、空间ID、新增用户ID、新增用户名称。比较参数中的管理员ID与从数字签名中解密出来的管理员ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,比较参数中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,执行验证权限的步骤。其中,参数中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如5分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
5.3、验证权限。联盟区块链系统的空间权限管理智能合约依据从数字签名中解密出来的空间ID,查找相应的空间权限数据,如果没有找到,则判定为非法空间ID,返回错误;如果可以找到,联盟区块链系统的空间权限管理智能合约从空间权限数据的管理员列表中查找与参数管理员ID相匹配的数据项,如果没有找到相应的数据项,则判定为非法管理员,返回错误;如果可以找到相应的数据项,执行保存用户权限的步骤。
5.4、保存用户权限。联盟区块链系统的空间权限管理智能合约从空间权限数据的用户列表中查找与新增用户ID相匹配的数据项,如果找到相应的数据项,则判定为重复添加用户,返回错误;如果没有找到相应的数据项,则新增用户ID作为用户ID、新增用户名称作为用户名称,构造新的数据项添加到空间权限数据的用户列表中,最后将新的空间权限数据保存到区块链账本中。
6、删除用户权限
6.1、发起请求。空间管理员通过空间权限管理客户端将管理员ID、时间戳,数字签名发送到联盟区块链系统的空间权限管理智能合约。
6.2、验证签名。联盟区块链系统的空间权限管理智能合约依据管理员ID从实名数字身份智能合约中获取公钥。使用公钥解密数字签名得到管理员ID、时间戳、空间ID、删除用户ID。比较参数中的管理员ID与从数字签名中解密出来的管理员ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,比较参数中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,执行验证权限的步骤。其中,参数中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如5分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
6.3、验证权限。联盟区块链系统的空间权限管理智能合约依据从数字签名中解密出来的空间ID,查找相应的空间权限数据,如果没有找到,则判定为非法空间ID,返回错误;如果可以找到,联盟区块链系统的空间权限管理智能合约从空间权限数据的管理员列表中查找与参数管理员ID相匹配的数据项,如果没有找到相应的数据项,则判定为非法管理员,返回错误;如果可以找到相应的数据项,执行删除用户权限的步骤。
6.4、删除用户权限。联盟区块链系统的空间权限管理智能合约从空间权限数据的用户列表中查找与删除用户ID相匹配的数据项,如果没有找到相应的数据项,则判定为非法删除对象,返回错误;如果找到相应的数据项,则从空间权限数据的用户列表中删除目标数据项,最后将新的空间权限数据保存到区块链账本中。
7、修改共享类型
7.1、发起请求。空间管理员通过空间权限管理客户端将管理员ID、时间戳,数字签名发送到联盟区块链系统的空间权限管理智能合约。
7.2、验证签名。联盟区块链系统的空间权限管理智能合约依据管理员ID从实名数字身份智能合约中获取公钥。使用公钥解密数字签名得到管理员ID、时间戳、空间ID、共享类型。比较参数中的管理员ID与从数字签名中解密出来的管理员ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,比较参数中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,执行验证权限的步骤。其中,参数中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如5分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
7.3、验证权限。联盟区块链系统的空间权限管理智能合约依据从数字签名中解密出来的空间ID,查找对应的空间权限数据,如果没有找到,则判定为非法空间ID,返回错误;如果可以找到,联盟安全文件系统的空间访问控制模块从空间权限数据的管理员列表中查找与参数管理员ID相匹配的数据项,如果没有找到相应的数据项,则判定为非法管理员,返回错误;如果可以找到相应的数据项,执行检查共享类型的步骤。
7.4、检查共享类型。联盟安全文件系统的空间访问控制模块检查从数字签名中解密出来的共享类型值是否为“完全共享”或者“条件共享”,如果共享类型的值不是上述两种类型,则判定为非法共享类型,返回错误;如果共享类型的值是上述两种类型,执行修改共享类型的步骤。
7.5、修改共享类型。联盟安全文件系统的空间访问控制模块使用从数字签名中解密出来的共享类型替换空间权限数据的共享类型,最后将新的空间权限数据保存到区块链账本中。
空间访问管理
1、读空间
其中,读空间也可以称为访问空间,读空间的命令包括:查看目录、查看文件信息列表、下载文件。
1.1、发起请求。用户通过空间访问客户端将用户ID、时间戳,数字签名发送到联盟安全文件系统的空间访问控制模块。
1.2、验证签名。联盟安全文件系统的空间访问控制模块依据用户ID从实名数字身份智能合约中获取公钥。使用公钥解密数字签名得到用户ID、时间戳、空间ID、读空间命令。比较参数中的用户ID与从数字签名中解密出来的用户是否相同,如果不同,则判定为非法签名,返回错误;如果相同,比较参数中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,执行验证共享类型的步骤。其中,参数中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如5分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
1.3、验证共享类型。联盟安全文件系统的空间访问控制模块依据从数字签名中解密出来的空间ID,向空间权限管理智能合约查询相应的空间权限数据,如果没有找到,则判定为非法空间ID,返回错误;如果可以找到,联盟安全文件系统的空间访问控制模块检查空间权限数据的共享类型数据项,如果共享类型数据项的值为“完全共享”,则判定为任何用户都可以访问该空间,接着按照读空间的具体命令,将目录、文件信息列表或者文件内容返回给空间访问客户端;如果共享类型数据项的值为“条件共享”,执行获取用户组信息的步骤。
1.4、获取用户组信息。联盟安全文件系统的空间访问控制模块依据用户ID从用户管理智能合约处获取用户信息包括:用户ID、用户名称、用户组ID。
1.5、验证读空间权限。联盟安全文件系统的空间访问控制模块从空间权限数据的管理员列表中查找与用户ID相匹配的数据项,如果没有找到相应的数据项,则继续从空间权限数据的用户列表中查找与用户ID相匹配的数据项,如果没有找到相应的数据项,则继续从空间权限数据的用户组列表中查找与用户组ID相匹配的数据项,如果仍然没有找到相应的数据项,则判定为没有访问权限,返回错误。如果从空间权限数据的管理员列表中,或者用户列表中,或者用户组列表中的任何一处能够找到匹配的数据项,都判定为有权限访问空间,接着按照读空间的具体命令,将目录、文件信息列表或者文件内容返回给空间访问客户端。
2、写空间
写空间也可以称为配置空间,写空间的命令包括:创建目录、修改目录、删除目录、上传文件、删除文件。
2.1、发起请求。用户通过空间访问客户端将用户ID、时间戳,数字签名发送到联盟安全文件系统的空间访问控制模块。
2.2、验证签名。联盟安全文件系统的空间访问控制模块依据用户ID从实名数字身份智能合约中获取公钥。使用公钥解密数字签名得到用户ID、时间戳、空间ID、写空间命令。比较参数中的用户ID与从数字签名中解密出来的用户是否相同,如果不同,则判定为非法签名,返回错误;如果相同,比较参数中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,执行验证共享类型的步骤。其中,参数中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如5分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
2.3、验证共享类型。联盟安全文件系统的空间访问控制模块依据从数字签名中解密出来的空间ID,向空间权限管理智能合约查询相应的空间权限数据,如果没有找到,则判定为非法空间ID,返回错误;联盟安全文件系统的空间访问控制模块检查空间权限数据的共享类型数据项,如果共享类型数据项的值为“完全共享”,则判定为任何用户都可以访问该空间,接着按照写空间的具体命令,创建目录、或者修改目录、或者删除目录、或者上传文件、或者删除文件;如果共享类型数据项的值为“条件共享”,执行获取用户组信息的步骤。
2.4、获取用户组信息。联盟安全文件系统的空间访问控制模块依据用户ID从用户管理智能合约处获取用户信息包括:用户ID、用户名称、用户组ID。
2.5、验证写空间权限。联盟安全文件系统的空间访问控制模块从空间权限数据的管理员列表中查找与用户ID相匹配的数据项,如果能够找到相应的数据项,则判定为有写空间的权限。如果从空间权限数据的用户列表中查找与用户ID相匹配的数据项,并且权限列表中包含写权限,则判定为有写空间的权限。如果能从空间权限数据的用户组列表中查找与用户组ID相匹配的数据项,并且权限列表中包含写权限,则判定为有写空间的权限。符合任何一项写空间的权限,都可以执行写空间的具体命令,创建目录、或者修改目录、或者删除目录、或者上传文件、或者删除文件。
需要说明的是,本说明书实施例具有下述有益效果:
(一)本说明书实施例结合安全可信的区块链技术,对IPFS系统进行深度改造,实现空间权限的管理,进一步构建安全、可控、可信的大规模分布式联盟安全文件系统,满足了安全、保密场景下的数据有序存储、有序交换与有序分享。
(二)本说明书实施例的空间权限管理支持用户、用户组、管理员及空间享类型多种授权模式,方便、快捷、实用。
(三)本说明书实施例与用户管理智能合约相结合,使得用户授权行为安全、可信、可追溯。
(四)本说明书实施例与数字实名身份智能合约相结合,使得用户身份真实、可靠,文件访问行为真实可追溯。
(五)本说明书实施例签名机制代替传统的密码机制,大大增强了认证与控制的安全性。
(六)本说明书实施例采用分级管理方法,空间控制权限仅仅涉及空间层次的权限,而目录访问、目录创建、目录删除及文件上传权限等权限交给目录权限管理处理,文件本身的下载、删除、修改名称等权限交给文件权限管理处理。做到了权限分级分离管理,避免因权限过于集中而带来的安全风险。
(八)本说明书实施例还支持通过联盟组织、业务主题等策略要素,对文件存储命名空间进行合理的规划,使文件存储空间具有有序性、确定性;结合区块链不可篡改、不可抵赖的特性可以确保命名空间的真实性,防止欺诈。将文件存储空间按照预制的规划策略进行安全隔离,并且文件存储空间规划策略通过联盟链智能合约控制,只有符合合约规则的读写操作才能成功。合理的存储空间规划策略与严格的智能合约控制机制,可以保证所有文件按照规划有序存放。
Claims (10)
1.一种基于IPFS的空间权限管理方法,其特征在于,所述方法包括:
创建空间,确定出空间的数据结构;其中,所述空间包括命名空间与空间权限,所述空间的数据结构包括命名空间的数据结构与空间权限的数据结构,空间权限的数据结构包括共享类型与权限列表,所述命名空间的数据结构包括空间ID、空间名称、空间地址、空间地址公钥、算法名称与创建时间;
根据所述空间的数据结构完成空间权限管理。
2.根据权利要求1所述的基于IPFS的空间权限管理方法,其特征在于,所述权限列表包括管理员列表、用户组列表及用户列表,所述共享类型包括完全共享及条件共享;
所述管理员列表包括多名管理员,每名管理员包括管理员ID及管理员名称;所述用户组列表包括多个用户组,每个用户组包括用户组ID、用户组名称及用户组对应的权限;用户列表包括多名用户,每名用户包括用户ID、用户名称及用户对应的权限。
3.根据权利要求2所述的基于IPFS的空间权限管理方法,其特征在于,所述创建空间,确定出空间的数据结构,具体包括:
空间申请客户端接收用户节点发送的创建空间的请求信息,按照预设的非对称加密算法生成密钥对,将公钥作为空间地址公钥,将公钥的哈希值作为空间地址,接收用户节点根据空间地址公钥与空间地址的验证签名,然后将用户ID、空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳、数字签名发送到空间管理系统,所述空间管理系统将用户ID、空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳、数字签名保存为创建空间申请信息;
空间管理委员会的委员节点通过空间管理客户端从空间管理系统中读取所述创建空间申请信息,并对空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳进行签名,然后将管理委员会委员ID、空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳与数字签名发送到空间管理系统,空间管理系统将所述管理委员会委员ID、空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳与数字签名保存为创建空间审批信息;
当空间管理系统收集到的同一空间ID的创建空间审批信息数目超过空间管理委员会委员的预设数量时,将与所述空间有关的创建空间申请信息以及创建空间审批信息发送到空间管理智能合约;
空间管理智能合约验证创建空间申请信息以及所有创建空间审批信息中的空间ID、空间名称、空间地址、空间地址公钥、算法名称是否相同,如果相同,检查创建空间审批信息的数目是否超过空间管理委员会委员预设数量;
如果创建空间审批信息的数目超过空间管理委员会委员预设数量,空间管理智能合约依据空间管理委员会委员ID向空间管理委员会智能合约查询对应的委员信息,如果查询到对应的委员信息,检查新增空间ID是否与已有的空间ID冲突;
如果新增空间ID与已有的空间ID不冲突,空间管理智能合约对创建空间申请信息的数字签名与创建空间审核信息的数字签名进行验证;
若创建空间申请信息的数字签名与创建空间审核信息的数字签名通过验证,空间管理智能合约将创建空间申请信息中的空间ID、空间名称、空间地址、空间地址公钥、算法名称保存在区块链账本中;
空间管理智能合约将用户ID作为管理员ID、用户名称作为管理员名称,构造出所述权限列表,将空间权限的共享类型默认设置为完全共享;其中,
所述验证签名为用户节点对空间ID、空间名称、空间地址、空间地址公钥、算法名称、当前系统时间戳进行签名得到,所述创建空间的请求信息包括空间ID、空间名称与算法名称。
4.根据权利要求3所述的基于IPFS的空间权限管理方法,其特征在于,所述空间管理智能合约对创建空间申请信息的数字签名进行验证,具体包括:
所述空间管理智能合约依据用户ID从实名数字身份智能合约中获取公钥;使用所述公钥解密数字签名得到空间ID、空间名称、空间地址、空间地址公钥、算法名称与时间戳,比较所述创建空间申请信息中的空间ID与从数字签名中解密出来的空间ID是否相同,如果相同,比较创建空间申请信息中的空间名称与从数字签名中解密出来的空间名称是否相同,如果相同,比较创建空间申请信息中的空间地址与从数字签名中解密出来的空间地址是否相同,如果相同,比较创建空间申请信息中的空间地址公钥与从数字签名中解密出来的空间地址公钥是否相同,如果相同,比较创建空间申请信息中的算法名称与从数字签名中解密出来的算法名称是否相同,如果相同,比较创建空间申请信息中的时间戳与从数字签名中解密出来的时间戳是否相同,如果相同,则所述创建空间申请信息的数字签名通过验证。
5.根据权利要求3所述的基于IPFS的空间权限管理方法,其特征在于,所述空间管理智能合约对创建空间审核信息的数字签名进行验证,具体包括:
所述空间管理智能合约依据空间管理委员会委员ID从实名数字身份智能合约中获取公钥,使用所述公钥解密数字签名得到空间ID、空间名称、空间地址、空间地址公钥、算法名称、空间管理委员会委员ID与时间戳;
比较所述创建空间审批信息中的空间管理委员会委员ID与从数字签名中解密出来的空间管理委员会委员ID是否相同,如果相同,比较创建空间审批信息中的空间ID与从数字签名中解密出来的空间ID是否相同,如果相同,比较创建空间审批信息中的空间名称与从数字签名中解密出来的空间名称是否相同,如果相同,比较创建空间审批信息中的空间地址与从数字签名中解密出来的空间地址是否相同,如果相同,比较创建空间审批信息中的空间地址公钥与从数字签名中解密出来的空间地址公钥是否相同,如果相同,比较创建空间审批信息中的算法名称与从数字签名中解密出来的算法名称是否相同,如果相同,比较创建空间审批信息中的时间戳与从数字签名中解密出来的时间戳是否相同,如果相同,则所述创建空间审核信息的数字签名通过验证。
6.根据权利要求2所述的基于IPFS的空间权限管理方法,其特征在于,所述空间的权限管理包括:写空间权限、访问空间权限、增加管理员权限、删除管理员权限、增加用户组权限、删除用户组权限、增加用户权限、删除用户权限、修改共享类型权限、查看目录权限、创建目录权限、修改目录权限、删除目录权限、查看文件信息列表权限、下载文件权限、上传文件权限、删除文件权限中的一项或多项。
7.根据权利要求6所述的基于IPFS的空间权限管理方法,其特征在于,所述空间的权限管理为访问空间权限,具体包括:
通过空间访问客户端将用户ID、第一时间戳与第一数字签名发送到联盟安全文件系统的空间访问控制模块;
所述联盟安全文件系统的空间访问控制模块依据用户ID从实名数字身份智能合约中获取第一公钥,使用第一公钥解密第一数字签名得到用户ID、时间戳、空间ID、读空间命令,若所述用户ID与从数字签名中解密出来的用户ID相同,并且,所述第一时间戳与从第一数字签名中解密出来的时间戳相同,如果相同,依据从第一数字签名中解密出来的空间ID,向空间权限管理智能合约查询出相应的空间权限数据,并检查空间权限数据的共享类型数据项,如果共享类型数据项为完全共享,则判定为任何用户都可以访问该空间,按照访问空间的具体命令,将目录、文件信息列表或者文件内容返回给空间访问客户端;
如果共享类型数据项为条件共享,联盟安全文件系统的空间访问控制模块依据用户ID从用户管理智能合约处获取用户信息,所述用户信息包括用户ID、用户名称、用户组ID;
联盟安全文件系统的空间访问控制模块从空间权限数据的管理员列表中查找与用户ID相匹配的数据项,如果没有找到相应的数据项,则继续从空间权限数据的用户列表中查找与用户ID相匹配的数据项,如果没有找到相应的数据项,则继续从空间权限数据的用户组列表中查找与用户组ID相匹配的数据项,如果仍然没有找到相应的数据项,则判定为没有访问权限;
如果从空间权限数据的管理员列表中,或者用户列表中,或者用户组列表中的任何一处能够找到匹配的数据项,都判定为有权限访问空间,按照访问空间的具体命令,将目录、文件信息列表或者文件内容返回给空间访问客户端。
8.根据权利要求6所述的基于IPFS的空间权限管理方法,其特征在于,所述空间的权限管理为写空间权限,具体包括:
通过空间访问客户端将用户ID、第二时间戳与第二数字签名发送到联盟安全文件系统的空间访问控制模块;
所述联盟安全文件系统的空间访问控制模块依据用户ID从实名数字身份智能合约中获取第二公钥,使用所述第二公钥解密第二数字签名得到用户ID、时间戳、空间ID、写空间命令,若用户ID与从第二数字签名中解密出来的用户ID相同,并且,所述第二时间戳与从第二数字签名中解密出来的时间戳相同,依据从第二数字签名中解密出来的空间ID,向空间权限管理智能合约查询出相应的空间权限数据,并检查空间权限数据的共享类型数据项,如果共享类型数据项为完全共享,则判定为任何用户都可以访问该空间,接着按照写空间的具体命令,创建目录、修改目录、删除目录、上传文件或删除文件;
如果共享类型数据项为条件共享,联盟安全文件系统的空间访问控制模块依据用户ID从用户管理智能合约处获取用户信息,其中,所述用户信息包括用户ID、用户名称与用户组ID;
联盟安全文件系统的空间访问控制模块从空间权限数据的管理员列表中查找与用户ID相匹配的数据项,如果能够找到相应的数据项,执行写空间的具体命令,创建目录、修改目录、删除目录、上传文件或者删除文件。
9.一种基于IPFS的空间权限管理设备,其特征在于,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
创建空间,确定出空间的数据结构;其中,所述空间包括命名空间与空间权限,所述空间的数据结构包括命名空间的数据结构与空间权限的数据结构,空间权限的数据结构包括共享类型与权限列表,所述命名空间的数据结构包括空间ID、空间名称、空间地址、空间地址公钥、算法名称与创建时间;
根据所述空间的数据结构完成空间权限管理。
10.一种基于IPFS的空间权限管理介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
创建空间,确定出空间的数据结构;其中,所述空间包括命名空间与空间权限,所述空间的数据结构包括命名空间的数据结构与空间权限的数据结构,空间权限的数据结构包括共享类型与权限列表,所述命名空间的数据结构包括空间ID、空间名称、空间地址、空间地址公钥、算法名称与创建时间;
根据所述空间的数据结构完成空间权限管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010887511.5A CN114116609A (zh) | 2020-08-28 | 2020-08-28 | 一种基于ipfs的空间权限管理方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010887511.5A CN114116609A (zh) | 2020-08-28 | 2020-08-28 | 一种基于ipfs的空间权限管理方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114116609A true CN114116609A (zh) | 2022-03-01 |
Family
ID=80375160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010887511.5A Withdrawn CN114116609A (zh) | 2020-08-28 | 2020-08-28 | 一种基于ipfs的空间权限管理方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116609A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024072452A1 (en) * | 2022-09-29 | 2024-04-04 | Siemens Industry Software Inc. | User credential parameter space partitioning in a rule based access control system |
-
2020
- 2020-08-28 CN CN202010887511.5A patent/CN114116609A/zh not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024072452A1 (en) * | 2022-09-29 | 2024-04-04 | Siemens Industry Software Inc. | User credential parameter space partitioning in a rule based access control system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11803654B2 (en) | Integration of a block chain, managing group authority and access in an enterprise environment | |
US10853805B2 (en) | Data processing system utilising distributed ledger technology | |
CN105516110B (zh) | 移动设备安全数据传送方法 | |
US20090106549A1 (en) | Method and system for extending encrypting file system | |
Chen et al. | Bidm: a blockchain-enabled cross-domain identity management system | |
US11544392B2 (en) | Implementation of a file system on a block chain | |
CN105450750A (zh) | 智能终端安全交互方法 | |
GB2576160A (en) | Distributed ledger system | |
EP3817320B1 (en) | Blockchain-based system for issuing and validating certificates | |
CN115510492A (zh) | 一种基于智能合约的电子病历管理系统及方法 | |
CN114116609A (zh) | 一种基于ipfs的空间权限管理方法、设备及介质 | |
CN115277059B (zh) | 一种基于区块链的飞机档案权限管理的控制方法 | |
Yan et al. | Storage optimization for certificates in blockchain based PKI system | |
CN117118640A (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 | |
CN114117508A (zh) | 一种基于ipfs的目录文件权限管理方法及设备 | |
CN113505098A (zh) | 文件共享系统、方法和存储介质 | |
CN114205369A (zh) | 一种基于ipfs的用户组管理方法、用户管理方法及设备 | |
US20240232415A9 (en) | Integration of a block chain, managing group authority and access in an enterprise environment | |
US20240097888A1 (en) | File sharing system and method | |
CN117892346A (zh) | 一种基于联盟链和ipfs的电子证据保全与访问控制系统及方法 | |
Duan et al. | Access Control Mechanism for Edge Nodes | |
CN117971980A (zh) | 基于区块链的数据库访问权限管理系统及方法 | |
CN113971174A (zh) | 一种基于区块链的键值存储方法、设备及介质 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220301 |
|
WW01 | Invention patent application withdrawn after publication |