一周干货集 (1)

  • R4y 
  • 未分类

想说的话

这个算得上一个系列, 对于自己平时了解到的东西,做一个简析和总结, 避免了平时到处收集, 最后乱糟糟的景象.

现在是 第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基本原理

留下点什么吧