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

  1. 数字货币是依附于网络的,而中国并没有独立自主的网络技术,容易被敌对势力利用数字货币损害中国利益;

  2. 网络黑客会利用相关技术从事非法活动,盗取国家和他人财产;

  3. 如果出现网络故障,会因为不能及时交易影响经济活动的正常开展;

  4. 有一部分习惯使用现金的尤其是老年人不适应……等等,很多理由。

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

1.技术背景

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

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

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

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

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

4.结论

1.Asch比Lisk更安全

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

2.Lisk钱包被盗风险极大

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

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

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

本系列文章只是进行技术交流,不可用做其它用途,且须经本人同意,方可转载。永久链接:https://www.zybuluo.com/zhenxi/note/467042

Asch PK Lisk系列之一:安全性的更多相关文章

  1. Oracle11g R2学习系列 之七安全性

    其实,对于目前我使用的Oracle的水平来看,还达不到使用安全管理的高度,只是作为一个学习来看一下. 关于Oracle的安全管理,一般使用OEM来操作完成好了,入口是:OEM的“服务器”属性页中,选择 ...

  2. hashlib以及hmac的日常应用

    首先我们要明白日常的Web网页为了保证数据的安全都会对数据的存储进行一些加密,当我需要在此网站验证时就需要对原有的密码以及账号进行加密此时我们就需要用到hashlib这个框架的一些功能,下面我就来更大 ...

  3. 有了lisk,为什么我们还要做一个Asch?

    0 前言 首先要声明一点,我们和我们的一些朋友都是lisk的投资人和支持者,我们也相信lisk会成功. 事实上,lisk已经成功了一半,目前在区块链领域融资金额排行第二,仅次于以太坊. 那为什么我们还 ...

  4. 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【八】——Web Api的安全性

    系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 这一篇文章我们主要来探讨一下Web Api的安全性,到目前为止所有的请求都是走的Http协议 ...

  5. Nginx之旅系列 - Nginx日志功能 PK Linux内核printk

    题记:Nginx之旅系列是用来记录Nginx从使用到源码学习的点点滴滴,分享学习Nginx的快乐 Nginx 首页: http://nginx.org/ Nginx日志功能 PK Linux内核pri ...

  6. SQL Server扫盲系列——安全性专题——SQL Server 2012 Security Cookbook

    由于工作需要,最近研究这本书:<Microsoft SQL Server 2012 Security Cookbook>,为了总结及分享给有需要的人,所以把译文公布.预计每周最少3篇.如有 ...

  7. 安全性测试入门:DVWA系列研究(一):Brute Force暴力破解攻击和防御

    写在篇头: 随着国内的互联网产业日臻成熟,软件质量的要求越来越高,对测试团队和测试工程师提出了种种新的挑战. 传统的行业现象是90%的测试工程师被堆积在基本的功能.系统.黑盒测试,但是随着软件测试整体 ...

  8. [转]使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【八】——Web Api的安全性

    本文转自:http://www.cnblogs.com/fzrain/p/3552423.html 系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html ...

  9. 常数PK系列汇总

    常数PK系列说明: 在AC的情况下得分=\(\sum_{i=1}^{10}{1000-runtime\_on\_point_i}\) RE会显示UKE UPD:之前的数据太水,导致好多题都在9000分 ...

随机推荐

  1. ccse(CountDownLatch,CycliBarrier,Semaplore,Exchanger)

    关于等待状态的线程调用interrupt方法报异常:InterruptedException 当线程被阻塞,比如wait,join,sleep等,在调用interrupt方法,没有占用cpu运行的线程 ...

  2. unet

    使用unet 直接训练 显著性目标检测数据集,不能得到较好的效果. 在一些情况下(边缘对比较强的情况),分割效果还行.由于没有在ImageNet上得到预训练模型,所以不能得到较好的语义分割的效果

  3. django中的一对一、一对多、多对多及ForeignKey()

    参考文章: Django ORM.一对一.一对多.多对多.详解 刘江的博客——关系类型字段 问题: OneToOneField()与ForeignKey()的区别及其使用场景

  4. dubbo和zikkeper的使用

    1.先来一段异常看看:No provider available for the service 16:05:25.755 [localhost-startStop-1] WARN o.s.w.c.s ...

  5. struts2简单入门-数据校验

    数据校验流程 校验数据的方式 重写execute方法在内部写校验代码 public class LoginAdminAction extends ActionSupport { private Use ...

  6. 【原创】大数据基础之Spark(8)Spark中Join实现原理

    spark中join有两种,一种是RDD的join,一种是sql中的join,分别来看: 1 RDD join org.apache.spark.rdd.PairRDDFunctions /** * ...

  7. js实现拖动验证码

    效果图: Index.html <!DOCTYPE html> <html lang="en"> <head> <meta http-eq ...

  8. 如何手写Ajax实现异步刷新

    所谓的异步刷新,就是不刷新整个网页进行更新数据. 只有通过js才能实现Ajax,进而实行异步刷新 表单提交数据和Ajax提交数据的区别:表单提交是提交的整个页面中的数据,提交数据之后会抛弃之前的页面( ...

  9. net core体系-web应用程序-4asp.net core2.0 项目实战(1)-10项目各种全局帮助类

    本文目录 1.  前沿2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装3.XmlHelper快速操作xml文档4.SerializationHe ...

  10. Python学习(三十七)—— 模板语言之自定义filter和中间件

    一.模板语言之自定义filter 自定义filter文件存放位置 模板中自定义函数 - 在已注册的app中创建一个名字叫 templatetags 文件夹 - 任意创建一个py文件 - 创建名字交 r ...