DESM 双重加密算法是什么?

2022-12-15

Double Encryption Storage Mechanism,简称 DESM,是 Bitget Wallet (原 BitKeep) 钱包为助记词和私钥的加密及存储定制的一套算法,通过组合多个加密算法来进一步提高其安全性。

目前常规的、运用最广泛的加密方式有以下三种:

1)信息摘要加密,也就是我们常见的不可逆加密,比如MD5(信息摘要算法 Message-Digest Algorithm 5),SHA256(安全散列算法2 的一种,Secure Hash Algorithm 2)等;

2)对称加密,如DES(数据加密标准,Data Encryption Standard)\AES(高级加密标准,Advanced Encryption Standard)等;

3)非对称加密,如RSA(三位数学家 Rivest、Shamir 和 Adleman 设计)等;在区块链技术中,交易签名用到的就是非对称加密。

Bitget Wallet (原 BitKeep) 的 DESM 同时采用了信息摘要加密和对称加密算法,SHA256+AES256+云端验证的组合加密方式。

为什么采用这种组合式加密方式?

在回答前我们需要了解几个前提条件:

1)钱包交易一定要用到私钥,所以助记词或私钥最终必须能还原为真实文本;

2)加密后的数据需要存储到手机,那么黑客或小偷就能获取用户手机里已加密后的助记词数据;

3)任何 APP 代码都存在被泄露或被破解的风险。

基于以上三个前提条件,我们再来分析现在常规加密手段的问题:

1)采用单纯的非可逆加密,如 SHA256,目前多数账号注册后的密码采用了此种加密方式存储到云数据库,此加密安全系数高,但是无法还原真实数据;

2)由代码指定的一个加密秘钥进行对称加密,基于上面第三个前提,这个加密秘钥完全可被公开,部分其他钱包在进行交易时用户不需要输入任何密码,便是采用了此种方案,安全性非常低;

3)由用户输入一个密码进行对称加密,每次在需要使用助记词时,用户再次输入密码进行解密,软件不存储用户的密码,这也是目前其他钱包的做法,安全性适中,但依然有风险。用户自己设置的密码一般较为简单或简短,黑客可以拿到数据后,进行穷举遍历,可暴力破解原数据。

Bitget Wallet (原 BitKeep) 的 DESM 算法的具体加密过程

1)用户设置交易密码:客户端经过 SHA256(密码+种子)后存储到云端,返回新的基于 Bitget Wallet (原 BitKeep) 账号密码的种子;

2)通过 SHA256(密码+账号种子+特定规则)计算出对称加密所需要的 Key;

3)再通过 AES256(助记词或私钥+Key)进行加密.同理,用户在取助记词时也遵守这样的原则。

通过 DESM 加密后,可以从根本上解决安全问题,即使黑客或 Bitget Wallet (原 BitKeep) 内部员工也无法破解用户的助记词或私钥数据。只有在一种情况下,那就是即破解了用户的手机数据,同时又知道用户的交易密码和账户密码,以及 Bitget Wallet (原 BitKeep) 云端的加密规则,但这种可能性几乎不会出现。

Bitget Wallet (原 BitKeep) 作为非托管的去中心化钱包,在资产所属权上能够保证只有用户可以控制自己的资产,在安全技术方面也能保证用户的私钥及助记词不被第三方通过破解算法来窃取,为所有 Web3 用户提供更加安全、便捷的交易服务。

目录
    wallet