离线使用 SafeSeed:气隙安全指南
在生成助记词和私钥时,你能采取的最强安全措施,就是在一台从未连接、且将来也绝不连接互联网的电脑上进行。这种方式称为“air-gapped(气隙)”设置,也就是让你的敏感密码学材料与任何网络之间存在真实的“空气隔离”。SafeSeed 工具专为完全离线使用而设计,本指南将带你完成气隙环境的搭建与使用。
safeseed.app 上的所有 SafeSeed 工具都可离线运行。先在联网时下载页面,再在生成任何密钥前断网。
为什么要离线?
当你在联网电脑上生成助记词或私钥时,即使工具本身可信,仍然存在多种攻击路径:
联网电脑上的威胁
| 威胁 | 说明 | 可能性 |
|---|---|---|
| 恶意软件/键盘记录器 | 捕获屏幕内容、剪贴板或键盘输入的软件 | 中 |
| 浏览器扩展 | 读取页面内容的恶意或被攻陷扩展 | 中 |
| DNS 劫持 | 将你重定向到工具的伪造版本 | 低 |
| 中间人攻击 | 在传输过程中拦截并篡改页面内容 | 低(使用 HTTPS 时) |
| 远程访问 | 屏幕共享、远程桌面或 RAT 软件 | 低 |
| 供应链攻击 | 被攻陷的 CDN 或依赖分发恶意代码 | 很低 |
| 硬件植入 | 在数据到达网络前进行拦截的物理设备 | 很低 |
气隙电脑可以消除所有基于网络的威胁。即使机器上有恶意软件,在没有网络连接或物理接触的情况下,也无法外传已生成的密钥。
安全等级光谱
并非所有人都需要同一级别的安全。以下是实用框架:
| 安全级别 | 配置 | 适用场景 |
|---|---|---|
| 基础 | 常规电脑,联网 | 学习、测试、极小金额 |
| 增强 | 常规电脑,生成前断网 | 中等持仓($100-$10,000) |
| 高 | 专用离线电脑,从不联网 | 较大持仓($10,000+) |
| 最高 | 气隙 Live USB、专用打印机、法拉第袋 | 大额持仓、机构使用 |
本指南覆盖“高”和“最高”两个级别。
方案 1:保存网页(最简单)
离线使用 SafeSeed 的最简单方法,是在联网时保存网页,然后断网使用。
步骤
-
在联网状态下,打开你要使用的 SafeSeed 工具:
-
保存完整页面:
- Chrome/Edge:
Ctrl+S(Windows/Linux)或Cmd+S(Mac),选择 “Webpage, Complete” - Firefox:
Ctrl+S或Cmd+S,选择 “Web Page, complete” - Safari:
Cmd+S,选择 “Web Archive”
- Chrome/Edge:
-
保存到 USB 驱动器(为最高安全性,不要存到本机硬盘)
-
断开互联网连接:
- 关闭 Wi-Fi(如笔记本有硬件开关,直接关闭)
- 拔掉网线
- 关闭 Bluetooth
- 如可用,开启飞行模式
-
在浏览器中从 USB 驱动器打开已保存文件
-
验证可用性:生成一组测试助记词。若工具正常,即可继续。
-
生成真实助记词或执行密钥派生
-
将结果记录在纸张或金属介质上
-
关闭浏览器并清理全部浏览器数据
-
如需最高安全性,关闭电脑;在清理浏览器数据和临时文件前不要重新联网
这种方式的限制
- 某些已保存页面可能不包含全部 JavaScript 依赖(SafeSeed 很少见,但可能发生)
- 你的常用电脑硬盘可能缓存已保存页面
- 如果断网前电脑已被攻陷,恶意软件可能暂存生成的密钥,并在重新联网后外传
方案 2:专用离线电脑(推荐)
对于较大持仓,请使用一台永不联网的专用电脑。
你需要准备
- 一台电脑:可用旧笔记本或便宜二手设备。无需高性能,生成密钥计算量很小。
- 一个 USB 驱动器:将 SafeSeed 工具文件传到离线电脑。
- 一台打印机(可选):USB 直连,非网络打印机。用于创建纸钱包。
设置步骤
第 1 步:准备离线电脑
如果使用现有电脑:
- 全新安装操作系统(移除可能含恶意软件的旧系统)
- 安装期间及之后都不要连接互联网
- 若电脑有 Wi-Fi 网卡,物理断开(可行时拆除 Wi-Fi 模块,或在 BIOS 中禁用)
- 在 BIOS 中禁用 Bluetooth
如果购买新电脑:
- 在不连接任何网络的情况下完成初始设置
- 系统安装过程中跳过所有“连接 Wi-Fi”提示
第 2 步:传输 SafeSeed 文件
在你的常用(联网)电脑上:
- 访问每个 SafeSeed 工具并保存完整页面
- 将所有保存文件复制到 USB 驱动器
- 可选但推荐:计算已保存文件的 SHA-256 校验和
在离线电脑上:
- 插入 USB 驱动器
- 将文件复制到本地硬盘
- 可选:若具备条件,验证校验和
- 弹出 USB 驱动器
第 3 步:测试工具
- 在离线电脑浏览器中打开每个已保存工具
- 生成测试助记词
- 派生测试地址
- 确认所有功能符合预期
- 丢弃测试数据(这些不是你的真实密钥)
第 4 步:生成真实密钥
- 打开 Seed Phrase Generator
- 生成你的助记词
- 记录到纸张或金属介质(参见 Seed Phrase Generator Tutorial)
- 如有需要,打开 Address Generator 派生地址,供后续与钱包核对
- 关闭浏览器
- 关闭电脑
日常使用
- 不使用时保持该电脑关机并安全存放
- 仅在需要生成或派生密钥时开机
- 永远不要连接任何网络
- 定期通过 USB 从可信来源更新 SafeSeed 工具文件
方案 3:Live USB / Tails(最高安全)
若追求最高安全级别,可从 Live USB 操作系统启动。该系统完全在 RAM 中运行,不在宿主电脑留下痕迹。
使用 Tails OS
Tails 是以隐私为核心的 Linux 发行版,设计目标是不留痕迹。它从 USB 启动、完全在 RAM 中运行,并在关机时清除全部内存。
设置
- 在常用电脑上,从 tails.net 下载 Tails 并验证下载签名
- 使用官方 Tails 安装器或 Etcher 将 Tails 写入 USB 驱动器
- 在另一只 USB 驱动器上,保存 SafeSeed 工具文件(见方案 1)
使用 Tails 生成密钥
-
从 Tails USB 启动:
- 插入 Tails USB 并重启电脑
- 进入启动菜单(通常开机时按 F12、F2 或 Del)
- 选择该 USB 驱动器
- 在 Tails 欢迎界面,不要配置任何网络设置
-
禁用所有网络连接(Tails 操作很简单:不要连接到任何网络)
-
插入包含 SafeSeed 工具文件的第二个 USB 驱动器
-
在 Tails 自带的 Tor Browser 中打开 SafeSeed 工具
- 虽然使用的是 Tor Browser,但你将完全离线工作
- 从 USB 驱动器打开已保存的 HTML 文件
-
生成助记词和/或派生地址
-
将结果记录到实体介质
-
关闭 Tails:
- 移除 USB 驱动器
- Tails 会在关机时自动清除 RAM
- 宿主电脑不留痕迹
Tails 的优势
- 完全在 RAM 中运行,不向磁盘写入数据
- 设计目标是不留取证痕迹
- 即使宿主硬盘中有恶意软件,Tails 也会启动其自身的干净系统
- 关机自动清除内存
- 经过良好审计,开源
注意事项
- Tails 需要一定 Linux 使用经验
- 并非所有硬件都兼容(尤其是很新的笔记本)
- Tails 中的 Tor Browser 安全设置较严格,通常不影响本地文件操作,但可能需要调整偏好设置
使用 Ubuntu Live USB
如果你觉得 Tails 过于复杂,标准 Ubuntu Live USB 是更简单的替代方案:
- 从 ubuntu.com 下载 Ubuntu Desktop ISO
- 使用 Etcher 或 Rufus 写入 USB 驱动器
- 从 USB 启动并选择 “Try Ubuntu”(不要安装)
- 不要配置任何网络
- 在 Firefox 中打开 SafeSeed 工具文件
- 生成密钥、完成记录并关机
Ubuntu Live 不具备 Tails 的内存清除特性,因此请在操作后关闭电脑并保持几分钟断电,让 RAM 自然衰减(或在支持拆卸电池的笔记本上取下再装回电池)。
离线场景下的打印机安全
如果你在气隙电脑上创建纸钱包,打印机也属于安全边界的一部分。
推荐打印机配置
- 仅使用 USB 直连打印机(无 Wi-Fi、无 Bluetooth、无网络功能)
- 理想情况下使用“傻瓜型”打印机:基础喷墨或激光机型,无智能特性、云连接或内部存储
- 避免带持久存储的打印机:一些新型号会把打印任务保存在内部闪存。优先选择仅在 RAM 处理任务的机型。
- 打印机专用化:仅用于密码材料打印,不做其他用途
- 打印后:重启打印机(关机再开机)以清除易失性内存
预算友好型打印机建议
若只是偶尔打印纸钱包,基础 USB 喷墨打印机约 $30-50,通常没有持久存储。避免使用要求云账户的厂商机型(如 HP+、带云功能的 Epson EcoTank 等)。
校验清单
在生成任何用于真实资产的密钥前,请核对你的气隙设置:
网络隔离
- Wi-Fi 已禁用(硬件层,不仅是软件层)
- 网线已物理拔除
- Bluetooth 已禁用
- 飞行模式已开启(如可用)
- 无蜂窝调制解调器(适用时移除 SIM 卡)
- 验证:打开浏览器,确认无法访问任何网站
环境
- 没有安防摄像头对着屏幕
- 没有人能看到你的屏幕
- 未运行录屏或屏幕共享软件
- 房间内无语音助手或智能音箱(可能听到你朗读单词)
- 若窗外可见,窗户已遮挡
软件
- 浏览器扩展已禁用(或使用全新浏览器配置)
- 未运行不必要应用
- 操作系统为全新安装或 Live USB 环境
- 已保存的 SafeSeed 工具文件可正常打开并运行
生成密钥后
- 助记词/私钥已记录到实体介质
- 实体介质已立即妥善保管(未暴露在外)
- 浏览器标签页已关闭
- 浏览器历史与缓存已清理
- 电脑已关机(或已移除 Live USB 并关闭电脑电源)
- 若使用 Tails,RAM 清除已完成
- 保存 SafeSeed 文件的 USB 驱动器已安全存放(不要随意丢弃在可能被恢复的垃圾中)
将地址(非密钥)转回联网环境
离线生成密钥后,你可能需要把公开地址转回联网设备(例如设置观察钱包或接收资金)。
安全方法
- 手动输入地址:查看实体记录并手动输入到在线钱包或区块链浏览器。这是最安全的方法。
- 扫描二维码:如果你创建了纸钱包,可用手机扫描公开地址二维码。只扫描 PUBLIC 地址二维码,绝不要扫描私钥二维码。
- 通过 USB 传输扩展公钥:若需为观察钱包传输 xpub/ypub/zpub,可在气隙机器保存到 USB 再转移。扩展公钥不能用于花费资金。
应避免的方法
- 不要将私钥或助记词通过 USB、网络或任何数字介质传到联网设备
- 不要用智能手机拍摄助记词
- 不要用联网设备扫描私钥二维码
- 不要在任何联网设备上输入助记词
进阶:校验 SafeSeed 源代码
对安全要求最高的用户,可以先校验 SafeSeed 工具源代码,再离线使用。
校验步骤
- 下载源代码(在线时从公开仓库下载)
- 检查 JavaScript 代码中是否有网络调用(
fetch,XMLHttpRequest,WebSocket,navigator.sendBeacon) - 验证密码库是否为已知且经过审计的实现(如
bitcoinjs-lib,ethers.js,或直接使用 Web Crypto API) - 检查数据外传路径:搜索写入
localStorage,sessionStorage,document.cookie,IndexedDB的代码 - 审阅完成后,在不做任何修改的前提下本地运行代码
重点关注项
// Red flags in source code:
fetch(...) // Any network request
XMLHttpRequest // Any network request
WebSocket // Any persistent connection
navigator.sendBeacon // Analytics/tracking beacon
localStorage.setItem // Persistent storage
document.cookie // Cookie manipulation
new Image().src // Potential data exfiltration via image pixel
SafeSeed 工具在密钥生成与派生代码路径中不应包含上述任意项。
常见问题场景
问题:保存的页面离线无法运行
原因:浏览器“另存为”功能可能未抓取全部 JavaScript 文件或 Web Worker 脚本。
解决方案:
- 换一个浏览器保存(Chrome 的 “Webpage, Complete” 通常效果最好)
- 使用 “SingleFile” 等扩展,将整页保存为单个自包含 HTML 文件
- 在命令行使用
wget --mirror --convert-links --page-requisites抓取全部资源
问题:离线无法生成二维码
原因:二维码库可能未包含在已保存页面中。
解决方案:
- 保存时确认选择的是 “Webpage, Complete”(不是 “Webpage, HTML only”)
- 作为替代,可手动输入地址/密钥,不使用二维码扫描
问题:Live USB 无法启动
原因:Secure Boot、UEFI 设置或硬件不兼容。
解决方案:
- 在 BIOS 中关闭 Secure Boot(通常在 Security 设置下)
- 同时尝试 UEFI 与 Legacy 启动模式
- 换一个 USB 接口(USB 2.0 通常比 USB 3.0 兼容性更好)
- 更换 USB 驱动器品牌
问题:打印机在 Live USB 中无法使用
原因:Live USB 环境可能缺少打印机驱动。
解决方案:
- 多数基础 USB 打印机在 Linux 中可使用通用驱动
- 若打印机无法识别,尝试更换更简单的打印机型号
- 或者手工记录数据,并在气隙专用电脑上再创建纸钱包
FAQ
我应该多久更新一次气隙机器上的 SafeSeed 文件?
当 SafeSeed 发布修复你需要的 bug 或新增所需功能的版本时就更新。由于工具基于标准(BIP-39, BIP-32, BIP-44),核心功能变化很少。请通过新格式化的 USB 驱动器传输更新文件。
我可以把智能手机当作气隙设备吗?
智能手机并不理想,原因是:(1) 它有多种无线电模块(蜂窝、Wi-Fi、Bluetooth、NFC),难以在硬件层完全禁用;(2) 后台进程多,可能存储或传输数据;(3) 更难验证系统是否干净。若必须使用手机,请开启飞行模式、逐项禁用所有无线模块,并使用恢复出厂设置后的设备。
我可以用虚拟机替代专用电脑吗?
在联网宿主机上运行的虚拟机(VM)并不是真正的气隙。宿主操作系统可访问 VM 内存;若宿主被攻陷,VM 无法提供保护。VM 适合隔离,但不能替代物理气隙。
离线时如果要查 BIP-39 单词怎么办?
若你需要核对某个词是否在 BIP-39 词表中,可提前保存词表副本。完整的 2,048 个英文 BIP-39 单词列表是公开可获取的。把它保存为文本文件,与 SafeSeed 工具一起放在气隙 USB 驱动器中。
完成使用后,如何安全销毁气隙电脑?
若你准备退役专用气隙电脑:(1) 使用安全擦除工具(DBAN 或同类)清除硬盘;(2) 若密钥价值足够高,拆下硬盘并物理销毁;(3) 电脑本体(不含硬盘)可安全再利用或回收。
USB 驱动器上的恶意软件会攻陷我的气隙电脑吗?
理论上会。基于 USB 的攻击(如 BadUSB)确实存在,但在现实中极少见,且通常需要定向的高复杂度攻击。缓解措施:(1) 使用全新 USB 驱动器;(2) 仅传输已知文件(保存的 SafeSeed HTML/JS);(3) 传输前先格式化 USB;(4) 考虑使用 USB 数据隔离器或写保护 SD 卡。
必须使用 Tails 吗,普通离线电脑是否足够?
对于大多数用户,一台从未联网的普通离线电脑已经足够。Tails 的额外价值在于自动清除内存并完全在 RAM 运行,可防止痕迹留存在硬件上。对机构或高价值场景,Tails 相比标准离线电脑有可量化的安全提升。
电磁泄漏(TEMPEST 攻击)怎么办?
TEMPEST 攻击通过拦截电脑发出的电磁信号来重建显示数据。这类攻击需要专用设备、物理近距离和高专业能力,通常只与国家级威胁相关。对几乎所有加密货币用户而言,无需考虑 TEMPEST 防护。若你仍担心,可在气隙环境外加法拉第袋或法拉第笼。
相关指南
- SafeSeed Tools Overview — 全部工具及其离线能力总览
- Seed Phrase Generator Tutorial — 生成助记词(支持离线)
- Paper Wallet Creator Tutorial — 创建纸钱包(支持离线)
- Address Generator Tutorial — 派生地址(支持离线)
- Key Derivation Tool Tutorial — 探索密钥路径(支持离线)
- Seed Phrase Security Guide — 助记词保护完整策略