1219
备注:
|
4608
|
删除的内容标记成这样。 | 加入的内容标记成这样。 |
行号 1: | 行号 1: |
Yubico公司生产的一种安全密钥,支持的功能包括: Secure Static Passwords, Yubico OTP, OATH – HOTP (Event), OATH – TOTP (Time), Smart Card (PIV-Compatible), OpenPGP, FIDO U2F, FIDO2. | Yubico公司生产的一种安全密钥,可用于多种身份认证、二次认证、公钥加密场景。 |
行号 3: | 行号 3: |
== 功能模块 == | <<TableOfContents>> == 功能接口 == YubiKey总共有三种功能接口:FIDO、OTP和CCID。一个YubiKey 5系(比如YubiKey 5 NFC等)同时支持三种接口,而Yubico Security Key只支持FIDO接口。 * FIDO:FIDO2,U2F * CCID:OpenPGP, PIV, OATH * OTP:Static Password, Yubico OTP, Challenge-Response, Legacy OATH-HOTP 功能接口不同于物理接口。不同型号的YubiKey可能会有三种不同的物理接口: * USB * NFC * Lightning。 通过YubiKey Manager -> Interfaces 可以设置各个接口和功能的开启状态(OTP接口下的四种功能只能一起关闭或者打开)。 |
行号 7: | 行号 23: |
YubiKey支持FIDO联盟的U2F协议以及更新版[[https://zh.wikipedia.org/wiki/FIDO2|FIDO2协议]],提供网站登陆的二次验证(2FA)以及无密码登陆功能。支持该功能的网站包括Google、Twitter、Facebook、Github等等(完整列表详见 https://www.yubico.com/ca/works-with-yubikey/catalog/?series=1&sort=popular 以及 https://www.buybitcoinworldwide.com/dongle-auth/# ) | 系统将YubiKey的FIDO接口识别为一个HID设备。YubiKey通过该接口来支持FIDO联盟的[[https://zh.wikipedia.org/wiki/%E9%80%9A%E7%94%A8%E7%AC%AC%E4%BA%8C%E5%9B%A0%E7%B4%A0|U2F协议]]以及更新版的[[https://zh.wikipedia.org/wiki/FIDO2|FIDO2协议]],提供网站登陆的二次验证(2FA)以及无密码登陆功能。该二次验证方式比传统的TOTP更加安全(防止MITM)、更加方便(只需轻触无需输入)。 |
行号 9: | 行号 25: |
* | 支持该功能的网站包括Google、Twitter、Facebook、Github等等(完整列表详见 [[https://www.yubico.com/ca/works-with-yubikey/catalog/?series=1&sort=popular|1]] 以及 [[https://www.buybitcoinworldwide.com/dongle-auth/#|2]] )。该功能也需要设备和浏览器的支持,最新版本的各种浏览器以及Android(无谷歌框架的安卓系统无法支持)、iOS系统(13+)均支持该功能。 |
行号 11: | 行号 27: |
==== 使用方法 ==== 这是使用最方便的一种模式。FIDO2和U2F的使用方法几乎一致: 1. 在支持该功能的网站中添加YubiKey 1. 登陆时在看到浏览器提示后轻触YubiKey ==== FIDO2与U2F的区别 ==== === CCID === 系统会将YubiKey的CCID接口识别为一个智能卡读卡器,不同的YubiKey功能会被识别为读卡器上不同的智能卡。YubiKey通过该接口支持PIV、OpenPGP以及OATH三种功能。 ==== OATH ==== OATH是一种生成二次验证码的标准,包括TOTP和HOTP两种验证码。通过这个接口使用OATH功能可以存储32组密钥,与此相对的,通过OTP接口使用OATH-HOTP只能存储一组密钥。 * TOTP: 此模式即Google Authenticator等二次验证应用所使用的算法,此算法依赖当前时间,而YubiKey没有内建时钟,所以依赖YubiKey所连接的设备的时间。 * HOTP: 此模式和TOTP类似,但不依赖时间而是依赖计数器来生成验证码。每生成一次验证码,内部计数器加1。 以上两种验证码,都可以通过Yubico Authenticator应用来输入密钥及生成二次验证码。 ==== PIV ==== ==== OpenPGP ==== |
|
行号 15: | 行号 57: |
=== CCID === | 这是从最初版本的YubiKey继承下来的传统接口,系统会将该接口识别为一个键盘设备,支持静态密码、Yubico OTP、HMAC-SHA1 Challenge-Response以及传统的OATH-HOTP(新的OATH通过CCID接口实现)四种功能。 |
行号 17: | 行号 59: |
OTP接口有两个槽,分别对应轻触和长按YubiKey。每个槽都可以配制成四个功能中的任意一个。 | |
行号 18: | 行号 61: |
注意:如非必要,尽量使用前面两种模式而不是这种模式。 ==== 静态密码 ==== 通过YubiKey Manager可以设置静态密码。 使用时轻触或者长按YubiKey即可在当前光标处输入提前设置的密码。 注意事项: * 首先,这是非常不安全的模式,任何人获得你的YubiKey都可以得到你设置的密码。 * 其次,由于键盘布局的问题,这种模式能完全正常使用的字符是有限制。详见 [[https://resources.yubico.com/53ZDUYE6/as/9hccqgx9bwwqq96mhkk8jb4h/Static_Password_Function.pdf]] ==== Yubico OTP ==== ==== HMAC-SHA1 Challenge-Response ==== ==== OATH-HOTP ==== |
|
行号 22: | 行号 82: |
* https://docs.yubico.com/hardware/yubikey/yk-5/tech-manual/index.html | |
行号 27: | 行号 88: |
* [[https://wiki.archlinux.org/title/YubiKey#OTP_slot_implementation]] |
Yubico公司生产的一种安全密钥,可用于多种身份认证、二次认证、公钥加密场景。
目录
功能接口
YubiKey总共有三种功能接口:FIDO、OTP和CCID。一个YubiKey 5系(比如YubiKey 5 NFC等)同时支持三种接口,而Yubico Security Key只支持FIDO接口。
- FIDO:FIDO2,U2F
- CCID:OpenPGP, PIV, OATH
- OTP:Static Password, Yubico OTP, Challenge-Response, Legacy OATH-HOTP
功能接口不同于物理接口。不同型号的YubiKey可能会有三种不同的物理接口:
- USB
- NFC
- Lightning。
通过YubiKey Manager -> Interfaces 可以设置各个接口和功能的开启状态(OTP接口下的四种功能只能一起关闭或者打开)。
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. CCID
系统会将YubiKey的CCID接口识别为一个智能卡读卡器,不同的YubiKey功能会被识别为读卡器上不同的智能卡。YubiKey通过该接口支持PIV、OpenPGP以及OATH三种功能。
2.1. OATH
OATH是一种生成二次验证码的标准,包括TOTP和HOTP两种验证码。通过这个接口使用OATH功能可以存储32组密钥,与此相对的,通过OTP接口使用OATH-HOTP只能存储一组密钥。
TOTP: 此模式即Google Authenticator等二次验证应用所使用的算法,此算法依赖当前时间,而YubiKey没有内建时钟,所以依赖YubiKey所连接的设备的时间。
- HOTP: 此模式和TOTP类似,但不依赖时间而是依赖计数器来生成验证码。每生成一次验证码,内部计数器加1。
以上两种验证码,都可以通过Yubico Authenticator应用来输入密钥及生成二次验证码。
2.2. PIV
2.3. OpenPGP
3. OTP
这是从最初版本的YubiKey继承下来的传统接口,系统会将该接口识别为一个键盘设备,支持静态密码、Yubico OTP、HMAC-SHA1 Challenge-Response以及传统的OATH-HOTP(新的OATH通过CCID接口实现)四种功能。
OTP接口有两个槽,分别对应轻触和长按YubiKey。每个槽都可以配制成四个功能中的任意一个。
注意:如非必要,尽量使用前面两种模式而不是这种模式。
3.1. 静态密码
通过YubiKey Manager可以设置静态密码。
使用时轻触或者长按YubiKey即可在当前光标处输入提前设置的密码。
注意事项:
首先,这是非常不安全的模式,任何人获得你的YubiKey都可以得到你设置的密码。
其次,由于键盘布局的问题,这种模式能完全正常使用的字符是有限制。详见 https://resources.yubico.com/53ZDUYE6/as/9hccqgx9bwwqq96mhkk8jb4h/Static_Password_Function.pdf
3.2. Yubico OTP
3.3. HMAC-SHA1 Challenge-Response
3.4. OATH-HOTP
参考资料
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