不同区块链 Web3 钱包的密钥管理方式

  • Dapplink
  • 发布于 2025-04-05 17:20
  • 阅读 18

在中心化钱包(尤其是交易所钱包)的安全架构中,密钥管理方案至关重要,不同的密钥管理方式具有不同的安全等级和使用场景。本文主要介绍目前主流的密钥管理方式:CloudHSM、TEE、KMS+S3数据库和钱包数据加密存储(wallet.data)。

在中心化钱包(尤其是交易所钱包)的安全架构中,密钥管理方案至关重要,不同的密钥管理方式具有不同的安全等级和使用场景。本文主要介绍目前主流的密钥管理方式:CloudHSM、TEE、KMS+S3 数据库和钱包数据加密存储(wallet.data)。

一.中心化钱包(交易所钱包)的密钥管理方式

1.CloudHSM 硬件安全模块

CloudHSM(Hardware Security Module)是由 AWS、Google 等云服务厂商提供的高安全硬件密钥管理方案,其本质也是一种 KMS, 密钥管理服务, 这种服务密钥是不能离开这个环境的。

1.1.工作原理

  • 用户通过配置 Credentials 调用硬件加密机(HSM)。
  • 密钥对中的私钥永久存储于 HSM 内部,无法被导出或脱离 HSM 环境,仅对外返回对应的公钥。
  • 使用公钥生成对应的钱包地址。
  • 当需要签名交易时,外部应用构造交易的 32 字节消息哈希(Message Hash),将其传入 HSM 进行签名。
  • HSM 返回签名(Signature)后,外部应用将签名与交易本体结合,构成完整的区块链交易并发送至链上。

1.2.优点

  • 最高等级的硬件安全,物理级别隔离,私钥无法导出

1.3.缺点

  • 成本昂贵,密钥容量有限,难以大规模扩展

1.4.适用场景

  • 交易所热钱包、高净值用户托管钱包

2.TEE 可信执行环境

TEE 是由 AWS 等云服务厂商提供的基于芯片级别的可信执行环境,例如 AWS 的 Nitro, Intel SGX

2.1.工作原理

  • 基于 CPU 提供硬件隔离的执行环境(如 AWS Nitro enclave)
  • 离线签名代码封装于 enclave 内,启动 enclave 服务后,通过 vsock 与外部环境通信
  • 签名过程中密钥始终不暴露在非安全环境中

2.2.优点

  • 提供硬件级别的安全保护,成本适中,易于大规模扩展
  • 部分厂商提供的 TEE 环境是没有存储能力的,需要外接 KMS,将密钥加密的之后,通过 vsock 传输处理,使用 S3 数据库(基于 S3 的 KMS)进行密钥的管理

2.3.缺点

  • 安全性略逊于 CloudHSM,对芯片级漏洞存在依赖
  • 没有存储能力的 TEE 依赖于加密和外部存储

2.4.适用场景

  • 普通用户地址管理、交易钱包密钥管理

3.基于 S3 数据库的 AWS KMS 云密钥管理服务

KMS 是 AWS 等云服务提供商提供的密钥管理服务,便捷易用。

3.1.工作原理

  • 用户在 KMS 服务中生成或导入密钥
  • 通过 IAM 权限配置访问 KMS 服务获取密钥,用于签名交易等操作

3.2.优点

  • 使用简单、易于云服务整合,快速开发部署

3.3.缺点

  • 密钥管理和安全等级依赖云服务商,不适合高安全等级场景。

3.4.适用场景

  • 内部服务、测试环境和非敏感场景。

4.Wallet.data 本地加密存储

钱包数据通过 AES 等算法加密后,直接保存在数据库或文件系统中。

4.1.工作原理

  • 钱包创建密钥对后,对私钥进行 AES 对称加密,存储至数据库或文件(如 wallet.data)
  • 使用私钥时,解密后进行签名操作

4.2.优点

  • 简单、成本低廉,易于快速实现和部署

4.3.缺点

  • 安全等级最低,易受内部泄露、数据库攻击风险

4.3.适用场景

  • 低价值交易、测试环境、临时钱包、小规模项目

5.中心化钱包的密钥管理方式安全等级对比

CloudHSM(最高安全性)> TEE(次高安全性)> KMS + S3数据库(一般安全性)> wallet.data 本地加密存储(最低安全性)

管理方式 安全等级 成本 可扩展性 使用场景举例
CloudHSM ⭐⭐⭐⭐⭐ 较高 一般 热钱包、托管钱包
TEE+S3(KMS) 据库库 ⭐⭐⭐⭐ 中等 交易钱包
KMS+S3 据库库 ⭐⭐⭐ 内部服务、测试环境
Wallet.data ⭐⭐ 极低 测试、临时、小型钱包
  • 高价值资产托管、交易所热钱包优先选择 CloudHSM。
  • 常规交易钱包、大规模用户地址体系建议使用 TEE 方案。
  • 内部测试和日常非敏感交易环境,可使用更便捷的 KMS 或 wallet.data 本地存储。

二.去中心化钱包的密钥管理方式

去中心化钱包是由用户自己掌控私钥的非托管钱包。去中心化钱包的密钥管理方式主要分为硬件钱包和软件钱包两种

1.硬件钱包(Hardware Wallet)

硬件钱包是一种专用物理设备,用于安全生成和存储密钥,并对交易进行离线签名。

1.1 工作原理

  • 密钥在硬件钱包设备中生成,私钥始终被存储在硬件内部,无法导出

  • 通过设备上的物理按钮和屏幕确认签名交易,签名过程始终在设备内部完成

  • 只有经过硬件钱包确认签名的交易数据才可以发回软件端再广播到区块链网络

1.2 优点

  • 最高的安全性,私钥始终处于硬件隔离环境,避免了木马、病毒或网络攻击风险

  • 适合长期存储大额资产

1.3 缺点

  • 设备需要单独购买,使用流程稍复杂,用户体验不如软件钱包便捷

  • 可能存在设备丢失、物理损坏等风险(可通过助记词备份解决)

1.4 适用场景

  • 存储大量加密资产的个人用户、机构用户或项目方

2.软件钱包(PC端、移动端、浏览器插件钱包)

软件钱包通过软件或应用的方式,将加密后的密钥存储于本地环境。

2.1 工作原理

  • 软件钱包生成密钥对时,通过 AES 等加密算法对私钥进行加密后,存储在用户的本地环境(如电脑、手机本地或浏览器缓存)
  • 用户使用钱包时,通过密码或其他验证方式解密私钥,完成交易签名

2.2 优点

  • 易于安装、免费使用、用户体验流畅,适合日常交易使用
  • 便于与 DApp、DeFi 等去中心化应用集成

2.3 缺点

  • 私钥存储于联网设备中,相比硬件钱包,安全性较低
  • 易受恶意软件、钓鱼攻击等风险

2.4 适用场景:

  • 日常支付、小额资产频繁交易或 DApp 交互

三.MPC(多方安全计算)托管钱包的密钥管理方式

MPC (Multi-party Computation) 钱包通过分布式多方安全计算技术,将私钥分割成多个碎片,分别由多个不同节点管理,交易签名时无需还原完整私钥,极大提升密钥的安全性和灵活性。

1.工作原理

  • MPC 钱包生成私钥时,通过密码学算法将私钥拆分为多个碎片,分别存储在不同节点上

  • 交易签名时,通过 MPC 协议进行多方安全计算,各节点无需交换或还原完整私钥,就能共同生成交易签名

  • 签名过程的所有参与节点都不能单独获取完整的私钥,只有在达成共识的情况下才能成功签名交易

2.优点

  • 没有单点私钥暴露风险,密钥碎片分布式存储,更安全

  • 灵活高效,节点碎片可动态管理,适用于机构级别的资产管理方案

  • 便于权限管理、风控及多人审批流程,适合机构场景

3.缺点

  • MPC技术实现相对复杂,需要较高的技术开发能力和维护成本

  • 系统复杂性提高,可能带来一定的运行成本与效率损耗

4.适用场景

  • 托管钱包、机构钱包、交易所钱包,或有多人审批需求的企业、DAO组织和资产托管平台

四.其他钱包的密钥管理方式

除上述主流钱包类型外,还有智能合约钱包、多签钱包、社交恢复钱包等特殊钱包形态。这些钱包本质上并不直接持有密钥,而是通过 EOA 地址(外部账户)进行控制,因此,它们的密钥管理方式实际上继承了 EOA 地址本身的密钥管理方式

1.智能合约钱包

智能合约钱包本质上是部署在区块链上的合约,钱包逻辑、权限控制、交易执行由合约代码实现,但合约本身的控制权限掌握在一个或多个 EOA 地址手中。

  • 密钥管理方式:
    • 中心化场景(CloudHSM、TEE、KMS、wallet.data)
    • 去中心化场景(硬件钱包、软件钱包)
    • MPC 方式
    • 智能合约钱包本身不直接持有密钥,钱包权限和资产管理依赖于控制它的外部账户(EOA 地址)
    • EOA 地址的密钥管理可按照上文介绍的方式
  • 典型应用场景:
    • 账户抽象(Account Abstraction,ERC-4337)钱包
    • DApp 应用专属钱包

2.多签钱包

多签钱包通常通过智能合约实现,钱包执行任何操作都需要多个地址共同授权签名。

  • 密钥管理方式:

    • 硬件钱包、软件钱包(去中心化)
    • CloudHSM、TEE 或 MPC 托管方案(机构级场景)
    • 每个参与多签钱包的地址都是独立的 EOA 地址,分别拥有各自独立的私钥
    • 单个签名者的密钥可使用任意上述密钥管理方式
  • 典型应用场景:

    • 机构资金托管(如 DAO 资金管理)

    • 多人审批的资金管理场景(公司财务、投资机构)

3.社交恢复钱包

社交恢复钱包是一种特殊的智能合约钱包,通过社交关系(好友、亲人、可信机构)或门限共享秘密密钥拆分(Threshold Secret Sharing)辅助用户恢复钱包控制权限,而不再单纯依赖单一助记词备份。

3.1.密钥管理方式

  • 社交恢复钱包核心地址通常为用户的主控 EOA 地址,用户主控地址的密钥管理可采用任意上述方案,如:

    • 硬件钱包(高价值资产场景)

    • 软件钱包(普通用户日常场景)

    • MPC 或 TEE(托管或企业级用户)

3.2.社交恢复的主要恢复方式

社交信任网络模式
  • 用户在创建钱包时指定多个可信的朋友、家人、机构地址作为「守护人」

  • 当用户丢失密钥时,通过多数(如 3 个中 2 个)守护人的地址签名,智能合约允许重新设置控制权限

基于门限共享秘密密钥拆分(Threshold Secret Sharing)模式
  • 使用密码学门限共享秘密技术(如 Shamir Secret Sharing)将私钥分割为多个片段(shares)。

  • 分割后的密钥碎片分别存储于多个可信任方或设备(如好友设备、云存储、硬件钱包、MPC节点)。

  • 恢复私钥时只需达到一定的门限数量(如 5 个碎片中的任意 3 个碎片)即可恢复出完整的私钥,重新获得钱包控制权。

  • 任意单一碎片或低于门限数量的碎片组合无法推导出私钥,安全性高于单纯依赖单一备份

3.3 优点:

  • 显著降低用户密钥丢失风险,不再依赖单一助记词或单点备份

  • 提升安全性,避免单个恢复途径的单点风险

3.4 缺点:

  • 实现复杂度相对较高,需要一定的密码学和合约开发支持
  • 需要用户选择和信任第三方守护人或存储设备,存在一定的社交信任成本

3.5 典型应用场景:

  • 普通用户日常钱包,降低密钥丢失风险
  • 主流消费钱包,如 Argent、Zengo 等

五.总结

钱包的密钥管理方式决定了资产存储的安全性和便捷性。根据钱包形态的不同,密钥管理方案也有所差异:

中心化钱包(交易所钱包)多使用CloudHSM、TEE、KMS+S3数据库以及本地加密存储(wallet.data),其中CloudHSM安全性最高,但成本较高;TEE则兼顾安全性和扩展性,适合中等安全需求的场景;KMS和wallet.data则适合低价值或测试场景。

去中心化钱包强调用户自主控制密钥,以硬件钱包为最高安全等级,适合长期存储高价值资产;而软件钱包适合小额交易和日常使用,便捷但安全性较低。

MPC托管钱包采用密钥分片、多方安全计算技术,兼顾安全性与灵活性,适合机构用户、多人审批和大额资产托管场景。

智能合约钱包、多签钱包、社交恢复钱包都是通过EOA地址控制,继承EOA地址的密钥管理模式,社交恢复钱包还进一步结合门限共享秘密密钥拆分技术,大幅降低用户丢失密钥的风险,提升钱包的易用性。

通过合理选择与组合以上密钥管理方式,可以在安全性、易用性和成本之间取得最优平衡。

  • 密钥管理关系图示

智能合约钱包/多签钱包/社交恢复钱包     
        │         
        └─ 由 EOA 地址控制       
                │           
                 ├─ 中心化密钥管理方案     
                 │    ├─ CloudHSM      
                 │    ├─ TEE        
                 │    ├─ KMS+S3数据库      
                 │    └─ Wallet.data        
                 │        
                 ├─ 去中心化密钥管理方案     
                 │    ├─ 硬件钱包        
                 │    └─ 软件钱包(PC、移动、插件)         
                 │          
                 └─ MPC 多方安全计算方案(机构级)      
                 │           
                 └─ 门限共享秘密密钥拆分方案(Threshold Secret Sharing)       
                     └─ 社交恢复钱包(分布式碎片存储与恢复)
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Dapplink
Dapplink
0xBdcb...f214
首个模块化、可组合的Layer3协议。