庇护数据平安的另一把钥匙:平安密钥和银行 U 盾有什么差别

kucn2023-11-26 18:27:4525

跟着 iOS/iPadOS 16.3 的推出,我们如今也能够利用平安密钥对本身的 Apple ID 用上额外的平安庇护了。不外关于大大都的人来说,可能关于平安密钥的领会水平最多停留在银行发的 U 盾上。

而我在往年撰写了通行密钥的上手体验以后,就展开了对 FIDO 和对应的 WebAuthn 那两个开源认证办事背后其他手艺细节的研究,所以借此时机我也想和各人介绍一下什么是平安密钥以及它和我们之前所介绍的通行密钥、银行 U 盾有什么差别。

▍什么是平安密钥

出名的平安密钥品牌 YubiKey 旗下的产物

大大都平安密钥从外形来看,长得就像日常的利用 U 盘,所有的认证信息会间接保留在平安密钥上。

和 U 盘纷歧样的是,平安密钥只能写进认证信息,任何人或法式都不克不及从平安密钥中读取数据。基于只写不读如许的特征,平安密钥经常会被用于加密、替代密码或是停止多因素认证。

一个平安密钥能够同时承载差别的加密协议,好比:通行密钥摘用的协议 FIDO、常用于加密邮件和文件的 PGP 协议、一次性加密 OTP 协议、通用两步认证 U2F 协议以及 PIV 智能卡等等。

YubiKey 产物所撑持的加密类型

除了那些比力通用的加密协议,我们日常生活中见到的平安密钥大部门都是和私有加密协议,好比软件的加密狗、银行给的 U 盾、财政税控盘、动态口令卡或是动态密码器等。当然,受限于文章篇幅,我也不诡计对那类产物详尽展开,各人只要类似的产物其实也是平安密钥就好。

▍我们为什么还需要平安密钥

验证码,或者更严谨地说是两步认证能够在他人即便晓得密码的情状下仍然阻遏他们拜候你的账户。

展开全文

各人可能觉得既然有了短信验证码,或是利用内二维码,或是有了基于时间的一次性密码,似乎就没需要用平安密钥了。但那个设法现实上其实不对,否则银行也没需要给每一个翻开网银的用户配上一个 U 盾了。

短信 SMS 做为目前普遍用于双重认证,以至在很多办事中是登录时的独一凭证。但做为 1986 年就定义的协议,时至今日 SMS 早就已经落伍了,关于 SMS 通信通道不平安的研究已经有良多了,操纵 GSM 劫持和短信嗅探停止电信诈骗的案例也触目皆是。所以它固然便利,但从平安的角度来看短信确实不适协做为首要(以至是独一的)双重认证的手段。

很多网站和办事城市摘用基于时间的一次性密码 TOTP,TOTP 确实要比短信来得平安得多。起首,与传统的静态密码比拟,TOTP 动态生成的一次性密码愈加平安,因为它只在特定的时间段内有效,而且生成过程基于共享的密钥和不异的时间,而共享的密钥只会在初度设置时停止交换。

TOTP 实现原理

其次,实现 TOTP 手艺因为不需要专门的硬件,所以实现成本很低,用户利用时只需要安拆一个撑持 TOTP 的软件即可,无论是智妙手机、可穿戴设备或是电脑上都有对应的软件能够抉择。最初,TOTP 关于网站和办事来说也十分便于接进到身份验证系统中,因而 TOTP 撑持得十分普遍。

但 TOTP 也有本身的局限,TOTP 更大的问题就是不克不及抵御中间人进攻,在 MitM 进攻中,进攻者会在通信的两头之间插进本身的设备,以拦截、窜改和窃取数据。假设用户正在遭受 MitM 进攻,进攻者不只会伪造一个有用户名和密码的登岸框,还会伪造一个看起来像身份验证令牌的页面,要求用户输进他们的令牌信息。然后,进攻者能够利用那些信息哄骗实正的身份验证办事器,并胜利拜候用户的帐户。

除了不克不及抵御 MitM,利用 TOTP 的步调我也觉得有点费事。起首就是输进费事,假设用密码治理东西快速填充密码的话,往往还需要零丁翻开一个 TOTP 的软件手动输进那一串验证码;假设把 TOTP 同样保留到阿谁密码治理东西,难免有把「鸡蛋都放一个篮子里」的嫌疑。

那时候跟着银行卡一路给我的银行 U 盾给了我新的灵感,在大额转账的时候只需要点一下 U 盾上的按钮就能够完成身份验证,能够说长短常便利。而和 U 盾类似的平安密钥天然就成为了我替代传统 TOTP 的体例。

▍平安密钥有哪些特征

用平安密钥存储和生成一次性密码的办法也被称为 U2F(通用第二因素),基于平安密钥「软件只能写进密钥但不克不及读取密钥」的特征, U2F 也能有效地抵御 MItM 进攻。

和通行密钥其实有点像

当我们利用平安密钥停止认证的时候,网页会起首发送一个「挑战(challenge)」给平安密钥,平安密钥会根据内部存储的私钥(能够理解成信箱的钥匙),解开那个「挑战(challenge)」并把对应的成果返回给办事器。无论是谁都看不到放在平安密钥的私钥,而办事器上只要准确的公钥加密的信息才能够被私钥解锁,因为送达人只要晓得阿谁信箱是你才气把信寄给你。

除了更平安,平安密钥天然也有着利用便利的特征,在电脑平台上间接插进到 USB 接口中就能够让其他法式挪用,身份验证时也只需要额外停止一次触摸即可。至于在挪动上,除了插进接口停止认证,也能够在撑持 NFC 的设备上扫描 NFC 停止验证。整个流程十分简单,就和利用银行 U 盾一样。

触摸一下就好

前面我们也提到过,平安密钥还撑持存储多种差别的加密类型,假设网站或者办事不撑持 U2F 的话,很多平安密钥,好比 Yubikey 旗下的产物也撑持存储撑持更为普遍的 TOTP,填写时也只需要简单触摸一下平安密钥就能够主动填充。别的一些加密类型也能够在特定的场景下发扬感化,好比 PIV 智能卡能够用于替代门禁卡,OpenPGP 则是加密文件、邮件的常用体例。

间接挂在钥匙串上,图源 yubico.com‍

平安密钥玲珑的体型也能算是它的一个长处,照顾会十分便利;不外那其实也是一个缺点,玲珑的体型也意味着随便遗失。假设设备丧失,不只需要需要从头设置装备摆设身份验证过程,还有可能被身份认证挡在门外。所以假设要利用平安密钥除了 FIDO2 以外的加密类型的话,我的定见是多预备一个平安密钥停止备份;而 FIDO2 做为实现通信密钥的基石,能够利用身边的手机和其他撑持的软件额外停止设置。

借助 FIDO2 让手边的设备成为另一个平安密钥

平安密钥固然有着浩瀚的加密类型,但也不是全能的,假设网站只情愿利用 SMS 或者私有认证体例停止两步认证的体例的话,平安密钥天然也帮不上忙;平安密钥的利用成本也不低,事实一次就要买 2 个,假设丧失的话也需要再次进手,关于大部门人来说确实不那么值得。

不外,目前来看平安密钥也算是处理了我此前利用软件 TOTP 时的种种不满,趁便还让一部门账户变得更为平安了。

▍若何利用平安密钥

假设你手边已经有平安密钥了(更好有多个),那么接下来就来说说利用方面了。平安密钥目前撑持 Windows、macOS、iOS、Android 以及次要 Linux 发行版在内的浩瀚系统,也撑持在 Chrome、Edge、Firefox 以及 Safari 等支流阅读器中在线利用。

不外考虑到差别的密钥撑持差别品种的加密类型,所以我也就根据我本身常用的几个场景向各人介绍若何利用平安密钥。

平安密钥自己就撑持通信密钥摘用的 FIDO2 协议,所以撑持利用通信密钥停止登录或者两步认证的网站也都是能够录进平安密钥的。

除了 FIDO2,U2F 则是另一个利用更为普遍的加密类型,不外正如前面所说的那样只能用于两步认证,假设你之前在添加通信密钥的时候见到了下面如许的画面,那就意味着那个办事和网站摘用的是 U2F 加密类型。好比 1Password 目前就只能承受传统的平安密钥,又好比 Apple 在 16.3 中推出的 Apple ID 平安密钥机造也是如斯。各人能够参阅 Yubikey 官网的相关信息以进一步确认兼容性。

不外目前 1Password 已经确认会在将来撑持通信密钥登录

很多平安密钥也撑持存储 TOTP 的相关数据,固然平安密钥自己并没有电池,内部也没有时钟,但平安密钥能够通过自己存储 TOTP,并借助手机、电脑供电和供给的时间传出差别办事的验证码。那种体例比拟于间接存储在软件当地更为平安,且在欠亨过收集的前提下仍然也能在多个设备之间同步;但那种办法也存在着一些短处,好比:平安密钥能够保留的 TOTP 数量比力少等。

好比 Yubikey 就需要借助 Yubico Authenticator 完成 TOTP 的读取

除了用于网页办事的认证,平安密钥被普遍利用于其他的身份认证场景中,在我日常利用中最常见的场景仍是 SSH 身份验证。SSH 身份认证有多种加密类型能够利用,目前来看最简单的办法仍是 U2F 加密。详细实行的步调也很简单,在安拆了 OpenSSH 的电脑上施行如下步调:

#生成密钥对,加密办法摘用的是更为现代的 ed25519-sk 算法,保留在当前目次下,并设置正文

ssh-keygen -t ed25519-sk -f ./sshkey -C sshkey

# 将对应的公钥传输到办事器上

ssh-copy-id -i ./sshkey.pub root@10.0.20.1

# 登岸到办事器时,需要毗连平安密钥,并挪用对应的私钥

ssh -i ./sshkey root@10.0.20.1

同理,也能够为 Github 等在线 Git 东西设置 SSH 密钥,并在利用时通过平安密钥验证。

▍我为什么抉择了 Yubikey

市道上的硬件密钥有良多差别的品牌,但是在我搜集了一些利用感触感染以后,我最初仍是购置了 YubiKey。在我看来 YubiKey 有着以下的长处:

• 撑持的协议普遍:我能想到的加密协议,YubiKey 根本都撑持

• 兼容性好:只要办事供给的是受撑持的加密协议,YubiKey 根本都能绑定胜利

• 耐用性好:Yubikey 官方鼓吹的是能承担必然水平的挤压和磨损,且具备必然的防水才能

• 简单易用:即便不颠末官方初始化,也能够间接利用;初始化流程简单。

• 生态丰富:自己固件开源,有很多第三方插件。

Yubikey 也供给了差别的类型的硬件密钥,我购置的就是撑持 NFC 的 USB-C 型硬件密钥 Yubikey 5C NFC,能够在我手边的所有设备上利用。我手边的设备都有一个 USB-C 口,而在 iPhone 上则能够通过 NFC 扫描读取。

假设你还想在不撑持 NFC 读取的 Lighting 接口的 iPhone、iPad 上利用的话,Yubikey 5Ci 可能是一个不错的抉择。假设非要在只要 A 口的设备上利用的话, YubiKey 5 NFC 是一个不错的抉择。而想要玲珑的体积,YubiKey 5 nano 和 5C nano 不容错过。但无论是哪种都能够挂在钥匙串上,只要记得带钥匙就不会忘。

别的就是不要忘记预备第二个硬件密钥,两个平安密钥之间能够品牌、型号完全纷歧样,只要他们撑持不异的协议即可。

以上就是本文的全数内容了,期看那篇文章能够在将来搀扶帮助到你。

原文链接:

做者:广陵行息

责编: 广陵行息

/ 更多热门文章 /

控制面板

您好,欢迎到访网站!
  查看权限

最新留言