全部文章

阅读约 5 分钟

公共电脑模式:在共享设备上使用 CardanoWall

公共电脑模式会阻止 CardanoWall 把身份数据写入浏览器,让共享设备在你离开后不留任何痕迹。但当你处于登录状态时,它并不能让一台已被入侵的机器变得安全。

你可以在借来的或共享的电脑上使用 CardanoWall,公共电脑模式会让这件事更安全——但仅限于一个特定方面。该模式会阻止应用把任何与身份相关的内容写入浏览器,因此你离开后,机器上不会留下任何关于本次会话的痕迹。它做不到的,是在你仍处于登录状态时保护你。如果设备本身已被入侵,公共电脑模式改变不了这一点。

所以规则很简单:把共享电脑当作高风险环境,打开公共电脑模式,并且绝不要把高价值的种子粘贴到一台你无法掌控的设备上。

什么是公共电脑模式?

它是一种只在当前会话中生效、降低数据留存的浏览器模式,你可以在解锁时或创建身份时把它打开。

当设备不属于你时,你不会希望 CardanoWall 把与身份相关的状态留给下一个使用者。公共电脑模式就是为此设置的明确开关。它专为下面这些场景而生:

  • 图书馆或酒店商务中心的电脑;
  • 联合办公空间或会议现场的机器;
  • 共享的新闻编辑室工作站;
  • 借来的笔记本电脑;
  • 由一个你并不完全信任的组织所管理的设备。

这个开关本身被刻意设计为不保存到任何地方。把「我正在使用一台公共电脑」这一状态持久化,本身就是一次浏览器存储写入——而这恰恰是该模式要避免的——并且在共享机器上刷新页面,应当始终回到「再次询问」这个安全默认值。

公共电脑模式会改变什么?

它会关闭一切与身份相关的浏览器存储写入。

在你拥有并信任的设备上,CardanoWall 会缓存一些非机密的便捷数据,让后续会话更顺畅。它可以在浏览器中保留一份你的加密保险库副本,这样刷新页面只需轻触一次通行密钥即可,而无需从网络重新获取;它也可以在引导流程中保留非机密的设置元数据,避免一次意外刷新就打断整个流程。需要强调的是,浏览器里的这份保险库副本,正是服务器持有的那份相同的加密密文——经过 age 加密、只有你的通行密钥才能打开——而不是你种子的明文副本。

在公共电脑模式下,所有这些路径都会被抑制:不缓存保险库、不提供本地解锁快捷方式、不固定版本、也不镜像引导元数据。这道关卡设在每一个存储瓶颈处,因此应用的任何部分都不会意外写入该模式本应保留不写的内容。

剩下的,是内存中的解锁状态。当你处于登录状态时,你的种子以及由它派生出的密钥只存在于会话内存中。它们在应用内导航期间随标签页一同存续;锁定或退出登录会尽力将它们清除,而关闭标签页或刷新页面则会把整个页面彻底拆除。其全部要点就是不留任何残留。想更完整地了解浏览器会保留和不会保留什么,参见 CardanoWall 在浏览器中存储了什么

公共电脑模式不会改变什么?

它不会让一台不可信的电脑变得可信。

这是最关键的一点。在你的活动会话中,一段恶意脚本——可能来自一个有害的浏览器扩展、页面上存储型跨站脚本漏洞、键盘记录器,或是远程访问软件——能够在你处于解锁状态时,读取你输入的内容以及应用保存在内存中的数据。这其中就包括你粘贴进来的 身份种子,以及身份处于活动状态时你的私钥。

CardanoWall 通过严格的内容安全策略、极少的脚本,以及「解锁和解密只在你主动触发时才会发生、绝不自动进行」的规则来降低这一风险。这些措施能减小被攻击的概率,但无法消除一个已经在你会话中运行代码的攻击者。这是任何由浏览器交付的密码学所固有的局限,而非 CardanoWall 特有的缺口。公共电脑模式减少的是被留下的痕迹;它无法击退一次正在进行的入侵。

我应该在公共电脑上粘贴我的身份种子吗?

只有在你能接受这种暴露风险时才行;而对于高价值身份,诚实的答案是:不应该。

身份种子是你整个 Label 309 身份的根。任何人只要捕获到它,就能以你的名义签名,并解密发给该身份的每一条封存记录,无论过去还是将来。因此,把它输入到一台你无法掌控的设备里,是一个严肃的决定,而非例行操作。

对于低价值身份或确属紧急的访问需求,你或许可以为一次短暂会话接受这种风险。但凡是重要的事,请使用你自己信任的设备。在共享机器上,公共电脑模式优于普通模式,但它丝毫无法消除「在你不拥有的电脑上输入机密」这一核心危险。

在共享设备上使用通行密钥又如何?

这取决于该设备上是否能用到这个通行密钥——而即便能用,设备本身的风险也不会因此消失。

如果你同步的通行密钥通过你自己的通行密钥提供商账户到达了该设备,你或许根本无需粘贴种子就能解锁,这就消除了输入种子带来的暴露。这是一个实实在在的改进。但已解锁的会话仍然在内存中持有你派生出的私钥,而设备也可能依旧不可信。一个有敌意的本地环境,完全可以转而盯上这个活动会话,而不去管那个你从未输入过的种子。

此外,同步的通行密钥会继承其提供方的安全模型与恢复模型,而硬件密钥则带来另一套取舍;同步通行密钥与硬件密钥之争 详细讨论了这一选择。无论如何,对于敏感身份,请只在你能掌控的设备上解锁。关于通行密钥如何保护保险库,更多内容参见 通行密钥如何守护你的身份保险库

公共电脑模式到底在什么时候有用?

它最有用的场景,是那些只求「不留任何残留」的低风险工作。

适合的情形包括:

  • 打开并查看一个证明链接;
  • 查看公开的链上证明元数据;
  • 在本地验证一个非敏感文件的哈希;
  • 阅读非敏感的账户信息;
  • 使用一个刻意设为低风险的身份进行短暂会话;
  • 手边没有可信设备时的紧急访问。

它并不适合任何会暴露机密或造成持久变更的操作:

  • 显示身份种子;
  • 解密敏感的封存记录;
  • 签署重要的记录;
  • 管理共享或团队身份;
  • 添加通行密钥;
  • 更改恢复或安全设置。

离开共享电脑前我该做什么?

要有意识地结束会话,而不是仅仅合上盖子。

在你离开之前:

  • 锁定身份;
  • 退出登录;
  • 关闭标签页和浏览器窗口;
  • 不要下载已解密的文件,并删除你确实创建的任何此类文件;
  • 如果你把机密复制到了剪贴板,清空剪贴板;
  • 不要让浏览器在该设备上保存密码或通行密钥。

无痕(隐身)窗口是一层有用的额外防护,因为它在关闭时会丢弃自己的存储;但不要把它误当成对抗恶意软件的安全边界——它并不是。

如果我已经用过一台有风险的设备怎么办?

判断你的种子是否可能已经暴露,并据此采取行动,而不是凭一种模糊的担忧。

如果你只是查看了公开记录,通常无需多做什么。但如果你在一台无法担保的设备上解锁过身份、粘贴或显示过种子,或者解密过敏感文件,就要认真对待这种可能性。

如果你无法排除种子暴露的可能,就把该身份视为已遭入侵。泄露的种子没有「重置」一说——应对办法是迁移到一个全新的身份:

  • 创建一个新身份;
  • 通过线下渠道发布并分享新的公钥;
  • 在 CardanoWall 中停用旧身份;
  • 停止使用旧的接收地址;
  • 在有帮助的情况下,发布一条指向新身份的取代记录。

请注意这里的不对称性:移除一个通行密钥,会把你的保险库重新加密给剩余的因素并删除旧密文,因此被移除的通行密钥再也无法打开当前的保险库——但这只有在种子本身从未暴露时才有用。一旦种子泄露,就是彻底沦陷,移除通行密钥也无法挽回。退役一个身份的具体机制,详见 活动、已停用与已删除的身份

简短版

公共电脑模式把一件事做得很好:它能阻止 CardanoWall 在一台不属于你的设备上,把与身份相关的状态留在浏览器里。在共享电脑上请把它打开。但不要把它误当成对抗一台已被入侵机器的防护。

如果身份很重要,就用你信任的设备。而最安全的共享电脑会话,仍然是那种你从不粘贴种子、也从不解锁高价值身份的会话。关于这项服务能看到和不能看到什么这个更广泛的问题,参见 CardanoWall 能看到什么

延伸阅读

securitybrowser-securitycardanowall-guides