CN112350863B - 一种基于交易的去中心化访问控制方法和系统 - Google Patents
一种基于交易的去中心化访问控制方法和系统 Download PDFInfo
- Publication number
- CN112350863B CN112350863B CN202011189225.8A CN202011189225A CN112350863B CN 112350863 B CN112350863 B CN 112350863B CN 202011189225 A CN202011189225 A CN 202011189225A CN 112350863 B CN112350863 B CN 112350863B
- Authority
- CN
- China
- Prior art keywords
- transaction
- access
- agt
- policy
- strategy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Abstract
本发明公开了一种基于交易的去中心化访问控制方法和系统。该系统由去中心化网络上的负责不同职能的节点构成,构建节点的授权服务模块包括:策略判决单元、策略管理单元、脚本解释器和策略信息单元;交易作为访问控制在去中心化网络系统中的传播介质和存证,交易类型包括:主体注册交易、客体托管交易、策略发布交易、访问授权交易,用于记录相关实体属性和节点所执行的操作,并采用脚本化密码认证技术保障交易的完整性和真实性。本发明提出的基于交易流转的访问控制系统,涵盖访问控制中资源托管过程、主体注册过程、策略发布过程、访问授权过程,能够在无需可信方情况下实现基于动态访问策略的授权管理。
Description
技术领域
本发明主要属于信息技术领域,一种基于交易的去中心化访问控制方法和系统。
背景技术
随着互联网和时代的发展,系统之间越来越强调开放、共享和协作。但是伴随着应用、企业、政府间对数据共享交换以及数据安全的要求,传统中心化访问控制技术难以解决随之产生的诸如资源泄露、数据暴露等问题。考虑到属性基访问控制在保护共享资源方面具有的高灵活性、可用性、可管理性,以及区块链技术的去中心化的特性和在追溯性、不可篡改等方面的优势,可以用于实现开放环境下的共享资源的保护。因此,将两者结合具有重要的研究价值与现实意义。
访问控制是一种防范客体被非授权主体访问的技术,能够提供一种按照已有访问策略对主体访问请求进行授权的机制。通常,访问控制机制是独立于系统内应用程序而独立存在的,也被称为“系统参考监视器”,这个监视器一端连接应用系统,另一端连接受保护资源。监视器所回答的只是:谁是否对某个资源具有实施某个行为的权限。返回的结果包括:是、否、或异常。已有的访问控制模型包括:角色基访问控制(RBAC)模型、属性基访问控制(ABAC)模型等。尽管访问控制模型不同,但访问控制技术通常包括以下几个要素:主体、客体、行为、环境和访问策略,其中,主体指某一操作的发起者和提出访问资源具体请求的实体,一般是用户或者进程等;客体指被访问资源的实体,如信息、文件或者记录等;行为是指访问请求所要实施的具体行为;环境是指访问行为发生所处的环境条件,如时间、地点、设施等;访问策略则表示主体对客体的相关访问规则的集合,它规定了哪些主体有权限访问相应的客体。
近年来,随着区块链的逐渐流行,一些新的关于整合区块链和访问控制模型的研究被提出。例如,基于ABAC的XACML策略管理已被用于区块链上的访问控制,通过存储XML格式的访问策略;又如申请号“201911059491.6”的发明专利申请“基于脚本的属性基访问策略表示和执行方法”,该方法构建于常见的脚本解释器之上,使用脚本语言表示属性基访问策略的判断逻辑并结合JSON语言,构建了一个轻量且高效执行的访问策略模型,但是,该方案缺乏去中心化访问控制系统框架和具体流程。本发明就是在前述专利发明的基础上,使用区块链交易作为访问控制的传播介质,实现一种涵盖资源托管、属性发布、策略发布,访问授权等在内的完整去中心化访问控制框架,通过资源所有者有权对资源的使用指定策略,系统能够依照该策略自动化的对资源访问进行授权,访问授权过程以交易形式记录在公共账本中,形成访问日志并提供溯源功能。增强系统负载均衡能力,支持多机构间的互操作,提高系统冗余性、可靠性和抗攻击能力。
发明内容
针对现有技术中存在的技术问题,本发明通过将区块链与ABAC模型进行整合,设计一种基于区块链交易的访问控制框架,并构造四类不同的交易格式,分别记录访问控制实施过程中需要使用的主体信息、客体信息、访问策略和访问授权信息,给出基于这四类交易的完整访问策略判决和授权流程,从而实现不需要可信中心、去中心化的访问控制授权服务。
在本发明中的访问控制框架涉及相关概念如下:
主体:指某一操作的发起者和提出访问资源具体请求的实体,一般是用户或者进程等;
客体:指被访问资源的实体,如信息、文件、进程、信道或者数据库记录等;
行为:指主体所要对客体实施的具体动作,如读、写、查找、打开、关闭、执行等;
环境:指行为发生所处的环境条件,如时间、地点、行为执行环境、网络带宽等;
属性:指对具体实体(包括主体、客体、行为、环境)某方面性质的抽象刻画,例如,主体的姓名、年龄;客体的文件名、目录地址;行为的命令名、执行程序、Jar包名;环境的当前时间、地理坐标、网络类型。
访问请求:表示某一主体对另一指定客体发起某种动作行为的请求。
访问策略:表示某一访问请求所必须遵守的规则集合,它规定了哪些主体在何种情况下以何种行为被授权访问指定的客体,本发明中访问策略是建立在主体属性、客体属性、行为属性、环境属性之上基于谓词和布尔逻辑的条件与规则的集合,参见专利201911059491.6。
本发明提出了一种基于交易的去中心化访问控制方法和系统,包括:
1)该系统由去中心化网络上的负责不同职能的节点构成,为每一节点设置授权服务模块ASM包括:策略判决单元PDU、策略管理单元PAU、脚本解释器PSI和策略信息单元PIU;
2)交易TX作为访问控制在去中心化网络系统中的传播介质和存证,交易类型包括:主体注册交易SRT、客体托管交易OET、策略发布交易PIT、访问授权交易AGT,用于记录相关实体属性和节点所执行的操作,并采用脚本化密码认证技术保障交易的完整性和真实性;
3)一种基于交易流转的访问控制模型,涵盖访问控制中资源托管过程、主体注册过程、策略发布过程、访问授权过程,无需可信方情况下实现基于动态访问策略的授权管理。
本发明所述的去中心化网络,是指在一个不含有中心化管理节点的多节点构成的网络系统,包括区块链系统、分布式数据库系统、P2P系统等;该网络所有节点通过共识机制维护一个全网一致性的数据表,被称为公共账本或区块链表,表示为PL;网络中节点根据职能进行命名,包括:
1)主体注册机构SRI:负责对系统内所有实体进入系统前进行登记和分类管理,并支持实体的身份认证功能;
2)客体托管机构OEI:负责接收客体拥有者委托对客体进行保管,足够可靠的以存储用户托管的客体资源并为这些资源提供对外的访问服务;
3)访问执行机构API:负责在获取访问授权后执行该访问请求中的行为;
4)环境监测机构EDI:负责对节点自身的环境状态进行监测,并针对环境属性请求予以响应;
网络中每个节点具有一种或多种职能。
本发明节点的授权服务模块ASM用于使用去中心化网络管理访问控制中访问策略,并由节点对访问请求通过基于可执行脚本的策略评估提供授权服务,包括:
1)策略管理单元PAU:负责在公共账单中以交易形式存储、检索和维护访问策略,包括:将访问策略按照固定格式封装至公共账本中;对策略实施从创建到使用、更新到撤销的生命周期管理;依据当前访问请求CAR从公共账本中检索适合的访问策略,该访问策略也被称为当前访问策略CAP,参见专利201911059491.6;
2)策略信息单元PIU:负责针对策略判决单元PDU发来的属性检索请求ARR以实时属性获取方式获取该实体的当前属性,包括主体属性、客体属性、行为属性和环境属性,并将获取后的属性信息集合返回给策略判决单元PDU;
3)策略判决单元PDU:负责接收当前访问请求CAR,并请求策略管理单元PAU根据该当前访问请求CAR获取当前访问策略CAP,再依据当前访问策略CAP请求策略信息单元PIU返回属性信息集合AIS,最后将当前访问策略CAP和属性信息集合AIS转递给脚本解释器PSI获得最终的授权判定结果PDR。
4)脚本解释器PSI:负责依据当前访问策略CAP中的访问策略脚本验证属性信息集合AIS是否满足访问策略要求,给出最后授权判定结果PDR(允许或拒绝),参见专利201911059491.6。
本发明所述策略信息单元PIU中的实时属性获取方式包括:
1)直接从公共账本PL中的主体注册交易SRT、客体托管交易OET中获取主体属性与客体属性;
2)间接请求主体、客体、行为相关的各个职能节点中策略信息单元PIU获取相应的属性信息,其中,职能节点包括:主体注册机构SRI、客体托管机构OEI、访问执行机构API、环境监测机构EDI,并以属性令牌Token形式返还该属性。
本发明所述职能节点中策略信息单元PIU返回相应的属性信息的方法,包括:
1)从职能数据库中获取非公共账本的属性信息,如主体身份证号、客体的隐私信息(年龄、病因等)、各种行为属性(行为的命令名、执行程序、Jar包名);
2)从节点环境传感器获取环境属性信息,如当前时间、设备GPS信息、CPU状态、网络拥塞状况。
本发明所述的交易TX是指对已发生事件或行为的一种描述与记录,实现上是一种采用键值对描述的数据结构。交易格式包含:
1)交易号:用来确定交易的唯一标识,通常可由交易的哈希值表示;
2)交易类型:用于区分交易的种类;
3)交易表示:是对交易过程中事件或行为的描述,采用一组键值对<attribute,value>形式加以表示;
4)时间戳:用来记录交易的生成时间。
5)签名脚本:满足数字签名功能而设置的指令序列。
其中,交易号与交易类型可以分开或组合表述。
本发明所述的交易类型是指根据不同功能而将交易TX划分为不同种类,包括:
1)主体注册交易SRT:用于在用户与主体注册机构SRI完成注册后,根据用户注册信息,在主体注册交易SRT中的交易表示中记录该信息,包含用户和SRI身份相关信息(包括用户公钥脚本和SRI签名脚本)、用户与SRI之间的权力与义务,并在去中心化网络的公共账本中生成该交易,所有主体注册交易SRT构成主体链;
2)客体托管交易OET:用于在客体拥有者将客体转移给客体托管机构OEI后,根据两者间的托管约定,在客体托管交易OET中的交易表示中记录托管信息,包含:客体属性信息、客体拥有者与客体托管机构OEI的信息与委托关系(由签名脚本实现)、客体托管位置信息、托管周期及责任,并在公共账本中生成该交易,所有客体托管交易OET构成客体链;
3)策略发布交易PIT:用于针对某一被托管客体记录其客体拥有者提交的访问策略(参见专利201911059491.6)以及策略所有权关系(由签名脚本实现),由客体拥有者发布该交易到公共账本上,所有策略发布交易PIT构成策略链;
4)访问授权交易AGT:用于根据每一次访问请求由策略判决单元PDU在访问授权交易AGT中的交易表示中记录访问请求信息,包括访问请求中主体、客体、策略、行为的信息以及最后请求的判决结果,并在公共账本中生成该交易,所有访问授权交易AGT构成授权链。
上述含有多个链的去中心化账本可以由一个区块链构成,也可由多个区块链或多链系统构成。
在本发明所述交易的脚本化密码认证技术是指由脚本指令编写的密码化认证机制,包括:
1)签名脚本:用于发布方对交易进行签名确认,即发布方将交易信息用哈希算法处理得出一个哈希值,然后用私钥对该哈希值进行签名并输出签名脚本,然后发布方再将交易信息和签名脚本一起发布到公共账本。
2)公钥脚本:用于对交易中签名脚本进行验证,即验证方通过使用发布方的公钥脚本对签名脚本进行密码学验证,包括:计算交易信息的哈希值;再由哈希值与签名脚本中签名通过公钥脚本中签名验证算法进行判定,从而鉴定验证信息是否被篡改和信息是否来自发送者,也就是判断该交易发布方的身份真实性。
上述脚本被存储于交易TX的键值对中,是一种基于栈的指令序列,即它使用栈结构实现脚本输入参数的存储和运算,脚本采用逆波兰式的表达形式和栈的“先入后出”数据结构实现脚本执行,执行结果被置于栈底。
本发明所述的基于交易流转的访问控制模型的资源托管过程是指客体托管机构OEI接收客体拥有者委托对客体进行保管,包括:
1)客体拥有者将客体转移给客体托管机构OEI,OEI完成对该客体的存储;
2)双方共同生成客体托管交易OET并发布到客体链;
3)所有节点通过共识协议对客体拥有者和客体托管机构OEI放置在OET中的签名脚本进行验证,即通过两者各自在主体链中主体注册交易SRT存储的公钥脚本与签名脚本实现匹配。
本发明所述的基于交易流转的访问控制模型的主体注册过程是指主体注册机构SRI负责对系统内所有实体进入系统前进行登记,包括:
1)用户在主体注册机构SRI进行注册并完成注册;
2)双方共同生成主体注册交易SRT并发布到主体链;
3)所有节点通过共识协议对主体注册机构SRI放置在SRT中的签名脚本进行验证,即通过其在主体链中主体注册交易SRT存储的公钥脚本与签名脚本实现匹配。
本发明所述的基于交易流转的访问控制模型的策略发布过程是指策略管理单元PAU将访问策略按照固定格式封装至公共账本中,包括:
1)在PAU接收到用户提交的当前访问策略CAP之后,将该访问策略CAP封装为一个策略发布交易PIT并通过共识机制将该交易PIT提交到策略链上;
2)所有节点通过共识机制验证策略发布用户在主体注册交易SRT存储的公钥脚本与策略发布交易PIT中签名脚本是否匹配,从而检验客体拥有者的所有权;
本发明所述的基于交易流转的访问控制模型的访问授权过程是指策略决策单元PDU对访问请求进行判决,整体过程如下:
1)请求主体发送一个访问请求CAR给策略执行单元PEU,访问请求CAR包括请求的主体注册交易ID号、客体托管交易ID号和行为信息;
2)PEU将该访问请求CAR格式化成一个初始访问授权交易IAGT,并将其发布至授权链中;该初始访问授权交易IAGT是AGT交易的初始阶段,即只包含访问请求CAR相关的主体、客体和行为信息,其余信息置为空值;
3)PEU将该初始访问授权交易IAGT转发给网络中的某一个ASM模块,该模块依次执行获取访问策略流程、实体属性查询流程和访问请求判决流程,最终获得具有判决结果的访问授权交易AGT;
4)ASM模块将含有判决结果的AGT返回至PEU,如果判决结果为“许可”,则PEU请求客体托管机构OEI授权访问该客体,并执行定义在访问请求中的行为对客体进行操作。
本发明所述的访问授权过程具体的处理流程如下:
1)获取访问策略流程:
①PDU根据主体注册交易ID号查询主体注册交易SRT是否存在,根据客体托管交易ID号去客体链查询客体托管交易OET是否存在;
②如果ID号检测均通过,PDU将PDU签名写入到IAGT中,生成AGT,并将AGT发送至策略管理单元PAU;
③PAU对AGT中的PDU签名进行验证,再根据行为信息和OET中客体信息向策略链进行查询,查询后将相匹配的策略发布交易PIT作为查询结果和PAU的签名写入AGT中,并将AGT返还给PDU;
④PDU对AGT中的PAU签名进行验证;
2)实体属性查询流程是在PDU收到PAU返回的策略发布交易PIT之后被执行:
①PDU从PIT中检索所有策略判决所需要的属性信息,形成目标属性集合AIS,并将含有AIS的AGT发送给PIU;
②PIU通过直接或间接的方式来获取AIS中的属性值,将其写入AGT,并将PIU签名写入AGT中;
③PIU将含有PIU签名的AGT再返回给PDU;
④PDU获取GT中属性信息集合AIS,并对PIU签名进行验证;
3)访问请求判决流程是在PDU收到PIU返回的属性信息集合AIS之后被执行:
①PDU将AGT发送至脚本解释器PSI;
②脚本解释器PSI对PDU签名进行验证,然后根据策略发布交易PIT的ID号到策略链获取策略判决脚本并执行(参见专利201911059491.6);
③脚本解释器PSI向AGT中写入脚本的执行结果,并且附上PSI签名,返还给PDU;
④PDU将访问授权交易AGT发布至授权链,去中心化网络中的全部节点通过共识协议验证访问授权交易AGT的正确性,如果验证通过则将交易写入授权链;
⑤ASM模块获得具有判决结果的访问授权交易AGT。
本发明所述共识机制是指在多方协同环境下,使所有参与方对任务执行结果达成一致的机制,目前主流机制协议包括工作量证明POW、权益证明POS、拜占庭容错算法PBFT等。共识过程主要划分成两步:1)每个节点验证交易正确性;2)全网对验证结果进行多数表决。
本发明所述节点验证交易正确性包括:SRT、OET、PIT三类交易的检验遵循通常区块链交易的验证流程相同,AGT交易验证流程包括:
1)对交易中的签名进行验证,包括PDU、PIU、PAU、PSI的签名;
2)根据AGT中策略判决时所采用的实体属性信息,复现访问请求的判决过程,并将自身得出的判决结果与AGT中的判决结果进行比对,结果一致时通过验证。
本发明的有益技术效果:
(1)本发明的一个特征在于使用交易作为访问控制的传播介质,可以帮助提高访问控制系统的透明度、合规性和责任性,并确保访问过程合法有效。
(2)本发明的一个特征在于提供了一种基于多种交易形式的访问控制模型,对访问控制中资源托管、属性发布、策略发布,访问授权等流程进行精细化管理。
(3)本发明的一个特征在于提供一种去中心化的访问控制模型,加强在去中心化环境下访问策略存储、判决、执行和实体属性存储的不可篡改性、一致性和可追溯性,增强系统负载均衡能力,支持多机构间的互操作,提高系统冗余性、可靠性和抗攻击能力。
(4)本发明的一个特征在于提供一种资源委托管理的方法,资源所有者有权对资源的使用指定策略,本发明所述方法和系统能够依照该策略自动化的对资源访问进行授权,访问授权过程以交易形式记录在公共账本中,形成访问日志并提供溯源功能。
附图说明
图1为本发明区块链层次模型图。
图2为本发明基于交易的去中心化访问控制模型架构图。
图3为本发明实施例中策略判决结果校验流程图。
图4为本发明实施例中交易与实体间的关系图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
在本发明系统模型中,一个主要特点是所有区块链共享一套P2P网络、密钥和钱包机制,并在上层进行链与链间的拆分。同时这种结构也是在兼容原有的大多数区块链架构的基础之上,扩展了对多链结构的支持,主要包含以下5个层次(如图1):
1)网络层:主要为P2P通信协议,负责全网各个节点之间的通信并为上层提供通信服务,所有的区块链共享同一个P2P网络,每个区块链所依赖的节点为全网节点的一个子集;
2)基础组件层:包括区块链钱包数据、公私钥和相应的密码学技术(包括密码学哈希算法(Ripedmd,SHA256)、默克树(Merkle Tree)和椭圆曲线数字签名算法(Secp256k1)),负责为更高层次提供底层技术支持和安全支持;
3)共识层:负责解决区块链全网络数据一致性的问题,目前的主流协议包括工作量证明机制PoW、权益证明机制PoS和可实现拜占庭容错PBFT等;
4)区块数据层:负责存储全网的交易和区块信息,不同链之间的存储数据相互隔离;
5)应用层:通过使用可编程合约或利用脚本提供的交易为各类基于区块链的应用提供支持。
在本发明系统模型中,交易共有四种,实例如下:
主体注册交易SRT:主体注册交易SRT在主体用户注册时被创建,经过全网节点共识之后被添加到主体链中,SRT记录主体的各个属性信息以及用于验证主体身份的签名和公钥。
表1 SRT交易格式
主体注册交易使用“ver”字段表明交易的类型,<ver,SRT>表示该交易格式为SRT交易;“attribute”字段用数组表示,其中<attr,value>用来描述了主体的属性信息;“SRI-relation”字段主要描述主体与主体注册机构SRI注册时所规定的的权利与义务;“TxID”字段主要本交易的唯一表示符;“input”字段表示主体注册机构SRI和用户生成该交易时的签名脚本;“output”字段表示主体注册机构SRI生成该交易时的公钥脚本;输入输出字段用于形成主体注册交易脚本化验证,通过脚本化密码认证技术保障交易的完整性和真实性。
客体托管交易OET:当用户希望对他所拥有的客体资源进行共享时,用户需要将客体资源托管到资源子系统的数据存储服务器OEI中,同时,还需要双方共同协商,由OEI创建一个用于描述客体信息的交易并发送给客体链,该交易被称为客体托管交易OET。
表2 OET交易格式
OET的交易结构可以分成两个部分,分别用于描述客体所有者信息以及被托管客体自身的信息,其中,所有者信息包括:
1)客体所有者所在的主体注册交易:“owner-TxID”表示客体拥有者在主体链上所对应的SRT的交易号;
2)客体所有者对客体的所有权声明:客体拥有者需要在OET的“input”字段中使用自己的私钥生成该交易的签名脚本SubSig,该签名脚本需要根据该客体拥有者在主体注册交易SRT中的公钥脚本进行验证;客体托管机构OEI也需要在OET的“input”字段中使用自己的私钥生成该交易的签名脚本scriptSig,并在“output”字段中声明客体托管机构OEI的公钥信息,以便后续对客体信息更新时对主体身份的验证。
客体的信息包括:
1)客体和主体之间的关系:客体和主体之间存在多对一的关系,对应到OET和SRT中,也是多对一的关系,因此客体托管交易在“owner-TxID”字段中需要注明对应的所有者的主体注册交易号;
2)客体拥有者和OEI之间的关系:在“OEI-delegate”用来表示客体拥有者与客体托管机构OEI的信息与委托关系;
3)客体信息:在“attribute”字段中声明客体的属性信息;
4)客体托管交易和OEI中被托管客体的关系:在“URL”字段中声明用于在OEI中索引客体资源的统一资源标识符。
访问授权交易AGT:当用户希望对某一个托管在OEI上的资源进行访问时,需要向PEU提交一个访问请求,PEU在接收到访问请求之后会将请求格式化成为一个访问授权交易AGT,该交易类似于XACML中的格式化访问请求且用于记录整个访问流程并为系统审计提供数据支持。
表3 AGT交易格式
一个标准的访问授权交易格式应当包含以下部分,分别是:
1)主体信息:对应于交易中的“subject-txid”字段,提供请求发起者的信息,该字段指向请求者对应在主体链上的主体注册交易SRT,可以根据该交易号追溯主体的详细信息。
2)客体信息:对应于交易中的“object-txid”字段,提供被访问的客体资源的信息,该字段指向被访问客体在客体链上的客体托管交易OET。可以根据该交易号追溯客体的详细信息。
3)行为信息:对应于交易中的“action”字段,表明了在请求通过判决后,期望PEU对客体资源执行的操作列表。
4)访问策略和判决结果:字段“policy-txid”用于记录对相应AGT进行判决时所匹配的访问策略,对应于策略发布交易PIT的交易号,字段“result”则记录了PDU对AGT的判决结果。
5)环境属性:字段“environment”用于存储在访问策略判决时课题所处的的环境属性,其中可以包括判决时的标准时间以及判决时节点的IP地址等。
除了上述用于访问控制判决过程的信息之外,AGT同样需要满足一个区块链交易的基本格式输入输出字段,该交易的输入段有PDU的签名脚本、PAU的签名脚本、PIU的签名脚本、PSI的签名脚本,输出段则指明了对该请求进行判决的PDU的公钥脚本。其中PAU的签名脚本是在PDU向PAU查询策略发布交易时生成,通过PAU的公钥脚本进行签名验证;PIU的签名脚本是在PDU向PIU查询属性信息集合AIS时生成,通过PIU的公钥脚本进行签名验证;PSI的签名脚本是在PDU向PSI进行策略判决是生成,通过PSI的公钥脚本进行签名验证;
当PDU对访问请求执行完判决之后,需要将判决结果封装成单个访问授权交易AGT,该交易在由PDU提交之后需要被全网授权服务节点进行验证,验证方式存在两种:
1)轻量级验证:每个节点仅校验PDU的签名是否正确,正确则通过校验。
2)重量级验证:每个节点需要回溯AGT所包含的主体、客体和策略交易ID,并重新执行判决过程,如果判决结果与AGT中的判决结果一致,则通过校验。
重量级验证步骤如下
①根据AGT中记录主体注册交易ID号、客体托管交易ID号、访问请求行为还原出最初的访问请求CAR;
②根据AGT中已记录策略发布交易ID号policyId_1,与PAU通过访问请求CAR在策略链查询得到的策略发布交易ID号policyId_2。判断这两个策略发布交易ID号是否一致,一致则进行下一步,否则直接判定验证失败;
③根据已还原出的访问请求CAR,重新执行上述访问授权整体流程步骤4中的获取访问策略、实体属性查询、访问请求判决具体流程,最后得到访问请求判决结果,并将该结果与AGT中记录的结果相比较;
④结果一致则该AGT交易通过校验,如果上述流程中存在不一致的步骤则拒绝该交易。
在全网节点对AGT的判决结果进行校验的过程中,每个节点可以直接从主体链和客体链中获取主体和客体的属性信息且只需要保证AGT中记录的SRT和OET是在AGT被提交到区块前的最新交易,但是环境属性可能会随着时间的变化发生改变,因此需要PDU写入在AGT,这种情况下,可通过时间戳和PDU的签名避免重放攻击但是无法避免PDU本身对环境属性的伪造,如果需要进一步加强安全性,则需要引入一个可信的第三方用于提供环境属性并对其进行签名,在本方案中,因为PEU是连接主体和客体托管服务器OEI的纽带,因此可以考虑使用PEU提供其客体所在环境的属性以及主体访问客体时的环境属性。
策略发布交易PIT:策略发布交易为访问策略在区块链中的交易形式的表示,该交易由资源所有者发布,记录了用户访问被托管资源的规则和限制。
表4 PIT交易格式
如表4所示,PIT由上述策略组件的封装和访问控制所需的一些项目组成。首先,将目标、条件、规则和规则组合方法组合在一起,以表示存储在PIT中的访问策略。其次,设计了三个附加项state、URL和TxID来帮助策略执行,其中state表示策略有效(≥1)或无效(0),URL指向策略管理的资源,TxID是用于在区块链中标识策略的交易哈希。最后,input和output两个字段与比特币交易具有相同的结构,但它们对策略管理具有新的意义,其中output(作为交易的输出)用于声明用户对策略的所有权,即PAU提供的公钥脚本,input(作为交易的输入)用于验证用户对策略的所有权,即策略拥有者提供的签名脚本SubSig和PAU提供的签名脚本。
在本发明系统模型中,平台实体(SRI、OEI、PDU、PAU、PIU、PSI)与交易(SRT、OET、PIT、AGT)的关系,如图4所示:
对于一个授权访问请求,AGT交易的主体字段“Subject-TxID”指向请求者“Request User”的SRT交易,该交易包含请求者的签名、公钥等信息,可以通过该交易验证请求者的身份信息;客体字段“Object-TxID”指向客体拥有者“Object User”的客体托管交易OET,该交易包含客体和客体托管机构的签名公钥等信息,可以通过该交易验证客体的身份信息。OET中“Owner-TxID”指向该客体拥有者的SRT交易;策略字段“Policy-TxID”表示该访问请求的客体对应的策略发布交易PIT,该交易包含策略管理单元PAU的签名、公钥,用于验证该策略的身份信息,PIT中“Owner-TxID”指向该策略发布者的SRT交易;AGT交易的签名脚本“PAU-Sig”“PIU-Sig”“PSI-Sig”分别表示AGT交易在访问授权过程中依次经过获取访问策略流程、实体属性查询流程、访问请求判决流程。每个流程结束时,策略管理单元PAU、策略信息单元PIU、脚本解释器PSI对AGT交易依次签名。最后由策略判决单元PDU将该AGT发布至策略链中,同时在AGT中附上PDU的签名脚本和公钥脚本,以供其余节点进行验证。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种基于交易的去中心化访问控制系统,其特征在于,包括多个节点;每一节点包括授权服务模块ASM;该授权服务模块ASM包括策略判决单元PDU、策略管理单元PAU、脚本解释器PSI和策略信息单元PIU;其中,
所述策略管理单元PAU,用于负责在去中心化网络的公共账单中存储、检索和维护访问策略,将访问策略按照固定格式封装至公共账本中;以及依据当前访问请求CAR从公共账本中检索访问策略;
所述策略信息单元PIU,用于负责针对策略判决单元PDU发来的属性检索请求ARR获取该实体的当前属性,并将获取的属性信息返回给策略判决单元PDU;
所述策略判决单元PDU,用于负责接收访问请求CAR,并请求策略管理单元PAU根据该访问请求CAR获取访问策略CAP,再依据访问策略CAP请求策略信息单元PIU返回属性信息集合AIS,最后将访问策略CAP和属性信息集合AIS转递给脚本解释器PSI获得最终的授权判定结果PDR;
所述脚本解释器PSI,用于负责依据访问策略CAP中的访问策略脚本验证属性信息集合AIS是否满足访问策略要求,给出最后授权判定结果PDR;
所述节点根据职能进行划分包括:主体注册机构SRI、客体托管机构OEI、访问执行机构API、环境监测机构EDI;去中心化访问控制系统以交易作为传播介质和存证;所述交易按照类型划分包括:
主体注册交易SRT:用于在用户与主体注册机构SRI完成注册后,根据用户注册信息,在主体注册交易SRT中记录该用户注册信息,并在去中心化网络的公共账本中生成该主体注册交易SRT,所有主体注册交易SRT构成主体链;
客体托管交易OET:用于客体拥有者将客体转移给客体托管机构OEI,并根据两者间的托管约定,在客体托管交易OET中记录托管信息,包含:客体属性信息、客体拥有者与客体托管机构OEI的信息与委托关系、客体托管位置信息、托管周期及责任,并在公共账本中生成该客体托管交易OET交易,所有客体托管交易OET构成客体链;
策略发布交易PIT:用于针对一被托管客体记录其客体拥有者提交的访问策略以及策略所有权关系,由客体拥有者发布该策略发布交易PIT到公共账本上,所有策略发布交易PIT构成策略链;
访问授权交易AGT:用于根据每一次访问请求由策略判决单元PDU在访问授权交易AGT中记录访问请求信息,并在公共账本中生成该访问授权交易AGT,所有访问授权交易AGT构成授权链。
2.一种基于权利要求1所述去中心化访问控制系统的去中心化访问控制方法,其步骤包括:
1)初始化访问请求阶段:请求主体发送一个访问请求CAR给策略执行单元PEU,该访问请求CAR包括请求的主体注册交易ID号、客体托管交易ID号和行为信息;PEU将该访问请求CAR格式化成一个初始访问授权交易IAGT,并将其发布至授权链中;该初始访问授权交易IAGT是访问授权交易AGT的初始阶段,包含访问请求CAR相关的主体、客体和行为信息;
2)生成AGT交易阶段:PEU将该初始访问授权交易IAGT转发给去中心化网络中的一ASM模块,该ASM模块中PDU检验主体注册交易ID号和客体托管交易ID号的存在性,如果检验通过,则PDU将PDU签名写入到IAGT中,生成访问授权交易AGT;
3)获取访问策略阶段:PDU将访问授权交易AGT发送至策略管理单元PAU,PAU验证PDU签名,验证通过后再根据行为信息和OET中客体信息向策略链进行查询,获取匹配的策略发布交易PIT;然后PAU将该策略发布交易PIT和PAU的签名写入AGT中,并将AGT返还给PDU;
4)实体属性查询阶段:PDU验证该AGT中的PAU签名,验证通过后PDU根据PIT获取所有策略判决所需要的属性信息,形成目标属性集合AIS,并将含有AIS的AGT发送给PIU;PIU获取AIS中各属性的属性值,并将其写入AGT并签名,然后将含有PIU签名的AGT返回给PDU;
5)访问请求判决阶段:PDU获取AGT中属性信息集合AIS,并对PIU签名进行验证;验证通过后PDU将AGT发送至PSI;PSI对PDU签名进行验证,验证通过后根据策略发布交易PIT的ID号从策略链获取策略判决脚本并执行;PSI向AGT中写入脚本的执行结果,并且附上PSI签名,返还给PDU;
6)访问请求授权阶段:PDU将访问授权交易AGT发布至授权链,去中心化网络中所有节点通过共识协议验证访问授权交易AGT的正确性,如果验证通过则将交易写入授权链,并获得具有判决结果的访问授权交易AGT;
7)访问请求执行阶段:ASM模块将含有判决结果的AGT返回至PEU,如果判决结果为许可,则PEU请求客体托管机构OEI授权访问该客体,并执行该访问请求CAR中的行为。
3.如权利要求2所述的方法,其特征在于,用户与主体注册机构SRI之间执行主体注册过程,实现对系统内所有实体进入系统前进行登记,包括:
1)当用户在主体注册机构SRI完成注册后,双方共同生成主体注册交易SRT并发布到主体链;
2)所有节点通过共识协议对主体注册机构SRI放置在SRT中的签名脚本进行验证,即通过其在主体链中主体注册交易SRT存储的公钥脚本与签名脚本实现匹配。
4.如权利要求2所述的方法,其特征在于,客体拥有者与客体托管机构OEI之间进行客体托管过程,接收客体拥有者委托对客体进行保管,包括:
1)当用户在主体注册机构SRI完成注册后,双方共同生成主体注册交易SRT并发布到主体链;
2)所有节点通过共识协议对主体注册机构SRI放置在SRT中的签名脚本进行验证,即通过其在主体链中主体注册交易SRT存储的公钥脚本与签名脚本实现匹配。
5.如权利要求2所述的方法,其特征在于,所述策略发布指策略管理单元PAU将访问策略按照固定格式封装至公共账本中,过程包括:
1)在PAU接收到用户提交的当前访问策略CAP之后,将该访问策略CAP封装为一个策略发布交易PIT并通过共识机制将该PIT提交到策略链上;
2)所有节点通过共识机制验证策略发布用户在主体注册交易SRT存储的公钥脚本与策略发布交易PIT中签名脚本是否匹配,从而检验客体拥有者的所有权。
6.如权利要求2所述的方法,其特征在于,所述访问授权交易AGT包括:主体信息、客体信息、行为信息、访问策略和判决结果、环境属性;所有访问授权交易AGT构成所述授权链。
7.如权利要求2所述的方法,其特征在于,步骤6)中,节点采用轻量级验证方法通过共识协议验证访问授权交易AGT的正确性,即每个节点校验PDU的签名是否正确,正确则通过校验。
8.如权利要求2所述的方法,其特征在于,步骤6)中,各节点采用重量级验证方法验证访问授权交易AGT的正确性:
a)根据AGT中记录主体注册交易ID号、客体托管交易ID号、访问请求行为还原出最初的访问请求CAR;
b)判断根据AGT中已记录策略发布交易ID号进行一致性校验;如果校验通过则进行步骤c);否则拒绝该访问授权交易AGT;
c)根据已还原出的访问请求CAR,重新得到访问请求判决结果,并将该访问请求判决结果与AGT中记录的结果相比较;如果一致则该访问授权交易AGT通过校验,如果不一致,则拒绝该访问授权交易AGT。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011189225.8A CN112350863B (zh) | 2020-10-30 | 2020-10-30 | 一种基于交易的去中心化访问控制方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011189225.8A CN112350863B (zh) | 2020-10-30 | 2020-10-30 | 一种基于交易的去中心化访问控制方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112350863A CN112350863A (zh) | 2021-02-09 |
CN112350863B true CN112350863B (zh) | 2022-08-23 |
Family
ID=74356726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011189225.8A Active CN112350863B (zh) | 2020-10-30 | 2020-10-30 | 一种基于交易的去中心化访问控制方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112350863B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572825B (zh) * | 2021-07-09 | 2023-03-21 | 中国科学院计算技术研究所 | 面向中继链跨链架构的接入控制与资源访问控制方法及系统 |
CN114595397A (zh) * | 2022-02-12 | 2022-06-07 | 北京工业大学 | 一种基于区块链的社交网络信息访问共享方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108683705A (zh) * | 2018-04-10 | 2018-10-19 | 北京工业大学 | 基于区块链的物联网数据共享方法 |
CN110879899A (zh) * | 2019-11-01 | 2020-03-13 | 北京科技大学 | 一种基于脚本的属性基访问策略表示与执行方法及系统 |
CN111797374A (zh) * | 2020-07-21 | 2020-10-20 | 浙江同善人工智能技术有限公司 | 一种基于公链智能合约的供应链访问控制系统和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108737348A (zh) * | 2017-04-21 | 2018-11-02 | 中国科学院信息工程研究所 | 一种基于区块链的智能合约的物联网设备访问控制方法 |
CN111414434B (zh) * | 2020-05-20 | 2021-09-03 | 华北电力大学 | 基于区块链的数据交易管理网络、交易设备和存储介质 |
-
2020
- 2020-10-30 CN CN202011189225.8A patent/CN112350863B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108683705A (zh) * | 2018-04-10 | 2018-10-19 | 北京工业大学 | 基于区块链的物联网数据共享方法 |
CN110879899A (zh) * | 2019-11-01 | 2020-03-13 | 北京科技大学 | 一种基于脚本的属性基访问策略表示与执行方法及系统 |
CN111797374A (zh) * | 2020-07-21 | 2020-10-20 | 浙江同善人工智能技术有限公司 | 一种基于公链智能合约的供应链访问控制系统和方法 |
Non-Patent Citations (1)
Title |
---|
基于区块链的云计算资源去中心化交易共识机制研究;梁贺军,韩景倜;《计算机科学》;20191130;第46卷(第11期);549-552 * |
Also Published As
Publication number | Publication date |
---|---|
CN112350863A (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11451530B2 (en) | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment | |
US11921682B2 (en) | Extracting data from a blockchain network | |
US20190236562A1 (en) | Systems, methods, and apparatuses for implementing document interface and collaboration using quipchain in a cloud based computing environment | |
US20190295182A1 (en) | Digital asset architecture | |
US20190236559A1 (en) | Systems, methods, and apparatuses for implementing smart flow contracts using distributed ledger technologies in a cloud based computing environment | |
US20190238316A1 (en) | Systems, methods, and apparatuses for implementing intelligent consensus, smart consensus, and weighted consensus models for distributed ledger technologies in a cloud based computing environment | |
US20190236606A1 (en) | Systems, methods, and apparatuses for implementing a virtual chain model for distributed ledger technologies in a cloud based computing environment | |
US11431503B2 (en) | Self-sovereign data access via bot-chain | |
US10956204B1 (en) | Free-riding node identification for blockchain | |
US20220329436A1 (en) | Token-based identity validation via blockchain | |
CN115552441A (zh) | 低信任特权访问管理 | |
CN113302610B (zh) | 基于区块链的可信平台 | |
CN115380303A (zh) | 基于区块链的可信平台 | |
CN112350863B (zh) | 一种基于交易的去中心化访问控制方法和系统 | |
CN115277122A (zh) | 基于区块链的跨境数据流动与监管系统 | |
Zhang et al. | OBBC: A blockchain-based data sharing scheme for open banking | |
US11888981B2 (en) | Privacy preserving auditable accounts | |
AU2017296038B2 (en) | Digital asset architecture | |
US11550796B2 (en) | Coexistence mediator for facilitating blockchain transactions | |
KR20200063295A (ko) | 인공지능형 rm 블록체인모듈·스마트 tcv형 연구비관리중개모듈·클라우드 컴퓨팅 모듈·빅데이터 플랫폼제어모듈로 이루어진 abcd형 국가연구개발사업 일원화 연구비관리장치 및 방법 | |
CN113302612A (zh) | 基于区块链的可信平台 | |
CN113597608A (zh) | 基于区块链的可信平台 | |
CN113491090B (zh) | 基于区块链的可信平台 | |
US11314729B2 (en) | Multi-candidate data structure for transaction validation | |
KR102450412B1 (ko) | 사물인터넷에서 서비스 수준 협약 기반 공유경제 서비스 제공시스템 및 제공방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |