CN115664685B - 一种基于属性加密的链上数据访问控制方法及装置 - Google Patents
一种基于属性加密的链上数据访问控制方法及装置 Download PDFInfo
- Publication number
- CN115664685B CN115664685B CN202211682346.5A CN202211682346A CN115664685B CN 115664685 B CN115664685 B CN 115664685B CN 202211682346 A CN202211682346 A CN 202211682346A CN 115664685 B CN115664685 B CN 115664685B
- Authority
- CN
- China
- Prior art keywords
- parameter
- ciphertext
- parameters
- verification
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种基于属性加密的链上数据访问控制方法及装置,所述方法的步骤包括:基于原始数据得到对应每个行向量的属性名称参数和对应每个属性名称参数的哈希参数;将第一加密参数和第二加密参数组合为数组,并将该数组在映射数组中进行映射,得到映射参数,基于数据参数、映射参数、第三加密参数和第四加密参数生成第一密文,基于第一加密参数和第四加密参数生成第一对照密文,将包括所述第一密文和第一对照密文的密文数据存储在数据云端;数据云端接收用户的数据请求,提取密文数据的密钥生成参数,并将密钥生成参数向用户释放;接收用户基于密钥生成参数生成的密钥参数对所述第一密文进行解密,获取原始数据。
Description
技术领域
本发明涉及访问控制技术领域,尤其涉及一种基于属性加密的链上数据访问控制方法及装置。
背景技术
随着物联网技术的发展和应用,数据收集设备不断收集着各种各样的数据,其中也不乏一些隐私数据,比如人们的心率、血压等等,如何安全存储这些数据是一个重要的问题。目前,人们多使用云计算技术来对这些大量的物联网数据进行存储管理,不过,这也使得这些数据被云服务提供商所控制,针对这个问题,现有技术通常使用访问控制技术对数据进行保护,并实现粗粒度的访问控制。
现有技术的属性基加密(ABE)被认为是一种可以实现细粒度访问控制的重要加密技术,通过属性与访问策略的匹配实现一对多加密。通常来说,ABE分为密钥策略属性基加密(KP-ABE)和密文策略属性基加密(CP-ABE),两者的不同之处在于访问策略的关联对象不同,在KP-ABE中,访问策略与密钥相关联,属性与密文相关联;相反,在CP-ABE中,访问策略与密文相关联,属性与密钥相关联。CP-ABE允许数据拥有者定义自己的访问策略,这被认为比KP-ABE更适合于访问控制。
尽管CP-ABE可以很好的用于访问控制,但目前大多数的CP-ABE方案还面临一个问题,这就是这些方案中都需要一个完全可信的授权机构来进行系统初始化,属性管理,密钥生成与分配等操作。不过现实中往往无法找到完全可信的第三方机构,此外,第三方授权机构也容易受到更多的安全威胁,从而导致单点故障问题。
发明内容
鉴于此,本发明的实施例提供了一种基于属性加密的链上数据访问控制方法,以消除或改善现有技术中存在的一个或更多个缺陷。
本发明的一个方面提供了一种基于属性加密的链上数据访问控制方法,所述方法的步骤包括:
基于网关节点接收数据采集设备上传的原始数据,对于所述原始数据随机生成属性矩阵,所述属性矩阵中的每个行向量均对应原始数据的一种属性,将每个所述行向量与预设的属性参数组进行映射,得到对应每个行向量的属性名称参数,基于哈希函数将属性名称参数与预设的哈希数组进行映射,得到对应每个属性名称参数的哈希参数;
获取预设的基础数组和映射数组,将所述原始数据与基础数组进行映射,得到对应所述原始数据的数据参数,从所述基础数组中随机抽取第一加密参数、第二加密参数、第三加密参数和第四加密参数,将第一加密参数和第二加密参数组合为数组,并将该数组在映射数组中进行映射,得到映射参数,基于数据参数、映射参数、第三加密参数和第四加密参数生成第一密文,基于第一加密参数和第四加密参数生成第一对照密文,将包括所述第一密文和第一对照密文的密文数据存储在数据云端,将所述第一加密参数、第二加密参数、第三加密参数和第四加密参数;
数据云端接收用户的数据请求,获取所述数据请求中的验证属性参数,将所述验证属性参数,基于哈希函数将验证属性参数与预设的哈希数组进行映射,得到对应每个验证属性参数的验证哈希参数,将验证哈希参数与所请求数据的每个属性名称参数的哈希参数进行比对,若一致,则提取密文数据的密钥生成参数,并将密钥生成参数向用户释放;
接收用户基于密钥生成参数生成的密钥参数,对比验证所述密钥参数是否正确,若正确则基于所述密钥参数和第一对照密文对所述第一密文进行解密,获取构建第一密文的数据参数,基于所述数据参数获取原始数据。
采用上述方案,本方案仅需根据自身的预先构建策略实现对数据的加密,不需要第三方机构的介入,当验证属性参数成功后,建立对用户的初步信任,向用户释放密钥生成参数,用户根据密钥生成参数计算得到密钥参数,在对密钥参数进行验证,做验证成功即可确定数据请求者的身份,基于所述密钥参数和第一对照密文对所述第一密文进行解密,获取构建第一密文的数据参数,基于所述数据参数获取原始数据,通过两次验证增加了数据的安全性。
在本发明的一些实施方式中,所述密文数据还包括辅助密文数据,所述辅助密文数据包括第一辅助密文和第二辅助密文,构建所述辅助密文数据的步骤包括:
基于如下公式计算得到第一辅助密文:
其中,表示第一加密参数,表示第三加密参数,表示任一所述行向量,为第一维度的参数为第四加密参数的多维度参数,表示行向量对应的第一辅助密文,表示行向量对应的属性名称参数,为基础数组中的任一参数,为哈希数组中行向量对应的参数,为基础数组中行向量对应的参数,为基础数组中的参数;
基于如下公式计算第二辅助密文:
在本发明的一些实施方式中,所述密文数据还包括验证密文数据,所述若正确则基于所述密钥参数和第一对照密文对所述第一密文进行解密的步骤还包括:
基于密钥参数对验证密文数据进行验证解密,若验证解密成功,则基于所述密钥参数和第一对照密文对所述第一密文进行解密。
在本发明的一些实施方式中,所述验证密文数据包括第一验证密文、第二验证密文、第三验证密文和第四验证密文;
根据如下公式构建第一验证密文:
根据如下公式构建第二验证密文:
根据如下公式构建第三验证密文:
其中,表示行向量对应的第三验证密文,表示第一加密参数,表示第三加密参数,表示任一所述行向量,为第一维度的参数为的多维度参,表示对应的属性名称参数,为基础数组中的任一参数,为哈希数组中的行向量对应的参数,为基础数组中的任一参数;
根据如下公式构建第四验证密文:
在本发明的一些实施方式中,在基于密钥参数对验证密文数据进行验证解密的步骤中,根据如下公式进行验证解密:
其中,表示行向量编号的集合,小于,表示行向量编号的集合中的任一个行向量编号,表示第一对照密文,表示密钥参数中的第一解密参数,表示密钥参数中的第二解密参数,表示第三解密参数,表示行向量编号为的行向量对应的第一辅助密文,表示行向量编号为的行向量对应的第二辅助密文,表示行向量编号为的行向量对应的权重参数,表示将第一对照密文和第一解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示将行向量编号为的行向量对应的第一辅助密文和第二解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示将行向量编号为的行向量对应的第二辅助密文和第三解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示所述原始数据的数据参数。
在本发明的一些实施方式中,在基于密钥参数对验证密文数据进行验证解密,若验证解密成功,基于所述密钥参数和第一对照密文对所述第一密文进行解密的步骤包括:
根据如下公式基于密钥参数计算第一验证密文:
其中,表示第一验证密文,表示行向量编号的集合,小于,表示行向量编号的集合中的任一个行向量编号,表示第二验证密文,表示密钥参数中的第一解密参数,表示密钥参数中的第二解密参数,表示第三解密参数,表示行向量编号为的行向量对应的第三验证密文,表示行向量编号为的行向量对应的第四验证密文,表示行向量编号为的行向量对应的权重参数,表示将第二验证密文和第一解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示将行向量编号为的行向量对应的第三验证密文和第二解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示将行向量编号为的行向量对应的第四验证密文和第三解密参数作为数组在映射数组中映射得到的在映射数组对应的参数;
若计算得到的第一验证密文与验证密文数据中的第一验证密文相同,则验证解密成功。
在本发明的一些实施方式中,行向量编号为i的行向量对应的权重参数是基于如下公式计算的:
在本发明的一些实施方式中,所述基于密钥生成参数生成的密钥参数包括第一解密参数、第二解密参数和第三解密参数,所述第一解密参数、第二解密参数和第三解密参数分别基于如下公式生成:
其中,表示密钥参数中的第一解密参数,表示密钥参数中的第二解密参数,表示第三解密参数,表示第一加密参数,表示第三加密参数,和均为基础数组中的参数,为哈希数组中的参数,表示行向量编号为的行向量对应的属性名称参数的哈希参数。
在本发明的一些实施方式中,所述将验证哈希参数与所请求数据的每个属性名称参数的哈希参数进行比对,若一致,则提取密文数据的密钥生成参数,并将密钥生成参数向用户释放的步骤包括:
若验证哈希参数与所请求数据的每个属性名称参数的哈希参数比对一致,则查看属性分配记录,确定属性分配记录中是否存在为用户端分配验证哈希参数的记录,若是,则提取密文数据的密钥生成参数,并将密钥生成参数向用户释放,并生成此次释放密钥生成参数的签名信息;若否,则不向用户释放密钥生成参数。
本发明的另一方面还提供一种基于属性加密的链上数据访问控制装置,该装置包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现如前所述方法所实现的步骤。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1为本发明基于属性加密的链上数据访问控制方法一种实施方式的示意图;
图2为本发明基于属性加密的链上数据访问控制方法另一种实施方式的架构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
为解决以上问题,如图1所示,本发明提出一种基于属性加密的链上数据访问控制方法,所述方法的步骤包括:
步骤S100,基于网关节点接收数据采集设备上传的原始数据,对于所述原始数据随机生成属性矩阵,所述属性矩阵中的每个行向量均对应原始数据的一种属性,将每个所述行向量与预设的属性参数组进行映射,得到对应每个行向量的属性名称参数,基于哈希函数将属性名称参数与预设的哈希数组进行映射,得到对应每个属性名称参数的哈希参数;
在具体实施过程中,所述属性矩阵根据访问策略随机生成。
在具体实施过程中,所述数据采集设备为传感器设备,负责搜集数据,由于物联网中设备众多,其计算能力与存储能力也各不相同,且这些计算和存储能力也仅能满足其本身的需求,无法进行大规模的计算与存储,所以本发明中,数据收集设备仅负责数据的采集,而对于数据的访问控制管理则由其上层的网关负责。
如图2所示,网关:我们使用物联网网关将一系列的数据收集设备进行连接,每个网关负责控制一组数据收集设备,使用网关可以避免大量数据收集设备直接接入区块链网络,从而保护数据收集设备的安全,此外,网关具有更强的管理能力,使用网关接入区块链网络可以降低系统访问控制的负担,提高访问控制的效率。数据拥有者可以通过网关来为搜集的数据制定访问策略,并将其存储于区块链上。
云服务器:我们使用云服务器对数据收集设备采集的数据进行加密存储,这是由于数据收集设备的轻量级特性使得其无法将大量数据存于自身,而之所以也没有将数据存于区块链是考虑到区块链的不可篡改特性,一旦数据上链则无法对其进行删除,而这使得在区块链上存储大量数据的代价很大。因此我们选择将数据存入云服务器。区块链上则只记录密文地址和相关的访问策略。
数据用户:数据用户通过将自身属性提供给区块链从而获得密钥生成参数,并基于密钥生成参数生成的密钥参数,且只有其属性满足对应访问策略时才可对相应密文进行解密。数据用户可以通过区块链获得密钥与密文地址,从而对数据进行访问。
区块链:在本发明中,区块链主要负责信息存储以及一些计算任务,用户可以通过调用区块链智能合约来完成初始化,策略存储和密钥生成等操作。
步骤S200,获取预设的基础数组和映射数组,所述基础数组中任意两个参数的组合均在映射数组中存在唯一的参数,将所述原始数据与基础数组进行映射,得到对应所述原始数据的数据参数,从所述基础数组中随机抽取第一加密参数、第二加密参数、第三加密参数和第四加密参数,将第一加密参数和第二加密参组合为数组,并将该数组在映射数组中进行映射,得到映射参数,基于数据参数、映射参数、第三加密参数和第四加密参数生成第一密文,基于第一加密参数和第四加密参数生成第一对照密文,将包括所述第一密文和第一对照密文的密文数据存储在数据云端;
在具体实施过程中,所述第一加密参数和第二加密参数可以为同一参数值。
在具体实施过程中,任意两个参数的组合均在映射数组中存在唯一的参数。
在具体实施过程中,根据如下公式计算第一对照密文:
所述基础数组中任意两个参数可以为同一参数,所述基础数组中任意参数进行运算后得到参数。
采用上述方案,在对数据进行加密之后,将加密数据上传至云服务器,并得到加密数据的密文地址。通过调用智能合约中的策略存储函数将数据标识ID、密文地址、密文哈希、访问策略发布到区块链上,区块链收到后进行验证并进行存储。
在具体实施过程中,区块链技术的发展为去中心化结构提供了思路,使用区块链技术可以解决传统访问控制模型的中心化问题。不过使用区块链技术来构建CP-ABE访问控制方案也存在一些需要解决的问题,主要是区块链上的隐私问题,经区块链记录的交易信息都是公开的,且可以进行追溯,这使得我们不可直接将CP-ABE中的访问策略信息直接上链存储,还需考虑访问策略与属性信息的隐藏问题。
在具体实施过程中,网关节点在以太坊中创建智能合约,使用智能合约实现系统初始化,访问策略存储、密钥分配等操作。之后通过执行合约中的初始化函数,对本访问控制方案中的系统参数进行初始化定义。
步骤S300,数据云端接收用户的数据请求,获取所述数据请求中的验证属性参数,将所述验证属性参数,基于哈希函数将验证属性参数与预设的哈希数组进行映射,得到对应每个验证属性参数的验证哈希参数,将验证哈希参数与所请求数据的每个属性名称参数的哈希参数进行比对,若一致,则提取密文数据的密钥生成参数,并将密钥生成参数向用户释放;
采用上述方案,用户可以在直到密钥生成规则的前提下,根据密钥生成参数构建密钥参数,本方案并不直接向用户发放密钥,而是发放密钥生成参数,能够进一步提高密钥的保密性,降低数据被盗用的风险。
在本发明的一些实施方式中,所述验证属性参数为属性名称参数的集合,在将验证哈希参数与所请求数据的每个属性名称参数的哈希参数进行比对,在比对是否一致的步骤中,根据预先设定的规则判定是否一致,其中预先设定的规则可以为验证哈希参数包括所请求数据的每个属性名称参数的哈希参数的至少一个、两个或三个,也可以为其他规则。
步骤S400,接收用户基于密钥生成参数生成的密钥参数,对比验证所述密钥参数是否正确,若正确则基于所述密钥参数和第一对照密文对所述第一密文进行解密,获取构建第一密文的数据参数,基于所述数据参数获取原始数据。
在本发明的一些实施方式中,所述密钥参数可以为用户在用户端基于密钥生成参数所计算得到的参数。
在基于所述数据参数获取原始数据的步骤中,基于原始数据与基础数组的映射关系,将所述数据参数进行反向映射,得到对应所述数据参数的原始数据。
所述数据参数可以为数字的集合。
采用上述方案,本方案仅需根据自身的预先构建策略实现对数据的加密,不需要第三方机构的介入,当验证属性参数成功后,建立对用户的初步信任,向用户释放密钥生成参数,用户根据密钥生成参数计算得到密钥参数,在对密钥参数进行验证,做验证成功即可确定数据请求者的身份,基于所述密钥参数和第一对照密文对所述第一密文进行解密,获取构建第一密文的数据参数,基于所述数据参数获取原始数据,通过两次验证增加了数据的安全性。
在本发明的一些实施方式中,所述密文数据还包括辅助密文数据,所述辅助密文数据包括第一辅助密文和第二辅助密文,构建所述辅助密文数据的步骤包括:
基于如下公式计算得到第一辅助密文:
其中,表示第一加密参数,表示第三加密参数,表示任一所述行向量,为第一维度的参数为第四加密参数的多维度参数,表示行向量对应的第一辅助密文,表示行向量对应的属性名称参数,为基础数组中的任一参数,为哈希数组中行向量对应的参数,为基础数组中行向量对应的参数,为基础数组中的参数;
基于如下公式计算第二辅助密文:
在本发明的一些实施方式中,所述密文数据还包括验证密文数据,所述若正确则基于所述密钥参数和第一对照密文对所述第一密文进行解密的步骤还包括:
基于密钥参数对验证密文数据进行验证解密,若验证解密成功,则基于所述密钥参数和第一对照密文对所述第一密文进行解密。
在本发明的一些实施方式中,所述验证密文数据包括第一验证密文、第二验证密文、第三验证密文和第四验证密文;
根据如下公式构建第一验证密文:
根据如下公式构建第二验证密文:
根据如下公式构建第三验证密文:
其中,表示行向量对应的第三验证密文,表示第一加密参数,表示第三加密参数,表示任一所述行向量,为第一维度的参数为的多维度参,表示对应的属性名称参数,为基础数组中的任一参数,为哈希数组中的行向量对应的参数,为基础数组中的任一参数;
根据如下公式构建第四验证密文:
在本发明的一些实施方式中,在基于密钥参数对验证密文数据进行验证解密的步骤中,根据如下公式进行验证解密:
其中,表示行向量编号的集合,小于,表示行向量编号的集合中的任一个行向量编号,表示第一对照密文,表示密钥参数中的第一解密参数,表示密钥参数中的第二解密参数,表示第三解密参数,表示行向量编号为的行向量对应的第一辅助密文,表示行向量编号为的行向量对应的第二辅助密文,表示行向量编号为的行向量对应的权重参数,表示将第一对照密文和第一解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示将行向量编号为的行向量对应的第一辅助密文和第二解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示将行向量编号为的行向量对应的第二辅助密文和第三解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示所述原始数据的数据参数。
在本发明的一些实施方式中,在基于密钥参数对验证密文数据进行验证解密,若验证解密成功,基于所述密钥参数和第一对照密文对所述第一密文进行解密的步骤包括:
根据如下公式基于密钥参数计算第一验证密文:
其中,表示第一验证密文,表示行向量编号的集合,小于,表示行向量编号的集合中的任一个行向量编号,表示第二验证密文,表示密钥参数中的第一解密参数,表示密钥参数中的第二解密参数,表示第三解密参数,表示行向量编号为的行向量对应的第三验证密文,表示行向量编号为的行向量对应的第四验证密文,表示行向量编号为的行向量对应的权重参数,表示将第二验证密文和第一解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示将行向量编号为的行向量对应的第三验证密文和第二解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示将行向量编号为的行向量对应的第四验证密文和第三解密参数作为数组在映射数组中映射得到的在映射数组对应的参数;
若计算得到的第一验证密文与验证密文数据中的第一验证密文相同,则验证解密成功。
在本发明的一些实施方式中,将行向量的每个维度的参数均与对应的权重参数相乘,再相乘后的多个行向量对应每个维度相加,满足上述公式。
在本发明的一些实施方式中,所述基于密钥生成参数生成的密钥参数包括第一解密参数、第二解密参数和第三解密参数,所述第一解密参数、第二解密参数和第三解密参数分别基于如下公式生成:
其中,表示密钥参数中的第一解密参数,表示密钥参数中的第二解密参数,表示第三解密参数,表示第一加密参数,表示第三加密参数,和均为基础数组中的参数,为哈希数组中的参数,表示行向量编号为的行向量对应的属性名称参数的哈希参数。
在本发明的一些实施方式中,所述将验证哈希参数与所请求数据的每个属性名称参数的哈希参数进行比对,若一致,则提取密文数据的密钥生成参数,并将密钥生成参数向用户释放的步骤包括:
若验证哈希参数与所请求数据的每个属性名称参数的哈希参数比对一致,则查看属性分配记录,确定属性分配记录中是否存在为用户端分配验证哈希参数的记录,若是,则提取密文数据的密钥生成参数,并将密钥生成参数向用户释放,并生成此次释放密钥生成参数的签名信息;若否,则不向用户释放密钥生成参数。
在具体实施过程中,初始化函数函数被网关节点执行,输出公共参数PK和主密钥MSK。后续的数据加密、密钥生成、数据解密阶段均会使用到公共参数PK,而主密钥MSK则会在密钥生成阶段使用。
具体来说,初始化函数生成,其中,群和的阶为合数,之后输出公共参数PK和主密钥MSK,其中,,,表示基础数组,基础数组为矩阵,为用于计算和的阶的参数,均为基础数组的子数组,每个子数组均为基础数组的一部分;
本发明的有益效果包括:
1、本发明使用区块链代替传统方案中的属性授权机构,使用智能合约实现系统初始化,访问策略存储,密钥分配等操作,提高系统安全性,本方案在实现细粒度访问控制的同时,也解决了传统方案中的中心化风险;
2、本发明中的公共参数大小为恒定常数,不会随系统属性数量的增加而增长,此外,本发明使用哈希值代替属性值,进一步保护了访问策略与属性信息上链后的隐私安全;
3、本发明设计了一个用于属性验证的挑战应答协议,可以解决密钥生成过程中的属性冒充问题,并有效防止了针对属性的重放攻击。
本发明实施例还提供一种基于属性加密的链上数据访问控制装置,该装置包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现如前所述方法所实现的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述基于属性加密的链上数据访问控制方法所实现的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,做出各种改变、修改和添加,或者改变步骤之间的顺序。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于属性加密的链上数据访问控制方法,其特征在于,所述方法的步骤包括:
基于网关节点接收数据采集设备上传的原始数据,对于所述原始数据随机生成属性矩阵,所述属性矩阵中的每个行向量均对应原始数据的一种属性,将每个所述行向量与预设的属性参数组进行映射,得到对应每个行向量的属性名称参数,基于哈希函数将属性名称参数与预设的哈希数组进行映射,得到对应每个属性名称参数的哈希参数;
获取预设的基础数组和映射数组,所述基础数组中任意两个参数的组合均在映射数组中存在唯一的参数,将所述原始数据与基础数组进行映射,得到对应所述原始数据的数据参数,从所述基础数组中随机抽取第一加密参数、第二加密参数、第三加密参数和第四加密参数,将第一加密参数和第二加密参组合为数组,并将该数组在映射数组中进行映射,得到映射参数,基于数据参数、映射参数、第三加密参数和第四加密参数生成第一密文,基于第一加密参数和第四加密参数生成第一对照密文,将包括所述第一密文和第一对照密文的密文数据存储在数据云端;
数据云端接收用户的数据请求,获取所述数据请求中的验证属性参数,将所述验证属性参数,基于哈希函数将验证属性参数与预设的哈希数组进行映射,得到对应每个验证属性参数的验证哈希参数,将验证哈希参数与所请求数据的每个属性名称参数的哈希参数进行比对,若一致,则提取密文数据的密钥生成参数,并将密钥生成参数向用户释放;
接收用户基于密钥生成参数生成的密钥参数,对比验证所述密钥参数是否正确,若正确则基于所述密钥参数和第一对照密文对所述第一密文进行解密,获取构建第一密文的数据参数,基于所述数据参数获取原始数据。
2.根据权利要求1所述的基于属性加密的链上数据访问控制方法,其特征在于,所述密文数据还包括辅助密文数据,所述辅助密文数据包括第一辅助密文和第二辅助密文,构建所述辅助密文数据的步骤包括:
基于如下公式计算得到第一辅助密文:
其中,表示第一加密参数,表示第三加密参数,表示任一所述行向量,为第一维度的参数为第四加密参数的多维度参数,表示行向量对应的第一辅助密文,表示行向量对应的属性名称参数,为基础数组中的任一参数,为哈希数组中行向量对应的参数,为基础数组中行向量对应的参数,为基础数组中的参数;
基于如下公式计算第二辅助密文:
3.根据权利要求2所述的基于属性加密的链上数据访问控制方法,其特征在于,所述密文数据还包括验证密文数据,所述若正确则基于所述密钥参数和第一对照密文对所述第一密文进行解密的步骤还包括:
基于密钥参数对验证密文数据进行验证解密,若验证解密成功,则基于所述密钥参数和第一对照密文对所述第一密文进行解密。
4.根据权利要求3所述的基于属性加密的链上数据访问控制方法,其特征在于,所述验证密文数据包括第一验证密文、第二验证密文、第三验证密文和第四验证密文;
根据如下公式构建第一验证密文:
根据如下公式构建第二验证密文:
根据如下公式构建第三验证密文:
其中,表示行向量对应的第三验证密文,表示第一加密参数,表示第三加密参数,表示任一所述行向量,为第一维度的参数为的多维度参数,表示对应的属性名称参数,为基础数组中的任一参数,为哈希数组中的行向量对应的参数,为基础数组中的任一参数;
根据如下公式构建第四验证密文:
5.根据权利要求4所述的基于属性加密的链上数据访问控制方法,其特征在于,在基于密钥参数对验证密文数据进行验证解密的步骤中,根据如下公式进行验证解密:
其中,表示行向量编号的集合,小于,表示行向量编号的集合中的任一个行向量编号,表示第一对照密文,表示密钥参数中的第一解密参数,表示密钥参数中的第二解密参数,表示第三解密参数,表示行向量编号为的行向量对应的第一辅助密文,表示行向量编号为的行向量对应的第二辅助密文,表示行向量编号为的行向量对应的权重参数,表示将第一对照密文和第一解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示将行向量编号为的行向量对应的第一辅助密文和第二解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示将行向量编号为的行向量对应的第二辅助密文和第三解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示所述原始数据的数据参数。
6.根据权利要求4所述的基于属性加密的链上数据访问控制方法,其特征在于,在基于密钥参数对验证密文数据进行验证解密,若验证解密成功,基于所述密钥参数和第一对照密文对所述第一密文进行解密的步骤包括:
根据如下公式基于密钥参数计算第一验证密文:
其中,表示第一验证密文,表示行向量编号的集合,小于,表示行向量编号的集合中的任一个行向量编号,表示第二验证密文,表示密钥参数中的第一解密参数,表示密钥参数中的第二解密参数,表示第三解密参数,表示行向量编号为的行向量对应的第三验证密文,表示行向量编号为的行向量对应的第四验证密文,表示行向量编号为的行向量对应的权重参数,表示将第二验证密文和第一解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示将行向量编号为的行向量对应的第三验证密文和第二解密参数作为数组在映射数组中映射得到的在映射数组对应的参数,表示将行向量编号为的行向量对应的第四验证密文和第三解密参数作为数组在映射数组中映射得到的在映射数组对应的参数;
若计算得到的第一验证密文与验证密文数据中的第一验证密文相同,则验证解密成功。
9.根据权利要求1所述的基于属性加密的链上数据访问控制方法,其特征在于,所述将验证哈希参数与所请求数据的每个属性名称参数的哈希参数进行比对,若一致,则提取密文数据的密钥生成参数,并将密钥生成参数向用户释放的步骤包括:
若验证哈希参数与所请求数据的每个属性名称参数的哈希参数比对一致,则查看属性分配记录,确定属性分配记录中是否存在为用户端分配验证哈希参数的记录,若是,则提取密文数据的密钥生成参数,并将密钥生成参数向用户释放,并生成此次释放密钥生成参数的签名信息;若否,则不向用户释放密钥生成参数。
10.一种基于属性加密的链上数据访问控制装置,其特征在于,该装置包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现如权利要求1-9任一项所述方法所实现的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211682346.5A CN115664685B (zh) | 2022-12-27 | 2022-12-27 | 一种基于属性加密的链上数据访问控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211682346.5A CN115664685B (zh) | 2022-12-27 | 2022-12-27 | 一种基于属性加密的链上数据访问控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115664685A CN115664685A (zh) | 2023-01-31 |
CN115664685B true CN115664685B (zh) | 2023-03-21 |
Family
ID=85022615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211682346.5A Active CN115664685B (zh) | 2022-12-27 | 2022-12-27 | 一种基于属性加密的链上数据访问控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115664685B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112804064A (zh) * | 2021-01-26 | 2021-05-14 | 西安邮电大学 | 基于区块链的属性加密访问控制系统及方法 |
CN113193953A (zh) * | 2021-04-16 | 2021-07-30 | 南通大学 | 一种基于区块链的多权威属性基加密方法 |
WO2022232042A1 (en) * | 2021-04-26 | 2022-11-03 | Ntt Research, Inc. | Decentralized multi-authority attribute-based encryption with fully adaptive security |
-
2022
- 2022-12-27 CN CN202211682346.5A patent/CN115664685B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112804064A (zh) * | 2021-01-26 | 2021-05-14 | 西安邮电大学 | 基于区块链的属性加密访问控制系统及方法 |
CN113193953A (zh) * | 2021-04-16 | 2021-07-30 | 南通大学 | 一种基于区块链的多权威属性基加密方法 |
WO2022232042A1 (en) * | 2021-04-26 | 2022-11-03 | Ntt Research, Inc. | Decentralized multi-authority attribute-based encryption with fully adaptive security |
Non-Patent Citations (2)
Title |
---|
Chao Yuan等.Blockchain with Accountable CP-ABE: How to Effectively Protect the Electronic Documents.2018,全文. * |
Jingyi Wang等.BA-CPABE : An auditable Ciphertext-Policy Attribute Based Encryption Based on Blockchain.2022,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN115664685A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jiang et al. | PTAS: Privacy-preserving thin-client authentication scheme in blockchain-based PKI | |
CN107864139B (zh) | 一种基于动态规则的密码学属性基访问控制方法与系统 | |
US9646168B2 (en) | Data access control method in cloud | |
Hossain et al. | Probe-IoT: A public digital ledger based forensic investigation framework for IoT. | |
CN107104982B (zh) | 移动电子医疗中具有叛逆者追踪功能的可搜索加密系统 | |
WO2018032374A1 (zh) | 一种用于区块链的加密存储系统及其使用方法 | |
US10650164B2 (en) | System and method for obfuscating an identifier to protect the identifier from impermissible appropriation | |
EP3701668B1 (en) | Methods for recording and sharing a digital identity of a user using distributed ledgers | |
CN108259169A (zh) | 一种基于区块链云存储的文件安全分享方法及系统 | |
CN106487506B (zh) | 一种支持预加密和外包解密的多机构kp-abe方法 | |
CN104584509A (zh) | 一种共享数据的访问控制方法、装置及系统 | |
CN109359464B (zh) | 一种基于区块链技术的无线安全认证方法 | |
CN112085502B (zh) | 一种基于边缘计算的轻量级区块链监管方法及系统 | |
CN108632385B (zh) | 基于时间序列的多叉树数据索引结构云存储隐私保护方法 | |
CN115296838B (zh) | 基于区块链的数据共享方法、系统及存储介质 | |
CN113393225B (zh) | 数字货币加密支付方法及系统 | |
US11343074B2 (en) | Block-chain based identity system | |
CN113344222A (zh) | 一种基于区块链的安全可信的联邦学习机制 | |
CN115811406A (zh) | 一种基于环签名共识机制的物联网区块链认证方法和系统 | |
CN111882410A (zh) | 一种基于区块链的税务信息查询方法及系统 | |
CN115883214A (zh) | 基于联盟链和cp-abe的电子医疗数据共享系统及方法 | |
CN113360944A (zh) | 一种电力物联网的动态访问控制系统与方法 | |
CN115664685B (zh) | 一种基于属性加密的链上数据访问控制方法及装置 | |
WO2021236196A1 (en) | Split keys for wallet recovery | |
CN114124392B (zh) | 支持访问控制的数据可控流通方法、系统、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |