CN111797374A - 一种基于公链智能合约的供应链访问控制系统和方法 - Google Patents

一种基于公链智能合约的供应链访问控制系统和方法 Download PDF

Info

Publication number
CN111797374A
CN111797374A CN202010704996.XA CN202010704996A CN111797374A CN 111797374 A CN111797374 A CN 111797374A CN 202010704996 A CN202010704996 A CN 202010704996A CN 111797374 A CN111797374 A CN 111797374A
Authority
CN
China
Prior art keywords
role
contract
user
main body
entity
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
Application number
CN202010704996.XA
Other languages
English (en)
Other versions
CN111797374B (zh
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.)
Zhejiang Tongshan Artificial Intelligence Technology Co ltd
Original Assignee
Zhejiang Tongshan Artificial Intelligence 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 Zhejiang Tongshan Artificial Intelligence Technology Co ltd filed Critical Zhejiang Tongshan Artificial Intelligence Technology Co ltd
Priority to CN202010704996.XA priority Critical patent/CN111797374B/zh
Publication of CN111797374A publication Critical patent/CN111797374A/zh
Application granted granted Critical
Publication of CN111797374B publication Critical patent/CN111797374B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于公链智能合约的供应链访问控制系统,用于区块链溯源场景中的访问控制,该系统采用RBAC模型,包括系统合约SC、角色合约RC和数据合约DC,所述的RBAC模型中包括相互关联的四类主体和操作集合OP,所述的四类主体分别为用户主体u、角色主体r、许可主体p和实体主体ob,所述的系统合约SC用于管理用户主体u,所述的角色合约RC用于管理角色主体r及其所有的多个许可主体p,所述的数据合约DC用于管理实体主体ob,所述的系统合约SC的部署交易作为RBAC模型的入口首先上链,所述的角色合约RC和数据合约DC设置多个,分别由系统合约SC调用,与现有技术相比,本发明具有同时保证数据分享便利和数据隐私安全等优点。

Description

一种基于公链智能合约的供应链访问控制系统和方法
技术领域
本发明涉及区块链领域,尤其是涉及一种基于公链智能合约的供应链访问控制系统和方法。
背景技术
随着区块链技术的不断发展以及溯源需求的日益显现,利用区块链进行溯源数据存储的方案和应用层出不穷,虽然区块链技术能够实现溯源数据的可信记录,但是数据的隐私和安全问题仍有待解决,同时随着区块链智能合约的功能不断完善,区块链的可编程性得到了很大的提高,这让利用合约来构建较为复杂的访问控制方法有了实现的可能。
传统的访问控制解决方案包括基于角色的访问控制(RBAC)和基于属性的权限验证(ABAC)等,但是在区块链上使用这些访问控制方法来管理供应链上的溯源过程是不合适的,在区块链这一去中心化的环境中,管理员是不被信任的对象。这些有着绝对权力的超级用户极有可能会受到利益的驱动而违背规则,不再诚实地运作,导致访问控制的异常。其次,强制性的控制大幅降低了用户分享数据的主动性和能动性。用户不能够将属于自己的数据随心所欲地分享给他人,而是需要向管理员进行申请。这不仅降低了数据分享的效率和用户分享数据的欲望,也大大违背了供应链溯源过程需要数据公开的初衷。
基于角色的权限访问控制(RBAC)概念的基础模型被称为RBAC0,RBAC0定义了能构成RBAC控制系统的最小的元素集合,包括四部分:用户(User)、角色(Role)、会话(Session/Subject)和许可(Permission),其中许可又包括“操作(Operation)”和“控制对象(Object)”。在区块链上,现有技术中以RBAC为基础实现了RBAC-SC,即RBAC模型的智能合约实现,并提出RBAC-GL,针对合约的安全问题进行了改进,除RBAC之外,基于智能合约的访问控制方法还包括SCBAC和ABAC等。
但是现有技术中,在区块链上使用智能合约来实现RBAC在供应链溯源场景中仍然存在数据的隐私和互操作问题需要我们去解决。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种同时保证数据分享便利和数据隐私安全的基于公链智能合约的供应链访问控制方法。
本发明的目的可以通过以下技术方案来实现:
一种基于公链智能合约的供应链访问控制系统,用于区块链溯源场景中的访问控制,该系统采用RBAC模型,包括系统合约SC、角色合约RC和数据合约DC,所述的RBAC模型中包括相互关联的四类主体和操作集合OP,所述的四类主体分别为用户主体u、角色主体r、许可主体p和实体主体ob,所述的系统合约SC用于管理用户主体u,所述的角色合约RC用于管理角色主体r及其所有的多个许可主体p,所述的数据合约DC用于管理实体主体ob,所述的系统合约SC的部署交易作为RBAC模型的入口首先上链,所述的角色合约RC和数据合约DC设置多个,分别由系统合约SC调用,这样的设置可以确保RBAC模型整体的安全性,并有效降低合约的操作开销,系统合约SC同时管理多个角色合约RC和数据合约DC,以集中处理权限操作,便于监听合约事件。
进一步地,所述的系统合约SC中存储各用户主体u、权限索引表和实体索引表,所述的角色合约RC中存储各角色主体r及其所有的多个许可主体p,所述的数据合约DC中存储各实体主体ob和各实体所有者用户主体u的所有权。
所述的系统合约SC用于管理用户主体u的用户角色,所述的权限索引表用于对角色合约RC中角色主体r的角色权限进行索引,所述的实体索引表用于对数据合约DC中的实体主体ob和用户主体u的所有权进行索引。
更进一步地,系统中所有的实体主体ob构成实体集合OB,系统中所有的许可主体p构成许可集合P,系统中所有的角色主体r构成角色集合R,系统中所有的用户主体u构成用户集合U。
更进一步地,所述的操作集合OP包括读取操作和写入操作,所述的用户主体u为系统中操作的发起者,是权限的需求方,所述的实体主体ob包括溯源过程中的每个最小环节,具体可以包括但不限于采购、加工、运输、销售等或其中部分可有限公开的内容,是最基础的、不可再分的数据单位,所述的许可主体p为包含操作对象和操作内容的权限向量,表示一组系统中可以执行的操作序列,所述的角色主体r为一组许可主体p的集合,包括一类用户主体u的所有权限,当某一用户主体u属于某一角色主体r时,该用户主体u就拥有了对应的角色权限,即该角色主体r对应的一组许可主体p的集合,所述的操作内容包括读取或写入。
具体地,所述的实体主体ob的表达式为:
ob=<obID,obAddress,obName>
其中,obID为实体ID,obAddress为实体合约地址,该地址为溯源过程中,调用数据合约DC查找时的索引地址,obName为实体名称;
所述的许可主体p表示系统中可执行的一种操作序列,表达式为:
p=<pID,pObject,pOperation>
其中,pID为许可ID,pObject为操作对象,pOperation为操作内容;
所述的角色主体r的表达式为:
Figure BDA0002594394360000031
其中,rID为角色ID,rAddress为角色合约地址,该地址为角色授权过程中,调用角色合约RC查找角色主体r时的索引地址,rName为角色名称,
Figure BDA0002594394360000032
为角色权限,所述的角色权限包括角色主体r对应的第i组许可主体p的集合,li为第i组许可主体p的个数;
所述的用户主体u的表达式为:
u=<uID,uAddress,uName,uRole>
其中,uID为用户ID,uAddress为用户账户地址,uName为用户姓名,uRole为用户角色。
更进一步地,所述的用户主体u、角色主体r、许可主体p、实体主体ob和操作集合OP根据角色唯一性规则、授权不可逆规则和验权一致性规则相互关联;
所述的角色唯一性规则具体为:用户主体u至多同时属于一个角色主体r,该规则的设定是因为在供应链中,任意数据的所有者不能同时属于多个环节,以保证溯源过程能够进行循环验证。
所述的授权不可逆规则具体为:角色主体r拥有的权限只能增加而不能减少,该规则的设定是因为在区块链上,任意的访问权限一旦授予,就不能被回收,这符合基本的去中心化原则。
所述的验权一致性规则具体为:当且仅当用户主体u、其角色主体r、许可主体p、操作集合OP和实体主体ob之间存在一条可验证路径时,允许用户主体u对实体主体ob进行操作,该规则的设定能够提高溯源过程的安全性。
使用该系统进行区块链溯源场景的访问控制时,执行的操作包括赋权操作和验权操作;
所述的赋权操作包括向用户主体u授予角色主体r和向角色主体r授予许可主体p;
所述的验权操作包括用户主体u验证读取操作或写入操作的权限并尝试访问实体主体ob、查询用户主体u的用户角色、查询角色主体r的角色权限、查询许可主体p允许的操作对象和查询许可主体p允许的操作内容。
一种利用如所述的基于公链智能合约的供应链访问控制系统的合约调用方法,包括角色授权步骤和访问验权步骤,所述的角色授权步骤通过系统合约SC调用数据合约DC验证和调用角色合约RC授予实现,所述的访问验权步骤通过系统合约SC调用角色合约RC验证和调用数据合约DC操作实现。
进一步地,所述的角色授权步骤具体包括:
S11:对应用户主体u向系统合约SC发送授权请求;
S12:系统合约SC调用数据合约DC对用户主体u针对实体主体ob的所有权进行验证;
S13:判断该用户主体u是否为所有者,若是,则调用被授权的角色合约RC,并向对象角色主体r写入新的许可主体p,否则授权失败。
进一步地,所述的访问验权步骤具体包括:
S21:对应用户主体u向系统合约SC发送操作请求;
S22:系统合约SC调用角色合约RC对用户主体u所属角色主体r的角色权限进行验证;
S23:判断该角色主体r是否有对应权限,若是,则调用数据合约DC,并访问实体主体ob,否则操作失败。
与现有技术相比,本发明具有以下优点:
1)本发明采用RBAC模型,管理员的权限将被下放给每一个角色下的数据所有者,他们选择分享的数据内容将向对方角色组的所有用户公开,适用于供应链场景,可以实现各生产环节间的有效数据互通,同时满足消费者的溯源需求;
2)本发明通过设计三种合约:系统合约SC、角色合约RC和数据合约DC,借助智能合约技术,在公链上实现供应链数据的访问控制方法,以基于角色的访问控制为基础,实现供应链上下游之间有效的数据共享和方便的溯源查询;
3)本发明中系统合约SC的部署交易作为模型的入口首先上链,而角色合约RC和数据合约DC被限制只能由系统合约SC自动部署,可以确保模型整体的安全性,并有效降低合约的操作开销;
4)本发明中设置多个角色合约RC和数据合约DC,并且由系统合约SC同时管理,可以集中处理权限操作,便于监听合约事件,提高访问控制效率;
5)本发明系统通过下放管理员权限调动数据所有者进行数据分享的积极性,实现以数据驱动而非管理员驱动的权限管理过程;
6)本发明针对区块链和溯源场景,在RBAC模型中设置四类主体和操作集合,并设置三个规则使四类主体和操作集合相互关联,权限与角色相关联,而用户通过成为适当角色的成员而得到这些角色的权限,将基于智能合约的RBAC访问控制方法与区块链的溯源场景相结合,提供高效、可靠且安全的产品溯源方法。
附图说明
图1为本发明三种合约的索引逻辑示意图;
图2为角色授权流程示意图;
图3为访问验权流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
实施例
本发明提供一种基于公链智能合约的供应链访问控制系统,用于区块链溯源场景中的访问控制,该系统采用RBAC模型,包括系统合约SC、角色合约RC和数据合约DC,如图1所示,系统合约SC的部署交易作为RBAC模型的入口首先上链,角色合约RC和数据合约DC设置多个,分别由系统合约SC调用,这样的设置可以确保RBAC模型整体的安全性,并有效降低合约的操作开销,系统合约SC同时管理多个角色合约RC和数据合约DC,以集中处理权限操作,便于监听合约事件。
参照RBAC的原始设计,本发明设计的RBAC模型中包括相互关联的四类主体和操作集合OP,四类主体分别为用户主体u、角色主体r、许可主体p和实体主体ob。
本发明主要设计了三种合约来对应RBAC模型中的三个部分(用户主体u、角色主体r和实体主体ob)。对于用户主体u,我们使用系统合约(System Contract,SC)统一管理它们的用户角色;对于每个角色主体r,分别使用一个角色合约(Role Contract,RC)来存储它们拥有的所有许可主体p;对于每类实体主体ob,分别使用一个数据合约(Data Contract,DC)来管理该类实体主体ob下的所有数据内容,并对所有的访问操作进行自主验权。
本发明通过对系统合约SC、角色合约RC和数据合约DC进行一定的组织,将RBAC模型中的关系模型映射到了区块链上,将三种合约与RBAC模型中的四类主体和操作集合OP结合,实现基于公链智能合约的供应链访问控制,其中系统合约SC中存储各用户主体u、权限索引表和实体索引表,用于管理用户主体u的用户角色,角色合约RC中存储各角色主体r,用于管理角色主体r及其所有的许可主体p,数据合约DC中存储各实体主体ob和各实体所有者用户主体u的所有权,用于管理实体主体ob,权限索引表用于对角色合约RC中角色主体r的角色权限进行索引,实体索引表用于对数据合约DC中的实体主体ob和用户主体u的所有权进行索引。
具体地,各类主体和操作集合OP的设置为:
(1)操作集合OP
操作集合OP包含系统当中可以进行的所有操作,在溯源场景中简化为两种:读取操作和写入操作,其表达式为:
OP={read,write}
(2)实体主体ob
实体主体ob包括溯源过程中的每个最小环节,具体可以包括但不限于采购、加工、运输、销售等或其中部分可有限公开的内容,是最基础的、不可再分的数据单位,在溯源场景中以及区块链上,包含实体ID、实体地址和实体名称三个参数,将系统中所有实体主体ob作为实体集合OB,其表达式为:
ob=<obID,obAddress,obName>
OB={ob1,ob2,…,obk}
其中k为系统中所有实体主体ob的个数。
(3)许可主体p
许可主体p是一组包含了操作对象和操作内容的向量,表示系统中一组可以执行的操作序列,包括许可ID、许可对象和许可操作三个参数,将系统中所有许可主体p的集合作为许可集合P,其表达式为:
p=<pID,pObject,pOperation>
P={p1,p2,…,pl}
其中l为系统中所有许可主体p的个数。
(4)角色主体r
角色主体r是一组许可主体p的集合,定义了一类用户拥有的所有权限,包括角色ID、角色地址、角色名称和角色权限四个参数,将系统中所有角色主体r作为角色集合R,其表达式为:
Figure BDA0002594394360000071
R={r1,r2,…,rm}
其中m为系统中所有角色r的个数,
Figure BDA0002594394360000072
为角色权限,角色权限包括角色主体r对应的第i组许可主体p的集合,li为第i组许可主体p的个数。
(5)用户主体u
用户主体u是系统中所有操作的发起者,是权限的需求方,包括用户ID、用户地址、用户名称和用户角色四个参数,将系统中所有用户主体u作为用户集合U,其表达式为:
u=<uID,uAddress,uName,uRole>
U={u1,u2,…,un}
其中n为系统中所有用户u的个数。
针对区块链和溯源场景,本发明设置了系统中所有可能使用的赋权操作和验权操作,具体包括:
赋权操作:
向用户主体u授予角色主体r:assignRole(u∈U,r∈R)
向角色主体r授予许可主体p:assignPms(r∈R,p∈P)
验权操作:
用户主体u验证读取操作或写入操作的权限并尝试访问实体主体ob:access(u∈U,ob∈O,op∈OP)
查询用户主体u的用户角色:getRole(u∈U)
查询角色主体r的角色权限:getPms(r∈R)
查询许可主体p允许的操作对象:getObj(p∈P)
查询许可主体p允许的操作内容:getOp(p∈P)
针对区块链和溯源场景,本发明设置了四类主体和操作集合根据一对一、一对多和多对多的关系相互关联的三条规则,具体为:
角色唯一性规则:一个用户主体u至多只能同时属于一个角色主体r。在供应链中,任意数据的所有者不能同时属于多个环节,以保证溯源过程能够进行循环验证。
这一规则的形式化定义为:
Figure BDA0002594394360000081
Figure BDA0002594394360000087
授权不可逆规则:角色主体r拥有的权限只能增加而不能减少,在区块链上,任意的访问权限一旦授予,就不能被回收,这符合基本的去中心化原则。
这一规则的形式化定义为:
Figure BDA0002594394360000082
getObj(pj)=getObj(px)∧(getOp(pj)>getOp(px)),
Figure BDA0002594394360000083
验权一致性规则:当且仅当用户主体u、其角色主体r、许可主体p、操作集合OP和实体主体ob之间存在一条可验证路径时,允许用户主体u对实体主体ob进行操作,提高安全性。
这一规则的形式化定义为:
Figure BDA0002594394360000084
Figure BDA0002594394360000085
Figure BDA0002594394360000086
本发明还提供一种利用基于公链智能合约的供应链访问控制系统的合约调用方法,合约调用能够实现RBAC模型中各个部分之间的有效交互,以及溯源场景中的操作过程,合约调用方法包括角色授权步骤和访问验权步骤,两个步骤都将由系统合约自主完成,角色授权步骤通过系统合约SC调用数据合约DC验证和调用角色合约RC授予实现,访问验权步骤通过系统合约SC调用角色合约RC验证和调用数据合约DC操作实现。
如图2所示,角色授权步骤具体包括:
S11:对应用户主体u向系统合约SC发送授权请求;
S12:系统合约SC调用数据合约DC对用户主体u针对实体主体ob的所有权进行验证;
S13:判断该用户主体u是否为所有者,若是,则调用被授权的角色合约RC,并向对象角色主体r写入新的许可主体p,否则授权失败。
如图3所示,访问验权步骤具体包括:
S21:对应用户主体u向系统合约SC发送操作请求;
S22:系统合约SC调用角色合约RC对用户主体u所属角色主体r的角色权限进行验证;
S23:判断该角色主体r是否有对应权限,若是,则调用数据合约DC,并访问实体主体ob,否则操作失败。
本发明使用以太坊以及Solidity来编写和部署访问控制合约,在此基础上,也可以使用了web3j来监听合约事件,并和其他平台进行对接。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于公链智能合约的供应链访问控制系统,用于区块链溯源场景中的访问控制,其特征在于,该系统采用RBAC模型,包括系统合约SC、角色合约RC和数据合约DC,所述的RBAC模型中包括相互关联的四类主体和操作集合OP,所述的四类主体分别为用户主体u、角色主体r、许可主体p和实体主体ob,所述的系统合约SC用于管理用户主体u,所述的角色合约RC用于管理角色主体r及其所有的多个许可主体p,所述的数据合约DC用于管理实体主体ob,所述的系统合约SC的部署交易作为RBAC模型的入口首先上链,所述的角色合约RC和数据合约DC设置多个,分别由系统合约SC调用。
2.根据权利要求1所述的一种基于公链智能合约的供应链访问控制系统,其特征在于,所述的系统合约SC中存储各用户主体u、权限索引表和实体索引表,所述的角色合约RC中存储各角色主体r及其所有的多个许可主体p,所述的数据合约DC中存储各实体主体ob和各实体所有者用户主体u的所有权;
所述的系统合约SC用于管理用户主体u的用户角色,所述的权限索引表用于对角色合约RC中角色主体r的角色权限进行索引,所述的实体索引表用于对数据合约DC中的实体主体ob和用户主体u的所有权进行索引。
3.根据权利要求2所述的一种基于公链智能合约的供应链访问控制系统,其特征在于,所述的操作集合OP包括读取操作和写入操作,所述的用户主体u为系统中操作的发起者,所述的实体主体ob包括溯源过程中的每个最小环节,所述的许可主体p为包含操作对象和操作内容的权限向量,所述的角色主体r为一组许可主体p的集合,包括一类用户主体u的所有权限,所述的操作内容包括读取或写入。
4.根据权利要求3所述的一种基于公链智能合约的供应链访问控制系统,其特征在于,系统中所有的实体主体ob构成实体集合OB,系统中所有的许可主体p构成许可集合P,系统中所有的角色主体r构成角色集合R,系统中所有的用户主体u构成用户集合U。
5.根据权利要求3所述的一种基于公链智能合约的供应链访问控制系统,其特征在于,所述的实体主体ob的表达式为:
ob=<obID,obAddress,obName>
其中,obID为实体ID,obAddress为实体合约地址,obName为实体名称;
所述的许可主体p表示系统中可执行的一种操作序列,表达式为:
p=<pID,pObject,pOperation>
其中,pID为许可ID,pObject为操作对象,pOperation为操作内容;
所述的角色主体r的表达式为:
Figure FDA0002594394350000021
其中,rID为角色ID,rAddress为角色合约地址,rName为角色名称,
Figure FDA0002594394350000022
为角色权限,所述的角色权限包括角色主体r对应的第i组许可主体p的集合,li为第i组许可主体p的个数;
所述的用户主体u的表达式为:
u=<uID,uAddress,uName,uRole>
其中,uID为用户ID,uAddress为用户账户地址,uName为用户姓名,uRole为用户角色。
6.根据权利要求5所述的一种基于公链智能合约的供应链访问控制系统,其特征在于,使用该系统进行区块链溯源场景的访问控制时,执行的操作包括赋权操作和验权操作;
所述的赋权操作包括向用户主体u授予角色主体r和向角色主体r授予许可主体p;
所述的验权操作包括用户主体u验证读取操作或写入操作的权限并尝试访问实体主体ob、查询用户主体u的用户角色、查询角色主体r的角色权限、查询许可主体p允许的操作对象和查询许可主体p允许的操作内容。
7.根据权利要求3所述的一种基于公链智能合约的供应链访问控制系统,其特征在于,所述的用户主体u、角色主体r、许可主体p、实体主体ob和操作集合OP根据角色唯一性规则、授权不可逆规则和验权一致性规则相互关联;
所述的角色唯一性规则具体为:用户主体u至多同时属于一个角色主体r;
所述的授权不可逆规则具体为:角色主体r拥有的权限只能增加而不能减少;
所述的验权一致性规则具体为:当且仅当用户主体u、其角色主体r、许可主体p、操作集合OP和实体主体ob之间存在一条可验证路径时,允许用户主体u对实体主体ob进行操作。
8.一种利用如权利要求1-7任一项所述的基于公链智能合约的供应链访问控制系统的合约调用方法,其特征在于,包括角色授权步骤和访问验权步骤,所述的角色授权步骤通过系统合约SC调用数据合约DC验证和调用角色合约RC授予实现,所述的访问验权步骤通过系统合约SC调用角色合约RC验证和调用数据合约DC操作实现。
9.根据权利要求8所述的一种基于公链智能合约的供应链访问控制系统的合约调用方法,其特征在于,所述的角色授权步骤具体包括:
S11:对应用户主体u向系统合约SC发送授权请求;
S12:系统合约SC调用数据合约DC对用户主体u针对实体主体ob的所有权进行验证;
S13:判断该用户主体u是否为所有者,若是,则调用被授权的角色合约RC,并向对象角色主体r写入新的许可主体p,否则授权失败。
10.根据权利要求8所述的一种基于公链智能合约的供应链访问控制系统的合约调用方法,其特征在于,所述的访问验权步骤具体包括:
S21:对应用户主体u向系统合约SC发送操作请求;
S22:系统合约SC调用角色合约RC对用户主体u所属角色主体r的角色权限进行验证;
S23:判断该角色主体r是否有对应权限,若是,则调用数据合约DC,并访问实体主体ob,否则操作失败。
CN202010704996.XA 2020-07-21 2020-07-21 一种基于公链智能合约的供应链访问控制系统和方法 Active CN111797374B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010704996.XA CN111797374B (zh) 2020-07-21 2020-07-21 一种基于公链智能合约的供应链访问控制系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010704996.XA CN111797374B (zh) 2020-07-21 2020-07-21 一种基于公链智能合约的供应链访问控制系统和方法

Publications (2)

Publication Number Publication Date
CN111797374A true CN111797374A (zh) 2020-10-20
CN111797374B CN111797374B (zh) 2023-06-06

Family

ID=72807160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010704996.XA Active CN111797374B (zh) 2020-07-21 2020-07-21 一种基于公链智能合约的供应链访问控制系统和方法

Country Status (1)

Country Link
CN (1) CN111797374B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112350863A (zh) * 2020-10-30 2021-02-09 北京科技大学 一种基于交易的去中心化访问控制方法和系统
CN112395570A (zh) * 2020-10-30 2021-02-23 迅鳐成都科技有限公司 一种联盟链智能合约调用权限控制方法、系统及存储介质
CN112528249A (zh) * 2020-12-18 2021-03-19 杭州立思辰安科科技有限公司 一种适用于网络安全管理平台的权限管理方法和装置
CN113271211A (zh) * 2021-05-18 2021-08-17 网易(杭州)网络有限公司 一种数字身份验证系统、方法、电子设备及存储介质
CN113572825A (zh) * 2021-07-09 2021-10-29 中国科学院计算技术研究所 面向中继链跨链架构的接入控制与资源访问控制方法及系统

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170300627A1 (en) * 2016-04-13 2017-10-19 Accenture Global Solutions Limited Distributed healthcare records management
WO2018019364A1 (en) * 2016-07-26 2018-02-01 NEC Laboratories Europe GmbH Method for controlling access to a shared resource
CN108737348A (zh) * 2017-04-21 2018-11-02 中国科学院信息工程研究所 一种基于区块链的智能合约的物联网设备访问控制方法
CN109064168A (zh) * 2018-06-12 2018-12-21 深圳前海微众银行股份有限公司 基于区块链的权限控制方法、装置及计算机可读存储介质
CN109977638A (zh) * 2019-02-22 2019-07-05 亦非云互联网技术(上海)有限公司 基于以太坊的智能合约更新方法及系统、存储介质及终端
US20190238550A1 (en) * 2016-12-26 2019-08-01 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Permission control method, apparatus and system for block chain, and node device
CN110348202A (zh) * 2019-07-12 2019-10-18 北京物资学院 一种基于区块链智能合约的角色访问控制系统及方法
WO2019205849A1 (zh) * 2018-04-28 2019-10-31 腾讯科技(深圳)有限公司 区块链访问的鉴权方法和装置、存储介质、电子装置
CN110414268A (zh) * 2019-07-23 2019-11-05 北京启迪区块链科技发展有限公司 访问控制方法、装置、设备及存储介质
CN110598394A (zh) * 2019-03-28 2019-12-20 腾讯科技(深圳)有限公司 一种权限验证方法、装置和存储介质
CN110855637A (zh) * 2019-10-28 2020-02-28 西北工业大学 一种基于属性的区块链物联网分布式访问控制方法
CN110933163A (zh) * 2019-11-27 2020-03-27 腾讯科技(深圳)有限公司 区块链合约部署方法、装置、设备以及存储介质
CN110941679A (zh) * 2019-12-05 2020-03-31 腾讯科技(深圳)有限公司 一种合约数据处理方法、相关设备及介质
CN111143881A (zh) * 2019-12-30 2020-05-12 新立讯科技股份有限公司 一种基于联盟区块链的溯源数据存储系统、方法及计算机存储介质
CN111353179A (zh) * 2018-12-21 2020-06-30 塔莱斯公司 共享航空领域数据的分布式账本
CN111431940A (zh) * 2020-04-28 2020-07-17 安徽农业大学 一种基于区块链技术的干果供应链信息防篡改实现方法

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170300627A1 (en) * 2016-04-13 2017-10-19 Accenture Global Solutions Limited Distributed healthcare records management
WO2018019364A1 (en) * 2016-07-26 2018-02-01 NEC Laboratories Europe GmbH Method for controlling access to a shared resource
US20190238550A1 (en) * 2016-12-26 2019-08-01 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Permission control method, apparatus and system for block chain, and node device
CN108737348A (zh) * 2017-04-21 2018-11-02 中国科学院信息工程研究所 一种基于区块链的智能合约的物联网设备访问控制方法
WO2019205849A1 (zh) * 2018-04-28 2019-10-31 腾讯科技(深圳)有限公司 区块链访问的鉴权方法和装置、存储介质、电子装置
CN109064168A (zh) * 2018-06-12 2018-12-21 深圳前海微众银行股份有限公司 基于区块链的权限控制方法、装置及计算机可读存储介质
CN111353179A (zh) * 2018-12-21 2020-06-30 塔莱斯公司 共享航空领域数据的分布式账本
CN109977638A (zh) * 2019-02-22 2019-07-05 亦非云互联网技术(上海)有限公司 基于以太坊的智能合约更新方法及系统、存储介质及终端
CN110598394A (zh) * 2019-03-28 2019-12-20 腾讯科技(深圳)有限公司 一种权限验证方法、装置和存储介质
CN110348202A (zh) * 2019-07-12 2019-10-18 北京物资学院 一种基于区块链智能合约的角色访问控制系统及方法
CN110414268A (zh) * 2019-07-23 2019-11-05 北京启迪区块链科技发展有限公司 访问控制方法、装置、设备及存储介质
CN110855637A (zh) * 2019-10-28 2020-02-28 西北工业大学 一种基于属性的区块链物联网分布式访问控制方法
CN110933163A (zh) * 2019-11-27 2020-03-27 腾讯科技(深圳)有限公司 区块链合约部署方法、装置、设备以及存储介质
CN110941679A (zh) * 2019-12-05 2020-03-31 腾讯科技(深圳)有限公司 一种合约数据处理方法、相关设备及介质
CN111143881A (zh) * 2019-12-30 2020-05-12 新立讯科技股份有限公司 一种基于联盟区块链的溯源数据存储系统、方法及计算机存储介质
CN111431940A (zh) * 2020-04-28 2020-07-17 安徽农业大学 一种基于区块链技术的干果供应链信息防篡改实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杜瑞忠: "物联网中基于智能合约的访问控制方法", 《信息科技》 *
王海勇;潘启青;郭凯璇;: "基于区块链和用户信用度的访问控制模型", 计算机应用 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112350863A (zh) * 2020-10-30 2021-02-09 北京科技大学 一种基于交易的去中心化访问控制方法和系统
CN112395570A (zh) * 2020-10-30 2021-02-23 迅鳐成都科技有限公司 一种联盟链智能合约调用权限控制方法、系统及存储介质
CN112350863B (zh) * 2020-10-30 2022-08-23 北京科技大学 一种基于交易的去中心化访问控制方法和系统
CN112395570B (zh) * 2020-10-30 2024-02-27 迅鳐成都科技有限公司 一种联盟链智能合约调用权限控制方法、系统及存储介质
CN112528249A (zh) * 2020-12-18 2021-03-19 杭州立思辰安科科技有限公司 一种适用于网络安全管理平台的权限管理方法和装置
CN113271211A (zh) * 2021-05-18 2021-08-17 网易(杭州)网络有限公司 一种数字身份验证系统、方法、电子设备及存储介质
CN113271211B (zh) * 2021-05-18 2023-03-24 网易(杭州)网络有限公司 一种数字身份验证系统、方法、电子设备及存储介质
CN113572825A (zh) * 2021-07-09 2021-10-29 中国科学院计算技术研究所 面向中继链跨链架构的接入控制与资源访问控制方法及系统

Also Published As

Publication number Publication date
CN111797374B (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
CN111797374A (zh) 一种基于公链智能合约的供应链访问控制系统和方法
CN106600405B (zh) 基于区块链的数据权益保护方法
CN111709056B (zh) 基于区块链的数据共享方法及系统
CN110135186B (zh) 基于区块链技术的医疗数据交易与共享方法
WO2019205849A1 (zh) 区块链访问的鉴权方法和装置、存储介质、电子装置
CN109691015A (zh) 区块链上的动态访问控制
US20120131189A1 (en) Apparatus and method for information sharing and privacy assurance
CN102932340A (zh) 基于角色的访问控制系统及方法
US20230195877A1 (en) Project-based permission system
CN105915338A (zh) 生成密钥的方法和系统
CN108898705A (zh) 一种具有权限分享的家庭门禁系统及其授权方法
CN112364366A (zh) 基于区块链的联盟数据共享访问控制方法及系统
CN115081001A (zh) 一种数据资产主动管理系统、计算设备及存储介质
Ding et al. Manufacturing system under I4. 0 workshop based on blockchain: Research on architecture, operation mechanism and key technologies
CN115130124A (zh) 一种数据资产的管理方法及数据资产主动管理系统
CN107147665A (zh) 基于属性的访问控制模型在工业4.0系统中的应用方法
CN102411689B (zh) 一种对数据库管理员权限进行控制的方法
CN106254510A (zh) 互联网金融资源整合共享系统
CN110290125B (zh) 基于区块链的数据安全系统及数据安全处理方法
CN116842573A (zh) 一种基于区块链的分层加密隐私保护方法
CN113938477B (zh) 一种基于区块链的跨域图片传播访问控制方法及系统
KR20200115902A (ko) 스마트컨트랙트를 이용한 비밀 보안 처리 제공 방법
CN111832032B (zh) 数据流通的方法、系统、数据使用系统及安全计算系统
CN116502256A (zh) 基于数据稳定性对智慧城市进行资源配置的方法及系统
CN116192843A (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
GR01 Patent grant
GR01 Patent grant