Images et photos · Outil de confidentialité des métadonnées d'image
EXIF, TIFF et IFD : la structure des années 1990 est toujours présente dans chaque photo
· Contexte
exif formats de fichiers image-confidentialité
EXIF a été publié dans 1995 et a emprunté son modèle de données au TIFF, c'est pourquoi un bloc de métadonnées à l'intérieur d'un JPEG est en réalité un petit fichier TIFF avec des répertoires, des balises et des décalages. Connaître la structure explique ce qu'un décapant peut enlever proprement et pourquoi.
Un fichier TIFF caché dans votre JPEG — l'énigme de la raison pour laquelle EXIF ne ressemble en rien au reste du format JPEG
Un JPEG peut contenir une structure de données de forme TIFF sans être une image TIFF. Sa charge utile APP1 Exif commence par un identifiant puis un en-tête TIFF dont les décalages et les répertoires organisent les valeurs de la caméra, de l'heure et du GPS. L'analyseur partagé consomme également les blocs TIFF trouvés dans les morceaux PNG eXIf et WebP EXIF, c'est pourquoi un lecteur dessert trois conteneurs.
Le référentiel n'établit pas la date d'origine d'EXIF
Le classeur a fourni une histoire d'origine et une année, mais les sources du référentiel utilisées ici n'établissent pas l'historique des normes, les organisations ou les dates de publication. Plutôt que de répéter une chronologie non citée, cette section ancre le fait utile dans le code : les charges utiles EXIF utilisent l'ordre des octets TIFF, la magie et la mécanique des répertoires qu'un analyseur de navigateur peut inspecter sans décoder les données d'image.
TIFF - l'en-tête, le marqueur d'ordre des octets, IFD0 et les entrées 12-byte avec balise, type, nombre et valeur ou décalage
L'en-tête TIFF indique si les valeurs multi-octets sont petit ou gros-boutiste, porte une valeur magique et pointe vers IFD0. Chaque répertoire commence par un nombre et stocke des entrées de taille fixe contenant une balise, un type, un nombre de valeurs et soit des données en ligne, soit un décalage. Cet arrangement permet aux petites valeurs de rester dans l'entrée tandis que les chaînes et les rationnels plus longs vivent ailleurs dans le bloc.
Les répertoires que cet analyseur suit réellement
Cette implémentation suit IFD0 puis les pointeurs Exif et GPS. Il ignore délibérément le pointeur d'interopérabilité en tant que valeur destinée à l'utilisateur et ne poursuit pas les vignettes IFD1 de manière récursive. Appeler cela le modèle d’annuaire EXIF complet serait faux ; il s’agit du sous-ensemble limité nécessaire à l’emplacement lisible du produit, à son identité, à son horodatage, à ses logiciels et à ses domaines techniques.
Numérotation des balises et types de données : pourquoi Make est 0x010F, pourquoi les rationnels sont des paires d'entiers et pourquoi les chaînes se terminent par un octet nul
Les balises sont des identifiants numériques interprétés dans le contexte de leur répertoire, tandis que les types de champs déterminent la largeur d'octet et le décodage. Les valeurs ASCII, entières et rationnelles reçoivent un traitement différent. Les balises inconnues sont étiquetées par un nombre hexadécimal plutôt que devinées, et toute balise inconnue dans le répertoire GPS reste classée comme emplacement car son répertoire fournit ce contexte.
Limites de mise en œuvre qui comptent aujourd'hui
Les limites opérationnelles comptent ici plus qu'une chronologie de version. Un répertoire est limité aux entrées 512, les valeurs des éléments 64 et les décalages hors plage sont ignorés. Les composants internes de MakerNote et IFD1 ne sont pas décodés. Ces limites empêchent un bloc mal formé ou hostile de transformer un visualiseur de métadonnées en un analyseur illimité tout en permettant la suppression de l'intégralité de son bloc conteneur.
Ce que cela ne couvre pas : la compression JPEG elle-même et les formats privés de MakerNote
Le lecteur JPEG analyse uniquement APP1 Exif pour l'affichage, pas le contenu XMP ou IPTC, et les images TIFF, DNG et RAW non prises en charge sont rejetées malgré le partage des structures associées. Un profil de couleur est volontairement conservé lors du nettoyage. L'outil démontre donc une utilisation contenue d'un répertoire TIFF sans prétendre être un moteur général de métadonnées TIFF ou médico-légales.
À retenir : EXIF est autonome de par sa conception : l'outil de confidentialité des métadonnées d'image peut vous montrer les répertoires et supprimer le bloc entier sans toucher à l'image.
EXIF est suffisamment autonome pour l'inspection et la suppression de blocs entiers : recherchez le bloc conteneur, analysez les répertoires délimités que vous prenez en charge ou supprimez le bloc sans analyser chaque octet privé. Ouvrez une photo, comparez les champs IFD0, Exif et GPS dans le tableau et gardez la distinction entre la couverture lisible et la couverture de suppression visible tout au long du flux de travail.