[关闭]
@zhenxi 2016-08-13T05:23:58.000000Z 字数 1279 阅读 1800

Asch PK Lisk系列之一:安全性

区块链 Asch Lisk


  • 声明:本系列文章只是进行技术交流,不可用做其它用途,且须经本人同意,方可转载。

在币圈,听到对数字货币的质疑之声从来没少过。为什么有人会质疑呢?他们列出了很多理由(以下四点内容摘自网络):

  1. 数字货币是依附于网络的,而中国并没有独立自主的网络技术,容易被敌对势力利用数字货币损害中国利益;
  2. 网络黑客会利用相关技术从事非法活动,盗取国家和他人财产;
  3. 如果出现网络故障,会因为不能及时交易影响经济活动的正常开展;
  4. 有一部分习惯使用现金的尤其是老年人不适应……等等,很多理由。

枚举的理由虽然不够全,但也能从中看到一些问题,即每个参与者都很关心数字币技术,而技术中的安全问题从来都是币圈的头条新闻,大到门头沟事件,小到最近火的不得了的bitfinex事件。本文今天就浅尝辄止的做个Asch和Liks的安全性对比--首页登陆。

1.技术背景

Asch和Liks都是踩着Crypti的肩膀发展而来,有竞争才能有进步,因此二者在同一功能上技术实现细节也有很大不同。普通用户在登陆钱包时可以使用web页面、手机app等,但无论使用哪种方式登陆,他们都要连接到一个拥有完整区块链数据的Server端,当你输入密码按确定键之后,密码会通过http协议的post请求传输到Server端进行认证。下图是一个简单的实现描述:
login

2.Lisk的Web钱包登陆过程解析

lisk_login
本次Lisk测试采用的是最新版本v0.3.2(lisk-main,非测试连),输入密码并点击“登陆”按钮,然后通过浏览器查看其post请求,发现lisk在登陆过程中未对密码进行任何处理,直接将其发送到服务器,如下图所示,可以看到用户输入的密码为“absorb gun bread exist just stand file pipe minimum caution margin clap”
lisk_post

3.Asch的Web钱包登陆过程解析

asch_login
本次Asch测试采用的版本是最新的v0.9.5(test-net),当用户点击“登陆”后,asch web页面会对密码进行加密处理,然后将加密后的数据发送到服务器,而非直接发送密码。
asch_post

4.结论

1.Asch比Lisk更安全

Lisk明文密码直接通过Internet传输,无疑等于直接裸奔!而Asch的密码是经过客户端处理过后以公钥形式通过Internet传输,私钥是存储在客户端本地的,安全性远大于Lisk。

2.Lisk钱包被盗风险极大

虽然二者都是采用明文方式进行post提交,但当网络不安全被人截取数据包时(如抓包工具tcpdump、wireshark,连接到不安全的wifi热点等),攻击人可以直接获取到Lisk用户的私钥(可以执行任何操作,如转账);同样的操作却只能获取到Asch用户的公钥(只能查看,不能执行其它操作,因为没有私钥来签名)

3.Lisk的服务端必须是可信任的

因为你将密码直接发送到Lisk服务器,当服务端不可信任时,他可以通过修改Lisk程序代码,然后将接收到的密码打印到终端或者写入文件中。而Asch则不必要求服务端是可信任的,他传输的只是公钥,是安全可靠的。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注