हस्ताक्षर समझौता का पता लगाना

हस्ताक्षर समझौता का पता लगाना

हस्ताक्षर समझौता का पता लगाना

SignaturesCompromiseDetector इस मार्गदर्शिका का प्रवेश बिंदु है: यह एक हस्ताक्षरित दस्तावेज़ के संशोधन इतिहास की जाँच करता है ताकि यह पता लगाया जा सके कि अंतिम हस्ताक्षर लागू होने के बाद सामग्री जोड़ी गई है या नहीं, और जो यह पाता है उसे एक CompromiseCheckResult के रूप में रिपोर्ट करता है। यह सुरक्षा सतह इस ज्ञान आधार के क्लस्टर द्वारा कवर की गई है — यह हस्ताक्षर बनाने या लागू करने, या दस्तावेज़ एन्क्रिप्शन को कवर नहीं करता; यह केवल उन हस्ताक्षरों की जाँच करता है जो पहले से ही दस्तावेज़ पर मौजूद हैं।


समझौता जांच चलाना

SignaturesCompromiseDetector को उस दस्तावेज़ के साथ बनाएं जिसे आप जांचना चाहते हैं, फिर SignaturesCompromiseDetector.check() को कॉल करें। यह जांच दस्तावेज़ पर पहले से मौजूद प्रत्येक हस्ताक्षर को क्रमबद्ध करती है और अंतिम हस्ताक्षरित संशोधन के बाद जोड़े गए अनहस्ताक्षरित बाइट्स की तलाश करती है — यह संकेत है कि सामग्री बाद में जोड़ी गई हो सकती है — जबकि वैध दीर्घकालिक-सत्यापन सामग्री (जैसे दस्तावेज़ सुरक्षा स्टोर या संग्रह टाइमस्टैम्प) को सहन करती है जो बाद में, कवरिंग हस्ताक्षर द्वारा जोड़ी गई है।


परिणाम की व्याख्या

SignaturesCompromiseDetector.check() चार गुणों के साथ एक CompromiseCheckResult लौटाता है:

  • CompromiseCheckResult.has_compromised_signatures — True यदि किसी भी हस्ताक्षर ने छेड़छाड़ संकेतक दिखाया।
  • CompromiseCheckResult.compromised — CompromiseCheckResult.has_compromised_signatures का प्रतिबिंब है, जिसे केवल-पढ़ने योग्य सुविधा उपनाम के रूप में प्रदान किया गया है।
  • CompromiseCheckResult.signatures_coverage — दस्तावेज़ पर डिटेक्टर द्वारा जांचे गए हस्ताक्षरों की संख्या।
  • CompromiseCheckResult.reasons — एक सूची जिसमें छोटे स्ट्रिंग्स होते हैं जो यह वर्णन करती हैं कि दस्तावेज़ को कब और क्यों फ़्लैग किया गया।

बिना हस्ताक्षर वाले दस्तावेज़, या पूरी तरह से कोई दस्तावेज़ न होने पर, इसे समझौता न किया गया बताया जाता है, जहाँ CompromiseCheckResult.signatures_coverage का मान 0 के बराबर होता है।


टिप्स और सर्वोत्तम प्रथाएँ

  • CompromiseCheckResult.compromised और CompromiseCheckResult.has_compromised_signatures को परस्पर वैकल्पिक मानें — वे हमेशा समान मान रिपोर्ट करते हैं।
  • CompromiseCheckResult.signatures_coverage की जाँच करें इससे पहले कि आप False परिणाम पर भरोसा करें: 0 कवरेज का मतलब है कि डिटेक्टर ने जांच के लिए कोई हस्ताक्षर नहीं पाया, न कि यह कि मौजूदा हस्ताक्षर अखंड पाए गए।
  • जब CompromiseCheckResult.has_compromised_signatures True हो तो CompromiseCheckResult.reasons पढ़ें — यह सूची बताती है कि कौन सा ह्यूरिस्टिक ट्रिगर हुआ, जो लॉगिंग या परिणाम को समीक्षक तक पहुँचाने में उपयोगी है।
  • SignaturesCompromiseDetector संशोधन इतिहास में छेड़छाड़ संकेतों की जांच करता है; यह स्वयं क्रिप्टोग्राफिक हस्ताक्षर की अखंडता को सत्यापित नहीं करता, इसलिए जहाँ यह आपके कार्यप्रवाह में महत्वपूर्ण हो, इसे दस्तावेज़ के अपने हस्ताक्षर-मान्यकरण परिणामों के साथ जोड़ें।

आम समस्याएँ

समस्याकारणसमाधान
CompromiseCheckResult.signatures_coverage 0 है एक दस्तावेज़ के लिए जिसे आप जानते हैं कि वह हस्ताक्षरित हैSignaturesCompromiseDetector बिना दस्तावेज़ के बनाया गया था, या दस्तावेज़ ऑब्जेक्ट में सुलभ हस्ताक्षर नहीं हैंकॉल करने से पहले, पुष्टि करें कि SignaturesCompromiseDetector को पास किया गया दस्तावेज़ अपने हस्ताक्षर उजागर करता है, फिर SignaturesCompromiseDetector.check() को कॉल करें
CompromiseCheckResult.reasons खाली है जबकि आप एक व्याख्या की अपेक्षा कर रहे थेCompromiseCheckResult.has_compromised_signatures इस दस्तावेज़ के लिए False हैकारण केवल तब ही भरे जाते हैं जब वास्तव में कोई समझौता संकेतक पाया गया हो; स्वच्छ परिणाम पर खाली सूची की उम्मीद की जाती है।
एक वैध रूप से अपडेट किया गया PDF (जैसे कि जिसमें दीर्घकालिक-प्रमाणीकरण टाइमस्टैम्प जोड़ा गया हो) को समझौता किया हुआ चिह्नित किया जाता है।बाद में जोड़ा गया भाग अगले हस्ताक्षर द्वारा पूरी तरह से कवर नहीं किया गया है या इसे केवल प्रमाणीकरण सामग्री के रूप में पहचाना नहीं गया है।सही कवरेज वाला हस्ताक्षर या टाइमस्टैम्प द्वारा अपडेट की पुष्टि करने के बाद जाँच को फिर से चलाएँ, और विशिष्ट ट्रिगर के लिए CompromiseCheckResult.reasons की जांच करें।

FAQ

वास्तव में CompromiseCheckResult.compromised क्या जांचता है?

यह CompromiseCheckResult.has_compromised_signatures के समान मान रिपोर्ट करता है: क्या SignaturesCompromiseDetector.check() ने दस्तावेज़ के हस्ताक्षरों में किसी भी छेड़छाड़ संकेत को पाया है।

क्या signatures_coverage का 0 होना दस्तावेज़ को सुरक्षित दर्शाता है?

नहीं — इसका मतलब है कि जाँच के लिए कोई हस्ताक्षर नहीं मिला। SignaturesCompromiseDetector उन हस्ताक्षरों की रिपोर्ट नहीं कर सकता जिन्हें वह देख नहीं सकता, इसलिए 0 कवरेज एक “जाँच के लिए कुछ नहीं” परिणाम है, न कि अखंडता की पुष्टि।

क्या SignaturesCompromiseDetector क्रिप्टोग्राफिक हस्ताक्षर बना या सत्यापित कर सकता है?

नहीं। यह केवल दस्तावेज़ के मौजूदा संशोधन इतिहास की जाँच करता है यह पता लगाने के लिए कि अंतिम हस्ताक्षर के बाद सामग्री जोड़ी गई थी या नहीं। हस्ताक्षर बनाना, लागू करना, या क्रिप्टोग्राफ़िक रूप से मान्य करना इस क्लास के दायरे से बाहर है।

क्या हस्ताक्षर के बाद वैध टाइमस्टैम्प जोड़ने से हमेशा समझौता खोज ट्रिगर होगी?

ज़रूरी नहीं। डिटेक्टर इस तरह डिज़ाइन किया गया है कि वह बाद में जोड़ी गई चीज़ को सहन कर सके, जब वह बाद के हस्ताक्षर द्वारा कवर की गई हो, या जब वह केवल वैधता सामग्री जोड़ती हो न कि नई सामग्री। यदि आपको कोई अप्रत्याशित खोज मिलती है तो CompromiseCheckResult.reasons देखें।


API Reference सारांश

क्लास/मेथडविवरण
SignaturesCompromiseDetectorअंतिम हस्ताक्षर के बाद हस्ताक्षरित दस्तावेज़ में छेड़छाड़ संकेतकों की जांच करता है।
SignaturesCompromiseDetector.check()जाँच चलाता है और एक CompromiseCheckResult लौटाता है
CompromiseCheckResultसमझौता जाँच का परिणाम
CompromiseCheckResult.compromisedCompromiseCheckResult.has_compromised_signatures के लिए केवल-पढ़ने योग्य उपनाम
CompromiseCheckResult.has_compromised_signaturesक्या कोई छेड़छाड़ संकेतक मिला
CompromiseCheckResult.signatures_coverageजांच की गई हस्ताक्षरों की संख्या
CompromiseCheckResult.reasonsकिसी भी खोज को समझाने वाली संक्षिप्त strings

यह भी देखें

 हिन्दी