छवियाँ और तस्वीरें · छवि मेटाडेटा गोपनीयता टूल
EXIF, TIFF और IFDs: 1990 के दशक की संरचना अभी भी हर तस्वीर के अंदर है
· पेजभूमि
exif फ़ाइल स्वरूपों छवि-गोपनीयता
EXIF को 1995 में प्रकाशित किया गया था और इसका डेटा मॉडल TIFF से उधार लिया गया था, यही कारण है कि JPEG के अंदर एक मेटाडेटा ब्लॉक वास्तव में निर्देशिकाओं, टैग और ऑफसेट के साथ एक छोटी TIFF फ़ाइल है। संरचना को जानने से पता चलता है कि एक स्ट्रिपर सफाई से क्या हटा सकता है और क्यों।
एक TIFF फ़ाइल आपके JPEG के अंदर छिपी हुई है - यह पहेली कि EXIF बाकी JPEG प्रारूप के समान क्यों नहीं दिखती है
JPEG में TIFF छवि के बिना TIFF आकार की डेटा संरचना हो सकती है। इसका APP1 Exif पेलोड एक पहचानकर्ता और फिर TIFF हेडर से शुरू होता है, जिसके ऑफसेट और निर्देशिकाएं कैमरा, समय और GPS मान व्यवस्थित करती हैं। साझा पार्सर PNG eXIf और WebP EXIF खंडों में पाए जाने वाले TIFF ब्लॉकों का भी उपभोग करता है, यही कारण है कि एक रीडर तीन कंटेनरों को परोसता है।
रिपॉजिटरी EXIF की मूल तिथि स्थापित नहीं करती है
कार्यपुस्तिका ने एक मूल कहानी और वर्ष प्रदान किया, लेकिन यहां उपयोग किए गए भंडार स्रोत मानक इतिहास, संगठन या प्रकाशन तिथियां स्थापित नहीं करते हैं। किसी उद्धृत कालक्रम को दोहराने के बजाय, यह खंड उपयोगी तथ्य को कोड में दर्ज करता है: EXIF पेलोड TIFF बाइट ऑर्डर, जादू और निर्देशिका यांत्रिकी का उपयोग करते हैं जो एक ब्राउज़र पार्सर चित्र डेटा को डिकोड किए बिना निरीक्षण कर सकता है।
TIFF का निर्देशिका मॉडल - हेडर, बाइट-ऑर्डर मार्कर, IFD0, और 12-बाइट प्रविष्टियाँ टैग, प्रकार, गिनती और मूल्य या ऑफसेट के साथ
TIFF हेडर बताता है कि मल्टीबाइट मान छोटे हैं या बड़े-एंडियन, एक जादुई मान रखता है और IFD0 को इंगित करता है। प्रत्येक निर्देशिका एक गिनती से शुरू होती है और टैग, प्रकार, मूल्य गणना और या तो इनलाइन डेटा या ऑफसेट युक्त निश्चित आकार की प्रविष्टियों को संग्रहीत करती है। वह व्यवस्था छोटे मानों को प्रविष्टि में बैठने देती है जबकि लंबी स्ट्रिंग और परिमेय ब्लॉक में कहीं और रहते हैं।
यह पार्सर वास्तव में जिन निर्देशिकाओं का अनुसरण करता है
यह कार्यान्वयन IFD0 और फिर Exif और GPS पॉइंटर्स का अनुसरण करता है। यह जानबूझकर उपयोगकर्ता-सामना वाले मान के रूप में इंटरऑपरेबिलिटी पॉइंटर को छोड़ देता है और IFD1 थंबनेल का पुनरावर्ती रूप से पीछा नहीं करता है। यह कहना कि संपूर्ण EXIF निर्देशिका मॉडल ग़लत होगा; यह उत्पाद के पठनीय स्थान, पहचान, टाइमस्टैम्प, सॉफ्टवेयर और तकनीकी क्षेत्रों के लिए आवश्यक सीमित उपसमुच्चय है।
टैग नंबरिंग और डेटा प्रकार - मेक 0x010F क्यों है, परिमेय पूर्णांकों के जोड़े क्यों हैं, और स्ट्रिंग एक शून्य बाइट में क्यों समाप्त होती हैं
टैग संख्यात्मक पहचानकर्ता हैं जिनकी व्याख्या उनकी निर्देशिका के संदर्भ में की जाती है, जबकि फ़ील्ड प्रकार बाइट की चौड़ाई और डिकोडिंग निर्धारित करते हैं। ASCII, पूर्णांक और तर्कसंगत मानों को अलग-अलग उपचार प्राप्त होता है। अज्ञात टैग को अनुमान लगाने के बजाय हेक्साडेसिमल संख्या द्वारा लेबल किया जाता है, और GPS निर्देशिका के अंदर कोई भी अज्ञात टैग स्थान के रूप में वर्गीकृत रहता है क्योंकि इसकी निर्देशिका उस संदर्भ की आपूर्ति करती है।
कार्यान्वयन सीमाएँ जो आज मायने रखती हैं
यहां संस्करण समयरेखा की तुलना में परिचालन सीमाएं अधिक मायने रखती हैं। एक निर्देशिका को 512 प्रविष्टियों पर सीमित कर दिया जाता है, 64 तत्वों पर मान और आउट-ऑफ़-रेंज ऑफ़सेट छोड़ दिए जाते हैं। मेकरनोट इंटरनल्स और IFD1 डीकोड नहीं किए गए हैं। ये सीमाएँ एक विकृत या प्रतिकूल ब्लॉक को मेटाडेटा व्यूअर को एक अनबाउंड पार्सर में बदलने से रोकती हैं, जबकि इसके पूरे कंटेनर ब्लॉक को हटाने की अनुमति देती हैं।
इसमें क्या शामिल नहीं है - JPEG संपीड़न स्वयं और मेकरनोट के निजी प्रारूप
JPEG रीडर प्रदर्शन के लिए केवल APP1 Exif को पार्स करता है, XMP या IPTC सामग्री को नहीं, और असमर्थित TIFF, DNG और RAW छवियों को संबंधित संरचनाओं को साझा करने के बावजूद अस्वीकार कर दिया जाता है। सफ़ाई के दौरान जानबूझकर एक रंगीन प्रोफ़ाइल रखी जाती है। इसलिए टूल सामान्य TIFF या फोरेंसिक मेटाडेटा इंजन होने का दावा किए बिना एक निहित TIFF-निर्देशिका उपयोग को प्रदर्शित करता है।
टेकअवे: EXIF डिज़ाइन द्वारा स्व-निहित है - छवि मेटाडेटा गोपनीयता टूल आपको निर्देशिका दिखा सकता है और छवि को छुए बिना पूरे ब्लॉक को हटा सकता है
EXIF संपूर्ण-ब्लॉक निरीक्षण और निष्कासन के लिए पर्याप्त रूप से स्व-निहित है: कंटेनर ब्लॉक ढूंढें, आपके द्वारा समर्थित बाउंडेड निर्देशिकाओं को पार्स करें या प्रत्येक निजी बाइट को पार्स किए बिना ब्लॉक को छोड़ दें। एक फोटोग्राफ खोलें, तालिका में IFD0, Exif और GPS फ़ील्ड की तुलना करें, और पठनीय कवरेज और निष्कासन कवरेज के बीच अंतर को पूरे वर्कफ़्लो में दृश्यमान रखें।