본문 바로가기
영어에서 기계 번역되었습니다. 원본 보기
용어집 · 핑거프린팅

Canvas 핑거프린팅

HTML canvas 드로잉을 렌더링하는 방식의 미세한 차이를 통해 기기를 식별하는 방법.

정의

Canvas fingerprinting은 페이지가 HTML Canvas API를 사용하여 텍스트나 도형을 그리고 결과 픽셀을 다시 읽어들이는 기술입니다. 렌더링은 GPU, 그래픽 드라이버, 글꼴 및 안티앨리어싱에 따라 달라지기 때문에 출력 결과가 장치마다 약간씩 다를 수 있으며, 이의 해시값이 하나의 핑거프린트 신호가 됩니다.

다이어그램: 스크립트가 캔버스에 그림을 그림, 장치가 이를 렌더링함, 픽셀이 해싱됨
편집용 다이어그램 (단순화된 삽화, 제품 스크린샷 아님).

작동 원리

  • 스크립트가 캔버스 요소(종종 보이지 않음)를 생성하고 2D 컨텍스트를 사용하여 텍스트, 이모지, 그라데이션 또는 도형을 그립니다.
  • 이미지를 데이터 URL로 반환하는 toDataURL() 또는 getImageData()와 같은 메서드를 사용하여 결과를 읽습니다.
  • 픽셀 데이터는 해싱됩니다. 동일한 설정은 동일한 해시를 생성하는 경향이 있지만, 서로 다른 하드웨어나 글꼴 스택은 그렇지 않은 경우가 많습니다.

중요한 이유

  • 권한 요청이 필요하지 않고 쿠키 없이도 작동하므로 추적 및 부정 방지 스크립트에서 널리 사용됩니다.
  • 이는 안티디텍트 브라우저와 개인정보 보호 중심 브라우저가 출력을 일관되게 만들거나 노이즈를 추가하여 제어하려고 시도하는 신호 중 하나입니다.

한계 및 흔한 오해

  • "Canvas만으로도 저를 식별할 수 있습니다." 이는 하나의 신호일 뿐이며, 보통 WebGL, 글꼴 및 화면 데이터와 같은 다른 신호와 결합됩니다.
  • "무작위 노이즈를 추가하는 것은 보이지 않습니다." 매번 읽을 때마다 변하는 노이즈는 동일한 이미지를 두 번 그려서 비교함으로써 그 자체로 탐지될 수 있습니다.
예시: 내장 그래픽이 있는 노트북과 외장 GPU가 있는 데스크톱에서 동일한 글꼴로 동일한 문장을 그리면, 눈에는 보이지 않지만 해싱했을 때는 다른 픽셀 차이가 발생할 수 있습니다.

어떠한 브라우저나 프록시도 계정이 제한되지 않음을 보장할 수 없습니다. 각 플랫폼의 규칙을 준수하십시오.

관련 용어

출처

확인된 2026-11-07.

← 모든 용어