I am currently struggling with understanding the details of a connection in tor, mainly because I try to understand PCTCP. In this paper the authors claim that the changes are local to the onion router which is using PCTCP and that IPSec completely replaces TLS in the sense of the security goals integrity, confidentiality and authenticity.
Fine. I understood the basic onion routing principle, I understood Tor (I guess) and I understood the intention in PCTCP, but when replacing TLS with IPSec, imho the changes can not be local to the onion router using PCTCP unless I have a wrong understanding of the TOR security architecture.
Tor uses onion routing, meaning onion proxy (OP) has negotiated three symmetric keys (K1-3) with each of the onion routers (OR1-3) on the circuit with the Diffie-Hellman key exchange. These are the keys for the "onion skins" which are wrapped off the data flowing down the circuit by the onion proxies. (I see no possibility to introduce IPSec here)
But is this the only encryption in TOR, or are the connections between the onion routers encrypted too? (TLS, would be replaceable by IPSec) If so, why is this necessary?
Further PCTCP states that to avoid an adversary to count the connections IPSec will be introduced. But the thread model defined in TOR assumes that an adversary can run its own onion router, with which he could count the connection even with IPSec enabled.
It would be fine if somebody could explain tor connection design as a whole, including all the places where security mechanisms are used. I guess the nice illustration cited in every second thread in the web is not all tor is made of.