近阶段WW主要精力聚焦于完成 BSO 的开发,发布协议前整理一些想法:
一、实现了什么
我们重新设计了区块链的通讯协议,将原来明文传输的P2P协议改成一种无明显特征的通讯协议。
混淆协议属于一种安全对抗工程,一般有两种对抗方向,一种是正面对抗,通过设计一种新的强加密协议,让中间人无法通过分析流量内容识别出应用业务,但是新协议本身的特点,容易成为被针对的特征;另一种是迂回对抗,将应用业务的流量伪装成和互联网中绝大部分正常流量一样的协议,并且同时是一种合法的加密协议,从协议特征上、内容加密上就可以做到难以从流量上被针对识别。
我们尝试了以下两种路径:
1.融合TLS方式:
基于TLS的传输层安全协议,它可以保证所有信息都是加密传播,第三方无法窃听;具有校验机制,一旦被篡改,通信双方会立刻发现;配备身份证书,防止身份被冒充。
融合了TLS加密通讯的区块链通讯协议,从数据抓包上看,可以做到与互联网中的HTTPS流量看上去没有区别,都是经过TLS握手过程之后,就开始加密内容的传输。
这种方式优点是:
在目前的技术背景下,TLS是现行架构下最安全的安全传输解决方案,经过了多年的验证。
1、使用TLS协议可认证用户和节点,确保数据发送到正确的客户机和服务器;
2、加入了TLS后的协议,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
3、TLS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
但最大的缺点是,虽然通讯过程伪造成HTTPS协议,但由于区块链的协议本身是依赖稳定的长连接,而互联网上的HTTPS即使开启了keep-alive,也并非与真正意义上的长连接一样,从行为模式上有一点的被识别的机会。
2.融合 WSS 方式:
WSS 是 Web Socket Secure 的简称,它是 WebSocket 的加密版本。我们知道 WebSocket 中的数据是不加密的,但是不加密的数据很容易被别有用心的人窃取、识别,因此为了保护数据安全,人们将 WebSocket 与 SSL/TLS 结合,实现了安全的 WebS