YubiKey 介绍

介绍

YubiKey是由Yubico生产的身份认证设备,支持一次性密码(OTP)、公钥加密和身份认证,以及由FIDO联盟(FIDO U2F)开发的通用第二因素(U2F)协议。它让用户可以透过提交一次性密码或是使用设备产生的公开/私密金钥来安全地登录自己的帐户。针对不支持一次性密码的网站,YubiKey也可以存储静态密码。Facebook使用YubiKey作为员工凭证;Google同时为雇员和用户提供支持。还有一些密码管理器也支持YubiKey。 (YubiKey – 维基百科

YubiKey 5 NFC

YubiKey每个系列有多个版本,分别支持USB-A、USB-C和NFC接口。NANO版本非常小,适合一直放在USB口里面。还有一个Security Key by Yubico,只支持FIDO U2F和FIDO2,不支持别的接口(比如OTP),不推荐购买。还有FIPS版本,支持FIPS 140-2,应该是用来存放证书的(比如文档、代码的签名证书),没有需求不推荐购买。

最近Yubico出了新的YubiKey 5系列,在YubiKey 4系列的基础下增加了FIDO2和NFC(只有YubiKey 5 NFC支持)。目前淘宝上有卖但是价格很高,我的YubiKey 5 NFC是在官网买的, 价格45刀。

接口

YubiKey支持如下接口:
U2F
FIDO2 (YubiKey 5 Series & Security Key by Yubico only)
OTP
OATH
OpenPGP
PIV

U2F

U2F(通用第二因素),是一种开放的标准,通过USB和NFC验证用户对设备的访问权。通过USB验证时,YubiKey作为HID设备使用 。目前很多应用(Google、GitHub、DropBox、Facebook、Twitter等)都采用这个标准,U2F验证的方式是服务器提交质询(challenge),设备用私钥签名,返回响应(response)。特点是要求直接的USB访问而且验证的时候没有输入框,所以远程桌面的时候一般都不能用U2F。

The basic process flow of U2F (From Yubico)

FIDO2

FIDO2是FIDO联盟开发的提供免密码认证的协议,只有 YubiKey 5 Series 和 Security Key by Yubico 支持。应用方面目前只有微软支持,Windows 10 Insider Preview 版本现在可以在设置里面调整FIDO2设置(不要点重置安全密钥,可能会导致OTP和U2F凭据丢失),需要把Microsoft Account网页调成英语才能设置,这个协议我没有过多的了解,附上官方的网页。

FIDO2

OTP

OTP(一次性密码)是Yubico自己的协议,在进行OTP验证时,YubiKey作为HID设备使用。触摸YubiKey上面的金属圆盘即可激活并向电脑输入一串字符,前12位是密钥ID,后面是一次性密码。服务器与YubiKey拥有同样的密钥,验证时使用Yubico的私有算法计算一次性密码进行验证,通过计数器防止重放攻击。YubiKey有两个OTP插槽(slot),出厂时插槽1会自带一个密钥(已经被安全地保存到YubiCloud服务器),出厂密钥的ID是c开头的,自己生成的是v开头的。对个人来说出厂密钥是最可靠的。YubiKey OTP插槽中的密钥可以手动生成,但是不可以导出,因此千万不要手欠删除出厂密钥,我之前在搞FIDO2的时候重置了OTP插槽,就再也弄不回来了。

OATH

YubiKey的OATH接口与别的接口不同,它并不直接进行身份认证,它更接近手机上的谷歌身份验证器。OATH用于存储HOTPTOTP凭据,大多数应用的两步认证都支持它们。

OpenPGP

YubiKey可以被识别成OpenPGP智能卡,可以存放OpenPGP证书的私钥。

PIV

PIV接口可以存放X.509证书,用于代码和文档签名。Windows会把YubiKey识别为智能卡,可以用于EFS,Bitlocker好像因为证书问题不行(更新:已经解决Bitlocker证书问题,参考这篇文章)。

“YubiKey 介绍”的3个回复

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据