令牌也就是用来产生动态密码的一个工具,很多地方都已经用到了这个东西,比如盛大密宝,支付宝,腾讯,还有很多银行的网银。很早以前就有这个产品,但我现在是第一次使用,说说我使用后的一些感受吧。

手机令牌

一般情况下这个令牌都不可能免费发放给用户,因为成本比较高,而我是因为在一家小银行开户,并开通了网银,而且还免费发放uKey和令牌,既然是免费的东西,那我自然没有理由拒绝啦。uKey是网银中比较常用的设备,也就是uKey插到电脑上就可以进行高风险的操作,这在普通网银上是无法操作的。

令牌,我得到的是一个类似于小型计算器一样的东西,一开始我以为这是个联网的产品,当有交易发生的时候会发送信息到这个设备上,然后设备给出一个验证码,并在交易那边输入确认就可以完成交易。但实际使用的时候才发现不是这么回事,我们先来看看使用流程:

1、手机登陆网银客户端,选择转账等操作,填完转账信息,看到有一个获取挑战码的按钮,点按钮之后,手机收到短信,内容包括一个8位的挑战码。

2、将令牌开机,输入短信中的8位挑战码,然后令牌会产生一个8位验证码出来,在手机端输入这个验证码,然后就能完成交易。

那么我们来分析一下,这个挑战码和验证码是不是有对应关系,我第二次输入相同的8位挑战码,发现产生了一个不同的验证码出来,看来这不是一对一的关系,而是根据一定的算法产生的,很有可能还加入了时间因素和随机因素。那么对于相同的8位挑战码产生的不同8位验证码是不是都有效呢?我尝试输入第二次产生的验证码,发现交易可以成功,看来这个验证码是有一个集合,或者说可以通过特定算法反算出原挑战码。

所以我得出的结论是,令牌并不是网络设备,价格就没我们想象中那么高了。而是集成了一个固定的算法,并且不同设备使用了不同的因素,使得同一个挑战码获得的验证码不同。同样,网银服务器端也需要绑定用户和对应的令牌,来确保和设备得出的验证码能够成功匹配。