Yubikey Intro

跟风买了几个 YubiKey,不知到怎么用,开帖记录一下学习过程。下文针对 yubi 5 系列,硬件版本 5.4.3

Yubi 5C NFC

Yubi 5C NFC,很薄,很轻。中间的小圆圈是个触摸板,中间的 Y 是黄色 LED 灯。虽然每个 Yubikey 都可以单独使用,但是强烈建议至少两个,一个做主密钥,另一个备份,如果主要丢失/损坏,还有机会登录进账户,否则可能被锁在外面。Yubikey 无法备份,因为所有储存进去的密钥都无法被取出,所以备份密钥要与主密钥同样设置。每次设置主钥时,把备钥也一同设置了。


#介绍

Yubi 5 系列支持 OTP, U2F, FIDO2, OATH, OpenPGP, Smart Card(PIV)。

OTP: One Time Password,常见的 OTP 包括 TOTP 与 HOTP 等,Google Authenticator 里面那种每 30 秒变一次的密码,就是 TOTP,YubiKey 还支持 YubiOTP(一种 Yubico 在后面服务,支持对接多个平台的OTP)固定密码,challenge response

Yubi 5 有两个 OTP 的槽,一个是短触触发,另一个长按触发。

最简单的应用,就是设置成固定密码,每次需要输入密码时,连接 yubikey ,轻触一下,完成了密码输入。设置的密码不可读取( 这是Yubikey 的硬件设计)

U2F:

从头说起,FIDO 是一个成立于 2013 年 2 月的开放性行业协会,其使命是开发和推广认证标准,以帮助减少世界对密码的过度依赖。包括 Google, Apple,Amazon 等很多企业,都是 FIDO 协会的成员

FIDO Universal 2nd Factor,简称 FIDO U2F,或者直接省略前缀,U2F 协议,由 Yubico 和 Google 开发,协议开发好后,归 FIDO 协会。我们上网经常遇到的 2FA,就可以用通过 U2F 来验证。

2 FA, 或者 MFA,Multi-factor authentication,就是指通过多种方法来认证,U2F 这种协议,就是多种认证方法中的一种。

作为多种认证方式的第一种,用户名与密码总是第一种,用户输入了用户名与密码,然后用第二种认证方式,两种都通过,才可以登录。

FIDO2:

上面提到了密码,又提到了 2FA,这么看来密码与 2FA 有些重复,既然都要 2FA,为什么不弄一个更复杂的,由硬件记住的密码呢?这就是 FIDO2,FIDO2 是 U2F 的发展版本,目标是取消密码。

每个Yubi 5 最多储存 25 个FIDO2

OATH:是另一个组织,主要制定了 TOTP 与 HOTP

TOTP:使用TOTP进行身份验证时,用户输入一个每30秒更改一次的6-8位数字代码。 该代码使用HMAC(sharedSecret,timestamp)生成,其中timestamp每30秒更改一次。 共享密钥通常作为QR码提供,或者预先编程到硬件安全密钥中。是不是想起了设置 2FA 时,扫描的二维码?就是那个东西。

每个Yubi 5 最多储存 32 个OATH-TOTP

HOTP:HOTP和TOTP工作方式类似,只是使用身份验证计数器而不是时间戳。这样做的优点是HOTP设备不需要时钟,但是会降低安全性。每用过一次 HOTP,才会需要下一个密码。

OpenPGP: Linux 用户大概对这个很熟悉吧,签名什么的,都需要这个。PGP,全称是 Pretty Good Privacy,简单又直接,是个安全协议,但是后面被公司持有,为了解决版权问题,人们又设定了 OpenPGP 协议,而 GPG,全称是 GNU Privacy Guard,是 GNU 对 OpenPGP 协议的具体实现。

每个Yubi 5 最多储存 3 个OpenPGP,一个用于加密,一个用于签名,一个用于认证

PIV: 个人身份验证(PIV)凭证是用于访问联邦控制设施和信息系统的美国联邦政府范围内的凭证,在适当的安全级别下使用。

PIV 要设定一个 PIN,一个 PUK,然后添加标明身份的证书(其实就是加密一个用于认证的文件)

PIN: Personal Identification Number 如果有默认,那一定是 123456

PUK: Personal(Pin) Unlock Key,PIN 输错次数太多就会被锁定,想要解锁就要 PUK,PUK 比 PIN 长一点。

每个Yubi 5 最多储存 24 个 PIV


#参考:

https://www.yubico.com/resources/glossary/