口令生成方法、口令验证方法、支付方法及装置与流程

文档序号:13141845阅读:649来源:国知局
口令生成方法、口令验证方法、支付方法及装置与流程

本申请涉及信息认证领域,特别涉及一种口令生成方法、口令验证方法、支付方法及装置。



背景技术:

目前,在诸多场景中均需要通过动态口令(one-timepassword,otp)进行用户身份的认证。其应用场景包括线下扫码支付等。

以线下扫码支付场景为例,一般地,支付应用的服务端可以预先为每个客户端生成唯一的令牌和与该令牌对应的设备id,并将生成的令牌和设备id发送至每个客户端,客户端可以将该令牌和设备id存储于安全存储区。其中,服务端需要预先存储令牌与设备id的对应关系。在用户需要通过上述支付应用的客户端进行扫码支付时,客户端可以根据预先存储的令牌和当前时间值,采用一定的预设算法(如:事件同步hotp算法)计算得到一动态口令,将该动态口令(如:m位)与上述设备id(如:n位)组成身份口令(如:m+n位)。随后,商户可以通过扫码装置对该身份口令进行扫描,并将扫描到的身份口令上传至上述支付应用的服务端进行校验。服务端可以根据上述身份口令得到设备id,并查询得到与该设备id对应的令牌,利用系统当前时间和令牌作为上述预设算法的输入值,计算得到可信动态口令列表,并利用该可信动态口令列表对所述动态口令进行校验;若动态口令校验通过,则表明当前用户的身份认证通过,可以执行支付事务。

上述现有技术中的身份口令存在被“蛮力破解”的风险。所谓“蛮力破解”是指:由于客户端生成的上述身份口令为明文,可以在获取到该身份口令中的设备id(如:n位)后,按照一定的方式(如:随机、穷举)生成上述动态口令(如:m位),并不断利用生成的动态口令和上述设备id组成的身份认证口令(如:m+n位)来对用户身份进行认证,直至用户身份认证成功。举例来说,在某个时刻,客户端根据令牌和当前时间值计算得到的动态口令是:“123456”,则上述“蛮力破解”过程是:他人逐一从“000000”到“999999”生成动态口令,并对当前时刻的身份认证口令进行破解,直至碰撞到正确的动态口令“123456”为止。在上述现有技术中,假设上述m位的动态口令中的每一位是0~9,则上述用户身份被蛮力破解成功的概率大约为:1/10m

可见,现有技术中的身份认证口令存在一定的被他人蛮力破解的风险。



技术实现要素:

本申请实施例的目的是提供一种口令生成方法、口令验证方法、支付方法及装置,以解决现有技术中的身份认证口令存在被他人蛮力破解的风险的问题。

为解决上述技术问题,本申请实施例提供的口令生成方法、口令验证方法、支付方法及装置是这样实现的:

一种口令生成方法,包括:

终端将预先存储的令牌和当前时间值作为第一预设算法的输入值,计算得到动态口令;所述终端还预先存储与所述令牌对应的设备id,所述令牌和所述设备id是由服务端生成并向所述终端发送的;

终端至少将包含所述动态口令的第一信息作为第二预设算法的输入值,计算得到第二信息;

终端生成包含所述动态口令、所述第二信息及所述设备id的认证口令。

一种口令验证方法,包括:

服务端接收由终端生成的包含动态口令、第二信息及设备id的认证口令;所述动态口令是终端将预先存储的令牌和当前时间值作为第一预设算法的输入值计算得到的,所述第二信息是终端至少将包括动态口令的第一信息作为第二预设算法的输入值计算得到的,所述设备id被预先存储于所述终端;

服务端查询与所述设备id对应的令牌;

服务端利用该令牌和所述第一预设算法对所述动态口令进行校验;

服务端至少利用所述第一信息和所述第二预设算法对所述第二信息进行校验;

若所述动态口令校验通过且所述第二信息校验通过,则判定所述认证口令验证通过。

一种支付方法,包括:

服务端接收由终端生成的包含动态口令、第二信息及设备id的认证口令;所述动态口令是终端将预先存储的令牌和当前时间值作为第一预设算法的输入值计算得到的,所述第二信息是终端至少将包括动态口令的第一信息作为第二预设算法的输入值计算得到的,所述设备id被预先存储于所述终端;

服务端查询与所述设备id对应的令牌;

服务端利用该令牌和所述第一预设算法对所述动态口令进行校验;

服务端至少利用所述第一信息和所述第二预设算法对所述第二信息进行校验;

若所述动态口令校验通过且所述第二信息校验通过,则执行与所述认证口令对应的支付事务。

一种口令生成装置,包括:

第一计算单元,用于将预先存储于终端中的令牌和当前时间值作为第一预设算法的输入值,计算得到动态口令;所述终端还预先存储与所述令牌对应的设备id,所述令牌和所述设备id是由服务端生成并向终端发送的;

第二计算单元,用于至少将包含所述动态口令的第一信息作为第二预设算法的输入值,计算得到第二信息;

口令生成单元,用于生成包含所述动态口令、所述第二信息及所述设备id的认证口令。

一种口令验证装置,包括:

接收单元,用于接收由终端生成的包含动态口令、第二信息及设备id的认证口令;所述动态口令是终端将预先存储的令牌和当前时间值作为第一预设算法的输入值计算得到的,所述第二信息是终端至少将包括动态口令的第一信息作为第二预设算法的输入值计算得到的,所述设备id被预先存储于所述终端;

查询单元,用于查询与所述设备id对应的令牌;

校验单元,用于利用该令牌和所述第一预设算法对所述动态口令进行校验,及用于至少利用所述第一信息和所述第二预设算法对所述第二信息进行校验;

判定单元,用于在所述动态口令校验通过且所述第二信息校验通过时,判定所述认证口令验证通过。

一种支付装置,包括:

接收单元,用于接收由终端生成的包含动态口令、第二信息及设备id的认证口令;所述动态口令是终端将预先存储的令牌和当前时间值作为第一预设算法的输入值计算得到的,所述第二信息是终端至少将包括动态口令的第一信息作为第二预设算法的输入值计算得到的,所述设备id被预先存储于所述终端;

查询单元,用于查询与所述设备id对应的令牌;

校验单元,用于利用该令牌和所述第一预设算法对所述动态口令进行校验,及用于至少利用所述第一信息和所述第二预设算法对所述第二信息进行校验;

支付单元,用于在所述动态口令校验通过且所述第二信息校验通过时,执行与所述认证口令对应的支付事务。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:在根据令牌和当前时间值计算得到动态口令后,还至少将包括所述动态口令的第一信息作为第二预设算法的输入值,计算得到第二信息,并最终生成包含动态口令、第二信息及所述设备id的认证口令,可见,本申请实施例生成的认证口令,除包含动态口令和设备id外,还包括上述第二信息。在对该认证口令进行验证的过程中,不但需要对上述动态口令进行验证,还需要对上述第二信息进行验证,并在上述动态口令和上述第二信息均验证通过后,判定当前的认证口令验证通过。相较于现有技术,本申请实施例生成的认证口令被他人蛮力破解的风险得到有效降低。举例来说,假设上述动态口令是m位的0~9的数字,上述第二信息是k位的0~9的数字,则本申请实施例生成的上述认证口令被他人蛮力破解的概率大约为:1/10m+k

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实施例提供的认证口令的生成和验证的流程图;

图2示出了本申请一示例性实施例中的认证口令的生成过程;

图3为本申请一实施例提供的认证口令的示意图;

图4为本申请一实施例提供的以终端为主体的口令生成方法的流程图;

图5为本申请一实施例提供的以服务端为主体的口令验证方法的流程图;

图6为本申请一实施例提供的口令生成装置和口令验证装置的模块示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

本申请旨在通过生成安全级别更高的认证口令,以降低他人利用蛮力破解方式进行身份认证攻击的风险性。在蛮力破解方式中,攻击者可以通过穷举所有可能的认证口令,并利用穷举的认证口令进行逐一验证,以碰撞到正确的认证口令。通常,由于服务端的认证口令校验接口暴露在公网非可信信道中,利用上述蛮力破解方式进行攻击的成本低,一旦破解成功,则可能会造成用户财产损失。

图1为本申请一实施例提供的认证口令的生成及验证的流程图。其中,在一种示例性的身份认证(或称身份识别)场景中,可以包括终端、服务端和扫码装置,所述终端可以是无线终端(如智能手机),在该无线终端上可以安装用以进行身份认证的应用客户端,上述服务端可以是用以进行身份认证的服务端,上述扫码装置可以是各种类型的二维码、或条形码扫描装置等。则,本申请实施例的技术方案可以通过如下过程来实现:

s101:终端将服务端发送的令牌和与令牌对应的设备id写入到该终端的存储区中。

一般地,终端在安装上述用以进行身份认证的应用客户端并第一次启动该应用客户端后,服务端便可以生成一个唯一的令牌及与该令牌对应的设备id,其中,上述令牌可以作为用以生成动态口令(otp码)的种子(算法的输入值),上述设备id用来唯一地标识该终端。一般只有终端和服务端存储有该令牌,其他设备难以获取到上述令牌。在向每个终端发送上述令牌和设备id之后,服务端需要将上述令牌和设备id的映射关系进行存储。值得说明的是,上述安全存储区可以是终端中的某块存储单元,需保证该存储单元中存储的内容难以被除用以进行身份识别的客户端外的其他装置所窃取。一般地,用户可以在终端上登录某个账号,在登录该账号之后,服务端便可以生成与当前账户对应的设备id和上述令牌。也就是说,上述令牌、设备id对应于终端上登录的上述账户。

s102:终端将预先存储的令牌和当前时间值作为第一预设算法的输入值,计算得到动态口令。

上述当前时间值可以是与终端获取到的当前时间对应的数值。上述第一预设算法包括输入值和依据输入值计算得到的输出值,上述输入值可以是当前时间值和令牌,上述输出值是动态口令(dynamicpassword)。本申请实施例中,为提升安全性,上述第一预设算法可以是任意形成的不可逆算法,所述不可逆算法可以是时间同步算法(totp)、事件同步算法(hotp)、挑战应答算法(ocra)等。由于上述计算动态口令的过程需将当前时间值作为第一预设算法的输入值,故上述动态口令具备一定的时效性(即只能在一段时长内有效)。这样,可以避免攻击者通过重发攻击(replayattacks)对用户身份认证过程进行破解。

s103:终端至少将包括上述动态口令的第一信息作为第二预设算法的输入值,计算得到第二信息。

本申请实施例中,上述第二预设算法可以是任意一种人为设定的算法,将上述第一信息作为该第二预设算法的输入值,计算得到的输出值便是上述第二信息。由于该第一信息至少包含动态口令,而动态口令与当前时间值相关(即根据当前时间值计算得到的),随着时间的推移,上述动态口令不断变化,则包括动态口令的该第一信息也不断变化。

本申请实施例中,上述第二预设算法可以是不可逆算法,例如,一种“签名算法”,该“签名算法”将上述令牌和上述第一信息作为输入值,计算得到的输出值为上述第二信息(签名)。上述“签名算法”包括但不限于:hmac(hash-basedmessageauthenticationcode,哈希运算消息认证码)-md5算法、或hmac-sha算法。其中,在上述“签名算法”中,一般以一个密钥(上述令牌)和一段明文(上述第一信息)为输入值,计算得到上述第二信息(签名)。则,上述步骤s103包括:终端将所述令牌和包含所述动态口令的第一信息,作为第二预设算法的输入值,计算得到第二信息。

值得述及的是,上述第二预设算法的输入值可以只有上述第一信息,或上述第一信息和上述令牌,或除上述第一信息和上述令牌外,还包括其他的输入值,本申请并不对上述第二预设算法的输入值作限制。

本申请实施例中,上述第一信息可以为下述任意一种:

1)动态口令;如:123456。

2)动态口令和当前时间值的组合;如:123456(动态口令)20160503110232(当前时间值)。

3)设备id和动态口令的组合;如:5060341211(设备id)20160503110232(当前时间值)。

4)设备id、动态口令及当前时间值的组合。如:5060341211(设备id)123456(动态口令)20160503110232(当前时间值)。

s104:终端生成包含动态口令、第二信息及设备id的认证口令。

一般终端可以将生成的上述认证口令以二维码形式、条形码形式、数字形式中的一种或多种展示于显示屏上。在生成上述认证口令的过程中,可以利用相应的加密算法对上述动态口令进行加密。

参照图2所示,在本申请一实施例中,可以通过“签名算法”生成上述第二信息(签名)。则在该实施例中,首先可以将当前时间值和令牌作为hotp算法(即第一预设算法)的输入值,计算得到动态口令(如:n位数字),再将设备id(如:m位数字)和该动态口令进行组合,得到一次性身份口令(如:n+m位数字)。接着,将令牌和上述一次性身份口令(即上述第一信息)作为第二预设算法(如:hmac-sha算法)的输入值,计算得到第二信息(如:k位数字)。最后,将上述一次性身份口令(如:n+m位数字)和上述第二信息(如:k位数字)进行组合,得到用以实现身份认证的认证口令(n+m+k位数字)。

参照图3所示,是一种示例性的认证口令的示意图。该认证口令可以大致包括二维码显示区和条形码显示区,以及以数字形式表示的认证口令。其中,以数字形式表示的认证口令可以包括设备id10、动态口令20及第二信息30。值得一提的是,在最终生成的认证口令中,上述第二信息、动态口令及设备id的排列次序及组合形成并不作限制。在图3中,上述动态口令可以每隔一段时长(如一分钟)自动更新一次,也就是说,每次生成的包括动态口令、第二信息和设备id的认证口令的有效时长为一分钟。

s105:扫码装置通过扫描上述终端上显示的认证口令,并向服务端发送该认证口令,以请求进行身份认证。本申请实施例中,扫描装置可以根据具体业务的不同,发送与当前业务相对应的业务请求信息,并在该业务请求信息中携带该认证口令。上述扫码装置可以是任意形成的二维码扫描装置或条形码扫描装置等,该扫码装置通过网络与服务端进行通信。

s106:服务端根据上述认证口令,获取该认证口令中的设备id,并查询与该设备id对应的令牌。

如前所述,服务端在向上述终端发送唯一的令牌和与令牌对应的设备id之后,会将该令牌与设备id的映射关系进行存储。服务端可以根据认证口令中的设备id所在的字段,提取设备id,并查询到与该设备id相映射的令牌。这样,虽然上述认证口令为明文,但是由于采用了不可逆算法,外界无法通过反向破解的方式获取到令牌,使得令牌可以作为一种密钥,只被存放于上述客户端和上述服务端。

s107:服务端对上述动态口令进行校验,并对上述第二信息进行校验。

本申请实施例中,服务端可以利用查询到的令牌和当前时间值,并采用上述不可逆算法(如:hotp算法),计算得到可信动态口令列表,该可信动态口令列表包括多个可信动态口令。之后,可以利用该可信动态口令列表中的每个可信动态口令与上述动态口令进行比较,若发现某个可信动态口令与上述动态口令一致,则表明当前动态口令是合法的,校验通过。一般地,上述动态口令可以在一段时长内有效(如:在生成该动态口令的时间点之后的30秒内有效),并且该动态口令只能被使用一次。值得一提的是,对动态口令的校验过程属于本领域技术人员所熟知的技术,本文不予以详述。

本申请实施例中,服务端可以利用第一信息和第二预设算法,对所述第二信息进行校验。具体地,服务端将第一信息作为第二预设算法的输入值,计算得到一校验值,并将该校验值与上述第二信息进行比较,若一致,则表明第二信息的校验通过,否则不通过。

本申请一实施例中,若上述第二预设算法为签名算法(如:hmac-sha算法),该签名算法的输入值为令牌和一次性身份口令(如:n+m位数字),得到的第二信息(签名)为k位数字。则,服务端可以将上述一次性身份口令(即第一信息)和令牌作为上述签名算法的输入值,计算得到一校验值,并将该校验值与上述第二信息(签名)进行比较,若一致,则校验通过,否则不通过。

s108:服务端向扫描装置发送身份认证结果。

可见,在上述第二信息校验通过且上述动态口令校验通过时,表明当前用户的身份认证通过,服务端可以向扫描装置发送身份认证通过的消息;否则,向扫描装置发送身份认证不通过的消息。当然,服务端还可以将上述身份认证结果反馈至上述终端。根据业务的不同,在上述第二信息校验通过且上述动态口令校验通过时,可以执行与当前认证口令对应的事务(如:对指定账号进行扣款的事务)。

由以上本申请实施例提供的技术方案可见,在根据令牌和当前时间值计算得到动态口令后,还至少将包括所述动态口令的第一信息作为第二预设算法的输入值,计算得到第二信息,并最终生成包含动态口令、第二信息及所述设备id的认证口令,可见,本申请实施例生成的认证口令,除包含动态口令和设备id外,还包括上述第二信息。在对该认证口令进行验证的过程中,不但需要对上述动态口令进行验证,还需要对上述第二信息进行验证,并在上述动态口令和上述第二信息均验证通过后,判定当前的认证口令验证通过。相较于现有技术,本申请实施例生成的认证口令被他人蛮力破解的风险得到有效降低。举例来说,假设上述动态口令是m位的0~9的数字,上述第二信息是k位的0~9的数字,则本申请实施例生成的上述认证口令被他人蛮力破解的概率大约为:1/10m+k

另外,在上述实施例中,可以利用签名算法,并将令牌和包括动态口令的第一信息作为上述签名算法的输入值,计算得到第二信息(签名),并将该第二信息(签名)添加到最终生成的认证口令中。相较于现有技术,通过上述签名算法,可以降低攻击者通过“蛮力破解”方式碰撞得到的认证口令的可能性。也就是说,攻击者若需要破解用户身份的认证,则需要在通过“蛮力破解”方式碰撞得到上述动态口令的同时,碰撞得到上述第二信息,这样,相较于现有技术中,显然破解难度被增加,进而提升了用户身份认证过程的安全性。

图4为本申请一实施例提供的口令生成方法的流程,该口令生成方法的执行主体可以是上述终端,该口令生成方法可以包括如下步骤:

s201:将预先存储的令牌和当前时间值作为第一预设算法的输入值,计算得到动态口令;其中,所述终端还预先存储与所述令牌对应的设备id,所述令牌和所述设备id是由服务端生成并向所述终端发送的。

该步骤s201可以参照上述步骤s102的内容,本文不再予以赘述。

s202:至少将包含所述动态口令的第一信息作为第二预设算法的输入值,计算得到第二信息。

该步骤s202可以参照上述步骤s103的内容,本文不再予以赘述。

本申请一实施例中,可以将所述令牌和包含所述动态口令的第一信息,作为第二预设算法的输入值,计算得到第二信息。

s203:生成包含所述动态口令、所述第二信息及所述设备id的认证口令。

该步骤s203可以参照上述步骤s104的内容,本文不再予以赘述。

通过上述终端执行的口令生成方法,可以得到包含动态口令、第二信息和设备id的认证口令,相较于现有技术,本申请实施例生成的认证口令被他人蛮力破解的风险得到有效降低。

图5为本申请一实施例提供的口令验证方法的流程,该口令验证方法的执行主体可以是上述服务端,该口令验证方法可以包括如下步骤:

s301:接收由终端生成的包含动态口令、第二信息及设备id的认证口令;所述动态口令是终端将预先存储的令牌和当前时间值作为第一预设算法的输入值计算得到的,所述第二信息是终端至少将包括动态口令的第一信息作为第二预设算法的输入值计算得到的,所述设备id被预先存储于所述终端。

s302:根据所述认证口令中的设备id,查询与所述设备id对应的令牌。

该步骤s302可以参照上述步骤s106的内容,本文不再予以赘述。

s303:利用该令牌和所述第一预设算法对所述动态口令进行校验。

s304:至少利用所述第一信息和所述第二预设算法对所述第二信息进行校验。

s305:若所述动态口令校验通过且所述第二信息校验通过,判定所述认证口令验证通过。

通过上述服务端执行的口令验证方法,可以对终端生成的包含动态口令、第二信息和设备id的认证口令进行验证,相较于现有技术,本申请实施例所验证的认证口令被他人蛮力破解的风险得到有效降低。

接下来,介绍一种利用上述口令生成方法和口令验证方法来实现的支付方法。该支付方法可以是一种线下扫码支付场景,包括如下步骤:

步骤a:服务端接收携带由终端生成的认证口令的支付请求;所述认证口令包含动态口令、第二信息及设备id,所述动态口令是终端将预先存储的令牌和当前时间值作为第一预设算法的输入值计算得到的,所述第二信息是终端至少将包括动态口令的第一信息作为第二预设算法的输入值计算得到的,所述设备id被预先存储于所述终端。所述支付请求还可以携带支付的金额信息、收款方账户信息、支付方账户信息。

步骤b:服务端根据所述认证口令中的设备id,查询与所述设备id对应的令牌。

步骤c:服务端利用该令牌和当前时间值对所述动态口令进行校验。

步骤d:服务端利用所述第一信息、令牌和所述第二预设算法,对所述第二信息进行校验。

步骤f:若所述动态口令校验通过且所述第二信息校验通过,则执行与所述认证口令对应的支付事务。所述支付事务的执行过程一般是将一定的金额(上述支付请求携带的支付的金额信息)从支付方账户(如某个买家)转到收款方账户(如商家账户)的过程。

可见,在线下扫码支付的场景中,相较于现有技术,本申请实施例所验证的认证口令被他人蛮力破解的风险得到有效降低,大大降低用户财产被盗刷的可能性。

需要说明的是,上述本申请各实施例提供的口令生成方法和口令验证方法的应用场景并不限于上述线下扫码支付场景,还可以是其他形式的需要进行身份认证的场景(如:通过验证用户身份来实现开门等)。

需要说明的是,以上各实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤s201和步骤s1202的执行主体可以为设备1,步骤s203的执行主体可以为设备2;又比如,步骤s201的执行主体可以为设备1,步骤s202和步骤s203的执行主体可以为设备2;等等。

图6为本申请实施例提供的口令生成装置和口令验证装置的模块示意图。本申请实施例中,以支付场景为例,包括终端100,服务端200,扫码装置300,网络400,其中,上述服务端200和上述终端100可以通过网络400相互通信,上述服务器200和上述扫码装置300可以通过网络400相互通信。其中,终端100包括显示屏102、处理单元、总线、输入输出装置等硬件,上述服务端200也包括处理器202、内存204、非易失性存储器206、总线、输入输出装置等硬件。除上述硬件外,上述终端100和服务端200还包括相应的软件。其中,口令生成装置110可以以软件、或硬件、或软硬件结合的形式存在于上述终端100中(例如存在于内存或硬盘中),口令校验装置210可以以软件、或硬件、或软硬件结合的形式存在于上述终端200中(例如存在于内存或硬盘中)。其中,该口令生成装置中的各个单元所能够实现的功能与上述口令生成方法中各个步骤所能够实现的功能类似,故该口令生成装置的具体细节可以参照上述口令生成方法实施例的内容,本文不再予以赘述。同样地,上述口令验证装置的具体细节可以参照上述口令验证方法实施例的内容。

如图6所示,本申请一实施例中,一种口令生成装置110包括:

第一计算单元111,用于将预先存储于终端中的令牌和当前时间值作为第一预设算法的输入值,计算得到动态口令;所述终端还预先存储与所述令牌对应的设备id,所述令牌和所述设备id是由服务端生成并向终端发送的。

第二计算单元113,用于至少将包含所述动态口令的第一信息作为第二预设算法的输入值,计算得到第二信息。

口令生成单元115,用于生成包含所述动态口令、所述第二信息及所述设备id的认证口令。

本申请可选的实施例中,所述第二计算单元113用于:

将所述令牌和包含所述动态口令的第一信息,作为第二预设算法的输入值,计算得到第二信息。

本申请可选的实施例中,所述第一信息包括下述任意一种:

动态口令;

动态口令和当前时间值的组合;

设备id和动态口令的组合;

设备id、动态口令及当前时间值的组合。

本申请可选的实施例中,所述第一预设算法为不可逆算法,和/或所述第二预设算法为不可逆算法。

如图6所示,本申请一实施例中,一种口令验证装置210,包括:

接收单元211,用于接收由终端生成的包含动态口令、第二信息及设备id的认证口令;所述动态口令是终端将预先存储的令牌和当前时间值作为第一预设算法的输入值计算得到的,所述第二信息是终端至少将包括动态口令的第一信息作为第二预设算法的输入值计算得到的,所述设备id被预先存储于所述终端;

查询单元213,用于查询与所述设备id对应的令牌;

校验单元215,用于利用该令牌和所述第一预设算法对所述动态口令进行校验,及用于至少利用所述第一信息和所述第二预设算法对所述第二信息进行校验;

判定单元217,用于在所述动态口令校验通过且所述第二信息校验通过时,判定所述认证口令验证通过。

本申请可选的实施例中,所述校验单元215用于:

利用所述第一信息、所述令牌和所述第二预设算法对所述第二信息进行校验;所述第二信息是终端将所述令牌和所述第一信息作为第二预设算法的输入值计算得到的。

本申请可选的实施例中,所述第一信息包括下述任意一种:

动态口令;

动态口令和当前时间值的组合;

设备id和动态口令的组合;

设备id、动态口令及当前时间值的组合。

在支付场景中,本申请实施例提供的一种支付装置,包括:

接收单元,用于接收由终端生成的包含动态口令、第二信息及设备id的认证口令;所述动态口令是终端将预先存储的令牌和当前时间值作为第一预设算法的输入值计算得到的,所述第二信息是终端至少将包括动态口令的第一信息作为第二预设算法的输入值计算得到的,所述设备id被预先存储于所述终端;

查询单元,用于查询与所述设备id对应的令牌;

校验单元,用于利用该令牌和所述第一预设算法对所述动态口令进行校验,及用于至少利用所述第一信息和所述第二预设算法对所述第二信息进行校验;

支付单元,用于在所述动态口令校验通过且所述第二信息校验通过时,执行与所述认证口令对应的支付事务。

相较于现有技术,本申请实施例所验证的认证口令被他人蛮力破解的风险得到有效降低,大大降低用户财产被盗刷的可能性。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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