OneKey Transfer 是 OneKey App 内的一项功能,可以安全地将您软件钱包的私钥在不同设备间迁移。本指南将为您解释我们用以保护数据的多层安全机制。
关于钱包的说明:此功能目前仅支持软件钱包。由于支持硬件钱包的机制更为复杂,相关功能将在未来版本中提供。
核心原则
我们的安全体系建立在三大承诺之上:
开源与可信
我们的 App 和服务器代码均已公开。任何人都可以审查代码以验证我们的安全声明。
端到端加密 (E2EE)
您的数据在您的设备上加密,且只在目标设备上解密。任何中间方 - 包括 OneKey 官方 - 都无法读取。
服务器零知识
我们的服务器只扮演连接您设备的「交通警察」角色,它无法访问也无法知晓任何传输的数据内容。
加密密钥是如何构成的
您的数据被一把由多个独立部分构成的「钥匙」锁着。攻击者必须同时从不同地方偷到所有部分,才有可能尝试破解。
1. 动态共享密钥 (ECDHE)
它是什么:会话开始时,在您的两台设备间直接生成的一个临时的、一次性的共享密钥。
核心优势:这个密钥从不经由网络传输,服务器也无从知晓。因此,即便您的配对码被截获(如通过录屏),数据依然安全。
2. 配对码
前 10 位字符:发送到服务器,用以识别哪两个设备需要连接。
后 40 位字符:作为生成最终加密密钥的「秘密配方」,这部分永远不会发送到服务器。
3. 其他密钥成分
来自您的设备 (本地):您的设备锁屏密码、为此次传输生成的随机数、您 App 实例的唯一 ID,以及一个内置的应用密钥(盐值)。
来自云端 (服务器):一个临时的连接 ID 和另一个由服务器为此次会话生成的随机数。
总而言之,这种多方、多源的密钥构成,建立了一道极难逾越的安全屏障。攻击者必须同时攻破服务器(劫持数据、获取云端部分密钥、中间人攻击篡改 ECDHE 密钥)并截屏您的 App 来窃取配对码(获取本地部分密钥),才有可能解密您的数据。
防御与验证机制
我们采用多种主动措施来阻止攻击,并确保控制权在您手中。
服务器端保护
防暴力破解:
请求限频:单个设备每 3 秒只能请求一次,以防范高频攻击。
尝试次数限制:配对码最多只能尝试 10 次,10 次失败后,该次会话即被终止。
用户控制的验证
锁屏密码检查
您的操作:您必须输入手机密码才能授权传输。
为何重要:确保即使有人拿到您未锁屏的手机,也无法转走您的资产。
6 位数字物理验证
您的操作:配对后,您必须亲自核对两台设备上的 6 位数字是否完全一致。
为何重要:这能阻止「中间人攻击」。黑客无法完成传输,因为他看不到您另一台设备上显示的验证码。
一次性配对码
它是什么:配对码在一次成功使用后立即失效。
为何重要:它包含一种「抢先连接」防御机制。如果黑客偷了您的配对码并抢先连接,您自己的合法连接行为将会强制踢掉黑客的非法连接,确保只有您能继续操作。
高级用法
得益于开源,您可以进一步增强数据传输的安全性与私密性:
自建服务器:在您自己的服务器上部署我们的服务端代码,然后在 App 中选择 「自定义服务器」 选项进行连接。这能让您完全掌控自己的数据。
局域网传输 (即将推出):在未来的版本中,OneKey 桌面端应用将能作为局域网 (LAN) 中继站,让您的设备间在传输数据时全程无需经过公共互联网,达到真正的物理隔离。