WIPIVERSE

토르 (네트워크)

토르(Tor)는 'The Onion Router'의 약자로, 온라인 상에서 익명 통신을 가능하게 하는 자유 소프트웨어이자 오버레이 네트워크이다. 토르 프로젝트(Tor Project)가 개발 및 유지 관리를 담당하며, BSD 라이선스 하에 배포되는 자유·오픈소스 소프트웨어이다.

개요

토르는 전 세계 자원봉사자가 운영하는 수천 개의 중계 서버(릴레이)를 통해 사용자의 인터넷 트래픽을 무작위 경로로 전달하는 방식으로 작동한다. 이 기술을 어니언 라우팅(onion routing)이라고 부르며, 데이터를 여러 겹의 암호화 계층으로 감싸 전송하는 것이 양파의 겹겹이 쌓인 구조와 유사하다는 데서 명칭이 유래하였다. 토르를 사용하면 사용자의 위치와 사용 내역을 네트워크 감시나 트래픽 분석으로부터 보호할 수 있다.

역사

토르의 핵심 원리인 어니언 라우팅은 1990년대 중반 미국 해군 연구소(NRL)의 수학자 폴 사이버슨(Paul Syverson), 컴퓨터 과학자 마이클 리드(Michael G. Reed)와 데이비드 골드슐라크(David Goldschlag)가 미국 정보 통신 보호를 목적으로 개발하였다. 이후 1997년 미국 국방고등연구계획국(DARPA)에 의해 추가 개발이 이루어졌다.

토르의 알파 버전은 사이버슨, 로저 딩글다인(Roger Dingledine), 닉 매튜슨(Nick Mathewson)이 개발하여 2002년 9월 20일 처음 공개되었다. 최초의 공개 릴리스는 1년 후인 2003년에 출시되었다. 2004년 미국 해군 연구소는 토르 코드를 자유 라이선스로 공개하였고, 전자 프런티어 재단(EFF)이 개발 자금을 지원하기 시작하였다. 2006년에는 토르 프로젝트(The Tor Project)가 비영리 연구·교육 기관으로 설립되었다.

작동 원리

토르는 TCP 스트림 수준에서 작동하며, SOCKS 인터페이스를 제공한다. 사용자의 트래픽은 다음과 같은 과정을 거쳐 익명화된다.

  1. 토르 클라이언트는 디렉토리 목록에서 임의로 3개의 중계 노드(가드 노드, 중간 노드, 종료 노드)를 선택한다.
  2. 각 노드 간에 Diffie-Hellman 키 교환 방식을 통해 세션 키를 교환하고, TLS 통신으로 암호화된 가상 회로를 구축한다.
  3. 데이터는 각 노드를 통과할 때마다 한 겹씩 암호화가 벗겨지며, 최종적으로 종료 노드에서 복호화되어 목적지 서버로 전달된다.
  4. 목적지 서버는 트래픽이 토르 종료 노드에서 온 것처럼 보게 된다.

통신 암호화에는 AES가 사용되며, 노드 간 모든 통신은 TLS로 보호된다.

익명 서비스 (히든 서비스)

토르는 클라이언트뿐만 아니라 서버에도 익명성을 제공한다. 토르 네트워크에 서버를 연결하면 공인 IP 주소를 노출하지 않고도 서비스를 운영할 수 있으며, 이러한 서비스를 어니언 서비스(onion service, 구 히든 서비스)라고 한다. 어니언 서비스는 .onion 의사 최상위 도메인을 사용하며, 방화벽이나 NAT 뒤에 있는 호스트에서도 운영이 가능하다.

활용

토르는 다양한 목적으로 사용된다. 언론인, 인권 운동가, 내부고발자, 검열을 우회하려는 일반 사용자, 개인정보 보호를 원하는 사람들이 주요 사용자층이다. 에드워드 스노든(Edward Snowden)은 PRISM 관련 정보를 언론에 전달할 때 토르를 사용한 것으로 알려져 있다. 또한 위키리크스(WikiLeaks), 가디언(The Guardian), 뉴요커(The New Yorker), ProPublica, 인터셉트(The Intercept) 등은 SecureDrop과 함께 토르를 내부고발자 보호에 활용한다.

한편, 토르는 불법적인 목적으로도 사용될 수 있다. 마약 거래, 아동 성착취물 유통, 해킹, 불법 금융 거래 등이 토르 네트워크를 통해 이루어지기도 하며, 실크로드(Silk Road)나 알파베이(AlphaBay) 같은 다크웹 시장이 대표적인 사례이다.

한계와 취약점

토르는 완전한 익명성을 보장하지 않으며, 다음과 같은 한계가 존재한다.

  • 종단 간 트래픽 상관분석: 토르 네트워크의 진입점과 출구점을 동시에 감시할 수 있는 공격자에 대해서는 보호할 수 없다.
  • 종료 노드 도청: 종료 노드와 목적지 서버 간의 통신은 암호화되지 않을 수 있으며, 악의적인 종료 노드가 트래픽을 가로챌 위험이 있다. HTTPS 등 별도의 종단 간 암호화로 보완할 수 있다.
  • DNS 유출: 일부 소프트웨어가 UDP 기반 DNS 조회를 사용할 경우 토르 네트워크를 거치지 않고 DNS 정보가 유출될 수 있다. 토르 버전 0.2.0.1-alpha 이후에는 자체 DNS 확인자가 탑재되어 이 문제가 완화되었다.
  • 합의 공격: 토르는 소수의 디렉토리 권위 노드의 투표로 네트워크 상태를 결정하는데, 이 노드들이 손상될 경우 위험이 발생할 수 있다.
  • 릴레이 조기 트래픽 확인 공격: 2014년 발견된 공격으로, 악의적인 중계 노드가 트래픽을 변조하여 사용자와 어니언 서비스를 동시에 식별하는 방식이다.

소프트웨어

토르 프로젝트는 다음과 같은 소프트웨어를 제공한다.

  • 토르 브라우저(Tor Browser): Mozilla Firefox ESR을 기반으로 수정된 웹 브라우저로, 토르 네트워크를 통해 트래픽을 자동으로 라우팅한다. Windows, macOS, Linux, Android에서 사용 가능하다.
  • Arti: 2020년부터 개발 중인 Rust 기반의 토르 구현체로, 기존 C 코드베이스를 대체하는 것을 목표로 한다.
  • Orbot: 안드로이드용 토르 클라이언트로, 가디언 프로젝트(Guardian Project)가 개발하였다.

검열 대응

토르 프로젝트는 검열을 우회하기 위한 여러 도구를 제공한다.

  • 브리지(bridge): 공개적으로 알려지지 않은 중계 노드로, IP 차단을 우회하는 데 사용된다.
  • obfsproxy: 토르 트래픽을 일반 HTTP 트래픽으로 위장하는 프로그램이다.
  • Snowflake: 사용자의 웹 브라우저가 중계 서버 역할을 하도록 하는 검열 우회 시스템이다.

정부 및 기관의 대응

미국 국가안보국(NSA)은 토르를 "고보안·저지연 인터넷 익명성의 왕"이라고 평가한 바 있으나, 동시에 토르 사용자를 완전히 익명 해제할 수는 없다고 인정하였다. 중국, 러시아, 이란, 베네수엘라, 튀르키예 등 여러 국가에서 토르 접속을 차단하거나 제한하고 있다. 러시아는 2021년 12월 토르를 공식 금지하였으며, 중국은 2018년 이후 토르 네트워크 차단을 강화하였다.

재정

토르 프로젝트의 재정은 미국 국무부, 미국 국립과학재단(NSF), 국제방송국(BBG), DARPA, 스웨덴 정부 등 정부 기관과 휴먼라이츠워치(Human Rights Watch) 같은 NGO, 구글(Google), 레딧(Reddit) 등 민간 기업의 후원으로 충당된다. 2012년 기준 연간 예산 약 200만 달러의 약 80%가 미국 정부에서 나왔다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기