本页使用了标题或全文手工转换

一次性密码

维基百科,自由的百科全书
跳到导航 跳到搜索

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

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

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

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

原理[编辑]

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

获取密码的方法[编辑]

文字短信[编辑]

由于文字短信是很普及可以接触到的技术,成为了动态密码传递的方式中最常见的一种方式。但由于移动网络传递短信时的安全性问题,这种方式对于中间人攻击的抗性较低。

智能手机[编辑]

对于有成本考量但希望获取较高安全性的公司,会规划使用在智能手机上安装移动应用程序产生动态密码。

特殊载具[编辑]

RSA Security的RSA SecurID Token

追求更高的安全性而可以接受较高的成本时,会使用独立的载具存放产生动态密码所需的密钥,避免被中间人攻击(文字短信)或是被透过移动设备的系统漏洞而获取密钥(智能手机)。因为载具独立而内置配有电池,因此会有寿命与回收的问题。

另外有折衷的方案是类似YubiKey使用USB供电,透过模拟USB键盘输入的方式,但由于与电脑有实体接触,安全性在严格的考量下不会与完全隔离的方案相同。

网页服务[编辑]

纸张[编辑]

在某些国家的在线银行系统会采用预印的方式提供一次性的密码。

优势[编辑]

动态密码的解决方案有以下几个优点:

  1. 解决用户在密码的记忆与保存上的困难性。
  2. 由于密码只能使用一次,而且因为是动态产生,所以不可预测,也只有一次的使用有效性,可以大为提升使用的安全程度。

基于这些优点,有越来越多的银行金融业甚至是游戏业使用OTP解决方案,来提升保护其用户的安全性。

参考文献[编辑]