一种基于区块链的数据授权方法与流程

文档序号:21982641发布日期:2020-08-25 19:19阅读:776来源:国知局
一种基于区块链的数据授权方法与流程

本发明公开一种授权方法,涉及数据处理技术领域,具体地说是一种基于区块链的数据授权方法。



背景技术:

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),是比特币的一个重要概念,是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性和生成下一个区块。根据不同的应用场景以及用户需求,区块链大致可以分为公有链(publicblockchain)、私有链(privateblockchain)以及联盟链(consortiumblockchain)三大类。去中心化程度最高的是公有链。私有区块链则完全相反,该网络的写入权限由某个组织或者机构全权控制,数据读取权限受组织规定,要么对外开放、要么具有一定程度的访问限制。联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。链上各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。

在政务办理、银行业务等方面,常常容易出现数据流转不公开、不透明的情况,并且不能保证数据的不可篡改以及数据的可溯源。



技术实现要素:

本发明针对现有技术的问题,提供一种基于区块链的数据授权方法,基于区块链技术,有效解决数据流转不透明,实现有信任的数据价值转移,同时本发明也适合推广到其他行业使用。

本发明提出的具体方案是:

一种基于区块链的数据授权方法:利用联盟链数据授权者和被授权者制定智能合约,依据智能合约数据授权者随机生成密钥skey,利用skey将待授权的数据加密成授权数据并上链,利用私钥加密skey,进行数据授权时将加密后的skey用私钥解密并利用被授权者公钥加密,

访问授权数据前,被授权者进行授权验证,通过智能合约判断是否存在授权记录,存在则允许访问授权数据,被授权者利用私钥将密钥skey解密,利用密钥skey通过智能合约将授权数据进行解密,获取授权数据,并对本次访问信息进行链上记录,否则无法访问授权数据。

所述的一种基于区块链的数据授权方法中制定智能合约的过程:

搭建包含至少2个及以上组织的联盟链,

对联盟链编写智能合约,并按照预先设定的规则进行智能合约自主运行。

所述的一种基于区块链的数据授权方法中授权数据写入联盟链的过程:

数据授权者申请将待授权的数据通过智能合约写入联盟链,

数据授权者随机生成密钥skey,利用skey将待授权的数据加密成授权数据,并用数据授权者私钥将skey加密,将授权者信息、数据id、授权数据及加密后的skey写入链上。

所述的一种基于区块链的数据授权方法中数据授权的过程:

数据授权者读取链上授权数据,

将加密后的skey用私钥解密并用被授权者的公钥加密,

并将被授权者信息、数据id及加密后的skey写入链上。

所述的一种基于区块链的数据授权方法中授权验证及授权数据访问的过程:

被授权者访问授权数据时,通过智能合约查询授权记录,没有授权记录信息则返回无法访问,存在授权记录则将授权数据相关的数据id及密钥skey返回给被授权者,

被授权者用私钥将密钥skey解密,利用密钥skey通过智能合约将链上授权数据进行解密,获取授权数据,同时被授权者的本次访问信息写入链上。

一种基于区块链的数据授权系统,包括创建模块、加解密生成模块、上传模块及验证模块,

利用联盟链数据授权者和被授权者通过创建模块制定智能合约,依据智能合约数据授权者通过加解密模块随机生成密钥skey,利用skey将待授权的数据加密成授权数据并通过上传模块上链,利用加解密模块通过私钥加密skey,进行数据授权时利用加解密模块将加密后的skey用私钥解密并利用被授权者公钥加密,

访问授权数据前,被授权者利用验证模块进行授权验证,通过智能合约判断是否存在授权记录,存在则允许访问授权数据,被授权者利用加解密模块通过私钥将密钥skey解密,利用密钥skey通过智能合约将授权数据进行解密,获取授权数据,并对本次访问信息通过上传模块进行链上记录。

一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1至5任一项所述的一种基于区块链的数据授权方法。

一种计算设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至5中任一项所述的一种基于区块链的数据授权方法的步骤。

本发明的有益之处是:

本发明提供一种基于区块链的数据授权方法,利用联盟链数据授权者和被授权者制定智能合约,依据智能合约数据授权者随机生成密钥skey,利用skey将待授权的数据加密成授权数据并上链,利用私钥加密skey,进行数据授权时将加密后的skey用私钥解密并利用被授权者公钥加密,使数据单方无法修改数据,保障数据不可篡改;

并在访问授权数据前,被授权者进行授权验证,通过智能合约判断是否存在授权记录,存在则允许访问授权数据,被授权者利用私钥将密钥skey解密,利用密钥skey通过智能合约将授权数据进行解密,获取授权数据,并对本次访问信息进行链上记录,否则无法访问授权数据,保障了数据安全,防止授权数据过度使用、泄漏,并可进行数据的追溯。

附图说明

图1是本发明方法流程示意图。

图2本发明系统应用框架示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

本发明提供一种基于区块链的数据授权方法:利用联盟链数据授权者和被授权者制定智能合约,依据智能合约数据授权者随机生成密钥skey,利用skey将待授权的数据加密成授权数据并上链,利用私钥加密skey,进行数据授权时将加密后的skey用私钥解密并利用被授权者公钥加密,

访问授权数据前,被授权者进行授权验证,通过智能合约判断是否存在授权记录,存在则允许访问授权数据,被授权者利用私钥将密钥skey解密,利用密钥skey通过智能合约将授权数据进行解密,获取授权数据,并对本次访问信息进行链上记录,否则无法访问授权数据。

利用本发明方法进行数据授权时,搭建一个区块链平台,包含2个组织的联盟链,通过联盟防止区块链被单方控制,

数据授权方法中制定智能合约的过程:

搭建包含至少2个及以上组织的联盟链,

对联盟链编写智能合约,并按照预先设定的规则进行智能合约自主运行,智能合约的安装、实例化、升级均需可联盟内多数组织同意执行,无法人为干预;智能合约提供数据上链、数据授权、授权验证、授权数据访问、访问记录上链等功能,

授权数据写入联盟链时,将授权记录通过智能合约写入链上,被授权者在使用授权数据时,必须先通过智能合约进行授权验证,智能合约通过查询链信息判断被授权者是否拥有授权记录,没有授权记录则返回授权失败,无法访问授权数据;如果查到授权记录,则通过将授权数据读出,提供给被授权者;同时将被授权者的访问记录写到链上。

在上述过程中,授权数据写入联盟链时,数据授权者申请将待授权的数据通过智能合约写入联盟链,

数据授权者随机生成密钥skey,利用skey将待授权的数据加密成授权数据,并用数据授权者私钥将skey加密,将授权者信息、数据id、授权数据及加密后的skey写入链上,

同时数据授权的过程中,数据授权者读取链上授权数据,将加密后的skey用私钥解密并用被授权者的公钥加密,并将被授权者信息、数据id及加密后的skey写入链上,

而授权验证及授权数据访问的过程中,被授权者访问授权数据时,通过智能合约查询授权记录,没有授权记录信息则返回无法访问,存在授权记录则将授权数据相关的数据id及密钥skey返回给被授权者,

被授权者用私钥将密钥skey解密,利用密钥skey通过智能合约将链上授权数据进行解密,获取授权数据,同时被授权者的本次访问信息写入链上。

同时本发明还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如上述过程中一种基于区块链的数据授权方法。所述的存储介质可以是硬盘,闪存等等现有的可读存储介质。

并且本发明还可提供一种计算设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述的一种基于区块链的数据授权方法的各步骤,以便完成基于区块链的数据授权。

本发明还提供一种基于区块链的数据授权系统,包括创建模块、加解密生成模块、上传模块及验证模块,

利用联盟链数据授权者和被授权者通过创建模块制定智能合约,依据智能合约数据授权者通过加解密模块随机生成密钥skey,利用skey将待授权的数据加密成授权数据并通过上传模块上链,利用加解密模块通过私钥加密skey,进行数据授权时利用加解密模块将加密后的skey用私钥解密并利用被授权者公钥加密,

访问授权数据前,被授权者利用验证模块进行授权验证,通过智能合约判断是否存在授权记录,存在则允许访问授权数据,被授权者利用加解密模块通过私钥将密钥skey解密,利用密钥skey通过智能合约将授权数据进行解密,获取授权数据,并对本次访问信息通过上传模块进行链上记录。

利用本发明系统进行数据授权时,创建模块可搭建一个区块链平台,包含2个组织的联盟链,通过联盟防止区块链被单方控制,

数据授权方法中创建模块制定智能合约的过程:

搭建包含至少2个组织的联盟链,

对联盟链编写智能合约,并按照预先设定的规则进行智能合约自主运行,智能合约的安装、实例化、升级均需可联盟内多数组织同意执行,无法人为干预;智能合约提供数据上链、数据授权、授权验证、授权数据访问、访问记录上链等功能,

授权数据写入联盟链时,上传模块将授权记录通过智能合约写入链上,被授权者在使用授权数据时,必须先通过智能合约利用验证模块进行授权验证,通过智能合约查询链信息判断被授权者是否拥有授权记录,没有授权记录则返回授权失败,无法访问授权数据;如果查到授权记录,则通过将授权数据读出,提供给被授权者;同时利用上传模块将被授权者的访问记录写到链上。

在上述过程中,授权数据写入联盟链时,数据授权者利用上传模块申请将待授权的数据通过智能合约写入联盟链,

数据授权者利用密码模块随机生成密钥skey,利用skey将待授权的数据加密成授权数据,并用数据授权者私钥将skey加密,将授权者信息、数据id、授权数据及加密后的skey通过上传模块写入链上,

同时数据授权的过程中,数据授权者读取链上授权数据,利用加解密模块将加密后的skey用私钥解密并用被授权者的公钥加密,并将被授权者信息、数据id及加密后的skey通过上传模块写入链上,

而授权验证及授权数据访问的过程中,被授权者访问授权数据时,利用验证模块通过智能合约查询授权记录,没有授权记录信息则返回无法访问,存在授权记录则将授权数据相关的数据id及密钥skey返回给被授权者,

被授权者利用加解密模块用私钥将密钥skey解密,利用密钥skey通过智能合约将链上授权数据进行解密,获取授权数据,同时被授权者的本次访问信息通过上传模块写入链上。

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1