原创:浅谈谷歌二级验证

本文由币车HIT(biche.yaofache.com)大V养成计划支持

自我们接触区块链后,最重要的行为莫过于买卖数字货币。相信大部分伙伴都是去交易所完成的这件事。大家应该都注意到了,交易所的账户的安全设置选项中,往往会有“开启谷歌二级验证”这项。二级验证相当于给大家的账户安全增添了一份保障,能在别人知道了你的账户密码后依然无法侵袭的数字资产。今天,呼噜就唠唠谷歌二级验证。

原创:浅谈谷歌二级验证_第1张图片

1. 什么是谷歌验证器?

谷歌验证器,即Google Authenticator(Google身份验证器)。它是谷歌公司推出的一款动态口令工具,解决大家的google账户遭到恶意攻击的问题。 

开启谷歌验证器(即Google Authenticator服务)后,用户登陆账号时,需要额外输入由手机客户端生成的动态密码。该动态密码为1个6位数,每30秒变化一次,验证后,才能登入你的数字货币交易账户或者进行交易。”

2. 验证器的工作原理是什么?

当用户开启二级验证后,打开手机端的APP,Google就会提供了一个随着时间变化的一次性密码(Time-based One-time Password,简称TOTP),用于帐户验证,而且这个应用程序离线也工作。 

TOTP是HOTP(一种名为HMAC-Based One-Time Password的算法)的一个变种。其工作原理为:客户端和服务器事先协商好一个密钥K,用于生成一次性密码,此密钥不被任何第三方所知道。此外,客户端和服务器各有一个计数器C,并且事先将计数值同步。

进行验证时,客户端对密钥和计数器的组合(K,C)使用HMAC(Hash-based Message Authentication Code)算法计算一次性密码,公式如下:HOTP(K,C) = Truncate(HMAC-SHA-1(K,C))HMAC算法得出的值位数比较多,所以会截断(Truncate)为6位数字一组的十进制数,以方便用户输入。计算完成之后客户端计数器C计数值加1。用户将这一组的6个数字输入并提交后,服务器端会进行同样的计算,并且与用户提交的数值比较,如果相同,则验证通过,服务器端将计数值C增加1。如果不相同,则验证失败。

这个明白了,TOTP就好理解了,就是把HOTP中的计数器C换成了时间T,公式为:TOTP (K,T)=Truncate(HMAC-SHA-1(K,T)),其中K还是双方已经共享的一个密钥,而T则是当前时间除以步长(默认是30)得到的。这样就得到了一个随时间变化的动态密码。

HOTP和TOTP已经成为IT行业公认的两种标准算法,谷歌,Facebook、雅虎、微软的一些网站上都会使用这个。代码度娘上都有,如果你感兴趣,有自己的网站,可以试一试。

3. 验证器的优缺点是什么?

最大的优点莫过于离线工作。当账户绑定谷歌验证器后,手机即使是网信号差、无网络、或者飞行模式下,均不影响验证器工作。你可以试一下,程序依然是每隔30秒正常生成6位数的验证码。 

缺点:很多人不小心卸载软件或者手机丢失后,没法继续使用二级验证,就得向交易所申请解绑。所以每次一定要把开启二级验证之前的一串秘钥认真保存下来,以备不时之需。

4. 能否破解? 

目前并没有看到或者听到有人说自己的二级验证被跳过或者被破解。这也很好理解,如果能被轻易破解,交易所早就抛弃它了。  

5. 更方便的验证工具

 现在微信小程序非常流行,小程序存在的意义就是即扫即用,增加用户体验好感。如果你不想多安装软件,这里推荐一个”二次验证码”的小程序版,可以完美实现二维码扫描、本地存储、低频率使用,并且不占本地磁盘。

原创:浅谈谷歌二级验证_第2张图片

不过需要注意:

1. 请不要清理微信数据内容

2. 可以购买会员,会员会用云端加密技术备份数据。不过,呼噜不太建议这么做,毕竟是真么重要的数据。本地保存就可以了,没必要买会员。当然,土豪随意。

原创:浅谈谷歌二级验证_第3张图片

最后再简单说说密码,自动从诞生后至今,约有3000年的历史。密码有它独特的含义和意义。 


历史上最早的有记录的密码术应用大约是在公元前5世纪。那个时候,古希腊的斯巴达人使用一种叫作scytale的棍子来传递加密信息。在scytale上,斯巴达人会呈螺旋形地缠绕上一条羊皮纸或皮革。发信人在缠绕的羊皮纸上横着写下相关的信息,然后将羊皮纸取下,这样羊皮纸上就是一些毫无意义的字母顺序。如果要将这条消息解码,收件人只要将羊皮纸再次缠绕在相同直径的棍棒上,这样就可以读出信件的内容了。 


其实,对我们来说,不仅是表面上的保障,更重要的是心理安全感,让自己踏实。不过,生活中,我们登录网站、E-mail和ATM取款时输入的"密码",这些都是"口令"(password)的通称,并不是本来意义上的"加密代码"。验证码相当于一种即时性密码,应用更灵活方便。手机上取款转账时的“有效期XX分钟的四到六位数验证码”的短信,也可以看做是一种即时性密码。

时刻切记,安全第一,死都不说密码和验证码。网络上有大量的扫号器、盗号木马,千万不要大意。中学时在一家网吧登录QQ后,QQ账户被盗的事情至今让我记忆犹新。QQ号毕竟影响不大,但是账户的资产安全就重于一切了。因为总是有的人会觉得每次登陆或者交易时输入二级验证码麻烦,所以去掉了这个极其重要的验证过程。

你可能感兴趣的:(原创:浅谈谷歌二级验证)