掌纹密钥系统的制作方法

文档序号:6573608阅读:199来源:国知局
专利名称:掌纹密钥系统的制作方法
技术领域
本发明涉及数据信息处理技术领域,具体涉及一种掌纹密钥系统。
背景技术
在科学技术飞速发展的今天,信息安全已成为全球信息化进程中最具挑战性的课题。如何保证数据的安全性是信息安全中最重要的问题之一。数据加密技术是保障数据安全性的基本手段,传统的数据加密技术是基于密钥实现的,其安全性完全依赖于密钥的安全性,而密钥的安全性和其易记性之间有着不可调和的矛盾容易记忆的密钥(一般是具有一定意义的词句或者较短字符串)容易被猜测或暴力破解,其安全性能较差;而安全性高的密钥(一般是较长的没有明显意义的随机数据),却很难记忆,很多用户将其纪录或者存储下来以备用,这样就容易被非法窃取,也会带来安全性问题。同时,传统的密钥技术不能防范非法的密钥共享。这些问题产生的根本原因是由于解密密钥和用户之间缺乏必然的联系,系统无法区分密钥使用者的身份,即不能判断是授权用户还是恶意攻击者。为了解决这个问题,我们必须在解密密钥和用户之间建立对应关系。生物识别技术是利用人类固有的人体生物特征(如指纹等)对其身份进行鉴别的技术,将其与传统密钥技术相结合就形成了生物密钥技术。具体说来,生物密钥技术是指利用人体生物特征生成密钥来对数据进行加解密的技术。由于人的生物特征具备“人人拥有、人各不同”的特点,并且不会被偷、被丢、被忘、被共享,同时还具有足够的信息量使之很难被破译,因此生物密钥技术可以有效地解决传统密码学中的安全性问题。
目前对生物密钥技术的研究大多还处于理论分析阶段,其中研究最多的是基于指纹的密钥技术。而用指纹来生成密钥具有很多不足之处过干、过湿或较脏的指纹特征不易被准确地提取出来;指纹的采集多采用接触按压的方式,容易在设备上留下痕迹而被窃取;另外,多年来指纹一直被用作辨识罪犯的工具,会使部分用户产生抵触情绪等等。而其他的生物特征在数据加解密方面,也具有各自的缺陷人脸由于容易在用户不知情的情况下被非法获取,因而不适合用于数据加密;手形、签名和声音等生物特征对用户的可区分能力不强,使得基于这些生物特征的密钥系统的安全性不高;虹膜的可区分能力很强,但虹膜采集系统的用户接受度不高。掌纹特征是近年来生物识别领域中新兴的研究热点,具备很多适合于数据加解密的特点掌纹含有大量的信息,对于不同的用户具有很强的区分能力,因而能保障加密数据的安全性;高质量掌纹图像的采集必须在用户配合的情况下才能进行,所以很难被非法窃取;掌纹的采集过程是非接触式的,采集过程中不会留下任何印迹,保证了掌纹信息的秘密性;同时掌纹采集系统使用非常方便,容易被用户所接受。所以利用掌纹特征生成密钥来对数据进行加解密的技术(称为掌纹密钥技术)可以有效克服其他生物密钥技术的缺陷。
掌纹密钥技术既可以保护数据的安全性(直接对数据进行加密),也可保护传统密码系统中密钥的安全性(对密钥进行加密);掌纹密钥技术还可用于掌纹模板保护、构造掌纹数字签名方案等,因而具有广阔的应用前景。到目前为止,学术界还没有研究掌纹加解密的文献。

发明内容本发明的目的在于提供一种利用从掌纹中提取的二进制差分码对数据进行加解密,利用纠错技术来消除由同一手掌的不同图像生成的差分码间的差别,可以有效地加解密,并且很难被攻破的掌纹加密系统。
本发明的目的是这样实现的1)采集掌纹图像,通过图像预处理操作来调整和归一化掌纹图像;2)加密阶段,首先对掌纹图像进行特征提取,生成32×32=1024位的差分码,然后利用Hash技术将1024位的差分码转化为固定长度的掌纹密钥,同时利用纠错算法生成该差分码的纠错码,最后通过加密算法,用掌纹密钥来对信息进行加密;3)解密阶段,从输入的掌纹图像中生成1024位的差分码,利用加密阶段生成的纠错码对其进行纠错,然后利用Hash技术来生成掌纹密钥,最后用相应的解密算法来解密信息。
本发明还有这样一些技术特征1、所述的特征提取过程中差分码的提取步骤包括假设I为一幅掌纹图像,首先用参数为σ的2D Gaussian滤波器Gσ对图像进行滤波If=I*Gσ其中,“*”是卷积运算,然后计算滤波后的图像If在水平方向的差分D=If*bb=[-1,1]最后,利用D中每个像素的符号来对掌纹进行编码C(i,j)=1,D[i,j]>00,otherwise.]]>其中,C称为掌纹I的差分码;
2)加解密中Hash、纠错和加密算法分别采用MD5,BCH和AES对于一个BCH码,可用(n,k,t)来表示,其中n,k和t分别表示BCH码的总长度,有效信息的长度和可纠错的数量;对于本发明,t可以通过阈值T得到t=1024×T.
k应该满足如下条件k>1024如果k>1024,系统就在1024位差分码后添加(k-1024)个0,然后用BCH编码;为了生成纠错码,本发明需要确定系统的阈值T,而阈值的选取与具体应用密切相关,本发明实施例中,选取距离阈值为0.2949,相应的FAR,FRR及错误位个数应该为0.0012%,3.0169%和302,根据BCH纠错码理论,在本发明系统中,可选择(4095,1412,302)BCH码;3)消除同一手掌不同图像间平移的方法为了解决平移问题,本发明在解密过程中,对掌纹预处理后,得到144×144的掌纹中央部分,然后将其转换为36×36的大小,即得到了36×36大小的差分码,比加密过程的差分码稍大,从这个稍大些的差分码,可得到25个32×32大小的差分码,然后,用它们一个接一个地解密,直到成功。这个过程等同于在水平和竖直方向从-2到+2间平移了差分码。
本发明中,当采集掌纹图像时,由于每次手掌放置的位置、方向都会有不同程度的变化,因此不同时刻从同一个手掌采集到的掌纹图像间会存在一定程度的旋转和平移。并且每个人的手掌大小也不尽相同。因此,在进行特征提取和匹配前,应该对掌纹图像进行定位与归一化处理。我们利用文献[13]中的方法来调整和归一化掌纹图像。经过预处理,用裁减后的图像的中央部分,大小128×128像素,来表示整个手掌。图1-2展示了一幅掌纹图像和其经过预处理后的结果。
总体上说,不同时刻采集的同一掌纹的图像不可能完全相同,但它们是很相似的,所以当差分码C1和C2的匹配距离小于一个阈值T的时候,就可认为是来自同一手掌,这里希望能用C2来解密被C1加密的信息。然而,在传统的对称加密系统中(如AES),要求加密密钥和解密密钥完全相同,而C1和C2只是相似而不完全性同,因此不能直接用C2来解密被C1加密的信息。为了解决这个问题,发明人将C2转化为C1。由于C1和C2是长度相同的二进制串,并且它们之间的Hamming距离较小,可以用纠错技术来将C2转化为C1。在用C1作为加密密钥进行数据加密的同时,计算C1的可以纠正T×1024以内错误的纠错码。在解密阶段,用该纠错码来对C2进行纠错。如果C1和C2间的匹配距离小于阈值T,这意味着C1和C2来自同一手掌,通过纠错可以将C2转化为C1,进而完成解密。
本发明提出了一个掌纹加密系统,该系统利用从掌纹中提取的二进制差分码对数据进行加解密,利用纠错技术来消除由同一手掌的不同图像生成的差分码间的差别。本发明系统可以有效地加解密,并且很难被攻破。


图1为一个掌纹原始图像;图2为归一化裁切后的图像;图3-10为一些差分码的例子,其中,图7是图3的差分码,图8是图4的差分码,图9是图5的差分码,图10是图6的差分码;图11-12为掌纹加密系统框图,图11是加密阶段的流程图,图12解密阶段的流程图;图13为不同阈值下的FAR和FRR。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明结合图11,在加密过程中,对掌纹图像进行预处理后,生成32×32=1024位的差分码。然后,通过Hash技术(如MD5),将差分码转化为固定长度的掌纹密钥(HC),同时利用纠错算法(如BCH)生成该差分码的纠错码。然后,采用加密算法(如AES)用掌纹密钥(HC)来加密明文数据。最后将密文数据和纠错码传送。
结合图12,在解密阶段,从输入的掌纹中生成1024位的差分码,接着利用加密阶段生成的纠错码对其进行纠错,然后利用Hash技术来生成掌纹密钥(HC)。最后,用相应的解密算法对密文数据进行解密,生成明文数据。
特征提取与匹配中,这里着重描述一下差分码提取与差分码间的相似度测量。
1、差分码提取假设I为一幅掌纹图像。为了减少噪声的影响,首先用参数为σ的2D Gaussian滤波器Gσ对图像进行过滤If=I*Gσ其中,“*”是卷积运算。
然后,计算If在水平方向的差分D=If*bb=[-1,1]其中,“*”是卷积运算。
最后,利用D中每个像素的符号来对掌纹进行编码C(i,j)=1,D[i,,j]>0;0,otherwise.]]>其中,C称为掌纹I的差分码。预处理后的掌纹图片大小为128×128像素。大量的实验表明,对于差分码的提取和匹配来说,32×32像素就已经足够了。所以,在计算差分码之前,掌纹图像的大小由128×128像素调整到32×32像素。因此,差分码的尺寸为32×32。图3-图10展示了一些差分码的例子。
其中,图3和图4来自同一手掌,图5和图6来自另一手掌,图7-10是图3-6的差分码。
2、差分码间的相似度测量由于差分码具有相同的长度,这里可以利用Hamming距离来定义相似度。假设C1和C2代表两个差分码。它们的Hamming距离(H(C1,C2))定义为C1和C2中相同位置具有不同值的个数。公式如下H(C1,C2)=Σi=132Σj=132C1(i,j)⊗C2(i,j)]]>这里“”代表逻辑“异或”运算。
C1和C2的匹配结果可以通过下式定义的归一化Hamming距离来计算D(C1,C2)=H(C1,C2)32×32]]>事实上,D(C1,C2)即为C1和C2中不匹配点个数的百分比。显然D(C1,C2)的值在0和1之间,值越小,C1和C2的匹配度越高。完全匹配时,匹配结果为0。由于预处理不可能十分完美,不同时刻采集的同一个手掌的图像仍会存在一些平移。为了解决这个问题,我们首先在水平和竖直方向上平移C1若干像素得到C1T,然后,在每个平移过的位置,计算C1T和C2的距离。最后将所有这些匹配距离中的最小值作为最终匹配距离。
本实施例中所有的实验是在香港理工大学的公开免费掌纹数据库PolyU PalmprintPalmprint Database.(http//www.comp.polyu.edu.hk/~biometrics/)上进行的,该数据库包含来自386个不同手掌的7752幅掌纹图像,这些图像均是用基于CCD的采集设备分两次对不同年龄、不同性别的人手进行采集得到的,两次采集间隔2个月,每次对一个手掌采集10幅左右的图像。这样,数据库中每只手掌包含近20幅图像。图像大小是384×284像素。在实验中,采用Zhang,D.,Kong,W.,You,J.,Wong,M.Online palmprint identification.IEEE Transactions on PatternAnalysis and Machine Imelligence 25(2003)1041-1050文献中的预处理技术,将图像中心大小为128×128像素的图像块裁切下来代表整个掌纹。在我们的系统中,Hash、纠错和加密算法分别采用MD5,BCH和AES。
对于一个BCH码,可用n,k,t)来表示,其中n,k和t分别表示BCH码的总长度,有效信息的长度和可纠错的数量。
对于我们的系统,t可以通过阈值T得到t=1024×T.
k应该届生满足如下条件k>1024如果k>1024,系统就在1024位差分码后添加(k-1024)个0,然后用BCH编码。
为了生成纠错码,需要确定系统的阈值T,而阈值的选取与具体应用密切相关。为了找出识别精度与阈值间的关系,发明人将数据库中每一个样本都与其他样本进行匹配。来自同一手掌的图像匹配被称为合法匹配(genuine matching),其他的匹配称为非法匹配(impostormatching)。本实施例总共进行了30042876(7752×7751/2)次匹配,其中74086次是合法匹配。图13给出了不同阈值下的错误接受率(False Accept Rate,FAR)与错误拒绝率(False RejectRate,FRR)。表1列出了一些典型的FAR,FRR及其对应的阈值和错误位数的情况。
在实验中,本实施例选取距离阈值为0.2949。根据表1,相应的FAR,FRR及错误位个数应该为0.0012%,3.0169%,302。根据BCH纠错码理论,在本系统中,可选择(4095,1412,302)BCH码。下面我来分析系统的抵御攻击能力。
如果在A点(图12中),即攻击者直接利用掌纹来攻击系统。这种情况下,攻破的几率为0.0012%≈10-5,也就是说,要想解密信息,攻击者至少找到105个不同的掌纹来尝试,这在短时间不可能做到的。
表1 典型的FAR,FRR,相应的阈值及错位的数量
如果攻击者在B点(图12中)攻击,也就是说,攻击者直接生成差分码来用于纠错,则成功破获信息的几率为pp=C1024302+C1024301+···+C10241+C1024021024≈2-134]]>这相当于标准密码系统中134位密码的安全性。
如果在C点攻击,即攻击者生成纠错后的差分码,成功的概率为2-1024,这相当于标准密码系统中1024位密码的安全性。
如果在D点攻击,即攻击者直接生成Hash后的编码,成功率为2-128,这相当于标准密码系统中128位密码的安全性。
所以,本发明系统无论对于何种攻击,均具有较高的安全性。
权利要求
1.一种掌纹密钥系统,其特征在于它包括如下步骤1)采集掌纹图像,通过图像预处理操作来调整和归一化掌纹图像;2)加密阶段,首先对掌纹图像进行特征提取,生成32×32=1024位的差分码,然后利用Hash技术将1024位的差分码转化为固定长度的掌纹密钥,同时利用纠错算法生成该差分码的纠错码,最后通过加密算法,用掌纹密钥来对信息进行加密;3)解密阶段,从输入的掌纹图像中生成1024位的差分码,利用加密阶段生成的纠错码对其进行纠错,然后利用Hash技术来生成掌纹密钥,最后用相应的解密算法来解密信息。
2.根据权利要求1所述的掌纹密钥系统,其特征在于所述的特征提取过程中差分码的提取步骤包括假设I为一幅掌纹图像,首先用参数为σ的2D Gaussian滤波器Gσ对图像进行滤波If=I*Gσ其中,“*”是卷积运算;然后计算滤波后的图像If在水平方向的差分D=If*bb=[-1,1]最后,利用D中每个像素的符号来对掌纹进行编码C(i,j)=1,D[i,j]>0;0,otherwise]]>其中,C称为掌纹图像I的差分码。
3.根据权利要求1或2所述的掌纹密钥系统,其特征在于所述的加解密过程中Hash、纠错和加密算法分别采用MD5,BCH和AES,对于一个BCH码,可用(n,k,t)来表示,其中n,k和t分别表示BCH码的总长度,有效信息的长度和可纠错的数量,t可以通过阈值T得到t=1024×Tk应该满足如下条件k>1024如果k>1024,系统就在1024位差分码后添加k-1024个0,然后采用BCH编码。
4.根据权利要求1或2所述的掌纹密钥系统,其特征在于所述的在解密过程中,对掌纹图像预处理操作后,得到144×144的掌纹中央部分,然后将其转换为36×36大小的差分码,再从其中得到25个32×32大小的差分码,然后,用它们一个接一个地解密,直到成功。
5.根据权利要求3所述的掌纹密钥系统,其特征在于所述的在解密过程中,对掌纹图像预处理操作后,得到144×144的掌纹中央部分,然后将其转换为36×36大小的差分码,再从其中得到25个32×32大小的差分码,然后,用它们一个接一个地解密,直到成功。
全文摘要
本发明提供了一种掌纹密钥系统,该系统直接以掌纹的编码作为信息加解密的密钥。在加密阶段,首先对采集到的掌纹图像进行差分运算,提取出一个1024位的二进制串,然后应用Hash运算将其转换成128位加密密钥(用于对信息加密),同时,生成该二进制串的纠错码(ECC)。在解密阶段,利用差分运算从新输入的掌纹图像中提取1024位的二进制串,接着用纠错码(ECC)对该二进制串进行纠错,然后通过Hash运算生成解密密钥。实验结果表明,本系统的精确性和安全性可以满足大部分应用的需要。
文档编号G06K9/00GK101093626SQ20071007258
公开日2007年12月26日 申请日期2007年7月27日 优先权日2007年7月27日
发明者邬向前, 张大鹏, 王宽全 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1