一种实现安全认证的方法、装置和系统转让专利

申请号 : CN201610885216.X

文献号 : CN106209386B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周杰

申请人 : 中国银行股份有限公司

摘要 :

在本申请实施例中,在用户使用网络业务的过程中,移动终端与服务器系统之间的动态口令认证采用IC卡端来实现,具体包括:移动终端触发网络业务的请求后,将网络业务请求发送给服务器系统,服务器系统生成随机数,并将随机数反馈给移动终端,移动终端通过NFC模块将所述随机数和描述网络业务的业务信息发送给IC卡端,IC卡端将所述随机数和业务信息生成应用密文,并将携带有应用密文的验证信息通过NFC模块发送给移动终端,移动终端将携带有验证信息的业务确认信息发送给服务器系统,服务器系统根据所述业务确认信息对所述应用密文进行验证。由此可知,使用IC卡端进行动态口令验证,更加方便了用户操作,也易于携带。

权利要求 :

1.一种实现安全认证的方法,其特征在于,应用于IC卡端,包括:接收移动终端通过近场通信NFC模块发送的随机数和业务信息,所述随机数是服务器系统响应于所述移动终端针对网络业务发起的业务请求而返回给所述移动终端的,所述业务信息用于描述所述网络业务,所述移动终端上配置有所述NFC模块;所述网络业务是由用户在移动终端上触发的;

基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算,生成应用密文;

通过所述NFC模块向所述移动终端发送携带有所述应用密文的验证信息,以便所述服务器系统接收所述移动终端发送的携带有所述验证信息的业务确认信息并对所述应用密文进行验证。

2.根据权利要求1所述的方法,其特征在于,

所述基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算,生成应用密文,包括:利用所述IC卡端的卡片密钥和所述网络业务的计数分散出过程密钥;基于过程密钥,采用对称密钥算法对所述随机数进行加密运算,生成所述应用密文;

所述验证信息还携带有所述IC卡采用的卡序号、分散密钥索引DKI、密文版本号和算法标识,以便所述服务器系统采用所述卡序号、所述DKI、所述密文版本号和所述算法标识对所述应用密文进行验证。

3.根据权利要求1所述的方法,其特征在于,还包括:

通过所述NFC模块向所述移动终端发送所述IC卡端的卡号,以便所述移动终端在比较出所述IC卡端发送的卡号与所述服务器系统针对所述业务请求返回的卡号相同的情况下通过所述NFC模块向所述IC卡端发送所述随机数和所述业务信息。

4.根据权利要求1所述的方法,其特征在于,所述网络业务为网上交易业务,所述IC卡端配置在具备支付功能的支付卡上,所述服务器系统为用于为所述支付卡提供支付功能的网上支付系统。

5.一种实现安全认证的方法,其特征在于,应用于移动终端,包括:向服务器系统发送针对网络业务的业务请求;所述网络业务是由用户在移动终端上触发的;

接收所述服务器系统响应于所述业务请求而返回的随机数;

通过NFC模块向IC卡端发送所述随机数和业务信息,所述业务信息用于描述所述网络业务,所述移动终端上配置有所述NFC模块;

通过所述NFC模块接收所述IC卡端发送的验证信息;

向所述服务器系统发送携带有所述验证信息的业务确认信息,以便所述服务器系统对应用密文进行验证;

其中,所述验证信息携带有所述应用密文,所述应用密文是所述IC卡端基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算而生成的。

6.根据权利要求5所述的方法,其特征在于,所述验证信息还携带有所述IC卡的卡序号、分散密钥索引DKI、密文版本号和对称密钥算法的算法标识,以便所述服务器系统采用所述卡序号、所述DKI、所述密文版本号和所述算法标识对所述应用密文进行验证;

其中,所述应用密文具体是所述IC卡端利用所述IC卡端的卡片密钥和所述网络业务的计数分散出过程密钥并基于过程密钥采用对称密钥算法对所述随机数进行加密运算而生成的。

7.根据权利要求5所述的方法,其特征在于,还包括:

在向所述服务器系统发送所述业务请求之后,接收所述服务器系统针对所述业务请求返回的卡号;

通过所述NFC模块接收所述IC卡端发送的卡号;

比较所述IC卡端发送的卡号与所述服务器系统返回的卡号是否相同;

在相同的情况下,执行所述通过NFC模块向IC卡端发送所述随机数和业务信息。

8.根据权利要求7所述的方法,其特征在于,还包括:

在接收到所述服务器系统返回的卡号之后,显示所述服务器返回的卡号,以提示所述移动终端采集所述IC卡端发送的卡号。

9.根据权利要求8所述的方法,其特征在于,还包括:

在向服务器系统发送针对网络业务的业务请求之后,接收所述服务器系统针对所述业务请求返回的认证方式;

响应于识别到所述认证方式为动态口令认证,执行所述显示所述服务器返回的卡号。

10.根据权利要求5所述的方法,其特征在于,所述向所述服务器系统发送携带有所述验证信息的业务确认信息,包括:响应于针对所述业务请求的确认操作,获取在所述确认操作下输入的业务确认码;

基于所述验证信息和所述业务确认码生成所述业务确认信息;

向所述服务器系统发送所述业务确认信息。

11.根据权利要求5所述的方法,其特征在于,所述网络业务为网上交易业务,所述IC卡端配置在具备支付功能的支付卡上,所述服务器系统为用于为所述支付卡提供支付功能的网上支付系统。

12.一种实现安全认证的装置,其特征在于,配置于IC卡端,包括:接收单元,用于接收移动终端通过近场通信NFC模块发送的随机数和业务信息,所述随机数是服务器系统响应于所述移动终端针对网络业务发起的业务请求而返回给所述移动终端的,所述业务信息用于描述所述网络业务,所述移动终端上配置有所述NFC模块;所述网络业务是由用户在移动终端上触发的;

生成单元,用于基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算,生成应用密文;

第一发送单元,用于通过所述NFC模块向所述移动终端发送携带有所述应用密文的验证信息,以便所述服务器系统接收所述移动终端发送的携带有所述验证信息的业务确认信息并对所述应用密文进行验证。

13.一种实现安全认证的装置,其特征在于,配置于移动终端,包括:第一发送单元,用于向服务器系统发送针对网络业务的业务请求;所述网络业务是由用户在移动终端上触发的;

第一接收单元,用于接收所述服务器系统响应于所述业务请求而返回的随机数;

第二发送单元,用于通过NFC模块向IC卡端发送所述随机数和业务信息,所述业务信息用于描述所述网络业务,所述移动终端上配置有所述NFC模块;

第二接收单元,用于通过所述NFC模块接收所述IC卡端发送的验证信息;

第二发送单元,用于向所述服务器系统发送携带有所述验证信息的业务确认信息,以便所述服务器系统对应用密文进行验证;

其中,所述验证信息携带有所述应用密文,所述应用密文是所述IC卡端基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算而生成的。

14.一种实现安全认证的系统,其特征在于,包括IC卡端、移动终端和服务器系统;

所述IC卡端配置有如权利要求12所述的装置,所述移动终端配置有如权利要求13所述的装置。

说明书 :

一种实现安全认证的方法、装置和系统

技术领域

[0001] 本发明涉及网络安全技术领域,特别是涉及一种实现安全认证的方法、装置和系统。

背景技术

[0002] 随着互联网的发展,目前出现了许多对安全性较为敏感的网络业务,如支付或交易等网络业务。在用户使用这些网络业务时,为了避免用户密码泄露的风险,客户端与服务器之间可以采用动态口令认证,以此来保证网络业务的安全性。通常,动态口令认证采用软件方式来实现。但以软件方式实现的动态口令认证无法避免钓鱼网站、伪造基站、窃取手机等非法手段对动态验证码的恶意获取。
[0003] 为了避免动态口令的泄露问题,目前一些网络业务开始采用硬件方式实现动态口令认证。例如,在现有技术中,作为一种独立的硬件设备,电子密码器被用于在用户使用网络业务时实现客户端与服务器之间的动态口令认证。但是,对于用户使用的手机、平板电脑等移动终端来说,通过电子密码器获取的动态验证码需要用户手动输入到移动终端上的客户端中,这导致了用户操作不方便的问题。此外,在移动网络的场景中,电子密码器作为一种独立于用户移动终端的硬件设备需要用户随身携带,这样用户才能随时随地地使用网络业务,因此,用户需要携带的设备数量也有所增加。再此外,电子密码器的成本也较高。

发明内容

[0004] 本申请实施例所要解决的技术问题是,提供一种实现安全认证的方法、装置和系统,以避免现有技术采用电子密码器来实现动态口令认证而导致的用户携带不便、用户操作不便以及成本高的缺陷。
[0005] 第一方面,提供了一种实现安全认证的方法,应用于IC卡端,包括:
[0006] 接收移动终端通过近场通信NFC模块发送的随机数和业务信息,所述随机数是服务器系统响应于所述移动终端针对网络业务发起的业务请求而返回给所述移动终端的,所述业务信息用于描述所述网络业务,所述移动终端上配置有所述NFC模块;
[0007] 基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算,生成应用密文;
[0008] 通过所述NFC模块向所述移动终端发送携带有所述应用密文的验证信息,以便所述服务器系统接收所述移动终端发送的携带有所述验证信息的业务确认信息并对所述应用密文进行验证。
[0009] 可选的,
[0010] 所述基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算,生成应用密文,包括:利用所述IC卡端的卡片密钥和所述网络业务的计数分散出过程密钥;基于过程密钥,采用对称密钥算法对所述随机数进行加密运算,生成所述应用密文;
[0011] 所述验证信息还携带有所述IC卡采用的卡序号、分散密钥索引DKI、密文版本号和算法标识,以便所述服务器系统采用所述卡序号、所述DKI、所述密文版本号和所述算法标识对所述应用密文进行验证。
[0012] 可选的,还包括:
[0013] 通过所述NFC模块向所述移动终端发送所述IC卡端的卡号,以便所述移动终端在比较出所述IC卡端发送的卡号与所述服务器系统针对所述业务请求返回的卡号相同的情况下通过所述NFC模块向所述IC卡端发送所述随机数和所述业务信息。
[0014] 可选的,所述网络业务为网上交易业务,所述IC卡端配置在具备支付功能的支付卡上,所述服务器系统为用于为所述支付卡提供支付功能的网上支付系统。
[0015] 第二方面,提供了一种实现安全认证的方法,应用于移动终端,包括:
[0016] 向服务器系统发送针对网络业务的业务请求;
[0017] 接收所述服务器系统响应于所述业务请求而返回的随机数;
[0018] 通过NFC模块向IC卡端发送所述随机数和业务信息,所述业务信息用于描述所述网络业务,所述移动终端上配置有所述NFC模块;
[0019] 通过所述NFC模块接收所述IC卡端发送的验证信息;
[0020] 向所述服务器系统发送携带有所述验证信息的业务确认信息,以便所述服务器系统对应用密文进行验证;
[0021] 其中,所述验证信息携带有所述应用密文,所述应用密文是所述IC卡端基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算而生成的。
[0022] 可选的,所述验证信息还携带有所述IC卡的卡序号、分散密钥索引DKI、密文版本号和所述对称密钥算法的算法标识,以便所述服务器系统采用所述卡序号、所述DKI、所述密文版本号和所述算法标识对所述应用密文进行验证;
[0023] 其中,所述应用密文具体是所述IC卡端利用所述IC卡端的卡片密钥和所述网络业务的计数分散出过程密钥并基于过程密钥采用对称密钥算法对所述随机数进行加密运算而生成的。
[0024] 可选的,还包括:
[0025] 在向所述服务器系统发送所述业务请求之后,接收所述服务器系统针对所述业务请求返回的卡号;
[0026] 通过所述NFC模块接收所述IC卡端发送的卡号;
[0027] 比较所述IC卡端发送的卡号与所述服务器系统返回的卡号是否相同;
[0028] 在相同的情况下,执行所述通过NFC模块向IC卡端发送所述随机数和业务信息。
[0029] 可选的,还包括:
[0030] 在接收到所述服务器系统返回的卡号之后,显示所述服务器返回的卡号,以提示所述移动终端采集所述IC卡端发送的卡号。
[0031] 可选的,还包括:
[0032] 在向服务器系统发送针对网络业务的业务请求之后,接收所述服务器系统针对所述业务请求返回的认证方式;
[0033] 响应于识别到所述认证方式为动态口令认证,执行所述显示所述服务器返回的卡号。
[0034] 可选的,所述向所述服务器系统发送携带有所述验证信息的业务确认信息,包括:
[0035] 响应于针对所述业务请求的确认操作,获取在所述确认操作下输入的业务确认码;
[0036] 基于所述验证信息和所述业务确认码生成所述业务确认信息;
[0037] 向所述服务器系统发送所述业务确认信息。
[0038] 可选的,所述网络业务为网上交易业务,所述IC卡端配置在具备支付功能的支付卡上,所述服务器系统为用于为所述支付卡提供支付功能的网上支付系统。
[0039] 第三方面,提供了一种实现安全认证的装置,配置于IC卡端,包括:
[0040] 接收单元,用于接收移动终端通过近场通信NFC模块发送的随机数和业务信息,所述随机数是服务器系统响应于所述移动终端针对网络业务发起的业务请求而返回给所述移动终端的,所述业务信息用于描述所述网络业务,所述移动终端上配置有所述NFC模块;
[0041] 生成单元,用于基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算,生成应用密文;
[0042] 第一发送单元,用于通过所述NFC模块向所述移动终端发送携带有所述应用密文的验证信息,以便所述服务器系统接收所述移动终端发送的携带有所述验证信息的业务确认信息并对所述应用密文进行验证。
[0043] 第四方面,提供了一种实现安全认证的装置,配置于移动终端,包括:
[0044] 第一发送单元,用于向服务器系统发送针对网络业务的业务请求;
[0045] 第一接收单元,用于接收所述服务器系统响应于所述业务请求而返回的随机数;
[0046] 第二发送单元,用于通过NFC模块向IC卡端发送所述随机数和业务信息,所述业务信息用于描述所述网络业务,所述移动终端上配置有所述NFC模块;
[0047] 第二接收单元,用于通过所述NFC模块接收所述IC卡端发送的验证信息;
[0048] 第二发送单元,用于向所述服务器系统发送携带有所述验证信息的业务确认信息,以便所述服务器系统对应用密文进行验证;
[0049] 其中,所述验证信息携带有所述应用密文,所述应用密文是所述IC卡端基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算而生成的。
[0050] 第五方面,提供了一种实现安全认证的系统,包括IC卡端、移动终端和服务器系统;
[0051] 所述IC卡端配置有如前述第三方面提供的装置,所述移动终端配置有如前述第四方面提供的装置。
[0052] 在本申请实施例中,在用户使用网络业务的过程中,移动终端与服务器系统之间的动态口令认证可以采用IC卡端来实现,其中,移动终端与IC卡端之间可以通过配置在移动终端上的近场通信(Near Field Communication,简称NFC)模块实现信息交互。具体地,移动终端在向服务器系统发送针对网络业务的业务请求之后可以获得服务器系统针对该业务请求返回随机数。之后,移动终端可以通过NFC模块向IC卡端发送该随机数以及该网络业务对应的业务信息。IC卡端可以基于预置的密钥和加密算法对该随机数和该业务信息进行加密运算而生成应用密文。再后,移动终端可以通过NFC模块接收到IC卡端发送的携带有该应用密文的验证信息,并向服务器系统发送携带有该验证信息的业务确认信息。这样,服务器系统就可以通过对应用密文的验证,实现对网络业务的安全认证。由此可见,以IC卡端作为实现动态口令认证的硬件设备,对于用户使用的手机、平板电脑等移动终端来说,移动终端上配置的NFC模块可以用于实现移动终端与IC卡端之间的信息交互,因此,IC卡端与移动终端之间交互的信息就无需用户手动输入,从而使得用户操作更加便捷。此外,相对于电子密码器来说,IC卡更便于携带,并且成本也更低。

附图说明

[0053] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0054] 图1为本发明实施例中一种实现安全认证的方法的流程示意图;
[0055] 图2为本发明实施例中一种实现安全认证的方法的流程示意图;
[0056] 图3为本发明实施例中一种实现安全认证的方法的流程示意图;
[0057] 图4为本发明实施例中一种实现安全认证的装置的结构示意图;
[0058] 图5为本发明实施例中一种实现安全认证的装置的结构示意图;
[0059] 图6为本发明实施例中一种实现安全认证的方法的结构示意图。

具体实施方式

[0060] 发明人经过研究发现,在通过移动终端进行支付或者交易等网络业务时,为了交易安全,通常要进行动态口令认证,现有技术中通常会采用软件的方式来实现,但软件的方式实现无法避免钓鱼网站、伪造基站、窃取手机等非法手段对动态验证码的恶意获取。因此为了避免动态口令泄露,目前一些网络业务开始采用了硬件的方式。例如,一些网络业务目前采用了U盾、Ukey等形式的硬件密码器,这种形式的密码器需要通过USB接口连接到用户终端,这对于PC、膝上型电脑等终端是适用的,但是,移动终端通常并没有设置USB接口,因此,这种形式的密码器并不适用于移动终端。除此之外目前还存在一种硬件的电子密码器,应用电子密码器对进行动态口令认证时,需要用户手动将电子密码器上显示的密码输入到移动终端上,这虽然避免了移动终端无法通过USB接口获取密码的问题,但却为用户的操作带来了不便,并且,这种电子密码器也不利于随身携带。
[0061] 为了解决上述问题,在本发明实施例中,通过配置有NFC模块的移动终端与IC卡端之间进行信息交互来实现在移动终端上交易的安全认证,具体来说,移动终端在向服务器系统发送针对网络业务的业务请求之后可以获得服务器系统针对该业务请求返回随机数。之后,移动终端可以通过NFC模块向IC卡端发送该随机数以及网络业务对应的业务信息。IC卡端可以基于预置的密钥和加密算法对该随机数和该业务信息进行加密运算而生成应用密文。再后,移动终端可以通过NFC模块接收到IC卡端发送的携带有该应用密文的验证信息,并向服务器系统发送携带有该验证信息的业务确认信息。基于此,服务器系统可以通过验证应用密文,实现对网络业务的安全认证。由此可见,通过IC卡端进行交易时的动态口令的安全认证,不仅比纯软件的方式安全性高,而且,移动终端上配置的NFC模块可以用于实现移动终端与IC卡端之间的信息交互,这样IC卡端与移动终端之间交互的信息就无需用户手动输入,相比硬件的电子密码器来说,更加便于用户操作。此外,相对于电子密码器来说,IC卡更便于携带,并且成本也更低。
[0062] 下面结合附图,通过实施例来详细说明本发明实施例中一种实现安全认证的方法、装置和系统的具体实现方式。
[0063] 示例性方法
[0064] 参考图1,示出了本发明实施例中一种实现安全认证的方法的流程示意图。该方法应用于IC卡端,在本实施例中,所述方法例如可以包括以下步骤:
[0065] 步骤101:接收移动终端通过近场通信NFC模块发送的随机数和业务信息,所述随机数是服务器系统响应与所述移动终端针对网络业务发起的业务请求而返回给所述移动终端的,所述业务信息用于描述所述网络业务,所述移动终端上配置有所述NFC模块。
[0066] 具体实现时,用户可以在移动终端触发网络业务,移动终端响应于用户的触发操作可以向该网络业务对应的服务器系统发起针对该网络业务的业务请求。服务器系统可以响应于该业务请求,依据该网络业务向移动终端反馈随机数。移动终端在接收到服务器系统反馈的随机数之后,可以将该随机数和描述网络业务的业务信息发送给IC卡端。可以理解的是,在本实施例中,移动终端上配置有NFC模块,该NFC模块能够和IC卡端实现近场通信,即移动终端与IC卡端之间的信息交互可以通过移动终端上配置的NFC模块实现。例如,在步骤101中,移动终端可以通过其NFC模块向具备近场通信条件的IC卡端发送的所述随机数和所述业务信息。
[0067] 需要说明的是,本实施例提及的网络业务可以是任意一种通过网络提供的业务功能。例如,在一种应用场景示例中,所述网络业务可以为网上交易业务。具体地,所述网络交易业务可以是转账业务、支付业务、查询业务或理财业务等。另外,本实施例提及的业务信息表示用于对网络业务进行描述的信息,换言之,业务信息可以是用户触发的网络业务中包含的一些基本信息。例如,若所述网络业务为网上交易业务,则所述业务信息可以包括交易日期、交易金额和/或交易币种等。
[0068] 在本实施例中,随机数是服务器系统依据移动终端发送的业务请求而动态生成的数据。其中,随机数与业务请求之间具有唯一的对应关系,即服务器系统为不同业务请求生成的随机数必然是不同的。
[0069] 可以理解的是,本实施例所涉及的设备具体可以有多种可能的实现方式。例如,触发网络业务的移动终端可以是手机、平板电脑等任意一种配置有NFC模块并且能够触发网络业务的移动终端。又如,IC卡端可以配置在具有支付功能的支付卡上。再如,服务器系统可以为用于所述支付卡提供支付功能的网上支付系统。
[0070] 在一种应用场景示例中,配置有IC卡端的支付卡可以是金融IC卡(如具有IC卡芯片的银行卡),服务器系统可以是金融业务的网络系统。配置有NFC模块的移动终端可以安装有金融业务的客户端程序,该移动终端可以通过金融业务的客户端程序与金融IC卡、金融业务的网络系统进行交互。
[0071] 步骤102:基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算,生成应用密文;
[0072] 在本实施例中,IC卡端都设置了相对应的密钥,以用于为网络业务提供应用密文。其中,用于生成应用密文的加密算法,例如可以是对称加密算法,又如也可以是非对称加密算法。
[0073] 具体实现时,当IC卡端接收到移动终端发送来的随机数和业务信息后,IC卡端可以通过预置的密钥和加密算法对随机数和业务信息进行加密运算。具体的步骤102例如可以包括:利用所述IC卡端的卡片密钥和所述网络业务的计数分散出过程密钥;基于过程密钥,采用对称密钥算法对所述随机数进行加密运算,生成所述应用密文。
[0074] 需要说明的是,考虑到非对称加密密钥算法主要是用于脱机支付,而在联机支付的情况下,非对称加密密钥算法可能会造成误扣客户卡片内的电子现金的问题,因此,在网络业务为网上交易业务的情况下,对称加密算法更适用于IC卡端生成应用密文。
[0075] 在本实施例的一些实施方式中,若网络业务为网上交易业务,IC卡端中可以设置有交易计数器,以用于对网络业务进行计数。具体地,在每次接收到移动终端发送的业务信息后,IC卡端可以对交易的次数进行累计。当IC卡端接收到移动终端发送的随机数和业务信息后,利用IC卡端预设的卡片密钥和应用计数器对网络业务的计数结果分散出过程密钥;再在过程密钥的基础上,采用对称密钥算法,对随机数、业务信息和网络业务的计数结果进行加密运算,生成应用密文。
[0076] 步骤103:通过所述NFC模块向所述移动终端发送携带有所述应用密文的验证信息,以便所述服务器系统接收所述移动终端发送的携带有所述验证信息的业务确认信息并对所述应用密文进行验证。
[0077] 在本实施例的一些实施方式中,所述验证信息例如还可以携带有所述IC卡采用的卡序号、分散密钥索引DKI、密文版本号和算法标识,以便所述服务器系统采用所述卡序号、所述DKI、所述密文版本号和所述算法标识对所述应用密文进行验证。
[0078] 具体实现时,IC卡端生成应用密文后,将携带有该应用密文的验证信息发送给移动终端。其中,验证信息除了携带有应用密文外,还可以包括:IC卡采用的卡序号、分散密钥索引DKI、密文版本号、算法标识等。然后,移动终端将携带有验证信息的业务确认信息发送给服务器系统。服务器系统可以基于业务确认信息终端中的验证信息,获得所述应用密文、所述卡序号、所述DKI、所述密文版本号和所述算法标识,并可以采用所述卡序号、所述DKI、所述密文版本号和所述算法标识对所述应用密文进行验证。
[0079] 在本实施例的一些实施方式中,移动终端在接收到IC卡端发送的验证信息后,还可以包括:在移动终端上显示应用密文,并提示客户确认网络业务并输入进行网络业务的业务确认码,其中,业务确认码也可以理解成交易密码。然后,移动终端将用户输入的业务确认码及验证信息发送给服务器系统。也就是说,服务器系统收到的业务确认信息除了包含验证信息外还可以包含用户输入的业务确认码。其中,业务确认码可以是用户在移动终端上确认执行网络业务时输入的。例如,若网络业务为网上交易业务,业务确认码可以是用户输入的交易密码。
[0080] 本实施例中,服务器系统对接收到的应用密文进行验证的过程例如可以包括:对用户输入的业务确认码进行验证,检查IC卡是否挂失,检查发卡行随机数和IC卡号是否被篡改;若以上信息均验证通过,再根据预设的发卡行密钥、接收到的IC卡端的卡号和IC卡采用的卡序号分散出卡片密钥,再利用卡片密钥和交易计数器对网络业务进行计算得到的计算结果分散出过程密钥,再在过程密钥的基础上,采用对称密钥算法,将随机数和业务信息生成应用密文;将在IC卡端生成的应用密文和在服务器系统生成的应用密文进行匹配,若匹配成功,服务器系统再判断是否能够进行后续的网络业务操作,若操作成功,向移动终端反馈提示信息,以提示用户交易成功;若操作失败,向移动终端反馈提示信息,以提示用户交易失败的原因。若匹配失败,直接向移动终端反馈提示信息,以提示用户动态口令验证失败。
[0081] 可以理解的是,在网络业务为网上交易业务的情况下,在通过IC卡端与移动终端之间的信息交互来实现网上交易业务的安全认证之前,用户可以通过柜台、网银或者电话等方式将银行卡账号与IC卡端绑定,以实现签约IC卡端作为验证交易的安全认证方式。
[0082] 需要说明的是,在进行网络业务时,当用户因为某些原因使用的是错误的IC卡,可能会造成网络业务的执行失败,为此,在本实施例的一些实施方式中,移动终端先对IC卡端提供的卡号进行验证再向IC卡端请求应用密文,具体的,在步骤101之前还可以包括:通过所述NFC模块向所述移动终端发送所述IC卡端的卡号,以便所述移动终端在比较出所述IC卡端发送的卡号与所述服务器系统针对所述业务请求返回的卡号相同的情况下通过所述NFC模块向所述IC卡端发送所述随机数和所述业务信息。此外,若IC卡端发送的卡号与服务器系统针对业务请求返回的卡号不相同,移动终端可以反馈用于表示卡号错误的信息。
[0083] 可以理解的是,在网络业务为网上交易业务的情况下,若在移动终端上从IC端获取到卡号信息和从服务器系统获取的卡号信息匹配成功,则表示该IC卡端是与进行交易银行卡账号签约了的IC卡端。
[0084] 需要说明的是,有时服务器系统为用户提供了多种安全认证方式,若用户预先在服务器系统中将认证方式设定成了IC卡端的动态口令认证,移动终端可以执行IC卡端的安全认证流程。具体地,在本实施例的一些实施方式中,例如还可以包括:移动终端在向服务器系统发送针对网络业务的业务请求之后,接收所述服务器系统针对所述业务请求返回的认证方式;移动终端响应于识别到所述认证方式为动态口令认证,执行所述显示所述服务器返回的卡号。具体地,在网络业务为网上交易业务的情况下,用户通过移动终端发起交易请求,移动终端将交易请求发送给服务器系统。服务器系统根据交易请求,判断进行该交易的银行卡账号是否签约了IC卡作为认证工具,若签约了IC卡,则生成发卡行随机数,其中所述发卡行随机数也就是前文中提到的随机数。服务器系统将签约的IC卡号、发卡行随机数和用于表示IC卡端动态口令认证的认证方式反馈给移动终端,以便移动终端在识别到认证方式为动态口令认证的情况下执行IC卡端的安全认证流程。若未签约IC卡号,服务器系统可以判断用户签约了哪种形式的认证方式,并将用户签约的认证方式反馈给移动终端。
[0085] 通过本实施例提供的方法,用户在进行网络业务的过程中,移动终端与服务器系统之间的动态口令认证采用的是IC卡端来实现,移动终端通过NFC模块与IC卡端进行信息的交互,移动终端获取IC卡端生成的应用密文等信息,再通过服务器系统对IC卡端生成的应用密文进行验证。因此,采用IC卡作为实现动态口令的认证设备,相对于软件的方式来说,安全性更高;相对于电子密码器来说,操作更加便捷,成本也更低。
[0086] 参考图2,示出了本发明实施例中一种实现安全认证的方法的流程示意图。该方法应用于移动终端,在本实施例中,所述方法例如可以包括以下步骤:
[0087] 步骤201:向服务器系统发送针对网络业务的业务请求。
[0088] 步骤202:接收服务器系统响应于所述随机数和业务信息,所述业务信息用于描述所述网络业务,所述移动终端上配置有所述NFC模块。
[0089] 步骤203:通过所述NFC模块向IC卡端发送所述随机数和业务信息,所述业务信息用于描述所述网络业务。
[0090] 步骤204:通过所述NFC模块接收所述IC卡端发送的验证信息。
[0091] 步骤205:向所述服务器系统发送携带有所述验证信息的业务确认信息,以便所述服务器系统对应用密文进行验证。
[0092] 其中,所述验证信息携带有所述应用密文,所述应用密文是所述IC卡端基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算而生成的。
[0093] 需要说明的是,本实施例所提及的网络业务、业务信息、随机数、移动终端、IC卡端和服务器系统,详细介绍可参见前述图1对应的实施例,在此不再赘述。
[0094] 在本实施例的一些实施方式中,移动终端例如可以是手机、平板电脑等任意一种配置有NFC模块并且能够触发网络业务的移动终端,IC卡端例如可以配置在具有支付功能的支付卡上,服务器系统例如可以为用于所述支付卡提供支付功能的网上支付系统。
[0095] 在本实施例中,服务器系统对应用密文进行验证的过程可参见前述图1对应的实施例的介绍,在此不再赘述。
[0096] 在本实施例的一些实施方式中,步骤205中向所述服务器系统发送携带有所述验证信息的业务确认信息,具体可以包括:移动终端响应于针对所述业务请求的确认操作,获取在所述确认操作下输入的业务确认码;移动终端基于所述验证信息和所述业务确认码生成所述业务确认信息;移动终端向所述服务器系统发送所述业务确认信息。可以理解的是,当移动终端接收到IC卡端发送的验证信息后,移动终端可以提示用户确认交易并输入业务确认码。在用户执行了确认操作并输入业务确认码之后,移动终端可以将验证信息和业务确认码作为业务确认信息发送给服务器系统。
[0097] 需要说明的是,在网络业务为网上交易业务的情况下,业务确认码例如可以是进行网络业务的账号的交易密码。
[0098] 在本实施例中,在步骤202之前,可以对IC卡端的卡号进行验证,验证与移动终端交互的IC卡端是否为该网络业务相对应的IC卡。具体的,在本实施例的一些实施方式中,还可以包括:在向所述服务器系统发送所述业务请求之后,移动终端接收所述服务器系统针对所述业务请求返回的卡号;移动终端通过所述NFC模块接收所述IC卡端发送的卡号;移动终端比较所述IC卡端发送的卡号与所述服务器系统返回的卡号是否相同;在相同的情况下,移动终端执行步骤203。
[0099] 更具体地,移动终端向服务器发送网络业务的业务请求之后,若签约了IC卡作为动态口令的认证工具,服务器系统将签约的IC卡的卡号反馈给移动终端,移动终端通过NFC模块与IC卡端进行交互,获取IC卡的卡号,将从服务器获得的签约的IC卡的卡号与从IC卡端获得的IC卡的卡号进行对比,若二者的卡号相同,执行步骤203。
[0100] 需要说明的是,在网络业务为网上交易业务的情况下,服务器系统返回的卡号可以对应于网上交易业务所涉及的银行卡网络业务的账号绑定的IC卡。从IC卡端获得的卡号是与移动终端进行信息交互的IC卡端的卡号。
[0101] 在本实施例的又一些实施方式中,在移动终端验证IC卡端的卡号的基础上,还可以包括:移动终端在接收到所述服务器系统返回的卡号之后,显示所述服务器返回的卡号,以提示所述移动终端采集所述IC卡端发送的卡号。
[0102] 更具体地,移动终端向服务器系统发送网络业务的业务请求之后,若签约了IC卡作为动态口令的认证工具,服务器系统将签约的IC卡的卡号反馈给移动终端,在移动终端上显示服务器返回的卡号,此时,用户可以根据服务器上显示的IC卡的卡号,选择IC卡与移动终端进行交互,移动终端通过NFC模块获取与移动终端进行交互的IC卡号。
[0103] 可以理解的是,在移动终端对IC卡端的卡号进行验证,也可以是用户进行比对,当用户确认比对成功时,可以手动触发移动终端执行步骤203。
[0104] 在本实施例的又一些实施方式中,在服务器系统上也可以对IC端的卡号的验证。具体的,当移动终端采集到IC卡端卡号后,将该IC卡端的卡号作为业务确认信息中的一部分发送给服务器系统,服务器系统再对签约的卡号和业务确认信息中的卡号进行比对,若比对成功,再对应用密文进行验证。
[0105] 在本实施例中,服务器系统为网络业务提供的认证方式可以有多种。例如,除了IC卡作为动态口令认证工具的认证方式还可以包括软件密令的认证方式、电子密码器作为动态口令认证工具的认证方式等任意一种或多种可用于移动终端上进行动态口令认证的方式。在服务器系统为网络业务提供有多种认证方式的情况下,服务器在接收到业务请求之后,可以向移动终端反馈用户预先设置的认证方式,这样移动终端根据接收到的认证方式进行相应的安全认证。具体的,在本实施例的一些实施方式中,在步骤201之后,还可以包括:在向服务器系统发送针对网络业务的业务请求之后,移动终端接收所述服务器系统针对所述业务请求返回的认证方式;移动终端响应于识别到所述认证方式为动态口令认证,执行所述显示所述服务器返回的卡号。
[0106] 更具体地,移动终端向服务器系统发送了网络业务的业务请求后,服务器系统根据该业务请求确定用户签约的认证方式,并将该认证方式反馈给移动终端,若移动终端接收到的认证方式为IC卡的动态口令认证,在移动终端上显示用户签约的IC卡的卡号。但是,若移动终端接收到的认证方式为除IC卡动态口令之外的其它认证方式,根据具体的认证方式,进行相应的验证操作。
[0107] 通过本实施例提供的方法,用户在进行网络业务的过程中,移动终端与服务器系统之间的动态口令认证采用的是IC卡端来实现,移动终端通过NFC模块与IC卡端进行信息的交互,移动终端获取IC卡端生成的应用密文等信息,再通过服务器系统对IC卡端生成的应用密文进行验证。因此,采用IC卡作为实现动态口令的认证设备,相对于软件的方式来说,安全性更高;相对于电子密码器来说,操作更加便捷,成本也更低。
[0108] 参考图3,示出了本发明实施例中一种实现安全认证的方法的流程示意图。在本实施例中,所述方法例如可以包括:
[0109] 步骤301:响应于用户的触发操作,移动终端生成针对网络业务的业务请求。
[0110] 步骤302:移动终端向服务器系统发送所述业务请求。
[0111] 步骤303:服务器系统接收到所述业务请求后,判断认证方式是否为IC卡动态口令认证。
[0112] 本实施例中,动态口令的认证方式可以是IC卡的动态口令认证方式,也可以是电子密码器的认证方式或者其它能够实现移动终端上交易的动态口令的认证方式。因此,当服务器系统接收到所述业务请求后,需要判断认证方式是否是IC卡动态口令认证。
[0113] 步骤304:若认证方式是IC卡动态口令认证,在服务器系统生成随机数,并将签约IC端的卡号、认证方式和所述随机数反馈给移动终端。
[0114] 步骤305:移动终端响应于所述IC卡动态口令认证,显示所述IC卡端的卡号,以提示用户选择相应的IC卡端与所述移动终端进行交互。
[0115] 本实施例中,移动终端根据接收到的认证方式,判断是否该认证方式是否为所述IC卡动态口令认证,若是,显示所述移动终端的卡号,以提示用户选择相应的IC卡与移动终端进行交互。
[0116] 步骤306:移动终端将所述随机数和业务信息发送给IC卡端。
[0117] 步骤307:IC卡端基于预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算,生成应用密文。
[0118] 在本实施例中,每个IC卡都设置了相对应的密钥,用来对接收到的随机数和业务信息进行加密。加密算法例如可以是对称加密算法也可以是非对称加密算法。
[0119] 当IC卡端接收到移动终端发送来的随机数和业务信息后,通过IC卡端预置的密钥和加密算法对随机数和业务信息进行加密运算。具体的步骤307例如可以包括:利用所述IC卡端的卡片密钥和所述网络业务的计数分散出过程密钥;基于过程密钥,采用对称密钥算法对所述随机数进行加密运算,生成所述应用密文。
[0120] 步骤308:IC卡端将携带有应用密文的验证信息发送给所述移动终端。
[0121] 本实施例中,所述验证信息还携带有所述IC卡采用的卡序号、分散密钥索引DKI、密文版本号和算法标识,以便所述服务器系统采用所述卡序号、所述DKI、所述密文版本号和所述算法标识对所述应用密文进行验证。
[0122] 步骤309:移动终端将携带有验证信息的业务确认信息发送给所述网络服务器。
[0123] 本实施例中,该步骤具体的实现方法包括:响应于针对所述业务请求的确认操作,获取在所述确认操作下输入的业务确认码;基于所述验证信息和所述业务确认码生成所述业务确认信息;向所述服务器系统发送所述业务确认信息。
[0124] 本实施例中,当移动终端接收到携带有应用密文的验证信息后,显示验证信息,并提示用户输入确认该网络业务的业务确认码,并将所述业务确认码和所述验证信息作为业务确认信息发送给服务器系统。
[0125] 步骤310:网络服务器依据所述业务确认信息对所述应用密文进行验证。
[0126] 本实施例中,网络服务器在接收到业务确认信息后,依据接收到的IC卡端的卡号判断所述IC卡是否挂失,对用户输入的业务确认码进行验证,检查签约的IC卡和随机数是否被篡改。若所述IC卡未挂失、所述业务确认码正确,签约的IC卡号和随机数未被篡改,根据预置的发卡行密钥、所述IC卡端的卡号和所述IC卡端采用的卡序号分散出卡片密钥,依据所述卡片密钥和网络业务的计数分散出过程密钥,再依据所述过程密钥,采用对称密钥算法生成应用密文,将在服务器系统生成的应用密文和获取的IC端生成的应用密文进行匹配,若这两个应用密文相同,表示验证成功。
[0127] 步骤311:若验证成功,服务器系统判断是否执行网络业务,并将交易结果反馈给移动终端。
[0128] 验证成功后,服务器系统判断是否执行网络业务,例如转账、支付等后续操作,并将最终的交易结果反馈给移动终端,以提示用户交易是否成功。
[0129] 通过本实施例提供的方法,采用IC卡作为实现动态口令的认证设备与移动终端进行交互,在交互的过程中,生成业务验证信息,并通过服务器系统对业务验证信息进行验证。因此,采用IC卡作为实现动态口令的认证设备,相对于软件的方式来说,安全性更高;相对于电子密码器来说,操作更加便捷,成本也更低。
[0130] 示例性设备
[0131] 参考图4,示出了本发明实施例中一种实现安全认证的装置的结构示意图。该装置配置于IC卡端,在本实施例中,所述装置具体可以包括
[0132] 接收单元401,用于接收移动终端通过近场通信NFC模块发送的随机数和业务信息,所述随机数是服务器系统响应于所述移动终端针对网络业务发起的业务请求而返回给所述移动终端的,所述业务信息用于描述所述网络业务,所述移动终端上配置有所述NFC模块。
[0133] 生成单元402,用于基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算,生成应用密文。
[0134] 第一发送单元403,用于通过所述NFC模块向所述移动终端发送携带有所述应用密文的验证信息,以便所述服务器系统接收所述移动终端发送的携带有所述验证信息的业务确认信息并对所述应用密文进行验证。
[0135] 可选的,本实施例中,所述生成单元,包括:
[0136] 分散子单元,用于利用所述IC卡端的卡片密钥和所述网络业务的计数分散出过程密钥。
[0137] 生成子单元,用于基于过程密钥,采用对称密钥算法对所述随机数进行加密运算,生成所述应用密文。
[0138] 可选的,本实施例中,还包括:
[0139] 第二发送单元,用于通过所述NFC模块向所述移动终端发送所述IC卡端的卡号,以便所述移动终端在比较出所述IC卡端发送的卡号与所述服务器系统针对所述业务请求返回的卡号相同的情况下通过所述NFC模块向所述IC卡端发送所述随机数和所述业务信息。
[0140] 所述网络业务为网上交易业务,所述IC卡端配置在具备支付功能的支付卡上,所述服务器系统为用于为所述支付卡提供支付功能的网上支付系统。
[0141] 通过本实施例提供的装置,用户在进行网络业务的过程中,移动终端与服务器系统之间的动态口令认证采用的是IC卡端来实现,移动终端通过NFC模块与IC卡端进行信息的交互,移动终端获取IC卡端生成的应用密文等信息,再通过服务器系统对IC卡端生成的应用密文进行验证。因此,采用IC卡作为实现动态口令的认证设备,相对于软件的方式来说,安全性更高;相对于电子密码器来说,操作更加便捷,成本也更低。
[0142] 参考图5,示出了本发明实施例中一种实现安全认证装置的示意图。在本实施例中,所述装置包括:
[0143] 第一发送单元501,用于向服务器系统发送针对网络业务的业务请求;
[0144] 第一接收单元502,用于接收所述服务器系统响应于所述业务请求而返回的随机数;
[0145] 第二发送单元503,用于通过NFC模块向IC卡端发送所述随机数和业务信息,所述业务信息用于描述所述网络业务,所述移动终端上配置有所述NFC模块;
[0146] 第二接收单元504,用于通过所述NFC模块接收所述IC卡端发送的验证信息;
[0147] 第二发送单元505,用于向所述服务器系统发送携带有所述验证信息的业务确认信息,以便所述服务器系统对应用密文进行验证;
[0148] 其中,所述验证信息携带有所述应用密文,所述应用密文是所述IC卡端基于所述IC卡端预置的密钥和加密算法对所述随机数和所述业务信息进行加密运算而生成的。
[0149] 本实施例中,所述验证信息还携带有所述IC卡的卡序号、分散密钥索引DKI、密文版本号和所述对称密钥算法的算法标识,以便所述服务器系统采用所述卡序号、所述DKI、所述密文版本号和所述算法标识对所述应用密文进行验证;
[0150] 其中,所述应用密文具体是所述IC卡端利用所述IC卡端的卡片密钥和所述网络业务的计数分散出过程密钥并基于过程密钥采用对称密钥算法对所述随机数进行加密运算而生成的。
[0151] 本实施例中,所述第二发送单元具体包括:
[0152] 获取子单元,用于响应于针对所述业务请求的确认操作,获取在所述确认操作下输入的业务确认码;
[0153] 生成子单元,用于基于所述验证信息和所述业务确认码生成所述业务确认信息;
[0154] 第一发送子单元,用于向所述服务器系统发送所述业务确认信息。
[0155] 本实施例中,还包括:
[0156] 第二接收单元,用于在向所述服务器系统发送所述业务请求之后,接收所述服务器系统针对所述业务请求返回的卡号。
[0157] 第三接收单元,用于通过所述NFC模块接收所述IC卡端发送的卡号。
[0158] 比较单元,用于比较所述IC卡端发送的卡号与所述服务器系统返回的卡号是否相同。
[0159] 第一执行单元,用于在相同的情况下,执行所述通过NFC模块向IC卡端发送所述随机数和业务信息。
[0160] 显示单元,用于在接收到所述服务器系统返回的卡号之后,显示所述服务器返回的卡号,以提示所述移动终端采集所述IC卡端发送的卡号。
[0161] 第四接收单元,用于在向服务器系统发送针对网络业务的业务请求之后,接收所述服务器系统针对所述业务请求返回的认证方式。
[0162] 第二执行单元,用于响应于识别到所述认证方式为动态口令认证,执行所述显示所述服务器返回的卡号。
[0163] 通过本实施例提供的设备,用户在进行网络业务的过程中,移动终端与服务器系统之间的动态口令认证采用的是IC卡端来实现,移动终端通过NFC模块与IC卡端进行信息的交互,移动终端获取IC卡端生成的应用密文等信息,再通过服务器系统对IC卡端生成的应用密文进行验证。因此,采用IC卡作为实现动态口令的认证设备,相对于软件的方式来说,安全性更高;相对于电子密码器来说,操作更加便捷,成本也更低。
[0164] 参考图6,为本发明实施例中一种实现安全认证的系统的结构示意图。在本实施例中,所述系统包括:
[0165] IC卡端601、移动终端602和服务器系统603。
[0166] 其中,所述IC卡端配置有如图4对应的实施例提供的装置,所述移动终端配置有图5对应的实施例提供的装置。
[0167] 所述服务器系统,用来生成随机数和对IC卡端生成的密文进行验证。
[0168] 本实施例中,移动终端触发网络业务的请求后,将网络业务请求发送给服务器系统,服务器系统生成随机数,并将随机数反馈给移动终端,移动终端通过NFC模块将所述随机数和描述网络业务的业务信息发送给IC卡端,IC卡端将所述随机数和业务信息生成应用密文,并将携带有应用密文的验证信息通过NFC模块发送给移动终端,移动终端将携带有验证信息的业务确认信息发送给服务器系统,服务器系统根据所述业务确认信息对所述应用密文进行验证。
[0169] 通过本实施例提供的系统,用户在进行网络业务的过程中,移动终端与服务器系统之间的动态口令认证采用的是IC卡端来实现,移动终端通过NFC模块与IC卡端进行信息的交互,移动终端获取IC卡端生成的应用密文等信息,再通过服务器系统对IC卡端生成的应用密文进行验证。因此,采用IC卡作为实现动态口令的认证设备,相对于软件的方式来说,安全性更高;相对于电子密码器来说,操作更加便捷,成本也更低。
[0170] 本发明实施例中提到的“第一发送单元”、“第一接收单元”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”等。
[0171] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0172] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例和设备实施例而言,由于其基本相似于系统实施例,所以描述得比较简单,相关之处参见系统实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0173] 以上所述仅是本发明的优选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。