二维码生成方法及装置与流程

文档序号:17444118发布日期:2019-04-17 05:16阅读:265来源:国知局
二维码生成方法及装置与流程

本发明涉及信息安全技术领域,具体涉及一种二维码生成方法及装置。



背景技术:

随着现代计算机网络系统技术的发展,为了确定用户对某些资源的访问和使用权限,需要对用户的身份进行认证,以确保系统的安全和授权用户的合法访问和使用权益,并且防止未授权用户的非法访问和使用。

相关身份认证技术中,生物识别技术比传统的身份认证技术更具安全、保密和方便性。在所有的生物识别技术中,由于人体眼睛中的虹膜的高度独特性、稳定性及不可更改的特点,虹膜识别技术是当前应用最为方便和精确的一种。

虹膜识别技术通过获取人眼虹膜的图像,对虹膜图像进行预处理,然后利用特定算法提取特征数据,最后将所提取到的特征数据与预先存储在数据库中的虹膜图像特征数据进行比对以判断是否为相同虹膜,从而达到身份认证的目的。

然而,虹膜图像的获取以及虹膜特征数据的提取等相关操作需要特定的专业设备来进行,因而限制了虹膜特征在身份认证相关领域的应用。



技术实现要素:

本发明的目的在于,针对上述现有技术中的不足,提供一种二维码生成方法及装置,以解决虹膜特征在身份认证相关领域应用受限的问题。

为实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种二维码生成方法,用于生成动态虹膜二维码,该方法包括:

获取虹膜特征数据;

采用基于时间的一次性密码算法,根据当前时间对虹膜特征数据进行加密,得到动态加密虹膜数据;

根据动态加密虹膜数据生成动态虹膜二维码。

进一步地,所述获取虹膜特征数据,包括:

通过识别虹膜图像来获取虹膜特征数据;或者

获取预先存储的虹膜特征数据。

进一步地,所述通过识别虹膜图像来获取虹膜特征数据,包括:

获取虹膜图像;

采用预先设置的算法,提取虹膜图像中的虹膜特征;

对虹膜特征进行编码处理,得到虹膜特征数据。

进一步地,所述对所述虹膜特征进行编码处理,得到虹膜特征数据,包括:

对虹膜特征进行编码,采用预定密钥对经编码的虹膜特征进行加密,以得到虹膜特征数据。

进一步地,所述根据动态加密数据生成动态虹膜二维码,包括:

获取预设的密码信息;

根据动态加密数据和预设的密码信息生成动态虹膜二维码。

第二方面,本发明实施例还提供了一种二维码生成装置,用于生成动态虹膜二维码,该装置包括:

数据获取模块,用于获取虹膜特征数据;

动态加密模块,用于采用基于时间的一次性密码算法,根据当前时间对虹膜特征数据进行加密,得到动态加密虹膜数据;

二维码生成模块,用于根据动态加密虹膜数据生成动态虹膜二维码。

进一步地,该数据获取模块,包括如下中的至少之一:

第一数据获取子模块,用于获取预先存储的虹膜特征数据;

第二数据获取子模块,用于通过识别虹膜图像来获取虹膜特征数据。

进一步地,该第二数据获取子模块,包括:

虹膜图像获取模块,用于获取虹膜图像;

虹膜特征提取模块,用于采用预先设置的算法,提取虹膜图像中的虹膜特征;

虹膜特征编码模块,用于对虹膜特征进行编码处理,得到虹膜特征数据。

进一步地,该虹膜特征编码模块,具体用于:

对虹膜特征进行编码,采用预定密钥对经编码的虹膜特征进行加密,以得到虹膜特征数据。

进一步地,该二维码生成模块,具体用于:

获取预设的密码信息;

根据动态加密数据和预设的密码信息生成动态虹膜二维码。

本发明的有益效果包括:

本发明实施例通过获取虹膜特征数据,然后采用基于时间的一次性密码算法,根据当前时间对虹膜特征数据进行加密,得到动态加密虹膜数据,再根据动态加密虹膜数据生成动态虹膜二维码。通过采用基于时间的一次性密码算法对虹膜特征数据进行动态加密,确保了虹膜特征数据的安全性,再根据经动态加密的虹膜数据生成动态虹膜二维码,方便各种身份认证终端利用常规的二维码识别技术进行扫描识别,以获得表示待认证用户的身份信息的虹膜特征数据,从而提高了虹膜特征在身份认证领域应用的便利性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明一实施例提供的二维码生成方法的流程示意图;

图2为本发明另一实施例提供的二维码生成方法的流程示意图;

图3为本发明又一实施例提供的二维码生成方法的流程示意图;

图4为本发明一实施例提供的二维码生成装置的示意图;

图5为本发明另一实施例提供的二维码生成装置的示意图;

图6为本发明实施例提供的二维码生成装置的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

图1为本发明一实施例提供的二维码生成方法的流程示意图,如图1所示,该方法用于生成动态虹膜二维码,该方法包括:

步骤101、获取虹膜特征数据。

虹膜识别技术是基于人的眼睛中的虹膜图像进行身份识别的技术,应用于安防设备以及有高度保密需求的场所。人的眼睛结构由巩膜、虹膜、瞳孔晶状体、视网膜等部分组成。虹膜是位于黑色瞳孔和白色巩膜之间的圆环状部分,其包含有很多相互交错的斑点、细丝、冠状、条纹、隐窝等的细节特征。而且虹膜在胎儿发育阶段形成后,在整个生命历程中将是保持不变的。这些特征决定了虹膜特征的唯一性,同时也决定了身份识别的唯一性。因此,可以将眼睛的虹膜特征作为每个人的身份识别对象。

虹膜识别通过对比虹膜图像特征之间的相似性来确定人们的身份,属于免密码非接触的高端身份认证技术。为了利用计算机对虹膜特征进行对比处理,首先需要获取表示虹膜图像特征的虹膜特征数据。由于虹膜图像特征的唯一性,因此可以根据预定的编码算法获取具有唯一性的对应的虹膜特征数据。

通常,对于虹膜特征数据的获取,可以采用如下两种方式:通过现场采集人眼的虹膜图像,进行处理编码,进而获得虹膜特征数据;或者读取预先存储在存储装置中的虹膜特征数据。下文中将对这两种方式进行详细描述。

步骤102、采用基于时间的一次性密码算法,根据当前时间对虹膜特征数据进行加密,得到动态加密虹膜数据。

在获得虹膜特征数据之后,通常不可以直接将其用于生成二维码图案。如上所述,人的虹膜特征具有唯一性和稳定不变性,因此采用预定编码算法获得的虹膜特征数据也具有唯一性和稳定不变性。如果将获得的原始虹膜特征数据直接应用于生成二维码图案或者进行信息传输,一旦发生数据泄露,则将泄露用户的虹膜特征,这将产生严重的不利影响。因此,在应用所获得的虹膜特征数据之前,需要对虹膜特征数据进行加密处理。

totp(time-basedone-timepassword,基于时间的一次性密码)算法是采用基于时间(基于终端设备的当前时间)、事件和密钥三个变量产生的动态的一次性密码(通常每隔60秒产生一次,也可以每隔30秒产生一次,或者其他时间间隔),所生成的一次性密码只能被使用一次,因此可以有效保护用户信息的安全性。用于采用totp算法的每个移动终端都有一个唯一的密钥,该密钥同时存放在服务器,每次认证时移动终端与服务器分别根据同样的密钥、同样的随机参数(时间、事件)和同样的预定算法计算待认证的动态密码数据,从而双边确保密码数据的一致性,以实现用户的身份认证。

因每次认证时的随机参数不同,所以每次产生的动态密码数据也不同,而参数的随机性保证了每次密码数据的不可预测性,从而在最基本也是最重要的密码认证环节保证了系统的安全性。

在本发明的实施例中,用于生成动态虹膜二维码的移动终端可以采用上述totp算法,基于移动终端的当前时间、所获取的虹膜特征数据、移动终端与服务器之间预先共享的密钥,每隔预定时间间隔(例如,60秒或30秒或其他时间间隔)产生动态加密虹膜数据以用于后续处理,从而保证了虹膜特征数据的安全性。

本发明的移动终端可以包括但不限于:个人计算机终端、笔记本电脑、平板电脑、手机、商业场所的各种专业终端系统(例如银行网点的专业终端系统)等等。

步骤103、根据动态加密虹膜数据生成动态虹膜二维码。

在根据上述步骤获得动态加密虹膜数据之后,可以利用移动终端生成包含虹膜特征数据的二维码图案。

二维码是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,在现代商业活动中,可实现的应用十分广泛,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子商务应用、车辆管理、信息传递等。

通常,可以采用如下常规的二维码码制技术来将特定数据转换为二维码图案:pdf417、qrcode、code49、code16k、codeone、二维码网格矩阵码(sj/t11349-2006)以及二维码紧密矩阵码(sj/t11350-2006)等等。

本发明实施例中,可以采用例如上述的任何二维码技术来将已经获得的动态加密虹膜数据转换为动态虹膜二维码,以方便其他认证终端例如通过扫描的方式读取动态虹膜二维码,本发明对所采用的将动态加密虹膜数据转换为动态虹膜二维码的二维码技术不作限制。

可选地,在根据动态加密虹膜数据生成动态虹膜二维码时,可以附加地设置密码信息。

具体地,可以首先获取预设的密码信息,然后再根据已经得到的动态加密数据和预设的密码信息生成动态虹膜二维码。在将该动态虹膜二维码应用于身份认证时,需要对虹膜特征数据和预设的密码信息进行双重验证,只有两者均验证通过时,才能够通过身份认证,从而进一步确保了身份认证的可靠性和安全性。

综上所述,本发明实施例通过获取虹膜特征数据,然后采用基于时间的一次性密码算法,根据当前时间对虹膜特征数据进行加密,得到动态加密虹膜数据,再根据动态加密虹膜数据生成动态虹膜二维码。通过采用基于时间的一次性密码算法对虹膜特征数据进行动态加密,确保了虹膜特征数据的安全性,再根据经动态加密的虹膜数据生成动态虹膜二维码,方便各种身份认证终端利用常规的二维码识别技术进行扫描识别,以获得表示待认证用户的身份信息的虹膜特征数据,从而提高了虹膜特征在身份认证领域应用的便利性。

图2为本发明另一实施例提供的二维码生成方法的流程示意图,如图2所示,该方法用于生成动态虹膜二维码,该方法包括:

步骤201、获取预先存储的虹膜特征数据。

如上文所述,用于生成动态虹膜二维码的移动终端可以采用不同的方式来获取虹膜特征数据。对于不具备虹膜图像采集和识别功能的移动终端,例如手机,通常可以获取预先存储的虹膜特征数据。这些虹膜特征数据可以被预先存储在用于生成动态虹膜二维码的移动终端中的存储装置中,也可以被预先存储在其他存储装置中。在移动终端需要生成动态虹膜二维码时,可以从自身的存储装置或其他存储装置中直接获取待使用的虹膜特征数据。

该步骤要求在准备生成动态虹膜二维码之前,在具备虹膜图像采集和识别功能的终端上,已经采集并识别虹膜图像,提取了虹膜特征,并且获得了经编码的虹膜特征数据。

在实际应用中,通过从存储装置中读取预先存储的虹膜特征数据,可以无需虹膜图像获取和识别设备、简化动态二维码生成过程、缩短操作时间,并且更加易于操作。

步骤202、采用基于时间的一次性密码算法,根据当前时间对虹膜特征数据进行加密,得到动态加密虹膜数据。

步骤203、根据动态加密虹膜数据生成动态虹膜二维码。

由于步骤202至步骤203的过程,与步骤102至步骤103的过程类似,在此不再赘述。

需要说明的是,本实施例中所需要的虹膜特征数据是被预先存储在存储装置中,与采集虹膜图像并进行识别以获得虹膜特征数据相比,获取预先存储的虹膜特征数据方便快捷,无需虹膜图像获取和识别设备、简化动态二维码生成过程、缩短操作时间,并且更加易于操作。

综上所述,本发明实施例通过获取预先存储的虹膜特征数据,然后采用基于时间的一次性密码算法,根据当前时间对虹膜特征数据进行加密,得到动态加密虹膜数据,再根据动态加密虹膜数据生成动态虹膜二维码。通过采用基于时间的一次性密码算法对从存储装置存储的虹膜特征数据进行动态加密,确保了虹膜特征数据的安全性,再根据经动态加密的虹膜数据生成动态虹膜二维码,方便各种身份认证终端利用常规的二维码识别技术进行扫描识别,以获得表示待认证用户的身份信息的虹膜特征数据,从而提高了虹膜特征在身份认证领域应用的便利性。

图3为本发明又一实施例提供的二维码生成方法的流程示意图,如图3所示,该方法用于生成动态虹膜二维码,该方法包括:

步骤301、获取虹膜图像。

与上述实施例中从存储装置获取预先存储的虹膜特征数据不同,在没有预先存储虹膜特征数据或者用于生成动态虹膜二维码的终端无法访问存储虹膜特征数据的存储装置时,如果该终端具备虹膜图像采集和识别功能,则可以直接采集虹膜图像并进行识别分析,以得到虹膜特征数据。该方法对于设备专业性要求较高,并且相比于上述实施例,操作复杂、花费时间较长,但是该方法可以直接对待认证的用户的虹膜特征进行实时采集,可靠性和安全性高,防止了所获取的虹膜特征数据不真实等隐患。

获取虹膜图像是虹膜识别系统的第一道工序,也是决定系统整体质量的关键环节。可以使用特定的摄像器材对人的整个眼部进行拍摄,并将拍摄到的图像传输给虹膜识别系统的图像预处理软件。虹膜图像的获取对光源要求比较高。如果光源质量低,所获取的虹膜图像质量差,则会严重影响后续对虹膜特征的提取与分析。因此,需要在良好光源的条件下,采用特定摄像器材来获取虹膜图像。

步骤302、采用预先设置的算法,提取虹膜图像中的虹膜特征。

在获取到虹膜图像之后,对获取到的虹膜图像进行如下处理,使其满足提取虹膜特征的需要:

虹膜定位:确定内圆、外圆和二次曲线在图像中的位置。其中,内圆为虹膜与瞳孔的边界,外圆为虹膜与巩膜的边界,二次曲线为虹膜与上下眼皮的边界;

虹膜图像归一化:抽取图像中呈圆环状的虹膜图像,经特定处理技术变换为长条状的图像,并消除图像噪音信号;

图像增强:针对归一化后的图像,进行亮度、对比度及平滑度等处理,提高图像中虹膜信息的识别率;

对虹膜图像进行上述处理后,可以采用预先设置的特定算法从经处理的虹膜图像中提取出虹膜识别所需的特征点作为虹膜特征。所采用的特定算法可以是傅里叶变换和小波变换等算法,本发明对此不作限定。

步骤303、对虹膜特征进行编码处理,得到虹膜特征数据。

在获得虹膜特征之后,需要对其进行编码,以生成虹膜特征数据。所生成的虹膜特征数据可以用于进行身份识别。在进行身份识别时,可以通过将所得到的虹膜特征数据与数据库中的虹膜特征数据逐一进行匹配验证,判断是否为相同虹膜,从而达到身份识别的目的。

需要说明的是,本发明实施例中所获得的虹膜特征数据没有直接用于身份识别,可以用于在后续步骤中转换成动态虹膜二维码,然后在需要进行身份认证时通过扫描识别动态虹膜二维码,再从动态虹膜二维码中获取虹膜特征数据来进行身份识别。如此,可以有助于虹膜特征数据的快捷安全获取,并且有助于进行虹膜特征数据的远程身份认证。

可选地,对虹膜特征进行编码之后,可以采用预定密钥对经编码的虹膜特征进行加密,以得到虹膜特征数据。如此,待认证的用户的未加密的原始虹膜特征数据生成之后即被加密,防止了原始虹膜特征数据被泄露的可能性,确保了用户的原始虹膜特征数据的安全性。在进行认证的设备获得经加密的虹膜特征数据之后,可以采用预定密钥对虹膜特征数据进行解密,再进行虹膜特征数据的匹配验证。

步骤304、采用基于时间的一次性密码算法,根据当前时间对虹膜特征数据进行加密,得到动态加密虹膜数据。

步骤305、根据动态加密虹膜数据生成动态虹膜二维码。

由于步骤304至步骤305的过程,与步骤102至步骤103的过程类似,在此不再赘述。

需要说明的是,本实施例中所需要的虹膜特征数据是通过专业设备采集虹膜图像并进行识别提取所得到的虹膜特征数据。该实施例对于设备专业性要求较高,并且相比于上述实施例,操作复杂、花费时间较长,但是该实施例可以直接对待认证的用户的虹膜特征进行实时采集,可靠性和安全性高,防止了所获取的虹膜特征数据不真实等隐患。

综上所述,本发明实施例通过获取虹膜图像,采用预先设置的算法,提取虹膜图像中的虹膜特征,对虹膜特征进行编码处理,得到虹膜特征数据,然后采用基于时间的一次性密码算法,根据当前时间对虹膜特征数据进行加密,得到动态加密虹膜数据,再根据动态加密虹膜数据生成动态虹膜二维码。通过采用基于时间的一次性密码算法对从存储装置存储的虹膜特征数据进行动态加密,确保了虹膜特征数据的安全性,再根据经动态加密的虹膜数据生成动态虹膜二维码,方便各种身份认证终端利用常规的二维码识别技术进行扫描识别,以获得表示待认证用户的身份信息的虹膜特征数据,从而提高了虹膜特征在身份认证领域应用的便利性。

图4为本发明一实施例提供的二维码生成装置的示意图,如图4所示,该装置可以包括:

数据获取模块401,用于获取虹膜特征数据;

动态加密模块402,用于采用基于时间的一次性密码算法,根据当前时间对虹膜特征数据进行加密,得到动态加密虹膜数据;

二维码生成模块403,用于根据动态加密虹膜数据生成动态虹膜二维码。

可选地,参照图5,该数据获取模块401,包括如下中的至少之一:

第一数据获取子模块4011,用于获取预先存储的虹膜特征数据;;

第二数据获取子模块4012,用于通过识别虹膜图像来获取虹膜特征数据。

可选地,该第二数据获取子模块4012,包括:

虹膜图像获取模块4012a,用于获取虹膜图像;

虹膜特征提取模块4012b,用于采用预先设置的算法,提取虹膜图像中的虹膜特征;

虹膜特征编码模块4012c,用于对虹膜特征进行编码处理,得到虹膜特征数据。

可选地,该虹膜特征编码模块4012c,具体用于:

对虹膜特征进行编码,采用预定密钥对经编码的虹膜特征进行加密,以得到虹膜特征数据。

可选地,该二维码生成模块403,具体用于:

获取预设的密码信息;

根据动态加密数据和预设的密码信息生成动态虹膜二维码。

上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

图6为本发明实施例提供的二维码生成装置的流程示意图,该装置可以集成于终端设备或者终端设备的芯片,该终端可以是具备图像处理功能的计算设备。

该装置包括:存储器601、处理器602。

存储器601用于存储程序,处理器602调用存储器601存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。

可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1