想说的话
这个算得上一个系列, 对于自己平时了解到的东西,做一个简析和总结, 避免了平时到处收集, 最后乱糟糟的景象.
现在是 第8周
, 发现自己的2018 也都快过了 1/6
了, 人生苦短, 时间总是比想象过的太快, 自己本来已经错过了太多太多机会, 失去了大把大把的时光, 有什么理由还继续嬉戏下去? 梦幻的青春已经结束了, 孩子.
如果翻译器对程序进行了彻底的分析而非某种机械的变换,而且生成的中间程序与源程序之间已经没有很强的相似性,我们就认为这个语言是编译的。彻底的分析和非平凡的变换,是编译方式的标志性特征。
如果你对知识进行了彻底的分析而非某种机械的套弄,在你脑中生成的概念与生硬的文字之间已经没有很强的相似性,我们就认为这个概念是被理解的。彻底的分析和非凡的变换,是获得真知的标志性特征。
–摘自 ice1000的博客
2FA 双因素认证
2FA 是(two-fact authentication)的缩写, 简单的说我们使用的离线动态密码是也(K宝)
使用认证器的时候, 有以下几个步骤
- 会从网站上获取一个秘钥. (这样服务器和手机都会有这个串)
- 成功导入之后, 会有一个6位的数字, 而且是动态的
- 在服务器输入当前的数字,以便验证
其中基本的原理, 就是这个hash(pri-key, time)
服务器进行验证
if(input() == hash(pri-key, time)) ...else ...
2FA双因素认证
非对称加密
RSA 是现在极为广泛使用的加密算法, 典型的非对称加密算法.
(虽然这些内容稍稍懂得, 这里还是要加深记忆).
举个例子, 如果现在这里有一个加密情报(cipher text),经典的思路,就是分情报和密码这两个部分,分别给目的人就好.可是我们的密码虽说是密码,可它也是明文(Clear Text).这样的密码的发送就成了大问题.如果给密码加密,那么又需要一个密码.这样无穷尽也.
所以上面的加密情况在非可信信道上进行安全传输是不可能的,现在就开始安利非对称加密.
非对称加密能实现十分精妙的加密, 实现非可信信道上的安全通信. 实现如下
key A;key B;Encrypt = F(Clear, A);Clear = F(Encrypt, B);
上面的已经是十分神奇了, 值得注意的是 如果拥有了 encrypt 和 A 是无法解出 Clear 的, 这里就是非对称加密的神奇之处, 数学上称为单向陷门.
(hash 也是一种陷门, 不过无法保证数据完整性).
RSA 使用的是大整数分解, 具体点呢, 我们找到两个超大的质数, 把他们相乘称为一个合数, 这点很容易, 可是如果我们使用这个合数分解回这两个质数, 那么计算上基本是不可能了.这样就形成了我们神奇的非对称加密.
这里举一个有趣的 应用例子, 自己构造一个 非对称加密.
2345623456 = 100001 * 23456// 我们的23456这个数据 存在于结果中了对吧? 就是后五位.100001 = 11 * 9091// 这里我们把 100001 进行质因数分解
很好至此, 我们的非对称加密已经构建好了! (懵逼…) 怎么用呢? 看下面
23456 * 9091 = 213238496 // 这里我们就已经对这个数据进行了加密!213238496 * 11 = 2345623456 // 这一步进行解密! 最终得到了我们需要的 明文, 神奇吧 2333
质因数分解
代换密码破解
ABOUT GFW
GFW 全称是 the Great Fire Wall 的缩写.称为国家防火墙或者防火长城。其具体的作用,就不必明说了.
- DNS投毒 (不予解析到正确服务器)
- IP限制 (对于直接IP访问的链接进行断开)
- 敏感词过滤 (针对HTTP 的明文数据)
- 报文抓取 (现在一些穿透手段, 第一步的协商报文可能被抓取)
其实说到对FW的态度, 实际上我是很中立的, 没有这个政策, 可能国内的互联网,现在还暗无天日, 加之国人目前的平均水平不是很高, 所以对事实明辨分析能力不足容易导致负面影响. 所以现在的GFW对多数人来讲, 更像保护伞.对于那些追寻真想的人, 目前的各种隧道技术, 也可以基本实现目的. (虽说管控加强)
function findHost(user, host){ if(Database.query(user).hasBrain()) return host; else return '114.114.114.114';}
上面也是很贴切的描述 2333. 这篇博文也是很好的说明了态度
谈谈我对 GFW 的看法
Socks 基本原理
这里指代的就是我们熟知的SS. 这里要和 HTTP代理 对比一下.
HTTP代理, 顾名思义是针对于HTTP协议的代理, 这样的话, 这个东西只能工在应用层. 具体的操作, 就是把我们的HTTP请求发送到代理服务器, 之后通过代理服务器转发我们的请求, 和目标主机进行通信. 这样,我们的功能只能进行图文浏览.
SS, 这里就是使用了 Socksv5的代理方式, 本机和Local sever 之间通过Socks 协议进行访问 (port:1080). socks的特性, 他是工作在传输层的(tpc/udp), 这样意味着这种模式就有了更好的通用性. 我们的流量在 local 通过socks 代理, 之后进行加密之后与 SS remote 进行访问, 远程ss负责代理的解析, 与目标网站和主机进行访问
SS原理及搭建
SS基本原理