钱包助记词应该在哪里输入?
助记词属于钱包自身的恢复流程,而不是支持聊天或借来的虚拟机。追踪密钥在哪里被输入,以及谁能够看到。
钱包恢复看起来是一项输入文本的任务,实际上是一项密钥托管任务。你输入的助记词并不是由服务器校验的密码;它是某个派生函数的输入,该函数会重建钱包丢失前持有的同一批私钥。当时任何能读取按键、剪贴板或进程内存的东西也能重建它们。因此,准备工作意味着在密钥出现之前就决定它被允许存在于何处。
追踪助记词从载体到派生密钥的全过程
BIP-39 风格的助记词会被规范化,用可选的口令作为盐经 PBKDF2-HMAC-SHA512 拉伸,并转换为种子,钱包由它派生密钥。由此直接产生两个后果。第一,助记词是持久的权柄,而不是会话凭据,因此一旦泄露就不存在服务器端的重置。第二,可选口令参与派生,所以一次看似生成了空钱包的恢复,通常意味着输入了错误的口令,而不是助记词错了。
规范化之后的每一步都发生在你输入的那个进程内部。这正是多数恢复指南跳过的部分:暴露面是输入路径和该进程的内存,而不是你与网站之间的网络。
哪个进程合法取决于钱包。硬件设备在设备本身有自身的恢复界面;软件钱包在经验证的版本中有文档化的恢复界面。两者都不是支持聊天,也都不是替你校验助记词的页面。
来宾系统继承其主机的信任
虚拟机感觉像另一台计算机,却并不是独立的信任边界。NIST 关于完全虚拟化的指南直接描述了这种依赖:来宾的安全取决于主机及其下的虚拟机监控程序,而共享剪贴板或文件夹集成之类的资源会拓宽两者之间的通道。在已经可疑的机器上安装来宾,并不会创造新的输入路径。
| Control | What it addresses | What it leaves exposed |
|---|---|---|
| Verified wallet build | Running the code the publisher actually signed | Everything the running process can read once it starts |
| Live-boot environment, no persistent disk | Secrets left in swap, caches or a saved session | The firmware, the keyboard and the display path |
| Full-disk encryption on the host | Recovery material at rest after shutdown | The same material while the machine is unlocked |
| Tunnel to a trusted exit | Who can observe traffic in transit | Local processes, screen capture and input hooks |
实际的泄露沿着同一条线。共享剪贴板会带走你复制的一切。快照与挂起状态文件可能捕获含有助记词的内存。具备主机文件系统访问权的来宾附加组件让来宾看到主机的路径,也让主机看到来宾的路径。这些都不是什么奇特的攻击,而是让虚拟机变得方便的功能。
诚实的结论比「虚拟机不安全」更窄。当主机是你信任的机器并且你已移除共享功能时,虚拟机可以是这项工作的合适容器。它救不了一台你不信任的主机。
加密隧道实际覆盖了什么
VPN 保护两个端点之间的数据包。它对两端究竟谁在看屏幕没有意见,也不阻止本地进程观察你在窗口里输入什么。所以当顾虑是路径时隧道有用,当顾虑是主机时隧道无关。
这一区分之所以重要,是因为两者常被一起推销。「加密连接」描述的是传输,而「可信设备」描述的是端点。恢复流程需要对两者分别作答,而只有其中一个能由网络服务回答。
验证你下载的东西属于同一类端点问题。哈希校验和签名校验确认归档与发布者所发布的一致;它们对将要运行它的机器毫无说明。
sha256sum -c SHA256SUMS.txt
gpg --verify SHA256SUMS.txt.sig SHA256SUMS.txt在材料出现之前先准备好环境
顺序比工具更重要。先确定主机,移除共享功能,断开不需要连接的东西,然后才把恢复记录从存放处取出。颠倒顺序意味着当你还在决定密钥该去哪里时,它已经在内存里了。
然后把密钥保持在钱包厂商记录的流程里。在钱包自身的恢复界面中、在钱包期望的网络上输入,并且只批准你能在钱包提供的可信显示上核实过的操作。熟悉的桌面对话框并不能证明设备会授权对话框所声称的事。
如果你怀疑已经暴露,就停止在该系统上输入材料,并转移到你能独立信任的环境。关闭虚拟机、修改 VPN 密码或重装钱包应用都不会轮换钱包的权柄;只有把资产转移到使用新生成密钥的新钱包才能做到。在获取钱包专属步骤的过程中,把原始助记词排除在任何支持对话之外,因为任何正当的支持流程都不需要它。这一条规则比任何加固清单都能避免更多损失。