一种实现高效相似性查询和访问控制的基因数据脱敏方法转让专利

申请号 : CN201910387357.2

文献号 : CN110263570B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李洪伟刘森徐国文龚丽任彦之杨浩淼赵芸伟舒敏韩晗王文磊

申请人 : 电子科技大学国家计算机网络与信息安全管理中心

摘要 :

本发明属于信息安全技术领域,具体提供一种实现高效相似性查询和访问控制的基因数据脱敏方法,其有效支持密文环境下大规模基因数据的相似性查询,同时支持复杂的逻辑查询以满足用户个性化的查询需求,该方法授权方式灵活,可对不同的数据授予不同的访问权限,并在查询过程中实现对用户的数据访问权限的可靠控制,此外,本发明采用特定的哈希函数压缩数据,显著减少密文状态下匹配的元素数量,进一步提高查询检索效率。

权利要求 :

1.一种实现高效相似性查询和访问控制的基因数据脱敏方法,包括以下步骤:步骤1.系统初始化:系统生成公共的基因序列,数据拥有者生成用户访问数据的角色权限集合,生成用于特定哈希函数加密、集合伪随机排列以及矩阵安全内积运算所需的密钥;

步骤2.数据预处理:数据拥有者对其拥有的全部基因序列进行分块处理;数据拥有者参照公共基因序列,利用编辑距离算法获取各分块基因序列的编辑操作集合;数据拥有者定义各基因序列的访问权限函数,并获取相应访问权限函数的系数;对于每个基因序列,数据拥有者任意选择ψ个正态分布的随机数,并连同访问权限函数的系数对相应基因序列的编辑操作集合进行维度扩增;

步骤3.安全索引建立:数据拥有者使用特定哈希函数、伪随机排列、矩阵加密对扩维后的编辑操作集合中非函数系数、非随机数的元素进行k次循环加密、求和、混淆以及矩阵内积操作,最终每个基因序列对应k个安全索引;数据拥有者使用对称密码算法对原始基因数据进行加密处理,建立基因密文数据与安全索引之间的联系,并由数据拥有者将基因密文数据以及相应的安全索引上传至云服务器;

步骤4.生成搜索指令:用户将待检索基因序列进行分块处理,并利用编辑距离算法和公共基因序列获取待检索基因序列的编辑操作集合;用户使用数据拥有者授权的函数根值进行多次求幂运算并连同任意选择的ψ个随机数,对待检索基因序列的编辑操作集合进行扩维处理;用户使用特定哈希函数、伪随机排列、矩阵加密对扩维后的编辑操作集合中非函数根的幂值、非随机数的元素进行k次循环加密、求和、混淆以及矩阵内积操作,最终用户将生成的k个搜索指令发送给云服务器;

步骤5.查询处理:云服务器将k个搜索指令同每个基因序列的k个安全索引逐一进行内积运算并计算均值,最终云服务器将前n个大的均值所对应的基因密文返回给用户;

步骤6.数据解密:用户使用数据拥有者授权的解密密钥解密云服务器返回的密文数据,最终获取明文状态下的基因数据。

2.按权利要求1所述实现高效相似性查询和访问控制的基因数据脱敏方法,其特征在于,步骤1的具体过程为:步骤1.1系统发布不包含任何敏感信息的公共基因序列ref;

步骤1.2数据拥有者生成用于哈希函数H加密的密钥{r1,r2,...,rk},其中H加密任意数据的结果均以相等概率取值为1或-1: 其中j=1,2,...,k,χ表示任意数据;

步骤1.3数据拥有者生成用户访问数据的角色权限集合 其中δ1>2λ,λ≥128为预设值,

步骤1.4数据拥有者生成用于集合伪随机排列π混淆的密钥{sk1,sk2,...,skk};

步骤1.5数据拥有者生成用于矩阵安全内积运算所需的加密密钥:{{S1,S2,...,Sk},{M11,M12,...,M1k},{M21,M22,...,M2k}},其中{Sj}j=1,2,...,k为分裂指示向量且仅包含0、1元素,{M1j}j=1,2,...,k和{M2j}j=1,2,...,k为可逆矩阵;

步骤1.6数据拥有者生成用于对称加密原始基因数据的密钥key。

3.按权利要求1所述实现高效相似性查询和访问控制的基因数据脱敏方法,其特征在于,步骤2的具体过程为:步骤2.1数据拥有者将其拥有的基因序列{A1,A2,...,AN}进行s分块处理,其中s表示每个基因序列别分成的块数:Ai=(Ai1,Ai2,...,Ais)=(Aim)m=1,2,...,s,其中i=1,2,...,N,m=

1,2,...,s;

步骤2.2数据拥有者利用编辑距离算法以及公共基因序列ref获取每个已分块基因序列的编辑操作集合,即A′i=(A′i1,A′i2,...,A′is)=(A′im)m=1,2,...,s,其中A′im表示第i个基因序列的第m个分块在编辑距离算法以及ref的第m个分块的共同处理下得到的编辑操作集合;

步骤2.3数据拥有者从集合 为每个基因序列Ai选择角色权限并计算访问权限函数: 其中βil表示第i个基因序列的访问权限函数fi(x)的l次项系数;

步骤2.4数据拥有者为每个基因序列Ai选择ψ个随机数{γρ}ρ=1,2,...,ψ,其中γρ服从正态分布,并连同基因序列Ai访问权限函数的系数{βil}l=0,1,...,ω对A′i进行扩维处理:其中 表示A′i扩维后的向

量。

4.按权利要求1所述实现高效相似性查询和访问控制的基因数据脱敏方法,其特征在于,步骤3的具体过程为:步骤3.1数据拥有者使用特定哈希函数H对每个 中的前s项元素(A′i1,A′i2,...,A′is)逐一进行加密以及求和处理: 其中t表示A′im中的元素;数据拥有者利用对 进行置换以及扩维处理得到:

其中 表示 经过置换扩

维得到的结果;

步骤3.2数据拥有者使用伪随机排列π对每个 进行混淆,改变原始的数据分布:其中v=1,2,...,2s+ω+ψ+1;

步骤3.3数据拥有者利用Sj将每个 分裂为向量 和 其分裂规则满足:步骤3.4数据拥有者使用M1j、M2j分别对每个 进行加密处理得到每个基因序列Ai所对应的安全索引 即

步骤3.5数据拥有者重复执行k次步骤3.1至步骤3.4,最终每个基因序列Ai都对应k个安全索引步骤3.6数据拥有者使用对称密码算法加密原始基因序列{A1,A2,...,AN},获得密文基因数据 Enc表示对称密码算法的加密函数;数据拥有者建立每个密文基因数据与其安全索引之间的对应关系并将 发送给云服务器;

步骤3.7数据拥有者将公共基因序列、哈希函数加密密钥、基因数据的访问权限、集合伪随机排列密钥、矩阵安全内积加密密钥以及对称加密原始基因数据的加密密钥发送给授权用户。

5.按权利要求1所述实现高效相似性查询和访问控制的基因数据脱敏方法,其特征在于,步骤4的具体过程为:步骤4.1授权用户将待检索的基因序列Q进行s分块处理:Q=(Q1,Q2,...,Qs)=(Qm)m=1,2,...,s;授权用户利用编辑距离算法以及公共基因序列ref获取已分块基因序列Q的编辑操作集合:Q'=(Q′1,Q'2,...,Q′s)=(Q'm)m=1,2,...,s,其中Q'm表示基因序列Q的第m个分块在编辑距离算法以及ref的第m个分块的共同处理下得到的编辑操作集合;

步骤4.2授权用户选择ψ个随机数{γ'ρ}ρ=1,2,...,ψ,并连同权限η对Q'进行扩维处理:其中γ'ρ服从正态分布,η表示

数据拥有者授予的角色权限,满足 表示Q'扩维后的向量;

步骤4.3授权用户使用QN、哈希函数H对 中的前s项元素(Q′1,Q'2,...,Q′s)按特定的规则进行过滤、加密处理:其中t'表示Q'm中的元素,QN由授权用户定义、表示当前需要进行相似性查询的基因片段集合;授权用户利用 对 进行置换处理得到:其中 表示 经过置换得到的结果;

步骤4.4授权用户使用伪随机排列π对 进行混淆,改变原始的数据分布:其中v=1,2,...,2s+ω+ψ+1;

步骤4.5授权用户利用Sj将 分裂为向量 和 其分裂规则满足:步骤4.6授权用户使用M1j、M2j分别对 进行加密处理得到Q所对应的加密搜索指令

步骤4.7授权用户重复执行k次步骤4.3至步骤4.6,最终为待检索基因序列Q生成k个加密搜索指令 并将加密搜索指令 发送给云服务器。

6.按权利要求1所述实现高效相似性查询和访问控制的基因数据脱敏方法,其特征在于,步骤5的具体过程为:步骤5.1云服务器将接受到的加密搜索指令 同每个密文基因序列 所对应的安全索引 分别进行内积运算 并计算均值

步骤5.2云服务器对结果 进行过滤,若 则保留 否则丢弃其中D满足

步骤5.3云服务器将过滤后的结果 按从大到小排序, 越大, 所对应的基因序列与查询的Q的相似程度越高;最终,云服务器将前n个 所对应的基因密文数据发送给用户。

7.按权利要求1所述实现高效相似性查询和访问控制的基因数据脱敏方法,其特征在于,步骤6的具体过程为:授权用户使用对称密码算法解密云服务器返回的密文结果 即其中Dec表示对称密码算法的解密函数。

说明书 :

一种实现高效相似性查询和访问控制的基因数据脱敏方法

技术领域

[0001] 本发明属于信息安全技术领域,具体涉及一种实现高效相似性查询和访问控制的基因数据脱敏方法。

背景技术

[0002] 基因相似性查询已成为一个热门的研究领域,具有良好的医学健康应用前景。例如疾病预测,通过早期的预防治疗降低与病患有相似基因的人群的发病率。随着大数据时代的到来,庞大的基因数据量以及基因间相似度查询的计算开销,使得越来越多的公司和企业将本地的基因数据外包至第三方云服务器,如DNAnexus,Google Genomics等。然而,直接将基因数据以明文方式外包给云服务器,云服务提供商能够轻易地获取诸如基因序列、健康状况等用户敏感信息,使得用户的隐私数据存在极大的泄露隐患。
[0003] 为解决上述问题,一种简单的方式是在将基因数据外包至云服务器之前,利用传统的加密方法(比如AES)加密整个基因数据;然而,这将显著降低数据的可用性,因为云服务器无法在密文状态下执行基因相似性查询;因此,迫切需要设计出一种安全、高效且功能完备的基因数据脱敏方案。
[0004] 目前,现有的基因数据脱敏方案仅考虑密文环境下的查询效率,而忽略许多重要因素,尤其是数据的访问权限控制和个性化的查询需求(比如复杂的逻辑查询);在实际应用场景中,不同用户对基因数据可能有不同的访问权限,在进行查询时用户也可能只关注基因序列上某些特定的基因片段而不是整个序列,这就要求脱敏方案应具备完善的访问控制机制并能提供细粒度的密文查询检索方式。

发明内容

[0005] 本发明提出一种在云环境中实现高效密文相似性查询和安全访问控制的基因数据脱敏方法,其有效支持密文环境下大规模基因数据的相似性查询,同时支持复杂的逻辑查询以满足用户个性化的查询需求,该方法授权方式灵活,可对不同的数据授予不同的访问权限,并在查询过程中实现对用户的数据访问权限的可靠控制,此外,本发明采用特定的哈希函数压缩数据,显著减少密文状态下匹配的元素数量,进一步提高查询检索效率。
[0006] 为实现上述目的,本发明采用的技术方案如下:
[0007] 一种实现高效相似性查询和访问控制的基因数据脱敏方法,包括以下步骤:
[0008] 步骤1.系统初始化:系统生成公共的基因序列,数据拥有者生成用户访问数据的角色权限集合,生成用于特定哈希函数加密、集合伪随机排列以及矩阵安全内积运算所需的密钥;
[0009] 步骤2.数据预处理:数据拥有者对其拥有的全部基因序列进行分块处理;数据拥有者参照公共基因序列,利用编辑距离算法获取各分块基因序列的编辑操作集合;数据拥有者定义各基因序列的访问权限函数,并获取相应访问权限函数的系数;对于每个基因序列,数据拥有者任意选择ψ个正态分布的随机数,并连同访问权限函数的系数对相应基因序列的编辑操作集合进行维度扩增;
[0010] 步骤3.安全索引建立:数据拥有者使用特定哈希函数、伪随机排列、矩阵加密对扩维后的编辑操作集合中非函数系数、非随机数的元素进行k次循环加密、求和、混淆以及矩阵内积操作,最终每个基因序列对应k个安全索引;数据拥有者使用对称密码算法对原始基因数据进行加密处理,建立基因密文数据与安全索引之间的联系,并由数据拥有者将基因密文数据以及相应的安全索引上传至云服务器;
[0011] 步骤4.生成搜索指令:用户将待检索基因序列进行分块处理,并利用编辑距离算法和公共基因序列获取待检索基因序列的编辑操作集合;用户使用数据拥有者授权的函数根值进行多次求幂运算并连同任意选择的ψ个随机数,对待检索基因序列的编辑操作集合进行扩维处理;用户使用特定哈希函数、伪随机排列、矩阵加密对扩维后的编辑操作集合中非函数根的幂值、非随机数的元素进行k次循环加密、求和、混淆以及矩阵内积操作,最终用户将生成的k个搜索指令发送给云服务器;
[0012] 步骤5.查询处理:云服务器将k个搜索指令同每个基因序列的k个安全索引逐一进行内积运算并计算均值,最终云服务器将前n个大的均值所对应的基因密文返回给用户;
[0013] 步骤6.数据解密:用户使用数据拥有者授权的解密密钥解密云服务器返回的密文数据,最终获取明文状态下的基因数据。
[0014] 进一步的,步骤1的具体过程为:
[0015] 步骤1.1系统发布不包含任何敏感信息的公共基因序列ref;
[0016] 步骤1.2数据拥有者生成用于哈希函数H加密的密钥{r1,r2,...,rk},其中H加密任意数据的结果均以相等概率取值为1或-1: 其中j=1,2,...,k,χ表示任意数据;
[0017] 步骤1.3数据拥有者生成用户访问数据的角色权限集合 其中δ1λ
>2,λ≥128为预设值,
[0018] 步骤1.4数据拥有者生成用于集合伪随机排列π混淆的密钥{sk1,sk2,...,skk};
[0019] 步骤1.5数据拥有者生成用于矩阵安全内积运算所需的加密密钥:
[0020] {{S1,S2,...,Sk},{M11,M12,...,M1k},{M21,M22,...,M2k}},
[0021] 其中{Sj}j=1,2,...,k为分裂指示向量且仅包含0、1元素,{M1j}j=1,2,...,k和{M2j}j=1,2,...,k为可逆矩阵;
[0022] 步骤1.6数据拥有者生成用于对称加密原始基因数据的密钥key。
[0023] 进一步的,步骤2的具体过程为:
[0024] 步骤2.1数据拥有者将其拥有的基因序列{A1,A2,...,AN}进行s分块处理,其中s表示每个基因序列别分成的块数:Ai=(Ai1,Ai2,...,Ais)=(Aim)m=1,2,...,s,其中i=1,2,...,N,m=1,2,...,s;
[0025] 步骤2.2数据拥有者利用编辑距离算法以及公共基因序列ref获取每个已分块基因序列的编辑操作集合,即A′i=(A′i1,A′i2,...,A′is)=(A′im)m=1,2,...,s,其中A′im表示第i个基因序列的第m个分块在编辑距离算法以及ref的第m个分块的共同处理下得到的编辑操作集合;
[0026] 步骤2.3数据拥有者从集合 为每个基因序列Ai选择角色权限并计算访问权限函数: 其中βil表示第i个基因序列的访问权限
函数fi(x)的l次项系数;
[0027] 步骤2.4数据拥有者为每个基因序列Ai选择ψ个随机数{γρ}ρ=1,2,...,ψ,其中γρ服从正态分布,并连同基因序列Ai访问权限函数的系数{βil}l=0,1,...,ω对A′i进行扩维处理:
[0028] 其中 表示A′i扩维后的向量。
[0029] 进一步的,步骤3的具体过程为:
[0030] 步骤3.1数据拥有者使用特定哈希函数H对每个 中的前s项元素(A′i1,A′i2,...,A′is)逐一进行加密以及求和处理: 其中t表示A′im中的元素;数据拥有者利用 对 进行置换以及扩维处理得到:
[0031] 其中 表示 经过置换扩维得到的结果;
[0032] 步骤3.2数据拥有者使用伪随机排列π对每个 进行混淆,改变原始的数据分布:其中v=1,2,...,2s+ω+ψ+1;
[0033] 步骤3.3数据拥有者利用Sj将每个 分裂为向量 和 其分裂规则满足:
[0034]
[0035] 步骤3.4数据拥有者使用M1j、M2j分别对每个 进行加密处理得到每个基因序列Ai所对应的安全索引 即
[0036] 步骤3.5数据拥有者重复执行k次步骤3.1至步骤3.4,最终每个基因序列Ai都对应k个安全索引
[0037] 步骤3.6数据拥有者使用对称密码算法加密原始基因序列{A1,A2,...,AN},获得密文基因数据 Enc表示对称密码算法的加密函数;数据拥有者建立每个密文基因数据与其安全索引之间的对应关系
并将 发送给云服务器;
[0038] 步骤3.7数据拥有者将公共基因序列、哈希函数加密密钥、基因数据的访问权限、集合伪随机排列密钥、矩阵安全内积加密密钥以及对称加密原始基因数据的加密密钥发送给授权用户。
[0039] 进一步的,步骤4的具体过程为:
[0040] 步骤4.1授权用户将待检索的基因序列Q进行s分块处理:Q=(Q1,Q2,...,Qs)=(Qm)m=1,2,...,s;授权用户利用编辑距离算法以及公共基因序列ref获取已分块基因序列Q的编辑操作集合:Q'=(Q′1,Q'2,...,Q′s)=(Q'm)m=1,2,...,s,其中Q'm表示基因序列Q的第m个分块在编辑距离算法以及ref的第m个分块的共同处理下得到的编辑操作集合;
[0041] 步骤4.2授权用户选择ψ个随机数{γ'ρ}ρ=1,2,...,ψ,并连同权限η对Q'进行扩维处理:
[0042] 其中γ'ρ服从正态分布,η表示数据拥有者授予的角色权限,满足 表示Q'扩维后的向量;
[0043] 步骤4.3授权用户使用QN、哈希函数H对 中的前s项元素(Q′1,Q'2,...,Q′s)按特定的规则进行过滤、加密处理:
[0044]
[0045] 其中t'表示Q'm中的元素,QN由授权用户定义、表示当前需要进行相似性查询的基因片段集合;授权用户利用 对 进行置换处理得到:
[0046] 其中 表示 经过置换得到的结果;
[0047] 步骤4.4授权用户使用伪随机排列π对 进行混淆,改变原始的数据分布:
[0048] 其中v=1,2,...,2s+ω+ψ+1;
[0049] 步骤4.5授权用户利用Sj将 分裂为向量 和 其分裂规则满足:
[0050]
[0051] 步骤4.6授权用户使用M1j、M2j分别对 进行加密处理得到Q所对应的加密搜索指令
[0052] 步骤4.7授权用户重复执行k次步骤4.3至步骤4.6,最终为待检索基因序列Q生成k个加密搜索指令 并将加密搜索指令 发送给云服务器。
[0053] 进一步的,步骤5的具体过程为:
[0054] 步骤5.1云服务器将接受到的加密搜索指令 同每个密文基因序列 所对应的安全索引 分别进行内积运算 并计算均值
[0055] 步骤5.2云服务器对结果 进行过滤,若 则保留 否则丢弃其中D满足
[0056] 步骤5.3云服务器将过滤后的结果 按从大到小排序, 越大, 所对应的基因序列与查询的Q的相似程度越高;最终,云服务器将前n个 所对应的基因密文数据发送给用户。
[0057] 进一步的,步骤6的具体过程为:
[0058] 授权用户使用对称密码算法解密云服务器返回的密文结果 即其中Dec表示对称密码算法的解密函数。
[0059] 本发明的有益效果在于:
[0060] 本发明提供一种实现高效相似性查询和访问控制的基因数据脱敏方法,具有如下优点:1)利用KNN技术实现密文环境下基因数据的相似性查询;2)利用多项式函数实现数据的权限分配以及查询过程中对用户的数据访问权限的可靠控制;3)利用编辑距离算法,参照公共基因序列获取原始基因数据的编辑操作集合;4)利用特定的哈希函数压缩数据,提高查询检索效率;5)在数据预处理、生成搜索指令阶段引入随机数,确保中间结果的机密性;6)利用集合伪随机排列混淆数据的分布方式,进一步提高数据的安全性;7)利用向量分裂、矩阵加密技术,实现搜索指令之间的无关联性;8)利用向量分裂、矩阵加密、超递增序列技术实现密文环境下的“与”、“非”逻辑查询。

附图说明

[0061] 图1为本发明一种实现高效相似性查询和访问控制的基因数据脱敏方法的流程示意图。

具体实施方式

[0062] 下面结合附图和实施例对本发明做进一步详细说明。
[0063] 本实施例提出一种在云环境中实现高效密文相似性查询和安全访问控制的基因数据脱敏方法,其流程如图1所示,具体包括以下步骤:
[0064] 步骤1.系统初始化:系统生成公共的基因序列,数据拥有者生成用户访问数据的角色权限集合,生成用于特定哈希函数加密、集合伪随机排列以及矩阵安全内积运算所需的密钥;
[0065] 系统初始化,具体包括以下步骤:
[0066] 步骤1.1系统发布不包含任何敏感信息的公共基因序列ref,ref是编辑距离算法处理时所需的目标序列;
[0067] 步骤1.2数据拥有者生成用于哈希函数H加密的密钥{r1,r2,...,rk},其中,H加密任意数据的结果均以相等概率取值为1或-1,即 其中j=1,2,...,k,χ表示任意数据;
[0068] 步骤1.3数据拥有者生成用户访问数据的角色权限集合 其中δ1>2λ,λ≥128为预设值,
[0069] 步骤1.4数据拥有者生成用于集合伪随机排列π混淆的密钥{sk1,sk2,...,skk},其中伪随机排列π仅改变集合中元素的顺序;
[0070] 步骤1.5数据拥有者生成用于矩阵安全内积运算所需的加密密钥:
[0071] {{S1,S2,...,Sk},{M11,M12,...,M1k},{M21,M22,...,M2k}},
[0072] 其中,{Sj}j=1,2,...,k是维度为1×(2s+ω+ψ+1)的分裂指示向量且仅包含0、1元素,{M1j}j=1,2,...,k和{M2j}j=1,2,...,k是维度为(2s+ω+ψ+1)×(2s+ω+ψ+1)的可逆矩阵,ψ为每个基因序列加入的随机数个数;
[0073] 步骤1.6数据拥有者生成用于对称加密原始基因数据的密钥key;
[0074] 步骤2数据预处理:数据拥有者对其拥有的全部基因序列进行分块处理;数据拥有者参照公共基因序列,利用编辑距离算法获取各分块基因序列的编辑操作集合;数据拥有者定义各基因序列的访问权限函数,并获取相应访问权限函数的系数;对于每个基因序列,数据拥有者任意选择ψ个正态分布的随机数,并连同访问权限函数的系数对相应基因序列的编辑操作集合进行维度扩增。数据预处理,具体包括以下步骤:
[0075] 步骤2.1数据拥有者将其拥有的基因序列{A1,A2,...,AN}进行s分块处理,其中,s表示每个基因序列被分成的块数,即Ai=(Ai1,Ai2,...,Ais)=(Aim)m=1,2,...,s,其中i=1,2,...,N,m=1,2,...,s;
[0076] 步骤2.2数据拥有者利用编辑距离算法以及公共基因序列ref获取每个已分块基因序列的编辑操作集合,即A′i=(A′i1,A′i2,...,A′is)=(A′im)m=1,2,...,s,其中A′im表示第i个基因序列的第m个分块在编辑距离算法以及ref的第m个分块的共同处理下得到的编辑操作集合;
[0077] 步骤2.3数据拥有者从集合 为基因序列Ai选择角色权限并计算访问权限函数,即 其中βil表示第i个基因序列的访问权限函
数fi(x)的l次项系数;
[0078] 步骤2.4数据拥有者为基因序列Ai选择ψ个随机数{γρ}ρ=1,2,...,ψ,其中γρ服从正态分布,并连同基因序列Ai访问权限函数的系数{βil}l=0,1,...,ω对A′i进行扩维处理,即其中 表示A′i扩维后的向量,维度为1×(s+ω+ψ+1);
[0079] 步骤3安全索引建立:数据拥有者使用特定哈希函数、伪随机排列、矩阵加密对扩维后的编辑操作集合中非函数系数、非随机数的元素进行k次循环加密、求和、混淆以及矩阵内积操作,最终每个基因序列对应k个安全索引;数据拥有者使用对称密码算法对原始基因数据进行加密处理,建立基因密文数据与安全索引之间的联系,并由数据拥有者将基因密文数据以及相应的安全索引上传至云服务器。安全索引建立,具体包括以下步骤:
[0080] 步骤3.1数据拥有者使用特定哈希函数H对每个 中的前s项元素(A′i1,A′i2,...,A′is)逐一进行加密以及求和处理,即 其中t表示A′im中的元素;数据拥有者利用 对 进行置换以及扩维处理得到:
[0081] 其中 表示 经过置换扩维得到的结果,维度为1×(2s+ω+ψ+1);
[0082] 步骤3.2数据拥有者使用伪随机排列π对每个 进行混淆,改变原始的数据分布,即 其中v=1,2,...,2s+ω+ψ+1;
[0083] 步骤3.3数据拥有者利用Sj将每个 分裂为向量 和 维度均为1×(2s+ω+ψ+1),其分裂规则满足:
[0084]
[0085] 步骤3.4数据拥有者使用M1j、M2j分别对每个 进行加密处理得到每个基因序列Ai所对应的安全索引 即
[0086] 步骤3.5数据拥有者重复执行k次步骤3.1至步骤3.4,最终每个基因序列Ai都对应k个安全索引
[0087] 步骤3.6数据拥有者使用对称密码算法加密原始基因序列{A1,A2,...,AN},获得密文基因数据 即 Enc表示对称密码算法的加密函数;数据拥有者建立每个密文基因数据与其安全索引之间的对应关系
并将 发送给云服务器;
[0088] 步骤3.7数据拥有者将公共基因序列、哈希函数加密密钥、基因数据的访问权限、集合伪随机排列密钥、矩阵安全内积加密密钥以及对称加密原始基因数据的加密密钥发送给授权用户。
[0089] 步骤4生成搜索指令:用户将待检索基因序列进行分块处理,并利用编辑距离算法和公共基因序列获取待检索基因序列的编辑操作集合;用户使用数据拥有者授权的函数根值进行多次求幂运算并连同任意选择的ψ个随机数,对待检索基因序列的编辑操作集合进行扩维处理;用户使用特定哈希函数、伪随机排列、矩阵加密对扩维后的编辑操作集合中非函数根的幂值、非随机数的元素进行k次循环加密、求和、混淆以及矩阵内积操作,最终用户将生成的k个搜索指令发送给云服务器。生成搜索指令,具体包括以下步骤:
[0090] 步骤4.1授权用户将待检索的基因序列Q进行s分块处理,基因序列别分成的块数,即Q=(Q1,Q2,...,Qs)=(Qm)m=1,2,...,s;授权用户利用编辑距离算法以及公共基因序列ref获取已分块基因序列Q的编辑操作集合,即Q'=(Q′1,Q'2,...,Q′s)=(Q'm)m=1,2,...,s,其中Q'm表示基因序列Q的第m个分块在编辑距离算法以及ref的第m个分块的共同处理下得到的编辑操作集合;
[0091] 步骤4.2授权用户选择ψ个随机数{γ'ρ}ρ=1,2,...,ψ,并连同权限η对Q'进行扩维处理,即 其中γ'ρ服从正态分布,η表示数据拥有者授予的角色权限,满足 表示Q'扩维后的向量,维度为
1×(s+ω+ψ+1);
[0092] 步骤4.3授权用户使用QN、哈希函数H对 中的前s项元素(Q′1,Q'2,...,Q′s)按特定的规则进行过滤、加密处理:
[0093]
[0094] 其中t'表示Q'm中的元素,QN由授权用户定义,表示当前需要进行相似性查询的基因片段集合;授权用户利用 对 进行置换处理得到:
[0095] 其中 表示 经过置换得到的结果,维度为1×(2s+ω+ψ+1);
[0096] 步骤4.4授权用户使用伪随机排列π对 进行混淆,改变原始的数据分布,即其中v=1,2,...,2s+ω+ψ+1;
[0097] 步骤4.5授权用户利用Sj将 分裂为向量 和 维度均为1×(2s+ω+ψ+1),其分裂规则满足:
[0098]
[0099] 步骤4.6授权用户使用M1j、M2j分别对 进行加密处理得到Q所对应的加密搜索指令 即
[0100] 步骤4.7授权用户重复执行k次步骤4.3至步骤4.6,最终为待检索基因序列Q生成k个加密搜索指令 并将加密搜索指令 发送给云服务器。
[0101] 步骤5查询处理:云服务器将k个搜索指令同每个基因序列的k个安全索引逐一进行内积运算并计算均值,最终云服务器将前n个大的均值所对应的基因密文返回给用户。查询处理,具体包括以下步骤:
[0102] 步骤5.1云服务器将接受到的加密搜索指令 同每个密文基因序列 所对应的安全索引 分别进行内积运算 并计算均值
[0103] 步骤5.2云服务器对结果 进行过滤,若 则保留 否则丢弃其中D满足
[0104] 步骤5.3云服务器将过滤后的结果 按从大到小排序, 越大, 所对应的基因序列与查询的Q的相似程度越高;最终,云服务器将前n个 所对应的基因密文数据发送给用户。
[0105] 步骤6数据解密:用户使用数据拥有者授权的解密密钥解密云服务器返回的密文数据,最终获取明文状态下的基因数据。数据解密,具体包括以下步骤:
[0106] 授权用户使用对称密码算法解密云服务器返回的密文结果 即其中Dec表示对称密码算法的解密函数。
[0107] 以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。