《云安全联盟:数字钱包安全开发与应用实践(35页).pdf》由会员分享,可在线阅读,更多相关《云安全联盟:数字钱包安全开发与应用实践(35页).pdf(35页珍藏版)》请在三个皮匠报告上搜索。
1、文件安全主要考虑的是安装在用户端的文件是加密并不可被破解的,以及对用户的一些禁止性操作或者增加对某些风险操作的不便利性来降低用户造成的风险。 1)抵御终端不良程序对关键文件的访问加密数字资产钱包最核心的文件私钥/助记词是存储在终端设备上的,无论是 PC端还是移动端,终端设备如果出现不安全的现象,对于私钥/助记词来说是有非常高的安全风险的。一个安全的数字钱包,在设计之初就避免因为运行环境而导致的私钥/助记词存在被盗可能,比如增加用户操作要访问到核心文件时必须进行人脸识别或者短信确认的功能等。2)终端关键文件加密对终端关键文件采用高安全的加密方式,防止普通程序访问,或者即使关键文件被复制
2、出去,第三方也不能轻易破解的功能。在设计钱包时需考虑实际安全操作性采取限制直接导出关键文件的操作,或者允许导出关键文件但是解密方法以不能进行任何操作的显示方式,供用户手动记录。 3)助记词等关键信息生成和管理对于钱包的核心关键信息,如助记词、私钥、Keystore 的生成和管理需充分考虑安全性。这三者的设计原则和思路基本相同,以助记词为例:为确保客户端生成助记词,不能经过任何云端或者服务器,这是去中心化钱包的核心,任何访问助记词的过程都需要用户主动确认,如上面提到的人脸识别或者短信确认的功能等。4. 开发扩展安全考虑到钱包作为区块链的接口端,对应用扩展需求很重要,所以设计上需严格控制
3、开放端口的权限,确保通讯只是公钥签名。 同时对应用程序要严格审查是否具备抗篡改能力的核心技术能力,以及应用运行过程中的内存安全、反调试能力等。除此之外,考虑到用户密码忘记的风险,可以考虑采用多签方式增加各种应用场景,如密码找回功能等。加密货币钱包一直被认为是未来加密数字经济必中不可少的基础设施。传统的加密钱包提供的解决方案是,基于密码学生成公私钥,用户通过手中的私钥来验明自己的身份,从而获得资产的控制权。但私钥的存储方式十分考究。没有了私钥,就失去了资产的掌控权,几乎所有传统钱包都在用户注册时就提示用户使用物理方式记录自己的私钥信息。出于手机的私钥存储文件可能遭遇病毒、误删清理等方式等威胁。手动抄写纸质版私钥的方式相对更安全、隐蔽。但这样的操作逻辑对于初级用户来说是非常不友好的,不仅私钥的概念增加了其理解负担,物理存储私钥的模式也一样有丢失风险。如何在妥善保障私钥安全的前提下提升钱包易用性,是钱包开发者永恒的命题。