多重要素验证(英语:Multi-factor authentication,缩写为 MFA),又译多因子认证、多因素验证、多因素认证,是一种电脑访问控制的方法,用户要通过两种以上的认证机制之后,才能得到授权,使用电脑资源。例如,用户要输入PIN码,插入银行卡,最后再经指纹比对,通过这三种认证方式,才能获得授权。这种认证方式可以提高安全性。
双重认证(英语:Two-factor authentication,缩写为2FA),又译为双重验证、双因子认证、双因素认证、二元认证,又称两步骤验证(2-Step Verification,又译两步验证),是多重要素验证中的一个特例,使用两种不同的元素,合并在一起,来确认用户的身份。
双重认证(英语:Two-factor authentication,缩写为2FA),又译为双重验证、双因子认证、双因素认证、二元认证,又称两步骤验证(2-Step Verification,又译两步验证),是多重要素验证中的一个特例,使用两种不同的元素,合并在一起,来确认用户的身份。
多重身份验证其实在我们的生活中已经比较普及了,像登录短信验证码、令牌登录之类的应该是最常见的。但是有一种非常不错的二步验证方法其实在国内不太普及,其实很多网站都早已支持。它就是基于时间的一次性密码算法(TOTP)。
TOTP是散列消息认证码(HMAC)当中的一个例子。它结合一个私钥与当前时间戳,使用一个密码散列函数来生成一次性密码。由于网络延迟与时钟不同步可能导致密码接收者不得不尝试多次遇到正确的时间来进行身份验证,时间戳通常以30秒为间隔,从而避免反复尝试。
在特定的多重因素验证应用中,用户验证步骤如下:一位用户在网站或其他服务器上输入用户名和密码,使用运行在本地的智能手机或其他设备中的TOTP生成一个一次性密码提交给服务器,并同时向服务器输入该一次性密码。服务器随即运行TOTP并验证输入的一次性密码。为此,用户设备与服务器中的时钟必须大致同步(服务器一般会接受客户端时间-1区间(也就是延迟了30秒)的时间戳生成的一次性密码)。在此之前,服务器与用户的设备必须通过一个安全的信道共享一个密钥,用于此后所有的身份验证会话。如需要执行更多步骤,用户也可以用TOTP验证服务器。
在特定的多重因素验证应用中,用户验证步骤如下:一位用户在网站或其他服务器上输入用户名和密码,使用运行在本地的智能手机或其他设备中的TOTP生成一个一次性密码提交给服务器,并同时向服务器输入该一次性密码。服务器随即运行TOTP并验证输入的一次性密码。为此,用户设备与服务器中的时钟必须大致同步(服务器一般会接受客户端时间-1区间(也就是延迟了30秒)的时间戳生成的一次性密码)。在此之前,服务器与用户的设备必须通过一个安全的信道共享一个密钥,用于此后所有的身份验证会话。如需要执行更多步骤,用户也可以用TOTP验证服务器。
使用TOTP作为二步验证有诸多的优点:
- 密码不再是唯一的验证凭据,增加登录安全性,即使密码泄露入侵者也无法长驱直入。
- 很多应用都支持此类验证方法,普遍性不错。
- 操作较为方便。