용어집 · 핑거프린팅
사용자 에이전트 (User-Agent 문자열)
브라우저가 User-Agent 헤더에 전송하고 JavaScript에 노출하는 브라우저 및 OS 식별 정보입니다.
정의
HTTP에서 사용자 에이전트는 요청을 보내는 클라이언트 소프트웨어이며, User-Agent 요청 헤더는 서버가 애플리케이션, 운영 체제, 벤더 및 버전을 식별할 수 있도록 전송하는 텍스트 문자열입니다. MDN은 이 정보가 핑거프린팅에 사용될 수 있기 때문에 역사적으로 개인정보 보호 문제를 일으켰다고 언급합니다. 최신 Chromium 브라우저는 축소된 문자열을 전송하고 상세한 값은 User-Agent Client Hints(Sec-CH-UA-* 헤더 및 navigator.userAgentData)로 이동합니다.
작동 원리
- 브라우저는 모든 요청에 User-Agent를 전송합니다. 일반적인 Chrome 데스크톱 값은 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"와 같습니다. "Mozilla/5.0", "KHTML, like Gecko" 및 "Safari" 토큰은 역사적 호환성을 위해 유지됩니다.
- User-Agent 축소(Chrome 101에서 110로 출시됨) 이후, Chrome은 마이너 버전을 0.0.0로 고정하고, 고정된 데스크톱 플랫폼 문자열을 사용하며, Android에서는 실제 OS 버전 및 장치 모델 대신 고정된 "Android 10; K"를 전송합니다. 동일한 축소된 값이 navigator.userAgent 및 navigator.platform에 나타납니다.
- Chromium 브라우저는 기본적으로 저엔트로피 Client Hints인 Sec-CH-UA (브랜드 및 주요 버전), Sec-CH-UA-Mobile 및 Sec-CH-UA-Platform을 전송합니다. 서버는 Accept-CH 응답 헤더를 통해 플랫폼 버전, 모델, 아키텍처 또는 전체 버전 목록과 같은 고엔트로피 힌트를 요청할 수 있으며, 무엇을 반환할지는 브라우저가 결정합니다.
중요한 이유
- User Agent는 브라우저 핑거프린팅의 수동적 신호 중 하나입니다. 이는 스크립트 실행 없이 모든 요청에 포함되어 전달됩니다.
- 탐지 시스템은 User-Agent 문자열을 Client Hints 및 JavaScript 값(navigator.platform, 화면 크기, 터치 지원 여부)과 비교할 수 있습니다. 값이 일치하지 않는 프로필은 단순히 흔한 프로필보다 더 눈에 띕니다.
- 안티디텍트 브라우저는 각 프로필이 자신의 user agent를 설정할 수 있도록 합니다. 우수한 도구는 일치하는 Client Hints, 플랫폼 및 브라우저 엔진 버전을 user agent와 일관되게 유지합니다.
한계 및 흔한 오해
- "User-Agent 문자열을 변경하면 내 브라우저 핑거프린트가 바뀝니다." 이는 하나의 값만 바꿀 뿐입니다. Client Hints, JavaScript API, Canvas/WebGL 출력 및 폰트가 함께 일관되게 변경되지 않는 한 실제 설정 정보를 여전히 나타냅니다.
- "User-Agent 문자열은 내 정확한 OS와 장치를 보여줍니다." 축소된 Chrome에서는 더 이상 그렇지 않습니다 — Windows 8.1 및 Windows 11 모두 "Windows NT 10.0"를 보고하며, Android 장치는 "Android 10; K"를 보고합니다.
- "희귀하거나 매우 새로운 user agent가 더 안전합니다." 특이하거나 일치하지 않는 값은 사용자를 특정하기 쉽게 만들지만, 흔하고 내부적으로 일관된 조합은 덜 특징적입니다.
예시: 어떤 프로필이 User-Agent에 "Macintosh; Intel Mac OS X 10_15_7"라고 주장하지만, Sec-CH-UA-Platform 힌트는 "Windows"라고 하고 navigator.platform은 "Win32"를 반환합니다. 이 세 값을 비교하는 사이트는 해당 프로필이 주장하는 바와 다르다는 것을 알 수 있습니다.
어떠한 브라우저나 프록시도 계정이 제한되지 않음을 보장할 수 없습니다. 각 플랫폼의 규칙을 준수하십시오.
관련 용어
- 브라우저 핑거프린트 — 쿠키 없이도 브라우저를 식별할 수 있는 브라우저 및 기기 특성의 조합.
- Canvas 핑거프린팅 — HTML canvas 드로잉을 렌더링하는 방식의 미세한 차이를 통해 기기를 식별하는 기술.
- 브라우저 프로필 — 쿠키, 방문 기록, 설정, 확장 프로그램 등 다른 프로필과 분리되어 유지되는 별도의 브라우저 데이터 세트.
출처
- MDN: User-Agent 헤더 (브라우저 문서)
- MDN: HTTP Client hints (브라우저 문서)
- Chromium: User-Agent Reduction (브라우저 문서)
- Chrome for Developers: User-Agent Client Hints (브라우저 문서)
확인된 2026-11-07.