브라우저 지문 채취

브라우저 지문 채취(browser fingerprinting)는 웹 브라우저와 사용자의 실행 환경이 노출하는 여러 속성을 조합해 기기 또는 브라우징 환경을 구별하는 기법이다. 화면 크기, 언어 설정, 시간대, 글꼴과 그래픽 장치 특성처럼 개별적으로는 흔한 정보가 함께 결합되면 식별에 활...

분류사용자 식별·추적 기술
주요 용도브라우저 환경의 속성을 결합한 추적
관련 기술World Wide Web, HTML, URL, 웹 브라우저
참고 자료W3C: Fingerprinting Guidance

브라우저 지문 채취(browser fingerprinting)는 웹 브라우저와 사용자의 실행 환경이 노출하는 여러 속성을 조합해 기기 또는 브라우징 환경을 구별하는 기법이다. 화면 크기, 언어 설정, 시간대, 글꼴과 그래픽 장치 특성처럼 개별적으로는 흔한 정보가 함께 결합되면 식별에 활용될 수 있다. 이러한 정보는 쿠키를 사용하지 않는 상황에서도 사이트 간 추적이나 이상 행위 탐지에 이용될 수 있다.

지문 구성에 사용되는 정보에는 HTTP 헤더, 사용자 에이전트 관련 데이터, 브라우저에서 제공하는 JavaScript API의 결과가 포함될 수 있다. Canvas와 WebGL 렌더링 결과, 오디오 처리 특성, 설치된 기능과 일부 하드웨어 정보가 식별 신호로 이용된 사례가 있다. 브라우저마다 노출하는 속성과 접근 권한이 달라 실제 수집 가능성은 일정하지 않다.

지문을 생성하는 시스템은 수집한 속성을 일정한 형식으로 정규화하고 해시나 특징 벡터로 변환한다. 동일한 장치에서도 브라우저 업데이트, 화면 변경, 설치된 글꼴 및 설정 변경에 따라 지문이 달라질 수 있다. 반대로 여러 장치가 비슷한 환경을 공유할 수 있으므로 지문을 절대적으로 유일한 사용자 식별자로 취급해서는 안 된다.

브라우저 지문 채취는 광고 추적과 사기 방지, 자동화 탐지 등 서로 다른 목적에 활용될 수 있다. 그러나 사용자가 쿠키를 삭제하거나 추적을 거부해도 식별 정보가 남을 수 있어 개인정보 보호와 동의 정책에서 중요한 문제가 된다. 여러 사이트가 동일한 지문을 공유하면 서로 다른 활동 기록을 연결할 가능성도 발생한다.

브라우저는 지문 수집을 제한하기 위해 노출되는 API의 정밀도를 낮추거나 특정 값을 표준화하고 일부 기능에 권한을 요구하는 정책을 사용할 수 있다. 지문 저항 기능은 사이트 호환성과 충돌할 가능성이 있어 제한의 범위를 조정해야 한다. 웹 표준을 설계할 때도 새 API가 이용자를 식별할 수 있는 정보량을 늘리는지 분석하는 과정이 중요하다.[1]

개념과 목적

추적과 식별

쿠키와의 차이

수집 신호

HTTP 헤더

환경 설정

Canvas와 WebGL

지문 생성

속성 결합

정규화

일치도

사용 분야

추적

사기 방지

자동화 탐지

개인정보 보호

사이트 간 연결

동의와 투명성

대응 기술

브라우저 제한

값 정규화

API 권한

관련 문서

  1. W3C: Fingerprinting Guidance ↩