# Canvas fingerprinting

Le canvas fingerprinting est une des nombreuses techniques d'empreinte digitale de navigateur qui permettent aux sites web d'identifier et de suivre les internautes lors de leur navigation sur le web même lorsque les internautes désactivent ou effacent leurs témoins (cookies). La technique a reçu une large couverture médiatique en 2014$^,$$^,$ après que des chercheurs de l'Université de Princeton et de l'Université catholique néerlandophone de Louvain l'ont décrite dans leur article The Web never forgets.
Le canvas fingerprinting a été déployé sur 5 % des 100 000 sites web les plus populaires, y compris sur le site du gouvernement américain whitehouse.gov. 95 % de ces sites utilisent le logiciel de canvas fingerprinting créé par la société de partage de signets (social bookmarking) AddThis.

## Origine du nom

Le canvas fingerprinting tire son nom du fait qu'il exploite le composant canvas de HTML5. Ce composant permet d'effectuer des rendus dynamiques d'images bitmap via des scripts.

## Fonctionnement

Quand un internaute visite une page web qui exploite le canvas fingerprinting, son navigateur exécute un script contenu dans la page qui lui fait dessiner (sans l'afficher) une ligne cachée de texte ou un graphique 3D qui est ensuite converti en un jeton numérique (une suite de bits). Des variations dans les composants de l'ordinateur provoquent des variations dans l'image dessinée et donc dans le jeton numérique. Le jeton peut être stocké par le site web visité et/ou partagé avec des partenaires publicitaires pour identifier les utilisateurs lorsqu'ils visitent des sites web affiliés. Le jeton permet de créer un profil de l'internaute au cours de sa navigation et, par la suite, de lui soumettre de la publicité ciblée sur ses centres d'intérêt.

### Unicité des empreintes

Le canvas fingerprinting est basé principalement sur les caractéristiques du navigateur, du système d'exploitation et de la carte graphique d'un ordinateur, donc il n'est pas unique et ne permet pas d'identifier un internaute sans risque d'erreur, contrairement aux empreintes digitales qui sont uniques et permettent d'identifier une personne de façon certaine.
Dans une étude à petite échelle utilisant l'Amazon Mechanical Turk, une entropie expérimentale de 5,7 bits a été mesurée, mais les auteurs de l'étude suggèrent qu'une entropie plus grande pourrait probablement être obtenue dans un plus grand groupe et en utilisant un plus grand nombre d'images pour générer l'empreinte. Bien que cette technique ne soit pas suffisante pour identifier un internaute, elle peut possiblement être combinée avec d'autres techniques d'empreinte pour en arriver à une identification presque parfaite d'un internaute.

### Protection contre le canvas fingerprinting

Des modules d'extension de navigateur comme Privacy Badger ou DoNotTrackMe sont capables de bloquer les tentatives de suivi des sites tiers (comme les régies publicitaires), mais ils seront inefficaces pour bloquer les suivis implantés directement sur un site visité par l'internaute.
Le Tor Browser offre une meilleure protection. Il avertit l'utilisateur lorsque le site web tente de produire un canvas fingerprinting et il offre la possibilité de retourner l'empreinte d'une page blanche pour déjouer la tentative de suivi.

## Histoire

En mai 2012, Keaton Mowery et Hovav Shacham, des chercheurs de l'Université de Californie à San Diego, ont écrit un article intitulé Pixel Perfect: Fingerprinting Canvas in HTML5 qui décrivait comment le composant Canvas de HTML5 pourrait être utilisé pour créer des empreintes digitales des internautes$^,$.
La société de partage de signets (social bookmarking) AddThis a commencé à expérimenter le canvas fingerprinting au début de 2014 dans le but de créer une alternative aux témoins (cookies) qui peuvent être facilement déjoués par les internautes. Selon le PDG de AddThis, Richard Harris, la société n'a utilisé les données recueillies à partir de ces tests que pour effectuer de la recherche interne. Il a mentionné que les utilisateurs seront en mesure d'installer un témoin pour exercer une option de retrait (opt-out) sur n'importe quel ordinateur pour éviter d'être suivis avec le canvas fingerprinting.