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

一种可验证的细粒度访问控制内积函数加密方法

2022-07-30 09:30:43 来源:中国专利 TAG:


1.本发明涉及数据加密技术领域,具体为一种可验证的细粒度访问控制内积函数加密方法。


背景技术:

2.随着云计算技术的快速发展,大多数用户为了节省本地开销,选择将数据加密后上传至云端。传统的公钥加密体制只能为用户提供“一对一”的较粗粒度的访问控制,难以满足在开放的云计算环境中进行数据共享和处理的需求。另一方面,根据数据的敏感度及泄露后的危害程度进行分类分级,已成为当前对数据的主要管控方式。因此,如何在加解密算法中有机融入数据的访问权限级别,实现“数据可用不可见,部分加解密可控、按需安全计算”目标,是非常有意义且值得探索的问题。
3.申请号为202111487966.9的专利提供了一种具有隐私保护的无中心机构的内积函数加密方法及系统,本发明采用无中心机构的内积函数加密方案,多个机构不需要交互地初始化系统,用户从多个机构处获得密钥与其全域识别符绑定,有效抵抗合谋攻击,同时保护用户隐私,但本方法无法实现分级授权访问,无法抵抗量子攻击;申请号为201811056092.x的专利提供了支持内积运算的可搜索公钥加密方法,本发明具有运算速度快、安全性高等优点,可在加密数据库、加密文件的存储技术领域使用,但本方法无法验证服务器操作的正确性、无法抵抗量子攻击、无法实现分级的查询控制。
4.内积函数加密在保障数据机密性的同时实现了较细粒度的访问控制,而且能够对密文进行计算,十分适用于云环境中。然而,现有的内积加密方案大都基于离散对数和整数分解问题设计的,随着量子计算技术的飞速发展,这些传统的内积加密方法在后量子时代将不堪一击。因此,对于不完全可信的云端,在保证数据机密性的前提下,对数据进行分级访问的细粒度控制,实现数据安全可靠地共享,设计一种抗量子的可验证细粒度访问控制内积函数加密方法尤为重要。


技术实现要素:

5.鉴于现有技术中所存在的问题,本发明公开了一种可验证的细粒度访问控制内积函数加密方法,包括步骤如下:步骤一、基于集合论给出带分级权限一般访问结构定义:根据参与方属性集u
user
、逻辑操作集θ和分级权限集r,融合参与方属性集的幂集逻辑操作集的幂集2
θ
和分级权限集r,定义笛卡尔积:以此构造带分级权限的授权访问树结构空间:将t的子集σ∈t定义为带分级权限的一般访问结构(也称授权结构),d(
·
)表示
树结点的度;步骤二、基于所定义的带分级权限一般访问结构σ,设计访问控制函数f@(b,g)∈b
×
g,b为x∈u上的布尔函数空间,g为m∈m,m∈{0,1}
*
上的一个函数:表示若属性x满足访问结构σi→j,则允许用户idi向用户idj发送消息m且用户idj具备计算函数g(m)的权限;步骤三、利用代理重加密的思想,通过一个访问控制中心将发送方的密文重加密实现分级权限的控制;一个具有分级权限的细粒度访问控制函数加密通用模型由setup、keygen、enc、acc、dec五个模块构成;具体的:eygen、enc、acc、dec五个模块构成;具体的:输入安全参数1
λ
后,系统设置模块产生主私钥msk和公共参数pp,并分别发送给密钥生成模块和加密模块;密钥生成模块收到主私钥msk后,根据访问控制函数f和身份id生成函数私钥skf和访问控制密钥rkf;加密模块使用身份id和公共参数pp加密消息m产生原始密文c1并发送给访问控制模块;访问控制模块使用访问控制密钥rkf重加密原始密文c1得到重加密密文c2;解密模块收到重加密密文c2后,使用私钥skf进行解密,得到关于消息m的函数值f(x,m);步骤四、基于所构建的通用模型,构造具体的可验证细粒度访问控制内积函数加密模型,该模型由系统设置模块、密钥生成模块、加密模块、访问控制模块、验证模块、解密模块组成,具体的:系统设置模块:输入安全参数1
λ
,随机选取两个矩阵a0,采用陷门抽样算法trapgen(q,n)抽取a0的陷门基选取l个均匀随机的矩阵和一个具有特殊结构的工具矩阵从高斯分布中选择矩阵输出公共参数pp={a0,l0,l1,...,l
l
,u},主私钥密钥生成模块:输入公共参数pp,主私钥msk,用户的身份idi∈¢q和一个向量将用户身份idi=(b1,b2,...,b
l
)∈{-1,1}
l
编码为

采用左抽样算法抽取向量使其满足用户私钥为

对于另一用户idj,采用高斯抽样算法抽取矩阵使其满足使其满足访问控制密钥为

运行同态签名算法hs.sign生成rki→j的签名σi,输出rki→j和σi;加密模块:输入公共参数pp,用户身份idi和一个向量随机选取一个均匀分布的向量噪音向量e0,e1∈ψm,从{1,-1}m×m中随机选取一个矩阵令z=(im|r)
t
·
e0;计算;计算输出用户的密文访问控制模块:输入访问控制密钥rki→j,用户idi的密文计算运行算法hs.signeval生成同态签名σi→j,输出重加密密文及σi→j;验证模块:输入用户密文及重加密密文运行同态签名验证算法hs.verify,输出1或0;解密模块:输入密文c
id
,用户私钥sk
id
,向量y,计算输出函数值《x,y》。
6.作为本发明的一种优选方案,步骤三中的setup为系统设置模块,keygen为密钥生成模块,enc为加密模块,acc为访问控制模块,dec为解密模块。
7.本发明的有益效果:本发明以构造带分级权限的细粒度一般访问结构为切入点,将访问结构布尔化嵌入到用户私钥中,提出加解密分级灵活可控的访问控制函数加密模型,将访问控制与函数计算深度融合,当用户属性满足该布尔函数时,解密后得到函数值;是针对数据“可用不可见”开放共享中的安全问题,将用户属性与逻辑操作和分级权限相关联,抽象出带分级权限的一般访问结构,以此为基础构造访问控制函数加密通用模型,实现零信任开放环境下更加灵活的细粒度分级权限控制。另外,基于格上lwe困难问题提出具体
的可验证访问控制内积函数加密方法,实现了部分加解密权限控制,相较于传统的基于双线性映射的内积加密方法而言,本发明以矩阵运算为基础,可以支持并行算法设计,效率更高;以代理重加密思路来设计访问控制加密方法,实现了分级权限控制,保障了云环境下数据的安全性。本发明方法具有抗量子攻击、单向性、非交互性、抗合谋攻击及可验证性,在密文交换共享场景中具有较高的安全性,可以一定程度解决数据的灵活权限管控问题。
附图说明
8.图1为具有分级权限的细粒度访问控制函数加密通用模型;
9.图2为可验证细粒度访问控制内积函数加密模型。
具体实施方式
10.实施例1
11.如图1、图2所示,本发明所述的一种可验证的细粒度访问控制内积函数加密方法,包括步骤如下:步骤一、基于集合论给出带分级权限一般访问结构定义:根据参与方属性集u
user
、逻辑操作集θ和分级权限集r,融合参与方属性集的幂集逻辑操作集的幂集2
θ
和分级权限集r,定义笛卡尔积:以此构造带分级权限的授权访问树结构空间:将t的子集σ∈t定义为带分级权限的一般访问结构(也称授权结构),d(
·
)表示树结点的度;步骤二、基于所定义的带分级权限一般访问结构σ,设计访问控制函数f@(b,g)∈b
×
g,b为x∈u上的布尔函数空间,g为m∈m,m∈{0,1}
*
上的一个函数:表示若属性x满足访问结构σi→j,则允许用户idi向用户idj发送消息m且用户idj具备计算函数g(m)的权限;步骤三、利用代理重加密的思想,通过一个访问控制中心将发送方的密文重加密实现分级权限的控制;如图1所示,一个具有分级权限的细粒度访问控制函数加密通用模型由setup、keygen、enc、acc、dec五个模块构成,其中setup为系统设置模块,keygen为密钥生成模块,enc为加密模块,acc为访问控制模块,dec为解密模块;具体的:
输入安全参数1
λ
后,系统设置模块产生主私钥msk和公共参数pp,并分别发送给密钥生成模块和加密模块;密钥生成模块收到主私钥msk后,根据访问控制函数f和身份id生成函数私钥skf和访问控制密钥rkf;加密模块使用身份id和公共参数pp加密消息m产生原始密文c1并发送给访问控制模块;访问控制模块使用访问控制密钥rkf重加密原始密文c1得到重加密密文c2;解密模块收到重加密密文c2后,使用私钥skf进行解密,得到关于消息m的函数值f(x,m);步骤四、基于所构建的通用模型,构造具体的可验证细粒度访问控制内积函数加密模型,如图2所示,该模型由系统设置模块、密钥生成模块、加密模块、访问控制模块、验证模块、解密模块组成,具体的:系统设置模块:输入安全参数1
λ
,随机选取两个矩阵a0,采用陷门抽样算法trapgen(q,n)抽取a0的陷门基选取l个均匀随机的矩阵和一个具有特殊结构的工具矩阵从高斯分布中选择矩阵输出公共参数pp={a0,l0,l1,...,l
l
,u},主私钥密钥生成模块:输入公共参数pp,主私钥msk,用户的身份idi∈¢q和一个向量将用户身份idi=(b1,b2,...,b
l
)∈{-1,1}
l
编码为

采用左抽样算法抽取向量使其满足用户私钥为

对于另一用户idj,采用高斯抽样算法抽取矩阵使其满足使其满足访问控制密钥为

运行同态签名
算法hs.sign生成rki→j的签名σi,输出rki→j和σi;加密模块:输入公共参数pp,用户身份idi和一个向量随机选取一个均匀分布的向量噪音向量e0,e1∈ψm,从{1,-1}m×m中随机选取一个矩阵令z=(im|r)
t
·
e0;计算;计算输出用户的密文访问控制模块:输入访问控制密钥rki→j,用户idi的密文计算运行算法hs.signeval生成同态签名σi→j,输出重加密密文及σi→j;验证模块:输入用户密文及重加密密文运行同态签名验证算法hs.verify,输出1或0;解密模块:输入密文c
id
,用户私钥sk
id
,向量y,计算输出函数值《x,y》。
12.本文中未详细说明的部分为现有技术。
13.上述虽然对本发明的具体实施例作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化,而不具备创造性劳动的修改或变形仍在本发明的保护范围以内。
再多了解一些

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

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

相关文献