❖RPC接口调用权限安全
钱包本身只是区块链世界的接口软件,正如前文介绍的很多都是使用RPC调用相应接口,这样调用过程对数据传输的权限控制是数据通讯时的安全之本,对代码和各种场景的设计要非常仔细。
远程过程调用(RemoteProcedureCall,RPC)时安全策略:如在钱包节点Geth上启用远程过程调用访问时,千万不要允许带有解锁账户功能的远程过程调用的外部访问等。
4.2.2客户端文件管理安全
文件安全主要考虑的是安装在用户端的文件是加密并不可被破解的,以及对用户的一些禁止性操作或者增加对某些风险操作的不便利性来降低用户造成的风险。
❖安装包安全性
确保软件安装包的安全和不可被反编译、破解来植入非法操作等。
❖抵御终端不良程序对关键文件的访问
加密数字资产钱包最核心的文件—私钥/助记词是存储在终端设备上的,无论是PC端还是移动端,终端设备如果出现不安全的现象,对于私钥/助记词来说是有非常高的安全风险的。
一个安全的数字钱包,在设计之初就避免因为运行环境而导致的私钥/助记词存在被盗可能,比如增加用户操作要访问到核心文件时必须进行人脸识别或者短信确认的功能等。
❖终端关键文件加密方式
对终端关键文件采用高安全的加密方式,防止普通程序访问,或者即使关键文件被复制出去,第三方也不能轻易破解的功能。如Wallet.dat加密问题。
❖终端关键文件备份过程显示方式
用户难免对关键文件有备份的需求,在设计钱包时需考虑实际安全操作性采取限制直接导出关键文件的操作,或者允许导出关键文件,但是解密方法以不能进行任何操作的显示方式,供用户手动记录。
❖助记词等关键信息生成和管理
对于钱包的核心关键信息,如助记词、私钥、Keystore的生成和管理需充分考虑安全性。这三者的设计原则和思路基本相同,以助记词为例:为确保客户端生成助记词,不能经过任何云端或者服务器,这是去中心化钱包的核心,任何访问助记词的过程都需要用户主动确认,如上面提到的人脸识别或者短信确认的功能等。
对助记词的显示采用不能进行任何操作的显示方式,供用户手动记录。
❖导入其他钱包生成的私钥和助记词安全
导入其他钱包生成的私钥和助记词安全的思路可以从重新创建新的核心文件的方式来降低非法程序入侵的风险;也可以同时用人脸识别或者短信确认的功能等。
4.2.3开发扩展安全
考虑到钱包作为区块链的接口端,对应用扩展需求很重要,所以设计上需严格控制开放端口的权限,确保通讯只是公钥签名。同时对应用程序要严格审查是否具备抗篡改能力的核心技术能力,以及应用运行过程中的内存安全、反调试能力等。
除此之外,考虑到用户密码忘记的风险,可以考虑采用多签方式增加各种应用场景,如密码找回功能等。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。