Canvas 핑거프린팅의 작동 방식
스크립트는 화면 밖 canvas를 만들고 그리기 명령을 발행하는데, 보통 특정 폰트로 된 텍스트 문자열을 도형, 그라디언트, 색상과 함께 렌더링합니다. 브라우저는 이 명령을 그래픽 스택에 넘기며, 여기서 만들어지는 정확한 픽셀은 운영체제, GPU, 드라이버 버전, 폰트 힌팅 엔진에 따라 달라집니다.
그런 다음 스크립트는 toDataURL이나 getImageData 같은 메서드를 호출해 렌더링된 픽셀 버퍼를 추출합니다. 이 버퍼는 해싱되어 간결한 값으로 축약됩니다. 렌더링 파이프라인이 디바이스마다 다르기 때문에, 해시는 한 디바이스에서는 일관되고 디바이스 간에는 달라지는 경향이 있어 유용한 변별 신호가 됩니다.
canvas 출력은 기반이 되는 하드웨어와 드라이버가 자주 바뀌지 않으므로 시간이 지나도 비교적 안정적입니다. 그러나 드라이버 업데이트, 운영체제 업그레이드, 브라우저 렌더링 동작의 변화 후에는 달라질 수 있어, 단독으로 신뢰하기보다는 보통 다른 신호와 결합됩니다.
프라이버시 도구와 일부 브라우저는 픽셀 데이터에 무작위 잡음을 추가하거나 읽기 전에 권한을 요구함으로써 canvas 핑거프린팅에 대응합니다. 이 의도적인 교란은 그 자체로 탐지 가능하며 고유한 신호로 취급될 수 있습니다.
Canvas 핑거프린팅이(가) 사기 방지에서 중요한 이유
Canvas 핑거프린팅은 기반 하드웨어에 대한 고엔트로피 정보를 제공하므로, 브라우저 수준에서는 동일해 보이는 디바이스를 구별하는 데 유용합니다. 사기 방지에서 그것은 상위 수준 속성은 위조하지만 진짜 렌더링 파이프라인은 쉽게 흉내 낼 수 없는 유사 머신 팜, 에뮬레이터, 안티디텍트 브라우저를 드러내는 데 도움을 줍니다. 그것은 쿠키 없는 디바이스 인식의 핵심 신호입니다.
TRACIO의 처리 방식
TRACIO는 canvas 렌더링을 130개 이상의 신호 중 하나로 사용하며, 이를 자체적으로 고유 ID로 취급하는 대신 특정 방문자에게 얼마나 변별력 있고 안정적인지에 따라 가중합니다. 공격자가 canvas 잡음을 주입할 수 있으므로, TRACIO는 이를 다른 렌더링 및 하드웨어 신호와 교차 검증하여 한 차원을 위조해도 식별이 무력화되지 않도록 합니다. 이로써 인식은 견고하게 유지되면서 전체 신뢰도 점수에 기여합니다.