一个安全的加密数字资产钱包开发(+V信ruiec2723),在安全技术上需要进行全方面的考核和设计,避免私钥/助记词被盗窃或丢失。目前有以下几个安全风险:
(1)运行环境的安全风险
加密数字资产钱包最核心的文件——私钥/助记词是存储在终端设备上的,无论是 PC 端还是移动端,终端设备如果出现不安全的现象,对于私钥/助记词来说是有非常高的安全风险的。
一个安全的数字钱包,在设计之初就避免因为运行环境而导致的私钥/助记词存在被盗可能。
终端上运行环境的安全问题主要包括病毒软件、操作系统漏洞和硬件漏洞。
(2)网络传输的安全风险
安全的数字钱包需要能够对终端里面全部的数字证书的合法性进行扫描、对网络传输过程中的代理设置进行检查并能够保障基础的网络通讯环境的安全性。
在数字钱包的开发中,在网络传输层面是否使用双向校验的方式进行通讯验证也是衡量一个数字钱包应用安全性的重要评判标准。
(3)文件存储方式的安全风险
对于数字钱包的私钥/助记词,终端设备的存储方式也是需要在安全性设计上加以注意的。私钥/助记词文件存放目录的访问权限、私钥/助记词存储的形式和加密算法设计都需要通过严密设计。
在对多款主流数字钱包进行安全性分析时,我们发现即使是知名的数字钱包,在私钥/助记词的存储上也是比较随意的。既有明文存储的,也有虽然是加密存储但是解密的密钥却是在代码里面固定写死的,起不到任何的安全防御作用。
(4)应用自身的安全风险应用自身的安全风险
主要集中在应用安装包自身的安全防御上。
应用安装包是否具备抗篡改能力是非常核心的技术能力。
另外,应用运行过程中的内存安全、反调试能力、私钥/助记词使用的生命周期管理、调试日志的安全性、开发流程的安全等方面也是需要去设计增强的。
(5)数据备份的安全风险
如果移动应用能够被备份出来,就可以使用计算性能更加强大的机器对私钥/助记词进行暴力破解。举例来说,如果 android:allowBackup 属性设置为允许备份,那么就可以利用系统的备份机制对应用的数据文件进行备份,而加密数字资产的私钥/助记词也就被备份到外部介质了,这就从另外一个方向打破了操作系统的安全边界设计。
-
区块链
+关注
关注
110文章
15559浏览量
105571
发布评论请先 登录
相关推荐
评论