Yubico公司生产的一种安全密钥,可用于多种身份认证、二次认证、公钥加密场景。
功能接口
YubiKey总共有三种功能接口:FIDO、OTP和CCID。一个YubiKey 5系(比如YubiKey 5 NFC等)同时支持三种接口,而Yubico Security Key只支持FIDO接口。
1. FIDO
系统将YubiKey的FIDO接口识别为一个HID设备。YubiKey通过该接口来支持FIDO联盟的U2F协议以及更新版的FIDO2协议,提供网站登陆的二次验证(2FA)以及无密码登陆功能。该二次验证方式比传统的TOTP更加安全(防止MITM)、更加方便(只需轻触无需输入)。
支持该功能的网站包括Google、Twitter、Facebook、Github等等(完整列表详见 1 以及 2 )。该功能也需要设备和浏览器的支持,最新版本的各种浏览器以及Android(无谷歌框架的安卓系统无法支持)、iOS系统(13+)均支持该功能。
1.1. 使用方法
FIDO2和U2F的使用方法几乎一致:
在支持该功能的网站中添加YubiKey
登陆时在看到浏览器提示后轻触YubiKey
1.2. FIDO2与U2F的区别
2. OTP
这是传统的YubiKey的接口,系统将该接口识别为一个键盘设备,支持静态密码、Yubico OTP、HMAC-SHA1 Challenge-Response以及传统的OATH-HOTP(新的OATH通过CCID接口实现)四种功能。
2.1. 静态密码
2.2. Yubico OTP
2.3. HMAC-SHA1 Challenge-Response
2.4. OATH-HOTP
3. CCID
系统会将YubiKey的CCID接口识别为一个智能卡读卡器,不同的YubiKey功能会被识别为读卡器上不同的智能卡。YubiKey通过该接口支持PIV、OpenPGP以及OATH三种功能。
参考资料
https://docs.yubico.com/hardware/yubikey/yk-5/tech-manual/index.html
不同型号特性比较 https://www.yubico.com/products/compare-products-series/
官方手册 https://support.yubico.com/support/solutions/articles/15000014219-yubikey-5-series-technical-manual
固件5.2.3 https://www.yubico.com/blog/whats-new-in-yubikey-firmware-5-2-3/
YubiKey Handbook https://ruimarinho.gitbooks.io/yubikey-handbook/content/
YubiKey Guide https://github.com/drduh/YubiKey-Guide
https://wiki.archlinux.org/title/YubiKey#OTP_slot_implementation