版本61和62间的区别
于2022-05-24 11:00:46修订的的版本61
大小: 4799
编辑: czk
备注:
于2022-05-24 11:08:25修订的的版本62
大小: 5812
编辑: czk
备注:
删除的内容标记成这样。 加入的内容标记成这样。
行号 23: 行号 23:
系统将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)、更加方便(只需轻触无需输入)。 系统将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)、更加方便(只需轻触无需输入)。
行号 32: 行号 32:
 1. 在支持该功能的网站中找到二次验证或者无密码登设置,选择添加YubiKey
 1. 登时在看到浏览器提示后轻触YubiKey,然后输入FIDO2 PIN。
 1. 在支持该功能的网站中找到二次验证或者无密码登设置,选择添加YubiKey
 1. 登时在看到浏览器提示后轻触YubiKey,然后输入FIDO2 PIN。
行号 37: 行号 37:
U2F和FIDO2的使用方法几乎一致,只是不支持PIN和无密码登 U2F和FIDO2的使用方法几乎一致,只是不支持PIN和无密码登
行号 53: 行号 53:

PIV模块可用于存储非对称加密密钥,并可进行登录、验证、加密解密等操作。

PIV模块共有四个可以直接存储的槽可以储存四个证书。此外还有20个槽用于存储历史证书,以方便解密过去的密文。

 * 9a 插槽:PIV 验证。验证智能卡和持卡人(比如用于操作系统登录、ssh、WiFi、OpenVPN、curl、Android code、Mac code、屏幕自动解锁)。通常 PIN 只会请求一次,在后续操作中可能会被重复使用。
 * 9c 插槽:电子签名。签名对象(Android code 签名、Mac code 签名、储存中间 CA 私钥签名)。一般来说,每次操作都需要验证 PIN。
 * 9d 插槽:钥匙管理。以保密为目的加密对象时,通常 PIN 只需要请求一次,在后续操作中可以重复使用。
 * 9e 插槽:安全卡验证。当需要物理手段进行验证时(比如门锁),通常情况不需要验证 PIN。

基于PIV可以实现SSH登录、操作系统登录等。

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

这是使用最方便的一种模式。

  1. 第一次使用可以在 YubiKey Manager -> Applications -> FIDO2 中设置FIDO2 PIN。

  2. 在支持该功能的网站中找到二次验证或者无密码登录设置,选择添加YubiKey

  3. 登录时在看到浏览器提示后轻触YubiKey,然后输入FIDO2 PIN。

1.2. U2F

U2F和FIDO2的使用方法几乎一致,只是不支持PIN和无密码登录。

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

PIV模块可用于存储非对称加密密钥,并可进行登录、验证、加密解密等操作。

PIV模块共有四个可以直接存储的槽可以储存四个证书。此外还有20个槽用于存储历史证书,以方便解密过去的密文。

  • 9a 插槽:PIV 验证。验证智能卡和持卡人(比如用于操作系统登录、ssh、WiFi、OpenVPN、curl、Android code、Mac code、屏幕自动解锁)。通常 PIN 只会请求一次,在后续操作中可能会被重复使用。

  • 9c 插槽:电子签名。签名对象(Android code 签名、Mac code 签名、储存中间 CA 私钥签名)。一般来说,每次操作都需要验证 PIN。
  • 9d 插槽:钥匙管理。以保密为目的加密对象时,通常 PIN 只需要请求一次,在后续操作中可以重复使用。
  • 9e 插槽:安全卡验证。当需要物理手段进行验证时(比如门锁),通常情况不需要验证 PIN。

基于PIV可以实现SSH登录、操作系统登录等。

2.3. OpenPGP

3. OTP

这是从最初版本的YubiKey继承下来的传统接口,系统会将该接口识别为一个键盘设备,支持静态密码、Yubico OTP、HMAC-SHA1 Challenge-Response以及传统的OATH-HOTP(新的OATH通过CCID接口实现)四种功能。

OTP接口有两个槽,分别对应轻触和长按YubiKey。每个槽都可以配制成四个功能中的任意一个。

注意:如非必要,尽量使用前面两种模式而不是这种模式。

3.1. 静态密码

通过YubiKey Manager可以设置静态密码。

使用时轻触或者长按YubiKey即可在当前光标处输入提前设置的密码。

注意事项:

3.2. Yubico OTP

3.3. HMAC-SHA1 Challenge-Response

3.4. OATH-HOTP

参考资料

ch3n2k.com | Copyright (c) 2004-2020 czk.