在几年前,腾讯曾经推出类似的“QQ 密保卡”免费服务,通过纸质的卡片模拟动态密码形式登录,月光博客曾经分析过,“QQ密保卡”虽然节省了成本,但是安全性却远远低于动态密码 锁,QQ密保卡并没有使得QQ的登录安全性发生本质的变化,要想实现真正的网络安全,具有硬件介质的动态密码锁和USB Key才能使得安全性得到一个质的突破,而现在,腾讯终于推出了具有硬件介质的动态密码锁产品:QQ令牌,那么QQ令牌的安全性到底如何呢?
QQ密保卡
QQ令牌
动态密码认证技术
QQ令牌使用的是动态密码技术,这是目前较为流行的身份认证硬件产品,可以实现较为安全的身份认证。
动态密码(Dynamic Password)也称一次性密码,它指用户的密码按照时间或使用次数不断动态变化,每个密码只使用一次。动态密码采用一种称之为动态令牌的专用硬件,内 置电源、密码生成芯片和显示屏。下图是这种产品的外观,其中数字键用于输入用户PIN码,显示屏用于显示一次性密码。每次输入正确的PIN码,都可以得到 一个当前可用的一次性动态密码。
动态密码锁
这种产品的密码生成芯片运行专门的密码算法,根据当前时间以及使 用次数生成当前密码并显示在显示屏上。认证服务器采用相同的算法计算当前的有效密码。由于每次使用的密码必须由动态令牌来产生,只有合法用户才持有该硬 件,所以只要密码验证通过,系统就可以认为该用户的身份是可靠的。而用户每次使用的密码都不相同,即使黑客截获了一次密码,也无法利用这个密码来仿冒合法 用户的身份,因为下一次登录必须使用另外一个动态密码。
基于PIN码保护的动态密码
动态密码锁需要两个密码要素,一个要素是静态PIN码,由用户自行设置、保管。另一个要素是动态密码,由密码令牌动态生成,不可预测,并且与后台服 务器的接入控制保持同步,由后台服务器进行检验。因此,用户必需输入正确的静态PIN码和动态密码,才能通过身份认证。
动态密码锁本身 需要输入PIN码才能使用,静态PIN码的安全要素在于,这个PIN码不是在电脑上输入的,而是在密码锁上输入的,这样,所有的黑客木马程序从理论上讲都 全部失效,因为这些木马根本不可能在另外一个硬件密码锁上运行。
黑客要想破解用户密码,首先要从物理上获得用户的动态密码锁,其次还要 获得用户的PIN码,这样,黑客必须潜入用户家中(电脑黑客还需要学习普通窃贼的技术),偷取了动态密码锁,然后再破解PIN码。没有用户PIN码依旧无 法使用,而通常情况下动态密码锁本身具有一定安全保护功能,录入PIN码错误10次就会自动锁死而无法使用。这也保证了动态密码锁物理上的安全性。
动态密码技术可以完美解决客户端用户的安全性问题,因为黑客无论使用什么方法,也无法方便的窃取用户的密码,即使黑客窃取了一次密码也无法登录使用。
动态密码的类型
动态口令硬件令牌从技术角度分析包括以下三种形式:基于时间同步、基于事件同步、 挑战应答方式。
时间同步:基于动态口令令牌和服务器的时间同步,通过运算来生成一致的动态口令,一般更新率为60秒,每60秒产生一个 新口令,要求服务器能够十分精确的保持正确的时钟,同时对其令牌的晶振频率有严格的要求。
从另一方面,基于时间同步的令牌在每次进行认 证时,服务器端将会检测令牌的时钟偏移量,相应不断的微调自己的时间记录,从而保证了令牌和服务器的同步,确保日常的使用,目前可以通过增大偏移量的技术 (前后10分钟)来进行远程同步,确保其能够继续使用,降低对应用的影响。
事件同步:基于事件同步的令牌,其原理是通过某一特定的事件 次序及相同的种子值作为输入,通过加密算法运算出一致的密码,不受时钟的影响,由于其算法的一致性,其口令是预先可知的,通过令牌,你可以预先知道今后的 多个密码。基于事件同步的令牌同样存在失去同步的风险,例如用户多次无目的的生成口令等,事件同步的服务器使用增大偏移量的方式进行再同步,其服务器端会 自动向后推算一定次数的密码,来同步令牌和服务器。
挑战应答方式:常用于客户端软件,在软件上输入服务端下发的挑战码,客户端上生成一 个随机数字,这个动态口令只能使用一次,可以充分的保证登录认证的安全。