Skip to content

브라우저 핑거프린트:Canvas

Canvas는 웹 페이지에서 2D 이미지와 애니메이션을 그리기 위한 HTML5 API입니다.

위의 기능 외에도 Canvas는 브라우저 핑거프린트 인식을 위한 추가적인 엔트로피로 사용될 수 있습니다. 프린스턴 대학교의 Englehardt와 Narayanan의 연구(2016)에 따르면, 5% 이상의 웹사이트가 핑거프린트 인식을 위해 Canvas를 사용합니다.

요약하자면, Canvas는 브라우저에 숨겨진 Canvas 이미지를 그리도록 명령하여 핑거프린트 인식을 구현합니다. 서로 다른 기기에서는 이 이미지가 약간씩 다른 결과를 생성하지만, 동일한 기기라면 이미지가 동일하게 생성됩니다. 이미지가 생성된 후에는 해시 문자열로 변환되어 인증을 위한 추가적인 엔트로피로 활용됩니다.

후니오(Migratory Bird) 브라우저는 Canvas 핑거프린트에 대한 노이즈 시뮬레이션을 제공합니다.

웹사이트가 브라우저를 통해 Canvas 기능을 읽으려고 요청하면, 노이즈 모드의 Canvas 마스킹 알고리즘이 이를 중간에 가로채서 읽기 값에 무작위적이면서도 일관된 노이즈를 추가합니다. 이 원리를 더 잘 이해하기 위해 "음성 변조기"를 생각해보면 쉽습니다. 특정 프리셋이 설정된 음성 변조기를 사용하면 목소리가 원래 목소리와 매우 다르게 변하지만, 이 변화는 시간이 지나도 일정하게 유지되는 것과 같습니다.