(현재 실제로 사용되는 저지연 익명화 설계 방식 모두가 그렇듯이) Tor 역시 공격자가 통신로 처음과 끝을 조회하게 되면 속수무책이에요. 예를 들어, 네트워크에 들어갈 때 선택한 Tor 중계기를 공격자가 보고 조정할 수 있으며, 방문한 웹사이트도 보고 조정할 수 있다고 가정합시다. 관련 연구 단체에서 파악한 바에 따르면, 이런 상황에서 공격자가 통신로 양 끝에서 오는 볼륨 정보와 타이밍 정보를 상관관계 분석하는 걸 확실히 막을 수 있는 실현가능한 저지연 설계방식은 현존하지 않아요.

그럼 대체 어찌해야 할까요? 공격자가 C 중계기를 조회하고 조정할 수 있다고 가정해 봅시다. 총 N 중계기가 있다고도 가정해 봅시다. If you select new entry and exit relays each time you use the network, the attacker will be able to correlate all traffic you send with probability around (c/n)^2. 그러나 대다수 사용자들에게 프로파일링이란 항시 추적당하는 것처럼 나쁜 겁니다: 공격자의 감시 없이 이것 저것 하고 싶은데 말이죠. 또한 감시하는 공격자는 감시 횟수가 한 번이든, 여러 번이든 나쁜 건 매한가지이에요. 따라서 시작 중계기와 출구 중계기를 아무리 무작위로 많이 골라봐야 사용자가 공격자의 프로파일링에서 벗어날 가능성은 없다는 거죠.

"입구 지킴이" 해결책: 각 Tor 클라이언트는 입구 지점으로 사용할 몇 개의 중계기를 무작위로 선택하고, 첫 번째 홉에 해당 중계기만 사용해요. 해당 중계기가 조정되거나 관측되지 않는다면, 공격자가 완전히 패배한 것이죠. 그리고 사용자는 안전한 거고요. 해당 중계기를 공격자가 조정하거나 관측한다면, 공격자는 사용자 트래픽의 수많은 편린을 접하게 돼요. 그러나 사용자는 기존처럼 프로파일링되지는 않을 겁니다. 따라서 사용자가 프로파일링을 피할 수 있는 가능성이 0이었던 전에 비해 어느정도 존재하게 돼요(대략 (n-c)/n 정도).

An Analysis of the Degradation of Anonymous Protocols, Defending Anonymous Communication Against Passive Logging Attacks, 그리고 특히 Locating Hidden Servers 를 읽고 더 알아보세요.

입구노드의 종류가 적을수록 운영되는 Tor 노드가 적고, Tor 사용자 IP 주소를 목록화하길 원하는 공격자에 대항하는데 도움이 돼요. (설사 사용자가 지칭하는 도착지를 알 수 없다 해도, 공격자는 여전히 Tor 사용자 IP 주소 목록을 통해 이것저것 나쁜 짓을 할 수 있습니다.) 그러나 이 기능은 "디렉터리 지킴이" 디자인으로 변경되기 전까지는 실제로 유용하지 않아요.