—— 离线签名、蓝牙交互与强制本地认证机制
| 文档信息 | 内容 |
|---|---|
| 版本 | v1.1 |
| 状态 | 公开技术提案 (Request for Comments) |
| 日期 | 2025-12-01 |
| 许可 | CC BY-SA 4.0 |
本文提出一种“软件定义冷钱包”( Software-Defined Cold Wallet, SDCW )架构。该架构旨在利用通用 Android 设备算力与安全特性,在无需购买昂贵专用硬件(如 Ledger/Trezor )的前提下,构建一套高安全性的数字资产管理方案。
针对传统冷钱包交互痛点,本方案摒弃了繁琐的 USB 文件传输与受限于数据密度的二维码扫描,采用应用层加密蓝牙( BLE )作为交互介质。既保持了物理隔绝的安全性,又提供了接近热钱包的流畅用户体验。系统核心将交易流程严格解耦为“离线冷端”与“在线热端”,通过强制的“人在回路”( Human-in-the-Loop )认证机制,确保私钥永不触网。
硬件钱包( Hardware Wallet )虽被视为行业金标准,但在普及过程中面临无法忽视的门槛:
为了规避硬件钱包的成本与信任问题,现有开源社区出现了一些基于通用设备的冷钱包方案,但其交互方式往往严重牺牲了用户体验:
本文提出的基于加密蓝牙的软件冷钱包旨在解决上述痛点:
| 维度 | 本方案 (Android + BLE) | 传统硬件钱包 | 传统 USB 冷钱包 | 二维码冷钱包 |
|---|---|---|---|---|
| 设备成本 | 低 (利用旧手机) | 高 ($50-$200) | 中 (需专用 U 盘/线) | 低 |
| 代码透明度 | 100% 开源 | 多为闭源/部分开源 | 开源 | 开源 |
| 交互媒介 | 无线 (加密蓝牙) | USB / 蓝牙 | 物理插拔 (USB) | 摄像头扫描 |
| 大数据传输 | 快 (支持大交易) | 快 | 慢 (文件操作繁琐) | 极慢 (需扫动图) |
| 物理磨损 | 无 | 接口易磨损 | 接口易磨损 | 无 |
| 用户体验 | 流畅 | 一般 | 繁琐 | 累 (需手持对准) |
| 设备角色 | 网络状态 | 核心职责 | 安全边界 |
|---|---|---|---|
| 冷端 (Cold Host) | 永久离线 (Air-gapped) | 私钥生成、加密存储、交易解析、离线签名 | 极高:物理层断网,禁止任何网络权限 |
| 热端 (Hot Watcher) | 在线 (Online) | 构造未签名交易、广播签名数据、链上查询 | 低:假设环境已被污染,不可信 |
通信仅通过应用层加密的低功耗蓝牙 (BLE) 进行,确保即使底层蓝牙协议栈存在漏洞,应用数据依然安全。
数据流向说明:
| 攻击类型 | 防护状态 | 说明 |
|---|---|---|
| 远程木马 (RAT) | ✅ 已防护 | 冷端物理断网,远程攻击者无法触达。 |
| 中间人攻击 (MITM) | ✅ 已防护 | 蓝牙信道采用 ECDH 密钥协商 + AES-GCM 加密,并绑定会话 ID 。 |
| 蓝牙协议栈漏洞 | ✅ 已防护 | 即使攻破蓝牙层,攻击者只能获得加密后的数据包。 |
| 侧信道攻击 | ⚠️ 部分防护 | 依赖 Android 系统层面的防护,软件层难以完全消除电磁/功耗泄露。 |
| 物理提取 (Evil Maid) | ❌ 不在范围 | 若攻击者拆解设备并进行冷启动内存攻击,超出软件防护范畴。 |
本系统仅采用经过广泛验证的工业级标准算法,拒绝私有加密方案。
Argon2id (推荐) 或 PBKDF2-HMAC-SHA512 (高迭代次数),用于将用户口令转换为加密密钥。AES-256-GCM,确保机密性与完整性。ECDH (Secp256k1/X25519) 进行密钥协商,建立临时会话密钥,传输层使用 AES-GCM 封装。ECDSA (secp256k1) (Bitcoin/Ethereum) 及 EdDSA (ed25519) (Solana 等)。必须明确认知软件冷钱包的边界:
本文提出的基于 Android 的软件冷钱包架构,通过严格的在线/离线职能分离、全链路加密以及强制生物认证,在通用消费电子设备上构建了一个高强度的安全环境。它打破了硬件钱包的高价与闭源壁垒,同时也解决了传统软件冷钱包在 USB 传输与二维码扫描上的体验痛点。以代码开源和架构透明为信任基石,为去中心化金融( DeFi )用户提供了一种兼具安全性、经济性与可访问性的资产管理新范式。
1
081 PRO 目前感觉,手机可靠性最差的其实是电池。 另外 需要维护好多种链的钱包。估计很难吧。
BLE 思路不错。 |
2
SodaPopBoy 3 天前
我觉得二维码更快,蓝牙还得建立连接,二维码循环播放一秒钟能切好几张
|