들어가며
오늘날 웹사이트에는 많은 사용자들이 방문합니다. 이들을 식별할 수 있다면 웹사이트를 운영하는 데 있어 큰 도움이 될 수 있습니다. 그런데 로그인 정보나 쿠키의 도움 없이 사용자들을 어떻게 식별할 수 있을까요?
이번 시간에는 이를 가능케 하는 브라우저 핑거프린팅(Browser fingerprinting) 기술에 대해 알아보겠습니다.
브라우저 핑거프린팅이란?
브라우저 핑거프린팅이란 웹사이트가 브라우저와 기본 운영체제의 구별되는 특징들을 수집하고 결합해 특정 브라우저(더 나아가 특정 사용자)를 식별하는 방식인데요. 간단히 말해 웹 사용자의 디지털 지문을 만들어낸다고 볼 수 있습니다.
브라우저 핑거프린트는 주로 자바스크립트를 통해 수집이 이루어지는데요. 대표적인 브라우저 핑거프린팅 라이브러리인 FingerprintJS는 30개가 넘는 브라우저 및 디바이스 속성을 수집하여 fingerprint 식별자를 생성합니다.
핑거프린팅에는 아래와 같은 정보들이 포함될 수 있습니다.
- 브라우저 버전
- 시간대 및 선호하는 언어
- 시스템에서 사용할 수 있는 비디오 또는 오디오 코덱 세트
- 시스템에 설치된 글꼴
- 브라우저 설정 상태
- 컴퓨터의 디스플레이 크기 및 해상도
이를 통해 사용자를 식별함으로써 사용자별 맞춤 광고나 서비스를 제공할 수 있습니다.
유의사항
브라우징 핑거프린팅 기술을 사용할 때 아래와 같은 사항들을 유의해야 합니다.
- 사용자의 프라이버시를 침해할 수 있습니다.
- 브라우저 간 차이로 인해 핑거프린팅 결과가 달라질 수 있어 크로스 브라우징 문제가 발생할 수 있습니다.
- 기기의 다양성 부족으로 인해 동일한 핑거프린트가 나올 수 있습니다.
- 동일한 기기라도 핑거프린트 요소 중에 변동이 있다면 핑거프린트가 바뀔 수 있습니다.
마치며
브라우저 핑거프린팅은 쿠키의 도움 없이 사용자 식별을 하는데 큰 도움을 줄 수 있는 기술입니다. 다만 문제점 역시 존재하기에 이를 잘 고려해서 사용해야겠습니다.
지적이나 다른 의견은 언제나 환영합니다 :D
감사합니다.
See also
- 웹사이트가 브라우저 핑거프린트를 수집하는 데 사용할 수 있는 데이터를 표시하는 도구
https://coveryourtracks.eff.org/ - 핑거프린팅을 방지하기 위한 명세서 작성자의 모범 사례
Mitigating Browser Fingerprinting in Web Specifications
References
'Web' 카테고리의 다른 글
JSON이 뭔가요? (0) | 2024.08.23 |
---|---|
웹 스토리지 이해하기 (0) | 2024.03.05 |
HTTP 세션 이해하기 (0) | 2024.02.20 |
HTTP 쿠키 이해하기 (0) | 2024.02.13 |
REST API? 그게 뭔가요? (0) | 2024.02.06 |