主流密钥管理项目深度对比
随着区块链和其他加密用例的激增,私钥在经济等方面被赋予更多价值。随之而来的是密钥管理的重要性不断上升,目前,已经有了多个密钥管理系统。本文将进一步深入探讨密钥管理的几个问题及密钥管理系统的取舍方案。
基于用户设备的密钥管理
这几乎是管理密钥对的最基本方式——将其存储在用户的设备上。设备包括他们的浏览器、桌面、移动设备或硬件钱包/账本。这是目前在钱包上管理私钥的最常见方式,但它有几个缺点。
首先,大多数用户并不熟悉密钥和助记词管理方法。此外,标准密钥管理在安全性(密钥被泄露的可能性)和冗余性(在没有备份的情况下丢失密钥)以及便利性三者之间需要有所取舍。这就有了其他管理方案
托管式密钥管理
受信任的第三方代表用户管理私钥,并在登录时将私钥返回给用户。
密码管理模型
密码管理模型使用用户提供的容易记忆的密码来加密客户端生成的密钥,然后将这些加密密钥和密码散列存储在服务器上。
密码管理模型是指,通过用户设置的密码口令在客户端对私钥进行加密,他们再将加密后的私钥和密码哈希存储在服务器上。
当用户登录时,他们向服务器提供用户名/密码哈希组合,检索并在本地对密钥进行加解密。尤其方便的是,该模型允许用户使用任意设备去访问其密钥。
密码管理模型的非托管性使得我们在使用该模型时仍需要做出取舍。由于是用密码加密用户密钥,因此该模型也会遭受与传统密码系统相同的暴力/彩虹攻击。任何能够访问密码哈希/加密密钥的攻击者都能够重复尝试破译用户密钥。对于带有符号、字母和数字的密码,破解6字符的密码组合需要34秒,而8字符需要1-2天。此外,还可能拒绝访问加密密钥,从而导致审查的麻烦。
门限密钥管理
门限密钥管理通常使用某种密钥共享将用户密钥分割成多份。只要拥有某个最低份数的密钥分片就可用于重建用户密钥。门限密钥管理允许多个EOA控制单个帐户,允许用户对一个密钥拥有多个分片,允许用户在不损害主密钥的情况下保留分片作为备份,并且,允许在不造成安全隐患的前提下实现密钥分片重复使用。
门限密钥管理模型的属性取决于用户保存每个密钥分片的位置。不同的钱包和方案根据实际用例制定了不同的方法。
05
智能合约钱包模型
智能合约钱包不是密码,而是持有和管理用户资产的合约,由私钥或外部拥有的帐户(EOA)管理。因此,智能合约钱包的属性同样取决于应用场具及其EOA的管理方式。与门限密钥管理类似,智能合约钱包具有多个EOA控制单个帐户的优点。此外,还可以利用抽象计算来实现诸如日常开支限制或权限之类的功能,从而保护用户资产。
与较强的算力相伴而生的是更少的可组合性和更高的成本。智能合约钱包仅限于在其所在的区块链上使用,甚至被局限在L1和L2之间。智能合约钱包也不是一个简单的密钥,而是一个合约。因此,用户预期的简单本机函数(如签名或认证)无法工作。另外,尽管随着更快、更具可扩展性的解决方案的推出,成本有希望进一步降低。但是成本仍是目前存在的无法忽视的问题。
解决方案
下面我们将介绍几个不同的产品。这些产品的特点有些差距甚微,但希望我们的总结能为您提供当前主流方案的概述。如有错漏之处,欢迎联络zhen@tor.us勘误。
Metamask
Metamask可用于普通的Chrome浏览器中访问,称为 Chrome扩展钱包或移动钱包。Metamask可管理设备上的密钥,具有操作简单且非托管的特点,但需要将助记词和设备同步。
Portis
Portis使用密码管理器模型保存密钥。作为一个集成到DAPP中的web钱包,Portis利用用户的浏览器iFrame和域安全模型来保护用户的密钥。Portis有一个npm包(javascript著名的包管理工具),为开发者提供Web3支持。
Fortmatic/Magic
由于Magic(前身为以太坊钱包解决方案提供商 Fortmatic)使用密码/电子邮箱组合,所以经常被误认为是密码管理器模型。然而,他们实际上是由HSM(硬件安全模块)和AWS(亚马逊云服务)保管的。在深入挖掘Fortmatic的内在机制后,我们发现其博客也印证了我们的结论:
上图向我们展现了注册过程中的交互流程。其访问密钥的明确身份验证取决于调用凭据(Access Token)。fortmatic relayer 和AWS cognito 也可以访问此调用凭据。
Magic的密钥恢复过程印证了以上结论。除非您暴力破解用户的密码,密码管理器模型是不可能的实现密钥恢复的。但Magic可以在不知道您以前的密码的情况下,通过电子邮件发送、验证和重置您的密码。
Bitski
Bitski是托管类电子钱包。它们从不在前端或浏览器公开用户密钥,从而避免系统漏洞,提高安全性。
Argent
Argent使用智能合约钱包和存储在其移动应用程序中的密钥。Argent与其他Argent智能合约钱包共同实现社交恢复,甚至代表用户支付gas费用。
Authereum
Authereum同样是一款智能合约钱包,专为网络使用而设计,其EOA通过密码管理器模型进行管理。Authereum支持密钥恢复,整个恢复过程是通过附加并下载另一个密钥来完成的。
Torus/tKey
Torus实现了一个称为tKey的阈值模型。他们在设备、输入和Torus网络之间将用户密钥分片储存——用户可以从三者中任选两个来恢复自己的密钥。Torus 网络共享/因子在其当前许可的节点参与者之间进一步分片。用户通过登录OAuth(如谷歌、Linkedin、微信等)访问这些分片。
当用户在不同的设备上使用tKey时,他们会增加所持有的分片数量,从而减少丢失密钥的可能。用户还可以选择增加他们的阈值,从而提高访问密钥的安全性,创造一种类似双因子验证(2FA)的体验。
Fireblocks
Fireblocks也同样进行阈值密钥管理,但通常面向企业而不是个人级别。Fireblocks允许不同的个人以不同的配置来管理公司中的资产。
小结
Eigen Network 是Layer2上第一个端到端的隐私计算网络。
基于TEE等隐私计算技术与Layer2 计算能力无限扩展,Eigen能解决目前面临的两方面问题:1)由区块链天然数据公开性导致的链上数据隐私泄漏问题;2)ETH扩展性不足导致的高昂手续费问题。除此之外,Eigen还将改革现有链上数据资产流通生产关系,从应用场景到技术栈考虑个体的隐私保护,成为对开发者友好且切实可行的隐私保护基础设施,为Web2到Web3的转换贡献力量。
微信掃描關注公眾號,及時掌握新動向
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場