买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于区块链和IPFS的溯源权限管理系统_同济大学_202010789126.7 

申请/专利权人:同济大学

申请日:2020-08-07

公开(公告)日:2024-04-23

公开(公告)号:CN112084162B

主分类号:G06F16/182

分类号:G06F16/182;G06F21/60;G06F21/64

优先权:

专利状态码:有效-授权

法律状态:2024.04.23#授权;2021.01.01#实质审查的生效;2020.12.15#公开

摘要:本发明涉及一种基于区块链和IPFS的溯源权限管理系统,包括设于区块链上对区块链和星际文件系统上的数据进行直接操作的对象模块、记录权限信息的角色模块和由区块链执行的智能合约,智能合约包括对角色模块进行权限管理的角色权限列表合约和查看对象模块的数据信息的对象数据访问合约,角色权限列表合约包括角色模块拥有的所有权限以及相应权限的判别单元组,对象数据访问合约包括对象模块信息及对应的操作接口,通过角色权限列表合约对溯源权限进行管理,溯源权限对应的溯源数据以与星际文件系统对应的哈希值的形式存储于区块链中。与现有技术相比,本发明具有保证溯源系统链条上企业的信息安全、缓解区块链的存储压力等优点。

主权项:1.一种基于区块链和IPFS的溯源权限管理系统,包括设于区块链上对区块链和星际文件系统上的数据进行直接操作的对象模块、记录权限信息的角色模块和由区块链执行的智能合约,其特征在于,所述智能合约包括对角色模块进行权限管理的角色权限列表合约和查看对象模块的数据信息的对象数据访问合约,所述角色权限列表合约包括角色模块拥有的所有权限以及相应权限的判别单元组,所述对象数据访问合约包括对象模块信息及对应的操作接口,通过所述角色权限列表合约对溯源权限进行管理,所述溯源权限对应的溯源数据以与星际文件系统对应的哈希值的形式存储于区块链中;角色权限列表合约和对象数据访问合约之间的操作包括构造角色权限列表合约、构造对象数据访问合约、访问授权、读溯源数据和写溯源数据;构造角色权限列表合约的步骤具体如下:步骤S101:输入待添加的角色模块,判断待添加的角色模块是否在角色模块集合中,若是转至步骤S102,若否转至步骤S103;步骤S102:通知申请者角色模块已经存在;步骤S103:初始化角色权限列表合约,并部署完成初始化的角色权限列表合约,再添加新角色模块到角色模块集合中;步骤S104:判断待添加角色模块的角色权限集合是否为空集,若为空集则退出,否则转至步骤S105;步骤S105:取出该角色模块的一条权限,若该权限对应的对象模块不在对象模块集里,则添加该权限对应的对象模块到对象模块集里;步骤S106:判断该权限是否在权限集中,若否则添加该权限到权限集,初始化权限对应对象模块的对象数据访问合约,部署完成初始化的对象数据访问合约,添加该权限到角色权限列表合约,转至步骤S104;构造对象数据访问合约的步骤具体如下:步骤S201:输入待添加的对象模块、该对象模块所属的角色模块以及角色模块具备的操作该对象模块的权限,判断待添加的对象模块所属的角色模块是否在角色模块集合中,若否转至步骤S202,若是转至步骤S203;步骤S202:通知申请者待添加的对象模块所属的角色模块不存在;步骤S203:初始化角色权限列表合约,并部署完成初始化的角色权限列表合约,再添加新角色模块到角色模块集合中;步骤S204:判断待添加的对象模块是否在对象模块集合中,若是则通知申请者待添加的对象模块已经存在,若否则转至步骤S205:步骤S205:初始化对象数据访问合约,并部署完成初始化的对象数据访问合约,再添加该对象模块到对象模块集合中,添加对象模块的权限到权限集合中,并添加对象模块的权限到所属角色模块的权限集合中,然后添加对象模块的权限到对象所属角色模块的角色权限列表合约中;访问授权的步骤具体如下:步骤S301:输入对象模块的所属的拥有者角色模块,进行权限请求的请求者角色模块以及相应请求的权限,判断拥有者角色模块和请求者角色模块是否都在角色模块集合中,若是则转至步骤S302,否则通知申请者角色模块不存在;步骤S302:判断请求的权限是否在权限集合中,若否则通知申请者权限不存在,若是则转至步骤S303;步骤S303:判断请求的权限对应的对象模块是否在对象模块集合中,若否则通知申请者对象模块不存在,若是则转至步骤S304;步骤S304:初始化对象数据访问合约,获取拥有者角色模块的授权信息,若拥有者角色模块不同意授权,通知申请者对象模块不存在,若同意授权则转至步骤S305;步骤S305:添加对象模块的权限到权限集合,并添加请求的权限到请求者角色模块的权限集合,然后添加请求的权限到请求者角色模块的角色权限列表合约中;读溯源数据的步骤具体如下:步骤S401:输入需要进行操作的角色模块、请求的权限和需要查询的数据,判断需要进行操作的角色模块是否在角色模块集合中,若否则通知申请者角色模块不存在,若是则转至步骤S402;步骤S402:判断请求的权限是否在权限集合中,若否则通知申请者权限不存在,若是则转至步骤S403;步骤S403:判断请求的权限对应的对象模块是否在对象模块集合中,若否则通知申请者对象模块不存在,若是则转至步骤S404;步骤S404:判断需要进行操作的角色模块是否具有其请求的权限,若是则转至步骤S405,若请求的权限不在角色模块的角色权限列表中或角色模块针对该对象模块的权限不是读操作的权限,则通知申请者不具备对应权限;步骤S405:获取该权限对应对象模块的对象数据访问合约,进行读操作获取区块链上存储的需要查询的数据的哈希值,根据该哈希值在IPFS上下载需要查询的数据,并返回需要查询的数据;写溯源数据的步骤具体如下:步骤S501:输入需要进行操作的角色模块、请求的权限和需要修改的数据,判断需要进行操作的角色模块是否在角色模块集合中,若否则通知申请者角色模块不存在,若是则转至步骤S502;步骤S502:判断请求的权限是否在权限集合中,若否则通知申请者权限不存在,若是则转至步骤S503;步骤S503:判断请求的权限对应的对象模块是否在对象模块集合中,若否则通知申请者对象模块不存在,若是则转至步骤S504;步骤S504:判断需要进行操作的角色模块是否具有其请求的权限,若是则转至步骤S505,若请求的权限不在角色模块的角色权限列表中或角色模块针对该对象模块的权限不是写操作的权限,则通知申请者不具备对应权限;步骤S505:获取该权限对应对象模块的对象数据访问合约,将需要修改的数据上传到IPFS中,接收IPFS返回的需要修改的数据对应的哈希值,通过写操作将收到的哈希值存入区块链的节点上。

全文数据:

权利要求:

百度查询: 同济大学 一种基于区块链和IPFS的溯源权限管理系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。