【技术实现步骤摘要】
一种基于区块链和SGX的访问权限控制系统及方法
[0001]本专利技术涉及信息技术安全领域,特别涉及一种基于区块链和SGX的访问权限控制系统及方法。
技术介绍
[0002]在庞大的信息系统中,通常需要对不同的参与者能接触到的信息内容进行分类控制,使得参与者能且仅能访问到系统允许其访问的信息内容,从而确保信息数据的隐私性和安全性。这带来了访问控制的需求。访问控制的基本思路是,首先通过验证多种登录凭据以识别用户身份,包括用户名密码、安全令牌、生物识别等方式。在获取用户身份后,根据系统设定给用户的访问级别等权限信息、用户的身份信息等,给予用户相应的访问权限。目前的访问控制主要有四种方式,即自主访问控制、强制访问控制、基于角色的访问控制、基于属性的访问控制,它们分别适用于不同情境下不同粒度的访问控制需求,具有一定的灵活性。
[0003]然而,现有的访问权限控制方法并没有为权限控制自身的安全性作考虑,也缺乏透明性。访问信息系统的用户无法自主获知自身权限的更改情况,而若信息系统对内部权限更改没有统一的记录和监听行为时,也会面临恶意攻击者获取权限而不被他人感知的风险。此外,在基于云的数据组织架构中,通过复杂的网络环境进行信息访问时,需要更加精准、细粒度的访问控制机制对用户和访问对象数据进行统一管理,同时访问控制机制本身也更容易受到攻击,因而需要一种安全可信同时具有强可扩展性的访问权限控制方法。
[0004]区块链技术提供了一种解决数据可信问题的解决方案。区块链本质上为一个去中心化的分布式账本,具有数据不可篡改、系统 ...
【技术保护点】
【技术特征摘要】
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并发布到区块链上;若不匹...
【专利技术属性】
技术研发人员:陈建海,范俊松,许端清,白杨,沈睿,纪守领,何钦铭,
申请(专利权)人:浙江大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。