一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的数据授权方法、系统、装置及存储介质

2022-08-27 21:47:53 来源:中国专利 TAG:


1.本发明涉及数据权限管理技术领域,特别是涉及一种基于区块链的数据授权方法、系统、装置及存储介质。


背景技术:

2.伴随着区块链技术和大数据技术的不断发展,对于数据在流通过程中的隐私保护可靠性的需求也在不断提高。
3.相较于传统中心化授权机制,现有技术提供的基于区块链的分布式授权机制,依赖于区块链的去中心化特性,降低了传统中心化授权机制由于中心节点相互独立,导致数据授权效率低的问题。但是,由于区块链的链上数据,对共识节点是可读的。因而,若共识节点受到攻击,则通过读取共识节点上的数据授权信息,即可获得对数据的使用权限,从而实现对数据的盗取或篡改。因此,如何提高在数据授权过程中,对数据隐私保护的可靠性,已成为亟待解决的问题。


技术实现要素:

4.本发明实施例的目的在于提供一种基于区块链的数据授权方法、系统、装置及存储介质,以提高数据授权过程中,对数据隐私保护的可靠性。具体技术方案如下:
5.一种基于区块链的数据授权方法,所述方法包括:
6.数据授权端根据目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据、撤销验证信息和授权方签名,生成数据授权通证。
7.所述数据授权端基于预设混合加密算法,根据目标授权对象属性组和所述数据授权通证生成加密通证,并调用预设上链合约对所述加密通证执行上链存储操作。
8.数据使用端获取所述加密通证和与所述加密通证匹配的第一交易哈希值,并利用本地存储的解密密钥对所述加密通证进行解密。
9.所述数据使用端在解密通过的情况下,根据使用方标识符、使用方签名和解密获得的所述数据授权通证,生成数据访问通证。
10.所述数据使用端调用预设存证合约,对所述数据访问通证的哈希值执行上链存证操作,并获得第二交易哈希值。
11.所述数据使用端根据所述目标数据源标识符,将所述数据访问通证、所述第一交易哈希值和所述第二交易哈希值发送至目标数据源。
12.所述目标数据源根据所述数据访问通证、所述第一交易哈希值和所述第二交易哈希值,判断所述数据访问通证是否满足预设验证规则,若是,则开放所述数据使用端对目标数据的使用权限。
13.可选的,所述数据授权端根据目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据、撤销验证信息和授权方签名,生成数据授权通证,包括:
14.所述数据授权端利用预设对称加密算法,根据第一随机数对拼接数据进行对称加
密,获得第一拼接数据,其中,所述拼接数据是所述数据授权端对所述目标数据的哈希值、所述授权方标识符、所述目标数据源标识符和所述访问控制条件数据进行数据拼接获得的。将第二随机数与所述第一拼接数据进行数据拼接,获得第二拼接数据,并利用预设哈希算法对所述第二拼接数据进行哈希运算,获得所述撤销验证信息。
15.所述数据授权端对所述目标数据的哈希值、所述授权方标识符、所述目标数据源标识符、所述访问控制条件数据和所述撤销验证信息进行数据拼接,获得第三拼接数据。利用所述预设哈希算法,对所述第三拼接数据进行哈希运算,获得所述第三拼接数据的哈希值。利用第一预设签名生成算法,根据所述第三拼接数据的哈希值,生成所述授权方签名。
16.所述数据授权端根据所述目标数据的哈希值、所述授权方标识符、所述目标数据源标识符、所述访问控制条件数据、所述撤销验证信息和所述授权方签名,生成所述数据授权通证。
17.可选的,所述预设混合加密算法由所述预设对称加密算法和预设属性加密算法组成,所述数据授权端基于预设混合加密算法,根据目标授权对象属性组和所述数据授权通证生成加密通证,包括:
18.所述数据授权端利用所述预设对称加密算法,对所述目标数据的哈希值、所述授权方标识符、所述目标数据源标识符和所述访问控制条件数据进行对称加密,获得通证头数据。
19.所述数据授权端将所述通证头数据的解密密钥确定为访问密钥,并根据所述访问密钥、所述通证头数据和通证验证数据生成初始加密通证,其中,所述通证验证数据包括所述撤销验证信息和所述授权方签名。
20.所述数据授权端根据所述目标授权对象数据组,利用所述预设属性加密算法对所述初始加密通证中的所述访问密钥进行属性加密,获得所述加密通证。
21.可选的,所述解密密钥是所述数据使用端,利用所述预设属性加密算法,根据所述数据使用端的属性数据生成的密钥。
22.可选的,所述数据使用端在解密通过的情况下,根据使用方标识符、使用方签名和解密获得的所述数据授权通证,生成数据访问通证,包括:
23.所述数据使用端对所述数据授权通证中的所述目标数据的哈希值、所述授权方标识符、所述目标数据源标识符、所述访问控制条件数据和所述撤销验证信息进行数据拼接,获得第四拼接数据。
24.所述数据使用端利用所述预设哈希算法,对所述第四拼接数据进行哈希运算,获得所述第四拼接数据的哈希值。
25.所述数据使用端利用第二预设签名生成算法,根据所述第四拼接数据的哈希值,生成所述使用方签名。
26.所述数据使用端,根据所述使用方标识符、所述使用方签名和解密获得的所述数据授权通证,生成所述数据访问通证。
27.可选的,所述预设验证规则由数据访问通证合法性验证规则和数据访问通证存证验证规则组成,
28.所述目标数据源根据所述数据访问通证和所述第一交易哈希值,判断所述数据访问通证是否满足预设验证规则,若是,则开放所述数据使用端对目标数据的使用权限,包
括:
29.所述目标数据源根据所述数据访问通证,进行所述数据访问通证合法性验证规则验证:判断所述数据访问通证中的所述目标数据的哈希值,与所述目标数据源本地存储的所述目标数据的计算哈希值是否一致。判断所述数据访问通证中的所述授权方标识符,与所述目标数据源本地存储的所述目标数据相匹配的用户标识符是否一致。判断所述数据访问通证中的所述访问控制条件数据是否满足预设访问控制条件。根据所述数据访问通证中的所述第一交易哈希值,判断所述数据访问通证是否被撤销。对所述数据访问通证中的所述授权方签名和所述使用方签名进行签名验签操作,判断验签结果是否满足预设验签条件。若均是,则所述目标数据源判断所述数据访问通证,满足所述数据访问通证合法性验证规则。
30.所述目标数据源根据所述数据访问通证和所述第二交易哈希值,进行所述数据访问通证存证验证规则验证:所述目标数据源利用所述预设哈希算法,计算所述数据访问通证的计算哈希值。所述目标数据源根据所述第二交易哈希值,查找区块链上是否存在所述数据访问通证的上链记录,若是,则根据所述第二交易哈希值,获取存储于区块链上的所述数据访问通证的哈希值。所述目标数据源判断所述数据访问通证的哈希值,与所述计算哈希值是否一致。在区块链上存在所述数据访问通证的上链记录,且所述数据访问通证的哈希值与所述计算哈希值一致的情况下,所述目标数据源判断所述数据访问通证和所述第一交易哈希值,满足所述数据访问通证存证验证规则。
31.所述目标数据源在判断所述数据访问通证满足所述预设验证规则的情况下,开放所述数据使用端对目标数据的使用权限。
32.可选的,在多个所述数据访问通证存在目标数据源标识符不同的情况下,所述数据使用端调用预设存证合约,对所述数据访问通证的哈希值执行上链存证操作,并获得第一交易哈希值,还包括:
33.对各目标数据源标识符:所述数据使用端利用预设聚合算法,将与该目标数据源标识符匹配的多个数据访问通证的哈希值进行聚合,获得与该目标数据源标识符匹配的初始根哈希值。
34.所述数据使用端利用所述预设聚合算法,对初始根哈希值组进行聚合,获得根哈希值,其中,所述初始根哈希值组中包括与各目标数据源标识符匹配的多个初始根哈希值。
35.所述数据使用端调用所述预设存证合约,对所述根哈希值执行上链存证操作,并获得第三交易哈希值。
36.一种基于区块链的数据授权系统,所述系统包括:
37.数据授权端、数据使用端和目标数据源,所述数据授权端根据目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据、撤销验证信息和授权方签名,生成数据授权通证。
38.所述数据授权端基于预设混合加密算法,根据目标授权对象属性组和所述数据授权通证生成加密通证,并调用预设上链合约对所述加密通证执行上链存储操作。
39.所述数据使用端获取所述加密通证和与所述加密通证匹配的所述第一交易哈希值,并利用本地存储的解密密钥对所述加密通证进行解密。
40.所述数据使用端在解密通过的情况下,根据使用方标识符、使用方签名和解密获
得的所述数据授权通证,生成数据访问通证。
41.所述数据使用端调用预设存证合约,对所述数据访问通证的哈希值执行上链存证操作,并获得第二交易哈希值。
42.所述数据使用端根据所述目标数据源标识符,将所述数据访问通证、所述第一交易哈希值和所述第二交易哈希值发送至所述目标数据源。
43.所述目标数据源根据所述数据访问通证、所述第一交易哈希值和所述第二交易哈希值,判断所述数据访问通证是否满足预设验证规则,若是,则开放所述数据使用端对目标数据的使用权限。
44.可选的,所述数据授权端被设置为:
45.所述数据授权端利用预设对称加密算法,根据第一随机数对拼接数据进行对称加密,获得第一拼接数据,其中,所述拼接数据是所述数据授权端对所述目标数据的哈希值、所述授权方标识符、所述目标数据源标识符和所述访问控制条件数据进行数据拼接获得的。将第二随机数与所述第一拼接数据进行数据拼接,获得第二拼接数据,并利用预设哈希算法对所述第二拼接数据进行哈希运算,获得所述撤销验证信息。
46.所述数据授权端对所述目标数据的哈希值、所述授权方标识符、所述目标数据源标识符、所述访问控制条件数据和所述撤销验证信息进行数据拼接,获得第三拼接数据。利用所述预设哈希算法,对所述第三拼接数据进行哈希运算,获得所述第三拼接数据的哈希值。利用第一预设签名生成算法,根据所述第三拼接数据的哈希值,生成所述授权方签名。
47.所述数据授权端根据所述目标数据的哈希值、所述授权方标识符、所述目标数据源标识符、所述访问控制条件数据、所述撤销验证信息和所述授权方签名,生成所述数据授权通证。
48.可选的,所述数据授权端还被设置为:
49.所述数据授权端利用所述预设对称加密算法,对所述目标数据的哈希值、所述授权方标识符、所述目标数据源标识符和所述访问控制条件数据进行对称加密,获得通证头数据。
50.所述数据授权端将所述通证头数据的解密密钥确定为访问密钥,并根据所述访问密钥、所述通证头数据和通证验证数据生成初始加密通证,其中,所述通证验证数据包括所述撤销验证信息和所述授权方签名。
51.所述数据授权端根据所述目标授权对象数据组,利用所述预设属性加密算法对所述初始加密通证中的所述访问密钥进行属性加密,获得所述加密通证。
52.可选的,所述数据使用端被设置为:
53.所述数据使用端对所述数据授权通证中的所述目标数据的哈希值、所述授权方标识符、所述目标数据源标识符、所述访问控制条件数据和所述撤销验证信息进行数据拼接,获得第四拼接数据。
54.所述数据使用端利用所述预设哈希算法,对所述第四拼接数据进行哈希运算,获得所述第四拼接数据的哈希值。
55.所述数据使用端利用第二预设签名生成算法,根据所述第四拼接数据的哈希值,生成所述使用方签名。
56.所述数据使用端,根据所述使用方标识符、所述使用方签名和解密获得的所述数
据授权通证,生成所述数据访问通证。
57.可选的,所述目标数据源被设置为:
58.所述目标数据源根据所述数据访问通证,进行所述数据访问通证合法性验证规则验证:判断所述数据访问通证中的所述目标数据的哈希值,与所述目标数据源本地存储的所述目标数据的计算哈希值是否一致。判断所述数据访问通证中的所述授权方标识符,与所述目标数据源本地存储的所述目标数据相匹配的用户标识符是否一致。判断所述数据访问通证中的所述访问控制条件数据是否满足预设访问控制条件。根据所述数据访问通证中的所述第一交易哈希值,判断所述数据访问通证是否被撤销。对所述数据访问通证中的所述授权方签名和所述使用方签名进行签名验签操作,判断验签结果是否满足预设验签条件。若均是,则所述目标数据源判断所述数据访问通证,满足所述数据访问通证合法性验证规则。
59.所述目标数据源根据所述数据访问通证和所述第二交易哈希值,进行所述数据访问通证存证验证规则验证:所述目标数据源利用所述预设哈希算法,计算所述数据访问通证的计算哈希值。所述目标数据源根据所述第二交易哈希值,查找区块链上是否存在所述数据访问通证的上链记录,若是,则根据所述第二交易哈希值,获取存储于区块链上的所述数据访问通证的哈希值。所述目标数据源判断所述数据访问通证的哈希值,与所述计算哈希值是否一致。在区块链上存在所述数据访问通证的上链记录,且所述数据访问通证的哈希值与所述计算哈希值一致的情况下,所述目标数据源判断所述数据访问通证和所述第一交易哈希值,满足所述数据访问通证存证验证规则。
60.所述目标数据源在判断所述数据访问通证满足所述预设验证规则的情况下,开放所述数据使用端对目标数据的使用权限。
61.可选的,所述数据使用端还被设置为:
62.在多个所述数据访问通证存在目标数据源标识符不同的情况下,对各目标数据源标识符:所述数据使用端利用预设聚合算法,将与该目标数据源标识符匹配的多个数据访问通证的哈希值进行聚合,获得与该目标数据源标识符匹配的初始根哈希值。
63.所述数据使用端利用所述预设聚合算法,对初始根哈希值组进行聚合,获得根哈希值,其中,所述初始根哈希值组中包括与各目标数据源标识符匹配的多个初始根哈希值。
64.所述数据使用端调用所述预设存证合约,对所述根哈希值执行上链存证操作,并获得第三交易哈希值。
65.一种基于区块链的数据授权装置,所述装置包括:
66.处理器;
67.用于存储所述处理器可执行指令的存储器。
68.其中,所述处理器被配置为执行所述指令,以实现如上述任一项所述的基于区块链的数据授权方法。
69.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由基于区块链的数据授权装置的处理器执行时,使得所述基于区块链的数据授权装置能够执行如上述任一项所述的基于区块链的数据授权方法。
70.本发明实施例提供的一种基于区块链的数据授权方法、系统、装置及存储介质,通过多种加密算法,生成包括目标数据的哈希值、授权方标识符、目标数据源标识符、访问控
制条件数据、撤销验证信息和授权方签名在内的数据授权通证。使得该数据授权通证中的数据内容,只有相应的解密算法才能将其转换为可读状态。同时,通过目标授权对象属性组对数据授权通证进行加密生成的加密通证,使得加密通证在上传区块链后对共识节点不可读。且该加密通证只有通过与目标授权对象属性组匹配的解密密钥,才可对加密通证进行解密。最后,通过预设验证规则,根据上述数据访问通证、第一交易哈希值和第二交易哈希值,获取相应的链上数据和数据授权通证数据,并以此对数据访问通证进行验证,从而降低了数据访问通证在传输过程中被恶意篡改的风险。可见,本发明提高了对数据隐私保护的可靠性。
71.当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
72.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
73.图1为本发明实施例提供的一种基于区块链的数据授权方法的流程图;
74.图2为本发明的一个可选实施例提供的一种预设聚合算法的流程示意图;
75.图3为本发明的另一个可选实施例提供的一种基于区块链的数据授权方法的信令图;
76.图4为本发明的另一个可选实施例提供的一种基于区块链的数据授权系统的框图;
77.图5为本发明的另一个可选实施例提供的一种基于区块链的数据授权装置的框图。
具体实施方式
78.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
79.本发明实施例提供了一种基于区块链的数据授权方法,如图1所示,该数据授权方法包括:
80.s101、数据授权端根据目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据、撤销验证信息和授权方签名,生成数据授权通证。
81.可选的,在本发明的一个可选实施例中,上述数据授权通证,可以是以数字形式存在的,用以表征上述目标数据的使用权的权益凭证。
82.可选的,在本发明的另一个可选实施例中,由于上述数据授权通证在经过如图1所示的步骤s102加密后,需要上传至区块链中进行存储。又因为区块链中的数据对于共识节点均是可读的。因此,本发明通过对目标数据进行哈希运算,利用上述目标数据的哈希值来
表征目标数据的内容,可以提高对数据隐私保护的可靠性。
83.需要说明的是,在实际应用场景中,上述数据授权通证的生成方式有多种,例如:将上述目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据、撤销验证信息和授权方签名进行数据拼接,并按照对象简谱语法规则(javascript object notation,json)生成上述数据授权通证。本发明在此不作过多限定和赘述。
84.可选的,在本发明的另一个可选实施例中,上述授权方标识符,可以是用于表征数据授权方身份和签名验签的标识符。需要说明的是,在实际应用中,上述授权方标识符的获取方式有多种,例如:数据授权实体在首次登陆数据授权端时,由椭圆加密算法(elliptic curve cryptography,ecc)生成公钥,并将该公钥确定为该数据授权实体的授权方标识符。本发明通过上述授权方标识符,可以实现隐藏数据授权方诸如性别、姓名、年龄等隐私数据的目的,提高了对数据隐私保护的可靠性。
85.可选的,在本发明的另一个可选实施例中,上述目标数据源标识符,可以是用于表征存储目标数据的服务器唯一标识符。
86.可选的,在本发明的另一个可选实施例中,上述访问控制条件数据,可以是用于限制授权条件的字段。通过设置上述访问控制调件数据,可以避免目标数据被滥用,从而提高对数据隐私保护的可靠性。其中,上述访问控制条件数据的具体数据类型包括但不限于:授权截止时间和目标数据可访问次数等。
87.可选的,在本发明的另一个可选实施例中,上述撤销验证信息,可以是用于进行撤销验证的字段。由于上述目标数据需要得到数据授权实体的授权,才可以被数据授权对象获取和使用。因此,在数据授权实体不再同意目标数据被使用时,可以通过撤销操作修改上述撤销验证信息的内容,以撤销对目标数据的使用权限。从而提高了对数据隐私保护的灵活性和可靠性。
88.可选的,在本发明的另一个可选实施例中,上述授权方签名,可以是用于验证目标数据的授权是否由数据授权实体签发的字段。由于上述授权方签名,是通过预设算法,经过加密后生成的。因此,在上述数据授权通证经过加密并上传区块链后,授权方签名对于区块链共识节点仍是不可读的。从而提高了对数据隐私保护的可靠性。
89.s102、数据授权端基于预设混合加密算法,根据目标授权对象属性组和数据授权通证生成加密通证,并调用预设上链合约对加密通证执行上链存储操作。
90.其中,上述数据授权端,可以是部署于数据授权方,用于生成数据授权通证和加密通证的操作系统。
91.可选的,在本发明的一个可选实施例中,上述目标授权对象属性组,可以是包括至少一个用于限定授权对象的特征数据的数据组。需要说明的是,在实际应用中,上述目标授权对象属性组可以根据实际应用场景,基于预先设置的授权对象属性集合生成。例如,在医疗应用场景下,上述目标对象属性组中的数据类型,可以包括医院级别数据、科室类型数据、诊疗方向数据等。
92.可选的,在本发明的另一个可选实施例中,上述上链合约可以是基于智能合约构建的,用以将加密通证作为附加信息写入上链存储事件中,从而将加密通证在区块链设定位置进行持久化存储的合约。上述智能合约(smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。由于智能合约允许在没有第三方的情况下进行可信交
易,这些交易可追踪且不可逆转。因此,本发明通过预设上链合约,可以防止加密通证数据被恶意网络攻击所篡改,提高了对数据隐私保护的可靠性。
93.需要说明的是,上述预设上链合约的具体构建方式,可以根据实际应用场景自行设定,本发明对此不作过多限定和赘述。
94.可选的,在本发明的另一个可选实施例中,上述预设混合加密算法可以基于多种加密方式构建的加密算法。由于上述数据授权通证,是利用预设混合加密算法,根据上述目标授权对象属性组和数据授权通证生成的。因此,只有在数据使用端的属性数据与上述目标授权对象属性组中的数据匹配时,数据使用端才可以实现对上述加密通证的解密。同时,由于上述加密通证被上述预设混合加密算法所加密。在上述加密通证上链存储后,加密通证的内容对区块链共识节点不可读。因此,本发明相较于现有技术,提高了对数据隐私保护的可靠性。
95.s103、数据使用端获取加密通证和与加密通证匹配的第一交易哈希值,并利用本地存储的解密密钥对加密通证进行解密。
96.其中,上述数据使用端,可以是部署于数据使用方,用于生成数据访问通证的操作系统。
97.其中,上述第一交易哈希值,可以是用于标识上述加密通证上链存储这一操作的标识。其数据类型可以包括存储上述加密通证的区块高度,和上述上链存储操作的编号。
98.可选的,在本发明的一个可选实施例中,上述解密密钥可以是基于属性加密算法,由数据使用端存储的属性数据生成的密钥。在实际应用场景中,若数据使用端存储的属性数据,与上述如图1所示的步骤s102中,目标授权对象属性组中的数据相匹配,且均是基于相同属性加密算法生成。则该解密密钥可以实现对加密通证的解密。若该解密密钥不满足上述两个条件中的任意一项,则数据使用端无法解密该加密通证,从而提高了对数据隐私保护的可靠性。
99.s104、数据使用端在解密通过的情况下,根据使用方标识符、使用方签名和解密获得的数据授权通证,生成数据访问通证。
100.s105、数据使用端调用预设存证合约,对数据访问通证的哈希值执行上链存证操作,并获得第二交易哈希值。
101.需要说明的是,上述预设存证合约的具体构建方式,可以根据实际应用场景自行设定,本发明对此不作过多限定和赘述。
102.s106、数据使用端根据目标数据源标识符,将数据访问通证、第一交易哈希值和第二交易哈希值发送至目标数据源。
103.其中,上述目标数据源可以是用于存储目标数据的服务器。
104.需要说明的是,在实际应用场景中,上述如图1所示的步骤s106的实施方式有多种,在此示例性的一种:
105.上述数据使用端,根据上述目标数据源标识符,调用目标数据源的通信端口,并将上述数据访问通证、第一交易哈希值和第二交易哈希值,发送至目标数据源。
106.s107、目标数据源根据数据访问通证、第一交易哈希值和第二交易哈希值,判断数据访问通证是否满足预设验证规则,若是,则开放数据使用端对目标数据的使用权限。
107.可选的,在本发明的一个可选实施例中,由于上述数据访问通证生成后并未进行
加密。且上述数据访问通证、第一交易哈希值和第二交易哈希值的传输均是通过目标数据源设定的通信端口来实现的。因此,为了避免数据访问通证中的数据在传输过程中被恶意篡改。本发明通过预设验证规则,根据上述数据访问通证、第一交易哈希值和第二交易哈希值,获取相应的链上数据和数据授权通证数据,并以此对数据访问通证进行验证,从而避免上述恶意篡改的风险,提高了对数据隐私保护的可靠性。
108.本发明通过多种加密算法,生成包括目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据、撤销验证信息和授权方签名在内的数据授权通证。使得该数据授权通证中的数据内容,只有相应的解密算法才能将其转换为可读状态。同时,通过目标授权对象属性组对数据授权通证进行加密生成的加密通证,使得加密通证在上传区块链后对共识节点不可读。且该加密通证只有通过与目标授权对象属性组匹配的解密密钥,才可对加密通证进行解密。最后,通过预设验证规则,根据上述数据访问通证、第一交易哈希值和第二交易哈希值,获取相应的链上数据和数据授权通证数据,并以此对数据访问通证进行验证,从而降低了数据访问通证在传输过程中被恶意篡改的风险。可见,本发明提高了对数据隐私保护的可靠性。
109.可选的,数据授权端根据目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据、撤销验证信息和授权方签名,生成数据授权通证,包括:
110.数据授权端利用预设对称加密算法,根据第一随机数对拼接数据进行对称加密,获得第一拼接数据,其中,拼接数据是数据授权端对目标数据的哈希值、授权方标识符、目标数据源标识符和访问控制条件数据进行数据拼接获得的。将第二随机数与第一拼接数据进行数据拼接,获得第二拼接数据,并利用预设哈希算法对第二拼接数据进行哈希运算,获得撤销验证信息。
111.数据授权端对目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据和撤销验证信息进行数据拼接,获得第三拼接数据。利用预设哈希算法,对第三拼接数据进行哈希运算,获得第三拼接数据的哈希值。利用第一预设签名生成算法,根据第三拼接数据的哈希值,生成授权方签名。
112.数据授权端根据目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据、撤销验证信息和授权方签名,生成数据授权通证。
113.其中,由于上述预设对称加密算法(symmetricalencryption)具有密钥建立时间短、灵敏性好、内存需求低等特点。因此,在高并发或数据量大的情况下,采用上述预设对称加密算法进行数据加密,可以提高数据授权的整体效率。
114.其中,上述第一随机数和第二随机数的数值不同。
115.需要说明的是,在实际应用场景下,上述预设对称加密算法、预设哈希算法和上述第一预设签名生成算法的具体类型,可以根据实际应用场景自行设定,本发明在此不做过多限定和赘述。
116.可选的,预设混合加密算法由预设对称加密算法和预设属性加密算法组成,数据授权端基于预设混合加密算法,根据目标授权对象属性组和数据授权通证生成加密通证,包括:
117.数据授权端利用预设对称加密算法,对目标数据的哈希值、授权方标识符、目标数据源标识符和访问控制条件数据进行对称加密,获得通证头数据。
118.数据授权端将通证头数据的解密密钥确定为访问密钥,并根据访问密钥、通证头数据和通证验证数据生成初始加密通证,其中,通证验证数据包括撤销验证信息和授权方签名。
119.数据授权端根据目标授权对象数据组,利用预设属性加密算法对初始加密通证中的访问密钥进行属性加密,获得加密通证。
120.可选的,在本发明的一个可选实施例中,上述预设属性加密算法,可以是根据授权对象属性数据进行加密的算法。上述预设属性加密算法的类型可以包括:密钥策略属性加密(key-policy attribute-based encryption,kp-abe)和秘闻策略属性加密(ciphertext-policy attribute-based encryption,cp-abe)。
121.可选的,在本发明的另一个可选实施例中,上述加密通证由通证头数据、通证验证数据和访问密钥组成。其中,上述通证头数据和访问密钥为密文展示,上述通证验证数据为明文展示。由于上述通证验证数据的变现形式均是哈希值,因此,即使上述通证验证数据为明文展示,也不会产生数据泄露的风险。
122.可选的,在本发明的另一个可选实施例中,由于上述通证验证数据中的撤销验证信息是明文展示的。因此,数据授权方可以根据构成撤销验证信息的第二随机数,实现对数据授权通证的撤销。其具体实施过程可以是:
123.数据授权端调用预设撤销合约,根据上述第一交易哈希值,查找存储于区块链上的目标加密通证。
124.由于目标加密通证的通证验证数据为明文展示,存储该目标加密通证的共识节点可以读取该通证验证数据中的撤销验证信息。
125.共识节点通过对预设撤销合约发送的第二随机数,进行哈希运算,并将运算结果与上述撤销验证信息中的第二随机数哈希值进行比对。
126.在比对一致的情况下,共识节点将撤销验证信息和预设撤销合约上传的第二随机数作为映射结构,并写入区块链。以使目标数据源可以根据该映射结构,确定该数据授权通证已被撤销,并终止开发该目标数据的使用权。
127.可选的,解密密钥是数据使用端,利用预设属性加密算法,根据数据使用端的属性数据生成的密钥。
128.可选的,数据使用端在解密通过的情况下,根据使用方标识符、使用方签名和解密获得的数据授权通证,生成数据访问通证,包括:
129.数据使用端对数据授权通证中的目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据和撤销验证信息进行数据拼接,获得第四拼接数据。
130.数据使用端利用预设哈希算法,对第四拼接数据进行哈希运算,获得第四拼接数据的哈希值。
131.数据使用端利用第二预设签名生成算法,根据第四拼接数据的哈希值,生成使用方签名。
132.数据使用端,根据使用方标识符、使用方签名和解密获得的数据授权通证,生成数据访问通证。
133.可选的,在本发明的一个可选实施例中,上述第一预设签名生成算法和上述第二预设签名生成算法,需为生成不同密钥的签名生成算法。
134.可选的,预设验证规则由数据访问通证合法性验证规则和数据访问通证存证验证规则组成,
135.目标数据源根据数据访问通证和第一交易哈希值,判断数据访问通证是否满足预设验证规则,若是,则开放数据使用端对目标数据的使用权限,包括:
136.目标数据源根据数据访问通证,进行数据访问通证合法性验证规则验证:判断数据访问通证中的目标数据的哈希值,与目标数据源本地存储的目标数据的计算哈希值是否一致。判断数据访问通证中的授权方标识符,与目标数据源本地存储的目标数据相匹配的用户标识符是否一致。判断数据访问通证中的访问控制条件数据是否满足预设访问控制条件。根据数据访问通证中的第一交易哈希值,判断数据访问通证是否被撤销。对数据访问通证中的授权方签名和使用方签名进行签名验签操作,判断验签结果是否满足预设验签条件。若均是,则目标数据源判断数据访问通证,满足数据访问通证合法性验证规则。
137.目标数据源根据数据访问通证和第二交易哈希值,进行数据访问通证存证验证规则验证:目标数据源利用预设哈希算法,计算数据访问通证的计算哈希值。目标数据源根据第二交易哈希值,查找区块链上是否存在数据访问通证的上链记录,若是,则根据第二交易哈希值,获取存储于区块链上的数据访问通证的哈希值。目标数据源判断数据访问通证的哈希值,与计算哈希值是否一致。在区块链上存在数据访问通证的上链记录,且数据访问通证的哈希值与计算哈希值一致的情况下,目标数据源判断数据访问通证和第一交易哈希值,满足数据访问通证存证验证规则。
138.目标数据源在判断数据访问通证满足预设验证规则的情况下,开放数据使用端对目标数据的使用权限。
139.可选的,在本方发明的一个可选实施例中,上述数据访问通证合法性验证规则验证的过程,和数据访问通证存证验证规则验证的过程。可以同时进行,也可以先后进行。本发明对上述两个验证过程的执行顺序不作过多限定。
140.本领域技术人员可以理解的是,上述签名验签过程,可以通过多种方式来实现,例如:通过上述第一预设签名生成算法和上述第二预设签名生成算法的解密密钥,分别对上述授权方签名和使用方签名进行解密。分别获得第三拼接数据和第四拼接数据。再利用上述预设哈希算法,对第三拼接数据和第四拼接数据分别进行哈希运算。并将两个运算结果分别与解密获得的上述第三拼接数据的哈希值和第四拼接数据的哈希值进行比对。若一致,则证明该数据授权通证确实是数据授权端发送的,且数据访问通证并未被篡改。本发明对此不作过多赘述。
141.可选的,在多个数据访问通证存在目标数据源标识符不同的情况下,数据使用端调用预设存证合约,对数据访问通证的哈希值执行上链存证操作,并获得第一交易哈希值,还包括:
142.对各目标数据源标识符:数据使用端利用预设聚合算法,将与该目标数据源标识符匹配的多个数据访问通证的哈希值进行聚合,获得与该目标数据源标识符匹配的初始根哈希值。
143.数据使用端利用预设聚合算法,对初始根哈希值组进行聚合,获得根哈希值,其中,初始根哈希值组中包括与各目标数据源标识符匹配的多个初始根哈希值。
144.数据使用端调用预设存证合约,对根哈希值执行上链存证操作,并获得第三交易
哈希值。
145.可选的,在本发明的一个可选实施例中,上述各数据访问通证的哈希值,可以是由数据使用端利用预设哈希算法对各数据访问通证进行哈希运算后获得的。
146.可选的,在本发明的另一个可选实施例中,由于在实际应用场景下,数据使用端会一次性生成大量的数据访问通证。若对这些数据访问通证逐一执行上链存证操作。易产生区块链运行效率降低的风险,进而降低了数据授权效率。因此,本发明通过引入上述预设聚合算法,对多个数据访问通证进行聚合。从而提高了在高并发上链的工况下,数据授权的效率。其中,上述预设聚合算法的类型有多种,例如默克尔树(merkle tree)聚合算法。其具体实施过程可以是:
147.请参阅图2。假设当前数据授权端生成了六个数据访问通证,分别为a、b、c、d、e、f。其中,a、b、c和d的目标数据源为服务器1。e和f的目标数据源为服务器2。数据授权端先利用预设哈希算法,计算各数据访问通证的哈希值,分别为:哈希(a)、哈希(b)、哈希(c)、哈希(d)、哈希(e)和哈希(f)。
148.则如图2所示,数据授权端利用预设聚合算法,对属于同一目标数据源的数据访问通证的哈希值,进行两两聚合。为了方便描述,在此设定哈希(a)与哈希(b)聚合,哈希(c)与哈希(d)聚合,哈希(e)与哈希(f)聚合。由于哈希(a)与哈希(b)聚合后生成哈希(a|b),哈希(c)与哈希(d)聚合生成哈希(c|d)。因此,需要哈希(a|b)与哈希(c|d)再次聚合。
149.分别获得第一初始根哈希值哈希(a|b|c|d),和第二初始根哈希值哈希(e|f)。
150.数据授权端再次利用预设聚合算法,对第一初始根哈希值哈希(a|b|c|d)和第二初始根哈希值哈希(e|f)进行聚合,获得根哈希值哈希(a|b|c|d|e|f)。并调用预设存证合约,对根哈希值哈希(a|b|c|d|e|f)执行上链存证操作,并获得第三交易哈希值。
151.可选的,在本发明的另一个可选实施例中,在服务器2需要进行数据访问通证存证验证时,需要获得由数据授权端发送的数据访问通证e、数据访问通证f、第二初始根哈希值哈希(e|f)和上述第三交易哈希值。并执行数据访问通证存证验证规则。
152.需要说明的是,在实际应用场景中,上述如图1所示的基于区块链的数据授权方法有多种实现方式,在此示例性的提供一种:
153.请参阅图3。现产生一个目标数据的使用授权申请。
154.步骤s301、数据授权端根据目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据、撤销验证信息和授权方签名,生成数据授权通证。
155.步骤s302、数据授权端基于预设混合加密算法,利用目标授权对象属性组,对数据授权通证进行加密,生成加密通证。
156.步骤s303、数据授权端调用预设上链合约,向区块链上传加密通证。
157.步骤s304、区块链存储加密通证,并生成与加密通证匹配的第一交易哈希值。
158.步骤s305、数据使用端从区块链下载加密通证和第一交易哈希值。
159.步骤s306、数据使用端利用解密密钥对加密通证进行解密,获得数据授权通证。
160.步骤s307、数据使用端根据数据授权使用通证,生成使用方签名,并根据使用方签名、使用方标识符和数据授权通证,生成数据访问通证,并计算数据访问通证的哈希值。
161.步骤s308、数据使用端调用预设存证合约,向区块链上传数据访问通证的哈希值。
162.步骤s309、区块链存储数据访问通证的哈希值,并生成与数据访问通证的哈希值
匹配的第二交易哈希值。
163.步骤s310、区块链向数据使用端发送第二交易哈希值。
164.步骤s311、数据使用端根据目标数据源标识符,调用目标数据源端口,向目标数据源发送数据访问通证、第一交易哈希值和第二交易哈希值。
165.步骤s312、目标数据源根据数据访问通证和第一交易哈希值,进行数据访问通证合法性验证规则验证。
166.步骤s313、目标数据源根据数据访问通证和第二交易哈希值,进行数据访问通证存证验证规则验证。
167.步骤s314、目标数据源判断数据访问通证合法性验证规则验证,以及数据访问通证存证验证规则验证是否均通过。若是,则触发步骤s315,若否则触发步骤s316。
168.步骤s315、目标数据源开发目标数据的使用权限,向数据使用端发送目标数据。
169.步骤s316、结束流程。
170.可选的,上述如图3所示的步骤s301,是如图1所示的步骤s101的可选实施例。上述如图3所示的步骤s302至步骤s304,是如图1所示的步骤s102的可选实施例。上述如图3所示的步骤s305和步骤s306,是如图1所示的步骤s103的可选实施例。上述如图3所示的步骤s307,是如图1所示的步骤s104的可选实施例。上述如图3所示的步骤s308至s310,是如图1所示的步骤s105的可选实施例。上述如图3所示的步骤s311,是如图1所示的步骤s106的可选实施例。上述如图3所示的步骤s312至步骤s316,是如图1所示的步骤s107的可选实施例。
171.与上述方法实施例相对应地,本发明还提供了一种基于区块链的数据授权系统,如图4所示,该基于区块链的数据授权系统包括:
172.数据授权端401、数据使用端402和目标数据源403,数据授权端401根据目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据、撤销验证信息和授权方签名,生成数据授权通证。
173.数据授权端401基于预设混合加密算法,根据目标授权对象属性组和数据授权通证生成加密通证,并调用预设上链合约对加密通证执行上链存储操作,获得与加密通证匹配的第一交易哈希值。
174.数据使用端402获取加密通证和与加密通证匹配的第一交易哈希值,并利用本地存储的解密密钥对加密通证进行解密。
175.数据使用端402在解密通过的情况下,根据使用方标识符、使用方签名和解密获得的数据授权通证,生成数据访问通证。
176.数据使用端402调用预设存证合约,对数据访问通证的哈希值执行上链存证操作,并获得第二交易哈希值。
177.数据使用端402根据目标数据源标识符,将数据访问通证、第一交易哈希值和第二交易哈希值发送至目标数据源403。
178.目标数据源403根据数据访问通证、第一交易哈希值和第二交易哈希值,判断数据访问通证是否满足预设验证规则,若是,则开放数据使用端对目标数据的使用权限。
179.可选的,上述数据授权端401被设置为:
180.数据授权端401利用预设对称加密算法,根据第一随机数对拼接数据进行对称加密,获得第一拼接数据,其中,拼接数据是数据授权端401对目标数据的哈希值、授权方标识
符、目标数据源标识符和访问控制条件数据进行数据拼接获得的。将第二随机数与第一拼接数据进行数据拼接,获得第二拼接数据,并利用预设哈希算法对第二拼接数据进行哈希运算,获得撤销验证信息。
181.数据授权端401对目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据和撤销验证信息进行数据拼接,获得第三拼接数据。利用预设哈希算法,对第三拼接数据进行哈希运算,获得第三拼接数据的哈希值。利用第一预设签名生成算法,根据第三拼接数据的哈希值,生成授权方签名。
182.数据授权端401根据目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据、撤销验证信息和授权方签名,生成数据授权通证。
183.可选的,上述数据授权端401还被设置为:
184.数据授权端401利用预设对称加密算法,对目标数据的哈希值、授权方标识符、目标数据源标识符和访问控制条件数据进行对称加密,获得通证头数据。
185.数据授权端401将通证头数据的解密密钥确定为访问密钥,并根据访问密钥、通证头数据和通证验证数据生成初始加密通证,其中,通证验证数据包括撤销验证信息和授权方签名。
186.数据授权端401根据目标授权对象数据组,利用预设属性加密算法对初始加密通证中的访问密钥进行属性加密,获得加密通证。
187.可选的,上述数据使用端402被设置为:
188.数据使用端402对数据授权通证中的目标数据的哈希值、授权方标识符、目标数据源标识符、访问控制条件数据和撤销验证信息进行数据拼接,获得第四拼接数据。
189.数据使用端402利用预设哈希算法,对第四拼接数据进行哈希运算,获得第四拼接数据的哈希值。
190.数据使用端402利用第二预设签名生成算法,根据第四拼接数据的哈希值,生成使用方签名。
191.数据使用端402根据使用方标识符、使用方签名和解密获得的数据授权通证,生成数据访问通证。
192.可选的,上述目标数据源403被设置为:
193.目标数据源403根据数据访问通证,进行数据访问通证合法性验证规则验证:判断数据访问通证中的目标数据的哈希值,与目标数据源403本地存储的目标数据的计算哈希值是否一致。判断数据访问通证中的授权方标识符,与目标数据源403本地存储的目标数据相匹配的用户标识符是否一致。判断数据访问通证中的访问控制条件数据是否满足预设访问控制条件。根据数据访问通证中的第一交易哈希值,判断数据访问通证是否被撤销。对数据访问通证中的授权方签名和使用方签名进行签名验签操作,判断验签结果是否满足预设验签条件。若均是,则目标数据源403判断数据访问通证,满足数据访问通证合法性验证规则。
194.目标数据源403根据数据访问通证和第二交易哈希值,进行数据访问通证存证验证规则验证:目标数据源403利用预设哈希算法,计算数据访问通证的计算哈希值。目标数据源403根据第二交易哈希值,查找区块链上是否存在数据访问通证的上链记录,若是,则根据第二交易哈希值,获取存储于区块链上的数据访问通证的哈希值。目标数据源403判断
数据访问通证的哈希值,与计算哈希值是否一致。在区块链上存在数据访问通证的上链记录,且数据访问通证的哈希值与计算哈希值一致的情况下,目标数据源403判断数据访问通证和第一交易哈希值,满足数据访问通证存证验证规则。
195.目标数据源403在判断数据访问通证满足预设验证规则的情况下,开放数据使用端402对目标数据的使用权限。
196.可选的,上述数据使用端402还被设置为:
197.在多个数据访问通证存在目标数据源标识符不同的情况下,对各目标数据源标识符:数据使用端402利用预设聚合算法,将与该目标数据源标识符匹配的多个数据访问通证的哈希值进行聚合,获得与该目标数据源标识符匹配的初始根哈希值。
198.数据使用端402利用预设聚合算法,对初始根哈希值组进行聚合,获得根哈希值,其中,初始根哈希值组中包括与各目标数据源标识符匹配的多个初始根哈希值。
199.数据使用端402调用预设存证合约,对根哈希值执行上链存证操作,并获得第三交易哈希值。
200.本发明实施例还提供了一种基于区块链的数据授权装置,如图5所示,该数据授权装置包括:
201.处理器501;
202.用于存储处理器501可执行指令的存储器502。
203.其中,处理器501被配置为执行指令,以实现如上述任一项的基于区块链的数据授权方法。
204.本发明实施例还提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由基于区块链的数据授权装置的处理器执行时,使得基于区块链的数据授权装置能够执行如上述任一项的基于区块链的数据授权方法。
205.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
206.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
207.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
208.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实
体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
209.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
210.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献