由 Stable Diffusion 生成的图像——日落前的金色山丘、宽恕、彩色天空、哑光绘画
我对人们来说是不必要的可怕。我播下了毒性。我加深了不需要存在的分歧。这其中很多是出于对不经意间被骗或让人们敞开心扉被骗的恐惧,但经过深入反省,我不再希望因此而出名。那一刻感觉如此正确,我感到恐惧,因此我愤怒地猛烈抨击。
不再。我不想因助长仇恨、怨恨或与之相关的任何事情而闻名。如果你是我因我的毒性而伤害的人之一,我全心全意地道歉,我将与我认为我伤害最深的人私下道歉。
当你阅读这篇文章时,请试着从表面上看待事情,并像我一样重新考虑你的直觉。仇恨是学会的。让我们努力忘记它。如果我们选择不让它发生,恐惧就不会导致愤怒、仇恨或痛苦。
生活中最美好的事物伴随着免责声明
- 苏格拉底,大概
当你为专业会议发言时,有时你会得到一个装着随机东西的礼包。最近我在 RustConf 上谈到了身份验证技术。除其他外(例如我一定会使用的非常漂亮的野餐包),我得到了一个Ledger Nano X硬件加密货币钱包。它也是一个定制雕刻的。它看起来非常非常好。这是它的图片:
我不是一个真正的比特币人。我在加密货币领域的大部分经历都是非常消极的。我很确定我被迫辍学的很大一部分原因与我大学学费的很大一部分是通过比特币支付的事实有关……通过Mt. Gox 。
你可以看出这会如何影响我对加密货币的看法,嗯?
我对加密货币最积极的体验之一是有人向我捐赠了大约 200 美元的以太坊。 Coinbase 让我很容易把它变成美元。如果我坚持下去,可能会做得更多,但总的来说,这是一次很好的体验。
设置它
所以现在我在这里使用这个硬件密钥托管设备,现在我需要弄清楚如何使用它。我读到这些东西也可以用作非常偏执的 GPG 智能卡、WebAuthn 令牌,甚至密码管理器。这对我来说非常有趣,即使我对这种密钥托管硬件令牌的其他相关用途并不完全感兴趣。
不管怎样,这东西就在我面前,所以我想看看我能用它做什么。因此,我首先将其解包并进行首次用户体验 (FTUX)。
像这样的设备有一个由初始熵种子播种的确定性随机数生成器。当设备生成这个熵种子时,它也会为它创建一个恢复短语。恢复短语是与十六进制值相关的 24 个随机英文单词系列。这使您能够在旧设备损坏时将该种子加载到新设备中。因为所有随机性都是从原始种子确定性地生成的,这意味着您可以为所有加密货币帐户重新创建所有私钥,而不必离开旧设备。即使您完全消除了原始设备。这很整洁。
FTUX 另一个简洁的部分是,当它显示恢复短语时,它会要求您将其写下来(甚至包括一张小卡片供您这样做)。一旦它向您展示了整个短语并且您已经将其写下来,那么它所做的事情既让我感到惊讶,也让我重新思考了一般的加密密钥生成:它让您确认密钥短语的每个部分是什么。它还会在选项中放置不正确的答案。这是天才。它既证明你已经写下了密码并且你做对了。如果我制作了具有这样的加密密钥对的东西,我一定会记住这一点,并尽可能将其添加到 FTUX 中。
所以,此时我已经设置了一个硬件加密货币钱包,在按照设置应用程序的说明进行操作后,我收到了更新固件的提示。我做到了。我收到另一个更新固件的提示。我做到了。
完成后,我在他们的应用中启用了“开发者模式”并下载了以下应用:
- FIDO 2/U2F/WebAuthn 密钥支持
- 密码
- GNU 隐私保护 (gpg)
- 以太坊(仅在合并到权益证明链之后使用,仍然不确定事情会如何发展,但至少我想将其作为一种选择来维护,如果只是为了我的私人实验)
此时,我意识到我面前 200 加元的设备只有2 兆字节的可用存储空间。这对我来说感觉很小,但是当我查看应用程序的文件大小时,发现它没问题。目前使用这些应用程序,我只使用了设备总存储空间的 1/4。
测试网测试
现在我已经完成了所有设置,我决定使用臭名昭著的比特币测试网进行测试网交易来测试它。过去,比特币测试网一直是我用来验证加密货币客户端是否正常工作的东西。比特币测试网实际上是比特币的第二个副本,流量要少得多,并且双方都同意测试网硬币的货币价值为零。
我下载了应用程序,在测试网上生成了一个帐户,然后将地址粘贴到一些随机的比特币测试网水龙头中。比特币“水龙头”是向人们提供少量比特币以测试他们是否可以进行交易的公共服务。随着比特币价值的增长,对水龙头的滥用程度急剧增加,以至于它们不再存在。唯一剩下的是比特币测试网,它没有真正的货币价值。
我看到我的账户余额上升了。成功!我已经设法将这个硬件设备用于它的设计目的。我现在对脱离剧本并真正享受其中的乐趣更有信心。在将测试网资金返还给水龙头后(这被认为是一种礼貌的举动),我从设备中删除了比特币测试网应用程序并开始计划我的下一步行动。
FIDO2/U2F/WebAuthn
随着标准的开发,基于硬件令牌的身份验证变得复杂。但是,大多数令牌都围绕WebAuthn协议进行了标准化,该协议使用安全元素对来自服务器的消息进行签名,然后服务器检查签名以确保同一设备发送消息。这意味着您可以拥有像Yubikey这样的硬件令牌,以安全地向 Google、GitHub 和 DashLane 等远程服务进行身份验证。
但是,Yubikeys 并不是您唯一的选择。 M1 mac 中的安全元素可用于 WebAuthn。 Windows 11 PC 中的 TPM 可用于 WebAuthn(我很确定这就是 Windows 11 需要 TPM 的原因)。而且, Ledger Nano X 支持 WebAuthn(通过 FIDO2) 。
您可以按照他们的文档进行设置,但在高层次上,您可以这样做:
- 将 FIDO U2F 应用程序安装到您的钱包
- 打开钱包上的应用
- 打开您选择的服务的安全密钥注册页面(在 GitHub 上是这里)
- 点击“注册新的安全密钥”(或网站所说的任何内容)
- 在您的设备上确认
瞧!您已将此硬件密钥托管设备设置为安全设备。它应该只是工作。您可以通过退出 GitHub 并尝试在钱包解锁的情况下重新登录来测试它。钱包上将提示您接受请求。你可以说“是”或“不是”,事情就会解决。
我确实在让它与 Safari 一起工作时遇到了一些问题。在我的 MacBook Air 上使用 Safari,我无法可靠地将此设备用作硬件安全密钥。出于某种原因,Safari 不断向设备发送垃圾签名请求并接受登录可能是帧完美的。我无法让它工作,但它确实适用于 Microsoft Edge。所以就是这样。
起初,当我尝试在 Windows 11 上使用它时,Windows 非常困惑。它一直试图使用我的塔的 TPM 作为 WebAuthn 密钥。但是,当我尝试在 MacBook 上使用它时,一切正常。它在 Linux 上完美运行,没有人会感到惊讶。
我愿意说这个硬件加密货币钱包是一个不错的 FIDO2 密钥。它也是我所知道的唯一一个 FIDO2 密钥,它可以让您在使用之前使用 PIN(您在设备本身上输入的)解锁设备。我认为不值得为此购买一个,它不支持驻留模式下的ed25519-sk
SSH 密钥,这意味着您的 SSH 密钥不能存储在设备本身上,除非您使用 GPG,考虑到该设备的限制,这有点蹩脚但可以理解。
密码管理
这个设备基本上是一个硬件随机数生成器,上面有一堆关于加密货币的绒毛。安全密码基本上只是一堆编码为可打印字符的随机数据。通过一些简单的转换从“随机数据”到“密码”是合理的。
此设备内置密码管理器。您可以按照上游的说明进行安装。
它可以让您从该基本密码短语生成密码,然后它可以伪装成键盘以非常快速地输入密码。我将保留它,但我个人并不认为自己将此设备用作密码管理器。我已经有密码管理器来做我需要的事情。
但是在紧要关头,我可以看到这是一个可行的选择。如果我对加密货币生态系统有更大的了解,并且我对密码盗窃非常偏执,我可能想使用这样的东西作为密码管理器。如果只是因为密码锁会让我感觉更好。
GPG
好吧,我已经推迟了足够长的时间。让我们回顾一下安全硬件的最终老板:伪装成 GPG 智能卡。
GNU Privacy Guard (GPG)是世界上最古老、最成熟和广为人知的隐私生态系统之一。基本思想是它为您提供了一个密钥对,您可以使用它来执行以下操作:
- 签署消息以让人们证明您发布了它
- 加密消息以针对特定的人,以便中间的任何人都无法理解消息
- 向 SSH 服务器或其他系统验证自己的身份
主要缺点之一是用户体验很糟糕。太糟糕了。我过去曾尝试使用 GPG,但多次失败。包括但不限于不小心创建了一个不能用于任何事情的密钥。
我知道我要去兜风,但我并不认为它会像使用这个设备那样糟糕。所以我打开了他们的文档并查看了如何在我的 Mac 上进行操作。起初它看起来很正常,然后我进入了我将逐字引用的部分:
- 首先有必要禁用 SIP(系统完整性保护,出于安全原因,它基本上将 MacOS 变成了不可变的操作系统)不允许编辑 /usr/ 中的文件。
- 您必须将 Nano S 添加到 [文件中每个列表的末尾]
/usr/libexec/SmartCardServices/drivers/ifd-ccid.bundle/Contents/Info.plist
:
- 在 ifdVendorID 添加条目 0x2C97
- 在 ifdProductID 添加条目 0x0001
- 在 ifdFriendlyName 添加条目 Ledger Token
- 启用 SIP
这可以理解地阻止我尝试将该设备用作硬件 PGP 密钥(尽管如果它作为一个设备工作,它很可能是有史以来最好的会议礼品之一,如果只是因为我只用作 GPG 密钥的东西会是如此无价,你不知道)。
昨晚,我决定无论如何都要尝试使用它。它可以在我的 MacBook Air 上运行,而无需打开只读封条。起初我很震惊,然后非常恼火的是文档都告诉你做一些非常非常错误的事情而且他们已经过时了。
任何。它用作 GPG 智能卡。这使得它特别值得我使用。我并没有真正使用 GPG,但是当我这样做时,我的密钥对已经设置并准备好了会很好。
电池传奇
当我拔下设备时,屏幕关闭。我以为这很正常。事实证明不是。它有一个 100 毫安时的电池。电池在我的设备上不工作。我曾尝试使用以下设备为其充电,以防万一:
- 蒸汽甲板充电器
- Anbernic Win600充电器
- 任天堂开关充电器
- 我的塔式电脑
- 我的 MacBook
- 我不得不从存储中挖出一个旧的 5 瓦 iPhone 充电器
我无法让设备充电。它只能通过 USB 工作。这对于智能卡来说是可以的,但如果设备符合制造商的规格,那就太好了。你知道,以防万一我出于某种原因实际上将它用作密码管理器。
我联系了制造商,他们很困惑,说我没有在他们的系统中注册订单。可以理解。我没有订单,这是来自会议赞助商的免费礼物。
我与赞助商取得了联系,显然他们只会寄给我一个完整的硬件钱包,所以我想我会拥有其中两个。希望其中一个电池可以正常工作。
结论
该设备是一个不错的硬件令牌。这是一个非常偏执的安全设备,如果你真的喜欢加密货币,它可能是一个不错的选择。不过,我不喜欢加密货币,所以我是一个接受这种建议的坏人。
我的一个非常喜欢加密货币的朋友告诉我,Ledger 是硬件钱包的“坏选择”,而且大部分的注意力都集中在Trezor设备上。这些设备显然也有最好的用户体验。我不确定。我面前只有一个 Ledger Nano X,如果这是一个糟糕的选择,那么更好的选择肯定更容易使用。
我只是希望这与加密货币无关,但我可以处理它。不能打败价格!
顺便说一句,在试图弄清楚事情的过程中,我试图了解 Ledger 应用程序支持的一些货币是如何工作的。对于像我这样的人来说,行话的水平令人印象深刻,而且对正在发生的事情没有太多的背景知识。这就是科技以外的人如何看待我们的职业。这真的让我停下来,让我想知道我们如何才能让科技领域的事情更加公平,以便其他人更容易跟上步伐。
也许事情应该以更容易理解的方式编写,并随着用户越来越熟悉逐渐引入行话。