Cointime

扫码下载App
iOS & Android

Uniswap移动钱包的技术概述

项目方

原文链接:https://blog.uniswap.org/uniswap-mobile-wallet-dev

本文作者:Uniswap Labs;编译:Cointime Freya

Uniswap移动钱包是一款简单、安全且易于使用的自我托管钱包。现在它已经问世了。我们想向你介绍我们的设计原则、我们开源它的原因,以及我们对安全与隐私的看法。

开源

我们开放Uniswap移动钱包的原因如下::

  • 开源与用户一致:用户有权选择最适合他们的产品。用户应该能够通过直接查看源代码来验证这些声明,而不是相信我们关于安全性、隐私性和数据保留的声明。开源产品允许用户在最大程度上评估他们的选择。
  • 开源建立信任:Uniswap移动钱包已经经过了包括Trail of Bits在内的多方审查。这些安全审查建立了对我们产品安全性的信任。开源在这方面更进一步。通过向公共论坛公开我们的代码库,安全审查人员可以进一步审查我们的钱包。
  • 开源是协作性的:当我们开始开发钱包时,并没有很多开源钱包可供学习。通过公布我们的代码,Uniswap移动钱包将成为其他开发者的参考。

我们已经开放了整个钱包的源代码,包括涉及私钥、种子短语和链上数据的代码。你可以查看我们的repo,但有一些值得注意的代码包括:密钥管理、iCloud备份、使用WalletConnect的任意交易签名、多个链上的代币互换、查看NFT和各种UI组件。

安全性

我们的移动钱包的设计原则有两个目标:

  1. 通过安全存储和访问种子短语来保护用户的钱包不被耗尽;
  2. 使用备份选项保护用户不丢失钱包的访问权。

1. 种子短语存储

存储在本地设备上的种子短语和私钥使用iOS Keychain和Secure Enclave的组合,最大限度地提高安全性。

苹果将iOS Keychain构建为一个SQLite数据库,可以安全地存储密码、证书和私钥。Keychain的一些独特属性包括:

  • 项目使用两个AES-256-GCM密钥进行加密: 一个表密钥和每行密钥;
  • 项目永远不会离开你的设备;
  • 项目不能在应用程序之间共享;
  • 项目不会同步到iCloud钥匙链上。

Keychain项目使用存储在苹果Secure Enclave中的256位密钥进行加密,这是一个与主处理器隔离的基于硬件的专用密钥管理器。

在Keychain内解密数据需要通过Secure Enclave进行往返,这增加了额外的安全层。如果iOS钥匙链或应用程序处理器遭到破坏,Uniswap移动钱包的钥匙链项目仍然能够保持加密状态,因为加密密钥保存在与主处理器分离的加固硬件模块中。iOS Keychain和Secure Enclave是苹果实现的,并不专门针对我们的钱包。

2. 访问私钥和种子短语

Uniswap移动钱包访问种子短语和私钥是为了:

  1. 在屏幕上显示种子短语;
  2. 创建签名。

为了在屏幕上显示项目,我们使用一个用Swift编写的本地UI组件,从安全的iOS Keychain中获取并显示种子短语。

创建签名的流程更为广泛。当钱包有消息或交易需要签名时,它会从React Native发送至Swift。钱包的私钥是从iOS钥匙链中安全地获取的,而用Rust编写的ethers-rs-mobile库则生成了签名。有效的签名会通过Swift和Javascript传递回来,以执行交易。

为了进一步保护这些敏感的用户流,你可以通过Face ID或Touch ID启用生物识别身份验证。每当你试图查看你的种子短语或签署交易时,你将会被提示完成生物识别身份验证。

我们将用Rust编写的ethers-rs库编译成与iOS兼容的C++版本,即ethers-rs-mobile,通过密钥派生和签名功能为我们提供性能和安全方面的好处。虽然React Native非常适合移动应用程序的开发,但Javascript很容易受到上游依赖关系的供应链攻击。ethers-rs-mobile库确保钱包种子短语和私钥永远不会接触到Javascript代码。

3.备份

所有自我托管的钱包都有手动备份,鼓励用户写下他们的种子短语,以便以后恢复。但如果用户在没有手动备份的情况下丢失了手机,他们将无法访问他们的钱包。这就是Uniswap移动钱包提供两种恢复方法的原因:

  1. 手动种子短语
  2. iCloud备份

用户可以手动备份他们的种子短语,或者在通过身份验证检查后在应用程序中显示种子短语。我们鼓励他们将其写下来。我们强烈推荐Face ID作为最强的身份验证方式。

iCloud的恢复是可选的,但我们强烈建议刚接触加密货币的人使用。当用户选择iCloud备份时,我们需要用户密码来加密种子短语,然后再将其存储在iCloud中。这样一来,即使用户的iCloud账户遭到泄露,他们的钱包仍然受到保护。

种子短语使用苹果的AES.GCM密码套件进行本地加密,使用Argon2密钥派生函数从用户密码派生密钥。即使在这个流程中,像加密密钥这样的敏感数据也不会触及Javascript。

要从iCloud备份中恢复钱包,用户必须登录到他们的iCloud帐户,并输入他们用来加密种子短语的密码。

这种额外的加密机制最大限度地提高了安全性,同时仍然支持直观且熟悉的备份体验。

隐私

Uniswap Labs不保留任何可以识别个人身份的信息。 我们不会在我们的任何产品(包括我们的手机钱包)中存储名字、姓氏、街道地址、出生日期、电子邮件地址或IP地址。

我们保留的任何东西都仅限于链上数据和非常有限的链下数据,如设备类型和浏览器版本,这使我们能够排除错误并为我们的用户改进产品。这些数据都是不可识别的。

Uniswap移动钱包使用Infura、OpenSea、Covalent、TRM等API。其中有许多API帮助我们向用户提供数据,如代币价格、NFT数据和链上活动。发送到这些API的大多数请求都是通过Uniswap Labs服务器进行代理的,该服务器可以移除IP地址。少数发送到Infura的API调用是直接的,其中包括IP。我们正致力于混淆非代理API调用。

*本文由CoinTime整理编译,转载请注明来源。

评论

所有评论

推荐阅读

  • 美国现货以太坊ETF昨日净流出493万美元

    6月13日,据Trader T监测,美国现货以太坊ETF昨日净流出493万美元。

  • 美国现货比特币ETF昨日净流入8582万美元

    6月13日,据Trader T监测,美国现货比特币ETF昨日净流入8582万美元。

  • 美国禁止外国主体访问Fable 5和Mythos 5,Anthropic发长文驳斥

    6月13日,Anthropic发布声明称,美国政府以国家安全权力为由,发布了一项出口管制指令,要求暂停任何外国主体对人工智能模型Fable 5 和Mythos 5的所有访问权限,无论该人员是否在美国境内,包括属于外国公民的Anthropic员工。该命令的实际效果是,我们必须立即为所有客户禁用Fable 5和Mythos 5,以确保合规。所有其他Anthropic模型的访问将不受影响。我们于今天下午5点21分(美国东部时间)收到了政府的指令。该信函未说明其国家安全关切的具体细节。我们的理解是,政府认为其已获悉一种绕过或“越狱”Fable 5的方法。迄今为止,政府仅向我们提供了口头证据,证明存在一种潜在的狭窄、非通用越狱,本质上是通过要求模型读取特定的代码库并修复任何软件缺陷。我们正在遵守政府的合法指令,并正在移除所有用户对 Fable 5 和 Mythos 5 的访问权限。但是,我们不同意“某个狭窄的潜在越狱漏洞就应成为召回已部署给数亿用户的商业模型的原因”这一结论。(金十)

  • 伊朗外长:伊美谅解备忘录可能在几天内签署

    6月13日,据伊朗媒体12日报道,伊朗外长阿拉格齐表示,一旦伊美完成最后阶段的谈判,谅解备忘录将立即签署并公布。第一阶段将以远程电子方式签署,“这可能在未来几天内发生”。(新华社)

  • 美国官员:美伊接近达成协议,将在未来几天签署

    6月13日,据路透社报道,一名美国高级官员当地时间周五表示,美国和伊朗尚未真正抵达终点线,但距离达成一项解决双方冲突的协议已经非常接近,华盛顿预计将在未来几天签署协议。“谈判团队让我们处在一个非常有利的位置,但我们还要再看看,我们还没有真正抵达终点线,但已经非常接近了,”这名美国官员表示。该官员称,已达成一致的条款实现了特朗普的核心目标。谅解备忘录的条款包括重新开放霍尔木兹海峡,以及解除美国对伊朗港口的封锁。伊朗的高丰度浓缩铀也将被就地销毁,随后运出该国。“伊朗不会因为签署谅解备忘录或谈判本身而得到任何东西,”该官员说,“他们会因为履行协议规定的义务而获得经济奖励。因此,如果他们按承诺交出核材料,就会得到一些东西。如果他们拆除核计划或核设施,就会得到另外的东西。”

  • 伊朗外交部:伊方正在审议谅解备忘录草案

    6月13日,当地时间12日,伊朗外交部发言人巴加埃表示,目前伊美双方已经在大多数问题上达成谅解,伊朗内部正在对谅解备忘录文本进行最后阶段的汇总。因此,伊朗外长阿拉格齐此前关于“双方已非常接近达成谅解”的表态是准确且值得关注的。相关决策机构的会议正在举行,这是一个持续推进的过程。为达成一个最终且具有决定性的结果,决策机构和相关部门之间必须形成共识。巴加埃还表示,目前有关协议文本内容的各种猜测均未获得证实。虽然外交进程中的具体细节暂不便公开讨论,但这并不意味着公众没有知情权。(央视新闻)

  • SpaceX上市首日开盘报150美元,其IPO发行价为135美元

    6月12日,SpaceX上市首日开盘报150美元,其IPO发行价为135美元。

  • 伊朗外长称伊美“从未如此接近达成”谅解备忘录

    6月12日,伊朗外交部长阿拉格齐12日在社交媒体发文说,伊美“从未如此接近达成”谅解备忘录。在最终敲定之前,媒体应避免对其内容进行猜测。伊方将适时公布所有细节。 (央视新闻)

  • BTC突破64000美元

    行情显示,BTC突破64000美元,现报64107.99美元,24小时涨幅达到2.18%,行情波动较大,请做好风险控制。

  • ARM拉升大涨近10%,美银预计到2030年服务器CPU市场规模料激增4倍

    6月12日,ARM拉升大涨近10%,报376.18美元。消息面上,美国银行全球研究部分析师Vivek Arya最新预测,服务器CPU的总潜在市场规模(TAM)将从2025年的350亿美元激增4倍至2030年的1700亿美元以上。这远超该行此前对2030年服务器CPU市场规模1250亿美元的预测。 Arya在报告中写道:“我们认为,代理式AI的崛起是一个强大的需求加速器,它不仅扩大了CPU的市场机遇,也为英特尔、AMD以及基于Arm架构的挑战者们带来了利好。”