(30 gadget day 2) 最简单也最复杂的Gadget - YubiKey

晚上翻出myo准备继续写的时候,被提示需要升级,于是就update呗。于是...就update了一个小时,现在还在转...

(30 gadget day 2) 最简单也最复杂的Gadget - YubiKey

其他设备都在办公室,于是智能在家里翻箱倒柜...先是翻出了Chromecast,拿在手里很开心的开始看Cast文档。看了一会迫不及待的拿出来试。于是...

(30 gadget day 2) 最简单也最复杂的Gadget - YubiKey

找了一圈基本确认Cast决定今天不见我以后,继续寻觅下一个下手的目标。于是找到了这只TI的“智能手表”。好吧,谁还认识它?

(30 gadget day 2) 最简单也最复杂的Gadget - YubiKey
(30 gadget day 2) 最简单也最复杂的Gadget - YubiKey

这次我谨慎审视了下,自然的决定了放弃。因为很显然我基本12个小时内找不到它的专用充电器...好~吧~于是最后翻到了它:YubiKey。

(30 gadget day 2) 最简单也最复杂的Gadget - YubiKey

YubiKey呢,是个99.999%的人都不会有兴趣的Gadget,而且剩下的0.001%里顶多按过两三次以后就扔那了(><)

一次一密(OTP)

一次一密是一种简单粗暴有效的加密方式。基本的概念就是,每次加密用的钥匙都来个新的,跟上次用的没啥关系的。这样基本只能用遍历**。

YubiKey OTP

YubiKey的使用很简单,插在电脑上,它就会亮。按一下那个唯一的按键,它就会往你光标在的位置“吐”一串密码。当然要登录的服务器得支持YubiKey的认证方式(所以基本没几个服务可以用,但是有LastPass)。

(30 gadget day 2) 最简单也最复杂的Gadget - YubiKey

YubiKey的OTP实现如下。顶上紫色的是最终产生的一个字符串。其中前面一部分是用户ID,用来对应用户的公钥。后面部分是一个由counter何session key组合产生的密码。由于每次按键都会使得内部的counter自增,所以同一个密码是不能被拿来验证两次的。另外,由于这玩意儿里面的firmware是写死的,所以也基本不用担心算法被篡改的问题。

(30 gadget day 2) 最简单也最复杂的Gadget - YubiKey

YubiCloud

刚才说到服务器要支持YubiKey的认证方式,YubiCloud就是Yubico给出的解决方案。流程很简单如下图。

(30 gadget day 2) 最简单也最复杂的Gadget - YubiKey

只要在验证的步骤中增加一步跟YubiCloud交互的过程就ok了。一般这种应用会要求三个凭证来作为用户身份验证:用户名,密码,YubiKey产生的OTP。先验证密码的好处是,可以不至于每次输错密码都要重新产生一个OTP。

YubiCloud提供了几个写好的Server-YubiCloud的SDK,同时也给出了兼容这个协议的独立认证服务器实现参考,还有个第三方的go写的哟。

U2F

前段时间Gmail宣布支持U2F,因为有软件的Authenticator,硬件版本的U2F对于大部分二次验证用户来说...没啥用...但...对于在笔记本上使用二次验证的用户来说,买一个他家出的U2F SECURITY KEY,可能还是可以应对“手机没电”,“清空了Authenticator数据”,“手机丢了”等情况的。况且,日子还要过,逼还要装,怎能跟那些厮一样,打开个App看密码...

好吧,我承认今天的blog过于水了...就请看在之前找题材痛苦的份儿上...

晚安~