一次性密码

一次性密码(英语:one-time password,简称OTP),又称动态密码单次有效密码,是指计算机系统或其他数字设备上只能使用一次的密码,有效期为只有一次登录会话或交易。OTP 避免了一些与传统基于(静态)密码认证相关系的缺点;一些实现还纳入了双因素认证,确保单次有效密码需要访问一个人有的某件事物(如内置 OTP 计算机的小钥匙挂件设备)以及一个人知道的某件事物(如 PIN)。

相对于静态密码,OTP 最重要的优点是它们不容易受到重放攻击(replay attack)。这意味着管理记录已用于登录到服务或进行交易的 OTP 的潜在入侵者将无法滥用它,因为它将不再有效。第二个主要优点是,使用多个系统相同(或类似)密码的用户,如果其中一个密码被攻击者获得,不是对所有的系统都容易变得脆弱。许多 OTP 系统也旨在确保会话不易被截获或没有前一个会话期间产生不可预测数据的知识模拟,从而进一步减少攻击面。

OTP 已被作为传统密码一个可能的替代以及增强方式讨论。不利的是,OTP 人类难以记忆。因此,它们需要额外的技术来运作。

一般的静态密码在安全性上容易因为木马键盘侧录程序等而被窃取,而只要花上相当程度的时间,也有可能被暴力破解。为了解决一般密码容易遭到破解情况,因此开发出一次性密码的解决方案。

原理

动态密码的产生方式,主要是以时间差做为服务器与密代码生成器的同步条件。在需要登录的时候,就利用密代码生成器产生动态密码,OTP一般分为计次使用以及计时使用两种,计次使用的OTP产出后,可在不限时间内使用;计时使用的OTP则可设置密码有效时间,从30秒到两分钟不等[1],而OTP在进行认证之后即废弃不用,下次认证必须使用新的密码,增加了试图不经授权访问有限制资源的难度。

获取方式

文字短信
由于文字短信是很容易能接触到的技术,也因此最常用来传递动态密码;然而,对于中间人攻击的抗性较低,也是此种方式的安全性问题。
纸本文件
在某些国家的在线银行系统会采用预印的方式提供一次性密码。
行动载具
对于有成本考量但希望获取较高安全性的公司,会规划使用在行动载具上安装移动应用程序产生动态密码。
独立载具
为了追求更高的安全性,用户也能使用较高成本的方式——独立载具,将产生动态密码所需的密钥存放于载具内,避免被中间人攻击或因为行动载具的系统漏洞而被获取密钥。此外,独立载具内置电池模块,因此会有寿命和回收的问题;或是使用由外部供电的载具,经由模拟键盘输入的方式访问密钥,但是此种载具和电脑有实体接触,因此没有与独立载具相同的安全性。

特色

优势
  • 解决用户在记忆与保存密码上的困难;
  • 由于密码只能使用一次,且是动态产生,难以预测,可以大为提升使用的安全程度。
劣势
  • 一次性密码多数需要手机网络收取短信;
  • 收取方可能会有延迟或无法收取的问题。

参考文献