Aláírás kompromittálásának észlelése
Az aláírási kompromisszum felismerése
SignaturesCompromiseDetector a útmutató belépési pontja: ellenőrzi egy aláírt dokumentum revíziótörténetét, hogy vannak-e jelek arra, hogy a tartalmat az utolsó aláírás után adták hozzá, és az eredményt CompromiseCheckResult formájában jelenti. Ez a biztonsági felület, amelyet ez a tudásbázis-kör lefed—nem foglalkozik aláírások létrehozásával vagy alkalmazásával, illetve a dokumentum titkosításával; csak a dokumentumon már meglévő aláírásokat vizsgálja.
Kompromisszum-ellenőrzés futtatása
Állítsd össze a SignaturesCompromiseDetector-t a vizsgálandó dokumentummal, majd hívd meg a SignaturesCompromiseDetector.check()-t. Az ellenőrzés végigjárja a dokumentumon már meglévő összes aláírást, és keres olyan aláíratlan bájtokat, amelyek az utolsó aláírt revízió után lettek hozzáfűzve—ez arra utal, hogy a tartalom később lett ráhelyezve—miközben tolerálja a jogos hosszú távú validációs anyagokat (például egy dokumentumbiztonsági tárolót vagy archív időbélyeget), amelyeket egy későbbi, lefedő aláírás ad hozzá.
Az eredmény értelmezése
SignaturesCompromiseDetector.check() egy CompromiseCheckResult-t ad vissza négy tulajdonsággal:
CompromiseCheckResult.has_compromised_signatures—True, ha bármely aláírás manipulációs jelet mutatott.CompromiseCheckResult.compromised— tükrözi aCompromiseCheckResult.has_compromised_signaturesértéket, csak olvasható kényelmi aliasként.CompromiseCheckResult.signatures_coverage— a detektor által a dokumentumban vizsgált aláírások száma.CompromiseCheckResult.reasons— egy lista rövid karakterláncokról, amelyek leírják, miért és mikor lett a dokumentum megjelölve.
A dokumentum, amelynek nincsenek aláírásai, vagy egyáltalán nincs dokumentum, nem kompromittáltnak jelentett, ahol a CompromiseCheckResult.signatures_coverage értéke 0.
Tippek és bevált gyakorlatok
- A
CompromiseCheckResult.compromisedésCompromiseCheckResult.has_compromised_signaturestekinthető felcserélhetőnek — mindig ugyanazt az értéket jelentik. - Ellenőrizze a
CompromiseCheckResult.signatures_coverageértékét, mielőtt megbízna egyFalseeredményben: a0lefedettség azt jelenti, hogy a detektor nem talált aláírásokat vizsgálatra, nem pedig azt, hogy a meglévő aláírások sértetlennek bizonyultak. - Olvassa el a
CompromiseCheckResult.reasonsértékét, amikor aCompromiseCheckResult.has_compromised_signaturesTrue— a lista megmagyarázza, melyik heurisztika aktiválódott, ami hasznos a naplózásnál vagy az eredmény felülvizsgálóhoz való bemutatásakor. SignaturesCompromiseDetectora verziótörténetet ellenőrzi a manipuláció jeleiért; önmagában nem ellenőrzi a kriptográfiai aláírás integritását, ezért párosítsa a dokumentum saját aláírás-ellenőrzési eredményeivel, ahol ez a munkafolyamatában fontos.
Gyakori problémák
| Probléma | Ok | Javítás |
|---|---|---|
CompromiseCheckResult.signatures_coverage 0 egy olyan dokumentum esetén, amelyről tudod, hogy alá van írva | SignaturesCompromiseDetector dokumentum nélkül lett létrehozva, vagy a dokumentumobjektumnak nincs elérhető aláírása | Ellenőrizd, hogy a SignaturesCompromiseDetector számára átadott dokumentum tartalmazza-e az aláírásait, mielőtt meghívod a SignaturesCompromiseDetector.check()-t |
CompromiseCheckResult.reasons üres, pedig magyarázatot vártál | CompromiseCheckResult.has_compromised_signatures False ehhez a dokumentumhoz | Az okok csak akkor kerülnek feltöltésre, ha valóban találtak kompromisszum jelet; egy üres lista egy tiszta eredménynél várható |
| Egy jogszerűen frissített PDF (például egy hozzáadott hosszú távú érvényesítési időbélyeggel) kompromittáltnak van jelölve. | Az későbbi hozzáadás nem teljesen fedi le egy későbbi aláírás, vagy nem ismerik fel csak érvényesítési anyagként. | Futtassa újra az ellenőrzést, miután megerősítette, hogy a frissítést megfelelő lefedő aláírás vagy időbélyeg végezte, és ellenőrizze a(z) CompromiseCheckResult.reasons elemet a konkrét triggerért. |
FAQ
Mit ellenőriz valójában a CompromiseCheckResult.compromised?
Ugyanazt az értéket jelenti, mint a CompromiseCheckResult.has_compromised_signatures: hogy a SignaturesCompromiseDetector.check() talált-e manipuláció jeleit a dokumentum aláírásai között.
Jelent-e egy signatures_coverage 0 esetén, hogy a dokumentum biztonságos?
Nem — ez azt jelenti, hogy nem találtak aláírásokat, amelyeket meg lehetne vizsgálni. A SignaturesCompromiseDetector nem tud jelentést készíteni olyan aláírásokról, amelyeket nem lát, ezért a 0 lefedettség egy „nincs mit ellenőrizni” eredmény, nem pedig az integritás megerősítése.
Képes a SignaturesCompromiseDetector kriptográfiai aláírást létrehozni vagy ellenőrizni?
Nem. Csak a dokumentum meglévő változatelőzményét vizsgálja olyan jelek után, hogy tartalom került hozzáadásra az utolsó aláírás után. Aláírások létrehozása, alkalmazása vagy kriptográfiai ellenőrzése kívül esik ennek az osztálynak a feladatai közül.
A hiteles időbélyegzés aláírás után való hozzáadása mindig kompromittálási találatot eredményez?
Nem feltétlenül. A detektor úgy van tervezve, hogy tolerálja a későbbi hozzáadást, ha azt egy későbbi aláírás lefedi, vagy ha csak érvényesítési anyagot ad hozzá új tartalom helyett. Nézd meg a(z) CompromiseCheckResult.reasons-t, ha váratlan találatot látsz.
API Reference Összegzés
| Osztály/Módszer | Leírás |
|---|---|
SignaturesCompromiseDetector | Ellenőrzi a aláírt dokumentumot a manipuláció jeleiért az utolsó aláírás után. |
SignaturesCompromiseDetector.check() | Futtatja az ellenőrzést, és visszaad egy CompromiseCheckResult |
CompromiseCheckResult | A kompromisszum-ellenőrzés eredménye |
CompromiseCheckResult.compromised | Csak olvasható alias a CompromiseCheckResult.has_compromised_signatures számára |
CompromiseCheckResult.has_compromised_signatures | Találtak-e manipulációs jelzőt |
CompromiseCheckResult.signatures_coverage | A vizsgált aláírások száma |
CompromiseCheckResult.reasons | Rövid karakterláncok, amelyek leírják a megállapításokat |