当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于区块链和SGX的访问权限控制系统及方法技术方案

技术编号:33403910 阅读:31 留言:0更新日期:2022-05-11 23:26
本发明专利技术公开了一种基于区块链和SGX的访问权限控制系统及方法。该系统包括区块链系统和区块链节点上的权限管理合约、权限控制合约及其本地服务、权限验证合约及其本地服务以及一个身份验证系统,为访问权限控制提供安全、可信、透明、可控的底层架构。本系统通过智能合约进行权限的操作控制和管理,通过本地的SGX安全区对链上权限操作过程中的关键性数据进行链下秘密处理,确保信息安全与准确。本系统还特别考虑权限删除的即时性需求,为其进行了特殊处理,避免了基于时间序列的攻击。本发明专利技术的方法为访问权限控制机制特别是基于云端的信息系统的访问权限控制机制提供了信息安全、流程化、可监控的底层架构,为组织和个人提供更好的安全保障。好的安全保障。好的安全保障。

【技术实现步骤摘要】
一种基于区块链和SGX的访问权限控制系统及方法


[0001]本专利技术涉及信息技术安全领域,特别涉及一种基于区块链和SGX的访问权限控制系统及方法。

技术介绍

[0002]在庞大的信息系统中,通常需要对不同的参与者能接触到的信息内容进行分类控制,使得参与者能且仅能访问到系统允许其访问的信息内容,从而确保信息数据的隐私性和安全性。这带来了访问控制的需求。访问控制的基本思路是,首先通过验证多种登录凭据以识别用户身份,包括用户名密码、安全令牌、生物识别等方式。在获取用户身份后,根据系统设定给用户的访问级别等权限信息、用户的身份信息等,给予用户相应的访问权限。目前的访问控制主要有四种方式,即自主访问控制、强制访问控制、基于角色的访问控制、基于属性的访问控制,它们分别适用于不同情境下不同粒度的访问控制需求,具有一定的灵活性。
[0003]然而,现有的访问权限控制方法并没有为权限控制自身的安全性作考虑,也缺乏透明性。访问信息系统的用户无法自主获知自身权限的更改情况,而若信息系统对内部权限更改没有统一的记录和监听行为时,也会面临恶意攻击者获取权限而不被他人感知的风险。此外,在基于云的数据组织架构中,通过复杂的网络环境进行信息访问时,需要更加精准、细粒度的访问控制机制对用户和访问对象数据进行统一管理,同时访问控制机制本身也更容易受到攻击,因而需要一种安全可信同时具有强可扩展性的访问权限控制方法。
[0004]区块链技术提供了一种解决数据可信问题的解决方案。区块链本质上为一个去中心化的分布式账本,具有数据不可篡改、系统集体维护、交易公开透明等优势,而使用区块链联盟链作为信息系统访问权限控制的底层平台,联盟链的准入机制可以确保数据只由经过接入许可的节点所共享,确保了权限信息不会泄漏到信息系统之外而遭遇不可预测的结果。
[0005]因特尔公司于2013年提出了SGX(Software Guard Extensions)安全保护机制,它是一套基于硬件的扩展指令和安全保护机制,允许开发者在设计应用程序时指定可信部分,为可信部分的代码和数据创建称为安全区(enclave)的加密内存区域,以保证运行过程中代码的完整性和数据的一致性。除非经过允许,安全区中的数据只能被安全区中的代码访问,并且任何同一平台上的恶意软件、特权软件甚至是操作系统本身都无法在未经过先行授权的情况下对安全区进行访问,从而确保安全区内部的数据与代码不会被泄露给第三方或者恶意篡改。
[0006]基于区块链技术和SGX技术,可构建一套新的访问权限控制底层机制,解决访问控制中的信息公开和流程控制等问题,同时确保数据安全可信。

技术实现思路

[0007]针对现有不足,本专利技术提供一种基于区块链和SGX的访问权限控制方法。依靠区块
链、智能合约技术去中心化、不可篡改、自动执行的特性,提供安全、快速、透明、可控的访问权限控制方法。同时,本方法中的密码学验证部分可以使用AES、RSA、国密算法等各种其他密钥加密算法进行对等替换,可根据具体实践情况进行选择,保证了可扩展性。
[0008]本专利技术提供如下技术方案:
[0009]本专利技术的第一个目的在于提供一种基于区块链和SGX的访问权限控制系统,由用户身份验证系统和区块链系统构成;
[0010]用户身份验证系统,其独立于区块链系统之外,用于对访问者的身份进行验证,验证通过后将访问者的访问请求数据结构发送至区块链系统,并获取区块链系统返回的请求结果;
[0011]所述的区块链系统包括:
[0012]区块链网络单元,其用于部署一个或多个区块链节点或依托现有的一个或多个区块链节点参与区块链网络,这些区块链节点能够允许用户发布智能合约;
[0013]权限管理合约单元,其部署于区块链节点上,用于发布及更新访问者、访问对象的权限验证相关信息;
[0014]权限验证合约单元,其部署于区块链节点上,用于搜索区块链上公开的权限数据,并通过合约的权限验证规则处理,根据处理结果返回请求结果;
[0015]权限验证节点本地服务单元,其部署于运行权限验证合约单元的区块链节点上,且与权限验证合约单元之间建立有可信渠道,用于处理加密的权限数据;
[0016]权限控制合约单元,其部署于区块链节点上,所有访问控制请求均会调用该合约生成内部请求序号,根据内部请求序号和访问请求数据结构作为参数调用权限验证合约单元,并接收返回的请求结果;
[0017]权限控制节点本地服务单元,其部署于运行权限控制合约单元的区块链节点上,且与权限控制合约单元之间建立有可信渠道,用于为访问者提供可信的访问渠道。
[0018]本专利技术的第二个目的在于提供一种基于区块链和SGX的访问权限控制系统的控制方法,包括三个阶段:
[0019]权限组初始化阶段:初始化所述的用户身份验证系统和区块链系统,验证其功能的正常执行,从而生成一个链上新的权限组;
[0020]权限管理阶段:权限管理员用户通过智能合约对权限组内容进行新增、修改、删除,所述的权限组内容包括用户信息、访问对象信息以及权限验证规则;
[0021]权限验证阶段:用户通过用户身份验证系统和区块链系统进行权限验证,获取访问对象的访问渠道,或者接收到请求失败的相关信息。
[0022]与现有技术相比,本专利技术拥有以下优势:
[0023]1)依托区块链技术,确保权限内容和访问权限控制流程的公开、透明,各种权限更改记录均会在区块链上留档,提供强大的追溯功能;
[0024]2)依靠智能合约技术,将权限管理流程通过智能合约自动化执行,具有较高的可信度和可靠度;
[0025]3)使用SGX技术处理机密数据和验证数据,所有的私钥都位于SGX安全区内,确保了隐私数据的安全性和数据流通的完整性、可靠性,使其不会被泄露给云提供商和网络服务提供商等第三方,提高了系统整体的安全性;
[0026]4)本系统在权限数据删除上进行特殊处理,使得权限删除操作具有即时性,能够抵御基于时间的攻击操作;
[0027]5)本系统具有高可扩展性,对于具体的访问权限控制机制不作特殊要求,可直接运用为现有的访问控制机制的底层架构,为其提供更佳的透明性和安全性,且不会对现有的权限管理组织行为造成变动。
附图说明
[0028]图1为基于区块链和SGX的访问权限控制系统整体架构图;
[0029]图2为基于区块链和SGX的访问权限控制系统权限组初始化阶段流程图;
[0030]图3为基于区块链和SGX的访问权限控制系统权限管理阶段流程图;
[0031]图4为基于区块链和SGX的访问权限控制系统权限验证阶段流程图。
具体实施方式
[0032]下面结合附图和实施例对本专利技术进行进一步详细描述。必须声明,本实施例中的用户权限信息A
user
和访问对象权限信息A
target
,为描述形象起见,采用基础权限级别的方式进行标明。在其他具体实施方式中,可以采用基于角色的访问本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链和SGX的访问权限控制系统,其特征在于,由用户身份验证系统和区块链系统构成;用户身份验证系统,其独立于区块链系统之外,用于对访问者的身份进行验证,验证通过后将访问者的访问请求数据结构发送至区块链系统,并获取区块链系统返回的请求结果;所述的区块链系统包括:区块链网络单元,其用于部署一个或多个区块链节点或依托现有的一个或多个区块链节点参与区块链网络,这些区块链节点能够允许用户发布智能合约;权限管理合约单元,其部署于区块链节点上,用于发布及更新访问者、访问对象的权限验证相关信息;权限验证合约单元,其部署于区块链节点上,用于搜索区块链上公开的权限数据,并通过合约的权限验证规则处理,根据处理结果返回请求结果;权限验证节点本地服务单元,其部署于运行权限验证合约单元的区块链节点上,且与权限验证合约单元之间建立有可信渠道,用于处理加密的权限数据;权限控制合约单元,其部署于区块链节点上,所有访问控制请求均会调用该合约生成内部请求序号,根据内部请求序号和访问请求数据结构作为参数调用权限验证合约单元,并接收返回的请求结果;权限控制节点本地服务单元,其部署于运行权限控制合约单元的区块链节点上,且与权限控制合约单元之间建立有可信渠道,用于为访问者提供可信的访问渠道。2.根据权利要求1所述的基于区块链和SGX的访问权限控制系统,其特征在于,所述的智能合约包括权限管理合约、权限验证合约和权限控制合约。3.根据权利要求1所述的基于区块链和SGX的访问权限控制系统,其特征在于,所述的权限管理合约单元仅可被合约部署者或权限范围内的访问者调用。4.一种基于权利要求1所述的区块链和SGX的访问权限控制系统的控制方法,其特征在于,包括三个阶段:权限组初始化阶段:初始化所述的用户身份验证系统和区块链系统,验证其功能的正常执行,从而生成一个链上新的权限组;权限管理阶段:权限管理员用户通过智能合约对权限组内容进行新增、修改、删除,所述的权限组内容包括用户信息、访问对象信息以及权限验证规则;权限验证阶段:用户通过用户身份验证系统和区块链系统进行权限验证,获取访问对象的访问渠道,或者接收到请求失败的相关信息。5.根据权利要求4所述的区块链和SGX的访问权限控制系统的控制方法,其特征在于,所述的权限组初始化阶段包括:1.1.接入区块链网络;1.2.生成权限组ID,用于识别和搜索链上权限数据的归属情况,具有唯一性;1.3.生成管理员密钥,用于对需要确保隐私性的权限数据进行加解密操作;1.4.发布权限管理合约,传入管理员身份验证信息以及权限组ID;1.5.初始化权限验证节点本地服务;1.6.发布权限验证合约,传入权限组ID和管理员公钥;
1.7.初始化权限控制节点本地服务;1.8.发布权限控制合约,传入权限组ID、管理员公钥以及所述的权限管理合约和权限验证合约地址。6.根据权利要求4所述的区块链和SGX的访问权限控制系统的控制方法,其特征在于,所述的权限管理阶段包括:2.1.权限更新,包含用户权限信息更新和访问对象权限信息更新;2.2.权限删除,包含用户权限信息删除和访问对象权限信息删除,此删除操作具有即时性;2.3.权限验证规则更新。7.根据权利要求6所述的区块链和SGX的访问权限控制系统的控制方法,其特征在于,所述的用户权限信息更新包括新增、修改用户的权限信息,具体为:a 2.1.1.权限管理员用户构造最新的用户权限数据结构,包括用户ID、权限类型、用户权限信息以及第一加密验证信息;所述的第一加密验证信息为通过管理员私钥对用户ID和用户权限信息以及当前时间戳进行加密后生成的数据;a 2.1.2.权限控制合约检查发布者地址:权限管理员用户将操作类型和用户权限数据结构作为参数调用权限控制合约,权限控制合约检查发布者地址是否与预设的权限管理员地址相匹配,若不匹配,则拒绝发布操作;若匹配,则继续后续操作;a 2.1.3.清空删除标记:若用户权限数据结构中的用户ID对应权限曾被标记删除,则需要清空删除标记;a 2.1.4.通过权限控制合约将操作类型和用户权限数据结构作为参数,调用权限管理合约;a 2.1.5.通过权限管理合约发布最新的用户权限数据结构:权限管理合约使用管理员公钥检查用户权限数据结构中的第一加密验证信息是否匹配,若匹配,则将此用户权限数据结构附加上权限组ID并发布到区块链上;若不匹配,则拒绝发布操作;所述的访问对象权限信息更新包括新增、修改访问对象的权限信息,具体为:b 2.1.1.权限管理员用户构造最新的访问对象权限数据结构,包括访问对象ID、权限类型、访问对象权限信息、访问渠道以及第二加密验证信息;所述的访问渠道由管理员公钥加密以确保安全,所述的第二加密验证信息为通过管理员私钥对访问对象ID和访问对象权限信息以及当前时间戳进行加密后生成的数据;b 2.1.2.权限控制合约检查发布者地址:管理员用户将操作类型和此访问对象权限数据结构作为参数调用权限控制合约,权限控制合约检查发布者地址是否与预设的权限管理员地址相匹配,若不匹配,则拒绝发布操作;若匹配,则进行后续操作;b 2.1.3.清空删除标记:若访问对象权限数据结构中的访问对象ID对应权限曾被标记删除,则需要清空删除标记;b 2.1.4.访问渠道秘密存储:将访问对象ID和访问渠道传入权限控制节点本地服务的SGX安全区进行保存,在安全区内使用秘密存储的管理员私钥对访问渠道进行解密;b 2.15.通过权限控制合约调用权限管理合约:将完成安全区存储后的访问渠道从访问对象权限数据结构中去除,并将操作类型和访问对象权限数据结构作为参数调用权限管理合约;
b 2.1.6.通过权限管理合约发布最新的访问对象权限数据结构:权限管理合约使用管理员公钥检查访问对象权限数据结构中的第二加密验证信息是否匹配,若匹配,则将此访问对象权限数据结构附加上权限组ID并发布到区块链上;若不匹...

【专利技术属性】
技术研发人员:陈建海范俊松许端清白杨沈睿纪守领何钦铭
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1