CN114205369A - 一种基于ipfs的用户组管理方法、用户管理方法及设备 - Google Patents

一种基于ipfs的用户组管理方法、用户管理方法及设备 Download PDF

Info

Publication number
CN114205369A
CN114205369A CN202010889397.XA CN202010889397A CN114205369A CN 114205369 A CN114205369 A CN 114205369A CN 202010889397 A CN202010889397 A CN 202010889397A CN 114205369 A CN114205369 A CN 114205369A
Authority
CN
China
Prior art keywords
user
committee
management
group
user group
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
Application number
CN202010889397.XA
Other languages
English (en)
Inventor
孙长杰
李照川
王伟兵
肖守明
申传旺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong ICity Information Technology Co., Ltd.
Original Assignee
Shandong ICity Information Technology Co., Ltd.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong ICity Information Technology Co., Ltd. filed Critical Shandong ICity Information Technology Co., Ltd.
Priority to CN202010889397.XA priority Critical patent/CN114205369A/zh
Publication of CN114205369A publication Critical patent/CN114205369A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种基于IPFS的用户组管理方法、用户管理方法及设备,包括:用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,其中,所述管理用户组的请求包括增加用户组、修改用户组名称、注销用户组以及启用用户组;所述用户客户端将所述管理用户组的请求发送至用户管理智能合约;所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理。本说明书实施例将IPFS与区块链技术相结合,增加用户访问控制机制,构建一个安全可控的文件系统,可以很好的完成文件系统中增加用户组、修改用户组名称、注销用户组以及启用用户组的任务,使得文件系统在空间规划上合理有序,并且本说明书实施例可以拥有更多的用户,使得文件系统安全可控。

Description

一种基于IPFS的用户组管理方法、用户管理方法及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于IPFS的用户组管理方法、用户管理方法及设备。
背景技术
星际文件系统(IPFS,InterPlanetary File System)是一个全球性点对点分布式网络文件系统。任何一个节点的功能是相同的,任何一个节点的地位都是平等的。任何一个节点都可以随时加入与退出。任何节点的加入与退出都不会影响整个网络文件系统的稳定性与可访问性。可见,IPFS是一个高度弹性可伸缩的网络文件系统,具有无限扩展的能力。
现有的IPFS系统在用户组与用户的管理上,存在很多不足,无法满足当前需求。
发明内容
有鉴于此,本申请实施例提供了一种基于IPFS的用户组管理方法、用户管理方法及设备,用于解决现有的IPFS系统在用户组与用户的管理上,存在很多不足,无法满足当前需求问题。
本申请实施例采用下述技术方案:
本申请实施例提供一种基于IPFS的用户组管理方法,所述方法包括:
用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,其中,所述管理用户组的请求包括增加用户组、修改用户组名称、注销用户组以及启用用户组;
所述用户客户端将所述管理用户组的请求发送至用户管理智能合约;
所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理。
需要说明的是,本说明书实施例将IPFS与区块链技术相结合,增加用户访问控制机制,构建一个安全可控的文件系统,可以很好的完成文件系统中增加用户组、修改用户组名称、注销用户组以及启用用户组的任务,使得文件系统在空间规划上合理有序,并且本说明书实施例可以拥有更多的用户,使得文件系统安全可控。
本申请实施例还提供一种基于IPFS的用户管理方法,所述方法包括:
用户管理系统接收用户从用户申请客户端发送的管理用户的请求,其中,所述管理用户的请求包括增加用户、注销用户以及启动用户;
所述用户客户端将所述管理用户的请求发送至用户管理智能合约;
所述用户管理智能合约根据所述管理用户的请求完成所述用户组的管理。
需要说明的是,本说明书实施例将IPFS与区块链技术相结合,增加用户访问控制机制,构建一个安全可控的文件系统,可以很好的完成文件系统中增加用户、注销用户以及启动用户的任务,使得文件系统进行合理有序规划。
本申请实施例还提供一种基于IPFS的用户组管理设备,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,其中,所述管理用户组的请求包括增加用户组、修改用户组名称、注销用户组以及启用用户组;
所述用户客户端将所述管理用户组的请求发送至用户管理智能合约;
所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本说明书实施例将IPFS与区块链技术相结合,增加用户访问控制机制,构建一个安全可控的文件系统,可以很好的完成文件系统中增加用户组、修改用户组名称、注销用户组、启用用户组、增加用户、注销用户以及启动用户的任务,使得文件系统在空间规划上合理有序,并且本说明书实施例可以拥有更多的用户,使得文件系统安全可控。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的一种基于IPFS的用户组管理方法的流程示意图;
图2为本说明书实施例二提供的一种基于IPFS的用户管理方法的流程示意图;
图3为本说明书实施例提供的文件系统总体架构示意图。
具体实施方式
IPFS系统中存在多个节点,并且文件内容会在多个节点存放,因此不会发生单点故障。IPFS在存放大文件时,会将大文件拆分为多个小文件分别存储,并记录每个文件分片内容的哈希值,依据哈希值可以容易的找到对应的文件分片内容。文件分片内容会在多个节点存储,下载大文件时,可以同时从多个节点分别下载不同的文件分片内容,最后组合在一块形成完整的大文件。并行下载的特性,使得IPFS具有很高的效率。当有节点失效或者网络故障时,可以从其他节点下载需要的文件分片内容。文件分片多节点多份存储的特性使得IPFS具有很高的容错性。因此,借助于IPFS的各项能力可以解决众多应用场景下的数据存储需求,进而涌现出更多更好的创新产业。
然而,商务实践环境中,受限于安全、保密、高效等原因,需要在一个封闭的环境中存储数据,而不是在一个全球开放的环境中存储与分享数据。从需求层面来看,更需要构建一个安全、高效、可靠并且相对封闭的类IPFS系统。除此之外,在很多场景中,还需要更加细致的控制文件访问权限。例如,在政府数据共享交换中,政府需要严格管控数据资源目录,并为数据资源目录设定详细的授权计划。传统的数据共享交换采用中心化的授权与传输方法,在网络或者服务器发生故障时容易产生单点故障,导致服务不可用或者因为网络抖动而丢失数据。
综上所述,IPFS是一个功能强大的文件存储与分享工具。然而,因为IPFS是一个全球开放的系统,缺乏权限控制,不适合安全、保密且需要详细权限控制的应用场景。
目前来看,市场上有不少IPFS系统的使用方案,但在权限控制方面存在的问题如下:(1)通过IPFS的外部系统控制文件读写权限,这样虽然能控制应用系统用户对文件的读写权限,但却无法阻止用户绕过应用系统直接访问IPFS系统中的数据。这种使用方法对于一个内容开放的系统来说是没有问题的,因为不需要保护数据的隐私。(2)对于需要严格详细授权计划的业务场景来说,仅仅依靠外部系统的控制是远远不够的,需要增强IPFS系统本身的权限控制机制。
本说明书实施例将IPFS与区块链技术相结合,增加用户访问控制机制,构建一个安全可控的联盟安全文件系统。其中,用户访问控制机制包括增加用户组、修改用户组名称、注销用户组、启用用户组、增加用户、注销用户以及启用用户。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本说明书实施例一提供的一种基于IPFS的用户组管理方法的流程示意图,具体步骤可以包括:
步骤S101,用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,其中,所述管理用户组的请求包括增加用户组、修改用户组名称、注销用户组以及启用用户组。
步骤S102,所述用户客户端将所述管理用户组的请求发送至用户管理智能合约。
步骤S103,所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理。
当管理用户组的请求为增加用户组,所述用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,所述用户客户端将所述管理用户组的请求发送至用户管理智能合约,所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理,具体包括:
用户管理委员会的委员节点从用户管理客户端发起增加用户组的请求,其中,所述增加用户组的请求包括:新增用户组ID、新增用户组名称、用户管理委员会的委员节点ID、第一时间戳与第一数字签名,所述第一数字签名是通过对新增用户组ID、新增用户组名称、第一时间戳进行签名得到;
用户管理委员会的委员节点将用所述增加用户组的请求发送到用户管理系统,用户管理系统将所述增加用户组的请求保存为增加用户组申请信息;
其他用户管理委员会的委员节点从所述用户管理系统中读取所述增加用户组申请信息,并对新增用户组ID、新增用户组名称、第一时间戳进行签名,得到第二数字签名,将新增用户组ID、用户组名称、用户管理委员会的委员节点ID、第一时间戳、第二数字签名发送到用户管理系统,用户管理系统将其他用户管理委员会的委员节点发送的,新增用户组ID、用户组名称、用户管理委员会的委员节点ID、第一时间戳、第二数字签名保存为增加用户组申请信息;
当用户管理系统收集到的同一新增用户组ID的增加用户组申请信息数目超过用户管理委员会的委员节点第一预设数量时,将与所述用户组相关的所有的增加用户组申请信息发送到用户管理智能合约,其中,第一预设数量可以为用户管理委员会的委员节点数量的一半;
用户管理智能合约验证所有增加用户组申请信息中新增用户组ID、新增用户组名称是否相同;
用户管理智能合约验证出所有增加用户组申请信息中新增用户组ID、新增用户组名不相同,则判定为未达成一致意见,返回错误;
用户管理智能合约验证出所有增加用户组申请信息中新增用户组ID、新增用户组名称相同,检查增加用户组申请信息的数目是否超过用户管理委员会的委员节点的第一预设数量;
用户管理智能合约检查出增加用户组申请信息的数目未超过用户管理委员会的委员节点的第一预设数量,则判定为非法请求,予以驳回;
用户管理智能合约检查出增加用户组申请信息的数目超过用户管理委员会的委员节点的第一预设数量,依据用户管理委员会的委员节点ID从区块链账本中查找对应的委员信息;
若用户管理智能合约依据用户管理委员会的委员节点ID从区块链账本中未查找到对应的委员信息,则判定为非法委员,返回错误;
若用户管理智能合约依据用户管理委员会的委员节点ID从区块链账本中查找到对应的委员信息,对于所有的增加用户组申请信息中的第一数字签名与第二数字签名进行验证;如果委员信息中的是否有效字段为无效,则判定为无效委员,返回错误;用户管理智能合约检查新增用户组ID是否与已有的用户组ID冲突,如果冲突,则判定为重复增加,返回错误;
用户管理智能合约验证出所述第一数字签名与所述第二数字签名正确,将增加用户组申请信息中的新增用户组ID与新增用户组名称保存在区块链账本中。区块链账本中保存的用户组信息的完整数据结构包括:新增用户组ID、新增用户组名称、是否有效、创建时间、更新时间。其中,新建用户组的是否有效字段设为有效,创建时间及更新时间均设为当前系统时间。
对于所有的增加用户组申请信息中的第一数字签名与第二数字签名进行验证,具体包括:
依据用户管理委员会的委员节点ID从实名数字身份智能合约中获取公钥;使用公钥解密第一数字签名或第二数字签名得到新增用户组ID、新增用户组名称与第一时间戳;比较增加用户组申请信息中的新增用户组ID与从第一数字签名或第二数字签名中解密出来的新增用户组ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,则判定为第一数字签名或第二数字签名正确;比较增加用户组申请信息中的第一时间戳与从第一数字签名或第二数字签名中解密出来的第一时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,则判定为第一数字签名或第二数字签名正确。
其中,第一时间戳可以作为安全因子,并且第一时间戳可以随意进行设置,但为了起到验证的作用,第一时间戳可以选取注册节点的区域信息的时间。此外,第一时间戳应该在预定的时间范围内有效,即当前时间戳减去第一时间戳应该小于等于预定的时间,比如30分钟。假若当前时间戳减去第一时间戳不在预定的时间范围内,则可以判定为非法签名,返回错误。
当管理用户组的请求为修改用户组名称时,所述用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,所述用户客户端将所述管理用户组的请求发送至用户管理智能合约,所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理,具体包括:
用户管理委员会的委员节点从用户管理客户端发起修改用户组的请求,其中,所述修改用户组的请求包括:用户组ID、新的用户组名称、用户管理委员会的委员节点ID、第二时间戳与第三数字签名,所述第三数字签名是通过对用户组ID、新的用户组名称、第二时间戳进行签名得到;
用户管理委员会的委员节点将用所述修改用户组的请求发送到用户管理系统,用户管理系统将所述修改用户组的请求保存为修改用户组申请信息;
其他用户管理委员会的委员节点从所述用户管理系统中读取所述修改用户组申请信息,并对用户组ID、新的用户组名称、第二时间戳进行签名,得到第四数字签名,将用户组ID、新的用户组名称、用户管理委员会的委员节点ID、第二时间戳、第四数字签名发送到用户管理系统,用户管理系统将其他用户管理委员会的委员节点发送的,用户组ID、新的用户组名称、用户管理委员会的委员节点ID、第二时间戳、第四数字签名保存为修改用户组申请信息;
当用户管理系统收集到的同一用户组ID的修改用户组申请信息数目超过用户管理委员会的委员节点第二预设数量时,将与所述用户组相关的所有的修改用户组申请信息发送到用户管理智能合约,其中,第二预设数量可以为用户管理委员会的委员节点数量的一半;
用户管理智能合约验证所有修改用户组申请信息中用户组ID、新的用户组名称是否相同;
用户管理智能合约验证出所有修改用户组申请信息中用户组ID、新的用户组名称不相同,则判定为未达成一致意见,返回错误;
用户管理智能合约验证出所有修改用户组申请信息中用户组ID、新的用户组名称相同,检查修改用户组申请信息的数目是否超过用户管理委员会的委员节点的第二预设数量;
用户管理智能合约检查出修改用户组申请信息的数目未超过用户管理委员会的委员节点的第二预设数量,则判定为非法请求,予以驳回;
用户管理智能合约检查出修改用户组申请信息的数目超过用户管理委员会的委员节点的第二预设数量,依据用户管理委员会的委员节点ID从区块链账本中查找对应的委员信息;
若用户管理智能合约依据用户管理委员会的委员节点ID从区块链账本中未查找到对应的委员信息,则判定为非法委员,返回错误;
若用户管理智能合约依据用户管理委员会的委员节点ID从区块链账本中查找到对应的委员信息,对于所有的修改用户组申请信息中的第三数字签名与第四数字签名进行验证;如果委员信息中的是否有效字段为无效,则判定为无效委员,返回错误;
用户管理智能合约验证出所述第三数字签名与所述第四数字签名正确,依据修改用户组名称申请信息中的用户组ID从区块链账本中查找用户组信息,如果找不到用户组,则判定为非法用户组信息,返回错误;若果可以找到用户组,将该用户组信息中的用户组名称改为新的用户组名称,用当前系统时间替换原用户组信息的更新时间,然后将新的用户组信息重新保存在区块链账本中。
对于所有的增加用户组申请信息中的第三数字签名与第四数字签名进行验证,具体包括:
依据用户管理委员会的委员节点ID从实名数字身份智能合约中获取公钥;使用公钥解密第三数字签名或第四数字签名得到用户组ID与第二时间戳;比较修改用户组申请信息中的用户组ID与从第三数字签名或第四数字签名中解密出来的用户组ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,则判定为第三数字签名或第四数字签名正确;比较修改用户组申请信息中的第二时间戳与从第三数字签名或第四数字签名中解密出来的第二时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,则判定为第三数字签名或第四数字签名正确。
其中,第二时间戳可以作为安全因子,并且第二时间戳可以随意进行设置,但为了起到验证的作用,第二时间戳可以选取注册节点的区域信息的时间。此外,第二时间戳应该在预定的时间范围内有效,即当前时间戳减去第二时间戳应该小于等于预定的时间,比如30分钟。假若当前时间戳减去第二时间戳不在预定的时间范围内,则可以判定为非法签名,返回错误。
当管理用户组的请求为注销用户组时,所述用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,所述用户客户端将所述管理用户组的请求发送至用户管理智能合约,所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理,具体包括:
用户管理委员会的委员节点从用户管理客户端发起注销用户组的请求,其中,所述注销用户组的请求包括:用户组ID、用户管理委员会的委员节点ID、第三时间戳与第五数字签名,所述第五数字签名是通过对用户组ID、第三时间戳进行签名得到;
用户管理委员会的委员节点将用所述注销用户组的请求发送到用户管理系统,用户管理系统将所述注销用户组的请求保存为注销用户组申请信息;
其他用户管理委员会的委员节点从所述用户管理系统中读取所述注销用户组申请信息,并对用户组ID、第三时间戳进行签名,得到第六数字签名,将用户组ID、用户管理委员会的委员节点ID、第三时间戳、第六数字签名发送到用户管理系统,用户管理系统将其他用户管理委员会的委员节点发送的,用户组ID、用户管理委员会的委员节点ID、第三时间戳、第六数字签名保存为注销用户组申请信息;
当用户管理系统收集到的同一用户组ID的注销用户组申请信息数目超过用户管理委员会的委员节点第三预设数量时,将与所述用户组相关的所有的注销用户组申请信息发送到用户管理智能合约,其中,第三预设数量可以为用户管理委员会的委员节点数量的一半;
用户管理智能合约验证所有注销用户组申请信息中用户组ID是否相同;
用户管理智能合约验证出所有注销用户组申请信息中用户组ID不相同,则判定为未达成一致意见,返回错误;
用户管理智能合约验证出所有注销用户组申请信息中用户组ID相同,检查注销用户组申请信息的数目是否超过用户管理委员会的委员节点的第三预设数量;
用户管理智能合约检查出注销用户组申请信息的数目未超过用户管理委员会的委员节点的第三预设数量,则判定为非法请求,予以驳回;
用户管理智能合约检查出注销用户组申请信息的数目超过用户管理委员会的委员节点的第三预设数量,依据用户管理委员会的委员节点ID从区块链账本中查找对应的委员信息;
若用户管理智能合约依据用户管理委员会的委员节点ID从区块链账本中未查找到对应的委员信息,则判定为非法委员,返回错误;如果委员信息中的是否有效字段为无效,则判定为无效委员,返回错误;
若用户管理智能合约依据用户管理委员会的委员节点ID从区块链账本中查找到对应的委员信息,对于所有的注销用户组申请信息中的第五数字签名与第六数字签名进行验证;如果委员信息中的是否有效字段为无效,则判定为无效委员,返回错误;
用户管理智能合约验证出所述第五数字签名与所述第六数字签名正确,依据注销用户组名称申请信息中的用户组ID从区块链账本中查找用户组信息,如果不存在,则判定为非法用户组,返回错误;如果存在,将所述用户组信息对应的用户组进行注销,并将用户组信息的是否有效设为无效,用当前系统时间替换用户组信息的更新时间,然后将用户组信息重新保存在区块链账本中。
对于所有的增加用户组申请信息中的第五数字签名与第六数字签名进行验证,具体包括:
依据用户管理委员会的委员节点ID从实名数字身份智能合约中获取公钥;使用公钥解密第五数字签名或第六数字签名得到用户组ID与第三时间戳;比较注销用户组申请信息中的用户组ID与从第五数字签名或第六数字签名中解密出来的用户组ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,则判定为第五数字签名或第六数字签名正确;比较注销用户组申请信息中的第三时间戳与从第五数字签名或第六数字签名中解密出来的第三时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,则判定为第五数字签名或第六数字签名正确。
其中,第三时间戳可以作为安全因子,并且第三时间戳可以随意进行设置,但为了起到验证的作用,第三时间戳可以选取注册节点的区域信息的时间。此外,第三时间戳应该在预定的时间范围内有效,即当前时间戳减去第三时间戳应该小于等于预定的时间,比如30分钟。假若当前时间戳减去第三时间戳不在预定的时间范围内,则可以判定为非法签名,返回错误。
当管理用户组的请求为启用用户组时,所述用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,所述用户客户端将所述管理用户组的请求发送至用户管理智能合约,所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理,具体包括:
用户管理委员会的委员节点从用户管理客户端发起启用用户组的请求,其中,所述启用用户组的请求包括:用户组ID、用户管理委员会的委员节点ID、第四时间戳与第七数字签名,所述第七数字签名是通过对用户组ID、第四时间戳进行签名得到;
用户管理委员会的委员节点将用所述启用用户组的请求发送到用户管理系统,用户管理系统将所述启用用户组的请求保存为启用用户组申请信息;
其他用户管理委员会的委员节点从所述用户管理系统中读取所述启用用户组申请信息,并对用户组ID、第四时间戳进行签名,得到第八数字签名,将用户组ID、用户管理委员会的委员节点ID、第四时间戳、第八数字签名发送到用户管理系统,用户管理系统将其他用户管理委员会的委员节点发送的,用户组ID、用户管理委员会的委员节点ID、第四时间戳、第八数字签名保存为启用用户组申请信息;
当用户管理系统收集到的同一用户组ID的启用用户组申请信息数目超过用户管理委员会的委员节点第四预设数量时,将与所述用户组相关的所有的启用用户组申请信息发送到用户管理智能合约;
用户管理智能合约验证所有启用用户组申请信息中用户组ID是否相同;
用户管理智能合约验证出所有启用用户组申请信息中用户组ID不相同,则判定为未达成一致意见,返回错误;
用户管理智能合约验证出所有启用用户组申请信息中用户组ID相同,检查启用用户组申请信息的数目是否超过用户管理委员会的委员节点的第四预设数量;
用户管理智能合约检查出启用用户组申请信息的数目未超过用户管理委员会的委员节点的第四预设数量,则判定为非法请求,予以驳回;
用户管理智能合约检查出启用用户组申请信息的数目超过用户管理委员会的委员节点的第四预设数量,依据用户管理委员会的委员节点ID从区块链账本中查找对应的委员信息;
若用户管理智能合约依据用户管理委员会的委员节点ID从区块链账本中未查找到对应的委员信息,则判定为非法委员,返回错误;如果委员信息中的是否有效字段为无效,则判定为无效委员,返回错误;
若用户管理智能合约依据用户管理委员会的委员节点ID从区块链账本中查找到对应的委员信息,对于所有的启用用户组申请信息中的第七数字签名与第八数字签名进行验证;如果委员信息中的是否有效字段为无效,则判定为无效委员,返回错误;
用户管理智能合约验证出所述第七数字签名与所述第八数字签名正确,依据启用用户组名称申请信息中的用户组ID从区块链账本中查找用户组信息,将所述用户组信息对应的用户组进行启用。用户管理智能合约将用户组信息的是否有效设为有效,用当前系统时间替换用户组信息的更新时间,然后将用户组信息重新保存在区块链账本中。
对于所有的增加用户组申请信息中的第七数字签名与第八数字签名进行验证,具体包括:
依据用户管理委员会的委员节点ID从实名数字身份智能合约中获取公钥;使用公钥解密第七数字签名或第八数字签名得到用户组ID与第四时间戳;比较增加用户组申请信息中的用户组ID与从第七数字签名或第八数字签名中解密出来的用户组ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,则判定为第七数字签名或第八数字签名正确;比较启用用户组申请信息中的第四时间戳与从第七数字签名或第八数字签名中解密出来的第四时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,则判定为第七数字签名或第八数字签名正确。
其中,第四时间戳可以作为安全因子,并且第四时间戳可以随意进行设置,但为了起到验证的作用,第四时间戳可以选取注册节点的区域信息的时间。此外,第四时间戳应该在预定的时间范围内有效,即当前时间戳减去第四时间戳应该小于等于预定的时间,比如30分钟。假若当前时间戳减去第四时间戳不在预定的时间范围内,则可以判定为非法签名,返回错误。
图2为本说明书实施例二提供的一种基于IPFS的用户管理方法的流程示意图,具体步骤可以包括:
步骤S201,用户管理系统接收用户从用户申请客户端发送的管理用户的请求,其中,所述管理用户的请求包括增加用户、注销用户以及启动用户。
步骤S202,用户客户端将所述管理用户的请求发送至用户管理智能合约。
步骤S203,用户管理智能合约根据所述管理用户的请求完成所述用户的管理。
当管理用户的请求为增加用户时,所述用户管理系统接收用户从用户申请客户端发送的管理用户的请求,所述用户客户端将所述管理用户的请求发送至用户管理智能合约,所述用户管理智能合约根据所述管理用户的请求完成所述用户的管理,具体包括:
用户节点从用户申请客户端发起增加用户的请求,其中,所述增加用户的请求包括:新增用户ID、新增用户名称、用户组ID、第五时间戳与第一用户数字签名,所述用户组ID为新增用户所处的用户组ID,所述第一用户数字签名是通过对新增用户ID、新增用户名称、用户组ID与第五时间戳进行签名得到;
所述用户节点将所述增加用户的请求发送到用户管理系统,所述用户管理系统将所述增加用户的请求保存为增加用户申请信息;
用户管理委员会的委员节点从用户管理系统中读取所述增加用户申请信息,并对新增用户ID、新增用户名称、用户组ID、第五时间戳进行签名,得到第二用户数字签名,将新增用户ID、新增用户名称、用户组ID、用户管理委员会的委员节点ID、第五时间戳、第二用户数字签名发送到用户管理系统,用户管理系统将用户管理委员会的委员节点发送的,新增用户ID、新增用户名称、用户组ID、用户管理委员会的委员节点ID、第五时间戳、第二用户数字签名保存为增加用户审批信息;
当用户管理系统收集到的同一新增用户ID的增加用户审批信息数目超过用户管理委员会的委员节点第五预设数量时,将与所述用户相关的增加用户申请信息与增加用户审批信息发送到用户管理智能合约,其中,第五预设数量可以为用户管理委员会的委员节点数量的一半;
用户管理智能合约检查增加用户申请信息与所有的增加用户审批信息的一致性,即验证增加用户申请信息以及所有增加用户审批信息的新增用户ID、用户组ID是否相同;
若用户管理智能合约检查出增加用户申请信息与所有的增加用户审批信息不具有一致性,则判定为未达成一致意见,返回错误;
若用户管理智能合约检查出增加用户申请信息与所有的增加用户审批信息具有一致性,检查增加用户审批信息的数目是否超过用户管理委员会的委员节点第五预设数量;
用户管理智能合约若检查增加用户审批信息的数目未超过用户管理委员会的委员节点第五预设数量,则判定为非法请求,予以驳回;
用户管理智能合约若检查增加用户审批信息的数目超过用户管理委员会的委员节点第五预设数量,依据用户管理委员会的委员节点ID从区块链账本中查找对应的委员信息;
用户管理智能合约若从区块链账本中未找到对应的委员信息,则判定为非法委员,返回错误;
用户管理智能合约若从区块链账本中找到对应的委员信息,检查新增用户ID是否与已有的用户ID冲突;如果委员信息中的是否有效字段为无效,则判定为无效委员,返回错误;
用户管理智能合约若检查出新增用户ID与已有的用户ID冲突,判定为重复增加,返回错误;
用户管理智能合约若检查出新增用户ID与已有的用户ID不冲突,验证第一用户数字签名与第二用户数字签名的合法性;
用户管理智能合约验证出所述第一用户数字签名与所述第二用户数字签名合法,将增加用户申请信息中的新增用户ID与新增用户名称保存在区块链账本中。区块链账本中保存的用户信息的完整数据结构可以包括:用户ID、用户名称、用户组ID、是否有效、创建时间、更新时间。其中新建用户的是否有效字段设为有效,创建时间及更新时间均可以设为当前系统时间。
验证第一用户数字签名与第二用户数字签名的合法性,具体包括:
依据用户管理委员会的委员节点ID从实名数字身份智能合约中获取公钥;使用公钥解密第一用户数字签名或第二用户数字签名得到新增用户ID、新增用户名称与第五时间戳;比较增加用户申请信息中的新增用户ID与从第一用户数字签名或第二用户数字签名中解密出来的新增用户ID是否相同,如果不同,则判定为非法签名,返回错误;如果相同,则判定为第一用户数字签名或第二用户数字签名正确;比较增加用户申请信息中的第五时间戳与从第一用户数字签名或第二用户数字签名中解密出来的第五时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,则判定为第一用户数字签名或第二用户数字签名正确。
其中,第五时间戳可以作为安全因子,并且第五时间戳可以随意进行设置,但为了起到验证的作用,第五时间戳可以选取注册节点的区域信息的时间。此外,第五时间戳应该在预定的时间范围内有效,即当前时间戳减去第五时间戳应该小于等于预定的时间,比如120分钟。假若当前时间戳减去第五时间戳不在预定的时间范围内,则可以判定为非法签名,返回错误。
当管理用户的请求为注销用户时,所述用户管理系统接收用户从用户申请客户端发送的管理用户的请求,所述用户客户端将所述管理用户的请求发送至用户管理智能合约,所述用户管理智能合约根据所述管理用户的请求完成所述用户的管理,具体包括:
用户节点从用户申请客户端发起注销用户的请求,其中,所述注销用户的请求包括:用户ID、第六时间戳与第三用户数字签名,所述第三用户数字签名是通过对用户ID与第六时间戳进行签名得到;
所述用户节点将所述注销用户的请求发送到用户管理系统,所述用户管理系统将所述注销用户的请求保存为注销用户申请信息;
用户管理委员会的委员节点从用户管理系统中读取所述注销用户申请信息,并对用户ID、第六时间戳进行签名,得到第四用户数字签名,将用户ID、用户管理委员会的委员节点ID、第六时间戳、第四用户数字签名发送到用户管理系统,用户管理系统将用户管理委员会的委员节点发送的,用户ID、用户管理委员会的委员节点ID、第六时间戳、第四用户数字签名保存为注销用户审批信息;
当用户管理系统收集到的同一用户ID的注销用户审批信息数目超过用户管理委员会的委员节点第六预设数量时,将与所述用户相关的注销用户申请信息与注销用户审批信息发送到用户管理智能合约,其中,第六预设数量可以为用户管理委员会的委员节点数量的一半;
用户管理智能合约检查注销用户申请信息与所有的注销用户审批信息的一致性,即验证注销用户申请信息以及所有增加用户审批信息的用户ID是否相同;
若用户管理智能合约检查出注销用户申请信息与所有的注销用户审批信息不具有一致性,则判定为未达成一致意见,返回错误;
若用户管理智能合约检查出注销用户申请信息与所有的注销用户审批信息具有一致性,检查注销用户审批信息的数目是否超过用户管理委员会的委员节点第六预设数量;
用户管理智能合约若检查注销用户审批信息的数目未超过用户管理委员会的委员节点第六预设数量,则判定为非法请求,予以驳回;
用户管理智能合约若检查注销用户审批信息的数目超过用户管理委员会的委员节点第六预设数量,依据用户管理委员会的委员节点ID从区块链账本中查找对应的委员信息;
用户管理智能合约若从区块链账本中未找到对应的委员信息,则判定为非法委员,返回错误;
用户管理智能合约若从区块链账本中找到对应的委员信息,验证第三用户数字签名与第四用户数字签名的合法性;如果委员信息中的是否有效字段为无效,则判定为无效委员,返回错误;
用户管理智能合约验证出所述第三用户数字签名与所述第四用户数字签名不合法,则判定为非法签名,返回错误;
用户管理智能合约验证出所述第三用户数字签名与所述第四用户数字签名合法,依据注销用户名称申请信息中的用户ID从区块链账本中查找用户信息,将所述用户信息对应的用户进行注销。用户管理智能合约将用户信息的是否有效设为无效,用当前系统时间替换用户信息的更新时间,然后将用户信息重新保存在区块链账本中。
验证第三用户数字签名与第四用户数字签名的合法性,具体包括:
依据用户管理委员会的委员节点ID从实名数字身份智能合约中获取公钥;使用公钥解密第三用户数字签名或第四用户数字签名得到用户名称与第六时间戳;比较注销用户申请信息中的第六时间戳与从第三用户数字签名或第四用户数字签名中解密出来的第六时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,则判定为第三用户数字签名或第四用户数字签名正确。
其中,第六时间戳可以作为安全因子,并且第六时间戳可以随意进行设置,但为了起到验证的作用,第六时间戳可以选取注册节点的区域信息的时间。此外,第六时间戳应该在预定的时间范围内有效,即当前时间戳减去第六时间戳应该小于等于预定的时间,比如120分钟。假若当前时间戳减去第六时间戳不在预定的时间范围内,则可以判定为非法签名,返回错误。
当管理用户的请求为启用用户时,所述用户管理系统接收用户从用户申请客户端发送的管理用户的请求,所述用户客户端将所述管理用户的请求发送至用户管理智能合约,所述用户管理智能合约根据所述管理用户的请求完成所述用户的管理,具体包括:
用户节点从用户申请客户端发起启用用户的请求,其中,所述启用用户的请求包括:用户ID、第七时间戳与第五用户数字签名,所述第五用户数字签名是通过对用户ID与第七时间戳进行签名得到;
所述用户节点将所述启用用户的请求发送到用户管理系统,所述用户管理系统将所述启用用户的请求保存为启用用户申请信息;
用户管理委员会的委员节点从用户管理系统中读取所述启用用户申请信息,并对用户ID、第七时间戳进行签名,得到第六用户数字签名,将用户ID、用户管理委员会的委员节点ID、第七时间戳、第六用户数字签名发送到用户管理系统,用户管理系统将用户管理委员会的委员节点发送的,用户ID、用户管理委员会的委员节点ID、第七时间戳、第六用户数字签名保存为启用用户审批信息;
当用户管理系统收集到的同一用户ID的启用用户审批信息数目超过用户管理委员会的委员节点第七预设数量时,将与所述用户相关的启用用户申请信息与启用用户审批信息发送到用户管理智能合约,其中,第七预设数量可以为用户管理委员会的委员节点数量的一半;
用户管理智能合约检查启用用户申请信息与所有的启用用户审批信息的一致性,即验证增加用户申请信息以及所有启用用户审批信息的用户ID是否相同;
若用户管理智能合约检查出启用用户申请信息与所有的启用用户审批信息不具有一致性,则判定为未达成一致意见,返回错误;
若用户管理智能合约检查出启用用户申请信息与所有的启用用户审批信息具有一致性,检查启用用户审批信息的数目是否超过用户管理委员会的委员节点第七预设数量;
用户管理智能合约若检查启用用户审批信息的数目未超过用户管理委员会的委员节点第七预设数量,则判定为非法请求,予以驳回;
用户管理智能合约若检查启用用户审批信息的数目超过用户管理委员会的委员节点第七预设数量,依据用户管理委员会的委员节点ID从区块链账本中查找对应的委员信息;
用户管理智能合约若从区块链账本中未找到对应的委员信息,则判定为非法委员,返回错误;
用户管理智能合约若从区块链账本中找到对应的委员信息,验证第五用户数字签名与第六用户数字签名的合法性;如果委员信息中的是否有效字段为无效,则判定为无效委员,返回错误;
用户管理智能合约验证出所述第五用户数字签名与所述第六用户数字签名不合法,则判定为非法签名,返回错误;
用户管理智能合约验证出所述第五用户数字签名与所述第六用户数字签名合法,依据启用用户名称申请信息中的用户ID从区块链账本中查找用户信息,将所述用户信息对应的用户进行启用。用户管理智能合约将用户信息的是否有效设为有效,用当前系统时间替换用户信息的更新时间,然后将用户信息重新保存在区块链账本中。
验证第五用户数字签名与第六用户数字签名的合法性,具体包括:
依据用户管理委员会的委员节点ID从实名数字身份智能合约中获取公钥;使用公钥解密第五用户数字签名或第六用户数字签名得到用户名称与第七时间戳;比较启用用户申请信息中的第七时间戳与从第五用户数字签名或第六用户数字签名中解密出来的第七时间戳是否相同,如果不同,则判定为非法签名,返回错误;如果相同,则判定为第五用户数字签名或第六用户数字签名正确。
其中,第七时间戳可以作为安全因子,并且第七时间戳可以随意进行设置,但为了起到验证的作用,第七时间戳可以选取注册节点的区域信息的时间。此外,第七时间戳应该在预定的时间范围内有效,即当前时间戳减去第七时间戳应该小于等于预定的时间,比如120分钟。假若当前时间戳减去第七时间戳不在预定的时间范围内,则可以判定为非法签名,返回错误。
需要说明的是,本说明书实施例在IPFS系统的基础之上,结合安全可信的区块链技术,对IPFS系统进一步进行深度改造,增加用户访问控制,进一步构建安全、可控、可信的大规模分布式联盟安全文件系统(Alliance Security File System,缩写为ASFS),旨在满足安全、保密应用场景下的数据存储、数据交换与分享。
本说明书实施例通过用户机制,构建访问可控的联盟安全文件系统。系统总体结构包括:文件访问客户端、联盟安全文件系统、用户申请客户端、用户管理客户端、用户管理智能合约、实名数字身份智能合约与用户管理系统6个关键组件。其中,联盟安全文件系统包括:文件访问控制模块、IPFS。基于联盟区块链系统进行构建用户管理智能合约。基于区块链的实名数字身份管理方法及系统构建实名数字身份智能合约。文件系统总体架构示意图,参见图3。
其中,联盟区块链系统的用户管理智能合约负责管理与维护用户组信息。用户管理委员会负责管理用户与用户组。用户管理委员会委员的数据结构为:委员ID、委员名称、是否有效、创建时间、更新时间。用户管理委员会由多名成员组成,其成员人数既有最多数量限制又有最少数量限制。依据不同应用场景的需求通过系统配置参数具体设定用户管理委员会委员的最少人数,但无论如何都不应当少于2人。依据不同应用场景的需求通过系统配置参数具体设定用户管理委员会委员的最多人数。原始用户管理委员会委员由系统初始化配置参数设定。多名用户联合签名可以增加、注销、启用用户管理委员会委员。依据不同应用场景的需求通过系统配置参数具体设定管理用户管理委员会委员的用户最少人数,但无论如何都不应当少于2人。系统初始化时会读取系统配置参数,并进行规则检查,如果不符合规则,系统启动失败。需要说明的是,用户管理委员会可以处理用户管理委员会节点。用户管理委员会委员可以处于用户管理委员会的委员节点。
用户组的数据结构可以为:用户组ID、用户组名称、是否有效、创建时间、更新时间。一个用户可以属于多个用户组。用户的数据结构为:用户ID、用户名称、所述用户组、是否有效、创建时间、更新时间,其中,用户组是列表结构,存放用户所属的所有用户组ID。
增加用户组、修改用户组名称、注销用户组、启用用户组、增加用户、注销用户及启用用户时,需要经过超过半数的用户管理委员会委员的同意及联合签名。
需要说明的是,本说明书实施例在用户管理委员会委员管理时,具体包括:
一、增加委员
1、首先,用户从用户申请客户端发起增加委员的请求。用户对委员ID、委员名称、当前系统时间戳进行签名,然后将委员ID、委员名称、用户ID、当前系统时间戳、数字签名发送到用户管理系统。用户管理系统对上述“增加委员申请信息”进行保存。
2、其次,其他用户从用户管理系统中读取上一步骤保存的“增加委员申请信息”,并对委员ID、委员名称、当前系统时间戳进行签名,然后将委员ID、委员名称、用户ID、当前系统时间戳、数字签名发送到用户管理系统。用户管理系统对上述“增加委员申请信息”进行保存。
3、当用户管理系统收集到的同一委员ID的“增加委员申请信息”数目超过系统设定的管理用户管理委员会委员的用户最少人数时,将与该委员有关的所有的“增加委员申请信息”发送到用户管理智能合约。
4、用户管理智能合约首先检查申请人的意见一致性。验证所有“增加委员申请信息”的委员ID、委员名称是否相同,如果不同,则判定为未达成一致意见,返回错误。
5、用户管理智能合约其次检查“增加委员申请信息”的数目是否超过系统设定的管理用户管理委员会委员的用户最少人数,如果没有达到这一条件,则判定为非法请求,予以驳回。其次,用户管理智能合约检查新增委员ID是否与已有的委员ID冲突,如果冲突,则判定为重复增加,返回错误。其次,用户管理智能合约检查当前有效用户管理委员会委员的人数,如果总的有效人数大于或者等于系统设定的用户管理委员会委员最多人数,则判定为委员名额已满,返回错误。
6、用户管理智能合约继续验证数字签名的合法性。对于所有的“增加委员申请信息”的数字签名进行如下的验证:依据用户ID从实名数字身份智能合约中获取公钥;使用公钥解密数字签名得到委员ID、委员名称、时间戳;比较“增加委员申请信息”中的委员ID与从数字签名中解密出来的委员ID是否相同,如果不同,则判定为非法签名,返回错误;比较“增加委员申请信息”中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;“增加委员申请信息”中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如30分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
7、用户管理智能合约将“增加委员申请信息”中的委员ID、委员名称保存在区块链账本中。区块链账本中保存的委员信息的完整数据结构包括:委员ID、委员名称、是否有效、创建时间、更新时间。其中新建委员的是否有效字段设为有效,创建时间及更新时间均设为当前系统时间。
二、注销委员
1、首先,用户从用户申请客户端发起注销委员的请求。用户对委员ID、当前系统时间戳进行签名,然后将委员ID、用户ID、当前系统时间戳、数字签名发送到用户管理系统。用户管理系统将委员ID、用户ID、当前系统时间戳、数字签名保存为注销委员申请信息。
2、其次,其他用户管理委员会委员从用户管理系统中读取上一步骤保存的注销委员申请信息,并对委员ID、当前系统时间戳进行签名,然后将委员ID、用户ID、当前系统时间戳、数字签名发送到用户管理系统。用户管理系统将委员ID、用户ID、当前系统时间戳、数字签名保存为注销委员申请信息。
3、当用户管理系统收集到的同一委员ID的注销委员申请信息数目超过系统设定的管理用户管理委员会委员的用户最少人数时,将与该委员有关的所有的注销委员申请信息发送到用户管理智能合约。
4、用户管理智能合约首先检查申请人的意见一致性。验证所有注销委员申请信息的委员ID是否相同,如果不同,则判定为未达成一致意见,返回错误。
5、用户管理智能合约验证所有注销委员申请信息的委员ID相同,检查注销委员申请信息的数目是否超过系统设定的管理用户管理委员会委员的用户最少人数,如果没有达到这一条件,则判定为非法请求,予以驳回。其次,用户管理智能合约检查当前有效用户管理委员会委员的人数,如果总的有效人数小于或者等于系统设定的用户管理委员会委员最少人数,则判定为委员人数不足,返回错误。再次,用户管理智能合约依据注销委员申请信息中的委员ID作为检索条件,检查区块链账本中是否存在对应的委员,如果不存在,则判定为非法委员,返回错误。
6、用户管理智能合约继续验证数字签名的合法性。对于所有的注销委员申请信息的数字签名进行如下的验证:依据用户ID从实名数字身份智能合约中获取公钥;使用公钥解密数字签名得到委员ID、时间戳;比较注销委员申请信息中的委员ID与从数字签名中解密出来的委员ID是否相同,如果不同,则判定为非法签名,返回错误;比较注销委员申请信息中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;注销委员申请信息中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如30分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
7、用户管理智能合约依据注销委员申请信息中的委员ID从区块链账本中查找委员信息,如果找不到目标委员,则判定为非法委员信息,返回错误。用户管理智能合约将委员信息的是否有效设为无效,用当前系统时间替换委员信息的更新时间,然后将委员信息重新保存在区块链账本中。
三、启用委员
1、首先,用户从用户申请客户端发起启用委员的请求。用户对委员ID、当前系统时间戳进行签名,然后将委员ID、用户ID、当前系统时间戳、数字签名发送到用户管理系统。用户管理系统将委员ID、用户ID、当前系统时间戳、数字签名保存为启用委员申请信息。
2、其次,其他用户管理委员会委员从用户管理系统中读取上一步骤保存的启用委员申请信息,并对委员ID、当前系统时间戳进行签名,然后将委员ID、用户ID、当前系统时间戳、数字签名发送到用户管理系统。用户管理系统将委员ID、用户ID、当前系统时间戳、数字签名保存为启用委员申请信息。
3、当用户管理系统收集到的同一委员ID的启用委员申请信息数目超过系统设定的管理用户管理委员会委员的用户最少人数时,将与该委员有关的所有的启用委员申请信息发送到用户管理智能合约。
4、用户管理智能合约首先检查申请人的意见一致性。验证所有启用委员申请信息的委员ID、委员名称是否相同,如果不同,则判定为未达成一致意见,返回错误。
5、用户管理智能合约验证所有启用委员申请信息的委员ID、委员名称相同,检查启用委员申请信息的数目是否超过系统设定的管理用户管理委员会委员的用户最少人数,如果没有达到这一条件,则判定为非法请求,予以驳回。其次,用户管理智能合约检查当前有效用户管理委员会委员的人数,如果总的有效人数大于或者等于系统设定的用户管理委员会委员最多人数,则判定为委员名额已满,返回错误。再次,用户管理智能合约依据启用委员申请信息中的委员ID作为检索条件,检查区块链账本中是否存在对应的委员,如果不存在,则判定为非法委员,返回错误。
6、用户管理智能合约继续验证数字签名的合法性。对于所有的启用委员申请信息的数字签名进行如下的验证:依据用户ID从实名数字身份智能合约中获取公钥;使用公钥解密数字签名得到委员ID、时间戳;比较启用委员申请信息中的委员ID与从数字签名中解密出来的委员ID是否相同,如果不同,则判定为非法签名,返回错误;比较启用委员申请信息中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;启用委员申请信息中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如30分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
7、用户管理智能合约依据启用委员申请信息中的委员ID从区块链账本中查找委员信息,如果找不到目标委员,则判定为非法委员信息,返回错误。用户管理智能合约将委员信息的是否有效设为有效,用当前系统时间替换委员信息的更新时间,然后将委员信息重新保存在区块链账本中。
本说明书实施例在完成上述步骤后,可以进行目录访问管理,具体可以包括:
1、发起请求。用户通过文件访问客户端将用户ID、时间戳,数字签名发送到联盟安全文件系统的文件访问控制模块。
2、验证签名。联盟安全文件系统的文件访问控制模块依据用户ID从实名数字身份智能合约中获取公钥。使用公钥解密数字签名得到用户ID、时间戳、目录名称。比较参数中的用户ID与从数字签名中解密出来的用户是否相同,如果不同,则判定为非法签名,返回错误;比较参数中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;参数中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如5分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
3、验证访问权限。联盟安全文件系统的文件访问控制模块依据用户ID从用户组管理智能合约处获取用户信息,包括:用户ID、用户名称、用户组ID。如果没有找到相应的用户信息,则判定为没有访问权限,返回错误。如果找到相应的用户信息,则判定为有权限访问目录,接着依据从数字签名中解密出来的目录名称查找对应的目录文件,并将目录文件内容返回给文件访问客户端。
本说明书实施例在完成上述步骤后,还可以进行文件访问管理,具体可以包括:
1、发起请求。用户通过文件访问客户端将用户ID、时间戳,数字签名发送到联盟安全文件系统的文件访问控制模块。
2、验证签名。联盟安全文件系统的文件访问控制模块依据用户ID从实名数字身份智能合约中获取公钥。使用公钥解密数字签名得到用户ID、时间戳、文件名称。比较参数中的用户ID与从数字签名中解密出来的用户是否相同,如果不同,则判定为非法签名,返回错误;比较参数中的时间戳与从数字签名中解密出来的时间戳是否相同,如果不同,则判定为非法签名,返回错误;参数中的时间戳应当在预定的时间范围内,即当前系统时间戳减去参数时间戳的绝对值小于预定的值,比如5分钟。时间戳用来防止数字签名盗用、数据重放攻击等。
3、验证访问权限。联盟安全文件系统的文件访问控制模块依据用户ID从用户组管理智能合约处获取用户信息,包括:用户ID、用户名称、用户组ID。如果没有找到相应的用户信息,则判定为没有访问权限,返回错误。如果找到相应的用户信息,则判定为有权限访问文件,接着依据从数字签名中解密出来的文件名称查找对应的文件,并将文件内容返回给文件访问客户。
本说明书实施例具有以下效果:
(一)通过IPFS与区块链技术,增加了用户访问控制机制,可以满足安全、保密应用场景下的数据存储、数据交换与分享。
(二)通过智能合约实现用户、用户组及委员会的管理,使得文件权限控制数据不可篡改、授权行为不可抵赖,文件控制效果更加安全可信。
(三)与数字实名身份智能合约的结合,使得用户身份真实、可靠,用户授权行为可追溯。这一机制使得文件管控更加透明、更安全。
(四)用户管理委员会委员相当于传统意义上的管理员,负责管理用户及用户组。用户管理委员会委员由普通用户推荐选举产生,以管理员的身份管理用户及用户组,接受所有用户的监督,多名用户联合签名可以罢免用户管理委员会委员。传统文件系统由单个管理员或者多个管理员单独管理用户及用户组。本案通过选举代表组成委员会,多名委员联合共同管理用户及用户组,进一步增强了授权的安全性。代表制也是区块链流行的共识机制,将这一机制引入到文件管理系统中,增强了其安全性与可信性。
(五)签名机制代替传统的密码机制,大大增强了认证与控制的安全性。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种基于IPFS的用户组管理方法,其特征在于,所述方法包括:
用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,其中,所述管理用户组的请求包括增加用户组、修改用户组名称、注销用户组以及启用用户组;
所述用户客户端将所述管理用户组的请求发送至用户管理智能合约;
所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理。
2.根据权利要求1所述的基于IPFS的用户组管理方法,其特征在于,所述管理用户组的请求为增加用户组,所述用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,所述用户客户端将所述管理用户组的请求发送至用户管理智能合约,所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理,具体包括:
用户管理委员会的委员节点从用户管理客户端发起增加用户组的请求,其中,所述增加用户组的请求包括:新增用户组ID、新增用户组名称、用户管理委员会的委员节点ID、第一时间戳与第一数字签名,所述第一数字签名是通过对新增用户组ID、新增用户组名称、第一时间戳进行签名得到;
用户管理委员会的委员节点将用所述增加用户组的请求发送到用户管理系统,用户管理系统将所述增加用户组的请求保存为增加用户组申请信息;
其他用户管理委员会的委员节点从所述用户管理系统中读取所述增加用户组申请信息,并对新增用户组ID、新增用户组名称、第一时间戳进行签名,得到第二数字签名,将新增用户组ID、用户组名称、用户管理委员会的委员节点ID、第一时间戳、第二数字签名发送到用户管理系统,用户管理系统将其他用户管理委员会的委员节点发送的,新增用户组ID、用户组名称、用户管理委员会的委员节点ID、第一时间戳、第二数字签名保存为增加用户组申请信息;
当用户管理系统收集到的同一新增用户组ID的增加用户组申请信息数目超过用户管理委员会的委员节点第一预设数量时,将与所述用户组相关的所有的增加用户组申请信息发送到用户管理智能合约;
用户管理智能合约验证所有增加用户组申请信息中新增用户组ID、新增用户组名称是否相同;
用户管理智能合约验证出所有增加用户组申请信息中新增用户组ID、新增用户组名称相同,检查增加用户组申请信息的数目是否超过用户管理委员会的委员节点的第一预设数量;
用户管理智能合约检查出增加用户组申请信息的数目超过用户管理委员会的委员节点的第一预设数量,依据用户管理委员会的委员节点ID从区块链账本中查找对应的委员信息;
若用户管理智能合约依据用户管理委员会的委员节点ID从区块链账本中查找到对应的委员信息,对于所有的增加用户组申请信息中的第一数字签名与第二数字签名进行验证;
用户管理智能合约验证出所述第一数字签名与所述第二数字签名正确,将增加用户组申请信息中的新增用户组ID与新增用户组名称保存在区块链账本中。
3.根据权利要求1所述的基于IPFS的用户组管理方法,其特征在于,所述管理用户组的请求为修改用户组名称,所述用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,所述用户客户端将所述管理用户组的请求发送至用户管理智能合约,所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理,具体包括:
用户管理委员会的委员节点从用户管理客户端发起修改用户组的请求,其中,所述修改用户组的请求包括:用户组ID、新的用户组名称、用户管理委员会的委员节点ID、第二时间戳与第三数字签名,所述第三数字签名是通过对用户组ID、新的用户组名称、第二时间戳进行签名得到;
用户管理委员会的委员节点将用所述修改用户组的请求发送到用户管理系统,用户管理系统将所述修改用户组的请求保存为修改用户组申请信息;
其他用户管理委员会的委员节点从所述用户管理系统中读取所述修改用户组申请信息,并对用户组ID、新的用户组名称、第二时间戳进行签名,得到第四数字签名,将用户组ID、新的用户组名称、用户管理委员会的委员节点ID、第二时间戳、第四数字签名发送到用户管理系统,用户管理系统将其他用户管理委员会的委员节点发送的,用户组ID、新的用户组名称、用户管理委员会的委员节点ID、第二时间戳、第四数字签名保存为修改用户组申请信息;
当用户管理系统收集到的同一用户组ID的修改用户组申请信息数目超过用户管理委员会的委员节点第二预设数量时,将与所述用户组相关的所有的修改用户组申请信息发送到用户管理智能合约;
用户管理智能合约验证所有修改用户组申请信息中用户组ID、新的用户组名称是否相同;
用户管理智能合约验证出所有修改用户组申请信息中用户组ID、新的用户组名称相同,检查修改用户组申请信息的数目是否超过用户管理委员会的委员节点的第二预设数量;
用户管理智能合约检查出修改用户组申请信息的数目超过用户管理委员会的委员节点的第二预设数量,依据用户管理委员会的委员节点ID从区块链账本中查找对应的委员信息;
若用户管理智能合约依据用户管理委员会的委员节点ID从区块链账本中查找到对应的委员信息,对于所有的修改用户组申请信息中的第三数字签名与第四数字签名进行验证;
用户管理智能合约验证出所述第三数字签名与所述第四数字签名正确,依据修改用户组名称申请信息中的用户组ID从区块链账本中查找用户组信息,将所述用户组信息中的用户组名称改为新的用户组名称。
4.根据权利要求1所述的基于IPFS的用户组管理方法,其特征在于,所述管理用户组的请求为注销用户组,所述用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,所述用户客户端将所述管理用户组的请求发送至用户管理智能合约,所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理,具体包括:
用户管理委员会的委员节点从用户管理客户端发起注销用户组的请求,其中,所述注销用户组的请求包括:用户组ID、用户管理委员会的委员节点ID、第三时间戳与第五数字签名,所述第五数字签名是通过对用户组ID、第三时间戳进行签名得到;
用户管理委员会的委员节点将用所述注销用户组的请求发送到用户管理系统,用户管理系统将所述注销用户组的请求保存为注销用户组申请信息;
其他用户管理委员会的委员节点从所述用户管理系统中读取所述注销用户组申请信息,并对用户组ID、第三时间戳进行签名,得到第六数字签名,将用户组ID、用户管理委员会的委员节点ID、第三时间戳、第六数字签名发送到用户管理系统,用户管理系统将其他用户管理委员会的委员节点发送的,用户组ID、用户管理委员会的委员节点ID、第三时间戳、第六数字签名保存为注销用户组申请信息;
当用户管理系统收集到的同一用户组ID的注销用户组申请信息数目超过用户管理委员会的委员节点第三预设数量时,将与所述用户组相关的所有的注销用户组申请信息发送到用户管理智能合约;
用户管理智能合约验证所有注销用户组申请信息中用户组ID是否相同;
用户管理智能合约验证出所有注销用户组申请信息中用户组ID相同,检查注销用户组申请信息的数目是否超过用户管理委员会的委员节点的第三预设数量;
用户管理智能合约检查出注销用户组申请信息的数目超过用户管理委员会的委员节点的第三预设数量,依据用户管理委员会的委员节点ID从区块链账本中查找对应的委员信息;
若用户管理智能合约依据用户管理委员会的委员节点ID从区块链账本中查找到对应的委员信息,对于所有的注销用户组申请信息中的第五数字签名与第六数字签名进行验证;
用户管理智能合约验证出所述第五数字签名与所述第六数字签名正确,依据注销用户组名称申请信息中的用户组ID从区块链账本中查找用户组信息,将所述用户组信息对应的用户组进行注销。
5.根据权利要求1所述的基于IPFS的用户组管理方法,其特征在于,所述管理用户组的请求为启用用户组,所述用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,所述用户客户端将所述管理用户组的请求发送至用户管理智能合约,所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理,具体包括:
用户管理委员会的委员节点从用户管理客户端发起启用用户组的请求,其中,所述启用用户组的请求包括:用户组ID、用户管理委员会的委员节点ID、第四时间戳与第七数字签名,所述第七数字签名是通过对用户组ID、第四时间戳进行签名得到;
用户管理委员会的委员节点将用所述启用用户组的请求发送到用户管理系统,用户管理系统将所述启用用户组的请求保存为启用用户组申请信息;
其他用户管理委员会的委员节点从所述用户管理系统中读取所述启用用户组申请信息,并对用户组ID、第四时间戳进行签名,得到第八数字签名,将用户组ID、用户管理委员会的委员节点ID、第四时间戳、第八数字签名发送到用户管理系统,用户管理系统将其他用户管理委员会的委员节点发送的,用户组ID、用户管理委员会的委员节点ID、第四时间戳、第八数字签名保存为启用用户组申请信息;
当用户管理系统收集到的同一用户组ID的启用用户组申请信息数目超过用户管理委员会的委员节点第四预设数量时,将与所述用户组相关的所有的启用用户组申请信息发送到用户管理智能合约;
用户管理智能合约验证所有启用用户组申请信息中用户组ID是否相同;
用户管理智能合约验证出所有启用用户组申请信息中用户组ID相同,检查启用用户组申请信息的数目是否超过用户管理委员会的委员节点的第四预设数量;
用户管理智能合约检查出启用用户组申请信息的数目超过用户管理委员会的委员节点的第四预设数量,依据用户管理委员会的委员节点ID从区块链账本中查找对应的委员信息;
若用户管理智能合约依据用户管理委员会的委员节点ID从区块链账本中查找到对应的委员信息,对于所有的启用用户组申请信息中的第七数字签名与第八数字签名进行验证;
用户管理智能合约验证出所述第七数字签名与所述第八数字签名正确,依据启用用户组名称申请信息中的用户组ID从区块链账本中查找用户组信息,将所述用户组信息对应的用户组进行启用。
6.一种基于IPFS的用户管理方法,其特征在于,所述方法包括:
用户管理系统接收用户从用户申请客户端发送的管理用户的请求,其中,所述管理用户的请求包括增加用户、注销用户以及启动用户;
所述用户客户端将所述管理用户的请求发送至用户管理智能合约;
所述用户管理智能合约根据所述管理用户的请求完成所述用户的管理。
7.根据权利要求6所述的基于IPFS的用户管理方法,其特征在于,所述管理用户的请求为增加用户,所述用户管理系统接收用户从用户申请客户端发送的管理用户的请求,所述用户客户端将所述管理用户的请求发送至用户管理智能合约,所述用户管理智能合约根据所述管理用户的请求完成所述用户的管理,具体包括:
用户节点从用户申请客户端发起增加用户的请求,其中,所述增加用户的请求包括:新增用户ID、新增用户名称、用户组ID、第五时间戳与第一用户数字签名,所述用户组ID为新增用户所处的用户组ID,所述第一用户数字签名是通过对新增用户ID、新增用户名称、用户组ID与第五时间戳进行签名得到;
所述用户节点将所述增加用户的请求发送到用户管理系统,所述用户管理系统将所述增加用户的请求保存为增加用户申请信息;
用户管理委员会的委员节点从用户管理系统中读取所述增加用户申请信息,并对新增用户ID、新增用户名称、用户组ID、第五时间戳进行签名,得到第二用户数字签名,将新增用户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.根据权利要求6所述的基于IPFS的用户管理方法,其特征在于,所述管理用户的请求为启用用户,所述用户管理系统接收用户从用户申请客户端发送的管理用户的请求,所述用户客户端将所述管理用户的请求发送至用户管理智能合约,所述用户管理智能合约根据所述管理用户的请求完成所述用户的管理,具体包括:
用户节点从用户申请客户端发起启用用户的请求,其中,所述启用用户的请求包括:用户ID、第七时间戳与第五用户数字签名,所述第五用户数字签名是通过对用户ID与第七时间戳进行签名得到;
所述用户节点将所述启用用户的请求发送到用户管理系统,所述用户管理系统将所述启用用户的请求保存为启用用户申请信息;
用户管理委员会的委员节点从用户管理系统中读取所述启用用户申请信息,并对用户ID、第七时间戳进行签名,得到第六用户数字签名,将用户ID、用户管理委员会的委员节点ID、第七时间戳、第六用户数字签名发送到用户管理系统,用户管理系统将用户管理委员会的委员节点发送的,用户ID、用户管理委员会的委员节点ID、第七时间戳、第六用户数字签名保存为启用用户审批信息;
当用户管理系统收集到的同一用户ID的启用用户审批信息数目超过用户管理委员会的委员节点第七预设数量时,将与所述用户相关的启用用户申请信息与启用用户审批信息发送到用户管理智能合约;
用户管理智能合约检查启用用户申请信息与所有的启用用户审批信息的一致性;
若用户管理智能合约检查出启用用户申请信息与所有的启用用户审批信息具有一致性,检查启用用户审批信息的数目是否超过用户管理委员会的委员节点第七预设数量;
用户管理智能合约若检查启用用户审批信息的数目超过用户管理委员会的委员节点第七预设数量,依据用户管理委员会的委员节点ID从区块链账本中查找对应的委员信息;
用户管理智能合约若从区块链账本中找到对应的委员信息,检查用户ID是否与已有的用户ID冲突;
用户管理智能合约若检查出用户ID与已有的用户ID不冲突,验证第五用户数字签名与第六用户数字签名的合法性;
用户管理智能合约验证出所述第五用户数字签名与所述第六用户数字签名合法,依据启用用户名称申请信息中的用户ID从区块链账本中查找用户信息,将所述用户信息对应的用户进行启用,其中,所述用户包括用户ID与用户名称。
10.一种基于IPFS的用户组管理设备,其特征在于,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
用户管理系统接收用户管理委员会的委员节点,从用户客户端发送的管理用户组的请求,其中,所述管理用户组的请求包括增加用户组、修改用户组名称、注销用户组以及启用用户组;
所述用户客户端将所述管理用户组的请求发送至用户管理智能合约;
所述用户管理智能合约根据所述管理用户组的请求完成所述用户组的管理。
CN202010889397.XA 2020-08-28 2020-08-28 一种基于ipfs的用户组管理方法、用户管理方法及设备 Withdrawn CN114205369A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010889397.XA CN114205369A (zh) 2020-08-28 2020-08-28 一种基于ipfs的用户组管理方法、用户管理方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010889397.XA CN114205369A (zh) 2020-08-28 2020-08-28 一种基于ipfs的用户组管理方法、用户管理方法及设备

Publications (1)

Publication Number Publication Date
CN114205369A true CN114205369A (zh) 2022-03-18

Family

ID=80644287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010889397.XA Withdrawn CN114205369A (zh) 2020-08-28 2020-08-28 一种基于ipfs的用户组管理方法、用户管理方法及设备

Country Status (1)

Country Link
CN (1) CN114205369A (zh)

Similar Documents

Publication Publication Date Title
CN110061838B (zh) 一种dns资源记录的去中心化存储系统及其实现方法
CN110032865B (zh) 一种权限管理方法、装置和存储介质
CN109040012B (zh) 一种基于区块链的数据安全保护和共享方法与系统和应用
CN113742782B (zh) 基于隐私保护的区块链访问权限控制方法和区块链系统
JP3937475B2 (ja) アクセス制御システムおよびその方法
CN103098070B (zh) 用于监视网络服务中数据位置的方法、装置和系统
CN111683101B (zh) 一种基于区块链的自主跨域访问控制方法
CN111144881A (zh) 对资产转移数据的选择性访问
CN102947797B (zh) 使用横向扩展目录特征的在线服务访问控制
CN101669128B (zh) 级联认证系统
CN112311530A (zh) 一种基于区块链的联盟信任分布式身份凭证管理认证方法
CN110191153B (zh) 基于区块链的社交通信方法
US20120311339A1 (en) Method for storing data on a peer-to-peer network
Panda et al. A blockchain based decentralized authentication framework for resource constrained iot devices
CN102859935A (zh) 利用虚拟机远程维护电子网络中的多个客户端的系统和方法
CN103095720B (zh) 一种基于会话管理服务器的云存储系统的安全管理方法
CN105516110A (zh) 移动设备安全数据传送方法
CN105450750A (zh) 智能终端安全交互方法
CN110351263A (zh) 一种基于超级账本fabric的物联网认证方法
CN103535007A (zh) 分布式网络的管理认证
JP2023524715A (ja) ネットワーク間の識別情報プロビジョニング
EP3817320B1 (en) Blockchain-based system for issuing and validating certificates
CN110555783B (zh) 一种基于区块链的电力营销数据保护方法及系统
CN115510492A (zh) 一种基于智能合约的电子病历管理系统及方法
CN112235290B (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: 20220318

WW01 Invention patent application withdrawn after publication