경로에 암호화 구간을 하나 더 붙여도 감시자는 사라지지 않고 자리만 옮기며, 때로는 하나가 늘어난다. 쓸모 있는 작업은 경로를 그려 각 단계에서 누가 무엇을 보는지 적는 것이다. Tor 앞의 VPN과 Tor를 거쳐 도달하는 VPN은 물어볼 만한 거의 모든 질문에 정반대의 답을 내놓기 때문이다. 어느 구성도 침해된 종단점을 이기지 못하고, 사용자를 지목하는 계정을 고쳐 주지도 못한다. 경로를 순서대로 따라가 계층이 사라질 때 무엇이 깨지는지 물으면 구호가 결정으로 바뀐다.

경로를 따라가며 각 감시자에게 이름 붙이기

평범한 Tor 상황에서 시작해 각 홉을 표시한다. 로컬 네트워크와 인터넷 사업자는 Tor 진입점으로 향하는 연결과 그 크기·시점을 본다. 진입 가드는 클라이언트 주소를 보며, 그래서 가드는 무작위 선택이 아니라 장기적인 관계다. 출구 노드는 목적지와 종단 간 암호화되지 않은 모든 것의 평문을 보고, 목적지는 클라이언트 주소가 붙지 않은 출구 주소를 본다.

무언가를 더하기 전에 그 표시를 적어 둔다. 도해 자체가 논증이고, 검증하기도 쉽다.

두 가지 순서는 서로 다른 관측을 만든다

Tor 앞에 VPN을 두면 트래픽이 기기에서 VPN 사업자 쪽으로 나가고, 그 사업자를 거친 뒤에야 Tor 진입점에 닿는다. 로컬 네트워크는 이제 Tor를 전혀 보지 못하며, 네트워크가 Tor를 막거나 감시할 때 바로 이것이 목적이다. 진입 가드는 이제 사용자 주소 대신 VPN 주소를 보고, VPN 사업자는 특정 고객이 특정 시간 패턴으로 Tor에 접속하는 것을 본다. 그 사업자는 값진 관측을 가진 새 당사자가 되고, 그 사업자의 기록 정책은 이제 위협 모델 밖이 아니라 안에 있다.

Tor를 거쳐 VPN에 도달하는 구성은 순서를 뒤집고 노출되는 것도 뒤집는다. 목적지는 VPN 주소를 보고, Tor 출구는 더 이상 목적지를 보지 못하며, VPN 사업자는 고객의 집 주소 대신 들어오는 Tor 트래픽을 본다. 이 구성은 연결에 두 겹의 지연을 더하고, 많은 상용 앱이 제공하지 않는 클라이언트 지원을 요구한다.

둘 중 무엇을 고를지는 어느 감시자가 가장 중요한가의 문제이지, 어느 쪽이 더 안전하게 들리는가의 문제가 아니다. 로컬 네트워크에서 Tor 사용을 숨기려는 사용자는 첫 번째 순서를 원한다. 목적지가 자신에게 돌릴 수 있는 무엇도 배우지 못하게 하려는 사용자는 다른 분석이 필요하고, 어느 순서도 계정 이름을 숨기지 않는다.

세션을 여전히 식별하는 것

주소 수준의 감시자는 그림의 일부일 뿐이고, 흔히 결정적인 부분이 아니다. 로그인한 계정은 어느 출구 주소가 패킷을 날랐든 활동을 신원에 묶고, 서비스가 사람과 연결할 수 있는 결제 기록도 마찬가지다. 브라우저 상태도 한몫한다. 영구 쿠키, 저장된 로그인, 식별 가능한 확장 기능은 연결되지 않도록 설계된 회로를 넘어 사용자를 따라갈 수 있다.

사이트에 보내는 내용이 세 번째 신호다. 메타데이터가 붙은 문서, 양식에 입력한 이름, 독특한 문체는 어떤 수의 암호화 계층도 통과한다. 그리고 그 앞에 있는 어떤 도구도 그것을 건드리도록 만들어지지 않았다. 이런 식별자 목록을 정직하게 유지하는 편이 홉을 하나 더 붙이는 것보다 낫다.

사라지는 계층을 대비하라

구성의 차이가 실제로 드러나는 곳은 실패 시의 동작이며, 이것은 어느 도구의 기능이 아니라 설정의 속성이다. Tor가 VPN을 거치도록 설정된 상태에서 VPN이 끊기면 Tor는 멈추는가, 아니면 평소 경로로 조용히 다시 연결되는가. 후자는 목적지로의 유출은 아니지만 로컬 네트워크에 Tor를 쓰고 있음을 알리며, 그것이 바로 이 구성이 막으려던 것일 수 있다.

기기 수준의 킬 스위치는 터널 밖 트래픽을 거부해 답의 일부를 강제할 수 있지만, 기기가 라우팅하는 트래픽만 덮는다. 터널에서 제외된 앱은 그 보호를 우회하고, 연결을 설정할 때 쓰는 리졸버는 이름을 드러낼 수 있다. 페이로드가 터널 안에 남아 있어도 그렇다. 스위치가 모든 것을 덮는다고 가정하지 말고 제외 목록과 리졸버 설정을 읽어라.

브라우저 패키지는 건드리지 않는다

Tor Browser의 보호는 패키지 전체가 설계대로 동작하는 데 달려 있다. 자체 프록시 설정, 사이트 간 격리, 지문 방어가 그것이다. 평범한 브라우저를 로컬 Tor 포트로 향하게 하거나 Tor Browser에 프록시 확장을 더하면 설계가 기대는 전제가 바뀐다. VPN과 Tor의 결합에 관한 Tor Project 자체의 안내는 이 결합을 고급 설정으로 다루며, 그 신중함은 VPN 판매자가 아니라 바로 이런 상호작용을 향한 것이다.

도구를 조합하기 전에 평범한 경로, 실패 경로, 각 운영자의 역할을 쉬운 문장으로 말할 수 있어야 한다. 두 겹이면 더 안전하게 들린다는 것 말고 근거가 없다면 설계할 요구 사항이 없고, 실제로 더해진 것은 새로운 실패 모드뿐이다.

관련 글