具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的在线注册过程,具体包括以下步骤:
S101:客户端获得用户的用户标识对应的随机字符串。
在本申请实施例中,用户在通过客户端注册时,先要在客户端上输入用户标识,该用户标识可以是用户的账号信息,客户端则可根据用户输入的账号信息,获得该用户标识对应的随机字符串。
其中,客户端可自行生成该用户标识对应的随机字符串,也可由服务器生成该用户标识对应的随机字符串并发送给客户端,还可由客户端和服务器约定用于生成随机字符串的随机数因子,并由客户端根据该随机数因子生成随机字符串。
具体的,当客户端自行生成随机字符串时,客户端可生成随机数因子,并根据该用户标识、该用户标识对应的密钥(该用户标识对应的密钥是用户输入到客户端的)、该客户端自身的设备信息中的至少一个,以及该随机数因子,生成该用户标识对应的随机字符串。客户端生成该随机字符串后,还可将生成的随机字符串发送给服务器,使服务器将接收到的随机字符串与该用户标识对应存储。
当由服务器生成随机字符串时,客户端则接收服务器生成并发送的该用户标识对应的随机字符串,其中,服务器发送的随机字符串是该服务器根据该用户标识、该用户标识对应的密钥、该客户端上报的设备信息中的至少一个,以及该服务器生成的随机数因子生成的。
当客户端根据与服务器约定的随机数因子生成随机字符串时,客户端可根据该用户标识、该用户标识对应的密钥、该客户端自身的设备信息中的至少一个,以及与服务器预先约定的随机数因子,生成该用户标识对应的随机字符串。客户端生成该随机字符串后,还可将生成的随机字符串发送给服务器,使服务器将接收到的随机字符串与该用户标识对应存储。
其中,上述客户端自身的设备信息包括但不限于客户端的媒体接入控制(MediaAccess Control,MAC)地址、国际移动设备识别码(International Mobile EquipmentIdentification Number,IMEI)、设备序列号、互联网协议(Internet Protocol,IP)地址等信息。
以由客户端自行生成该用户标识对应的随机字符串为例进行说明。例如,假设客户端生成的随机数因子为A0,该用户标识为用户身份识别码(Identity,ID),该用户ID的密钥为K,客户端的设备信息为P。则客户端可从ID、K、P中任选一种或几种的组合,再与A0生成该用户ID对应的随机字符串A。假设客户端选择ID和P,根据ID和P与A0生成该用户ID对应的随机字符串A,则客户端可将ID和P置于A0之后,得到字符串A0+ID+P,再对字符串A0+ID+P采用安全散列算法(Secure Hash Algorithm,SHA)进行计算,得到的结果即为该用户ID对应的随机字符串A。
需要说明的是,本申请对生成随机字符串所采用的算法不做限定,生成的随机字符串的长度可以为任意长度。
S102:采集该用户的生物特征信息,并从该生物特征信息中提取特征码。
在本申请实施例中,所述的生物特征信息包括但不限于指纹、掌纹、眼纹、虹膜、手掌静脉、人脸等信息。客户端则可通过其所在的设备中的生物特征采集器(如摄像头、指纹采集器、掌纹采集器等)对用户的生物特征信息进行采集,并通过预设的提取算法,从采集到的生物特征信息中提取特征码。具体的提取算法并不在本申请的保护范围之内。
需要说明的是,上述步骤S101和S102的执行顺序不分先后。
S103:采用该随机字符串对该特征码进行加密处理,得到加密特征码。
在本申请实施例中,客户端从用户的生物特征信息中提取出特征码后,则可采用该随机字符串以及预设的加密算法,对该特征码进行加密处理,得到加密特征码。
进一步的,为了保证该加密特征码泄露或被窃取时不能被轻易解密,本申请实施例中该预设的加密算法可以是不可逆的加密算法。
S104:客户端将该加密特征码作为该用户标识对应的注册特征码发送给服务器保存。
得到加密特征码后,客户端则可将该加密特征码作为该用户标识对应的注册特征码发送给服务器保存,使服务器在后续对该用户进行认证时,根据保存的该用户标识对应的注册特征码进行认证。
通过上述方法,由于在在线注册过程中,客户端发送给服务器的注册特征码是经过加密的特征码,尤其是经过不可逆的加密算法加密的特征码,因此即使该加密特征码泄露或被攻击者窃取,攻击者也很难将其解密获得原始的特征码,从而可有效提高在线注册过程中用户的生物特征信息的安全性。
进一步的,本申请实施例中所述的生物特征信息可以为图像形式的生物特征信息,如指纹、掌纹、眼纹、虹膜等,则客户端从图像形式的生物特征信息中提取出的特征码可以是由若干个四维特征向量构成的向量集合。其中,针对每个四维特征向量,该四维特征向量包含第一元素、第二元素、第三元素、第四元素。第一元素为生物细节特征信息在图像中所处位置的横坐标。第二元素为生物细节特征信息在图像中所处位置的纵坐标。第三元素为生物细节特征信息的特征标识。第四元素为生物细节特征信息在图像中所处的位置相对于图像中指定参照物的偏转角度。
由此可见,一个四维特征向量实际上是用于描述采集到的图像形式的生物特征信息中哪个位置具有哪个生物细节特征的。下面以采集的生物特征信息为掌纹为例进行说明。
掌纹的生物细节特征信息包括棒形线型、弧形线型、波浪线型、箕形线型以及螺形线型等。假设目前能够被识别的掌纹细节特征信息共有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度。从而可见,该四维特征向量可以表示在该掌纹图像中哪个位置具有哪个生物细节特征。
当提取出的特征码为由若干个上述四维特征向量构成的向量集合时,步骤S103中客户端采用该用户标识信息对应的随机字符串对该特征码进行加密处理的方法可以为:针对该特征码中包含的每个四维特征向量,采用该用户标识对应的随机字符串以及不可逆加密算法,对该四维特征向量中的至少一个元素进行加密处理。
在实际应用中,不可逆加密算法有很多种,如取模、哈希算法等。本申请实施例以取模为例,说明采用随机字符串以及不可逆加密算法对特征码进行加密的过程。
图2为本申请实施例提供的客户端对四维特征向量中用于表示生物细节特征信息的横坐标和纵坐标的第一元素和第二元素进行加密的过程,具体包括以下步骤:
S201:客户端将获得的随机字符串划分成五个子串,得到第一子串、第二子串、第三子串、第四子串、第五子串。
其中,该随机字符串是图1所示的步骤S101中获得的用户标识对应的随机字符串。
仍以掌纹特征信息为例进行说明。
假设从图像形式的掌纹特征信息中提取出的特征码中的某个四维特征向量为(ai1,ai2,ai3,ai4),步骤S101中客户端获得的该用户标识对应的随机字符串A的长度为160bit,则针对第一元素ai1和第二元素ai2进行加密时,客户端可将这160bit的随机字符串A平均划分为长度均为32bit的五个子串,得到第一子串A1、第二子串A2、第三子串A3、第四子串A4、第五子串A5。
S202:确定以第一子串对图像的宽度的模值为横坐标、第二子串对该图像的高度的模值为纵坐标的中心点。
其中,该图像即为图1所示的步骤S102中采集到的生物特征信息的图像
继续沿用上例,假设步骤S102中采集到的掌纹图像的宽度为d,高度为l,则第一子串A1对图像的宽度d取模的值为A1modd=x,第二子串A2对图像的高度l取模的值为A2modl=y,从而客户端确定中心点的坐标为(x,y)。
S203:确定第三子串对360的模值为旋转角度。
继续沿用上例,第三子串A3对360的模值为A3mod360=v,则客户端确定旋转角度为v。
S204:确定以该四维特征向量中第一元素为横坐标、以该四维特征向量中第二元素为纵坐标的第一位置点。
S205:根据该中心点的坐标和旋转角度,确定将该位置点绕该中心点顺时针或逆时针旋转该旋转角度后得到的第二位置点的坐标。
继续沿用上例,以第一元素ai1为横坐标、第二元素ai2为纵坐标的第一位置点的坐标即为(ai1,ai2),则客户端确定将该第一位置点(ai1,ai2)绕中心点(x,y)顺时针(或逆时针)旋转v度后得到的第二位置点的坐标,记为(x’,y’)。
S206:确定第二位置点的横坐标与第四子串的第一和值、第二位置点的纵坐标与第五子串的第二和值。
继续沿用上例,客户端确定第二位置点的横坐标x’与第四子串A4的第一和值x’+A4=x”,确定第二位置点的纵坐标y’与第五子串A5的第二和值y’+A5=y”。
S207:将第一和值对该图像的宽度的模值确定为加密后的第一元素,将第二和值对该图像的高度的模值确定为加密后的第二元素。
继续沿用上例,客户端确定第一和值x’’对该图像的宽度d的模值x”modd=a’i1,作为加密后的第一元素,确定第二和值y”对该图像的高度l的模值y”modl=a’i2,作为加密后的第二元素。
也即,对该四维特征向量加密后,得到的加密后的四维特征向量为(a’i1,a’i2,ai3,ai4)。
由上述方法可见,加密后的第一元素a’i1和加密后的第二元素a’i2均是通过若干次取模计算得到的,而对于取模计算来说,一个数U对另一个数Q取模的值是唯一的,假设为O,但对Q取模的值为O的数却并不是唯一的,例如,101对100取模的值为1,但对100取模的值为1的数却不止是101(1、101、201、301等这些数对100取模的值都是1),因此,上述基于取模计算的加密算法是不可逆加密算法,从而客户端将(a’i1,a’i2,ai3,ai4)发送给服务器的过程中,即使(a’i1,a’i2,ai3,ai4)泄露或被攻击者窃取,攻击者根据a’i1和a’i2也很难还原出原始的ai1和ai2,因此可有效提高在线注册过程中用户生物特征信息的安全性。
需要说明的是,上述如图2所示的加密方法只是以取模算法为例进行说明的,也可以使用除取模算法以外的其他不可逆加密算法对第一元素和第二元素进行加密,如哈希算法。
以上为对四维特征向量中的第一元素和第二元素进行加密的方法,下面说明对第四元素进行加密的方法。
图3为本申请实施例提供的客户端对四维特征向量中第四元素(第四元素用于表示生物细节特征信息在图像中所处的位置相对于图像中指定参照物的偏转角度)进行加密的过程,具体包括以下步骤:
S301:客户端确定获得的该用户标识对应的随机字符串对360的模值。
S302:将该四维特征向量中的第四元素与该模值的和值确定为加密后的第四元素。
仍以掌纹特征信息为例进行说明。
假设从图像形式的掌纹特征信息中提取出的特征码中的某个四维特征向量为(ai1,ai2,ai3,ai4),步骤S101中客户端获得的该用户标识对应的随机字符串A的长度为160bit,则客户端在对第四元素ai4进行加密时,可确定该随机字符串A对360的模值Amod360,再确定第四元素与该模值的和值,作为加密后的第四元素a’i4,即,a’i4=ai4+(Amod360)。从而,得到的加密后的四维特征向量即为(ai1,ai2,ai3,a’i4)。
同样的,由于a’i4是通过取模计算得到的,因此,客户端将ai1,ai2,ai3,a’i4)发送给服务器的过程中,即使(ai1,ai2,ai3,a’i4)泄露或被攻击者窃取,攻击者根据a’i4也很难还原出原始的ai4,因此可有效提高在线注册过程中用户生物特征信息的安全性。
需要说明的是,上述如图3所示的加密方法只是以取模算法为例进行说明的,也可以使用除取模算法以外的其他不可逆加密算法对第四元素进行加密,如哈希算法。
当然,在上述图2所示的对第一、二元素进行加密和/或图3所示的对第四元素进行加密的基础上,客户端还可对用于表示生物细节特征信息的特征标识的第三元素进行加密。具体的,客户端可根据目前能够被识别的生物细节特征信息的种类总数,对该第三元素进行加密。
仍以掌纹特征信息为例进行说明。
假设从图像形式的掌纹特征信息中提取出的特征码中的某个四维特征向量为(ai1,ai2,ai3,ai4),目前能够被识别的掌纹细节特征信息的种类总数为m种,则在图2所示的对第一、二元素进行加密和/或图3所示的对第四元素进行加密的基础上,客户端可根据m对第三元素ai3进行加密,例如,可将a’i3=m+1-ai3作为加密后的第三元素。
另外,在本申请实施例中,为了尽量提高在线注册过程中用户生物特征信息的安全性,上述如图2所示的对第一、二元素进行加密的方法、如图3所示的对第四元素进行加密的方法以及对第三元素进行加密的方法可结合使用,即针对步骤S102中提取出的特征码中包含的每个四维特征向量,采用如图2所示的方法对该四维特征向量中的第一元素和第二元素进行加密,采用如图3所示的方法对该四维特征向量中的第四元素进行加密,再根据目前能够被识别的生物细节特征信息的种类总数,对该四维特征向量中的第三元素进行加密。
仍以掌纹特征信息为例进行说明。假设从图像形式的掌纹特征信息中提取出的特征码中的某个四维特征向量为(ai1,ai2,ai3,ai4),则加密后的四维特征向量为(a’i1,a’i2,a’i3,a’i4)。其中,a’i1和a’i2是根据图2所示的加密方法得到的,a’i4是通过图3所示的加密方法得到的,a’i3=m+1-ai3。
进一步的,当将图2和图3所示的加密方法结合使用时,为了进一步提高用户生物特征信息的安全性,在图1所示的步骤S101中,客户端获取的该用户标识对应的随机字符串可包括第一随机字符串和第二随机字符串。则客户端可采用第一随机字符串,并基于如图2所示的方法,对四维特征向量中的第一元素和第二元素进行加密。客户端可采用第二随机字符串,并基于如图3所示的方法,对四维特征向量中的第四元素进行加密。
具体的,当步骤S101中客户端获取的随机字符串包括第一随机字符串和第二随机字符串时,如果由客户端自行生成这两个随机字符串,则客户端可生成第一随机数因子和第二随机数因子,并根据用户标识、用户标识对应的密钥、客户端自身的设备信息中的至少一个,以及生成的第一随机数因子和第二随机数因子,生成第一随机字符串和第二随机字符串。
例如,假设客户端生成的第一随机数因子为A0,第二随机数因子为B0,用户标识为用户ID,该用户ID的密钥为K,客户端的设备信息为P。则客户端可从ID、K、P中任选一种或几种的组合,再与A0生成该用户ID对应的第一随机字符串A。可从ID、K、P中任选一种或几种的组合,再与B0生成该用户ID对应的第二随机字符串B。如,客户端根据ID和P与A0生成该用户ID对应的第一随机字符串A时,可将ID和P置于A0之后,得到字符串A0+ID+P,再对字符串A0+ID+P采用SHA进行计算,得到第一随机字符串A。根据K和P与B0生成该用户ID对应的第二随机字符串B时,可将K和P置于B0之后,得到字符串B0+K+P,再对字符串B0+K+P采用SHA进行计算,得到第一随机字符串B。最后客户端采用第一随机字符串A并基于图2所示的方法对特征码中每个四维特征向量中的第一元素和第二元素进行加密,采用第二随机字符串B并基于图3所示的方法对特征码中每个四维特征向量中的第四元素进行加密。
另外,在实际应用中,也存在特征码中的特征向量是三维特征向量的情况,这种三维特征向量的前两个元素仍是表示生物细节特征信息在图像中所处位置的横坐标和纵坐标,第三个元素也是表示生物细节特征信息的特征标识,只不过此时第三个元素所表示的生物细节特征信息的特征标识与上例中四维特征向量中第三元素所表示的特征标识略有不同。
其不同之处在于:三维特征向量中的第三个元素相当于是整合了四维特征向量中的第三元素和第四元素。也就是说,在三维特征向量中,即使是相同的生物细节特征信息,但如果其相对于图像中指定参照物的偏转角度不同,那么其对应的特征标识也不同。或者说,在三维特征向量中,多个不同的特征标识所表示的可能是偏转角度各不相同的同一个生物细节特征。而在四维特征向量中,相同的生物细节特征信息对应的特征标识是相同的,偏转角度则由第四元素来表征。
因此,如果客户端从图像形式的生物特征信息中提取出的特征码是由若干个三维特征向量构成的向量集合,则步骤S103中客户端则可针对该特征码中包含的每个三维特征向量,采用该用户标识对应的随机字符串以及不可逆加密算法,对该三维特征向量中的至少一个元素进行加密处理。具体的,对该三维特征向量中的前两个元素进行加密的方法可以与图2所示的对四维特征向量中的第一元素和第二元素进行加密的方法相同。对三维特征向量中的第三个元素进行加密的方法可以是采用公式a’i3=m+1-ai3进行加密,也可以是采用公式a’i3=(A+ai3)modm进行加密。其中,a’i3为加密后的第三个元素,ai3为未加密的第三个元素,m为在三维特征向量的情况下(即,不同偏转角度的同一个生物细节特征的特征标识不同的情况)特征标识的总数,A为随机字符串,这里就不再一一赘述。
需要说明的是,虽然在实际应用中,上述特征码中所包含每个特征向量中的元素个数(即维数)会受到提取该特征码所使用的提取方法的影响,从而使得该特征码中包含的每个特征向量的维数可能不止三维、四维。但无论特征向量的维数是多少,该特征向量中包含的元素所表示的信息基本上可以划分为三部分,它们分别为:生物细节特征信息在包含有生物特征信息的图像中的坐标、生物细节特征信息的特征标识,以及生物细节特征信息在图像中所处位置相对于图像中指定参照物的偏转角度。而基于本申请实施例提供的对特征码中每个特征向量的加密方法可以看出,无论特征码中包含的特征向量的维数是多少,本申请实施例提供的对特征向量的加密方法均可适用。
进一步的,为了进一步提高注册过程中用户生物特征信息的安全性,由于通过上述方法得到的加密特征码中所包含的每个特征向量的格式都是相同的(即,每个特征向量的维数相同,每个特征向量中相应元素的取值范围也相同),因此,在图1所示的步骤S104中,客户端在将步骤S103得到的加密特征码作为该用户标识对应的注册特征码发送给服务器保存时,可向通过步骤S103得到的加密特征码中添加杂凑点,再将添加了杂凑点的加密特征码作为该用户标识对应的注册特征码发送给服务器保存。其中,本申请实施例中所述的杂凑点为与加密特征码中的特征向量的格式相同的向量。
例如,假设步骤S102中采集的生物特征信息为掌纹图像,从掌纹图像中提取的特征码包含的每个特征向量均是四维特征向量,而采集的掌纹图像的宽度为d,高度为l,目前能够被识别的掌纹细节特征信息的种类总数为m种,则采用上述对四维特征向量中的第一~四维元素进行加密后,每个加密后的四维特征向量中的第一元素的取值范围为[0,d],第二元素的取值范围为[0,l],第三元素的取值范围为[1,m],第四元素的取值范围为[0,360],因此,客户端可预先保存相应元素落在相应的取值范围内的若干个四维向量,作为杂凑点,在得到包含各加密后的四维特征向量的加密特征码后,将保存的杂凑点添加到加密特征码中,用以隐藏未添加前的加密特征码中包含的各加密后的四维特征向量,再将添加了杂凑点后的加密特征码作为注册特征码发送给服务器保存。这样,即使添加了杂凑点的加密特征码被窃取,攻击者也很难分辨添加了杂凑点的加密特征码包含的所有四维特征向量中,哪个是杂凑点,哪个才是经过加密的四维特征向量,从而可进一步提高生物特征信息的安全性。
以上为本申请实施例提供的在线注册的方法,相应的,本申请还提供一种在线认证的方法,如图4所示。
图4为本申请实施例提供的在线认证的过程,具体包括以下步骤:
S401:客户端根据用户输入的用户标识,获取该用户标识对应的随机字符串。
在本申请实施例中,用户在使用客户端进行在线认证时,可先输入其用户标识,客户端则可根据用户输入的用户标识,获取该用户标识对应的随机字符串。
其中,在图1所示的在线注册过程中,步骤S101中客户端在获得了一个用户标识对应的随机字符串后,可将该随机字符串保存在本地,也可将该随机字符串发送给服务器,使服务器将该随机字符串与该用户标识对应存储。从而,在图4所示的步骤S401中,客户端在获取用户的用户标识对应的随机字符串时,可先在本地查找该用户的用户标识对应的随机字符串,若未查找到,则从服务器中获取该服务器保存的用户的用户标识对应的随机字符串。
S402:采集该用户的生物特征信息,从生物特征信息中提取特征码。
步骤S402与图1所示的步骤S102基本相同,此处就不在一一赘述。
S403:采用该随机字符串和预设加密算法,对该特征码进行加密处理,得到加密特征码。
在本申请实施例中,客户端采用与图1所示的步骤S103同样的加密算法,对从步骤S402中提取出的特征码进行加密。
S404:客户端将该加密特征码作为该用户标识对应的待认证特征码发送给服务器,使服务器根据保存的该用户标识对应的注册特征码对该待认证特征码进行认证。
其中,上述注册特征码是采用该用户标识对应的随机字符串和所述预设加密算法,对从注册该用户标识的用户的生物特征信息中提取出的特征码进行加密处理得到的。
也即,通过本申请实施例提供的上述在线注册的方法可知,由于服务器中保存的用户标识对应的注册特征码是经过加密的特征码,具体是采用该用户标识对应的随机字符串、预设加密算法,对从注册该用户标识的用户的生物特征信息中提取的特征码进行加密的,而客户端中预设加密算法是固定不变的,因此,假设输入该用户标识、要进行认证的用户为第一用户,服务器保存的该用户标识是第二用户注册的用户标识,此时尚不能获知第一用户和第二用户是否为同一个用户,则第一用户在通过客户端认证时,只有输入的用户标识与第二用户注册的用户标识完全一致,且第一用户的生物特征信息与第二用户的生物特征信息完全一致的情况下,第一用户才能通过验证。
从而客户端需要获取要进行认证的第一用户输入的用户标识对应的随机字符串,并采集第一用户的生物特征信息,从中提取出特征值,再采用该随机字符串和预设加密算法对该特征值进行加密作为待认证特征码再发送给服务器,如果服务器确定待认证特征码与保存的该用户标识对应的注册特征码相同,则确定该第一用户就是注册该用户标识的第二用户,认证通过,否则认证不通过。
通过上述在线认证方法可以看出,客户端发送给服务器的待认证特征码也是经过加密的,因此即使在认证过程中该待认证特征码泄露或被窃取,攻击者也很难获得原始的生物特征信息,从而可有效提高在线认证过程中用户生物特征信息的安全性。
进一步的,在图4所示的在线认证过程中,步骤S402中客户端采集到的用户的生物特征信息也可以是图像形式的生物特征信息,如指纹、掌纹、眼纹、虹膜等,客户端从用户的生物特征信息中提取出的特征码也可以是由若干个四维特征向量构成的向量集合。其中,针对每个四维特征向量,该四维特征向量包含第一元素、第二元素、第三元素、第四元素。第一元素为生物细节特征信息在图像中所处位置的横坐标。第二元素为生物细节特征信息在图像中所处位置的纵坐标。第三元素为生物细节特征信息的特征标识。第四元素为生物细节特征信息在图像中所处的位置相对于图像中指定参照物的偏转角度。
当客户端从用户的生物特征信息中提取出的特征码为由若干个上述四维特征向量构成的向量集合时,步骤S403中客户端采用用户输入的该用户标识信息对应的随机字符串对该特征码进行加密处理的方法可以为:针对该特征码中包含的每个四维特征向量,采用该用户标识对应的随机字符串以及不可逆加密算法,对该四维特征向量中的至少一个元素进行加密处理。
在实际应用中,不可逆加密算法有很多种,如取模、哈希算法等。本申请实施例以取模为例,说明采用随机字符串以及不可逆加密算法对特征码进行加密的过程。
当对特征码中的一个四维特征向量中的第一元素和第二元素进行加密时,客户端可将该随机字符串划分成五个子串,得到第一子串、第二子串、第三子串、第四子串、第五子串,确定以第一子串对该图像的宽度的模值为横坐标、第二子串对该图像的高度的模值为纵坐标的中心点,确定第三子串对360的模值为旋转角度,确定以该四维特征向量中第一元素为横坐标、以该四维特征向量中第二元素为纵坐标的第一位置点,根据该中心点的坐标和该旋转角度,确定将该位置点绕该中心点顺时针或逆时针旋转所述旋转角度后得到的第二位置点的坐标,确定该第二位置点的横坐标与第四子串的第一和值、第二位置点的纵坐标与第五子串的第二和值,将该第一和值对该图像的宽度的模值确定为加密后的第一元素,将该第二和值对该图像的高度的模值确定为加密后的第二元素。
可见,在本申请实施例提供的在线认证过程中,客户端对从用户的生物特征信息中提取出的特征码中的每个四维特征向量中的第一、二元素进行加密的方法与上述在线注册过程中图2所示的加密方法是完全一致的,这里就不在举例说明。
当对特征码中的一个四维特征向量中的第四元素进行加密时,客户端可确定获得的该用户输入的用户标识对应的随机字符串对360的模值,将该四维特征向量中的第四元素与该模值的和值确定为加密后的第四元素。
可见,在本申请实施例提供的在线认证过程中,客户端对从用户的生物特征信息中提取出的特征码中的每个四维特征向量中的第四元素进行加密的方法与上述在线注册过程中图3所示的加密方法是完全一致的,这里就不在举例说明。
当然,在本申请实施例提供的在线认证过程中,在上述对第一、二元素进行加密和/或对第四元素进行加密的基础上,客户端还可对用于表示生物细节特征信息的特征标识的第三元素进行加密。具体的,客户端可根据目前能够被识别的生物细节特征信息的种类总数,对该第三元素进行加密。这与在线注册过程中客户端对第三元素的加密过程也是完全一致的。
也即,在线认证过程中客户端所使用的加密算法与在线注册过程中客户端所使用的加密算法是完全一致的。
为了进一步提高在线认证过程中用户生物特征信息的安全性,步骤S404中客户端在将步骤S403得到的加密特征码作为用户输入的用户标识对应的待认证特征码发送给服务器时,可向该加密特征码中添加杂凑点,将添加了杂凑点的加密特征码作为该用户标识对应的待认证特征码发送给服务器。其中,杂凑点为与该加密特征码中的特征向量的格式相同的向量。
相应的,服务器接收到该待认证特征码后,可直接提取自身保存的该用户标识对应的注册特征码,并根据提取的注册特征码对该待认证特征码进行认证。
具体的,当注册特征码和待认证特征码中均携带杂凑点时,服务器可直接比对二者以确定二者的相关度,当然,服务器也可以保存与客户端相同的杂凑点,并从注册特征码和待认证特征码中删除杂凑点,再进行相关度比对。
在进行相关度比对时,服务器可确定注册特征码与待认证特征码之间的欧氏距离,欧氏距离越大,相关度越小,欧氏距离越小,相关度越大。
由于注册特征码和待认证特征码都是特征向量的集合,因此,具体在确定欧氏距离时,可先按照某种规则,分别对注册特征码和待认证特征码中包含的各特征向量进行排序,如:按照第三元素从小到大的顺序,若第三元素相同则按第四元素从小到大的顺序排序。分别对注册特征码和待认证特征码中包含的各特征向量进行排序后,则可确定注册特征码和待认证特征码中排序序号相同的每两个特征向量的欧氏距离,将确定的每两个特征向量的欧氏距离之和或平均值作为注册特征码和待认证特征码的欧氏距离,最后判断注册特征码和待认证特征码之间的欧氏距离是否小于设定阈值,若是,则认证通过,否则认证不通过。
采用上述在线注册和认证方法时,若用户认为已经长时间没有更换注册特征码,需要更换时,客户端则可重新生成该用户标识对应的随机字符串,采用新随机字符串替换原有的本地保存的该用户标识对应的随机字符串,并通过如图1所示的在线注册方法,重新获得采用新生成的随机字符串加密得到的注册特征码,并将新注册特征码发送给服务器保存,是服务器采用新注册特征码替换原有的该用户标识对应的注册特征码。还可将新随机字符串发送给服务器,使服务器采用该新随机字符串替换原有的该用户标识对应的随机字符串。后续在进行在线认证时,客户端则可通过如图4所示的方法,在本地或从服务器中获取到该用户标识对应的新随机字符串,并基于新随机字符串进行后续流程,完成在线认证。
以上为本申请实施例提供的在线注册和认证的方法,基于同样的思路,本申请实施例还提供了在线注册的装置和在线认证的装置,如图5和图6所示。
图5为本申请实施例提供的在线注册的装置结构示意图,具体包括:
获得模块501,获得用户的用户标识对应的随机字符串;
采集模块502,采集所述用户的生物特征信息,并从所述生物特征信息中提取特征码;
加密模块503,采用所述随机字符串对所述特征码进行加密处理,得到加密特征码;
发送模块504,将所述加密特征码作为所述用户标识对应的注册特征码发送给服务器保存。
所述获得模块501具体用于,生成随机数因子,并根据所述用户标识、所述用户标识对应的密钥、所述装置自身的设备信息中的至少一个,以及所述随机数因子,生成所述用户标识对应的随机字符串;或者,接收服务器生成并发送的所述用户标识对应的随机字符串,其中,所述服务器发送的随机字符串是所述服务器根据所述用户标识、所述用户标识对应的密钥、所述装置上报的设备信息中的至少一个,以及生成的随机数因子生成的;或者,根据所述用户标识、所述用户标识对应的密钥、所述装置自身的设备信息中的至少一个,以及与服务器预先约定的随机数因子,生成所述用户标识对应的随机字符串。
所述生物特征信息为图像形式的生物特征信息,所述特征码为由若干个四维特征向量构成的向量集合;
所述四维特征向量包含第一元素、第二元素、第三元素、第四元素;
所述第一元素为生物细节特征信息在所述图像中所处位置的横坐标;
所述第二元素为生物细节特征信息在所述图像中所处位置的纵坐标;
所述第三元素为生物细节特征信息的特征标识;
所述第四元素为生物细节特征信息在所述图像中所处的位置相对于所述图像中指定参照物的偏转角度。
所述加密模块503具体用于,针对所述特征码中包含的每个四维特征向量,采用所述随机字符串以及不可逆加密算法,对该四维特征向量中的至少一个元素进行加密处理。
所述加密模块503具体用于,将所述随机字符串划分成五个子串,得到第一子串、第二子串、第三子串、第四子串、第五子串;确定以第一子串对所述图像的宽度的模值为横坐标、第二子串对所述图像的高度的模值为纵坐标的中心点;确定第三子串对360的模值为旋转角度;确定以该四维特征向量中第一元素为横坐标、以该四维特征向量中第二元素为纵坐标的第一位置点;根据所述中心点的坐标和所述旋转角度,确定将所述位置点绕所述中心点顺时针或逆时针旋转所述旋转角度后得到的第二位置点的坐标;确定所述第二位置点的横坐标与第四子串的第一和值、所述第二位置点的纵坐标与第五子串的第二和值;将所述第一和值对所述宽度的模值确定为加密后的第一元素,将所述第二和值对所述高度的模值确定为加密后的第二元素。
所述加密模块503具体用于,确定所述随机字符串对360的模值;将该四维特征向量中的第四元素与所述模值的和值确定为加密后的第四元素。
所述加密特征码为由若干个格式相同的特征向量构成的向量集合;
所述发送模块504具体用于,向所述加密特征码中添加杂凑点,所述杂凑点为与所述加密特征码中的特征向量的格式相同的向量;将添加了杂凑点的加密特征码作为所述用户标识对应的注册特征码发送给服务器保存。
具体的上述图5所示的在线注册的装置可以位于客户端中。
图6为本申请实施例提供的在线认证的装置结构示意图,具体包括:
获取模块601,根据用户输入的用户标识,获取所述用户标识对应的随机字符串;
采集模块602,采集所述用户的生物特征信息,从所述生物特征信息中提取特征码;
加密模块603,采用所述随机字符串和预设加密算法,对所述特征码进行加密处理,得到加密特征码;
发送模块604,将所述加密特征码作为所述用户标识对应的待认证特征码发送给服务器,使所述服务器根据保存的所述用户标识对应的注册特征码对所述待认证特征码进行认证;
其中,所述注册特征码是采用所述随机字符串和所述预设加密算法,对从注册所述用户标识的用户的生物特征信息中提取出的特征码进行加密处理得到的。
所述生物特征信息为图像形式的生物特征信息,所述特征码为由若干个四维特征向量构成的向量集合;
所述四维特征向量包含第一元素、第二元素、第三元素、第四元素;
所述第一元素为生物细节特征信息在所述图像中所处位置的横坐标;
所述第二元素为生物细节特征信息在所述图像中所处位置的纵坐标;
所述第三元素为生物细节特征信息的特征标识;
所述第四元素为生物细节特征信息在所述图像中所处的位置相对于所述图像中指定参照物的偏转角度。
所述加密模块603具体用于,针对所述特征码中包含的每个四维特征向量,采用所述随机字符串和预设的不可逆加密算法,对该四维特征向量中的至少一个元素进行加密处理。
所述加密模块603具体用于,将所述随机字符串划分成五个子串,得到第一子串、第二子串、第三子串、第四子串、第五子串;确定以第一子串对所述图像的宽度的模值为横坐标、第二子串对所述图像的高度的模值为纵坐标的中心点;确定第三子串对360的模值为旋转角度;确定以该四维特征向量中第一元素为横坐标、以该四维特征向量中第二元素为纵坐标的第一位置点;根据所述中心点的坐标和所述旋转角度,确定将所述位置点绕所述中心点顺时针或逆时针旋转所述旋转角度后得到的第二位置点的坐标;确定所述第二位置点的横坐标与第四子串的第一和值、所述第二位置点的纵坐标与第五子串的第二和值;将所述第一和值对所述宽度的模值确定为加密后的第一元素,将所述第二和值对所述高度的模值确定为加密后的第二元素。
所述加密模块603具体用于,确定所述随机字符串对360的模值;将该四维特征向量中的第四元素与所述模值的和值确定为加密后的第四元素。
所述加密特征码为由若干个格式相同的特征向量构成的向量集合;
所述发送模块604具体用于,向所述加密特征码中添加杂凑点,所述杂凑点为与所述加密特征码中的特征向量的格式相同的向量;将添加了杂凑点的加密特征码作为所述用户标识对应的待认证特征码发送给服务器。
具体的上述图6所示的在线注册的装置可以位于客户端中。
本申请实施例提供一种在线注册和认证的方法及装置,注册时,客户端获得用户标识对应的随机字符串,采集用户的生物特征信息并从中提取特征码,采用该随机字符串对该特征码进行加密得到加密特征码,将加密特征码作为该用户标识对应的注册特征码发送给服务器保存。通过上述方法,由于注册时客户端发送给服务器的特征码是经过加密的特征码,因此,即使加密特征码被攻击者窃取,攻击者也很难对其进行解密并获得原始的特征码,从而可有效提高生物特征信息的安全性。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。