首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >深入Tor加密设计细节

深入Tor加密设计细节
EN

Security用户
提问于 2015-01-17 16:23:21
回答 1查看 1.9K关注 0票数 3

目前,我很难理解Tor中的连接细节,主要是因为我试图理解PCTCP。本文认为,在安全目标、完整性、保密性和真实性的意义上,IPSec完全取代了the协议的洋葱路由器。

很好。我理解了洋葱路由的基本原理,我理解了PCTCP中的Tor (我猜),我理解了PCTCP的意图,但是当用IPSec替换TLS时,除非我对Tor安全体系结构有了错误的理解,否则不能对使用PCTCP的洋葱路由器进行本地更改。

Tor使用洋葱路由,这意味着洋葱代理(OP)已经与每个洋葱路由器(OR1-3)协商了三个对称密钥(K1-3),并与Diffie-Hellman密钥交换。这些是“洋葱皮”的关键,它是由洋葱代理从沿着电路流动的数据包装而来的。(我认为不可能在这里引入IPSec )

但这是Tor中唯一的加密,还是洋葱路由器之间的连接也加密了?如果是的话,为什么需要这样做呢?

此外,PCTCP指出,为了避免对手计算连接,将引入IPSec。但是托尔中定义的线程模型假设对手可以运行自己的洋葱路由器,即使启用了IPSec,也可以使用它来计算连接。

如果有人能够解释整个Tor连接设计,包括使用安全机制的所有地方,那就好了。我想网络中每一个线程中引用的漂亮的插图并不都是由Tor组成的。

EN

回答 1

Security用户

回答已采纳

发布于 2015-01-19 13:49:43

Tor的TCP连接

PCTCP文件声称Tor使用一个TCP连接,其中包含来自多个用户的多路复用数据。然后,单个输出缓冲区需要调度器对每个用户的数据进行加密/解密,并确保每个数据流的所有处理都是正确的。这可能导致丢包中的数据丢失,从而导致该数据包的重新传输,并导致TOR中的总体延迟。

PCTCP正在改变连接的执行方式。他们建议,与其在一个TCP会话中多路复用用户,不如每个用户在Onion路由器(ORs)之间建立自己的专用TCP连接。Tor有自己的协议,用于在OR之间建立密钥。此操作仍然可以像往常一样执行,但现在可以使用专用TCP连接执行。这里的目标是试图减少数据损坏和随后的数据包重传。

Tor协议通信

Tor在Tor之间使用TLS来保护其Tor协议通信。一旦消息完成,并且密钥已经建立,加密的数据就会通过多路复用的TCP连接。

PCTCP不改变密钥交换的方式,它只是为每个新用户生成一个新的TCP会话。如果这些TCP连接需要的话,它可以使用TLS会话。其设计中的缺陷是对手可以见证TCP连接的数量,并且可以在PCTCP节点上执行流量分析。为了对付这种情况,PCTCP封装了IPSec隧道中所有OR之间的通信。实质上将数据在传输级别的多路复用移动到IP级别。因为IPSec是在IP层执行的,所以源和目的地都不关心TCP数据是什么。数据包将被解密/加密,单个TCP连接将由Tor守护进程正常处理。PCTCP文件指出,这使得在OR之间使用TLS是多余的。它确实是这样。你现在会在隧道里挖隧道。

请记住,这只是在ORs之间。OP和入口节点之间的数据将继续使用TLS连接来保护其通信。您仍然可以获得显着的性能,因为大多数被丢弃的数据和重传是由于ORs的低效率所致。

这就是为什么他们可以声称更改只需要发生在OR上。OP与入口节点使用相同的通信方法。on需要启用IPSec,并使用PCTCP在每个用户的基础上建立专用的TCP连接。默认情况下,所有Linux发行版都启用了IPSec。只要OR配置正确,就可以建立此隧道。

如果IPSec隧道被拒绝,他们不会真正说明如何处理连接。我猜他们的PCTCP客户端只是默认返回到一个TLS连接。他们也没有意识到,即使是在电路中升级到PCTCP的单个节点也会提高性能。但在我看来,要使IPSec工作,至少需要两个相邻的OR配置有PCTCP。在他们的实验中,他们总是至少有两个。

我想我已经回答了你们的每个问题。

票数 3
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/79395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档