CN113660206A - 一种基于联盟链和多重签名的跨组织访问控制方法 - Google Patents
一种基于联盟链和多重签名的跨组织访问控制方法 Download PDFInfo
- Publication number
- CN113660206A CN113660206A CN202110785917.7A CN202110785917A CN113660206A CN 113660206 A CN113660206 A CN 113660206A CN 202110785917 A CN202110785917 A CN 202110785917A CN 113660206 A CN113660206 A CN 113660206A
- Authority
- CN
- China
- Prior art keywords
- organization
- access control
- user
- contract
- access
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/45—Structures or tools for the administration of authentication
-
- 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/604—Tools and structures for managing or administering access control systems
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
- H04L9/3239—Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3255—Cryptographic 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 using group based signatures, e.g. ring or threshold signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于联盟链和多重签名的跨组织访问控制方法,属于区块链技术领域。本方法以非中心化的联盟链技术为信任机器,在无中心化第三方参与的情况下实现跨组织的访问控制权限的分发、更新和回收,基于联盟链智能合约对跨组织访问请求进行授权决策,能够有效防止中心化节点单点故障或访问控制权限的恶意篡改。基于联盟链准入机制添加或移除参与方节点,部署或更新合约逻辑,有效用于资源共享系统中参与方动态加入及业务逻辑变化的情况,具有良好的扩展性。基于多重签名技术,提供了对共治服务的多方管理控制,能够使一组属于多组织的角色集合共同管理一项共治服务。
Description
技术领域
本发明涉及一种基于联盟链和多重签名的跨组织访问控制方法,属于区块链技术领域。
背景技术
现代化的工程活动呈现出庞大化、复杂化和多元化的趋势。通过属于不同企业和组织员工的协同工作,可以充分发挥各企业的优势,提高工程活动的开发效率并降低开发成本。
不同企业和组织协同工作的关键是各方单位实现对数据、计算和存储资源的共享,提高整体的协作效率,充分利用各方单位的共享资源。为提高多企业协同工作的效率,需要实现对资源的跨组织共享和管理。
在跨组织协同工作系统中,共享资源和资源的使用者分属于不同的组织。资源与其所提供服务的访问控制策略和控制逻辑应该由该资源所属的组织制定和更新,访问控制策略不应被其他组织恶意篡改,访问控制决策不应被其他组织恶意干扰。
传统的资源管理和访问控制方法基于中心化设备实现,其访问控制策略存储在一个中心化数据库中,对访问请求决策和授权的过程同样由一个中心化的访问控制服务器处理。但是,在多企业跨组织资源共享和管理领域,共享资源和系统用户位于不同行政域。若采用传统的访问控制方法管理跨组织共享资源,拥有存储访问控制策略数据库的组织可能根据自身的利益恶意篡改访问控制策略,中心化的访问控制服务器也有出现恶意操作的可能性。由此可见,在基于传统中心化资源管理和访问控制方法的跨组织数据共享和管理系统中,存在恶意篡改访问控制策略和越权非法访问共享资源的风险,而系统很难检测与防范此类恶意攻击方式。
为满足多组织协同工作中对资源的共享和管理,必须提出一种跨行政域的访问控制和权限管理的方法。
针对这种情况,一般可通过如下几个方案实现关键信息保护:
方案1:一种基于中心化可信第三方的解决方案。选择参与协同工作的多方企业和组织均信任的第三方组织,提供中心化的访问控制策略存储和验证服务。该方案要求各方单位信任中心化第三方的行为,对共享资源的访问控制请求的验证过程由中心化可信第三方进行。各组织的用户根据需求将对共享资源的跨组织访问请求提交给可信第三方,可信第三方根据中心化存储的访问控制策略决定是否对此访问请求授权,并将结果分发给请求方和资源的提供方。
但是,该方案存在如下技术缺点:
安全性低:此方案基于中心化的第三方实现,无法保证第三方的安全可信。方案的安全性依赖于中心化第三方,访问控制策略的存储和对访问请求的处理完全依托第三方执行,各参与方无法监测或阻止第三方可能的恶意行为。
可靠性低:由于可信第三方基于中心化服务器实现对访问控制的管理,容易因单点故障或拒绝服务攻击导致无法正常提供服务,方案的可靠性低。
方案2:一种基于桥接CA的解决方案。桥接CA可基于公钥基础设施(PKIs)和数字证书(DC)实现对跨组织共享资源的访问控制。各组织基于PKIs建立信任域,桥接CA与多个PKI域的信任锚间建立关联,使位于不同信任域的用户通过桥接CA相互信任。各方组织通过桥接CA实现对跨域身份的识别和认证,实现跨组织访问控制。与方案1相比,方案2无需信任中心化第三方,具备更高的安全性。
但是,该方案存在如下技术缺点:
扩展性差:此方案基于桥接CA技术设计,但基于桥接CA的机制在可扩展性上存在问题。对于N个信任域的场景,最坏情况需要颁发N2/2个证书。
维护费用高:桥接CA相比于层次CA需要使用更多的基础设施,这些基础设施的使用和维护会产生较大开销。
方案3:一种基于公有链的跨组织访问控制方法。参与资源共享的各方组织提供公有链节点,加入区块链网络。此方案在无需引入中心化第三方的条件下,使用公有链系统作为信任机器,实现跨组织的访问控制方法。各参与方基于公链智能合约将本组织共享资源的访问控制策略记录在区块链账本上。用户对共享资源的跨组织访问请求作为区块链事务提交至公有链网络,触发预先发布在公有链网络中的智能合约对访问请求进行处理,并将跨组织访问请求和智能合约的授权结果记录在区块链账本上。
但是,该方案存在如下技术缺点:
隐私保护存在风险:此方案基于公有链设计。公有链系统并不提供准入机制,任何人均可加入公有链网络并获取相应的数据。参与资源共享的组织在跨组织访问过程中产生的数据作为区块链事务存储在公有链账本上,这导致各参与方的跨组织访问记录存在泄漏的风险。
提供的访问控制功能单一:在多组织协作的环境下,存在与多个组织利益相关的资源与服务。这类资源的访问控制权限应由利益相关的各方组织共同管理。方案三并未提供对此类服务的访问控制管理机制。
发明内容
本发明的目的是为了克服现有技术存在扩展性差、安全性低、功能单一等不足,为了有效解决中心化访问控制系统难以直接扩展至多方协同工作领域的跨行政域资源管理和访问控制授权的技术问题,提出一种基于联盟链和多重签名的跨组织访问控制方法。
为了达到上述目的,本发明采取如下技术方案。
首先,对相关定义进行说明:
定义1:联盟链网络
是指提供跨行政域分布式信任的机器,所述基础设施网络的节点分为共识节点和合约节点,节点由各方组织提供;联盟链网络具有准入机制,仅获得许可的参与组织和它的用户能够访问链上数据并调用智能合约;联盟链网络存储跨行政域访问控制策略和部署智能合约;
其中,共识节点是指运行联盟链共识协议,打包事务并产生新区块的联盟链节点,保证联盟链存储事务的一致性;
其中,合约节点是指联盟链网络中部署智能合约的节点;合约节点接收跨组织的访问请求,执行智能合约对访问请求授权;
定义2:系统用户
是指跨组织资源共享和管理系统的使用者,包括一般用户和管理员两种类型;系统在用户注册时为其分配签名密钥对,用于区块链处理用户行为时的身份验证;系统用户注册客户端与联盟链网络交互;
其中,管理员是被各方组织授权管理本组织内访问控制权限的系统用户;
其中,普通用户是指各参与方提交跨组织访问请求的系统用户;
其中,客户端是指用户使用其签名密钥对注册的应用,用于与联盟链网络交互。
定义3:智能合约
一种旨在以信息化方式传播、验证或执行合同的计算机协议;智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转;跨组织资源管理和访问控制系统存在两种合约,访问控制策略存储合约和访问请求处理合约;
其中,访问控制策略存储合约是指提供对访问控制权限的分配、更新和回收操作的合约逻辑;所述合约逻辑设置准入权限,仅被授权的管理员用户能够在权限范围内调用合约对本组织的访问控制权限进行操作;
其中,访问请求处理合约是指提供对跨组织访问请求验证和授权的合约逻辑;所述合约基于链上存储的访问控制权限处理和授权访问请求;
定义4:基于角色的访问控制RBAC
指本项目所使用并扩展的一种访问控制方式;RBAC中用户与权限不是直接相关联,而是通过用户关联角色,角色关联权限的方式将权限间接赋予用户;被分配角色的用户拥有该角色相关的访问权限;
定义5:多重签名
指被分配签名密钥对的一组签名者能够使用私钥对消息m共同生成一个数字签名,该签名能够通过原始消息m和这组签名者的公钥集合进行合法性验证;
定义6:共治资源
是指与多个组织业务相关的共享资源,其访问控制权限应由相关组织共同管理;对共治服务的访问请求由访问控制树实现;
其中,共治资源提供的服务为共治服务;
其中,访问控制树是指定义在访问请求处理合约中的树形结构,描述和管理对共治服务的访问控制规则,使用一组属于不同组织的角色对一项共治服务进行管理;
定义7:监测节点
指各组织部署的用于监视联盟链新增区块,提取合法的被授权访问请求,并将访问请求发送至本组织相关共享资源的服务器节点;
定义8:多签处理节点
指各组织部署的用于处理多重签名协议过程的服务器节点。
一种基于联盟链和多重签名的跨组织访问控制方法,包括以下步骤:
步骤1.系统初始化。
各参与组织提供节点搭建联盟链网络,为跨组织访问控制提供信任机器。公布多重签名协议公共参数,为系统用户提供注册服务并分发签名密钥对。
具体地,包括下子步骤:
步骤1.1:各参与组织提供节点共同构建联盟链网络,部署检测节点和多签处理节点,设置共识机制并部署相关智能合约;
步骤1.2:公布跨组织访问控制系统选择的公共参数,包括素数阶循环群、阶、生成元,以及哈希函数;
其中,公共参数是预设的值,公布的意思是指:由各参与组织共同协商确定,然后各参与组织的管理员对自己组织内的应用进行设置。
步骤1.3:各参与组织向本组织首次注册用户分发Schnorr签名密钥对,作为用户在跨组织访问控制系统中的身份标识;
步骤2:各参与组织选择管理员用户,调用智能合约管理本组织访问控制权限。
本方法基于角色的访问控制扩展,访问控制权限的管理为对“用户-角色”和“角色-权限”关系对的分配、更新与回收。
具体地,包括以下步骤:
步骤2.1:管理员使用自身签名密钥对创建客户端应用,使用客户端代表其身份与联盟链网络交互;
步骤2.2:管理员用户通过客户端应用,根据对操作类型(权限的分配、更新和回收)构造并提交事务,调用智能合约对“用户-角色”和“角色-权限”关系对进行操作;
步骤2.3:联盟链相关合约接收事务,根据合约逻辑在联盟链账本上对“用户-角色”和“角色-权限”关系对进行分配、更新与回收操作;
步骤3:用户对于共治服务的访问,通过多签处理节点选择一组共同签名者,共同构造对于共治服务访问请求的多重签名,请求者将访问请求和多重签名共同提交至联盟链相关合约,合约基于多重签名的合法性为访问请求授权。
具体地,包含以下步骤:
步骤3.1:请求访问共治服务的用户使用自身签名密钥对注册客户端,用于与联盟链交互;请求用户构造对共治服务的访问请求,获取该共治服务的管理角色集合;
步骤3.2:请求用户通过多签处理节点构造一组被分配管理角色的共同签名者,使这组用户相互公布其参与角色和签名公钥;
步骤3.3:共同签名者用户组的用户分别对访问请求进行部分签名(partialsignature),并将部分签名发送至请求用户;
步骤3.4:请求用户聚合部分签名,得到完整的聚合签名,将聚合签名和访问请求发送至联盟链相关合约;
步骤3.5:合约验证聚合签名和访问控制树的合法性,完成对访问请求的授权,将对共治服务的访问请求和授权结果上链;
步骤4:联盟链节点执行智能合约,打包访问请求和授权结果,产生新区块,各组织监测节点监测新增区块,并将授权的合法访问请求指令转发至共享资源。
具体地,包含以下步骤;
步骤4.1:访问请求以联盟链事务的形式向联盟链网络广播,合约节点验证交易合法性,基于智能合约对合法交易进行授权决策;
步骤4.2:共识节点对访问请求和授权结果进行共识,将访问请求打包,产生新区块;
步骤4.3:各参与组织设置的监测节点检测联盟链新增区块,从中解析被授权的合法访问请求,将指令发送至本组织的共享资源执行。
有益效果
本发明方法,与现有技术相比,具有如下有益效果:
1.本方法具有良好的安全性,具体为:跨行政域访问控制系统以非中心化的联盟链技术为信任机器,在无中心化第三方参与的情况下实现跨组织的访问控制权限的分发、更新和回收,基于联盟链智能合约对跨组织访问请求进行授权决策,能够有效防止中心化节点单点故障或访问控制权限的恶意篡改;
2.本方法具有良好的扩展性,具体体现在基于联盟链准入机制添加或移除参与方节点,部署或更新合约逻辑,有效用用于资源共享系统中参与方动态加入及业务逻辑变化的情况;
3.本方法提供多元化的访问控制机制,具体为:跨组织访问控制系统基于多重签名技术,提供了对共治服务的多方管理方法,能够使一组属于多组织的角色集合共同管理一项共治服务。
附图说明
图1为本发明方法的示意图。
图2为管理共治服务的访问控制树结构。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如图1所示,本发明一种基于联盟链和多重签名的共享资源管理和访问控制方法,具体地,本实施例详细阐述了在医疗数据共享场景下对医院会诊的病历资源的共享和访问控制。在医疗数据共享场景下,甲医院、乙医院和丙医院存在会诊合作,会诊的部分病例分散的存储在三方医院的共享医疗数据库中。甲、乙、丙医院通过本发明提供的共享资源管理和访问控制系统对会诊病历提供共享和访问控制。假设甲医院请求访问乙医院医疗数据库中存储的会诊病历,此处会诊病历即为共治资源,对三方医院会诊病历数据的访问服务即为共治服务。参阅图2,会诊病历的访问服务由图2所述的访问控制树结构管理。
本实施例叙述了采用本发明所述方法对上述医疗数据共享场景中的会诊病历的共享管理和访问控制,包括如下过程:
步骤1:甲、乙、丙三方医院构建联盟链网络,部署智能合约,各方医院的工作人员进行注册。具体实施包括如下子步骤:
步骤1.1:三方医院分别提供合约节点和共识节点,共同构建联盟链网络;运行PBFT共识机制;医院管理员用户通过编译、打包,将访问控制策略存储合约和访问请求处理合约部署至联盟链合约节点;
步骤1.2:向甲、乙、丙三方医院公布系统参数,选择素数阶循环群(G,p,g)作为跨组织访问控制系统的公共参数。其中,G为循环群,p为G的阶,g为群G的一个生成元。选择和公布三个安全哈希函数Hcom、Hagg、Hsig。
步骤1.3:对于每个新加入系统的用户,随机选择sk∈Zp并计算pk=gsk,将密钥对(pk,sk)分发给用户作为其在跨组织访问控制系统中的身份标识;
步骤2:甲医院管理员构造联盟链事务,调用访问控制策略存储合约将本院部分医疗数据的访问权限授权给乙医院的医生。具体步骤包括:
步骤2.1:甲医院管理员使用自身签名密钥对(pkadmin,skadmin)创建客户端,与联盟链访问控制策略存储合约交互;
步骤2.2:甲医院管理员通过客户端构造联盟链事务Tx={txid,pkadmin,pkuser,r,p,sig},调用联盟链访问控制策略存储合约,为乙医院的医生授权;其中pkuser为乙医院医生的公钥,p为甲医院相关医疗数据的访问控制权限,r为角色,txid为随机生成的事务标识,sig为甲医院管理员对上述字段的签名;
步骤2.3:访问控制策略存储合约执行所述事务。具体的,合约使用甲医院管理员公钥pkadmin验证签名sig,基于哈希表将权限p赋予角色r,再将角色r与乙医院医生的公钥pkuser关联,基于RBAC模型将对甲医院部分医疗数据的访问权限通过角色间接的授权给乙医院医生;
其中,步骤2.1到步骤2.4的医疗数据访问权限授予算法如下:
输入:Tx
输出:Rst//授权结果
(1)Extract pkadmin,pkuser,r,p,sig from Tx;//从事务中抽取所需字段
(2)if validate(Tx,pkadmin)is false then//验证签名合法性
(3)return False;
(4)end if
(5)get roleList by hash(p)->roleList;//基于哈希表查询授予权限p的角色集合
(6)roleList.Add(r);//为角色r分配权限p
(7)set hash(p)->roleList to consortium blockchain;//更新授予权限p的角色列表
(8)set hash(pkuser,r)->r;//将角色r与乙医院医生的公钥pkuser关联
(9)return True;
算法1中,合约的输入为管理员用户提交的联盟链事务Tx,输出为访问权限的授权结果Rst;智能合约首先解析管理员用户提交的访问请求事务,从中抽取关键字段pkadmin、pkuser、r、p、sig;其次,合约使用管理员公钥验证事务附带签名的合法性;若验证通过,则通过角色-权限和用户-角色关系的分配为乙院医生赋予医疗数据的访问权限;角色-权限和用户-角色关系均以键值对的形式存储在链上的哈希表中,角色-权限关系键值对为(hash(p),roleList),键为共享医疗数据访问权限p的哈希散列,值为分配了权限p的角色列表;用户-角色关系键值对为(hash(r,pk),r),表示为公钥为pk的医院工作人员分配角色r。
步骤3:甲、乙、丙医院的三方部分会诊病历存储在甲医院,通过跨组织访问控制系统由三方共同管理。对会诊病历的访问请求需经过三方医院授权角色的同意。其中,甲医院授权本院内科医师角色,乙医院授权本院数据管理员角色,丙院授权本院主任医师角色共同管理对会诊病历的访问权限。假设乙医院的一名医师请求访问所述会诊病历,其注册签名密钥对为(pk,sk)。
具体子步骤如下:
步骤3.1:请求医师首先使用(pk,sk)注册客户端应用,通过客户端构造访问请求Tx={txid,pk,crsc,cservice,sig}。其中,txid为随机生成的事务标识,crsc为请求访问的共治资源的标识,cservice为请求访问的共治服务的标识。在所述实施例中,crsc和cservice即为甲医院的共享医疗数据库和会诊病历的查询权限。sig为请求医师使用私钥sk对Tx的签名。其次,请求医师通过客户端调用访问请求处理合约,查询管理cservice访问权限的访问控制树τ,分析τ描述的访问控制规则并获得能够一个满足τ的角色集合RU={Role1,…,Role2}。所述实施例中τ描述的访问控制规则为(甲医院内科医师or乙医院数据管理员)and丙医院主任医师,选择满足所述访问控制规则的角色集合RU={Role1,Role2},其中Role1为甲医院内科医师,Role2为丙医院主任医师;
步骤3.2:请求医师通过多签处理节点发送(RU,Tx)给甲医院和丙医院的多签处理节点。甲、丙医院的多签处理节点分别选择本院被分配角色Role1,Role2的用户作为本次多签协议的共同签名人,使用cosigner1和cosigner2表示甲医院和丙医院选择的共同签名人,其签名密钥对分别为(pk1,sk1)和(pk2,sk2)。若共同签名人拒绝访问请求Tx,则返回拒绝消息,并结束多重签名协议。否则,cosigneri,i∈{1,2}同意请求医师对相关会诊病历的访问,将公钥和角色二元组(pki,Ri)互相公布,计算L={pk1,pk2}为共同签名人公钥列表;
步骤3.3:属于甲医院和丙医院的共同签名人通过多签处理节点执行多重签名协议,生成部分签名。cosigneri,i∈{1,2}首先计算ai=Hagg(L,pki)和聚合公钥cosigneri随机选择ri∈Zp,计算以及哈希ti=Hcom(Ri),并将ti发送给其余共同签名人,各接收到其余签名者发送的哈希后,继续发送Ri。而后,cosigneri验证等式tj=Hcom(Rj),j∈{1,…,i-1,i+1,…,n},所述实施例中n为2,若验证失败,则结束多签协议。否则,cosigneri计算 c=Hsig(pk*,R,Tx),计算部分签名si=ri+caiski mod p,并将si和R发送给请求医师;
步骤3.4:请求医师通过多签处理节点接收cosigneri,i∈{1,2}生成的部分签名si,将部分签名聚合mod p,最终算得多重签名为σ=(R,s)。请求医师将签名σ以及共同签名者的公钥和角色信息列表RL={(pk1,Role1)…(pkn,Rolen)}附在原始交易后,构造出完整的访问请求Tx′,调用访问请求处理合约为Tx′授权;
步骤3.5:访问请求处理合约接收Tx′,合约通过验证请求医师的签名的合法性,多重签名的合法性和访问控制树的合法性,对访问请求Tx′进行授权决策;
步骤3.5:中合约对访问请求授权决策算法如下:
算法2:跨组织会诊病历数据访问权限授予算法
输入:Tx′,τ,g,Hagg,Hsig
输出:Bool
(1)Extract Tx,pk,sig,RL,σ=(R,s)from Tx′;//从事务中抽取所需字段
(2)if validate(Tx,pk)is false then//验证请求医师签名的合法性
(3)return False;
(4)end if
(5)for each(pki,Rolei)from RL do//验证共同签名人是否被分配相关角色
(6)Contract checks get(hash(pki,Rolei))==Rolei;
(7)end for
(8)Contract constructs Lpk={pk1,pk2}and LRole={Role1,Role2}from RL;//构造多重签名人的公钥集合和角色集合
(9)for each pki in Lpk do//计算共同签名人的聚合公钥pk*
(10)ai=Hagg(Lpk,pki);
(11)end for
(13)c=Hsig(pk*,R,Tx);
(14)if gs is not R(pk*)c then//验证多重签名合法性
(15)return 0;
(16)end if
(17)if acTreeValidate(τ.root,LRole)is True then//验证访问控制树合法性
(18)return 1;
(19)else
(20)return 0;
(21)end if
算法2中,访问请求处理合约首先验证请求者签名的合法性,确保访问请求由自公钥为pk的医师发起且没有被篡改,而后验证共同签名者的公钥是否被与其参与多重签名协议所声明的角色关联;其次,合约通过共同签名者的公钥集合计算聚合公钥pk*,以及与访问请求相关的哈希值c,使用pk*、c验证多重签名σ=(R,s)的合法性;最后,通过acTreeValidate(·)函数验证共同签名者的参与身份是否满足访问控制τ树所述基于角色的访问控制规则,此函数的逻辑于算法3中描述;
算法3:访问控制树验证算法
输入:N,LRole
输出:Rst
(1)Initialize t=0;//记录非叶节点N通过验证的子节点个数
(2)for each child node childi of N do//验证N的每个孩子节点
(3)if childi is non-leaf node then//孩子节点是非叶节点
(4)t=t+acTreeValidate(childi,LRole);//递归验证
(5)else//孩子节点是叶节点
(6)if childi.role∈LRole then//孩子节点描述的角色属于角色列表
(7)return 1;//验证通过
(8)else
(9)return 0;//验证失败
(10)end if
(11)end if
(12)end for
(13)if t>=N.T then//非叶节点验证
(14)return 1;//验证通过
(15)else
(16)return 0;//验证失败
(17)end if
算法3描述了访问控制树的递归验证逻辑,算法输入为访问控制树的一个非叶节点N和待验证的角色列表LRole;算法输出为该节点对LRole的验证结果Rst,其为Int类型;若LRole通过该节点的验证,输出Rst为1,否则返回Rst为0;访问控制树使用递归的方式验证角色列表是否满足一个非叶节点N,假设N=(T,CN),T为门限值,CN为非叶节点N的孩子节点个数;算法递归调用acTreeValidate(·)对N的CN个孩子节点进行验证,若节点N有大于等于T个子节点验证成功时,则角色列表LRole通过节点N的验证;递归的临界条件是叶节点的验证,假设叶节点L={Role},若L表示的角色Role∈LRole,则LRole通过节点L的验证;因此,验证访问控制树τ就是调用acTreeValidate(·)递归地验证LRole是否满足τ.root;在本实施例中,对访问控制树的验证即调用acTreeValidate(·)函数递归的验证参与共同签名的两个用户所提供的角色列表是否满足访问控制树描述的访问规则(甲医院内科医师or乙医院数据管理员)and丙医院主任医师。
上述各字符含义如表1所示:
表1本实施例中算法的字符说明
步骤4:联盟链合约节点执行智能合约,共识节点打包访问请求和授权结果,产生新区块并将其添加至联盟链账本。各医院的监测节点监测新增区块,并转发成功授权的合法访问指令。
包括以下步骤:
步骤4.1:乙医院医生的访问请求Tx′以联盟链事务的形式向联盟链网络广播,合约节点验证交易合法性,基于智能合约对合法交易进行授权决策;
步骤4.2:共识节点对访问请求和授权结果进行共识,将访问请求打包,产生新区块并将其添加至联盟链账本;
步骤4.3:甲医院设置的监测节点检测到联盟链账本的新增区块,从新增区块中解析出授权成功的合法访问请求Tx′,将Tx′中被授权的查询命令转发至本组织的共享医疗数据库,获取相应的会诊病例资料;
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。
Claims (5)
1.一种基于联盟链和多重签名的跨组织访问控制方法,首先,对相关定义进行说明:
定义1:联盟链网络
是指提供跨行政域分布式信任的机器,所述基础设施网络的节点分为共识节点和合约节点,节点由各方组织提供;联盟链网络具有准入机制,仅获得许可的参与组织和它的用户能够访问链上数据并调用智能合约;联盟链网络存储跨行政域访问控制策略和部署智能合约;
其中,共识节点是指运行联盟链共识协议,打包事务并产生新区块的联盟链节点,保证联盟链存储事务的一致性;
其中,合约节点是指联盟链网络中部署智能合约的节点;合约节点接收跨组织的访问请求,执行智能合约对访问请求授权;
定义2:系统用户
是指跨组织资源共享和管理系统的使用者,包括一般用户和管理员两种类型;系统在用户注册时为其分配签名密钥对,用于区块链处理用户行为时的身份验证;系统用户注册客户端与联盟链网络交互;
其中,管理员是被各方组织授权管理本组织内访问控制权限的系统用户;
其中,普通用户是指各参与方提交跨组织访问请求的系统用户;
其中,客户端是指用户使用其签名密钥对注册的应用,用于与联盟链网络交互。
定义3:智能合约
一种旨在以信息化方式传播、验证或执行合同的计算机协议;智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转;跨组织资源管理和访问控制系统存在两种合约,访问控制策略存储合约和访问请求处理合约;
其中,访问控制策略存储合约是指提供对访问控制权限的分配、更新和回收操作的合约逻辑;所述合约逻辑设置准入权限,仅被授权的管理员用户能够在权限范围内调用合约对本组织的访问控制权限进行操作;
其中,访问请求处理合约是指提供对跨组织访问请求验证和授权的合约逻辑;所述合约基于链上存储的访问控制权限处理和授权访问请求;
定义4:基于角色的访问控制RBAC
指本项目所使用并扩展的一种访问控制方式;RBAC中用户与权限不是直接相关联,而是通过用户关联角色,角色关联权限的方式将权限间接赋予用户;被分配角色的用户拥有该角色相关的访问权限;
定义5:多重签名
指被分配签名密钥对的一组签名者能够使用私钥对消息m共同生成一个数字签名,该签名能够通过原始消息m和这组签名者的公钥集合进行合法性验证;
定义6:共治资源
是指与多个组织业务相关的共享资源,其访问控制权限应由相关组织共同管理;对共治服务的访问请求由访问控制树实现;
其中,共治资源提供的服务为共治服务;
其中,访问控制树是指定义在访问请求处理合约中的树形结构,描述和管理对共治服务的访问控制规则,使用一组属于不同组织的角色对一项共治服务进行管理;
定义7:监测节点
指各组织部署的用于监视联盟链新增区块,提取合法的被授权访问请求,并将访问请求发送至本组织相关共享资源的服务器节点;
定义8:多签处理节点
指各组织部署的用于处理多重签名协议过程的服务器节点;
其特征在于,包括以下步骤:
步骤1:系统初始化;
各参与组织提供节点搭建联盟链网络,为跨组织访问控制提供信任机器;公布多重签名协议公共参数,为系统用户提供注册服务并分发签名密钥对;
步骤2:基于角色的访问控制扩展,各参与组织选择管理员用户,调用智能合约管理本组织访问控制权限;
其中,访问控制权限的管理为对“用户-角色”和“角色-权限”关系对的分配、更新与回收;
步骤3:用户对于共治服务的访问,通过多签处理节点选择一组共同签名者,共同构造对于共治服务访问请求的多重签名,请求者将访问请求和多重签名共同提交至联盟链相关合约,合约基于多重签名的合法性为访问请求授权;
步骤4:联盟链节点执行智能合约,打包访问请求和授权结果,产生新区块,各组织监测节点监测新增区块,并将授权的合法访问请求指令转发至共享资源。
2.如权利要求1所述的一种基于联盟链和多重签名的跨组织访问控制方法,其特征在于,步骤1包括以下步骤:
步骤1.1:各参与组织提供节点共同构建联盟链网络,部署检测节点和多签处理节点,设置共识机制并部署相关智能合约;
步骤1.2:公布跨组织访问控制系统选择的公共参数,包括素数阶循环群、阶、生成元,以及哈希函数;
其中,公共参数是预设的值,公布的意思是指:由各参与组织共同协商确定,然后各参与组织的管理员对自己组织内的应用进行设置;
步骤1.3:各参与组织向本组织首次注册用户分发Schnorr签名密钥对,作为用户在跨组织访问控制系统中的身份标识;
和“角色-权限”关系对的分配、更新与回收。
3.如权利要求1所述的一种基于联盟链和多重签名的跨组织访问控制方法,其特征在于,步骤2包括以下步骤:
步骤2.1:管理员使用自身签名密钥对创建客户端应用,使用客户端代表其身份与联盟链网络交互;
步骤2.2:管理员用户通过客户端应用,根据对操作类型构造并提交事务,调用智能合约对“用户-角色”和“角色-权限”关系对进行操作;
步骤2.3:联盟链相关合约接收事务,根据合约逻辑在联盟链账本上对“用户-角色”和“角色-权限”关系对进行分配、更新与回收操作。
4.如权利要求1所述的一种基于联盟链和多重签名的跨组织访问控制方法,其特征在于,步骤3包括以下步骤:
步骤3.1:请求访问共治服务的用户使用自身签名密钥对注册客户端,用于与联盟链交互;请求用户构造对共治服务的访问请求,获取该共治服务的管理角色集合;
步骤3.2:请求用户通过多签处理节点构造一组被分配管理角色的共同签名者,使这组用户相互公布其参与角色和签名公钥;
步骤3.3:共同签名者用户组的用户分别对访问请求进行部分签名,并将部分签名发送至请求用户;
步骤3.4:请求用户聚合部分签名,得到完整的聚合签名,将聚合签名和访问请求发送至联盟链相关合约;
步骤3.5:合约验证聚合签名和访问控制树的合法性,完成对访问请求的授权,将对共治服务的访问请求和授权结果上链。
5.如权利要求1所述的一种基于联盟链和多重签名的跨组织访问控制方法,其特征在于,步骤4包括以下步骤:
步骤4.1:访问请求以联盟链事务的形式向联盟链网络广播,合约节点验证交易合法性,基于智能合约对合法交易进行授权决策;
步骤4.2:共识节点对访问请求和授权结果进行共识,将访问请求打包,产生新区块;
步骤4.3:各参与组织设置的监测节点检测联盟链新增区块,从中解析被授权的合法访问请求,将指令发送至本组织的共享资源执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110785917.7A CN113660206B (zh) | 2021-07-12 | 2021-07-12 | 一种基于联盟链和多重签名的跨组织访问控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110785917.7A CN113660206B (zh) | 2021-07-12 | 2021-07-12 | 一种基于联盟链和多重签名的跨组织访问控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113660206A true CN113660206A (zh) | 2021-11-16 |
CN113660206B CN113660206B (zh) | 2022-05-31 |
Family
ID=78490031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110785917.7A Active CN113660206B (zh) | 2021-07-12 | 2021-07-12 | 一种基于联盟链和多重签名的跨组织访问控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113660206B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114760065A (zh) * | 2022-03-24 | 2022-07-15 | 北京邮电大学 | 一种在线学习平台教学资源共享的访问控制方法及装置 |
CN115271741A (zh) * | 2022-08-03 | 2022-11-01 | 国网江苏省电力有限公司南通供电分公司 | 基于区块链技术的电力基建费用智能支付系统及方法 |
CN115426136A (zh) * | 2022-08-12 | 2022-12-02 | 中国人民解放军战略支援部队信息工程大学 | 基于区块链的跨域访问控制方法及系统 |
CN116015929A (zh) * | 2022-12-30 | 2023-04-25 | 中国银联股份有限公司 | 一种联盟链准入管理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038638A (zh) * | 2017-02-24 | 2017-08-11 | 杭州象链网络技术有限公司 | 一种基于联盟链的股权登记交易系统构建方法 |
US20190058581A1 (en) * | 2017-08-03 | 2019-02-21 | Gavin Wood | Methods and Systems for a Heterogeneous Multi-Chain Framework |
CN111461710A (zh) * | 2020-03-06 | 2020-07-28 | 重庆邮电大学 | 一种基于联盟链的分布式账本访问控制方法 |
CN111489154A (zh) * | 2019-01-29 | 2020-08-04 | 北京天德科技有限公司 | 一种基于多重签名的跨链交易方法 |
CN112214797A (zh) * | 2020-05-22 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、区块链系统及存储介质 |
CN112559627A (zh) * | 2020-12-11 | 2021-03-26 | 东北大学 | 一种基于联盟链的链上-链下协同电子病历数据共享方法 |
-
2021
- 2021-07-12 CN CN202110785917.7A patent/CN113660206B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038638A (zh) * | 2017-02-24 | 2017-08-11 | 杭州象链网络技术有限公司 | 一种基于联盟链的股权登记交易系统构建方法 |
US20190058581A1 (en) * | 2017-08-03 | 2019-02-21 | Gavin Wood | Methods and Systems for a Heterogeneous Multi-Chain Framework |
CN111489154A (zh) * | 2019-01-29 | 2020-08-04 | 北京天德科技有限公司 | 一种基于多重签名的跨链交易方法 |
CN111461710A (zh) * | 2020-03-06 | 2020-07-28 | 重庆邮电大学 | 一种基于联盟链的分布式账本访问控制方法 |
CN112214797A (zh) * | 2020-05-22 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、区块链系统及存储介质 |
CN112559627A (zh) * | 2020-12-11 | 2021-03-26 | 东北大学 | 一种基于联盟链的链上-链下协同电子病历数据共享方法 |
Non-Patent Citations (1)
Title |
---|
赵辉等: "智能合约安全问题与研究现状", 《信息技术与网络安全》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114760065A (zh) * | 2022-03-24 | 2022-07-15 | 北京邮电大学 | 一种在线学习平台教学资源共享的访问控制方法及装置 |
CN114760065B (zh) * | 2022-03-24 | 2024-03-19 | 北京邮电大学 | 一种在线学习平台教学资源共享的访问控制方法及装置 |
CN115271741A (zh) * | 2022-08-03 | 2022-11-01 | 国网江苏省电力有限公司南通供电分公司 | 基于区块链技术的电力基建费用智能支付系统及方法 |
CN115426136A (zh) * | 2022-08-12 | 2022-12-02 | 中国人民解放军战略支援部队信息工程大学 | 基于区块链的跨域访问控制方法及系统 |
CN115426136B (zh) * | 2022-08-12 | 2024-04-16 | 中国人民解放军战略支援部队信息工程大学 | 基于区块链的跨域访问控制方法及系统 |
CN116015929A (zh) * | 2022-12-30 | 2023-04-25 | 中国银联股份有限公司 | 一种联盟链准入管理方法及装置 |
CN116015929B (zh) * | 2022-12-30 | 2024-05-17 | 中国银联股份有限公司 | 一种联盟链准入管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113660206B (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113660206B (zh) | 一种基于联盟链和多重签名的跨组织访问控制方法 | |
US11651109B2 (en) | Permission management method, permission verification method, and related apparatus | |
US10708070B2 (en) | System and method for utilizing connected devices to enable secure and anonymous electronic interaction in a decentralized manner | |
Kamboj et al. | User authentication using Blockchain based smart contract in role-based access control | |
US8756423B2 (en) | System and method for establishing a secure group of entities in a computer network | |
CN112311772B (zh) | 基于Hyperledger的跨域证书管理系统及方法 | |
Lee et al. | Blockchain-based RBAC for user authentication with anonymity | |
CN113850599B (zh) | 一种应用于联盟链的跨链交易方法及系统 | |
Adlam et al. | A permissioned blockchain approach to the authorization process in electronic health records | |
EP3817320B1 (en) | Blockchain-based system for issuing and validating certificates | |
CN113949541B (zh) | 一种基于属性策略的dds安全通信中间件设计方法 | |
Mukta et al. | Credtrust: Credential based issuer management for trust in self-sovereign identity | |
Thilagavathy et al. | A novel framework paradigm for EMR management cloud system authentication using blockchain security network | |
Wohlgemuth et al. | Competitive compliance with blockchain | |
Kinkelin et al. | Hardening x. 509 certificate issuance using distributed ledger technology | |
CN113328854A (zh) | 基于区块链的业务处理方法及系统 | |
CN114374700B (zh) | 基于主从多链的支持广域协同的可信身份管理方法 | |
Rosado et al. | Security services architecture for secure mobile grid systems | |
CN112000936A (zh) | 基于跨域属性异构的身份服务方法、介质及设备 | |
Rech et al. | A decentralized service-platform towards cross-domain entitlement handling | |
Rao et al. | VAPKI: A blockchain-based identification system with validation and authentication | |
CN112906069B (zh) | 一种区块链登记管理过程的可信计算方法 | |
Qian et al. | A regulated identity management system based on blockchain platform | |
CN112948797B (zh) | 一种基于协同密码算法的非对称密钥管理系统及方法 | |
Xue et al. | A privacy‐preserving model for blockchain‐based data sharing in the industrial internet |
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 |