TLS1.3的最终版本,在2018年8月发布,它包含着很多不同以往版本的改进,相对于之前版本安全性以及性能具有极大的提高,同时它也具备了更多的扩展和握手模式,那么从实现完整TLS1.3结构的角度去学习TLS,我们应该从哪些方面入手呢?
pyshark解析pcap文件(有关ssh协议握手过程的数据提取)
SSH协议握手过程详解
解析比特币区块.dat文件,获得签名r以及其相关信息,并找出相同的r及恢复私钥
写在前面
先在前面说一下,我没有完全实现整个过程,因为有一个地方确实实现不了,等以后有条件再使用别的方法尝试一下。前一段时间看了一篇14年的论文,里面主要说的是比特币中随机数相同会造成私钥泄漏的问题,作者分析了当下存在很多因私钥泄漏,比特币频频被盗的现象,然后找到了问题所在,并且使用Blockchainr工具将其实现了,找出了比特币网络中存在的使用相同随机数的用户私钥。
SSL_TLS握手
概述
最近在看一篇论文,Elliptic Curve Cryptography in Practicef里面联系到TLS协议的各方面东西,所以去了解了一下SSL\TLS协议握手时候的大概流程,现在把它记录下来。
使用Nmap获取SSH、SSL_TLS中公钥、cipersutes、签名等相关数据
Nmap工具
相关脚本
ssh-hostkey显示SSH主机的公钥
ssl-enum-ciphers该脚本重复启动SSLv3 / TLS连接,每次在记录主机是否接受时都尝试使用新的密码或压缩程序。最终结果是服务器接受的所有密码套件和压缩器的列表,主要就是返回的主机所使用的密码套件和椭圆曲线。
ssl-cert检索服务器的SSL证书。我主要通过这个脚本获得了以MD5和sha-1输出的签名,但是我还没搞懂对谁签的名。
Private Key Recovery Combination Attacks2
Private Key Recovery Combination Attacks1
Bitcoin and Key Management
比特币提供了匿名性,但是匿名性很差,使用多个私钥会获得较好的匿名性。但是如果比特币钱包包含的是随机生成的私钥,将会产生大量的私钥,在实际中很难管理,并且占用大量储存空间。所以找到一个好的解决方法至关重要。在较早的一批比特币客户端中,使用的是随机生成私钥的集合的钱包,这种钱包被称为零型非确定型钱包,它的缺点就是如果你生成很多私钥,就必须要保存它们的副本,不然私钥丢失里面的比特币也将付诸东流,并且这种情况与避免重复使用地址相冲突,地址关联多重交易和对方地址重复使用会减少隐私,也就是降低匿名性,所以这种钱包不是一种很好的选择,下面为大家介绍解决方法——确定性钱包
Speed Optimizations in Bitcoin Key Recovery Attacks
BrainWallet背景故事
背景
比特币钱包的主要功能时存储地址和其对应的私钥,它有多种不同的形式,包括桌面软件、移动App,在线服务、硬件、智能卡和纸钱包等,而私钥呢是一个完全随机的数字,一般是256位二进制数,以64位16进制数显示,这对于人脑而言是很难记忆的并且做到安全存储,无论你使用哪种钱包,都始终有可能因网络安全漏洞而丢失私钥。
而大脑钱包就是一种解决方案,不需要用户将任何东西放在安全的地方并且仍然能够恢复其私钥,无需存储和保护私钥,而是可以将其存储在人的脑海当中,其使用人工选择的密码或密码短语创建私钥,使用SHA256算法,将其转换成256位二进制数,由于SHA256算法是确定性的方法,用户始终可以使用相同的密码来重新创建私钥,而不需要记住私钥,所以脑钱包的安全性仅取决于密码的不可预测性。
提出时间
2012年4月,一个名叫BrainWallet.org的网站出现了,这是一个基于网页的JavaScript比特币地址生成器
缺点
由于密码产生私钥,所以攻击者只要猜出密码就可以得到私钥并立即盗窃用户的BTC,并且攻击者可以无节制的进行离线猜测候选密码,因为在比特币区块链上,所有交易都是公开透明的,因此攻击者可以提取出所有的地址与自己所猜测的地址进行匹配