(현재 실제로 사용되는 저지연 익명화 설계 방식 모두가 그렇듯이) Tor 역시 공격자가 통신로 처음과 끝을 조회하게 되면 속수무책입니다.
예를 들어, 귀하가 네트워크에 들어갈 때 선택한 Tor 중계서버를 공격자가 보고 조정할 수 있으며, 귀하가 방문한 웹사이트도 보고 조정할 수 있다고 가정합시다.
관련 연구 단체에서 파악한 바에 따르면, 이런 상황에서 공격자가 통신로 양 끝에서 오는 볼륨 정보와 타이밍 정보를 상관관계 분석하는 걸 확실히 막을 수 있는 실현가능한 저지연 설계방식은 현존하지 않습니다.
그럼 대체 어찌해야 할까요?
공격자가 C 중계서버를 조회하고 조정할 수 있다고 가정해 봅시다.
총 N 중계서버가 있다고도 가정해 봅시다.
귀하가 시작 중계서버와 출구 중계서버를 네트워크를 사용할 때마다 새로 선택한다고 할 때, 공격자는 귀하가 수신하는 모든 트래픽의 상관관계를 분석할 수 있습니다. 이 때의 확률은 대략 (c/n)2 입니다.
그러나 대다수 사용자들에게 프로파일링이란 항시 추적당하는 것처럼 나쁜 겁니다: 공격자의 감시 없이 이것 저것 하고 싶은데 말이죠. 또한 감시하는 공격자는 감시 횟수가 한 번이든, 여러 번이든 나쁜 건 매한가지입니다.
따라서 시작 중계서버와 출구 중계서버를 아무리 무작위로 많이 골라봐야 사용자가 공격자의 프로파일링에서 벗어날 가능성은 없다는 거죠.
해결방법은 '엔트리 가드'를 쓰는 겁니다: 각 Tor 클라이언트가 몇몇 중계서버을 무작위로 선택해 시작지로 사용합니다. 그리고 해당 중계서버는 각 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 주소 목록을 통해 이것저것 나쁜 짓을 할 수 있습니다.)
'디렉터리 가드' 설계 방식으로 바꾸지 않는 한, 위 기능이 계속 유효하진 않습니다.