本发明总体涉及移动支付技术领域,更具体地,涉及在移动端对硬件数字证书载体进行身份鉴别时,不需要输入证书密码(pin码)的方法。
背景技术:
近年来,随着互联网在中国的迅猛发展,越来越多的客户通过网上银行办理支付转账等业务。为了保证网银客户端的安全问题,银行方面采取了相应的防御措施,最常见的是使用身份认证技术来增加网银系统的安全系数。作为硬件数字证书载体,目前u盾类产品(usbkey)已广泛应用于国内的网上银行领域,是公认的较为安全的网银身份认证技术。
然而,每个硬件数字证书载体都有一个证书密码(pin码),用户结合移动终端应用(如手机网银)使用硬件数字证书载体时,需要输入pin(personalidentificationnumber)码进行验证,此过程不仅操作起来比较繁琐,如果pin码输入错误或用户忘记,就无法通过验证,如果是手机网银支付,就无法完成,影响用户体验。
技术实现要素:
针对上述存在的问题,本发明的目的在于提供一种硬件数字证书载体的身份鉴别方法,以克服现有技术中使用硬件数字证书载体时,总是需要输入pin码带来的操作繁琐问题。
本发明提供如下技术方案:一种硬件数字证书载体的身份鉴别方法,包括:硬件数字证书载体和移动端,所述移动端具有一对私钥da和公钥pa以及签名结果s1,所述签名结果s1通过公钥pa 随机数uaid经所述硬件数字证书载体签名后生成,身份鉴别方法包含以下步骤:
步骤1(s41),移动端申请鉴别随机数,并将发送s1||pa至硬件数字证书载体;
步骤2(s42),硬件数字证书载体对s1进行验证,验证成功后,生成随机数rb,内部缓存pa和rb;
步骤3(s43),硬件数字证书载体将rb返回至移动端;
步骤4(s44),移动端生成随机数ra,使用私钥da对ra||rb签名生成签名结果s2(ra||rb);
步骤5(s45),移动端发送鉴别数据ra||rb||s2(ra||rb)至硬件数字证书载体;
步骤6(s46),硬件数字证书载体使用缓存的pa和rb对鉴别数据ra||rb||s2(ra||rb)进行验证;
步骤7(s47),硬件数字证书载体将验证结果返回至移动端;
步骤8(s48),移动端根据返回的验证结果进行相应的操作。
优选地,所述签名结果s1通过签名授权处理得到,所述签名授权处理包含以下步骤:
步骤11(s11),用户在移动端的签名授权界面输入pin码;
步骤12(s12),移动端对输入的pin码加密,生成加密的pin码校验数据,并发送至硬件数字证书载体;
步骤13(s13),硬件数字证书载体对移动端发送的加密的pin码校验数据进行验证;
步骤14(s14),硬件数字证书载体将验证结果返回至移动端;
步骤15(s15),硬件数字证书载体验证成功后,移动端生成一对私钥da和公钥pa;
步骤16(s16),移动端向硬件数字证书载体发送其鉴别密钥的公钥pa;
步骤17(s17),硬件数字证书载体对公钥pa 随机数uaid签名,生成签名结果s1;
步骤18(s18),硬件数字证书载体将签名结果s1返回至移动端;
步骤19(s19),移动端保存签名结果s1。
优选地,所述硬件数字证书载体具有验证pin码的功能,所述硬件数字证书载体内部保存有pin码,所述硬件数字证书载体利用内部保存的pin码对接收的加密的pin码校验数据进行验证。
优选地,其特征在于,所述移动端使用移动端本身的内部安全存储功能,生成一对私钥da和公钥pa。
优选地,所述随机数uaid为硬件数字证书载体的应用过程id
优选地,所述随机数uaid在每次解锁pin码或硬件数字证书载体初始化后都会重新生成。
优选地,所述硬件数字证书载体使用硬件数字证书载体本身的设备密钥对公钥pa 随机数uaid进行签名。
优选地,移动端具有移动端本身的身份鉴别机制,在步骤1之前,还包括,通过身份鉴别机制对用户完成鉴别后进入步骤1。
优选地,移动端具有移动端本身的身份鉴别机制,在步骤11之前,还包括,通过身份鉴别机制对用户完成鉴别后进入步骤11。
优选地,所述移动端的身份鉴别机制包括锁屏图案、指纹、人脸中的至少一种。
相对于现有技术,本发明提供的一种硬件数字证书载体的身份鉴别方法,具有以下优势:本发明中依托移动端本身的身份鉴别机制和安全功能,通过使用硬件数字证书载体内部的设备密钥对进行授权,采用数字签名技术实现硬件数字证书载体的移动端身份鉴别功能,解决了在使用硬件数字证书载体时,每一次都需要输入硬件数字证书载体的pin码进行验证的问题,简化了操作,在保证安全的前提下,提升了用户体验。
附图说明
图1为本发明提供的签名授权处理的整个流程示意图;
图2为在移动端的签名授权处理流程图;
图3为在u盾端的签名授权处理流程图;
图4为本发明提供的身份鉴别处理的整个流程示意图;
图5为在移动端的身份鉴别处理流程图;
图6为在u盾端的身份鉴别处理流程图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,参考标号是指本发明中的组件、技术,以便本发明的优点和特征在适合的环境下实现能更易于被理解。下面的描述是对本发明权利要求的具体化,并且与权利要求相关的其它没有明确说明的具体实现也属于权利要求的范围。
以下以u盾为例,对本发明的硬件数字证书载体的身份鉴别方法进行说明。
本发明的身份鉴别方法,主要依托移动端本身的身份鉴别机制和安全功能,通过使用u盾内部的设备密钥对进行授权,采用数字签名技术实现u盾类产品移动端免密身份鉴别功能。
移动端可以但不限于是各种笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。本实施方式中,移动端为采用android(安卓)系统的移动终端。移动端中安装有银行客户端程序(app)。作为移动端的身份鉴别机制有锁屏图案、指纹、人脸等,安全功能例如通过移动端内的可信执行环境tee(trustedexecutionenvironment)、安全芯片se(secureelement)、tee se实现。
移动端和u盾通过otg(onthego)、蓝牙、nfc、音频等方式建立通讯连接,当然对于连接方式没有任何限制。
在本实施例中,移动端中安装的银行客户端程序(app)需要经过签名授权后,才能通过身份鉴别并进行免密支付(不需要输入pin码)等操作。
图1为本发明提供的签名授权处理的整个流程示意图。
如图1所示,用户打开移动端1中安装的银行客户端程序(app)的免密签名授权界面,采用移动端1的身份鉴别机制成功完成一次鉴别后,用户在移动端1的免密签名授权界面上输入pin码(步骤s11);移动端1对输入的pin码加密,生成加密的pin码校验数据,并发送至u盾2(步骤s12);u盾2对移动端1发送的加密的pin码校验数据进行验证(步骤s13);u盾2将验证结果返回至移动端1(步骤s14);u盾2验证成功后,移动端1生成鉴别密钥对,该鉴别密钥对为一对私钥da和公钥pa(步骤s15);授权申请:移动端1向u盾2发送其鉴别密钥的公钥pa(步骤s16);u盾2对pa uaid签名,生成签名结果s1(步骤s17);u盾2将签名结果s1返回至移动端1(步骤s18);移动端1保存签名结果s1(步骤s19)。
上述步骤执行完成后,移动端提示完成授权操作,说明签名授权成功,可以通过身份鉴别进行免密支付了。
图2为在移动端的签名授权处理流程图。
如图2所示,在移动端的签名授权处理流程如下:
移动端1将用户输入的pin码转换为加密的pin码校验数据发送至u盾2(步骤s21)。
u盾2对其验证,并发送验证结果,具体验证方法请详见图3说明。
移动端1接收验证结果(步骤s22)。
移动端1判断验证结果是否成功(步骤s23),如果是,则生成鉴别密钥对,私钥da和公钥pa(步骤s24),如果否,则返回免密授权界面(步骤s25),提示重新输入pin码。
其中,移动端1的se/tee内部安全存储提供密码服务功能,并根据其支持的密码算法,包括:sm2,rsa2048,或者ecdsa,生成鉴别密钥对。
移动端1向u盾2发送其鉴别密钥的公钥pa,作为授权申请(步骤s26)。
u盾2接收公钥pa后对pa uaid签名,生成签名结果s1,并返回至移动端1。
移动端1接收并保存签名结果s1(步骤s27),之后,移动端1提示完成授权操作(步骤s28)。
图3为在u盾端的签名授权处理流程图。
如图3所示,在u盾端的签名授权处理流程如下:
u盾2接收加密的pin码校验数据(步骤s31)。
u盾2对接收的加密的pin码校验数据进行验证(步骤s32),如将接收的加密的pin码校验数据与u盾2中保存的pin码进行匹配,如果匹配成功,则发送验证成功结果(步骤s33),如果匹配失败,则发送验证失败结果(步骤s34)。
移动端1接收验证结果后作出判断,发送公钥pa至u盾2。
u盾2接收公钥pa(步骤s35)。
u盾2使用设备密钥对pa uaid进行签名,生成签名结果s1(步骤s36)
u盾2使用的设备密钥由出厂前安全芯片内部生成,无私钥导出接口,除本实施例中的授权功能外,无私钥签名接口。设备密钥包括:sm2密钥对、rsa密钥对或者ecdsa密钥对。
uaid为u盾应用过程id,是一个随机数,在每次解锁pin码或u盾初始化(用户pin码被重置为初始默认的pin码)后都会重新生成,使用uaid,增大了免密操作的安全性。
u盾2发送签名结果s1至移动端1(步骤s37)。
取消免密签名授权时,用户需要打开移动端1中安装的银行客户端(app)的免密签名授权界面,选择取消免密签名授权,移动端1将图1所示步骤s15中的鉴别密钥对删除,或将步骤s19中保存的s1删除,经用户确认后即可完成取消免密签名授权的操作。
图4为本发明提供的身份鉴别处理的整个流程示意图。
移动端1中安装的银行客户端程序(app)经过签名授权后,在移动端办理支付转账等业务时,打开移动端1中安装的银行客户端程序(app)的支付界面,采用移动端1的身份鉴别机制成功完成一次鉴别后,将u盾2与移动端1连接,会在后台自动进行身份鉴别处理流程,流程执行成功后,获得u盾用户权限,此时,只需要打开支付界面进行转账即可,而无需再次输入pin码,简化了操作。如图4所示,身份鉴别处理流程如下:
移动端1申请鉴别随机数:发送s1||pa至u盾2(步骤s41)。
u盾2使用其设备密钥对s1进行验证,验证成功后,生成随机数rb,内部缓存pa和rb(步骤s42)。
u盾2将rb返回至移动端1(步骤s43)。
移动端1生成随机数ra,使用私钥da对ra||rb签名生成签名结果s2(ra||rb)(步骤s44)。
移动端1发送鉴别数据:发送ra||rb||s2(ra||rb)至u盾2(步骤s45)。
u盾2使用缓存的pa和rb对鉴别数据进行验证(步骤s46)。
u盾2将验证结果返回至移动端1(步骤s47)。
移动端1根据返回的验证结果进行相应的操作(步骤s48)。
以上步骤执行成功后,移动端1获得u盾2用户权限,可以使用u盾2进行后续的数字签名等操作,即:用户可以在移动端1中安装的银行客户端程序(app)上进行免密支付。
图5为在移动端的身份鉴别处理流程图。
如图5所示,在移动端的身份鉴别处理流程如下:
移动端1申请鉴别随机数,即发送s1||pa至u盾2(步骤s51)。
u盾2对s1进行验证,并发送验证结果,具体验证方法请详见图6说明。
移动端1接收验证结果(步骤s52)。
移动端1判断验证结果是否成功(步骤s53),当接收结果为随机数rb时,判断为是,生成随机数ra,使用私钥da对ra||rb签名生成签名结果s2(ra||rb)(步骤s54),当接收结果为验证失败时,判断为否,则返回免密授权界面(步骤s55),提示验证失败,需要重新输入pin码,重新进行免密签名授权操作。
移动端1发送鉴别数据:发送ra||rb||s2(ra||rb)至u盾2(步骤s56)。
u盾2对ra||rb||s2(ra||rb)进行验证,并发送验证结果,具体验证方法请详见图6说明。
移动端1接收验证结果(步骤s57)。
移动端1判断验证结果是否成功(步骤s58),如果是,移动端1提示完成签名(步骤s59),表示步骤执行成功,移动端1获得u盾2用户权限,可以使用u盾2进行后续的数字签名等操作,即:用户可以在移动端1中安装的银行客户端程序(app)上进行免密支付。如果否,则返回免密授权界面(步骤s55),提示验证失败,需要重新输入pin码,重新进行免密签名授权操作。
图6为在u盾端的身份鉴别处理流程图。
如图6所示,在u盾端的身份鉴别处理流程如下:
u盾2接收s1||pa(步骤s61)。
u盾2使用其设备密钥对s1进行验证(步骤s62),即,u盾2使用其设备密钥对s1进行解密,如果得到pa uaid,说明验证成功,如果未得到pa uaid,说明验证失败。当验证成功时,生成随机数rb,内部缓存pa和rb(步骤s63),发送rb至移动端1(步骤s65)。当验证失败时,发送验证失败结果至移动端1(步骤s64)。
移动端1接收验证结果,并对验证结果判断后,发送鉴别数据ra||rb||s2(ra||rb)至u盾2,具体判断方法请详见图5说明。
u盾2接收ra||rb||s2(ra||rb)(步骤s66)。
u盾2使用缓存的pa和rb对鉴别数据ra||rb||s2(ra||rb)进行验证(步骤s67),即,u盾2使用公钥pa对s2(ra||rb)进行解密,如果得到ra||rb,说明验证成功,如果未得到ra||rb,说明验证失败。当验证失败时,发送验证失败结果至移动端1(步骤s64),当验证成功时,发送验证成功结果至移动端1(步骤s68)。
以上步骤执行成功后,获得u盾2用户权限,可以使用u盾2进行后续的数字签名等操作,即:用户可以在移动端1中安装的银行客户端程序(app)上进行免密支付。
具体例
以下结合签名授权场景具体进行说明。
步骤1,用户打开移动端1中安装的银行客户端程序(app)的免密签名授权界面,输入指纹。
步骤2,移动端1鉴别指纹,通过其自身的指纹识别身份鉴别机制成功完成一次鉴别。
步骤3,用户在免密签名授权界面输入正确的u盾2的pin码。
步骤4,移动端1提示用户将u盾2与移动端1建立通信连接。
步骤5,确认连接,建立连接后,移动端1执行图1所示步骤s12至步骤s19所述授权处理流程,移动端1提示完成授权操作。
经过签名授权后,用户免密身份鉴别场景过程如下:
步骤1,移动端1提示用户使用其自身的指纹识别身份鉴别机制成功完成一次鉴别。
步骤2,移动端1提示用户将u盾2产品与移动端1建立通信连接。
步骤3,移动端1执行图2所示步骤s41至步骤s47所述鉴别处理流程,移动端1提示完成签名。
本发明中依托移动端1本身的身份鉴别机制和安全功能,通过使用硬件数字证书载体内部的设备密钥对进行授权,采用数字签名技术实现硬件数字证书载体的移动端身份鉴别功能,解决了在使用硬件数字证书载体时,每一次都需要输入硬件数字证书载体的pin码进行验证的问题,简化了操作,在保证安全的前提下,提升了用户体验。
应该注意的是,上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。
1.一种硬件数字证书载体的身份鉴别方法,其特征在于,包括:硬件数字证书载体和移动端,
所述移动端具有一对私钥da和公钥pa以及签名结果s1,所述签名结果s1通过公钥pa 随机数uaid经所述硬件数字证书载体签名后生成,身份鉴别方法包含以下步骤:
步骤1(s41),移动端申请鉴别随机数,并将发送s1||pa至硬件数字证书载体;
步骤2(s42),硬件数字证书载体对s1进行验证,验证成功后,生成随机数rb,内部缓存pa和rb;
步骤3(s43),硬件数字证书载体将rb返回至移动端;
步骤4(s44),移动端生成随机数ra,使用私钥da对ra||rb签名生成签名结果s2(ra||rb);
步骤5(s45),移动端发送鉴别数据ra||rb||s2(ra||rb)至硬件数字证书载体;
步骤6(s46),硬件数字证书载体使用缓存的pa和rb对鉴别数据ra||rb||s2(ra||rb)进行验证;
步骤7(s47),硬件数字证书载体将验证结果返回至移动端;
步骤8(s48),移动端根据返回的验证结果进行相应的操作。
2.根据权利要求1所述的方法,其特征在于,所述签名结果s1通过签名授权处理得到,所述签名授权处理包含以下步骤:
步骤11(s11),用户在移动端的签名授权界面输入pin码;
步骤12(s12),移动端对输入的pin码加密,生成加密的pin码校验数据,并发送至硬件数字证书载体;
步骤13(s13),硬件数字证书载体对移动端发送的加密的pin码校验数据进行验证;
步骤14(s14),硬件数字证书载体将验证结果返回至移动端;
步骤15(s15),在硬件数字证书载体验证成功后,移动端生成一对私钥da和公钥pa;
步骤16(s16),移动端向硬件数字证书载体发送其鉴别密钥的公钥pa;
步骤17(s17),硬件数字证书载体对公钥pa 随机数uaid签名,生成签名结果s1;
步骤18(s18),硬件数字证书载体将签名结果s1返回至移动端;
步骤19(s19),移动端保存签名结果s1。
3.根据权利要求2所述的方法,其特征在于,所述硬件数字证书载体具有验证pin码的功能,所述硬件数字证书载体内部保存有pin码,所述硬件数字证书载体利用内部保存的pin码对接收的加密的pin码校验数据进行验证。
4.根据权利要求1或2所述的方法,其特征在于,所述移动端使用移动端本身的内部安全存储功能,生成一对私钥da和公钥pa。
5.根据权利要求1或2所述的方法,其特征在于,所述随机数uaid为硬件数字证书载体的应用过程id。
6.根据权利要求5所述的方法,其特征在于,所述随机数uaid在每次解锁pin码或硬件数字证书载体初始化后重新生成。
7.根据权利要求1或2所述的方法,其特征在于,所述硬件数字证书载体使用硬件数字证书载体本身的设备密钥对公钥pa 随机数uaid进行签名。
8.根据权利要求1所述的方法,其特征在于,移动端具有移动端本身的身份鉴别机制,在步骤1之前,还包括,通过身份鉴别机制对用户完成鉴别后进入步骤1。
9.根据权利要求2所述的方法,其特征在于,移动端具有移动端本身的身份鉴别机制,在步骤11之前,还包括,通过身份鉴别机制对用户完成鉴别后进入步骤11。
10.根据权利要求8或9所述的方法,其特征在于,所述移动端的身份鉴别机制包括锁屏图案、指纹、人脸中的至少一种。
技术总结