브라우저 핑거프린팅 이해하기
브라우저 핑거프린팅은 웹 브라우저에 대한 정보를 체계적으로 수집하여 그 신원이나 특성에 대해 합리적인 추정을 하는 것을 말합니다.
각 브라우저의 설정과 기능은 "브라우저 핑거프린트"를 형성합니다.
대부분의 브라우저는 우연히 각 사용자에게 고유한 핑거프린트를 만들어내며, 이는 인터넷 상에서 추적될 수 있습니다.
브라우저 핑거프린팅에 대한 보다 심층적인 정보는 Tor 블로그의 다음 기사를 참조하십시오: 브라우저 핑거프린팅: 소개 및 앞으로의 도전과제 와Tor 브라우저: 개인 브라우징 혁신의 유산n.
브라우저 핑거프린팅이 온라인 프라이버시를 위협하는 이유
첫째, 이 정보를 수집하기 위해 사용자로부터 권한을 요청할 필요가 없습니다.
브라우저에서 실행되는 어떤 스크립트든 사용자가 알아채지 못하는 사이에 장치 지문을 몰래 생성할 수 있습니다.
둘째, 브라우저 핑거프린트의 한 속성이 고유하거나 여러 속성의 조합이 고유하다면, 해당 기기를 식별하고 온라인에서 추적할 수 있습니다.
이는 쿠키 없이도 장치의 핑거프린트를 사용하여 해당 장치를 추적할 수 있다는 것을 의미합니다.
Tor 브라우저가 핑거프린팅을 완화하는 원리
Tor 브라우저는 다양한 지표 전반에서 각 사용자 핑거프린트의 고유성을 최소화하도록 특별히 설계되었습니다.
모든 Tor 브라우저 사용자를 완전히 동일하게 만드는 것은 사실상 불가능하지만, 목표는 각 지표에서 서로 구분 가능한 ‘버킷(묶음)’의 수를 줄이는 것입니다.
이 방식은 개별 사용자를 효과적으로 추적하기 어렵게 만듭니다.
일부 속성은 운영 체제와 언어와 같이 기능에 필요한 정보이며 완전히 숨기거나 위조할 수 없습니다.
대신 Tor 브라우저는 이러한 속성의 다양성을 제한해 구별 가능성(고유성)을 낮춥니다.
예를 들어, 글꼴 열거를 제한하고 문자 대체를 적용하며, 레터박싱을 사용하여 화면 및 창 크기를 표준화하고, 요청된 언어의 다양성을 작고 미리 정의된 집합으로 제한합니다.
Tor 브라우저의 핑거프린팅 방지 기능의 주요 목표는 사용자를 고유하게 식별하기에 충분한 정보를 수집하는 것을 현저히 어렵게 만들어 개인정보 보호를 향상시키는 동시에 필요한 기능을 희생하지 않는 것입니다.
Tor 브라우저의 핑거프린팅 방지 기능들
레터박싱
화면 크기를 이용한 핑거프린팅을 막기 위해, Tor 브라우저는 콘텐츠 창 크기를 200px × 100px의 배수로 반올림한 값으로 시작합니다.
여기서의 전략은 사용자를 몇 개의 그룹으로 나누어 사용자를 식별하기 어렵게 만드는 것입니다.
이는 사용자가 창 크기를 조절하기 시작할 때까지 작동합니다(예: 최대화하거나 전체 화면 모드로 전환).
Tor Browser는 해당 시나리오에 대한 핑거프린팅 방어 기능을 함께 제공하는데, 이를 레터박싱이라고 하는 Mozilla에서 개발한 기술로, 2019년에 발표되었습니다.
이 기술은 브라우저 창에 여백을 추가하여 사용자가 화면 크기 차원에서 식별되는 것을 방지하면서 여전히 사용자가 원하는 크기에 가능한 가까운 창을 가지도록 합니다.
간단히 말해, 이 기술은 특정 화면 크기의 사용자 그룹을 만들어내며, 이로 인해 많은 사용자가 동일한 화면 크기를 가지므로 화면 크기를 기준으로 사용자를 식별하기 어렵게 만듭니다.

유저에이전트 및 운영 체제 스푸핑
유저 에이전트 문자열은 웹사이트에서 브라우저, 운영 체제(OS), CPU 아키텍처, 공급업체 및 버전에 대한 세부 정보를 식별하는 데 사용할 수 있는 값입니다.
이 정보는 사용자가 어떤 운영 체제나 장치를 사용하는지 드러낼 수 있기 때문에, 브라우저 지문 인식의 한 벡터(vector)가 되어 웹사이트나 트래커가 잠재적으로 사용자를 식별하게 할 수 있습니다.
Tor 브라우저는 유저 에이전트를 스푸핑하여 이에 대응합니다. 사용자는 특정 운영체제를 선택하거나 가능한 모든 플랫폼을 흉내 내도록 설정할 수 없습니다.
대신 Tor 브라우저는 User-Agent 값을 표준화하여 개별 식별 가능성을 줄이고, '개인정보 보호가 보장된다'는 잘못된 착각을 피합니다.
- 모든 윈도우는 윈도우 10으로 표시됩니다.
- 모든 macOS는 OS X 10.15로 표시됩니다.
- 모든 안드로이드는 안드로이드 10으로 표시됩니다.
- 다른 모든 시스템, 예를 들어 모든 리눅스 배포판(Tails와 Qubes 포함), *BSD 및 기타 운영 체제는 그룹화되어 "X11을 실행하는 리눅스"로 보고됩니다.
- 모든 다른 세부 사항(예: 아키텍처)도 플랫폼별로 정규화됩니다.
이 경우, Tor 브라우저의 핑거프린팅 방지 전략은 위조를 통해 사용자 에이전트의 실제 값을 보호하는 동시에 충분히 큰 사용자 집단을 확보하는 것입니다.
유저 에이전트는 HTTP 헤더로 웹사이트에 전송되며, 자바스크립트에서는 navigator.userAgent
로 사용할 수 있습니다.
이러한 값들의 불일치는 봇 방지 및 사기 방지 시스템이 Tor 사용자를 봇으로 분류하도록 유발하여 요청을 거부하게 할 수 있습니다. 이는 결국 Tor 브라우저 사용자의 사용성에 영향을 미칩니다.
일부 사용자 또는 개인정보 보호 도구는 모든 사용자가 Windows로 보이게 하는 것이 가장 좋은 위장 효과를 제공한다고 제안합니다.
하지만 모든 브라우저 환경에서 완벽히 위장하는 것은 불가능하며, 적극적인 핑거프린팅 수법(폰트, 기능, 동작, JavaScript의 유무 등)을 이용하여 하드웨어나 운영체제의 정보를 추측할 수 있습니다.
Tor 브라우저는 사용자가 자신이 어떤 운영체제로 보일지 선택할 수 없게 되어 있습니다.
이는 의도적인 것입니다. 선택하는 모든 옵션은 사용자를 더 고유하게 만들어 핑거프린팅을 더 쉽게 만들 뿐입니다.
소수의 표준화된 옵션만 두는 것이 사용자들이 서로 구분되지 않게 섞여 보이도록 하여, 모두의 프라이버시를 최대화하는 핵심입니다.
다른 핑거프린팅 방지 기능들
레터박싱 외에도, Tor 브라우저는 브라우저 핑거프린팅을 완화하고 사용자의 은밀성을 보호하기 위해 다양한 기능을 사용합니다.
이러한 기능에는 캔버스 이미지 추출 차단, NoScript 통합, 그리고 퍼스트-파티 격리가 포함됩니다.
모든 기능 목록을 보려면 다음을 참조하십시오Tor 브라우저 설계 및 구현 문서.