我们来聊聊信息安全:Yubikey 4 简介与配置
从2014年知道Yubico这个公司,心里就长下了一棵草。一直关注这方面的信息,以至于Yubikey 4刚发布时毫不犹豫就买了。已经使用半年多的我突然想到可以分享下这个。 刚才看了下张大妈这里就找到一篇分享,基本的介绍也都有了。我这里再多说几句,作为补充。 文章枯燥,基本上没有图。
Yubikey, 简单来说,就是一个支持OTP、公钥加密签名、U2F协议的硬件认证设备。
目前Yubico官方的产品
FIDO U2F Key: 功能单一 国内也有很多厂商可以实现
Yubikey NEO: 带NFC功能 **利器(个人认为这里的NFC无关紧要)
Yubikey 4 Nano: 很小,看官方视频 好像插入USB口以后 一般就不用取下来了 真的很小
所以我选择了Yubikey 4
简单说下功能,YubiKey 可以同时工作在三种模式:
传统键盘设备模式: Yubico OTP, Challenge-Response, 静态密码, HOTP 等, 这个模式又有两个slot,对应于短按和长按操作,生成两种密码
Smartcard 模式: OpenPGP card 和 PIV card,可以用来安全地保存 RSA 私钥
U2F 模式: 一种两步认证协议,Google, Dropbox, Github 等网站都支持
以上提到的三个功能是可以同时使用的,相互之间并不冲突。
在我的影响下,身边同事也开始接受并使用Yubikey, 上次同事们一起团了10多个,货刚收到就被一抢而空,还好我拍了些照片。
小编说图片没有实物图,来来来 那我就上传几个实物图来。
传统键盘设备模式(HID)
这部分比较简单,使用 yubikey-personalization-gui 即可进行图形化配置.
HID能够模拟键盘设备向电脑输入一串生成的密码,兼容性最好。其中还包含多种模式:OTP、Static、Challenge-Response、HTOP,
OTP: KEYID+AES(AESKEY, SECRET, COUNT++)即生成的密码包含明文的KEYID和对称加密的SECRET和计数器。第一次使用前需要把KEYID,AES_KEY,SECRET提交至验证服务器(Yubico提供或者自己搭建),之后应用程序每次通过服务器验证密码的可靠性(解码后SECRET对应、COUNT增大(防止重放攻击))。
Static: 静态密码。顾名思义,每次生成固定的一串密码(并没有什么用)。
Challenge-Response: HMAC(SECRET, INPUT)即可以通过HID接口给定一个输入,输入HMAC的计算结果。输入需要本地代码实现。
HTOP: HMAC(SECRET, COUNTER++)算法与Challenge-Response类似,然而使用累加计数器代替了输入,并且HTOP是一个标准协议,许多网站和设备都兼容该标准。 在YubiKey中包含两个configuration slot,每一个slot可以单独配置以上模式中的其中一种,通过短触和长触来选择输入。
由于 Yubico OTP 需要认证服务器(默认是 yubico cloud)做认证,所以如果你修改了 Yubico OTP 配置的话,还需要把密钥等信息上传到 Yubico Cloud, 点击 这里 有一份图文并茂的官方文档。
OpenPGP Card
如果你使用 GPG 来做加密和签名,那么 OpenPGP Card 可以进一步加强安全性和便利性。 YubiKey可以作为标准的OpenPGP Smart Card使用,用来存储PGP私钥(设备中私钥是可写不可读的,解密/签名操作在设备上完成)。
首先你需要设置一下 YubiKey。
gpg --card-edit # 打开设置
首先敲 admin 命令打开管理模式,可以使用 help 命令查看帮助,然后用 passwd 命令设置 PIN, Admin PIN 和 Reset Code, 可以是字母和数字,PIN 的默认值是 123456,Admin PIN 的默认值是 12345678。请 牢牢记住 这三个密码。
PIN 码是平时最常用的密码,如果输错三次就会被锁定,需要使用 Reset Code 来解锁,Reset Code 输错三次,只能物理重置。 Admin PIN 是管理卡信息(如添加密钥、修改密码)使用的密码,不能短于 8 位,输错三次则管理功能被锁定,只能物理重置。 记住,千万不要在需要输入 Admin PIN 的时候输入短于 8 位的密码,这样会直接锁定。 别怪我没提醒你啊!!!
一个 GPG 密钥包含多个 RSA 密钥对,一对主密钥,若干对不同用途的子密钥,一对密钥包括一个公钥和一个私钥。 一般 gpg --gen-key 得到的,就包括一对主密钥,可以用于签名;一对子密钥用于加密。
不推荐把主密钥放进 YubiKey 里,因为主密钥还有一个重要功能就是维持社交关系,时间流逝,子密钥可能经常变化, 而别人只需要记住你的主密钥ID就可以随时更新。如果把主密钥放进 YubiKey 里,万一丢了,那么你就无法证明你是你了。
U2F 两次认证
现在很多网站都提供两次认证加强安全性,比如 Google, Dropbox 等。 常见的两次认证是使用 Google Authenticator, Duo Mobile 等工具产生 TOTP (Time-based One-Time Password), 每次登陆的时候都要开手机运行App,总还是麻烦了些,而 U2F 则可以通过插入 YubiKey 并轻触按钮完成认证。
国内的网站就不要想了!!!
目前只有 Google Chrome 浏览器完全实现了 U2F 支持,Firefox 需要安装插件 。 鉴于YubiKey实现的功能的多样性,它能应用/折腾的场景还是非常丰富的,举例来说:
用作网站的两步验证,比如Google,Dropbox,Fastmail等 用于操作系统的登陆,官方提供了PAM模块支持Linux和OS X 使用OpenPGP签名、解密文件 ……
没名字的驴
校验提示文案
xxxzxxx
校验提示文案
孤风魔影
校验提示文案
QCf4n
校验提示文案
shenshang428
校验提示文案
郓州草莽
校验提示文案
zeadoit
校验提示文案
bluejj2014
校验提示文案
HyperNature
校验提示文案
imnpc
校验提示文案
沉默的葡萄
校验提示文案
数码姐
校验提示文案
顿角
校验提示文案
拉拉丁
校验提示文案
Hoper007
校验提示文案
逝风挚爱
校验提示文案
值友6251268117
校验提示文案
巅峰战将
校验提示文案
阿菠萝
校验提示文案
一位羊毛薅子
校验提示文案
值友6251268117
校验提示文案
糖炒栗子v
校验提示文案
数码姐
校验提示文案
maoriu
校验提示文案
imnpc
校验提示文案
一位羊毛薅子
校验提示文案
QCf4n
校验提示文案
HyperNature
校验提示文案
阿菠萝
校验提示文案
bluejj2014
校验提示文案
巅峰战将
校验提示文案
孤风魔影
校验提示文案
zeadoit
校验提示文案
郓州草莽
校验提示文案
shenshang428
校验提示文案
xxxzxxx
校验提示文案
逝风挚爱
校验提示文案
Hoper007
校验提示文案
拉拉丁
校验提示文案
没名字的驴
校验提示文案