TFC 项目开发偏执的安全消息传递系统

在项目的框架内 TFC (Tinfoil Chat)尝试创建一个受偏执保护的消息传递系统的原型,即使终端设备受到损害,该系统也能保持通信的保密性。 为了简化审核,项目代码采用Python编写, 是可用的 根据 GPLv3 许可。

目前广泛使用的消息传递系统使用端到端加密,可以保护通信免遭中间服务器拦截和传输流量分析,但不能防止客户端设备出现问题。 为了破坏基于端到端加密的系统,破坏终端设备上的操作系统、固件或消息应用程序就足够了,例如,通过利用以前未知的漏洞、通过最初引入软件或硬件书签进入设备,或通过提供带有后门的虚构更新(例如,当情报部门或犯罪集团向开发人员施加压力时)。 即使加密密钥位于单独的令牌上,如果您可以控制用户的系统,则始终可以跟踪进程、拦截来自键盘的数据并监视屏幕输出。

TFC 提供了一个软件和硬件复合体,需要在客户端使用三台独立的计算机和一个特殊的硬件分配器。 消息传递参与者交互过程中的所有流量都通过匿名Tor网络传输,消息传递程序以隐藏的Tor服务的形式制作(用户在交换消息时通过隐藏的服务地址和密钥来识别)。

TFC 项目开发偏执的安全消息传递系统

第一台计算机充当连接到网络并运行 Tor 隐藏服务的网关。 网关只操作已经加密的数据,另外两台计算机用于加密和解密。 第二台计算机只能用于解密和显示收到的消息,第三台计算机只能用于加密和发送新消息。 因此,第二计算机仅具有解密密钥,而第三计算机仅具有加密密钥。

第二台和第三台计算机没有直接连接到网络,并且通过特殊的 USB 分离器与网关计算机分开,该分离器使用“数据二极管”并且仅在一个方向上物理传输数据。 分离器只允许向第二台计算机发送数据,并且只允许从第三台计算机接收数据。 分割器中数据的方向受到限制 光耦合器 (电缆中的 Tx 和 Rx 线简单断开是不够的,因为断开并不排除相反方向的数据传输,并且不能保证 Tx 线不会用于读取,而 Rx 线不会用于传输)。 分离器可以用废零件组装而成, 附图已附上 (PCB)并且可以在 GNU FDL 1.3 许可证下使用。

TFC 项目开发偏执的安全消息传递系统

通过这样的方案,网关受到损害 不允许 获得对加密密钥的访问权限,并且不允许您继续对其余设备进行攻击。 如果解密密钥所在的计算机受到损害,则来自该计算机的信息将无法传输到外界,因为数据流仅通过接收信息来限制,并且反向传输被数据二极管阻止。

TFC 项目开发偏执的安全消息传递系统

加密基于 XChaCha256-Poly20 上的 1305 位密钥,使用慢速哈希函数通过密码保护密钥 氩气2id。 对于密钥交换,使用它 X448 (基于 Curve448 的 Diffie-Hellman 协议)或 PSK 密钥(预共享)。 每条消息均以完美的前向保密方式传输(PFS、 完全正向保密)基于 Blake2b 哈希,其中长期密钥之一的泄露不允许解密先前拦截的会话。 应用程序界面非常简单,包括一个分为三个区域的窗口 - 发送、接收和带有与网关交互日志的命令行。 管理是通过专门机构进行的 命令集.

TFC 项目开发偏执的安全消息传递系统

来源: opennet.ru

添加评论