为了确保您在丢失加密钱包时不会失去对加密货币的访问权限,您需要通过创建副本来备份您的私钥。这通常是在助记词的帮助下完成的。然而,问题在于助记词极其不安全,因为任何人只要拿到助记词就可以使用它们。
这就是 Tangem Wallet 提供安全私钥克隆解决方案的原因。您可以将私钥克隆到一两张备份 Tangem 卡,而不必担心其中一张丢失或被盗。
但这种备份方法的安全性如何?让我们看看 Tangem 钱包是如何做到的。
创建私钥
最初,在激活过程之前,Tangem Wallet 没有私钥(Kpriv 图表)。当您购买 Tangem 钱包时,您将收到一个尚未激活且没有私钥的软件包,因此您可以完全确定世界上任何地方都不存在下落不明的密钥实例。毕竟,你无法复制不存在的东西。
在钱包激活过程中,Tangem 芯片根据从经过认证的硬件随机数生成器(图中的 TRNG)收到的数字序列生成新的私钥。您可以阅读我们的文章“如何为带有或不带有助记词的加密钱包创建私钥”,以了解此过程的工作原理。
在此阶段,只有一个私钥。之后,您需要创建一两个副本作为备份,这必须安全地完成。
准备创建备份
在备份过程中,私钥必须以不被窃取的方式转移到其他卡上,并且用户将完全控制私钥存在的副本数量。
因此,私钥备份过程由两个子任务组成:
-
首先,您需要绝对确保密钥将转移到另一张 Tangem 卡上; -
在将密钥传输到其他卡时,必须保护密钥不被拦截,这意味着必须对密钥进行加密,以便只有接收卡才能解密。
当卡在工厂生产时,芯片会生成自己的密钥对:Kcardpriv 私钥和 Kcardpub 公钥。这些密钥对于每张卡来说都是唯一的,并且与未来卡用户的钱包没有任何关系。需要它们,仅仅是为了该卡可以证明其真实性并告诉应用程序它是由 Tangem 生产的。
该密钥对的公钥由 Tangem 使用制造商的私钥 KTangempriv 进行签名。然后使用生成的 Cert_Card 证书来验证该卡。
制造商的公钥 KTangempub 也被写入芯片上。该密钥对于所有卡来说都是相同的,并构成源卡和目标卡之间“信任链”的起点。
第一个挑战:相互认证
为了让每张卡在备份过程中“确定”另一端的卡是真正的 Tangem Wallet 卡,必须根据卡的密钥和签名构建加密“信任链”。
在激活过程中,每张卡都会创建一个一次性密钥对来与其他卡(Klinkpub 和 Klinkpriv)进行通信,并使用其 Kcardpriv 私钥对该对中的公钥进行签名,从而创建 Sign_Attest 签名。
然后该卡将 Sign_Attest、Klinkpub 和 Kcardpub 信息发送到另一张卡。
此过程创建以下信任链:KTangempub — Kcardpub — Klinkpub。每张卡都知道制造商的公钥 KTangempub,并且每张卡都使用它来验证 Cert_Card 证书。如果它与另一张卡的 Kcardpub 匹配,则该密钥用于验证该卡的 Sign_Attest 签名。如果Sign_Attest与对方卡的Klinkpub匹配,则意味着通信通道另一端的卡是真正由Tangem生产的,其Klinkpub密钥没有被任何人修改过,可以用来计算共享的Ktrans备份密钥。
第二个挑战:获取共享加密密钥
在此阶段,两张卡都需要生成共享对称密钥 Ktrans,源卡将使用该密钥来加密用户的私钥,而目标卡将使用该密钥进行解密。由于它们之间的通信通道是由不受信任的设备提供的,因此不可能简单地在一张卡中生成密钥并将其传输到另一张卡。这个问题可以通过使用 Diffie-Hellman 密钥协议来解决。
这些卡刚刚交换了经过验证且可信的 Klinkpub 密钥,每张卡都使用自己的 Klinkpriv 和另一张卡的 Klinkpub 来生成对称 Ktrans 加密密钥,最终两张卡的密钥是相同的。这就是Diffie-Hellman曼的魔力在发挥作用。
此外,如果攻击者控制了用户的手机并能够“窃听”卡交换,他们只会找到 Klinkpub 和 Kcardpub 公钥,因为这些是卡传输的唯一信息。Klinkpriv 密钥将仍然无法访问,这意味着攻击者将无法生成相同的 Ktrans。
加密密钥交换
使用获得的 Ktrans 对称密钥,第一张卡加密包含用户私钥和访问代码的数据集,以及私钥备份的数量(2 或 3 张卡的集合)。该卡将生成的加密 ENC 消息发送到第二张卡,后者使用相同的 Ktrans 对其进行解密。如果此时有人设法拦截 ENC,他们将无法发现任何信息,因为没有 Ktrans 密钥,他们无法解密该包。
完成第三张卡的备份时,过程完全相同,但卡会生成新的 Klink 对,这意味着 Ktrans 密钥与备份到第二张卡时使用的密钥不同。
Tangem 芯片固件允许完成一次备份。在给予或接收私钥后,卡将停止启动备份程序,且私钥将不可恢复。
如果您对 Tangem 钱包进行出厂重置,芯片将清除掉 Kpriv 密钥,您可以重新激活钱包、生成新密钥并完成新备份。但请注意,重置后旧密钥将被销毁。
Changelly x Tangem AMA
本周四欧洲中部时间 19:30 敬请收看 X Spaces!我们将回答有关成功 @Tangem x @Changelly_team 集成的所有社区问题,因此请在下面的回复中提出您的疑问。设置提醒,这样您就不会错过活动。
贺新春 · 迎财神
摇钱树金银满挂
聚宝盆昼夜生财
宜
平心静气,敬对财神
敲锣打鼓,焚香礼拜
提供祭品和食物给财神
Tangem旗舰店
微信号:Chia_HemaDAO
Chia线上店:https://www.xchstore.com/
扫码获得你的财神👉
评论