基于量子模糊承诺的指纹生物特征认证方法转让专利

申请号 : CN201210258629.7

文献号 : CN102750529B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曹东朱成

申请人 : 南京邮电大学

摘要 :

本发明公开了一种基于量子模糊承诺的指纹生物特征认证方法,包括注册阶段和认证阶段,在注册阶段首先利用无需自对偶约束的量子纠错码空间构建模糊承诺集产生承诺阶段所需的码字,并对其施加用于模糊证明的加噪变换,然后构造了一种量子哈希算法,对随机量子序列进行混淆扩散后加密,实现信息论意义上的一次一密安全;在认证阶段采用量子模糊承诺打开模糊承诺集,从而获得密钥解密随机消息。本发明在纠缠辅助量子纠错码的基础上,结合量子哈希算法构造一类新的量子模糊承诺体制,相比于其它同类指纹认证方法在生物特征数据的存储安全方面和认证安全方面都具有显著的优越性,并且可以提高量子生物识别性能与生物模板信息存储与传输的安全性。

权利要求 :

1.一种基于量子模糊承诺的指纹生物特征认证方法,其特征在于,包括以下步骤:步骤一、指纹生物特征注册阶段,具体步骤如下:

步骤(1),采集用户指纹特征图像,对用户指纹特征图像进行预处理、二值化后得到与纠缠辅助量子纠错码的码字同构的用户注册指纹样本|φ>,该样本|φ>为正交基{|0>,|1>}上的n位量子比特序列,其中n为正整数;

步骤(2),随机选取正交基{|0>,|1>}上的k位量子比特序列|kj>,计算机系统通过纠缠辅助量子纠错码将该量子比特序列|kj>编码为 该码字 是正交基{|0>,|1>}上与样本|φ>同长度的量子比特序列,且其中量子比特|1>总数大于纠缠辅助量子纠错码的纠错能力t,其中k、j均为正整数,下标L为逻辑态logic;

步骤(3),构造模糊承诺集{QHe(|kj>),Δe},具体如下:n m

a,将量子哈希函数QHe:{|0>,|1>} →{|0>,|1>} 作用于量子比特序列|kj>得到量子散列值QHe(|kj>),其中m为正整数;所述量子散列值QHe(|kj>)的计算步骤具体如下:首先,构造运算如下: 其中,|ck-i+1>=(|ai>⊕|bk-i+1>);

|a>,|b>∈{|0>,|1>};

其次,构造变换G[·]作用于量子比特序列|kj>实施混淆扩散得到新的k位量子比特序列2

接着,构造如下算子集{Puv}={I00,X01,Y10,Z11},其中下标uv∈GF(2),I是等同算子,X、2

Y和Z分别是Pauli算子,以量子比特序列|kj>一一映射到扩域GF(2)上的序列ζ作为密钥,根据该密钥从算子集{Puv}中选择对应算子,对G[|kj>]实施变换最后,得到量子散列值

b,将用户注册指纹样本|φ>作为承诺证明,计算纠缠辅助量子纠错码的任意错误算子E1,E2,…Ei,…,Eτ∈Ee作用承诺证明|φ>得到模糊证明集:{E1|φ>,E2|φ>,…,Ei|φ>,…,Eτ|φ>};其中,Ee代表错误算子集合,i、τ均为正整数,τ代表错误算子的总数;

c,计算承诺证明|φ>与步骤(2)所述编码后的量子比特序列 的广义模糊距离Δe为纠缠辅助量子纠错码中的广义模糊距离;

d,采用量子散列值QHe(|kj>)、广义模糊距离Δe构成模糊承诺集{QHe(|kj>),Δe};

步骤(4),由密钥生成算法KeyGen(|kj>)计算得到密钥对{PriK(|kj>),PubK(|kj>)},然后将{PriK(|kj>),PubK(|kj>)}∪{QHe(|kj>),Δe}作为用户注册信息集存储在认证方计算机系统中;其中,PriK(|kj>)、PubK(|kj>)分别表示密钥生成算法KeyGen(|kj>)根据种子|kj>生成的私钥和公钥;

步骤二:认证阶段,具体实施步骤如下:

步骤(5),用户提供认证指纹样本|φ′>给认证方计算机系统,认证方计算机系统尝试打开模糊承诺集{QHe(|kj>),Δe};如果打开成功,则获得量子比特序列|kj>,如果打开失败则返回继续提供认证指纹样本,持续若干次失败中止认证;所述认证方计算机系统尝试打开模糊承诺集{QHe(|kj>),Δe}的具体步骤如下:步骤B1,用户方提供模糊证明集中的元素Ei|φ>作为模糊证明和待承诺量子比特序列|kj>一起发送给认证方计算机系统;

步骤B2,认证方计算机系统首先计算模糊码字FCi=De(Ei|φ>,Δe),接着计算其中a,b是GF(2)上的l维向量,a1,a2是GF(2)上的C维向量,l、C均为正整数, 为酉算子,函数α(),β()满足如下固定的映射关系:{0,1}l×{0,1}C×{0,1}C→{0,1}k;

其中,DecEA()为纠缠辅助量子纠错码译码算法, I是等同

算子,X和Z分别是Pauli算子;

步骤B3,计算散列值 对比散列值 与QHe(|kj>):如果

则认证方计算机系统打开用户方的模糊承诺集{QHe(|kj>),Δe};否则,认证方计算机系统拒绝打开用户方的模糊承诺集{QHe(|kj>),Δe};

步骤(6)利用量子比特序列|kj>从密钥生成算法KeyGen(|kj>)获得密钥对{PriK(|kj>),PubK(|kj>)};

步骤(7),认证方计算机系统发送给用户方一个随机消息Messa,用户方利用获得的私钥PriK(|kj>)对该随机消息Messa实施签名Decry[PriK(|kj>),Messa]=ξ并提交认证方计算机系统;其中Decry[PriK(|kj>),Messa]表示利用私钥PriK(|kj>)解密消息Messa;

步骤(8),认证方计算机系统采用加密算法Encry[·]对比验证Encry[PubK(|kj>),ξ]与随机消息Messa是否相同,若完全相同则验证通过,其中Encry[PubK(|kj>),ξ]表示利用公钥PubK(|kj>)对消息ξ加密。

说明书 :

基于量子模糊承诺的指纹生物特征认证方法

技术领域

[0001] 本发明涉及量子模糊承诺与指纹生物特征认证的构造方法,属于数据库安全与生物认证技术领域。

背景技术

[0002] 模糊承诺最早由Juels A等人提出,在模糊承诺中,承诺者对承诺比特做哈希,并且承诺的内容(比特形式)和承诺证明模2加,把这两个结果提供给接收者;打开阶段提交的承诺证明不必和承诺阶段的证明完全相同,两者可以是某种尺度上(比如汉明距离等)的相似值即可,接收者仍可以据此成功打开承诺并且确保绑定性。与比特承诺有着明显的区别,模糊承诺以其优异的属性在许多领域有着广泛应用。既要满足隐蔽性和绑定性,又能够以不同的承诺证明打开承诺,这种看似矛盾的约束条件因巧妙利用纠错码和密码学理论而得到完美统一。模糊承诺方案由于其承诺证明的模糊特性,被广泛应用于生物识别等安全验证系统中。Emanuele M等人提出模糊承诺的签名模板保护算法,依据二值化签名算法提出一种可靠签名性状的选择步骤。基于人类感知模型,比较分析了感知哈希的应用模式和评测基准等方面的问题。Emile J C K等人研究了针对模糊承诺策略中如何阻止基于交叉匹配的可译码攻击,安全性基于经典哈希算法。
[0003] 上述模糊承诺算法都是基于经典编码和经典密码方案的构造,对生物特征模板施以经典算法变换和处理。对于算法在后量子密码时代(post-quantum cryptography)的安全性没有作相应的分析和评估。遗憾的是,目前广泛使用的公钥密码体系比如RSA公钥密码、EIGamal公钥密码、Diffie-Hellman密钥交换以及相应哈希算法等等密码体制,在量子算法攻击下被证明是不安全的,因此经典模糊承诺的安全性受到严重威胁。
[0004] 量子纠错码的译码问题被剑桥学者Hsieh等人证明是NP问题,信息处理过程可抵抗量子计算环境下的量子傅立叶取样攻击;作为一种生物识别的应用,生物统计学中的指纹消息本身在不同时间的样本就可能含有偏差。比如指纹采样方法或部位的不同导致的差异,所以在给消息添加冗余(即编码)存储模板的这种方法就不是太适用。

发明内容

[0005] 本发明所要解决的技术问题是针对背景技术的缺陷,提出一种基于量子模糊承诺的指纹生物特征认证方法,在量子模糊承诺和非对称密码算法基础上实现基于指纹生物特征的注册和认证。
[0006] 本发明为解决上述技术问题采用以下技术方案:
[0007] 一种基于量子模糊承诺的指纹生物特征认证方法,包括以下步骤:
[0008] 步骤一、指纹生物特征注册阶段,具体步骤如下:
[0009] 步骤(1),采集用户指纹特征图像,对用户指纹特征图像进行预处理、二值化后得到与纠缠辅助量子纠错码的码字同构的用户注册指纹样本|φ>,该样本|φ>为正交基{|0>,|1>}上的n位量子比特序列,其中n为正整数;
[0010] 步骤(2),随机选取正交基{|0>,|1>}上的k位量子比特序列|kj>,计算机系统通过纠缠辅助量子纠错码将该量子比特序列|kj>编码为 该码字 是正交基{|0>,|1>}上与样本|φ>同长度的量子比特序列,且其中量子比特|1>总数大于纠缠辅助量子纠错码的纠错能力t,其中k、j均为正整数,下标L为逻辑态logic;
[0011] 步骤(3),构造模糊承诺集{QHe(|kj>),△e},具体如下:n m
[0012] a,将量子哈希函数QHe:{|0>,|1>} →{|0>,|1>} 作用于量子比特序列|kj>得到量子散列值QHe(|kj>),其中m为正整数;
[0013] b,将用户注册指纹样本|φ>作为承诺证明,计算纠缠辅助量子纠错码的任意错误算子E1,E2,…Ei,…,Eτ∈Ee作用承诺证明|φ得到模糊证明集:{E1|φ>,E2|φ>,…,Ei|φ>,…,Eτ|φ>};其中,Ee代表错误算子集合,i、τ均为正整数,τ代表错误算子的总数;
[0014] c,计算承诺证明|φ>与步骤(2)所述编码后的量子比特序列 的广义模糊距离 △e为纠缠辅助量子纠错码中的广义模糊距离;
[0015] d,采用量 子散列值QHe(|kj>)、广义 模糊距离 △e构成 模糊承诺 集{QHe(|kj>),△e};
[0016] 步 骤 (4),由 密 钥 生 成 算 法 KeyGen(|kj>) 计 算 得 到 密 钥 对{PriK(|kj>),PubK(|kj>)},然后将{PriK(|kj>),PubK(|kj>)}∪{QHe(|kj>),△e}作为用户注册信息集存储在认证方计算机系统中;其中,PriK(|kj>)、PubK(|kj>)分别表示密钥生成算法KeyGen(|kj>)根据种子|kj>生成的私钥和公钥;
[0017] 步骤二:认证阶段,具体实施步骤如下:
[0018] 步骤(5),用户提供认证指纹样本|φ′>给认证方计算机系统,认证方计算机系统尝试打开模糊承诺集{QHe(|kj>),△e};如果打开成功,则获得量子比特序列|kj>,如果打开失败则返回继续提供认证指纹样本,持续若干次失败中止认证;
[0019] 步骤(6)利用量子比特序列|kj>从密钥生成算法KeyGen(|kj>)获得密钥对{PriK(|kj>),PubK(|kj>)};
[0020] 步骤(7),认证方计算机系统发送给用户方一个随机消息Messa,用户方利用获得的私钥PriK(|kj>)对该随机消息Messa实施签名Decry[PriK(|kj>),Messa]=ξ并提交认证方计算机系统;其中Decry[PriK(|kj>),Messa]表示利用私钥PriK(|kj>)解密消息Messa;
[0021] 步骤 (8),认 证 方 计 算机 系 统 采 用加 密 算 法Encry[·]对 比 验证Encry[PubK(|kj>),ξ]与随机消息Messa是否相同,若完全相同则验证通过,其中Encry[PubK(|kj>),ξ]表示利用公钥PubK(|kj>)对消息ξ加密。
[0022] 进一步,本发明的一种基于量子模糊承诺的指纹生物特征认证方法,步骤二的子步骤(5)中所述认证方计算机系统尝试打开模糊承诺集{QHe(|kj>),△e}的具体步骤如下:
[0023] 步骤B1,用户方提供模糊证明集中的元素Ei|φ>作为模糊证明和待承诺量子比特序列|kj>一起发送给认证方计算机系统;
[0024] 步骤B2,认证方计算机系统首先计算模糊码字FCi=De(Ei|φ>,△e),接着计算[0025]
[0026]
[0027] 其中a,b是GF(2)上的l维向量,a1,a2是GF(2)上的C维向量,l、C均为正整数,为酉算子,函数α(),β()满足如下固定的映射关系:l C C k
[0028] {0,1}×{0,1}×{0,1} →{0,1} ;
[0029] 其中,DecEA()为纠缠辅助量子纠错码译码算法, I是等同算子,X和Z分别是Pauli算子;
[0030] 步骤B3,计算散列值 对比散列值 与QHe(|kj>):如果则认证方计算机系统打开用户方的模糊承诺集{QHe(|kj>),△e};否则,认证方计算机系统拒绝打开用户方的模糊承诺集{QHe(|kj>),△e}。
[0031] 进一步,本发明的一种基于量子模糊承诺的指纹生物特征认证方法,步骤一的步骤(3)之步骤a中所述量子散列值QHe(|kj>)的计算步骤具体如下:
[0032] 首先,构造运算如下: 其中,|a>,|b>∈{|0>0,1};
[0033] 其次,构造变换G[·]作用于量子比特序列|kj>实施混淆扩散得到新的k位量子比特序列
[0034] 接着,构造如下算子集{Puv}={I00,X01,Y10,Z11},其中下标uv∈GF(22),I是等同算2
子,X、Y和Z分别是Pauli算子,以量子比特序列|kj>一一映射到扩域GF(2)上的序列ζ作为密钥,根据该密钥从算子集{Puv}中选择对应算子,对G[|kj>]实施变换
[0035]
[0036] 最后,得到量子散列值
[0037] 本发明采用以上技术方案与现有技术相比,具有以下技术效果:
[0038] 本发明在纠缠辅助量子纠错码和量子哈希函数基础上构造一种新的量子模糊承诺方案,基于量子计算环境下模糊承诺的安全,对生物特征先做量子化处理再作模糊距离变换后存储,较之其他同类算法的加密或经典哈希方法,既加强了生物特征信息的隐私安全保护性,又提高了验证过程的灵活性,在生物特征数据的存储安全方面和认证安全方面都具有显著的优越性,并且可以提高量子生物识别性能与生物模板信息存储与传输的安全性。

附图说明

[0039] 图1是本发明的注册阶段流程示意图。
[0040] 图2是本发明的认证阶段流程示意图。
[0041] 图3是本发明的构建量子哈希算法步骤中构造半交换门的示意图。

具体实施方式

[0042] 下面结合附图对本发明的技术方案做进一步的详细说明:
[0043] 本发明在纠缠辅助量子纠错码的基础上,结合量子哈希算法构造一类新的量子模糊承诺体制。首先利用无需自对偶约束的量子纠错码空间构建模糊承诺集产生承诺阶段所需的码字,并对其施加用于模糊证明的加噪变换,可以有效抵抗量子傅立叶取样攻击。然后构造了一种量子哈希算法,对随机量子序列进行混淆扩散后加密,实现信息论意义上的一次一密安全。据此构建的量子模糊承诺体制可有效抵抗量子图灵机攻击。本发明不是将承诺信息作为信源消息进行编码,而是直接将不同个体生物特征对应到已构建的量子码字空间中的元素。可基于稳定子量子纠错码和纠缠辅助量子纠错码构造。
[0044] 稳定子量子纠错码(包括CSS码)是对一类经典码的量子化构造,这类经典码必须满足对偶包含约束。这类约束条件对于短码情况下不难满足,但是对于高效率编码(比如Turbo码、LDPC码等等码长较长的线性码)的量子化构造障碍较大。结合辅助纠缠的方法可以有效地解决了这一困难,对于非对易稳定子群可以被嵌入到更大的空间而满足对易,无需满足对偶包含约束,就可以构造符合量子码空间定义的量子纠错码。该方法有效推广了量子码的构造法,即自正交经典码构造标准量子码,非自正交经典码构造纠缠辅助码。鉴于纠缠辅助量子纠错码的显著优点和广泛的应用价值,下面基于纠缠辅助量子码构造量子模糊承诺。
[0045] 设群S={Siso,Ssym}即由子群Siso和Ssym构造,两子群规模分别为2n-k-c和22c。发送方和接收方之间共享c个最大纠缠态(纠缠比特) 发送方利用纠缠辅助形式编码k量子比特消息 到码长n的纠缠辅助码:
[0046]
[0047] 状态|0>表示l=(n-k-c)辅助量子比特,其中幺正矩阵U满足S0U=USS0={S0_iso,S0_sym},S0_iso={Z1,…,Zl},S0_sym={Zl+1, …,Zl+c,Xl+1, …Xl+c}(2) 构 成 码 空 间kj=1,2,3,…,2。纠缠辅助码可纠错误集Ee,对于所
有Ea,Eb∈Ee,
[0048] 本发明提出一种基于量子模糊承诺的指纹生物特征认证方法,包括注册阶段和认证阶段,其中,注册阶段如图1所示,具体实施步骤如下:
[0049] 步骤一:采集指纹特征图像进行预处理,在此过程中采用信源编码去冗余、考虑高灰度等级提高图像精度,简化处理方法是将指纹图像从左到右从上到下按照二值图像黑点对应|1>白点对应|0>构建量子比特序列表示二维图像,其中|1>和|0>分布代表互相正交的两个量子态,比如光子水平偏振态和竖直偏振态。
[0050] 步骤二:接着与纠缠辅助量子纠错码字空间中的码字对照。选择空间中最接近的码字对应采样样本,以该码字取代采样样本作为模糊承诺信息。
[0051] 步骤三,具体又分为以下子步骤:
[0052] (1)用户随机选取正交基{|0>,|1>}上的k位量子比特序列|kj>,系统通过纠缠辅助量子纠错码编码为 认证系统计算量子散列QHe(|kj>);
[0053] (2)用户提供注册指纹样本|φ>,由上述条件可知,该样本是正交基{|0>,|1>}上与码字 同长度的n量子比特序列,且其中量子比特|1>总数(重量)大于纠缠辅助量子纠错码纠错能力t。认证系统计算 构造模糊承诺集{QHe(|kj>),△e};
[0054] (3)构造密钥生成算法和加解密算法:
[0055]
[0056] 表示密钥生成算法KeyGen(|ψ>)根据种子|ψ>生成的私钥PriK(|ψ>)和公钥PubK(|ψ>)。
[0057]
[0058] 表示加密算法Encry[·]利用公钥PubK(|ψ>)对消息 加密。
[0059] Decry[PriK(|ψ>),Messa] (5)
[0060] 表示解密算法Decry[·]利用私钥PriK(|ψ>)解密消息Messa。
[0061] 步骤四:认证系统计算 然后存储用户注册信息集{PriK(|kj>),PubK(|kj>)}∪{QHe(|kj>),△e}。
[0062] 认证阶段,如图2所示,具体实施步骤如下:
[0063] (1)用户提供认证指纹样本|φ′>(与注册时样本同源但必然有细微差异),尝试打开模糊承诺{QHe(|kj>),△e};
[0064] (2)如果成功打开承诺则获得|kj>,如果失败则回到第一步,持续数次失败中止认证。
[0065] (3)利用|kj>从KeyGen(|kj>)获得{PriK(|kj>),PubK(|kj>)};
[0066] (4)认证系统发送给用户一个随机消息Messa,用户利用获得的私钥PriK(|kj>)对该消息实施签名Decry[PriK(|kj>),Messa]=ξ并提交认证系统;
[0067] (5)系统对比验证Encry[PubK(|kj>),ξ]与Messa,完全相同则验证通过。
[0068] 上述步骤中的量子散列算法QHe(|kj>)具体构造方法如下:
[0069] 类似于经典哈希算法的首要要求是单向函数特性,在量子计算环境下,量子测量可以使量子态发生塌陷并且是一个不可逆过程,但是不适宜用于构造量子哈希函数。因为量子测量往往是对量子比特作正交化投影,导致的塌陷必然使得量子信息的丢失,而且这种信息丢失是不可预期的,会存在大量不同初始量子态经测量后塌陷到相同末态,这是发生了我们最不愿看到的所谓哈希碰撞。因此,类似于在经典哈希算法构造中有一大类是基n m于对称密码算法的,构造的映射关系H:{0,1} →{0,1} 中,令n=m(一般情况下是压缩映射,即n>m),可以最大程度上避免碰撞发生。
[0070] 我们构造如下量子哈希算法,如图3构造半交换门(Semi-Swap)。图3中的半交换门可以写成如下表达形式: 其中,|a>,|b>∈{|0>,|1>}。构 造变换 G[·],作用 于量子 比特序列
|kj>实施混淆扩散得到新的k量子比特序列 接着构造如下算子集
2
{Puv}={I00,X01,Y10,Z11},其中下标uv∈GF(2),I是等同算子,X、Y和Z是Pauli算子。以
2
序列|kj>一一映射到扩域GF(2)上的序列ζ作为密钥,根据密钥从算子集{Puv}中选择对应算子,对G[|kj>]实施变换
[0071]
[0072] 综合上面的所有变换过程,即得到量子哈希值
[0073] 整个哈希过程首先是对序列|kj>实施混淆扩散,然后是利用序列|kj>确定密钥选择{Puv}中的算子分别对置乱 逐位变换,实现等长加密,采用的密钥来自序列|kj>本身,对于攻击者来说,即使算法公开,可是密钥未知由序列|kj>决定,序列|kj>是在每次注册阶段随机产生的,该加密过程的安全性类似于经典环境的一次一密密码,所以最后得到的哈希值的存储是安全的。
[0074] 上述步骤中的量子模糊承诺采用纠缠辅助量子纠错码构造,包括承诺阶段和打开阶段,具体构造方法如下:
[0075] 承诺阶段:发送方随机选择k位量子比特序列|kj>(根据正交基{|0>,|1>}上)通过纠缠辅助量子纠错码编码为 (码集 )。|kj>作为待承诺量子比特序列。发送方根据量子哈希函数QHe:{|0>,|1>}n→{|0>,|1>}m作用于承诺比特|kj>得QHe(|kj>)。选择与码字同构的量子伪码字|φ>作为承诺证明,计算任意错误算子E1,E2,…Ei,…,Eτ∈Ee作用|φ>得到模糊集
[0076] {E1|φ>,E2|φ>,…,Ei|φ>,…,Eτ|φ>} (7)
[0077] |φ与 的广义模糊距离 发送方发送承诺{QHe(|kj>),△e}给接收方。
[0078] 打开阶段:发送方选择模糊集中的元素Ei|φ>(表示为△′e)作为模糊证明和承诺信息|kj>一起发送给接收方。接受者接收方首先计算模糊码字FCi=De(Ei|φ>,△e),接着计算
[0079]
[0080]
[0081] 其中DecEA()为纠缠辅助码译码算法,
[0082] 然后计算散列值:
[0083]
[0084] 对比如果 那么接收承诺|kj>,否则拒绝发送方的承诺。
[0085] 计算散列值 的过程参照前述量子散列算法QHe(|kj>)具体构造方法。
[0086] 本方法的优点是不直接存储用户生物特征信息(指纹),因此攻击者即使能够进入数据库也不能获得用户生物特征信息。也没有直接利用指纹作为唯一认证信息,而是作为模糊密钥使用,不用担心密钥更换的风险,极大降低密钥管理复杂度。