La menace cachée de la géolocalisation EXIF : comment les appareils photo numériques exposent votre emplacement physique
Chaque photographie numérique prise avec un smartphone contemporain ou un appareil photo numérique dédié contient une charge utile secondaire invisible appeléeMétadonnées EXIF (Exchangeable Image File Format). Standardisé par la JEITA (Association japonaise des industries de l'électronique et des technologies de l'information), EXIF a été conçu à l'origine pour aider les photographes, les éditeurs de photos et les laboratoires d'impression en préservant les paramètres d'exposition : ouverture, vitesse d'obturation, sensibilité ISO et distances focales de l'objectif.
Cependant, avec l'adoption massive des chipsets de navigation GPS, Galileo et GLONASS dans les appareils mobiles, le micrologiciel des caméras a commencé à ajouter des fonctionnalités.coordonnées exactes du satellite (latitude, longitude et altitude)directement dans l’en-tête de l’image. Lorsque vous prenez une photo dans votre salon, votre balcon ou votre jardin, le fichier image est tamponné en permanence avec les coordonnées de votre maison, précises à la précision près.3 à 5 mètres.
L'anatomie technique d'un segment EXIF : marqueurs APP1 et endianité TIFF
Dans un fichier image JPEG standard, les données binaires commencent par le marqueur de début d'image sur 2 octets.0xFFD8(SOI). Les métadonnées spécifiques à l'application sont intégrées dans des segments spécialisés étiquetésAPP0 à APP15. Les métadonnées EXIF résident exclusivement dans leMarqueur APP1 (0xFFE1):
- Marqueur et longueur :
0xFFE1suivi d'un entier non signé de 2 octets déclarant la taille totale en octets du segment. - Signature d'en-tête :6 octets contenant
45 78 69 66 00 00— la chaîne ASCII"Exif"suivi de deux octets nuls. - En-tête TIFF :8 octets déclarant l'ordre des octets. Si les deux premiers octets sont
0x4949(Intel, Little-Endian, octet de poids faible en premier) ou0x4D4D(Motorola, Big-Endian, octet de poids fort en premier), suivi de la constante magique42(0x002A) et le pointeur de 4 octets vers le répertoire de fichiers image principal (IFD0). - Annuaires IFD :IFD0 renvoie vers des sous-répertoires secondaires, notammentExifIFD (balise
0x8769)pour les mesures d'exposition optique, etGPSInfo IFD (balise0x8825)pour les enregistrements de géolocalisation.
Suppression EXIF sans perte vs recompression de toile avec perte
De nombreux outils en ligne de base suppriment les métadonnées en restituant la photo sur un format HTML5.<canvas>élément et appelcanvas.toDataURL('image/jpeg'). Bien que cette méthode supprime les en-têtes de métadonnées, elle force l’image entière à passer par une passe de décompression et de réencodage JPEG avec perte. Cela introduit des artefacts de compression notables, une dégradation du sous-échantillonnage de la chrominance et modifie les valeurs de luminance des pixels.
FlashSoftDécapant EXIF en ligneeffectuedécapage de segment binaire purdirectement sur le tampon d'octets du fichier brut. Il excise chirurgicalement les marqueurs APP1 (EXIF/XMP), APP2 (ICC), APP13 (Photoshop/IPTC) et COM tout en laissant intactes les charges utiles d'entropie des tables de quantification (DQT), des tables de Huffman (DHT), du début de trame (SOF0/SOF2) et du début de numérisation (SOS). L'image nette qui en résulte conserveFidélité optique 100 % bit à bitavec zéro perte de compression.