Detectie van handtekeningcompromis

Detectie van handtekeningcompromis

Detectie van handtekeningcompromittering

SignaturesCompromiseDetector is de toegangspoort voor deze gids: het inspecteert de revisiegeschiedenis van een ondertekend document op indicatoren dat inhoud is toegevoegd nadat de laatste handtekening is toegepast, en rapporteert wat het vindt als een CompromiseCheckResult. Dit is het beveiligingsoppervlak dat door deze cluster van de kennisbank wordt gedekt — het omvat niet het creëren of toepassen van handtekeningen, of documentversleuteling; het onderzoekt alleen handtekeningen die al op een document bestaan.


Uitvoeren van een compromitteringscontrole

Construeer SignaturesCompromiseDetector met het document dat u wilt inspecteren, roep vervolgens SignaturesCompromiseDetector.check() aan. De controle doorloopt elke handtekening die al op het document aanwezig is en zoekt naar niet-ondertekende bytes die zijn toegevoegd na de laatste ondertekende revisie — een teken dat inhoud mogelijk later is toegevoegd — terwijl legitiem langetermijnvalidatiemateriaal (zoals een documentbeveiligingsopslag of archieftimestamp) dat door een latere, dekkende handtekening is toegevoegd, wordt getolereerd.


Resultaat interpreteren

SignaturesCompromiseDetector.check() retourneert een CompromiseCheckResult met vier eigenschappen:

  • CompromiseCheckResult.has_compromised_signatures — True als een handtekening een tamper indicator vertoonde.
  • CompromiseCheckResult.compromised — spiegelt CompromiseCheckResult.has_compromised_signatures, beschikbaar als een alleen-lezen alias voor gemak.
  • CompromiseCheckResult.signatures_coverage — het aantal handtekeningen dat de detector op het document onderzocht.
  • CompromiseCheckResult.reasons — een lijst met korte strings die beschrijven waarom het document werd gemarkeerd, wanneer dat gebeurde.

Een document zonder handtekeningen, of helemaal geen document, wordt gerapporteerd als niet gecompromitteerd, waarbij CompromiseCheckResult.signatures_coverage gelijk is aan 0.


Tips en beste werkwijzen

  • Beschouw CompromiseCheckResult.compromised en CompromiseCheckResult.has_compromised_signatures als uitwisselbaar — ze rapporteren altijd dezelfde waarde.
  • Controleer CompromiseCheckResult.signatures_coverage voordat je een False-resultaat vertrouwt: een dekking van 0 betekent dat de detector geen handtekeningen vond om te onderzoeken, niet dat bestaande handtekeningen als intact werden geverifieerd.
  • Lees CompromiseCheckResult.reasons wanneer CompromiseCheckResult.has_compromised_signatures True is — de lijst legt uit welke heuristiek werd geactiveerd, wat nuttig is bij het loggen of presenteren van het resultaat aan een beoordelaar.
  • SignaturesCompromiseDetector inspecteert de revisiegeschiedenis op tekenen van manipulatie; het valideert zelf niet de integriteit van cryptografische handtekeningen, dus combineer het met de eigen handtekeningvalidatieresultaten van het document waar dat belangrijk is voor uw workflow.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
CompromiseCheckResult.signatures_coverage is 0 voor een document waarvan je weet dat het ondertekend isSignaturesCompromiseDetector is geconstrueerd zonder een document, of het documentobject heeft geen toegankelijke handtekeningenBevestig dat het document dat aan SignaturesCompromiseDetector wordt doorgegeven zijn handtekeningen toont voordat je SignaturesCompromiseDetector.check() aanroept
CompromiseCheckResult.reasons is leeg, hoewel je een uitleg verwachtteCompromiseCheckResult.has_compromised_signatures is False voor dit documentRedenen worden alleen ingevuld wanneer er daadwerkelijk een indicatie van compromittering is gevonden; een lege lijst bij een schoon resultaat is te verwachten
Een legitiem bijgewerkte PDF (bijv. één met een toegevoegde timestamp voor langetermijnvalidatie) wordt gemarkeerd als gecompromitteerdDe latere toevoeging wordt niet volledig gedekt door een latere handtekening of wordt niet herkend als uitsluitend validatiemateriaalVoer de controle opnieuw uit nadat is bevestigd dat de update is gedaan met een juiste dekkende handtekening of timestamp, en inspecteer CompromiseCheckResult.reasons voor de specifieke trigger

FAQ

Wat controleert CompromiseCheckResult.compromised eigenlijk?

Het rapporteert dezelfde waarde als CompromiseCheckResult.has_compromised_signatures: of SignaturesCompromiseDetector.check() een teken van manipulatie heeft gevonden in de handtekeningen van het document.

Betekent een signatures_coverage van 0 dat het document veilig is?

Nee — het betekent dat er geen handtekeningen werden gevonden om te onderzoeken. SignaturesCompromiseDetector kan geen rapporteren over handtekeningen die het niet kan zien, dus een 0 dekking is een “niets te controleren” resultaat, geen bevestiging van integriteit.

Kan SignaturesCompromiseDetector een cryptografische handtekening maken of verifiëren?

Nee. Het inspecteert alleen de bestaande revisiegeschiedenis van een document op indicatoren dat inhoud is toegevoegd na de laatste handtekening. Het maken, toepassen of cryptografisch valideren van handtekeningen valt buiten wat deze klasse doet.

Zal het toevoegen van een legitieme tijdstempel na ondertekening altijd een compromitteringsbevinding veroorzaken?

Niet per se. De detector is ontworpen om een latere toevoeging te tolereren die zelf wordt gedekt door een latere handtekening, of die alleen validatiemateriaal toevoegt in plaats van nieuwe inhoud. Controleer CompromiseCheckResult.reasons als je een onverwachte bevinding ziet.


API Reference Samenvatting

Klasse/MethodeBeschrijving
SignaturesCompromiseDetectorInspecteert een ondertekend document op manipulatie-indicatoren na de laatste handtekening
SignaturesCompromiseDetector.check()Voert de controle uit en retourneert een CompromiseCheckResult
CompromiseCheckResultHet resultaat van een compromiscontrole
CompromiseCheckResult.compromisedAlleen-lezen alias voor CompromiseCheckResult.has_compromised_signatures
CompromiseCheckResult.has_compromised_signaturesOf er een tamper-indicator werd gevonden
CompromiseCheckResult.signatures_coverageHet aantal getoetste handtekeningen
CompromiseCheckResult.reasonsKorte strings die een eventuele bevinding uitleggen

Zie ook

 Nederlands