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

  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. django发送邮件send_mail&send_mass_mail

    一.配置 在setting.py中进行相关配置: EMAIL_HOST = 'smtp.sina.cn' #SMTP地址 EMAIL_PORT = 25 #SMTP端口 EMAIL_HOST_USER ...

  2. JavaSE笔记-注释

    Annotation Annotation是一个接口,可以把Annotation当成一个修饰符 Annotation的定义 注解通过@interface定义 public @interface Tes ...

  3. python图片转为base64

    # -*- coding: utf-8 -*- import base64 with open("/home/chaowei/1.png","rb") as f ...

  4. js中子页面父页面方法 变量相互调用(转)

    原文:https://www.cnblogs.com/huangshuqiang/p/5734358.html (1)子页面调用父页面的方法或者变量: window.parent.方法()或者变量名w ...

  5. celery 大量消息的分布式系统 定时任务

    Celery 1.什么是Celery Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时也支持任务调度 Celery架构 https://www.jia ...

  6. RabbitMQ的Java API编程

    1.创建Maven工程,pom.xml引入依赖: <dependency> <groupId>com.rabbitmq</groupId> <artifact ...

  7. CSS之分组选择器和嵌套选择器

    分组选择器, 将一个样式应用于多个类,或者标签啥的 每个选择器用逗号隔开 <!DOCTYPE html> <html> <head> <meta charse ...

  8. 自定义InputFormat和OutputFormat案例

    一.自定义InputFormat InputFormat是输入流,在前面的例子中使用的是文件输入输出流FileInputFormat和FileOutputFormat,而FileInputFormat ...

  9. 从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理

    前言 来源:https://dailc.github.io/2018/01/21/js_singlethread_eventloop.html 见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会 ...

  10. 在Linux下用gcc编译hello world

    1. 确保Linux系统里已经装好了gcc 测试:输入gcc后是如下的结果就说明已经安装成功 2. 创建HelloWorld.c 使用 touch 创建一个空文件; 用vim编辑 按下A或者I 插入 ...