第 1 篇,共 12 篇阅读约 5 分钟

假设电脑已被攻破

大多数加密资产被盗,靠的都不是破解密码学,而是从一台普通电脑下手。AirNox Wallet 正是为这样的电脑设计的,它的出发点是:这台电脑已经失守。

联网区域里一台不存放密钥的笔记本电脑及其周围的各种威胁,中间是一道气隙,另一侧是一部保管助记词的离线手机
左边的一切都可能被感染。密钥在右边。
本页内容

威胁来自机器,而不是数学

想想资金实际上是怎么从钱包里流走的。开发者工具链里的某个依赖包,夹带了点别的东西。某个浏览器插件(browser extension)推送了一次没人看过的更新。某份文档其实并不是文档。某个网页给你看的是一笔交易,让你签的却是另一笔。某个剪贴板(clipboard)工具在你粘贴前的一瞬间换掉了地址。

这些攻击没有一个碰到密码学。它们需要的都是同一样东西:一台联网机器上的私钥(private key),或者你的批准。电脑之所以成为目标,是因为密钥就放在电脑上。

所以,AirNox Wallet 的第一个设计决定很简单:别让密钥待在那里。

密钥不在电脑上

AirNox Wallet 运行在桌面端。单独使用时,它就是一个完整的原生钱包,助记词(seed)封存在它的保险库里,日常操作用这套配置就很稳妥。在 AirGap 模式下,它更进一步:它从不持有任何能转走你资金的密钥,只保存你选择让它看到的地址。凭这些地址,它就能完成钱包在线上要做的所有事:与网络通信,读取余额和历史记录,构建未签名交易并进行筛查,再把签好名送回来的交易广播出去。

签名在 AirNox Vault 上完成。这是一款装在 Android 手机上的应用,而这部手机从不联网。助记词由它保管。每一个请求,它都直接从将要签名的字节中解码,显示操作类型、金额、交易双方和网络,只有在你按下 Accept(接受)之后才会签名。

两者之间隔着一道气隙(air gap)。手机没有任何通往互联网的路径,穿过气隙的只有两样东西:过去的一个请求,和回来的一个签名。

dApp、浏览器插件、AirNox Wallet、气隙和 AirNox Vault,请求一路向右传递,回来的只有签名
三个环节。只有一个环节持有密钥,而它是离线的。

每个环节做什么

请求可能来自网页,可能来自钱包本身,也可能来自接入钱包的 AI 智能体。不管从哪里发起,走的都是同一条路径。

浏览器插件向网站提供它们所期望的标准钱包接口。它不持有密钥,也不签任何东西,只是通过本地通道把请求转发给桌面端。

桌面端解码请求并进行筛查。它识别标准操作,标记那些只是看起来像标准操作的东西,检查授权(allowance)和授权对象(spender),然后构建未签名交易,再通过 QR 码、Bluetooth LE 或 NFC 把这笔交易交给手机。

手机根据它将要签名的确切字节,把请求再解码一次,用通俗的话展示给你。桌面端对请求的描述只是一面之词,手机上看到的才是真相。你读完,按下 Accept,或者不按。传回去的只有签名。

密钥放在哪里,决定了恶意软件(malware)能做什么

AirNox 提供两个层级的保护。把它们和最薄弱的常见方案放在一起看会更清楚:以浏览器插件形式存在的传统钱包。

八种攻击对三种方案的矩阵:浏览器插件钱包、桌面端的 AirNox Wallet 和 AirNox Vault,分别标注为暴露、减弱和受保护
插件钱包对每一种攻击都敞开着。原生桌面钱包几乎全部堵住了。剩下的,由 AirGap 来堵。

传统插件钱包运行在电脑上暴露面最大的程序里。它的机密数据所用的加密方式,现代显卡可以大规模暴力破解(brute force)。注入网页的代码能够触及它,任何截屏或录屏的程序都能看到它。它自带跟踪器和广告,对地址被替换毫无防护,同时还整天占用系统资源。

桌面端的 AirNox Wallet 是另一类程序,而且它会保护自己。它是原生 C++ 程序,没有可供注入的脚本引擎,也没有可供投毒的页面。助记词只在需要时才留在内存里,用完立即清除。它监视周围的进程和加载进自身的库,外来代码无法在钱包里悄无声息地运行。它解码并筛查每一个请求,让你批准(approve)的正是你看到的。它监视剪贴板,防止地址被替换,并让自己的窗口不被截屏或录屏捕获。它存储的机密数据用内存困难型(memory-hard)的 Argon2id 封存,并锚定在电脑的 TPM 2.0 芯片上,显卡在这里走不了捷径。它也不带任何跟踪器。对日常操作来说,它本身就是稳妥的选择;本系列介绍的每一项安全功能都适用于它,不管有没有用到手机。

AirGap 则是叠加在上面的终极一层。上面说的一切依然有效,而助记词搬到了一部离线手机上。即使攻击者控制了整个操作系统,在电脑上也找不到任何可复制的东西,也无法篡改做出最终决定的那块屏幕。替换收款地址是唯一在所有方案中都留有部分缺口的手段,因为地址投毒(address poisoning)针对的是你的眼睛,而不是软件。两台设备上的地址图案,就是为了拦住它。

这套设计解决不了什么

离线签名设备(signer)能让你看清自己签的到底是什么,却拦不住你同意签它。助记词备份仍然是你自己的责任,要抄在纸上或刻在钢板上,而不是存进密码管理器。如果有人逼你解锁,任何钱包都保护不了你。这些局限,我们宁愿亲口告诉你,也不想让你自己撞上。

本系列接下来会逐一讲解各个部分:为什么签名设备就是你手里现成的手机,跨越气隙的三种方式,手机如何做到无线隐身,为什么从不信任传输通道,手机让你看到什么,以及它自己留下的记录。

系列全部文章

  1. 假设电脑已被攻破
  2. Mass Adoption Security(大众化安全):签名设备就是你手里现成的手机
  3. 跨越气隙的三种方式:QR 码、Bluetooth LE 与 NFC
  4. 无线隐身:谁也扫描不到的签名设备
  5. 从不信任传输通道
  6. 手机让你看到什么:在签名设备上分析交易
  7. 手机自己留一份记录
  8. 桌面上的保险库:Argon2id 与抵御密码猜测的档案
  9. 不用浏览器钱包,照样用 dApp
  10. 有规则的 MCP 服务器:让 AI 智能体在限额内行事
  11. 一个受保护的钱包,包揽一切
  12. 小巧而原生:C++,没有 JavaScript 运行时,从工作站到 Raspberry Pi

加入候补名单

留下你的邮箱,我们会把产品发布消息发给你。除此之外,什么都不发。