双因素认证是一种采用时间同步技术的系统,采用了基于时间、事件和密钥三变量而产生的一次性密码来传统的静态密码。那么虚拟主机怎么添加双因素安全验证呢?
一、双因素认证的概念
一般来说,三种不同类型的证据,可以证明一个人的身份。
秘密信息:强调排他型,某种信息,用户自己知道、其他人不知道,最常见的是密码。
个人物品:描述用户的私人物品,比如身份证、钥匙。
生理特征:用来区分事物之间的不同,通过描述用户的遗传特征,比如指纹、相貌、虹膜等等。
这些证据就称为三种”因素”。因素越多,证明力就越强,身份就越可靠。
双因素认证就是指,通过认证同时需要两个因素的证据。
银行卡就是最常见的双因素认证。用户必须同时提供银行卡和密码,才能取到现金。
二、双因素认证方案
国内的很多网站为了安全,用户输入密码时,增加手机验证码方式,以证明用户身份。
这是一种双因素认证方案。但是,短消息是不安全的,容易被拦截和伪造,SIM卡也可以克隆。
三、TOTP 的概念
TOTP 的全称是”基于时间的一次性密码”。它是公认的可靠解决方案,已经写入国际标准 RFC6238。
它的步骤如下。
第一步,用户开启双因素认证后,服务器生成一个密钥。
第二步:服务器提示用户扫描二维码(或者使用其他方式),把密钥保存到用户的手机。也就是说,服务器和用户的手机,现在都有了同一把密钥。
注意,密钥必须跟手机绑定。一旦用户更换手机,就必须生成全新的密钥。
第三步,用户登录时,手机客户端使用这个密钥和当前时间戳,生成一个哈希,有效期默认为30秒。用户在有效期内,把这个哈希提交给服务器。
第四步,服务器也使用密钥和当前时间戳,生成一个哈希,跟用户提交的哈希比对。只要两者不一致,就拒绝登录。想知道更多的内容可以阅读网站提高安全最简单的一种方法。
四、总结
双因素认证的优点在于,比单纯的密码登录安全得多。就算密码泄露,只要手机还在,账户就是安全的。各种密码破解方法,都对双因素认证无效。
缺点在于,登录多了一步,费时且麻烦,用户会感到不耐烦。而且,它也不意味着账户的绝对安全,入侵者依然可以通过盗取 cookie 或 token,劫持整个对话(session)。
双因素认证还有一个最大的问题,那就是帐户的恢复。
一旦忘记密码或者遗失手机,想要恢复登录,势必就要绕过双因素认证,这就形成了一个安全漏洞。除非准备两套双因素认证,一套用来登录,另一套用来恢复账户。想知道更多的内容可以阅读租用虚拟主机后,应该怎么建站?