话说上周花熊妹听到有人前几天因为用Authenticator App做亚马逊两步验证造成了帐号关联,然后还特意第一时间提醒大家慎用Authenticator……
然后引来些IT粉丝的吐槽,更有热情铁粉直接打电话来跟我解释Authenticator的实现原理,作为计算机专业科班出身的花熊妹此次从各方面了解并经过自己亲测(文中有客户端截图)已证实:上周说的用Authenticator App做亚马逊两步验证造成关联的说法确实不成立!特此说明,为之前造成的误解先给大家道个歉,听说已有人Copy到其他网络论坛了,请互相转告更新下信息,以此为准,谢谢!
在说Authenticator原理之前,我们先科普下亚马逊的关联原则:除了账户信息资料(证件、信用卡、收款帐号、电话号码、地址等)和产品信息内容等关联因素之外,登录帐号的设备的IP地址、MAC地址、Cookie等也会被亚马逊识别。另外关联又分为强关联和弱关联,单纯的因为IP或其他某一个点相同一般不会即刻把你的店铺关闭,很多时候帐号被冻结都是日积月累的问题造成的。所以,当你的账户被告知关联的时候可能是你之前的一些操作或信息造成的,只是因为现在的某些异常情况或操作引发了这个问题。
通俗地讲,Authenticator的实现原理就跟我们熟悉的网银、网络游戏的实体动态口令牌(如将军令等)的原理差不多。简单来说,Authenticator的实现原理是基于服务器端(Amazon)随机生成的密钥,客户端(Authentictor)使用服务器端的密钥和时间戳通过算法生成动态验证码。该验证码的生成只跟密钥和时间戳有关,客户端在飞行模式下都是可以运行的,跟网络等无关,所以就不用担心这个关联问题了。关于更多Authenticator的实现原理详情解释可查看链接:https://www.zhihu.com/question/20462696
说明: 苹果手机可以直接到APP Store下载安装Authenticator App登录后可以通过扫描如下页面中的二维码来获取并保存密钥,从而获得动态验证码。
【Authentictor App验证页面】
Android等其他手机也可以下载安装Google Authenticator等验证器(点击【Authentictor App验证页面】中的[Need an app?]即可查看相关说明界面:
Android手机扫码获取密钥的功能可能不如苹果手机好用,我们可以选择进入手动输入密钥界面:
点击【Authentictor App验证页面】中的[Can’t scan the barcode]即可查看密钥key的字符序列号的文本界面:
下图即用Android手机版的Google Authentictor亲测后的结果,第一个是第一次打开Amazon验证页面时的密钥保存后的验证码,第二个和第三个是重新打开Amazon验证页面后的密钥重复添加两次(只是手动输入的帐号名称不同)之后生成的验证码是相同的。
所以大家要注意不要让密钥(包括二维码)泄漏,因为Authentictor保存了密钥之后,之后登录帐号的验证码就是基于此密钥随着时间动态生成的,因此,泄漏密钥就跟泄漏密码了差不多。
如果泄漏了可以重新开启Amazon的Authentictor验证页面,Amazon服务端会重新随机生成一个密钥,之前的密钥就会失效了。
附加:用电话号码两步验证的操作步骤
1. 点击右上角的 [ Settings ] > [ Login Settings ]
2. 进入Login Settings页面找到 [ Advanced Security Settings]点击[ Edit] 3. 进入[ Advanced Security Settings]的Edit页面,点击 [ Get Started ]
4. 进入验证页面,输入手机号码(可接收短信的),点击[ Send code]后,手机就会收到一组验证码。在下方输入验证码后,点击 [Verify code and continue] 。
5. 绑定第二个备用电话(不限于手机号码,座机也可以),因为这个电话除了选择接收短信(Text message)验证码,还可以选择语音(Voice call)的方式接听验证码。同步骤4一样在下方输入验证码后,点击 [Verify code and continue] 后即完成两步验证操作。
在完成验证后,如果目前操作的装置(电脑、IP等)是常用的,可以勾选[ Don’t require codes on this device] ,以后用此设备登录帐号就可以跳过输入验证的步骤了。