一种账户信息的注册和认证方法及装置
本申请为2014年3月27日提交的申请号为201410119822.1,名为“一种生物特征信息的处理方法及装置”的发明专利申请的分案申请。
技术领域
本申请涉及计算机技术领域,尤其涉及一种生物特征信息的处理方法及装置。
背景技术
随着互联网技术的发展,用户已经可以方便的通过网络随时随地进行购物等各种在线业务,而由于目前诸多的在线业务都会涉及到用户财产信息(如银行卡号等),因此,如何保证用户信息的安全是当前研究的热点问题。
目前,虽然大多数客户端提供商都采用账号和密码(包括字符密码、手势密码等)的方式对用户进行认证,以保护用户信息的安全,但是,无论是何种密码都有泄露或被黑客盗用的风险,因此,利用用户的生物特征信息对用户进行认证的方法应运而生。
利用用户的生物特征信息进行认证的主要思想是:在注册时,客户端采集用户的指纹、掌纹、虹膜等生物特征信息,并从采集到的生物特征信息中提取特征码,作为该用户的注册特征码发送给服务器保存;在验证时,客户端采集用户的生物特征信息,并从采集到的生物特征信息中提取特征码,作为待认证特征码发送给服务器,服务器则比对该待认证特征码与保存的该用户的注册特征码,判断二者是否匹配,若是,则认证通过,否则认证不通过。
其中,从生物特征信息中提取出的特征码是由若干个格式相同的特征向量(格式向量相同的特征向量是指各特征向量的维数、其中各元素的取值范围均相同)构成的向量集合。
但是,由于用户的生物特征信息具有专属性和稳定性,因此从用户的生物特征信息中提取出的特征码也具有专属性和稳定性,无论是用户的生物特征信息还是从用户的生物特征信息中提取出的特征码都属于用户的隐私信息。从而,一方面用户可能并不愿意将特征码发送给服务器保存,另一方面,如果用户发送给服务器的特征码被攻击者窃取,则攻击者就可以使用用户的特征码冒充用户的身份,用户的信息安全将面临极大的威胁。因此,在现有技术中,从用户的生物特征信息中提取出特征码后,可向特征码中添加杂凑点,用以将用户的特征码隐藏起来,以提高特征码的安全性。其中,杂凑点是与特征码中包含的特征向量的格式相同的向量。
例如,特征码中包含的特征向量为(a11、a12、a13、a14)、(a21、a22、a23、a24)、……、(ak1、ak2、ak3、ak4),其中k为正整数。则杂凑点可以为(b11、b12、b13、b14)、(b21、b22、b23、b24)、……(bn1、bn2、bn3、bn4)。其中,n为正整数,b11、b21、……bn1与a11、a21、……ak1的取值范围相同,b12、b22、……bn2与a12、a22、……ak2的取值范围相同,以此类推。可将各杂凑点无序的添加到特征码中后,则添加了杂凑点的特征码中包含的特征向量即为(a11、a12、a13、a14)、(b21、b22、b23、b24)、(a21、a22、a23、a24)、(bn1、bn2、bn3、bn4)……(ak1、ak2、ak3、ak4)。
可见,添加了杂凑点后,原始的特征码中包含的特征向量就被隐藏在了诸多格式相同的杂凑点中,即使添加了杂凑点后的特征码被攻击者窃取,攻击者也很难分辨出哪个特征向量是原始的特征码中包含的特征向量,哪个特征向量是杂凑点。
但是,现有技术中向特征码中添加的杂凑点往往是预先保存的杂凑点,也即,对于从任何用户的生物特征信息中提取出的特征码来说,添加的杂凑点均是相同的。
从而,一旦杂凑点泄露,攻击者则可窃取所有用户的添加了杂凑点的特征码,再去掉其中的杂凑点,即可得到所有用户原始的特征码。而且,攻击者也可窃取多个不同用户的添加了杂凑点的特征码,再从这些添加了杂凑点的特征码中提取出共有的向量,即可确定添加的杂凑点,这样,从添加了杂凑点的特征码中去掉杂凑点就可以得到原始的特征码。
可见,现有技术中添加杂凑点的方法仍不能有效保证用户的生物特征信息的安全性。
发明内容
本申请实施例提供一种生物特征信息的处理方法及装置,用以解决现有技术中生物特征信息的安全性较低的问题。
本申请实施例提供的一种生物特征信息的处理方法,包括:
接收用户的账户信息,并采集所述用户的生物特征信息,从所述生物特征信息中提取特征码;
根据所述账户信息,生成所述账户信息对应的随机字符串;
根据所述随机字符串,生成所述账户信息对应的杂凑点;
将生成的杂凑点添加到所述特征码中。
本申请实施例提供的一种生物特征信息的处理装置,包括:
接收采集模块,接收用户的账户信息,并采集所述用户的生物特征信息,从所述生物特征信息中提取特征码;
随机数生成模块,根据所述账户信息,生成所述账户信息对应的随机字符串;
杂凑点生成模块,根据所述随机字符串,生成所述账户信息对应的杂凑点;
添加模块,将生成的杂凑点添加到所述特征码中。
本申请实施例提供一种生物特征信息的处理方法及装置,该方法根据用户的账户信息生成该账户信息对应的随机字符串,根据随机字符串生成该账户信息对应的杂凑点,将生成的杂凑点添加到该用户的特征码中。通过上述方法,由于每个账户信息对应的随机字符串不一定相同,因此基于不同随机字符串生成的杂凑点也是不同的,从而,即使某个用户的账户信息对应的杂凑点泄露,攻击者也不能根据泄露的杂凑点获得其他用户的特征码,而且,攻击者即使窃取了多个不同用户的添加了杂凑点后的特征码,也不能通过这些添加了杂凑点后的特征码中共有的向量确定杂凑点,也就不能获得用户的特征码,因此可有效提高生物特征信息的安全性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的生物特征信息的处理过程;
图2为本申请实施例提供的生物特征信息的处理装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的生物特征信息的处理过程,具体包括以下步骤:
S101:接收用户的账户信息,并采集该用户的生物特征信息,从生物特征信息中提取特征码。
在本申请实施例中,用户的账户信息可包括用户标识和用户密钥,其中,用户标识包括但不限于用户名、用户身份证号码、用户电话号码等用于表示用户身份的信息。
无论是注册还是认证,用户都需要先在客户端或服务器上输入其账户信息,再通过客户端或服务器采集该用户自身的生物特征信息,客户端或服务器则从生物特征信息中提取出特征码。
下面仅以用户通过客户端注册为例,说明本申请实施例提供的生物特征信息的处理方法。
S102:根据该账户信息,生成该账户信息对应的随机字符串。
在本申请实施例中,用户在注册自己的账户信息时,首先要输入其要注册的用户标识(如,用户名)和用户密钥,从而,可根据用户的账户信息中包含的用户标识和密钥中的至少一种,生成与该账户信息对应的随机字符串。
具体的,可先生成随机数因子,再根据用户的账户信息中包含的用户标识和密钥中的至少一种,以及该随机数因子,生成该账户信息对应的随机字符串。
例如,假设客户端生成的随机数因子为A0,该用户的账户信息中包含的用户标识为用户身份识别码(Identity,ID),该用户ID的密钥为K。则客户端可从ID和K中任选一种或几种的组合,再与A0生成该用户ID对应的随机字符串A。假设客户端选择K,根据K与A0生成该用户ID对应的随机字符串A,则客户端可将K置于A0之后,得到字符串A0+K,再对字符串A0+K采用安全散列算法(Secure Hash Algorithm,SHA)进行计算,得到的结果即为该用户ID对应的随机字符串A。
当然,客户端也可以根据用户的账户信息、该客户端自身的设备信息中的至少一种,以及生成的随机数因子,生成该用户的账户信息对应的随机字符串。其中,该客户端自身的设备信息包括但不限于客户端的媒体接入控制(Media Access Control,MAC)地址、国际移动设备识别码(International Mobile Equipment Identification Number,IMEI)、设备序列号、互联网协议(Internet Protocol,IP)地址等信息。
需要说明的是,本申请对生成随机字符串所采用的算法不做限定,生成的随机字符串的长度可以为任意长度。
S103:根据该随机字符串,生成该账户信息对应的杂凑点。
在本申请实施例中,可根据步骤S102生成的随机字符串,生成该用户的账户信息对应的杂凑点。
具体的,由于杂凑点是格式与用户的特征码中包含的特征向量的格式相同的向量,因此,可将生成的随机字符串划分成指定数量的子串,再针对划分的每个子串,采用该子串生成杂凑点中的一个元素。其中,该指定数量为用户的特征码中包含的特征向量的维数。
S104:将生成的杂凑点添加到该用户的特征码中。
通过步骤S103生成了杂凑点后,则可将杂凑点添加到该用户的特征码中,用以隐藏用户的特征码。
通过上述方法,可针对每个用户的账户信息生成对应的随机字符串,再根据随机字符串生成杂凑点,从而,由于每个用户的账户信息对应的随机字符串只有很小的概率是相同的,因此,生成的每个用户的账户信息对应的杂凑点也几乎是各不相同的,因此,即使某个用户的账户信息对应的杂凑点泄露,攻击者根据该泄露的杂凑点,也并不能获得其他用户的特征码,而且,即使攻击者窃取了多个不同用户的添加了杂凑点后的特征码,也不能通过这些添加了杂凑点后的特征码中共有的向量确定杂凑点,也就不能获得这些用户的特征码,因此可有效提高生物特征信息的安全性。
进一步的,本申请实施例中所述的生物特征信息可以为图像形式的生物特征信息,如指纹、掌纹、眼纹、虹膜等,则客户端从图像形式的生物特征信息中提取出的特征码可以是由若干个四维特征向量构成的向量集合。其中,针对每个四维特征向量,该四维特征向量包含第一元素、第二元素、第三元素、第四元素。第一元素为生物细节特征信息在图像中所处位置的横坐标。第二元素为生物细节特征信息在图像中所处位置的纵坐标。第三元素为生物细节特征信息的特征标识。第四元素为生物细节特征信息在图像中所处的位置相对于图像中指定参照物的偏转角度。
由此可见,一个四维特征向量实际上是用于描述采集到的图像形式的生物特征信息中哪个位置具有哪个生物细节特征的。下面以采集的生物特征信息为掌纹为例进行说明。
掌纹的生物细节特征信息包括棒形线型、弧形线型、波浪线型、箕形线型以及螺形线型等。假设目前能够被识别的掌纹细节特征信息共有m种,从而生物细节特征信息的特征标识可以是1~m,用来分别标识这m种掌纹细节特征信息,m为正整数。假设从图像形式的掌纹特征信息中提取出的特征码为((a11,a12,a13,a14)、(a21,a22,a23,a24)、……(ak1,ak2,ak3,ak4)),其中的一个四维特征向量(ai1,ai2,ai3,ai4),i为正整数且小于等于k,则该四维特征向量表示:在该掌纹图像中(ai1,ai2)坐标处存在特征标识为ai3的掌纹细节特征信息,该掌纹细节特征信息在该掌纹图像中所处的位置相对于该掌纹图像中指定参照物的偏转角度为ai4度。
从而可见,该四维特征向量可以表示在该掌纹图像中哪个位置具有哪个生物细节特征。而且,该四维特征向量中,第一元素的取值范围是不大于图像的宽度,第二元素的取值范围是不大于图像的高度,第三元素的取值范围是1~m,第四元素的取值范围是0~360。
而由于向特征码中添加杂凑点的目的是将特征码隐藏在杂凑点中,使攻击者窃取了添加杂凑点后的特征码时,很难分辨出哪个向量是原始的特征向量,哪个向量是杂凑点,因此,这就要求杂凑点是格式与特征码中包含的特征向量的格式相同的向量,具体来说,就是杂凑点的维数与特征码中包含的特征向量的维数相同,杂凑点中各元素的取值范围与特征向量中相应元素的取值范围也相同。
因此,当提取出的特征码为由若干个上述四维特征向量构成的向量集合时,在图1所示的步骤S103中,可将通过步骤S102生成的该用户的账户信息对应的随机字符串划分成4个子串,并针对划分的每个子串,采用该子串生成该用户的账户信息对应的杂凑点中的一个元素,也即,杂凑点也是由四个元素构成的四维向量。
当步骤S102中生成的随机字符串为二进制字符串时,针对将该随机字符串划分成的每个子串(共4个子串),生成杂凑点中的一个元素的方法可以包括以下四个元素的生成方法:
第一元素生成方法。可将划分得到的第一子串划分为两个次子串,得到第一次子串和第二次子串,将该第一次子串转换为第一十进制数,将该第二次子串转换为第二十进制数,根据该第一次子串的位数,确定该位数的二进制数所能表示的最大十进制数加1的第一和值,确定图像(该图像为图像形式的生物特征信息的图像,特征码就是从该图像形式的生物特征信息中提取出的)的宽度除该第一和值的商值,确定该商值与该第一十进制数的乘积,确定该乘积与第二十进制数的第二和值,确定该第二和值对该图像的宽度的模值,将该模值确定为生成的杂凑点的第一元素。
例如,假设用户的生物特征信息为掌纹,步骤S102获得的随机字符串为32bit的二进制字符串,则可将该32bit的随机字符串划分为4个子串,其中第一子串为第1~10个bit,第二子串为第11~20个bit,第三子串为第21~24个bit,第四子串为第25~32个bit。
则在根据第一子串生成杂凑点的第一元素时,可将第一子串(随机字符串的第1~10个bit,共10bit)划分为两个次子串,第一次子串为第一子串中的第1~5个bit,共5bit,第二次子串为第一子串中的第6~10个bit,也是5bit。
将5bit的第一次子串转换为第一十进制数,记为a,将5bit的第二次子串均转换为第二十进制数,记为b。
由于第一次子串的位数是5bit,因此5bit的二进制数所能表示的最大十进制数为31,因此该最大十进制数加1的第一和值即为32。
假设该掌纹图像的宽度为L,则该图像的宽度除第一和值的商值即为L/32。
该商值与第一十进制数a的乘积即为a×L/32。
该乘积与第二十进制数b的第二和值即为a×L/32+b。
该第二和值对该掌纹图像的宽度L的模值即为(a×L/32+b)mod L,从而,生成的杂凑点中的第一元素即为(a×L/32+b)mod L。可见,第一元素的取值范围不大于该掌纹图像的宽度L。
第二元素生成方法。可将划分得到的第二子串划分为两个次子串,得到第三次子串和第四次子串,将该第三次子串转换为第三十进制数,将该第四次子串转换为第四十进制数,根据该第三次子串的位数,确定该位数的二进制数所能表示的最大十进制数加1的第三和值,确定该图像的高度除第三和值的商值,确定该商值与第三十进制数的乘积,确定该乘积与第四十进制数的第四和值,确定该第四和值对该图像的高度的模值,将该模值确定为生成的杂凑点的第二元素。
继续沿用上例,在根据第二子串生成杂凑点的第二元素时,可将第二子串(随机字符串的第11~20个bit,共10bit)划分为两个次子串,第三次子串为第二子串中的第1~5个bit,共5bit,第四次子串为第二子串中的第6~10个bit,也是5bit。
将5bit的第三次子串转换为第三十进制数,记为c,将5bit的第四次子串均转换为第四十进制数,记为d。
由于第二次子串的位数是5bit,因此5bit的二进制数所能表示的最大十进制数为31,因此该最大十进制数加1的第三和值即为32。
假设该掌纹图像的高度为H,则该图像的高度除第三和值的商值即为H/32。
该商值与第三十进制数c的乘积即为c×H/32。
该乘积与第四十进制数d的第四和值即为c×H/32+d。
该第四和值对该掌纹图像的高度H的模值即为(c×H/32+d)mod H,从而,生成的杂凑点中的第二元素即为(c×H/32+d)mod H。可见,第二元素的取值范围不大于该掌纹图像的高度H。
第三元素生成方法。可将划分得到的第三子串转换为第五十进制数,确定该第五十进制数对预先保存的生物细节特征的种类总数的模值,将该模值确定为生成的杂凑点的第三元素。
继续沿用上例,在根据第三子串生成杂凑点的第三元素时,可将第三子串(随机字符串的第21~24个bit,共4bit)转换为第五十进制数,记为e。
假设目前能够被识别的掌纹细节特征信息共有m种,也即,预先保存的掌纹细节特征的种类总数为m,则第五十进制数对该掌纹细节特征的种类总数m的模值即为e mod m,也即,生成的杂凑点的第三元素为e mod m。可见,第三元素的取值范围为0~m。
第四元素生成方法。可确定第四子串的位数,确定该位数的二进制数所能表示的最大十进制数加1的第五和值,将划分得到的第四子串转换为第六十进制数,确定该第六十进制数除该第五和值的商值,将该商值与360的乘积确定为生成的杂凑点的第四元素。
继续沿用上例,在根据第四子串生成杂凑点的第四元素时,可确定第四子串(随机字符串的第25~32个bit,共8bit)的位数,即8位。8位的二进制数所能表示的最大十进制数为255,因此该最大十进制数与1的第五和值为256。
将该第四子串转换为第六十进制数,记为f。
该第六十进制数f除第五和值的商值即为f/256。
该商值与360的乘积即为360×f/256,也即,生成的杂凑点的第四元素为360×f/256。
由于第四子串是8位二进制数,因此转换的第六十进制数f的取值范围为0~255,可知f/256小于1,因此,生成的第四元素360×f/256的取值范围不大于360。
通过上述生成杂凑点的方法可见,生成的杂凑点的维数与特征码中包含的特征向量的维数相同,都是四维,而且杂凑点中每个元素与特征向量中相应元素的取值范围也相同,从而,将该杂凑点添加到特征码中后,可达到隐藏原始的特征向量的效果。
另外,在实际应用中,也存在特征码中的特征向量是三维特征向量的情况,这种三维特征向量的前两个元素仍是表示生物细节特征信息在图像中所处位置的横坐标和纵坐标,第三个元素也是表示生物细节特征信息的特征标识,只不过此时第三个元素所表示的生物细节特征信息的特征标识与上例中四维特征向量中第三元素所表示的特征标识略有不同。
其不同之处在于:三维特征向量中的第三个元素相当于是整合了四维特征向量中的第三元素和第四元素。也就是说,在三维特征向量中,即使是相同的生物细节特征信息,但如果其相对于图像中指定参照物的偏转角度不同,那么其对应的特征标识也不同。或者说,在三维特征向量中,多个不同的特征标识所表示的可能是偏转角度各不相同的同一个生物细节特征。而在四维特征向量中,相同的生物细节特征信息对应的特征标识是相同的,偏转角度则由第四元素来表征。
因此,如果提取出的特征码为由若干个三维特征向量构成的向量集合,则步骤S103中,可将通过步骤S102生成的该用户的账户信息对应的随机字符串划分成3个子串,并针对划分的每个子串,采用该子串生成该用户的账户信息对应的杂凑点中的一个元素,也即,杂凑点是由三个元素构成的三维向量。
具体的,当步骤S102中生成的随机字符串为二进制字符串时,生成三维向量形式的杂凑点中的前两个元素的方法可以与上述生成四维向量形式的杂凑点中的第一元素和第二元素的方法相同。在生成三维向量形式的杂凑点中的第三个元素时,也可与上述生成四维向量形式的杂凑点中的第三元素的方法类似,即,可将划分得到的第三子串转换为第五十进制数,确定该第五十进制数对预先保存的三维特征向量的情况下(即,不同偏转角度的同一个生物细节特征的特征标识不同的情况)生物细节特征的种类总数的模值,将该模值确定为生成的杂凑点的第三元素,这里就不再一一赘述。
需要说明的是,虽然在实际应用中,上述特征码中所包含每个特征向量中的元素个数(即维数)会受到提取该特征码所使用的提取方法的影响,从而使得该特征码中包含的每个特征向量的维数可能不止三维、四维,每个元素所表征的意义也与上述所述的第一~四元素所表征的意义有所不同。但无论特征向量的维数是多少,每个元素所表征的意义是什么,该特征向量中包含的元素所表示的信息基本上可以划分为三部分,它们分别为:生物细节特征信息在包含有生物特征信息的图像中的坐标、生物细节特征信息的特征标识,以及生物细节特征信息在图像中所处位置相对于图像中指定参照物的偏转角度。而基于本申请实施例提供的生成杂凑点的方法可以看出,无论特征码中包含的特征向量的维数是多少,每个元素所表征的意义是什么,本申请实施例提供的对特征向量的加密方法均可适用,只要能够生成唯一对应于一个用户的账户信息的杂凑点,并且该杂凑点的格式与特征向量的各项相同即可。
另外,为了进一步提高用户的生物特征信息的安全性,在图1所示的步骤S102中,可针对一个用户的账户信息,生成多个该账户信息对应的随机字符串,并采用如图1所示的方法,采用每个随机字符串生成一个该账户信息对应的杂凑点,最后将生成的所有杂凑点添加到用户的特征码中。
例如,可生成该账户信息对应的32个随机字符串,并针对每个随机字符串,采用如图1所示的方法基于一个随机字符串生成一个杂凑点,共生成32个杂凑点。显然,添加的杂凑点越多,用户原始的特征码就越不易于被识别出来,安全性也就越高。
还可以生成一个或几个长随机字符串,并对这些长随机字符串进行切分,切分成多个短随机字符串,并针对每个短随机字符串,采用如图1所示的方法基于一个短随机字符串生成一个杂凑点。
例如,可生成该账户信息对应的一个1024bit的长随机字符串,并将这个1024bit的长随机字符串平均切分成32个短随机字符串,每个短随机字符串32bit,再采用如图1所示的方法,基于每个短随机字符串生成一个杂凑点,共生成32个杂凑点。当然,也可生成该账户信息对应的两个512bit的长随机字符串,再每个512bit的长随机字符串切分成16个短随机字符串,共可切分出32个短随机字符串,每个短随机字符串32bit,这里就不再一一赘述。
从上述杂凑点的生成方法可以看出,生成杂凑点时只需要获得账户信息对应的随机字符串,并知晓特征向量的格式即可,因此,上述生成杂凑点的方法可以由客户端执行,也可以由服务器执行。
例如,在用户注册账户信息时,客户端可在用户输入了其注册的用户ID和密钥后,采集用户的生物特征信息,并从采集的生物特征信息中提取出特征码,再采用如图1所示的方法生成杂凑点,将杂凑点添加到特征码中,作为注册特征码,将用户ID、密钥、注册特征码发送给服务器对应存储。也即,由客户端生成杂凑点。
当然,如果用户直接在服务器注册,也可由服务器生成杂凑点,并对应保存用户注册的用户ID、密钥、添加了杂凑点后的特征码。
客户端在生成杂凑点时所基于的随机字符串可以是由客户端自行生成的,也可以是与服务器约定的。当随机字符串是客户端自行生成的时,客户端还可将该随机字符串发送给服务器,使服务器将该随机字符串与该用户的账户信息对应存储。当随机字符串是客户端与服务器约定的时,服务器则对应存储该随机字符串与该用户的账户信息。
在用户需要认证该账户信息时,客户端同样可在用户输入了其用户ID和密钥后,采集用户的生物特征信息,并从采集的生物特征信息中提取出特征码,再从本地或服务器中提取该用户ID对应的随机字符串,采用如图1所示的方法生成杂凑点,将杂凑点添加到特征码中,作为待认证特征码,将用户ID、密钥、待认证特征码发送给服务器进行认证。
服务器接收到待认证特征码后,则可根据保存的该用户ID对应的随机字符串,采用如图1所示的方法生成杂凑点,并根据生成的杂凑点,从自身保存的该用户ID对应的注册特征码中剔除杂凑点,从接收到的待认证特征码中也剔除杂凑点,再比对剔除了杂凑点后的注册特征码和待认证特征码,以确定二者的相关度,若相关度大于设定阈值,则认证通过,否则认证不通过。可见,在认证过程中服务器也采用图1的方法生成了杂凑点。
当然,上述只是以注册和认证场景为例说明客户端和服务器均可采用如图1所示的方法生成杂凑点的情形,其他场景中也均可由客户端和服务器采用如图1所示的方法生成杂凑点。
采用本申请实施例提供的生物特征信息处理方法时,若用户认为已经长时间没有更换杂凑点,需要更换时,则可重新采用客户端或通知服务器生成该用户的账户信息对应的随机字符串,客户端和服务器则采用新随机字符串替换原有的该账户信息对应的随机字符串,并通过如图1所示的方法,重新生成杂凑点,并将新杂凑点添加到特征码中,得到新的特征码。
以上为本申请实施例提供的生物特征信息的处理方法,基于同样的思路,本申请实施例还提供一种生物特征信息的处理装置,如图2所示。
图2为本申请实施例提供的生物特征信息的处理装置结构示意图,具体包括:
接收采集模块201,接收用户的账户信息,并采集所述用户的生物特征信息,从所述生物特征信息中提取特征码;
随机数生成模块202,根据所述账户信息,生成所述账户信息对应的随机字符串;
杂凑点生成模块203,根据所述随机字符串,生成所述账户信息对应的杂凑点;
添加模块204,将生成的杂凑点添加到所述特征码中。
所述随机数生成模块202具体用于,生成随机数因子,根据所述账户信息中包含的用户标识和密钥中的至少一种,以及所述随机数因子,生成所述账户信息对应的随机字符串。
所述杂凑点生成模块203具体用于,将所述随机字符串划分成指定数量的子串,所述指定数量为所述用户的特征码中包含的特征向量的维数,所述特征码是从所述用户的生物特征信息中提取出的,所述生物特征信息是图像形式的生物特征信息;针对划分的每个子串,采用该子串生成所述杂凑点中的一个元素。
所述特征向量为四维特征向量;
所述四维特征向量包含第一元素、第二元素、第三元素、第四元素;
所述第一元素为生物细节特征信息在所述图像中所处位置的横坐标;
所述第二元素为生物细节特征信息在所述图像中所处位置的纵坐标;
所述第三元素为生物细节特征信息的特征标识;
所述第四元素为生物细节特征信息在所述图像中所处的位置相对于所述图像中指定参照物的偏转角度。
所述随机字符串为二进制字符串;
所述杂凑点生成模块203具体用于,将划分得到的第一子串划分为两个次子串,得到第一次子串和第二次子串,将所述第一次子串转换为第一十进制数,将所述第二次子串转换为第二十进制数;根据所述第一次子串的位数,确定所述位数的二进制数所能表示的最大十进制数加1的第一和值;确定所述图像的宽度除所述第一和值的商值;确定所述商值与所述第一十进制数的乘积;确定所述乘积与所述第二十进制数的第二和值;确定所述第二和值对所述宽度的模值,将所述模值确定为生成的所述杂凑点的第一元素。
所述随机字符串为二进制字符串;
所述杂凑点生成模块203具体用于,将划分得到的第二子串划分为两个次子串,得到第三次子串和第四次子串,将所述第三次子串转换为第三十进制数,将所述第四次子串转换为第四十进制数;根据所述第三次子串的位数,确定所述位数的二进制数所能表示的最大十进制数加1的第三和值;确定所述图像的高度除所述第三和值的商值;确定所述商值与所述第三十进制数的乘积;确定所述乘积与所述第四十进制数的第四和值;确定所述第四和值对所述高度的模值,将所述模值确定为生成的所述杂凑点的第二元素。
所述随机字符串为二进制字符串;
所述杂凑点生成模块203具体用于,将划分得到的第三子串转换为第五十进制数;确定所述第五十进制数对预先保存的生物细节特征的种类总数的模值;将所述模值确定为生成的所述杂凑点的第三元素。
所述随机字符串为二进制字符串;
所述杂凑点生成模块203具体用于,确定所述第四子串的位数,确定所述位数的二进制数所能表示的最大十进制数加1的第五和值;将划分得到的第四子串转换为第六十进制数;确定所述第六十进制数除所述第五和值的商值;将所述商值与360的乘积确定为生成的所述杂凑点的第四元素。
具体的上述如图2所示的装置可以位于客户端中,也可以位于服务器中。
本申请实施例提供一种生物特征信息的处理方法及装置,该方法根据用户的账户信息生成该账户信息对应的随机字符串,根据随机字符串生成该账户信息对应的杂凑点,将生成的杂凑点添加到该用户的特征码中。通过上述方法,由于每个账户信息对应的随机字符串不一定相同,因此基于不同随机字符串生成的杂凑点也是不同的,从而,即使某个用户的账户信息对应的杂凑点泄露,攻击者也不能根据泄露的杂凑点获得其他用户的特征码,而且,攻击者即使窃取了多个不同用户的添加了杂凑点后的特征码,也不能通过这些添加了杂凑点后的特征码中共有的向量确定杂凑点,也就不能获得用户的特征码,因此可有效提高生物特征信息的安全性。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。