最近国外银行和在线交易网站纷纷增加双因素(Two-factor)验证服务,大多数的实现是通过增加RSA的Token产品来实现。但是使用硬Token会给每个用户增加几美元的成本,而且Token也有电池寿命等问题。使用软Token虽然可以大大降低成本,却又有软Token软件被Copy走或者只能在单台机器上使用问题,移动性不好。
      目前国外有厂商提供了在Blackberry/Palm上使用的移动版软Token,但国内的情况和国外有点不太一样,智能手机的普及率是远远不及国外。因此国内厂商也有通过Java实现,安装在手机上的Token软件,不过似乎还没有听过有比较成功的部署案例(大家可以自己查一下 AT.pass)
      软Token实现起来需要克服几个问题
             1、 支持的平台(不能要求每个人为了用移动版的软Token都换手机吧)
             2、 技术实现的复杂性(设计成同步验证的怎么和服务器同步时间,如果是异步的怎么传递参数)
             3、 安装、使用的复杂性
       国内要发展移动版软Token,首先要过的第一关是 支持平台 这个问题,国内的手机型号有多少,技术代数怎么分布没人统计过(估计也没法统计)就说大部分手机支持java,那 怎么安装Token软件,怎么启动它,估计又有一大部分人搞不定(这个就涉及到第三点,安装使用复杂性),另外,无论是同步或者异步验证的方式,都存在一个移动设备和服务器联络可靠性的问题,比如采用短信向移动设备来发送验证请求,以目前短信的可靠性来说,用户有很大可能收到短信时验证请求已经超时,这还不说短信的传输是不加密的。
      由上,移动设备软Token的Availability和confidentiality并没有很明显的优势。
      用户的接受程度永远是决定产品是否成功的主要因素,光讨论产品有多么多么先进,功能有多么多么强是没有意义的。
      所以J0ker觉得,移动设备上使用软Token,只有等Symbian或者WM普及了之后,3G网络普及之后,才可以在比较低的成本上实现,至于到时只实现单一功能的硬Token是否价格已经低到直逼软Token,那就是第二回事了。