브라우저 지문이란 무엇인가
쿠키를 지워도, 시크릿 모드로 들어가도 웹사이트가 사람을 알아보는 방법이 있습니다.
쿠키는 떼면 그만이지만 지문은 안 떨어집니다
웹서버는 방문자가 누구인지 원래 모릅니다. 그래서 방문할 때마다 이름표를 하나 붙여 두었습니다. 그것이 쿠키입니다. 그런데 이름표는 뗄 수 있습니다. 쿠키를 지우거나 시크릿 모드로 들어가거나 브라우저를 바꾸면 그동안 붙어 있던 이름표가 날아갑니다.
그래서 나온 것이 지문입니다. 이름표를 붙이는 대신 기기가 원래 가진 특징들을 모아 그 조합으로 알아보는 것이죠. 화면 크기, 시간대, 깔린 글꼴, 그래픽 카드 이름, CPU 코어 수. 하나하나는 흔하지만 여럿을 겹치면 사람이 꽤 좁혀집니다.
소리가 지문이 되는 이유
2026년 8월, 한 개발자가 이상한 일을 겪었습니다. 블루투스 헤드폰으로 폰 음악을 듣고 있었는데 알리익스프레스에 들어가기만 하면 음악이 뚝 끊겼습니다. 그런데 페이지 어디에도 소리를 내는 태그가 없었습니다.
파고들어 보니 페이지가 볼륨을 0으로 두고 톱니 모양 파형을 만들어 돌리고 있었습니다. 사람 귀에는 안 들리지만 오디오 장치는 점유되니, 컴퓨터 소리를 우선하는 헤드폰이 폰 음악을 밀어낸 것입니다. 걸린 것은 그 우연 때문이었습니다.
왜 그런 짓을 했느냐. 같은 파형을 처리해도 CPU와 브라우저에 따라 소수점 아래가 미세하게 달라지기 때문입니다. 그 차이가 지문이 됩니다. 2016년 프린스턴 연구가 상위 100만 개 사이트를 훑으며 이미 보고한 기법입니다. 새로 나온 것이 아닙니다.
막는 브라우저와 안 막는 브라우저
이 일이 알려지자 파이어폭스 엔지니어가 나서서, 3년 전에 이미 소리 값을 상수로 고정해 막아 두었다고 밝혔습니다. 브레이브는 6년 전부터 막고 있었고, 알리가 쓰던 스크립트 자체를 아예 차단한다고 했습니다. 사파리는 조용히 고친 것으로 보입니다.
크롬은 이 자리에 노이즈를 넣지 않습니다. 구글이 광고 사업을 하는 이상 지문 보호를 넣으면 자기 사업에 직격탄이라는 것이 여러 사람의 해석입니다. 편리한 것과 안 새는 것은 대체로 반대편에 있습니다.
그러니 앞 페이지에서 잰 결과가 브라우저마다 다르게 나옵니다. 막힌 자리가 많다면 그 브라우저가 지켜 주고 있는 것입니다.
가져가는 쪽에도 할 말은 있습니다
자동 프로그램과 사기 계정을 걸러야 하는 쪽에서는 지문이 쓸모가 있습니다. 이것이 있으면 캡차를 덜 보여 줘도 됩니다. 신호등을 찾고 오토바이를 고르는 그 귀찮은 화면입니다.
그래서 문제는 수집 자체가 아니라 숨긴 것입니다. 정당하다면 왜 난독화했는지, 왜 무엇을 가져가는지 고지하지 않았는지가 답을 못 얻었습니다. 회원가입 때 이름과 아이디를 넣는 것은 우리가 알고 넣습니다. 지문은 모르고 나갑니다.
스스로 줄이는 방법
브레이브나 파이어폭스를 씁니다. 위에 적은 대로 이 자리를 기본으로 막습니다. 완전히 안 새게 하는 것은 불가능하지만 읽히는 자리 수가 크게 줄어듭니다.
튀는 설정을 피합니다. 지문은 남과 다를수록 잘 알아봅니다. 창을 특이한 크기로 쓰거나 드문 글꼴을 잔뜩 깔면 오히려 더 잘 좁혀져요. 확장을 많이 까는 것도 같습니다.
VPN만으로는 안 됩니다. 주소는 가려지지만 위 10자리는 그대로 나갑니다. 오히려 시간대와 주소가 어긋나면 그것이 또 하나의 표식이 됩니다.
완전한 차단은 없습니다. 소리 자국이 막히면 다음 자리가 나옵니다. 이미 크롬에서 도는 기법이 서른 가지가 넘는다는 조사도 있습니다. 아는 것과 모르는 것의 차이가 있을 뿐입니다.
그럼 우리는 무엇을 세나
남을 지적하면서 우리 것을 안 밝히면 앞뒤가 안 맞으니 적습니다. 우리도 오늘 몇 사람이 왔는지는 알고 싶습니다. 어느 것을 더 만들지 정하려면 방문 수가 아니라 사람 수를 알아야 하니까요.
그래서 흔한 값 넷만 씁니다. 화면 크기, 시간대, 첫 번째 언어, 손가락 입력. 위에서 잰 강한 것들, 그러니까 소리 자국이나 그림 자국이나 그래픽 카드 이름은 하나도 안 씁니다. 하루 안에서 구분할 만큼만 있으면 되니까요.
그리고 그 넷에 오늘 날짜와 이 앱 이름을 섞어 되돌릴 수 없게 줄입니다. 날이 바뀌면 값이 통째로 달라져서 어제와 못 잇고, 앱 이름이 섞여 있어서 우리 다른 앱과도 못 잇습니다. 추적이 어려운 것이 아니라 그렇게 만들 수가 없습니다.
이 셈이 무너지지 않게 검사를 걸어 뒀습니다. 날짜와 앱 이름을 빼면 검사가 빨개지도록 해 놓고, 실제로 빼서 빨개지는 것을 확인했습니다.