EthSign 如何处理您的机密信息

post image

"在 EthSign 中,数据隐私是我们的首要关注之一。不仅卖出用户数据与我们的商业模式无关,而且 Web 3 的主要原则之一是用户对其数据使用方式具有控制权,任何相反的行为都是对整个领域的背叛。在这篇文章中,让我们更详细地技术性地了解一下 EthSign 如何遵循这些原则并处理用户的机密信息。

零知识加密

ZK 是区块链中最热门的话题之一,但需要注意的是,当人们提到 ZK 时,通常是指零知识证明。我们目前在产品中并没有使用零知识证明,但我们确实广泛使用了类似原理的东西——零知识加密。

零知识加密是一种防止除发送方和预期接收方之外的任何人解密加密数据的实践,甚至是服务提供商中间人也不能解密。这也被称为端到端加密(E2EE),是主要通信平台如 Google Messages RCS、Signal 和 Proton Mail 的标准实践。它们都对相同概念有不同程度的透明度和用户友好性的实现。我们希望在最大程度上实现两者兼顾,同时拥抱 Web 3 生态系统,因此我们提出了我们自己的解决方案。

EthSign Keychain

我们新推出的 EthSign keychain是一个 MetaMask Snap,用作所有支持的浏览器的通用密码管理器,类似于 1Password、LastPass 和 BitWarden。keychain使用户可以选择通过我们在 AWS 上托管的服务、去中心化的 Arweave 网络,或通过导出的 JSON 文件手动离线同步他们的密码记录。选择前两个选项之一意味着敏感用户数据不可避免地暂时存在于我们的服务器上或永久存在于公共领域供所有人查看,这两种情况都需要可靠的加密解决方案。

EthSign keychain利用对称端到端加密来保护用户的机密信息。首先,keychain通过 MetaMask 请求从您的密钥恢复短语派生的确定性熵值。熵被盐化为特定于 Snap 的值,其他 Snap 无法获得相同的熵。然后,用户可以选择通过设置密码进一步修改熵值,添加第二层安全性。我们使用生成的熵值作为对所有用户名和密码记录进行加密的对称 AES-256-GCM 加密密钥。

一旦加密,这些记录就是坚不可摧的,安全地上传到任何地方。您可以放心,除非有人破解 AES-256 加密或者妥协您的密钥恢复短语,否则除了您之外任何人都无法解密这些记录。

EthSign 密码管理器

整个 Web 3 行业面临的最大障碍之一是缺乏用户友好性。入门过程很繁琐,需要多次下载并需要对密码学有一定的了解。公平地说,这是完全建立在密码学和数学基础上的系统的直接结果。它非常安全,但普通用户几乎不可能使用。

由于我们绝不希望看到任何用户数据以明文形式存在,我们强烈建议用户在使用 EthSign 时加密他们的数据。因为我们希望这样以一种去中心化和非托管的方式完成,我们要求用户生成自己的密码。这带来了一个问题,因为我们人类不擅长记忆事物,但由于 EthSign 的多链性质,我们不能完全使用密钥链存储密码,因为它仅作为 MetaMask 插件可用,还不支持其他钱包。在这种特殊情况下,我们还希望具有密码共享功能,以便 PDF 合同的接收者根本无需知道密码即可解密和签署。为了解决以上所有问题,我们开发了 EthSign 密码管理器,这是 EthSign Web 应用程序的一个独有功能。

EthSign 密码管理器使用非对称端到端加密来实现安全的密码存储和共享。在此要给予应有的赞誉,我们从 Web3MQ 和 XMTP 中得到了很多启发,因此您会注意到工作流程是相似的。首先,在本地生成解密私钥作为随机字节。然后,在本地生成随机消息并由用户签名。然后,数字签名被散列为 256 位并用作 ECIES 私钥的一部分。然后派生公共加密密钥,签名并发送到 EthSign 以启用密码共享功能。随机消息也发送到 EthSign,以便用户在切换设备时重新生成他们的 ECIES 私钥。仅仅拥有随机消息并不会危及此系统的安全性,EthSign 保留了这个随机消息的副本,以防止用户永远失去对其加密数据的访问。

*对于不兼容的钱包,使用主密码代替数字签名

当需要共享敏感数据时,它会被加密到接收者在 EthSign 中存储的公共加密密钥。当需要解密加密数据时,用户从 EthSign 检索随机消息,签名它并在本地派生私钥以解密。就像在密钥链中使用的加密系统一样,除了您之外,任何人都无法解密为您准备的数据。"

这是一篇较长的文章,如果你有特定的问题或需要更详细的解释,点击下方链接,加入ethsign官方社群,了解更多精彩内容

https://discord.gg/AFxkVEHqy7