CN113420320A - 一种数据共享场景下的区块链权限管理方法和系统 - Google Patents
一种数据共享场景下的区块链权限管理方法和系统 Download PDFInfo
- Publication number
- CN113420320A CN113420320A CN202110499203.XA CN202110499203A CN113420320A CN 113420320 A CN113420320 A CN 113420320A CN 202110499203 A CN202110499203 A CN 202110499203A CN 113420320 A CN113420320 A CN 113420320A
- Authority
- CN
- China
- Prior art keywords
- data
- authority
- user
- permission
- visitor
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims description 21
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000012795 verification Methods 0.000 claims abstract description 32
- 230000002452 interceptive effect Effects 0.000 claims abstract description 18
- 238000009826 distribution Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 23
- 230000006399 behavior Effects 0.000 description 15
- 230000004044 response Effects 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012550 audit Methods 0.000 description 3
- 238000012508 change request Methods 0.000 description 3
- 238000000586 desensitisation Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Quality & Reliability (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及区块链技术领域,具体来说,涉及一种数据共享场景下的区块链权限管理方法和系统。所述方法包括:数据权限配置步骤,数据拥有者配置数据的访问规则和权限信息;用户权限申请步骤,数据访问者申请对于数据访问的权限,在获得数据拥有者验证通过后,将申请结果记录在区块账本上;用户权限分配步骤,生成并返还权限标识给数据访问者,以使得数据访问者获得访问权限;数据调用与用户权限判定步骤,查询访问数据所需的权限,记账节点与数据访问者进行非交互式验证,判定数据访问者具有访问所述数据的权限,记账节点调取数据并发送给数据访问者。本申请的所述方法和系统避免了第三方加入进行权限认证,更灵活,还可防止被伪造、泄露及盗用。
Description
技术领域
本申请涉及区块链技术领域,更为具体来说,本申请涉及一种数据共享场景下的区块链权限管理方法和系统。
背景技术
随着大数据技术的飞速发展,数据流通和数据共享需求日益迫切,传统的数据共享方法主要采用中心化数据资源的思想,主流方法是由用户自建数据中心,将数据共享出去,该方法导致数据分散存储,造成大量的系统资源浪费,每个数据中心都需要管理大量的用户;或是由用户将数据提交到统一的数据中心进行集中管理,该方法导致用户失去了对自有数据的管控权力,数据去向不清晰,且一旦数据中心遭受网络攻击,会有大量数据泄露的风险。
目前针对区块链数据保护的方法主要有三种,一是针对区块链本身的方法:如链外存储,将要保护的数据存到链外,可以公开的部分数据放在分布式账本上,如以太坊提出的基于State Channel的隐私保护方案;或账本隔离,将具有不同隐私需求的账本,分别存放到不同的分布式账本上,如Fabric利用多通道的机制;二是各种隐私加强机制:如零知识证明、多方计算或是同态加密等;三是结合硬件:引进TEE可信执行环境,如Oasis Labs借助软硬件结合来实现保护隐私的目的。
现有的节点权限认证往往用公钥体系的签名认证,或是临时token。如专利CN110197081B、CN112118221A都是基于区块链进行数据共享,它们采用不同的隐私保护方法,但往往都需要引进可信第三方机构如CA来进行证书或令牌的分发验证,无法做到有效的去中心化。另外专利CN109413039A采用了一种基于区块链零知识证明的安全单点登录方法,其利用中央认证系统颁发的全局token来实现单点登录,然而仅仅由单一数据库服务器来认证权限。
因此,为了解决上述问题,本发明提出一种数据共享场景下的区块链权限管理方法和系统,以至少部分地解决上述技术问题。
发明内容
本发明提出一种大数据共享场景下的区块链权限管理方法和系统,该方法是一套基于区块链的权限管理和验证框架,在不暴露用户身份的情况下,实现分享数据和记录交易的功能,采用零知识证明来验证权限,通过调用智能合约算法执行。本发明所解决的问题描述如下:假设某机构/用户A拥有数据,希望把数据共享给符合要求的人,而不想把数据完全公开,即用户A不公开共享数据的内容,只公开共享数据的类型;用户B想要查询和访问A的数据,且用户B不希望在进行数据共享时公开自己的身份。本发明基于区块链技术实现数据共享,通过权限约束、分布式账本、智能合约等机制解决机构和机构、机构和个人用户之间的数据共享问题,可在不泄露用户身份信息的前提下,实现数据内容分享、访问权限控制、交易操作可审计等功能。本方案中不考虑原始数据的存储安全,以及数据分享者伪造数据的问题,并认为进行记账的节点为诚实可信的。
首先,为实现上述技术目的,本申请提供了一种数据共享场景下的区块链权限管理方法,包括以下步骤:
数据权限配置步骤,数据拥有者配置数据的访问规则和权限信息;
用户权限申请步骤,数据访问者申请对于数据访问的权限,在获得数据拥有者验证通过后,将申请结果记录在区块账本上;
用户权限分配步骤,生成并返还权限标识给数据访问者,以使得数据访问者获得访问权限;
数据调用与用户权限判定步骤,在数据访问者访问数据时,根据所述访问规则查询访问所述数据所需的权限,记账节点与数据访问者进行权限非交互式验证,判定所述数据访问者具有访问所述数据的权限,记账节点调取所述数据并发送给数据访问者。
具体地,所述数据权限配置步骤中,包括:调取数据权限配置智能合约,数据拥有者对数据定义访问规则,记账节点记录哈希值于区块账本,数据备份存储于分布式数据库中,索引头标识该数据的访问规则。
具体地,所述用户权限申请步骤中,包括:调取用户权限申请智能合约,记账节点执行命令,数据拥有者响应智能合约并验证权限,将所述验证的结果记录于区块账本。
具体地,所述用户权限分配步骤中,包括:调用用户权限分配智能合约,生成所述权限标识。
具体地,所述数据调用与用户权限判定步骤中,包括:调用用户权限判定智能合约以查询访问所述数据所需的权限,将查询结果记录于区块账本。
进一步地,所述生成权限标识,包括:
以NoteB(KpubB,T,r)的形式呈现,其中,KpubB表示用户公钥,T为权限,r为随机数,NoteB用对称密钥KB加密。
优选地,所述对称密钥的生成算法基于用户公钥,通过执行对称密钥生成智能合约所得。
优选地,记账节点与数据访问者通过零知识非交互证明完成所述权限质询。
具体地,所述记账节点与数据访问者通过零知识非交互证明完成所述权限质询,包括:
所述数据访问者首先执行对称密钥生成智能合约,生成所述数据访问者的对称密钥;
在所述数据访问者的可信执行环境中执行计算操作,将所述权限标识解密后,利用非交互式简洁零知识证明zk-SNARK算法基于权限标识NoteB生成共同参考数据集CRS,并计算零知识验证所需的所有参数,向所述记账节点发送;
所述记账节点通过比对区块账本上已存在对应所述数据访问者的权限标识,进行验证计算,并判断权限标识是否为真及该权限是否属于所述数据访问者。
本发明第二方面提供了一种数据共享场景下的区块链权限管理系统,其特征在于,包括:
数据权限配置模块,数据拥有者配置数据的访问规则和权限信息;
用户权限申请模块,数据访问者申请对于数据访问的权限,在获得数据拥有者验证通过后,将申请结果记录在区块账本上;
用户权限分配模块,生成并返还权限标识给数据访问者,以使得数据访问者获得访问权限;
数据调用与用户权限判定模块,在数据访问者访问数据时,根据所述访问规则查询访问所述数据所需的权限,记账节点与数据访问者进行权限非交互式验证,判定所述数据访问者具有访问所述数据的权限,记账节点调取所述数据并发送给数据访问者。
该系统还可选择性包括数据记录模块,用于将数据访问者行为以公开形式记录到账本文件中。
具体地,所述数据访问者行为包括但不限于注册、登录、权限申请和数据访问操作。
具体地,所述系统通过智能合约自动完成。
所述数据权限配置模块的具体工作过程为:数据拥有者用户A共享数据时,调用数据权限配置智能合约,在合约中设置数据的访问规则并上传数据;记账节点处理该合约,将数据多重备份于不同的数据库,并在该数据头部索引处标注访问的权限类型;记账节点将本次调用记录于区块账本,包括但不限于数据的hash值(哈希值)、数据库地址addr、假名化处理后的用户A地址addrA。
所述用户权限申请模块的具体工作过程为:数据访问者用户B填写自己的基本信息,上传证明身份信息的相关文件、想要访问的数据信息,调用用户权限申请智能合约,发起权限申请请求或权限变更请求;记账节点处理合约,将该请求通过API响应告知该数据拥有者,附带请求信息;数据拥有者处理响应,决定是否授权用户B,并根据制定的该数据访问规则回传给记账节点相应的权限。
所述用户权限分配模块的具体工作过程为:用户B发起权限申请的请求时,用户A服务端调取数据权限配置模块的数据权限进行对比,判定用户B对于数据访问的合法性;在回传给记账节点响应结果后,记账节点执行用户权限分配智能合约,生成针对用户B的权限标识,并返回响应用户B;记账节点将本次调用记录于区块账本,包括但不限于假名后的用户A地址addrA及用户B的地址addrB、数据地址的hash值、对应用户B权限标识的hash值。
所述数据调用与用户权限判定模块的具体工作过程为:用户B访问某一共享数据时,调用用户权限判定智能合约,发起数据访问请求;用户B在可信执行环境TEE中基于权限标识NoteB计算零知识证明zk-SNARK算法所需的所有参数,向记账节点发送验证数据;记账节点通过比对区块账本上权限标识,进行验证计算,并判断权限标识是否为真及该权限是否属于用户B。如果成功,则记账节点再次查询该信息的数据库,并返还数据给用户B;记账节点将本次调用记录于区块账本,包括但不限于:假名后的用户B地址addrB、数据地址的hash值、对应用户B权限类别的hash值。
所述数据记录模块的具体工作过程为:在每次记账节点执行完某合约后,需将用户行为以公开形式记录到账本文件中,包括注册、登录、权限申请、数据访问操作等内容,为了保障可追溯、审计等后续操作;但避免暴露个人隐私,记录内容需进行脱敏操作,每个记账节点,都是由系统激励机制选出来负责执行合约,并由其他多个节点共同验证背书,记账行为的功能由区块链本身构建。
本申请的所述系统结构中的元素包含:区块账本,用以记录行为信息、权限标识及存储智能合约,具有不可篡改和可追溯的属性;用户节点,发布或调用智能合约,当真实互联网用户加入该区块链系统时,该客户端被视为用户节点,对应有独立的公私钥及地址(由非对称加密算法生成)。在该专利应用框架内,可分为数据访问者与数据拥有者。在权限交互判定时,用户本地会将数据放入CPU特定安全区域(可信执行环境TEE)进行隔离计算,确保数据的隐私与安全;记账节点,执行智能合约与记账,该节点由区块链系统本身指派,在每次记账节点执行完某合约后,需将用户行为以公开形式记录到账本文件中,包括注册、登录、权限申请、数据访问操作等内容,为了保障可追溯、审计等后续操作。但避免暴露个人隐私,记录内容需进行脱敏操作。每个记账节点,都是由系统激励机制选出来负责执行合约,并由其他多个节点共同验证背书,记账行为的功能由区块链本身构建;共享数据库,是分布式数据库,用于备份存储数据拥有者上传的共享数据。
本申请的所述系统的主要功能实现是通过智能合约自动完成,主要功能包括数据权限配置、用户权限申请、用户权限分配、用户权限判定、对称密钥生成等。
数据权限配置智能合约:由数据拥有者调用,输入参数为待分享的数据类型及其规则,响应结果为成功或错误;
用户权限申请智能合约:由数据访问者调用,输入参数为目标共享信息数据、访问者的身份证明信息,通过API提示目标共享信息对应的数据拥有者,该合约将调用用户权限分配智能合约或返回错误。
用户权限分配智能合约:由用户权限申请智能合约调用,输入参数为数据访问者公钥及相应权限,将生成基于用户公钥的权限标识,或返回错误;
用户权限判定智能合约:由数据访问者调用,进行针对访问者权限的验证,输入参数为目标共享数据,返回完整目标数据或错误,其中数据访问者需要与记账节点进行非交互零知识验证;
对称密钥生成智能合约:由用户权限分配智能合约、用户权限判定智能合约调用,利用特定算法计算针对用户公钥的对称密钥。
本申请的有益效果为:
本申请提出的数据共享场景下的区块链权限管理方法和系统,避免了第三方的加入进行权限认证,由数据提供者设置权限级别,更加灵活;用户在获取数据时,通过零知识证明验证权限,无需提供私人权限密钥,从而防止泄露及盗用。
附图说明
图1示出了本申请的实施例1的方法流程示意图;
图2示出了本申请的实施例1的验证权限时序图;
图3示出了本申请的实施例2的授权过程示意图;
图4示出了本申请的实施例2的调用共享数据阶段过程示意图;
图5示出了本申请的实施例2的零知识认证过程示意图;
图6示出了本申请的实施例3的技术架构图;
图7示出了本申请的实施例3的系统模块图;
图8示出了本申请的实施例3的总体流程图。
具体实施方式
以下,将参照附图来描述本申请的实施例。但是应该理解的是,这些描述只是示例性的,而并非要限制本申请的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本申请的概念。对于本领域技术人员来说显而易见的是,本申请可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本申请发生混淆,对于本领域公知的一些技术特征未进行描述。
应予以注意的是,这里所使用的术语仅是为了描述具体实施例,而非意图限制根据本申请的示例性实施例。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式。此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其他特征、整体、步骤、操作、元件、组件和/或它们的组合。
现在,将参照附图更详细地描述根据本申请的示例性实施例。然而,这些示例性实施例可以多种不同的形式来实施,并且不应当被解释为只限于这里所阐述的实施例。附图并非是按比例绘制的,其中为了清楚表达的目的,可能放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
实施例1:
本实施例实施了一种数据共享场景下的区块链权限管理方法,如图1所示,包括以下步骤:
S1、数据权限配置步骤,数据拥有者配置数据的访问规则和权限信息;
S2、用户权限申请步骤,数据访问者申请对于数据访问的权限,在获得数据拥有者验证通过后,将申请结果记录在区块账本上;
S3、用户权限分配步骤,生成并返还权限标识给数据访问者,以使得数据访问者获得访问权限;
数据调用与用户权限判定步骤,在数据访问者访问数据时,根据所述访问规则查询访问所述数据所需的权限,记账节点与数据访问者进行权限非交互式验证,判定所述数据访问者具有访问所述数据的权限,记账节点调取所述数据并发送给数据访问者。
具体地,所述数据权限配置步骤中,包括:调取数据权限配置智能合约,数据拥有者对数据定义访问规则,记账节点记录哈希值于区块账本,数据备份存储于分布式数据库中,索引头标识该数据的访问规则。
具体地,用户权限申请步骤中,包括:调取用户权限申请智能合约,记账节点执行命令,数据拥有者响应智能合约并验证权限,将所述验证的结果记录于区块账本。验证权限时序如图2所示。
具体地,用户权限分配步骤中,包括:调用用户权限分配智能合约,生成所述权限标识。
具体地,数据调用与用户权限判定步骤中,包括:调用用户权限判定智能合约以查询访问所述数据所需的权限,将查询结果记录于区块账本。
进一步地,所述生成权限密钥,包括:
以NoteB(KpubB,T,r)的形式呈现,其中,KpubB表示用户公钥,T为权限,r为随机数,NoteB用对称密钥KB加密。
优选地,对称密钥的生成算法基于用户公钥,通过执行对称密钥生成智能合约所得。
优选地,记账节点与数据访问者通过零知识非交互证明完成所述权限质询。
进一步地,所述记账节点与数据访问者通过零知识非交互证明完成所述权限质询,包括:
所述数据访问者首先执行对称密钥生成智能合约,生成所述数据访问者的对称密钥;
在所述数据访问者的可信执行环境中执行计算操作,将所述权限标识解密后,利用非交互式简洁零知识证明zk-SNARK算法基于权限标识NoteB生成共同参考数据集CRS,并计算零知识验证所需的所有参数,向所述记账节点发送;
所述记账节点通过比对区块账本上已存在对应所述数据访问者的权限标识,进行验证计算,并判断权限标识是否为真及该权限是否属于所述数据访问者。
优选地,数据权限类型包括但不限于医用、金融、高校和政府。
实施例2:
本实施例实施了一种数据共享场景下的区块链权限管理方法,主要包括初始化阶段、授权阶段和调用共享数据阶段。
初始化阶段包括:初始化系统记账节点;发布数据权限配置智能合约,任何系统用户均可访问该合约;发布用户权限申请智能合约,任何系统用户均可访问该合约;发布用户权限分配智能合约,任何系统用户均可访问该合约;发布用户权限判定智能合约,任何系统用户均可访问该合约;用户注册并登录系统后,可选取身份类别:数据使用者、数据提供者;配置数据的访问规则和权限信息,对数据进行分类分级约定,制定数据的权限类型,如医用、金融、高校和政府等。具体操纵为:数据拥有者(以下简称用户A)共享数据时,调用数据权限配置智能合约,在合约中设置数据的访问规则并上传数据。记账节点处理该合约,将数据多重备份于不同的数据库,并在该数据头部索引处标注访问的权限类型。记账节点将本次调用记录于区块账本,包括但不限于:数据的hash值、数据库地址addr、假名化处理后的用户A地址addrA。
授权阶段(过程如图3所示)包括:数据访问者(以下简称用户B)想要获得某共享信息的权限,调用用户权限申请智能合约,申请对于数据访问的权限、以及更新数据访问权限。具体表现为:用户B填写自己的基本信息,上传证明身份信息的相关文件、想要访问的数据信息,调用<用户权限申请>智能合约,发起权限申请请求或权限变更请求。记账节点处理合约,将该请求通过API响应告知该数据拥有者,附带请求信息。数据拥有者处理响应,决定是否授权用户B,并根据制定的该数据访问规则回传给记账节点相应的权限。用户B发起权限申请的请求时,用户A根据数据提供者的数据权限配置规则进行判定。具体表现为:用户A服务端调取对应数据信息的数据权限进行对比,判定用户对于数据访问的合法性。在回传给记账节点响应结果后,记账节点执行<用户权限分配>智能合约,生成针对用户B的权限密钥(详情见密钥分配示例),并返回响应用户B。记账节点将本次调用记录于区块账本,包括但不限于:假名后的用户A地址addrA及用户B的地址addrB、数据地址的hash值、对应用户B权限类别的hash值。若满足数据权限配置规则要求,则为数据访问者分配权限,并最终以权限标识NoteB(KpubB,T,r)的形式呈现;若不满足规则要求,则拒绝授权,不分配权限标识;满足条件的数据访问者获得针对该共享信息的访问权。
调用共享数据阶段(如图4、图5所示)包括:数据访问者想获取某共享数据,调用用户权限判定智能合约,记账节点进行非交互零知识验证。具体表现为:用户B访问某一共享数据时,调用<用户权限判定>智能合约,发起数据访问请求。用户B利用非交互式简洁零知识证明zk-SNARK算法向记账节点发送验证数据。具体表现为:在可信执行环境TEE中基于权限标识NoteB生成共同参考数据集CRS,计算零知识验证所需的所有参数,并向记账节点发送;记账节点通过比对区块账本上权限标识,进行验证计算,并判断权限标识是否为真及该权限是否属于用户B。如果成功,则记账节点再次查询该信息的数据库,并返还数据给用户B。记账节点将本次调用记录于区块账本,包括但不限于:假名后的用户B地址addrB、数据地址的hash值、对应用户B权限类别的hash值。
实施例3:
本实施例实施了一种数据共享场景下的区块链权限管理系统,图6是技术架构示意图,如图6所示,物理层提供区块链系统运行的物理环境;网络层提供系统运行所需的网络条件;可信数据层是区块链分布式账本,用于记录和核查交易信息,以及公布的智能合约;可信计算层提供智能合约的可信执行环境,不同智能合约或存在调用关系;应用层为用户提供区块链调用接口,用户可通过编写和调用智能合约,实现管理数据和使用数据的目的。
图7为系统模块示意图,如图7所示,本系统包括数据权限配置模块501,用于配置数据的访问规则和权限信息;用户权限申请模块502,用于申请对于数据访问的权限、以及更新数据访问权限;用户权限分配模块503,用于判定数据访问者的合法性;数据调用与用户权限判定模块504,用于数据调用及对数据访问者进行零知识认证质询。
系统还可选择性包括数据记录模块,用于将数据访问者行为以公开形式记录到账本文件中。
具体地,所述数据访问者行为包括但不限于注册、登录、权限申请和数据访问操作,所述系统通过智能合约自动完成,图8所示为本实施例系统总体流程图。
数据权限配置模块501的具体工作过程为:用户A共享数据时,调用数据权限配置智能合约,在合约中设置数据的访问规则并上传数据;记账节点处理该合约,将数据多重备份于不同的数据库,并在该数据头部索引处标注访问的权限类型;记账节点将本次调用记录于区块账本,包括但不限于数据的hash值、数据库地址addr、假名化处理后的用户A地址addrA。
用户权限申请模块502的具体工作过程为:用户B填写自己的基本信息,上传证明身份信息的相关文件、想要访问的数据信息,调用用户权限申请智能合约,发起权限申请请求或权限变更请求;记账节点处理合约,将该请求通过API响应告知该数据拥有者,附带请求信息;数据拥有者处理响应,决定是否授权用户B,并根据制定的该数据访问规则回传给记账节点相应的权限。
用户权限分配模块503的具体工作过程为:用户B发起权限申请的请求时,用户A服务端调取数据权限配置模块的数据权限进行对比,判定用户B对于数据访问的合法性;在回传给记账节点响应结果后,记账节点执行用户权限分配智能合约,生成针对用户B的权限标识,加密后返回响应用户B;记账节点将本次调用记录于区块账本,包括但不限于假名后的用户A地址addrA及用户B的地址addrB、数据地址的hash值、对应用户B权限标识的hash值。
数据调用与用户权限判定模块504的具体工作过程为:用户B访问某一共享数据时,调用用户权限判定智能合约,发起数据访问请求;用户B在可信执行环境TEE中基于权限标识NoteB计算零知识证明zk-SNARK算法所需的所有参数,向记账节点发送验证数据;记账节点通过比对区块账本上权限标识,进行验证计算,并判断权限标识是否为真及该权限是否属于用户B。如果成功,则记账节点再次查询该信息的数据库,并返还数据给用户B;记账节点将本次调用记录于区块账本,包括但不限于:假名后的用户B地址addrB、数据地址的hash值、对应用户B权限类别的hash值。
数据记录模块的具体工作过程为:在每次记账节点执行完某合约后,需将用户行为以公开形式记录到账本文件中,包括注册、登录、权限申请、数据访问操作等内容,为了保障可追溯、审计等后续操作;但避免暴露个人隐私,记录内容需进行脱敏操作,每个记账节点,都是由系统激励机制选出来负责执行合约,并由其他多个节点共同验证背书,记账行为的功能由区块链本身构建。
本申请的系统结构中的元素包含:区块账本,用以记录行为信息、权限标识及存储智能合约,具有不可篡改和可追溯的属性;用户节点,发布或调用智能合约;记账节点,执行智能合约与记账,该节点由区块链系统本身指派;共享数据库DB,是分布式数据库,用于备份存储数据拥有者上传的共享信息。
本申请系统主要功能实现是通过智能合约自动完成,主要功能包括数据权限配置、用户权限申请、用户权限分配、用户权限判定、对称密钥生成等。
数据权限配置智能合约:由数据拥有者调用,输入参数为分享的数据及其规则,响应结果为成功或错误。
用户权限申请智能合约:由数据访问者调用,输入参数为目标共享信息、访问者的权限认证附件,通过API提示目标共享信息对应的数据拥有者,该合约将调用用户权限分配智能合约或返回错误。
用户权限分配智能合约:由用户权限申请智能合约调用,该合约将生成基于用户公钥的权限标识,或返回错误。
用户权限判定智能合约:由数据访问者调用,进行针对访问者权限的验证,返回目标数据或错误。
对称密钥生成智能合约:由用户权限分配智能合约、用户权限判定智能合约或被记账节点单独调用,利用特定算法计算针对用户公钥的对称密钥。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据共享场景下的区块链权限管理方法,其特征在于,包括以下步骤:
数据权限配置步骤,数据拥有者配置数据的访问规则和权限信息;
用户权限申请步骤,数据访问者申请对于数据访问的权限,在获得数据拥有者验证通过后,将申请结果记录在区块账本上;
用户权限分配步骤,生成并返还权限标识给数据访问者,以使得数据访问者获得访问权限;
数据调用与用户权限判定步骤,在数据访问者访问数据时,根据所述访问规则查询访问所述数据所需的权限,记账节点与数据访问者进行权限非交互式验证,判定所述数据访问者具有访问所述数据的权限,记账节点调取所述数据并发送给数据访问者。
2.根据权利要求1所述的数据共享场景下的区块链权限管理方法,其特征在于,所述数据权限配置步骤中,包括:调取数据权限配置智能合约,数据拥有者对数据定义访问规则,记账节点记录哈希值于区块账本,数据备份存储于分布式数据库中,索引头标识该数据的访问规则。
3.根据权利要求1所述的数据共享场景下的区块链权限管理方法,其特征在于,所述用户权限申请步骤中,包括:调取用户权限申请智能合约,记账节点执行命令,数据拥有者响应智能合约并验证权限,将所述验证的结果记录于区块账本。
4.根据权利要求1所述的数据共享场景下的区块链权限管理方法,其特征在于,所述用户权限分配步骤中,包括:调用用户权限分配智能合约,生成所述权限标识。
5.根据权利要求1所述的数据共享场景下的区块链权限管理方法,其特征在于,所述数据调用与用户权限判定步骤中,包括:调用用户权限判定智能合约以查询访问所述数据所需的权限,将查询结果记录于区块账本。
6.根据权利要求1所述的数据共享场景下的区块链权限管理方法,其特征在于,所述生成权限标识,包括:
以NoteB(KpubB,T,r)的形式呈现,其中,KpubB表示用户公钥,T为权限,r为随机数,NoteB用对称密钥KB加密。
7.根据权利要求6所述的数据共享场景下的区块链权限管理方法,其特征在于,所述对称密钥的生成算法基于用户公钥,通过执行对称密钥生成智能合约所得。
8.根据权利要求7所述的数据共享场景下的区块链权限管理方法,其特征在于,记账节点与数据访问者通过零知识非交互证明完成所述权限质询。
9.根据权利要求8所述的数据共享场景下的区块链权限管理方法,其特征在于,所述记账节点与数据访问者通过零知识非交互证明完成所述权限质询,包括:
所述数据访问者首先执行对称密钥生成智能合约,生成所述数据访问者的对称密钥;
在所述数据访问者的可信执行环境中执行计算操作,将所述权限标识解密后,利用非交互式简洁零知识证明zk-SNARK算法基于权限标识NoteB生成共同参考数据集CRS,并计算零知识验证所需的所有参数,向所述记账节点发送;
所述记账节点通过比对区块账本上已存在对应所述数据访问者的权限标识,进行验证计算,并判断权限标识是否为真及该权限是否属于所述数据访问者。
10.一种数据共享场景下的区块链权限管理系统,其特征在于,包括:
数据权限配置模块,数据拥有者配置数据的访问规则和权限信息;
用户权限申请模块,数据访问者申请对于数据访问的权限,在获得数据拥有者验证通过后,将申请结果记录在区块账本上;
用户权限分配模块,生成并返还权限标识给数据访问者,以使得数据访问者获得访问权限;
数据调用与用户权限判定模块,在数据访问者访问数据时,根据所述访问规则查询访问所述数据所需的权限,记账节点与数据访问者进行权限非交互式验证,判定所述数据访问者具有访问所述数据的权限,记账节点调取所述数据并发送给数据访问者。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110499203.XA CN113420320A (zh) | 2021-05-08 | 2021-05-08 | 一种数据共享场景下的区块链权限管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110499203.XA CN113420320A (zh) | 2021-05-08 | 2021-05-08 | 一种数据共享场景下的区块链权限管理方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113420320A true CN113420320A (zh) | 2021-09-21 |
Family
ID=77712120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110499203.XA Pending CN113420320A (zh) | 2021-05-08 | 2021-05-08 | 一种数据共享场景下的区块链权限管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113420320A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465815A (zh) * | 2022-03-15 | 2022-05-10 | 浙江大学 | 一种基于区块链和sgx的访问权限控制系统及方法 |
CN115052011A (zh) * | 2022-07-25 | 2022-09-13 | 深圳前海环融联易信息科技服务有限公司 | 基于区块链的信息交互方法、装置、存储介质及电子设备 |
CN115051807A (zh) * | 2022-06-02 | 2022-09-13 | 昆明理工大学 | 一种基于超级账本Fabric的零知识身份认证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108462568A (zh) * | 2018-02-11 | 2018-08-28 | 西安电子科技大学 | 一种基于区块链的安全文件存储和共享方法 |
CN111767569A (zh) * | 2020-06-23 | 2020-10-13 | 中国工商银行股份有限公司 | 区块链的访问授权方法及节点 |
CN111797415A (zh) * | 2020-06-30 | 2020-10-20 | 远光软件股份有限公司 | 基于区块链的数据共享方法、电子设备和存储介质 |
-
2021
- 2021-05-08 CN CN202110499203.XA patent/CN113420320A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108462568A (zh) * | 2018-02-11 | 2018-08-28 | 西安电子科技大学 | 一种基于区块链的安全文件存储和共享方法 |
CN111767569A (zh) * | 2020-06-23 | 2020-10-13 | 中国工商银行股份有限公司 | 区块链的访问授权方法及节点 |
CN111797415A (zh) * | 2020-06-30 | 2020-10-20 | 远光软件股份有限公司 | 基于区块链的数据共享方法、电子设备和存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465815A (zh) * | 2022-03-15 | 2022-05-10 | 浙江大学 | 一种基于区块链和sgx的访问权限控制系统及方法 |
CN114465815B (zh) * | 2022-03-15 | 2022-11-08 | 浙江大学 | 一种基于区块链和sgx的访问权限控制系统及方法 |
CN115051807A (zh) * | 2022-06-02 | 2022-09-13 | 昆明理工大学 | 一种基于超级账本Fabric的零知识身份认证方法 |
CN115051807B (zh) * | 2022-06-02 | 2024-05-24 | 昆明理工大学 | 一种基于超级账本Fabric的零知识身份认证方法 |
CN115052011A (zh) * | 2022-07-25 | 2022-09-13 | 深圳前海环融联易信息科技服务有限公司 | 基于区块链的信息交互方法、装置、存储介质及电子设备 |
CN115052011B (zh) * | 2022-07-25 | 2024-05-10 | 深圳前海环融联易信息科技服务有限公司 | 基于区块链的信息交互方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10708070B2 (en) | System and method for utilizing connected devices to enable secure and anonymous electronic interaction in a decentralized manner | |
US10055561B2 (en) | Identity risk score generation and implementation | |
US11683213B2 (en) | Autonomous management of resources by an administrative node network | |
CN113420320A (zh) | 一种数据共享场景下的区块链权限管理方法和系统 | |
CN106992988B (zh) | 一种跨域匿名资源共享平台及其实现方法 | |
US7103784B1 (en) | Group types for administration of networks | |
US11888856B2 (en) | Secure resource authorization for external identities using remote principal objects | |
CN110809006A (zh) | 一种基于区块链的物联网访问控制架构及方法 | |
US11089028B1 (en) | Tokenization federation service | |
US11552956B2 (en) | Secure resource authorization for external identities using remote principal objects | |
CN112118221B (zh) | 基于区块链的面向隐私数据共享的权能访问控制方法 | |
CN112149162A (zh) | 基于区块链的流域水文和水环境数据安全共享交易系统 | |
KR20220050606A (ko) | 개인정보 보호를 위해 개선된 스마트 컨트랙트 기반의 지능형 중개를 위한 장치 및 방법 | |
Chai et al. | BHE-AC: A blockchain-based high-efficiency access control framework for Internet of Things | |
Almutairi et al. | Survey of centralized and decentralized access control models in cloud computing | |
CN112613889B (zh) | 一种企业did身份体系的隐私保护方法及系统 | |
US11947657B2 (en) | Persistent source values for assumed alternative identities | |
CN112350863B (zh) | 一种基于交易的去中心化访问控制方法和系统 | |
TW202032479A (zh) | 透過區塊鏈外部節點處理交易之方法及執行該方法之裝置 | |
CN114679473B (zh) | 基于分布式数字身份的金融账户治理系统及方法 | |
CN110708298A (zh) | 集中管理动态实例身份和访问的方法及装置 | |
Kaffel-Ben Ayed et al. | A generic Kerberos-based access control system for the cloud | |
Zeng et al. | How location-aware access control affects user privacy and security in cloud computing systems | |
CN115473642B (zh) | 可监管恶意投票的区块链时间锁加密电子投票系统及方法 | |
KR102446967B1 (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210921 |
|
RJ01 | Rejection of invention patent application after publication |