Ανίχνευση Παραβίασης Υπογραφής

Ανίχνευση Παραβίασης Υπογραφής

Ανίχνευση Παραβίασης Υπογραφής

SignaturesCompromiseDetector είναι το σημείο εισόδου για αυτόν τον οδηγό: εξετάζει το ιστορικό εκδόσεων ενός υπογεγραμμένου εγγράφου για ενδείξεις ότι περιεχόμενο προστέθηκε μετά την εφαρμογή της τελευταίας υπογραφής, και αναφέρει τα ευρήματά του ως CompromiseCheckResult. Αυτή είναι η ασφαλιστική επιφάνεια που καλύπτεται από αυτό το σύμπλεγμα της βάσης γνώσεων — δεν καλύπτει τη δημιουργία ή την εφαρμογή υπογραφών, ή την κρυπτογράφηση εγγράφων· εξετάζει μόνο υπογραφές που υπάρχουν ήδη σε ένα έγγραφο.


Διεξαγωγή Ελέγχου Παραβίασης

Δομήστε το SignaturesCompromiseDetector με το έγγραφο που θέλετε να εξετάσετε, στη συνέχεια καλέστε το SignaturesCompromiseDetector.check(). Ο έλεγχος διατρέχει κάθε υπογραφή που υπάρχει ήδη στο έγγραφο και ψάχνει για μη υπογεγραμμένα byte που έχουν προστεθεί μετά την τελευταία υπογεγραμμένη έκδοση — ένδειξη ότι το περιεχόμενο μπορεί να έχει επιπλέον στρώσεις — ενώ επιτρέπει το νόμιμο υλικό μακροπρόθεσμης επικύρωσης (όπως αποθήκευση ασφαλείας εγγράφου ή χρονική σήμανση αρχείου) που προστέθηκε από μεταγενέστερη, καλυπτική υπογραφή.


Ερμηνεία του Αποτελέσματος

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.reasons όταν το CompromiseCheckResult.has_compromised_signatures είναι True — η λίστα εξηγεί ποια ευρετική ενεργοποιήθηκε, κάτι χρήσιμο κατά την καταγραφή ή την παρουσίαση του αποτελέσματος σε έναν ελεγκτή.
  • SignaturesCompromiseDetector εξετάζει το ιστορικό εκδόσεων για ενδείξεις παραποίησης· δεν επικυρώνει την ακεραιότητα της κρυπτογραφικής υπογραφής από μόνη της, επομένως συνδυάστε το με τα αποτελέσματα επικύρωσης υπογραφής του εγγράφου όπου αυτό έχει σημασία για τη ροή εργασίας σας.

Κοινά Προβλήματα

ΠρόβλημαΑιτίαΔιόρθωση
CompromiseCheckResult.signatures_coverage είναι 0 για ένα έγγραφο που γνωρίζετε ότι είναι υπογεγραμμένοSignaturesCompromiseDetector δημιουργήθηκε χωρίς έγγραφο, ή το αντικείμενο εγγράφου δεν έχει προσβάσιμες υπογραφέςΕπιβεβαιώστε ότι το έγγραφο που περνάει στο SignaturesCompromiseDetector εκθέτει τις υπογραφές του πριν καλέσετε το SignaturesCompromiseDetector.check()
CompromiseCheckResult.reasons είναι κενό παρόλο που περιμένατε μια εξήγησηCompromiseCheckResult.has_compromised_signatures είναι False για αυτό το έγγραφοΟι λόγοι συμπληρώνονται μόνο όταν εντοπιστεί πραγματικά δείκτης παραβίασης· αναμένεται μια κενή λίστα σε καθαρό αποτέλεσμα
Ένα νόμιμα ενημερωμένο PDF (π.χ. ένα με προστιθέμενο long-term-validation timestamp) επισημαίνεται ως παραβιασμένοΗ μεταγενέστερη προσθήκη δεν καλύπτεται πλήρως από μια επακόλουθη υπογραφή ή δεν αναγνωρίζεται ως validation-only materialΕπαναλάβετε τον έλεγχο αφού επιβεβαιώσετε ότι η ενημέρωση έγινε από μια κατάλληλη καλυπτική υπογραφή ή χρονική σήμανση, και εξετάστε το CompromiseCheckResult.reasons για το συγκεκριμένο trigger

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.compromisedΨευδώνυμο μόνο για ανάγνωση για CompromiseCheckResult.has_compromised_signatures
CompromiseCheckResult.has_compromised_signaturesΕάν βρέθηκε δείκτης παραποίησης
CompromiseCheckResult.signatures_coverageΟ αριθμός των υπογραφών που εξετάστηκαν
CompromiseCheckResult.reasonsΣύντομες συμβολοσειρές που εξηγούν οποιαδήποτε ευρέση

Δείτε επίσης

 Ελληνικά