Tor

토어/토르
Tor
Tor-logo-2011-flat.svg
TORlibrewiki.net.png
TOR로 접속한 리브레 위키:현관
소프트웨어 정보
개발 The Tor Project, Inc.
종류 오버레이 네트워크, 익명 네트워크
출시 2002년 9월 20일
상태 활성
언어 다국어
운영체제 마이크로소프트 윈도우, 안드로이드, 리눅스, macOS
작성언어 C, 파이썬, 러스트
라이선스 BSD 라이선스
웹사이트 웹사이트
onion 웹사이트[1]
비공개로 탐색합니다. 자유롭게 탐색하십시오.
— Browse Privately.

Tor(The onion router)[2]Onion Routing을 사용해 인터넷을 통한 사생활 침해를 막고 보안을 향상시키기 위해 쓰이는 소프트웨어이다. Tor의 Onion Routing에 사용되는 서버들로 이루어진 네트워크를 지칭하는 데 사용되기도 한다. 한국어로는 '토어'[3] 또는 '토르'[4]라고 표기한다.

1 역사[편집]

1995년, 미국 해군은 익명성과 보안을 동시에 강화할 수 있는 라우팅 방법[5]을 개발하기 위해 관련 프로젝트에 자금을 지원하기 시작했다. 1996년 중반에 이러한 목적을 이루기 위해 개발된 'Onion Routing'의 기초적인 개념과 디자인이 발표되었다. 이후 1997년 DARPA가 자금을 지원하며 개발에 참여했으며, 1998년에는 개발 중인 Onion Routing을 사용한 네트워크가 시험 운영되기도 했다.[6] 1999년에 자금 부족으로 잠시 개발이 중단되기도 했지만 2001년에 DARPA와 미국 해군이 자금을 다시 지원하면서 개발이 재개되었고, 2003년 10월에 Tor의 소스 코드가 공개되고 최초의 Tor 네트워크가 형성된다.[7]

DARPA와 미국 해군은 Tor의 개발을 담당해왔던 프로젝트인 'The Tor Project'에 대한 자금 지원을 2004년부터 중단했으며, 이 때부터 The Tor Project는 EFF(Electronic Frontier Foundation) 등 인터넷 상의 익명성을 지지하는 단체들로부터 자금을 지원받기 시작한다. 2006년에 The Tor Project는 비영리단체가 되었고, 이후 2000년대 후반부터 현재까지 Tor는 익명성을 지키면서 검열을 회피할 수 있는 수단으로 널리 활용되고 있다.[8]

2 작동 원리[편집]

인터넷 상의 통신은 감시의 위험에 노출되어 있으며, 이를 이용해서 인터넷 상의 이용자를 특정하거나 추적할 수 있다. 이러한 추적은 통신 내용을 암호화하는 것만으로는 완전히 피할 수 없는데, 사이트의 접속 주기 및 빈도와 같은 트래픽의 흐름을 통해 인터넷 이용자의 성향 및 특성을 파악하는 방식으로도 이용자의 추적이 가능하기 때문이다. Tor는 클라이언트를 목적지의 서버에 직접 연결시키지 않고, Tor 네트워크를 구성하는 무작위의 서버 여러 대를 거쳐서[9] 목적지의 서버에 연결시키는 방식을 사용하여 트래픽의 흐름을 통해 인터넷 이용자를 추적하는 것을 어렵게[10] 만든다. 이렇게 형성된 Tor 네트워크 내부의 연결망을 Tor 회로(Tor Circuit)라 하며, 클라이언트는 사용하는 Tor 회로를 약 10분에 한 번마다 자동으로 바꿔 추적을 더욱 어렵게 한다.

Tor 회로를 구성하는 서버를 릴레이(Relay) 또는 노드(Node)라 부르며, 이중 클라이언트와 연결된 서버를 진입 노드(Entry Node)[11], 목적지의 서버와 연결된 서버를 출구 노드 또는 진출 노드[12](Exit Node)라 부른다. Tor 네트워크에 접속할 때의 트래픽과 Tor 네트워크 내부의 트래픽은 모두 암호화되어 전송되지만, Tor 네트워크에서 목적지의 서버로 향하는 트래픽은 목적지의 서버가 암호화를 지원하지 않는 경우 암호화되지 않는다.[13]

Tor 회로를 구성하려면 클라이언트가 Tor 네트워크를 구성하는 서버의 목록을 알아야 한다. 그렇기 때문에 Tor 네트워크의 릴레이와 관련된 정보는 공개될 수밖에 없다.[14] 이를 이용해 일부 국가에서는 Tor 네트워크 릴레이를 블랙리스트에 올려 Tor 네트워크로 접속하는 것을 막기도 한다. 이러한 검열을 우회하여 Tor 네트워크를 사용할 수 있도록 일반적인 릴레이보다 훨씬 더 제한적으로 관련 정보를 공개해서 운영하는 릴레이가 있는데, 이를 브릿지 (Bridge)라 한다.[15] Tor 네트워크 접속에 필요한 브릿지 관련 정보는 https://bridges.torproject.org/options 에서 얻을 수 있다.

3 Tor 네트워크 릴레이 설정 및 운영[편집]

Tor는 인터넷 트래픽을 Tor 네트워크 내부에서 뱅뱅 돌리는 방식으로 추적을 어렵게 하기 때문에, Tor 네트워크를 구성하는 서버가 많으면 많을수록 익명성이 강화된다. 이 때문에 Tor에 사용되는 소프트웨어를 개발 및 유지, 관리하고 있는 비영리 단체 'The Tor Project'에서는 Tor 이용자들에게 Tor 네트워크를 구성하는 서버를 구축할 것을 적극적으로 권유하고 있다.[16]

Tor 브라우저를 설치한 다음 설치한 폴더 내의 torrc 파일을 메모장으로 편집해 필요한 커맨드를 저장하면 본인의 컴퓨터를 Tor 네트워크의 릴레이 중 하나로 만들 수 있다. Tor가 사용할 포트 번호, Tor에 할당할 대역폭 제한, 출구 노드로 기능할지의 여부 등 다양한 설정을 정할 수 있다. 이와 관련된 더 자세한 내용은 Tor 위키공식 홈페이지의 Tor 매뉴얼에서 확인할 수 있다.

3.1 출구 노드 운영 시 주의사항[편집]

Tor 이용자가 익명성을 악용해 불법 행위를 한 경우, 이용자가 사용한 출구 노드의 운영자가 그 범죄에 엮이거나 그 책임을 대신 질 수도 있다. 이용자의 저작권 침해 행위에 대해 피해자가 운영자에게 항의해 이에 대해 해명하거나[17] 아예 고소 당한 사례가 있으며,[18] Tor의 출구 노드를 통해 아동 포르노가 전송된 것을 확인한 경찰이 출구 노드 운영자를 아동 포르노 배포 혐의로 체포하고 운영자의 서버 및 자택을 압수수색한 사례 역시 있다.[19] 개인 신분으로 출구 노드를 운영하다가 이런 식으로 고소 당하는 경우 앞으로의 삶이 꼬이기 때문에 회사나 단체 명의의 시설에서 출구 노드를 운영하고, 출구 노드의 IP 주소로 다른 개인적인 작업은 하지 않는 것이 좋다.[20]

4 한계[편집]

Tor가 익명성을 강화하기는 하지만 네트워크 트래픽을 추적하기 어렵게 만드는 것일 뿐 만능은 아니다. Tor의 한계는 다음과 같은 것이 있다.

  • Tor 네트워크와 목적지의 서버 사이의 연결이 암호화가 되어있다는 보장이 없으므로, Tor 네트워크와 목적지 서버 사이의 트래픽을 가로채는 방식을 통한 정보 유출은 여전히 발생할 수 있다. 실제로 2007년에 스웨덴의 한 컴퓨터 보안 전문가가 Tor 네트워크 출구 노드 5곳을 운영하며 그곳에서 드나드는 정보를 탈취해 각국의 대사관 및 인권 운동 단체가 주고받은 정보를 염탐하고 수백 개의 이메일 계정 ID와 비밀번호를 수집했음을 밝히며 Tor만으로는 도청을 막을 수 없음을 경고했다.[21]
  • 웹페이지에 플래시, JavaScript동적 웹을 구성하는 요소나 쿠키가 있는 경우 Tor를 사용해도 익명성이 보장되지 않을 수 있다. 웹 서핑 시 동적 웹 구성요소의 실행을 차단하면 이 문제를 해결할 수 있지만, 인터넷을 쾌적하게 이용할 수 없다.[22]
  • Tor를 통해 토렌트를 사용하는 경우, 토렌트 자체의 설계방식 때문에 토렌트를 실행하는 프로그램이 Tor를 통해 데이터를 전송하는 설정을 무시해버리거나 Tor 네트워크를 통해 사용자의 IP 주소를 전송해버리기 때문에 익명성을 보장할 수 없다.[23]
  • 전 세계 각지의 Tor 네트워크 산하의 서버를 통해 트래픽을 여러 번 우회해서 전송하고, 데이터를 512바이트 단위로 보내는 등[24] 암호화해서 보내는 Tor의 특성 때문에 일반적인 인터넷보다 전송속도가 상당히 느리고, 실제로 보내는 데이터에 비해 전송하는 데이터의 양이 많다.[25]

5 Onion routing의 세대 구별법과의 관계[편집]

Tor가 Onion routing의 세대를 구별하는 기준점으로 활용되기도 한다. 1996년 중반에 최초로 발표된 디자인을 '0세대 Onion Routing'(Generation 0 Onion Routing) 이라고 부르며, 이후 Tor가 개발되기 전까지의 Onion Routing은 '1세대', Tor가 개발된 이후의 Onion Routing은 '2세대'로 구분한다.[12]

6 위키에서의 금지[편집]

Tor를 사용할 경우, Tor의 특성 때문에 사이트에 접속할 때 사용되는 IP 주소가 계속 바뀐다. 이 때문에 Tor는 위키의 검사관의 권한을 무력화시킬 수 있고, 반달 행위를 해도 처벌을 피하기가 매우 쉽기 때문에 대부분의 위키 사이트에서는 Tor의 사용을 규제하고 있다.

리브레 위키에서도 초기에 Tor에 대한 제한은 없었지만, Tor를 이용한 반달 행위가 지속적으로 발생하여 이를 막기 위해 Tor를 사용한 리브레 위키의 편집을 막았다. 나무위키의 경우 아예 접속도 금지되어 있다.[26] 하지만 Tor 감지 기능이 완전하지는 않은지라. 가끔 접속이나 편집이 가능한 경우도 있다. 요즘은 잘 막힌다.

7 각주

  1. tor를 통해서만 접속가능
  2. 'The onion router'의 앞 글자를 따서 만든 이름이지만, 공식적인 표기법은 'TOR'이 아니라 'Tor'이다.
  3. [1] [2]
  4. [3] [4] [5]
  5. http://www.onion-router.net/Summary.html
  6. http://www.onion-router.net/
  7. http://www.onion-router.net/History.html
  8. http://www.informationsecuritybuzz.com/news/secret-history-tor/
  9. 최소한 3대의 서버를 거치며, 그보다 더 많이 거치는 경우도 있다. 그렇기 때문에 Tor는 VPN이나 프록시보다 익명성을 더 많이 보장할 수 있다.[6]
  10. Tor 역시 엄연히 한계가 있으며, 완벽하게 익명성을 보장하지는 못한다.
  11. [7] [8]
  12. 기사에 따라 다르게 번역되어있다. [9] [10]
  13. https://www.torproject.org/about/overview.html.en
  14. https://www.torproject.org/docs/faq.html.en#HideExits
  15. https://www.torproject.org/docs/bridges.html.en
  16. https://www.torproject.org/getinvolved/volunteer.html.en
  17. https://blog.daknob.net/running-a-tor-exit-node-for-fun-and-e-mails/
  18. https://torrentfreak.com/tor-exit-node-operator-denies-piracy-allegations-and-hits-back-180127/
  19. https://arstechnica.com/tech-policy/2012/11/tor-operator-charged-for-child-porn-transmitted-over-his-servers/
  20. https://www.eff.org/torchallenge/faq.html
  21. https://www.wired.com/2007/09/rogue-nodes-turn-tor-anonymizer-into-eavesdroppers-paradise/?currentPage=all
  22. https://www.torproject.org/docs/faq.html.en#TBBFlash
  23. https://blog.torproject.org/blog/bittorrent-over-tor-isnt-good-idea
  24. Tor 이용자가 전송하는 정보의 정확한 크기를 알 수 없기 하기 위한 조치이다.[11]
  25. https://www.torproject.org/docs/faq.html.en#WhySlow
  26. 나무위키는 Tor뿐만이 아니라 해외 서버 VPN도 문서 훼손을 막기 위해 접속이 차단되어 있다.