四、更安全的web

暴露的不同级别

内容暴露,如果通信内容没有加密,极易在传播过程中被窃取。比如不良的和非国营的通信商,可能在转发信息的过程中私留备份。境外势力生产或改装的路由器、交换机等设备可能留有后门将信息同步转往他处。更有甚者,将真实消息截留,再将篡改后的消息发给接收者。2015年之前https普及率不高,信息通讯近乎于裸奔,但2015年后各大型企业纷纷由http升级到https,内容暴露问题有了大幅好转。

线索暴露,有了https信息暴露就完美解决了吗?并不是。比如境外势力渗透了大量路由器,然而信息已经加密,内容无法获知。但仍可采集到服务器ip,访问时间,通信频率、时长、提交和返回的数据量等信息。将这些数据提交到分析引擎,使用各种分类和聚类算法仍能挖出不少价值。比如在大型高级别会议前夕,一些少社交人士,进行高频短促通信,昼夜无休,则这些人高概率是会议安保人员。常被多人呼入、并且短时间内呼叫多人的大概率是指挥官。

匿名浏览

Tor路由,1995年,美帝军方希望军事情报机构可以让情报人员的网上活动不被敌对国进行监控,从而可以秘密的进行情报收集。于是,美帝海军研究实验室的科学家开始开发一种匿名技术,可以避免人们的行迹在Internet上被追踪到。他们把这个技术叫做“洋葱路由”。这可以避免上文的线索暴露。美帝虽坏,但坏在心,脑子却是不坏,这股子聪明劲儿还是很强的。

逐级加密和三重代理,Tor网的数据并不从发送者直接发往接收者,而是通过代理经三级转发给到接收者的。Tor网络由许多Tor节点构成。Tor节点主要提供两种功能,查看网络节点目录和转发数据。

Tor网的单次请求应答流程大致如下。

  1. 请求者先从Tor网络挑选三个转发者组成链路。请求与三个转发者以及响应者交换密钥。请求者与各节点的密钥均不相同。密钥交换过程中,请求者只和链路中的第一个转发节点通信。不能其他节点直接通信,否则将失去匿名性。换钥过程是在非对称加密的辅助下经过多级加解密和转发完成的,具体过程不细表。
  2. 发送请求数据时,将请求数据用与响应者约定的密钥x加密得到密文x;
  3. 将密文x附上响应者的地址后,用与转发者3约定的密钥3加密得到密文3;
  4. 将密文3附上转发者3的地址后,用与转发者2约定的密钥2加密得到密文2;
  5. 将密文2附上转发者2的地址后,用与转发者1约定的密钥1加密得到密文1;
  6. 将密文1附上一个唯一的标识(标识1)发给转发者1,转发者1收到标识1和密文1,使用密钥1解密后,得到转发者2和密文2,把密文2附上另一个唯一标识(标识2,由转发者1生成)后发给转发者2。转发者1暂存标识1、标识2、转入地址、转出地址、密钥1的对应关系用于回发响应。
  7. 转发者2收到标识2和密文2,用密钥2解密,得到转发者3和密文3,把密文3附上另一个唯一标识(标识3,由转发者2生成)后转发给转发者3。转发者2暂存标识2、标识3、转入地址、转出地址、密钥2的对应关系用于回发响应。
  8. 转发者3收到标识3和密文3,用密钥3解密,得到接收者和密文x,把密文x附上另一个唯一标识(标识x,由转发者3生成)后转发给目标地址。转发者3暂存标识3、标识x、转入地址、转出地址、密钥3的对应关系用于回发响应。
  9. 目标接收者收到标识x和密文x,使用密钥x解密得到请求原文。暂存标识x、转入地址,密钥x的对应关系。
  10. 目标接收者处理请求后回发应答数据,将应答数据以密钥x加密得到密文A,使用标识x倒查得到转发者3,在密文x后面附上标识x,发往转发者3。
  11. 转发者3收到响应密文A和标识x,使用标识x倒查得到标识3、转发者2和密钥3。将密文A用密钥3加密得到密文A3,标识x替换为标识3,发给转发者2。
  12. 转发者2收到密文A3和标识3,使用标识3倒查得到标识2、转发者1和密钥2。将密文A3用密钥2加密得到密文A2,标识3替换为标识2,发给转发者1。
  13. 转发者1收到密文A2和标识2,使用标识2倒查得到标识1、请求者和密钥1。将密文A2用密钥1加密得到密文A1,标识2替换为标识1,发给请求者。
  14. 原始请求节点收到密文A1和标识1,分四次解密,依次得到A2,A3,A和原文,响应正确接收。

这样的转发方式可以达到以下效果

  1. 任何转发者都无法解密数据。
  2. 任何转发者都只知道与自己邻近的上下游节点的地址,但无法分辨上下游是不是真实的响应者或请求者;还是和自己一样,只是另一个转发者。
  3. 响应者不知道请求者的任何敏感信息。
  4. 但请求者是知道响应者的地址的。

Tor的转发流程我并没有摊开来细细看过,某些地方可能并不正确,但我自己的web3.0在请求端使用的是这个流程,从Tor得到一些启发也做了一些优化。比如转发并不固定为三级,级数可调,由请求者自行决定。请求者无法发现整上Tor网的全部节点,只能发现到其中相对固定的很小的一部分节点。

Tor当然是好的,但他只能令到浏览器端得以匿名,服务端却是匿不成的。咱要试试站在美帝的肩膀上更上一层楼。让服务端也一起匿,一起猫猫猫。

通信协议

传统的Http/Https协议是用TCP做的传输层,使得Tor要指定三台机组成单链路。但如果能使用无连接的UDP做传输层,则可以使用更多台,比如九台,分三级,每级三台,组成27条不同的无连接的链路,待传的数据分割成若干小包,均匀随机的使用27条链路,进一步增加安全性。

但天然的UDP是无法支持Http/Https 的,我对UDP协议做了改造加强,令其传输变成可靠的和有序的,命名为UDPS。这也是第一章发布微应用为啥要配一个UDP节点。

然后还在UDPS的基础上实现密钥交换和加解密,唤作USSL。类似https和ssl。

UDPS/USSL

UDPS,原理十分简单,将待发对象数据序列化后分割为udp报文,须给udp报文编上序号,接收端收到后排序、整合、反序列化,同时向发送方发确认接收的信息。

真正难的是网络态势感知和配速,UDP数据包的发送是不受限的,可以一直使劲的发,但网络待宽有限,来不及处理的包会在途中被直接扔掉。需要一个配速器,结合确认接收,环回时延等,丢包率高了要降低发送速度,丢包率正常时考虑是否加快发送速度。确认超时的包要重发。这是一件十分难办的事,不过已经搞定了。

USSL,在UDPS的基础上添加的一层会话层。处理密钥交换,数据加解密等事,也很重要,可实现类似Tor的套娃式加密转发。

但协议不能私有,要令其成为公有又何其难也,争取能在开源后成为社区所有吧。

服务端的匿名

使用区块链域名,再加上多级反向代理,级间加密,将浏览匿名那里的流程反过来,大约就行了。

其实还差一点,域名不能直接解析到真实服务器上,得解析到那些反向代理上。需要几级反向代理才能保证安全呢?需要两级。

Tor为啥要三级呢,因为他访问的是传统服务器。如果访问区块链域名的这种服务两级就够了。一级行不行?不行,一级不能实现匿名。

Tor访问传统服务器时能不能将三级简化为两级呢?也是不行的,必须是三级或更多级才能实现匿名。

匿名是相对的,仍然存在被跟踪的可能,只是成本非常高难度非常大而己。那敌人能破否?可以的,预先部署大量的计算机伪装成Tor节点,伪装机器数占到整个Tor网络的一半,然后等着请求者入坑,这样在三级转发机制下有八分之一的概率能探查出真实请求者和真实响应者的地址。

什么?还想要解密?那得搞来一台比较强的计算机,只要勤算计,无钥亦可解。就是时间会比较长,当在万年以上。至尊宝都变了小三了。

美帝以棱镜计划监控全球,幸得义士斯诺登曝光。又以洋葱路由偷偷干坏事,若咱这个Web3.0能广泛部署,也不输他。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值