Handtekeningen – Niveaus

Er zijn meerdere niveaus van digitale handtekeningen (zowel digitale als certificerende handtekeningen) mogelijk. Elk niveau biedt extra garanties over de handtekening.
B – Basic Signature

Een basishandtekening is een cryptografische handtekening met bijbehorend ondertekeningscertificaat en -keten. Zij biedt authenticiteit (we weten wie heeft ondertekend) en integriteit (we weten wat is ondertekend en dat het niet is gewijzigd) van het document. Het is het minimaal mogelijke (bruikbare) handtekeningniveau.

T – Basic Signature with Timestamp

Een basishandtekening biedt garanties voor authenticiteit en integriteit, maar geeft geen betrouwbare indicatie van het tijdstip waarop de handtekening is aangemaakt. Een tijdstempel is een extra soort handtekening die door een TSA (Time Stamping Authority) wordt aangemaakt en aan de handtekening wordt gekoppeld. Het toevoegen van een tijdstempel aan een ondertekend document levert het bewijs dat de handtekening op (of voor) een specifiek tijdstip heeft bestaan. Indien een tijdstempel is toegevoegd direct nadat het document is ondertekend, kan het tijdstip van de stempel worden beschouwd als het tijdstip van ondertekening. Het antwoord van de tijdstempelautoriteit wordt ondertekend door de tijdstempelautoriteit.

Wanneer er geen tijdstempel wordt gebruikt, is de ondertekeningstijd de tijd waarop gegevens aan het document zijn toegevoegd. Omdat dit elke datum/tijd kan zijn (meestal de “lokale” of “server” tijd) en er geen manier is om de juistheid ervan te controleren, moet deze tijd als niet betrouwbaar worden beschouwd (met misschien een uitzondering voor interne systemen). Daarom wordt aanbevolen altijd een tijdstempel aan het document toe te voegen door ten minste het niveau van ondertekening te kiezen.

LTA – Long Term Archival (wordt nog niet ondersteund)

Zelfs wanneer alle informatie in het document staat, kunnen zich na verloop van tijd andere problemen voordoen. Een opmerkelijk voorbeeld is het feit dat bepaalde ondertekeningsalgoritmen, hashing-algoritmen en sleutelgrootten na verloop van tijd zwakker kunnen worden. Om dit tegen te gaan kan aan het document een tijdstempel worden toegevoegd; deze tijdstempel creëert een handtekening waarbij, op het tijdstip van creatie, veilige algoritmen, sleutels, enz. worden gebruikt en dit wordt berekend over de volledige inhoud van het document, met vermelding van een vertrouwd tijdstip waarop het tijdstempel op het document werd aangebracht. Dit proces kan tijdens de levensduur van een document meerdere malen worden uitgevoerd en wordt meestal gebruikt in archiveringssystemen. Wanneer een documenttijdstempel aan het document wordt toegevoegd, moeten ook ontbrekende herroepingsgegevens aan het document worden toegevoegd, zodat een nieuw pakket met alle valideringsgegevens ontstaat en de integriteit van het document en zijn handtekeningen behouden blijft.

LT – Long Term Validation (LTV)

Certificaten die in PKI worden gebruikt, kunnen voor het einde van hun geldigheid worden ingetrokken (bijvoorbeeld wanneer de particuliere sleutel verloren gaat of wordt gecompromitteerd). CA’s kunnen 2 diensten aanbieden om te controleren of een certificaat niet is ingetrokken. Gewoonlijk wordt deze dienst aangeroepen voordat een certificaat wordt gebruikt (bijvoorbeeld het aanmaken van handtekeningen) of wanneer een certificaat wordt gevalideerd (bijvoorbeeld het opbouwen van een certificaatketen).

CRL – Certificate Revocation List

Dit is het oudste mechanisme en is in feite een lijst van certificaatserienummers die zijn ingetrokken. Als het serienummer van een certificaat op de lijst van ingetrokken certificaten staat, kan het niet worden gebruikt. De lijst is ondertekend door de CA en bevat de uitgiftetijd en wanneer u een volgende update kunt verwachten. Doorgaans is een CRL enkele uren geldig, waarna een update wordt gepubliceerd. Gedurende deze tijdspanne kan de CRL worden hergebruikt en dus in de cache worden opgeslagen. Merk echter op dat updates kunnen worden gepubliceerd vóór de aangekondigde updatetijd.

OCSP – Online Certificate Status Protocol

Het online-certificaatstatusprotocol is een recenter mechanisme, het is gebaseerd op verzoek/antwoord. Men stuurt het serienummer naar de OCSP responder, de OCSP responder antwoordt met de status van het certificaat. Het antwoord van de OCSP-responder is ook ondertekend en bevat het tijdstip van het antwoord.

De beschikbaarheid van één of beide diensten voor een certificaat wordt aangegeven door extensies in het certificaat.

Bij het valideren van een handtekening is een van de stappen in het proces het controleren of geen van de gebruikte certificaten is ingetrokken. Omdat de validatie wordt uitgevoerd nadat de handtekening is aangemaakt, op een moment dat het certificaat mogelijk niet meer geldig is omdat het is verlopen of omdat het is ingetrokken. Dit zou betekenen dat de handtekening als ongeldig wordt beschouwd, terwijl deze op het moment van ondertekening nog geldig was. Dit probleem kan worden opgelost door bij de ondertekening het OCSP- of CRL-antwoord in het document op te nemen. OCSP heeft altijd de voorkeur boven CRL, omdat het kleiner en fijnmaziger is. Bij het valideren van de handtekening kan de ingesloten intrekkingsinformatie worden gebruikt om te controleren of een certificaat niet is ingetrokken op het tijdstip van ondertekening.

De iSigner Client Library ondersteunt CRL-distributiepunten van het certificaat (via HTTP(s)), evenals OCSP (via HTTP(s)). Indien nodig kunnen de CRL’s worden gedownload van het distributiepunt van de certificaten en opgeslagen voor hergebruik tijdens hun geldigheidsvenster.

Als het certificaat geldig is, sluit de iSigner Client Library de digitaal ondertekende CRL of OCSP-respons in de handtekening in. Dit toont aan dat het certificaat geldig was op het moment van certificering, zelfs als het document later wordt geopend nadat het certificaat is verlopen of ingetrokken. Alleen documenten die na intrekking zijn ondertekend, worden beïnvloed als het OCSP/CRL-antwoord in de handtekening is opgenomen. Indien er geen OCSP/CRL-antwoord in de handtekening is opgenomen, vervalt de geldigheid van de handtekening met de geldigheid van het certificaat dat is gebruikt om het document te ondertekenen.