Titan Security Key 使用体验 您所在的位置:网站首页 谷歌保护账号安全 Titan Security Key 使用体验

Titan Security Key 使用体验

2024-06-06 03:04| 来源: 网络整理| 查看: 265

Matrix 精选

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。

前段时间,我在 TuTu 生活志 的 视频中 ,看到了 Titan Security Key,并对这款来自 Google 的硬件安全密钥产生了兴趣。

在购买和使用了一个多月后,通过本文,我来简单谈一谈我的使用感受。

关于硬件安全密钥 什么是硬件安全密钥

硬件安全密钥将认证信息存储在独立硬件上,用于代替密码,或者提供一种 双因素验证 机制。

如果用户开启了基于硬件安全密钥的双因素验证,输入密码后,必须连接密钥再次确认,才能正常登录。这种机制为账号提供了额外的一层保护。

硬件安全密钥一般基于 FIDO 协议,网站可使用 WebAuthn API 访问密钥。FIDO 和 WebAuthn 均为开放的标准:

How FIDO Works – Standard Public Key Cryptography & User PrivacyWebAuthn.io

本文介绍的 Titan Security Key,并不是唯一一个硬件安全密钥。在它出现之前,YubiKey 已经受到了不少人的欢迎。另外,我们常用的银行 U 盾,也属于硬件安全密钥的一种(只不过使用了私有协议)。

越来越多的厂商和组织 已经开始支持硬件安全密钥,包括 Google、Apple、阿里巴巴、华为等。

为什么需要硬件安全密钥?

目前已经有不少网站支持了双因素验证,在输入密码之后,还需要输入一个六位动态验证码。

验证码一般可以通过两种方式获取:通过短信接收,或者通过 Google 身份验证器 等 App 获取(基于 RFC 6238 TOTP)。这两种方式在安全性上,都有一定的欠缺。

对于短信 ,手机上的 GSM 协议是一个「古老」的协议,通信内容比较容易被监听。此外,手机或 SIM 卡丢失,也会让其他人随意获取验证码:

GSM 短信窃听解决方案设计与实现 – 博客 – 腾讯安全应急响应中心

对于 基于 TOTP 的双因素验证 ,安全性相比短信有较大提升。但与硬件安全密钥相比,仍存在一些安全弱点:

OTP vs. U2F: Strong To Stronger | YubicoWhy You Should Never Use Google Authenticator AgainGoogle Online Security Blog: New research: How effective is basic account hygiene at preventing hijacking

另外,攻击者还可以通过网络钓鱼 社会工程学等方式,获取临时验证码。而硬件安全密钥较难被其他人物理接触,一定程度上减轻了这些问题。

密钥忘带、丢失怎么办?

对于密钥忘带、丢失等情况,可通过准备两个或多个安全密钥的形式解决:

一个挂在钥匙扣上,和钥匙一起随身携带 另一个做为备份密钥,放在家中或异地保存

大多数网站都支持添加多个硬件安全密钥。下文中介绍的 Google 高级保护计划,还会强制要求用户添加至少两个硬件密钥。

关于 Titan Security Key

Titan Security Key 是来自 Google 的硬件安全密钥,由 飞天诚信 和 Yubico 代工。

根据接口和协议的不同,这款安全密钥分为三个版本:

蓝牙 /NFC/USB 版本 USB-A/NFC 版本 USB-C 版本

此外,Google 还提供了 蓝牙 /NFC/USB 和 USB-A/NFC 打包的版本,一次购买即可同时拥有主备两个密钥。我购买的就是这个版本:

Titan Security Key 开箱,以及包装内所有内容(两个打包的版本,包含两个安全密钥、Micro-USB 数据线、USB-A 转 USB-C 转接头)Titan Security Key 包装及其内容(两个打包的版本)Google 高级保护计划

Google 高级保护计划为用户账号提供了更强大的安全保护措施:

高级保护计划 借助高级保护计划增强帐号的安全性 – Android 设备 – Google 帐号帮助

为 Google 账号开启高级保护计划后,能够获得如下方面的安全性增强:

登录 Google 账号时,必须使用硬件安全密钥进行双因素验证,原有的双因素验证(手机验证码、TOTP 动态验证码等)全部失效,无法继续使用 禁止第三方应用访问 Gmail 或 Google Drive(Apple Mail、Thunderbird 等常用邮件客户端除外) 在 Android 设备上,禁止安装 Google Play 之外的应用 如果密钥丢失或忘记密码,恢复账号需要额外的验证步骤

当然,这些安全性的提升,也会带来便利性和灵活性的降低。是否要打开 Google 高级保护计划,就要看个人取舍了。

为了避免密钥丢失导致账号无法访问,Google 要求用户至少准备两个硬件安全密钥。所以,两个打包的 Titan Security Key 套装,就成了最适合 Google 高级保护计划的硬件。

 设置 Google 高级保护计划,需要添加两个安全密钥 设置 Google 高级保护计划,需要添加两个安全密钥

另外,作为 Google 的「亲儿子」,Titan Security Key 在 Google 账号中,能显示专属的图标,方便区分不同的密钥:

Google 账号页面,能够根据型号,显示 Titan Security Key 的专属图标 Google 账号页面,能够根据型号,显示 Titan Security Key 的专属图标

对于 G Suite 企业版账号,管理员还可以设置更加灵活的安全策略,例如允许或禁止特定的第三方应用(例如 Spark 邮件客户端 )访问 Gmail。(当然,这样做也会一定程度上削弱 Google 账号的安全性。)

 在 G Suite 管理后台中,设置允许 Spark 邮件客户端访问 Gmail 在 G Suite 管理后台中,设置允许 Spark 邮件客户端访问 Gmail 移动设备兼容性

对于不少人来说,手机、平板等移动设备,已经成为生活中必不可少的一部分。所以,是否能够方便地在移动设备上使用,也是选择硬件安全密钥的一个重要考虑因素。

Google 自家的 Android,对 Titan Security Key 的支持也是最为全面的。对于 USB、蓝牙、NFC 三种协议,Android 都能提供完整的支持。

 在 Android 上使用 Titan Security Key,支持蓝牙、USB、NFC 三种模式 在 Android 上使用 Titan Security Key,支持蓝牙、USB、NFC 三种模式

从 2019 年开始,Apple 也开始在 macOS、iOS、iPadOS 上逐步支持硬件安全密钥:

What’s New in Authentication – WWDC 2019 – Videos – Apple Developer

对于 iPhone,除了使用 闪电转 USB 相机转换器 等配件,也可以直接使用 NFC 无线连接。当然,对于 iPad Pro,使用 USB-C 接口连接也是比较方便的。

用户也可以在 iPhone 和 iPad 上,通过蓝牙方式连接 Titan Security Key,但必须通过 Google Smart Lock App 连接,且只能登录 Google 账号,不支持第三方网站。

 在 iPhone 上使用 Titan Security Key,支持 USB 和 NFC 在 iPhone 上使用 Titan Security Key,支持 USB 和 NFC

顺便提一下,在刚刚结束的 WWDC20 上,Apple 还为 Safari 带来了基于 WebAuthn API 的 Face ID/Touch ID 认证功能。对于没有硬件安全密钥的用户,今后也可以通过指纹或人脸识别,实现更方便的双因素验证了。

Meet Face ID and Touch ID for the web – WWDC 2020 – Videos – Apple Developer 在第三方服务中使用:1Password、Dropbox 等

由于 FIDO 和 WebAuthn 是一套开放的标准,目前已经有不少的互联网服务,支持通过硬件安全密钥进行双因素验证。

通过如下链接,可以了解到各个互联网服务对双因素验证的支持情况:

Two Factor Auth

经过测试,大部分网站都能完美兼容 Titan Security Key,包括 WordPress.com、Dropbox、Twitter 等:

 使用 Titan Security Key 登录 Dropbox 使用 Titan Security Key 登录 Dropbox

常用密码管理器的网页版,例如 1Password 和 Bitwarden,也能通过 Titan Security Key 进行双因素验证:

 使用 Titan Security Key 登录网页版 1Password 使用 Titan Security Key 登录网页版 1Password

在我的测试中,只有 Microsoft 账号(OneDrive、Office 365、Outlook 等)不兼容 Titan Security Key。

Microsoft 账号利用硬件安全密钥的方式,与其他网站不太一样:直接利用硬件安全密钥进行免密码登录,而不是双因素验证。与此同时,Microsoft 也对硬件安全密钥提出了更多的要求,例如需要支持 FIDO2 标准等:

Azure Active Directory 无密码登录(预览版) | Microsoft DocsMicrosoft-compatible security key – Microsoft 365 Security | Microsoft Docs

而 Titan Security Key 不支持 FIDO2,所以也就无法用于登录 Microsoft 账号了:

 使用 Titan Security Key 无法登录 Microsoft 账号 使用 Titan Security Key 无法登录 Microsoft 账号

同时,大部分客户端软件,例如 macOS 版本的 1Password,以及 Dropbox 的 iOS App,都不支持硬件安全密钥。开源的 KeePass 密码管理器,也没有支持 Titan Security Key 的插件:

 在 Dropbox iOS App 上,无法使用 Titan Security Key 进行登录 在 Dropbox iOS App 上,无法使用 Titan Security Key 进行登录 高级玩法 SSH

OpenSSH 8.2 带来了 FIDO/U2F 支持,可选择 ecdsa-sk 或 ed25519-sk 两种密钥类型,实现双因素验证。Titan Security Key 只支持 ecdsa-sk。

u2f – SSH Authentication with Fido2 / Yubico Security Key – Super User

对于 macOS,可通过 Homebrew 安装最新版的 OpenSSH(brew install openssh)。

安装新版 OpenSSH 后,使用 ssh-keygen -t ecdsa-sk 生成密钥对,并上传到服务器上,即可实现双因素验证。后续登录服务器时,必须连接硬件安全密钥,才能正常登录。

# 生成密钥对 $ ssh-keygen -t ecdsa-sk -f ./id_ecdsa_sk Generating public/private ecdsa-sk key pair. You may need to touch your authenticator to authorize key generation. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in ./id_ecdsa_sk Your public key has been saved in ./id_ecdsa_sk.pub # 登录服务器,必须连接硬件安全密钥,才能正常登录 $ ssh -i ./id_ecdsa_sk [email protected] Confirm user presence for key ECDSA-SK SHA256:XXX Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-33-generic x86_64) blanboom@blanboom-ubuntuvm:~$ Windows Hello

在 2019 年,Windows Hello 也开始支持硬件安全密钥 。但实测不兼容 Titan Security Key:

Windows Hello 不支持 Titan Security KeyWindows Hello 不支持 Titan Security Key

这是因为 Windows Hello 和 Microsoft 账户一样,也必须使用符合要求的 FIDO2 密钥,才能正常登录。具体请参考前文中关于 Microsoft 账户的内容。

Linux 与 macOS 登录

在 Linux 上设置 Titan Security Key,步骤会稍微麻烦一点:需要安装 libpam-u2f,并修改配置文件。具体配置方法请参考如下文章:

login – How to configure a U2F key(such as a YubiKey) for system wide 2-Factor Authentication? – Ask Ubuntu

经测试,Titan Security Key 能够完美地在 Ubuntu 20.04 LTS 上运行。无论是首次登录,还是使用 sudo 命令,都能正常兼容。

 在 Ubuntu 上成功设置 Titan Security Key 在 Ubuntu 上成功设置 Titan Security Key

macOS 也可以通过 Titan Security Key 进行双因素验证,设置步骤和 Linux 大同小异:

TREZOR/U2F Login into Your macOS (Updated) | by Bach N. | Trezor Blog

但是,对于启用了 FileVault 全盘加密的 Mac, 开机首次登录时并没有真正进入 macOS,所以不方便使用 Titan Security Key。(一种变通的解决方法,是先对硬盘进行加密,设置一个独立的加密密码,再安装 macOS。但开机时需要多输入一次硬盘加密密码。)

购买建议

目前,YubiKey 是市面上最流行的硬件安全密钥。那么,在 YubiKey 和 Titan Security Key 之间,我们应该如何挑选最适合自己的硬件安全密钥?

先来看下 Titan Security Key 的优点:

来自 Google,内置由 Google 设计的固件(不过闭源固件对一部分人来说并不是优点) 部分型号支持蓝牙,可通过蓝牙连接移动设备(但在 iOS 上仅能通过 Google Smart Lock App 登录 Google 服务,不支持登录第三方服务) 提供两个密钥打包的套装,只需要购买一份套装,就可以方便地开启 Google 高级保护计划 在 Google 账号中添加 Titan Security Key,能够为不同型号的密钥显示不同的图标

而 YubiKey 5 系列 的特色如下:

具有更丰富的型号。其中,YubiKey 5Ci 拥有 USB-C 和 Lightning 双接口,同时兼容 iPhone、iPad,以及新款的电脑和 Android 设备,无需转接 支持最新的 FIDO2 标准 能够模拟键盘,自动输入密码或 TOTP 动态验证码。即使网站不支持硬件安全密钥,也能通过 YubiKey 登录 支持 PGP Smartcard 等功能 拥有更丰富的生态。例如 KeePass 密码管理器有 KeeChallenge 插件,安装后即可支持 Yubikey

所以,在选购硬件安全密钥时,如果仅仅是为了使用 Google 高级保护计划,来自 Google 的 Titan Security Key 是最合适的选择;但如果想将密钥用在更多不同的场景中,功能丰富的 YubiKey 5 更值得购买。

推荐阅读 The Verge 的这篇文章。作者通过对比市面上常见的硬件安全密钥,给出了详细的购买建议:

The best hardware security keys for two-factor authentication – The Verge 本文同时发布在我的博客,欢迎关注:https://blanboom.org/2020/titan/

> 下载少数派 客户端 、关注 少数派公众号 ,了解更妙的数字生活 🍃

> 想申请成为少数派作者?冲!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有