这段时间在学习aws,发现可以通过配置google authenticator来强化登陆的安全性。心想能不能把Google authenticator用在其他地方呢?意外的发现wordpess和Gmail Account也是支持的。
WordPress配置很简单,首先安装Plugin,激活
然后在管理员的Profile下面,生成二维码
iPhone上安装对应的软件,(左下角白***标),扫描二维码,即可绑定
保存Wordpress的设置,重新进入登录界面,发现多了个验证码的选项
下面我的截图里面包括了2个不同的账号,一个是aws,一个是我的wordpress,验证码每30秒会变化一次
登陆wordpress的时候,输入用户,密码和google authenticator的6位的验证码就行了
我们来看看Google Authenticator的实现原理是什么。
从上面的步骤可以看出,首先服务器会生成一个随机密码,用户可以通过手动输入或者扫描二维码将这个密码存入手机设备;然后Google authenticator每隔30秒会通过某种哈希算法,通过时间戳和保存的密码计算出一个6位的数字。输入之后,服务器端也会通过一样的算法计算这个数字,如果相同,那么验证通过。30秒的时间可以保证用户有足够的时间输入密码,同时避免黑客进行暴力破解(毕竟只有10的6次方种可能性很快就会被破解),不过黑客仍然可以利用中间人攻击的方式获取用户名,密码和验证码。
用类似的方式,我们还可以绑定Gmail账号
登陆Gmail,然后安全里面选择2-step verification
输入手机号,google服务器会发送一个号码给手机
一路点下来,手机就算绑定成功了。但是豆子想使用Google authenticator来验证,手机只是作为一个辅助手段来验证,点击switch to app
选择手机类型
扫描二维码,原理方式和WordPress一样
这样就绑定成功了
登陆看看,第一步和普通登陆一样,输入用户名和密码
第二步多了个验证码
测试成功!
参考资料
http://blog.seetee.me/archives/73.html
http://en.wikipedia.org/wiki/Google_Authenticator
https://support.google.com/accounts/answer/1066447?hl=en
Google authenticator 登陆 Wordpress和 Gmail账号,布布扣,bubuko.com