发明名称 一种基于指纹特征生成密钥的方法
摘要 本发明涉及一种基于指纹特征生成密钥的方法。本发明包括用户指纹注册阶段和指纹密钥重生阶段,用户指纹注册阶段包括提取用户的指纹二维图像;利用Radon变换生成不同的一维向量;进行<img file="2013101264515100004DEST_PATH_IMAGE002.GIF" wi="16" he="16" />阶离散傅立叶变换和二进制指纹密钥的提取。指纹密钥重生阶段包括提取查询用户的指纹二维图像,采用与注册阶段相同的一些步骤得到最高重量的<img file="192199DEST_PATH_IMAGE002.GIF" wi="16" he="16" />个比特组成的比特串。本发明的指纹特征可以真正地作为密钥使用,并且将密钥与用户身份绑定在一起。而安全性是基于指纹的唯一性,也就说用户指纹未被泄露。
申请公布号 CN103258156A 申请公布日期 2013.08.21
申请号 CN201310126451.5 申请日期 2013.04.11
申请人 杭州电子科技大学 发明人 游林;范萌生;王升国
分类号 G06F21/32(2013.01)I;G06K9/00(2006.01)I 主分类号 G06F21/32(2013.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1.一种基于指纹特征生成密钥的方法,其特征在于该方法包括用户指纹注册阶段和生物密钥重生阶段;所述的用户指纹注册阶段具体如下:步骤1.提取用户的指纹二维图像,图像归一化,做指纹图像预处理,得到保持指纹特征信息的二值图像,该二值图像记作<img file="DEST_PATH_IMAGE002.GIF" wi="29" he="21" />;步骤2.图像<img file="554275DEST_PATH_IMAGE002.GIF" wi="29" he="21" />以不同的旋转角度,利用Radon变换生成不同的一维向量;一维向量首先用其元素的最大模进行归一化,再去掉均值;归一化后的一维向量记作<img file="DEST_PATH_IMAGE004.GIF" wi="40" he="25" />,<img file="DEST_PATH_IMAGE006.GIF" wi="121" he="22" />;<img file="DEST_PATH_IMAGE008.GIF" wi="20" he="20" />是要求生成生物密钥的比特长度;而<img file="DEST_PATH_IMAGE010.GIF" wi="37" he="25" />代表第<img file="DEST_PATH_IMAGE012.GIF" wi="10" he="18" />次迭代的输入向量;步骤3.计算<img file="808408DEST_PATH_IMAGE010.GIF" wi="37" he="25" />的<img file="299870DEST_PATH_IMAGE008.GIF" wi="20" he="20" />阶离散傅立叶变换获得频谱<img file="DEST_PATH_IMAGE014.GIF" wi="42" he="25" />,频谱大小为<img file="DEST_PATH_IMAGE016.GIF" wi="48" he="28" />;<img file="DEST_PATH_IMAGE018.GIF" wi="14" he="20" />为频谱的频率值,<img file="DEST_PATH_IMAGE020.GIF" wi="86" he="20" />;傅里叶变换的结果是对称的,舍掉重复的那部分,取前面那一半幅值,后面舍弃的一半用0补上;这样变换就成为不可逆的,得到实序列:<img file="DEST_PATH_IMAGE022.GIF" wi="233" he="52" />;步骤4.对<img file="DEST_PATH_IMAGE024.GIF" wi="38" he="25" />计算<img file="156706DEST_PATH_IMAGE008.GIF" wi="20" he="20" />阶离散傅立叶变换获得频谱<img file="DEST_PATH_IMAGE026.GIF" wi="37" he="25" />,然后计算双频谱:<img file="DEST_PATH_IMAGE028.GIF" wi="213" he="26" />,其中<img file="DEST_PATH_IMAGE030.GIF" wi="12" he="18" />代表复数共轭运算,双频谱保留相位信息;<img file="DEST_PATH_IMAGE032.GIF" wi="17" he="25" />,<img file="DEST_PATH_IMAGE034.GIF" wi="18" he="25" />都是指频谱的频率值,取值范围为<img file="DEST_PATH_IMAGE036.GIF" wi="61" he="22" />;双频谱都是具有非零虚部的复数向量,且是非对称的;步骤5.在双频率平面内,第<img file="943789DEST_PATH_IMAGE012.GIF" wi="10" he="18" />次将双频谱沿径向积分运算得到一组离散序列记为:<img file="DEST_PATH_IMAGE038.GIF" wi="174" he="38" />,其中<img file="DEST_PATH_IMAGE040.GIF" wi="102" he="42" />,<img file="DEST_PATH_IMAGE042.GIF" wi="14" he="16" />是双频率<img file="DEST_PATH_IMAGE044.GIF" wi="49" he="25" />空间内的斜率;将积分后的<img file="DEST_PATH_IMAGE046.GIF" wi="45" he="42" />作为下次迭代的输入,即<img file="DEST_PATH_IMAGE048.GIF" wi="102" he="42" />;步骤6.计算迭代前后输入的差值与前一次迭代输入的内积,将得到复值:<img file="DEST_PATH_IMAGE050.GIF" wi="302" he="46" />,其中<img file="DEST_PATH_IMAGE052.GIF" wi="18" he="18" />代表差值,<img file="DEST_PATH_IMAGE054.GIF" wi="22" he="18" />是<img file="355441DEST_PATH_IMAGE052.GIF" wi="18" he="18" />的幅值和<img file="DEST_PATH_IMAGE056.GIF" wi="18" he="17" />是<img file="405306DEST_PATH_IMAGE052.GIF" wi="18" he="18" />的相位,两个放在一起可以生成一个幅值/相位矩阵<img file="DEST_PATH_IMAGE058.GIF" wi="60" he="28" />;步骤7.二进制生物密钥的提取;<img file="694860DEST_PATH_IMAGE054.GIF" wi="22" he="18" />,<img file="84253DEST_PATH_IMAGE056.GIF" wi="18" he="17" />二进制化利用统计学特性判定是否是所需要的比特位,并按照最希望得到的到最不希望得到的比特将其进行排序,分别存储为<img file="DEST_PATH_IMAGE060.GIF" wi="26" he="25" />,<img file="DEST_PATH_IMAGE062.GIF" wi="22" he="26" />;而统计学的应用需要一个训练集合;训练集合是指所用的指纹库中多个用户的指纹图像;对于每一个用户,训练集合分为两部分:注册用户指纹图像生成的矩阵,即内部集合;其它用户指纹图像生成的矩阵,即外部集合;比特的概率0或1表示固定不变的水平;概率为0表示无信息,而概率为1表示一个比特信息;但是很少的比特的概率完美就是0或1;于是通过计算每个比特的重量<img file="DEST_PATH_IMAGE064.GIF" wi="17" he="16" />,包含内部重量<img file="DEST_PATH_IMAGE066.GIF" wi="81" he="25" />和外部重量<img file="DEST_PATH_IMAGE068.GIF" wi="85" he="25" />,而<img file="DEST_PATH_IMAGE070.GIF" wi="76" he="25" />;<img file="DEST_PATH_IMAGE072.GIF" wi="32" he="25" />,<img file="DEST_PATH_IMAGE074.GIF" wi="33" he="25" />分别表示比特的内部熵和外部熵;步骤8.最高重量的<img file="819471DEST_PATH_IMAGE008.GIF" wi="20" he="20" />个比特组成的比特串作为要提取的生物密钥<img file="DEST_PATH_IMAGE076.GIF" wi="32" he="26" />;为了能够重构出相同的生物密钥,将最高重量的<img file="356632DEST_PATH_IMAGE008.GIF" wi="20" he="20" />个比特的位置信息存储,并用作注册用户的生物密钥的掩码<img file="DEST_PATH_IMAGE078.GIF" wi="46" he="25" />;步骤9.<img file="DEST_PATH_IMAGE080.GIF" wi="45" he="20" />的加密密钥<img file="DEST_PATH_IMAGE082.GIF" wi="30" he="26" />通过RS算法加密后得到一个<img file="306002DEST_PATH_IMAGE008.GIF" wi="20" he="20" />个比特序列<img file="DEST_PATH_IMAGE084.GIF" wi="34" he="26" />;将<img file="677465DEST_PATH_IMAGE084.GIF" wi="34" he="26" />与<img file="257351DEST_PATH_IMAGE076.GIF" wi="32" he="26" />结合生成一个查询表<img file="DEST_PATH_IMAGE086.GIF" wi="73" he="25" />;存储查询表,删除<img file="219491DEST_PATH_IMAGE084.GIF" wi="34" he="26" />与<img file="847918DEST_PATH_IMAGE076.GIF" wi="32" he="26" />;所述的生物密钥重生阶段具体如下:步骤A.提取查询用户的指纹二维图像,指纹图像归一化,做指纹图像预处理,得到保持指纹特征信息的二值图像,该二值图像记作<img file="DEST_PATH_IMAGE088.GIF" wi="29" he="21" />;步骤B.验证用户采取注册阶段的步骤1-步骤7,得到最高重量的<img file="8641DEST_PATH_IMAGE008.GIF" wi="20" he="20" />个比特组成的比特串;结合注册用户的生物密钥的掩码<img file="697111DEST_PATH_IMAGE078.GIF" wi="46" he="25" />生成一个比特串,将其作为验证用户的生物密钥<img file="DEST_PATH_IMAGE090.GIF" wi="33" he="25" />;步骤C.<img file="211794DEST_PATH_IMAGE090.GIF" wi="33" he="25" />利用<img file="378333DEST_PATH_IMAGE086.GIF" wi="73" he="25" />获得<img file="DEST_PATH_IMAGE092.GIF" wi="48" he="20" />的比特串<img file="DEST_PATH_IMAGE094.GIF" wi="36" he="25" />;利用RS算法对<img file="721458DEST_PATH_IMAGE094.GIF" wi="36" he="25" />解密获得<img file="518513DEST_PATH_IMAGE080.GIF" wi="45" he="20" />的比特串<img file="DEST_PATH_IMAGE096.GIF" wi="30" he="28" />;若<img file="251983DEST_PATH_IMAGE096.GIF" wi="30" he="28" />与<img file="490722DEST_PATH_IMAGE082.GIF" wi="30" he="26" />相等,认为验证用户和注册用户是同一个,注册用户的生物密钥成功地重生;否则,就认为验证用户是非法入侵者。
地址 310018 浙江省杭州市下沙高教园区2号大街