Een digitale handtekening is niet zomaar een mooie stempel op een PDF. Het is het technische mechanisme dat twee dingen bewijst: een elektronisch document is afkomstig van een specifieke persoon, en dat document is niet meer aangeraakt sinds zij het hebben ondertekend. Zonder dit is het verzenden van een spreadsheet of een contract via e-mail in feite het verzenden van een ansichtkaart. Iedereen kan het lezen. Iedereen kan in de kantlijn krabbelen.
Authenticiteit in de digitale wereld is afhankelijk van encryptie. Dit gaat niet alleen over het verbergen van gegevens. Het gaat erom het te coderen, zodat alleen de beoogde ontvanger het kan decoderen. Authenticatie verifieert de bron. Deze twee processen worden samengevoegd om een digitale handtekening te creëren die onder de loep blijft.
De hiërarchie van verificatie
Computers gebruiken verschillende methoden om identiteit te bewijzen. Ze zijn niet allemaal gelijk geschapen.
Wachtwoorden zijn de meest voorkomende poortwachters. U typt een gebruikersnaam en een geheime zin. Het systeem vergelijkt dit paar met een beveiligde database. Overeenkomst? Je doet mee. Mismatch? Je bent buitengesloten. Het is eenvoudig. Het is alomtegenwoordig. Maar het bewijst niet dat een document niet is gewijzigd nadat u de kamer heeft verlaten.
Checksums zijn ouder, eenvoudiger en worden vaak verkeerd begrepen. Ze verifiëren de gegevensintegriteit. Als een enkele byte verandert, wordt de controlesom verbroken. Hier leest u hoe het in de praktijk werkt. Stel je een datapakket voor met acht bytes. Het systeem telt ze bij elkaar op. Als het totaal 255 of minder is, is de controlesom dat getal. Als deze groter is dan 255, is de controlesom de rest wanneer gedeeld door 256.
Laten we eens kijken naar de wiskunde voor een specifiek pakket:
- Byte 1: 212
- Byte 2: 232
- Byte 3: 54
- Byte 4: 135
- Byte 5: 244
- Byte 6: 15
- Byte 7: 179
- Byte 8: 80
De som is 1151. Verdeel 1151 door 256. Je krijgt 4,496. Rond af naar 4. Vermenigvuldig 4 met 256. Dat is gelijk aan 1024. Trek 1024 af van 1151. Het resultaat is een controlesom van 127.
Als iemand ook maar één byte van die gegevens verandert, zal de nieuwe som niet 127 opleveren als deze door dezelfde modulo 256-berekening wordt uitgevoerd. De integriteit is verbroken.
CRC’s: beter in het opsporen van fouten
Cyclische Redundantiecontroles (CRC’s) maken het controlesomconcept robuuster. In plaats van eenvoudige optelling gebruiken CRC’s polynomiale deling. De resulterende waarde is gewoonlijk 16 of 32 bits lang. Deze methode is zeer nauwkeurig bij het opsporen van transmissiefouten. Als een enkel bit tijdens het transport omdraait, komt de CRC niet overeen.
CRC’s en controlesommen hebben echter een fatale fout. Ze bieden geen bescherming tegen opzettelijke aanvallen. Een hacker kan de gegevens wijzigen en de controlesom of CRC opnieuw berekenen. De wiskunde zal nog steeds kloppen. De ontvanger kan op geen enkele manier weten dat de gegevens kwaadwillig zijn gewijzigd. Om dat te voorkomen heb je encryptie nodig.
Versleuteling van privésleutels: het gedeelde geheim
Versleuteling met privésleutels, ook wel symmetrische versleuteling genoemd, is afhankelijk van een gedeeld geheim. Zowel de afzender als de ontvanger moeten over dezelfde sleutel beschikken. Zie het als een cijferwiel. U spreekt vooraf af dat “A” “C” wordt en “B” “D”. Je verschuift elke letter twee plekken.
U verzendt het gecodeerde bericht. Je vriend, die de regel “Shift by 2” kent, decodeert het. Iedereen die het bericht onderschept, ziet alleen maar onzin. De veiligheid ligt in de geheimhouding van de sleutel. Het nadeel? Je moet erop vertrouwen dat de sleutel aan beide kanten geheim blijft. Als één computer wordt gehackt, wordt de andere blootgesteld.
Encryptie met publieke sleutels: de asymmetrische oplossing
Dit is waar digitale handtekeningen serieus worden. Bij codering met openbare sleutels wordt gebruik gemaakt van een paar sleutels. Een privésleutel, geheim gehouden door de eigenaar. En een publieke sleutel, gedeeld met iedereen die veilig wil communiceren.
Om een beveiligd bericht te versturen, gebruik je de publieke sleutel van de ontvanger. Ze decoderen het met hun privésleutel. Maar voor een digitale handtekening draait het proces om. U ondertekent het document met uw privésleutel. Anderen verifiëren het met uw openbare sleutel.
De beveiligingsbackbone hier is de hashwaarde. Een hash-algoritme neemt de originele gegevens en produceert een tekenreeks met een vaste grootte. Deze hash is uniek voor die specifieke gegevens. Het is bijna onmogelijk om de oorspronkelijke invoer van de hash te reverse-engineeren.
Beschouw een grof voorbeeld van een hash-algoritme:
Voer nummer 10667 in
Hashing-algoritme = Invoer # x 143
De resulterende hash is gekoppeld aan die specifieke invoer. Verander de invoer en de hash verandert volledig. Deze eigenschap, gecombineerd met asymmetrische encryptie, zorgt ervoor dat een digitale handtekening niet alleen een claim op auteurschap is, maar er ook een wiskundig bewijs van is.
Zoek uit hoe 1525381 het resultaat is van de vermenigvuldiging van 10667 met 143. Veel succes. Het is eenrichtingsverkeer. De wiskunde maakt het gemakkelijk om vooruit te gaan, maar bijna onmogelijk om achteruit te gaan zonder de oorspronkelijke factor. Als je wist dat 143 de vermenigvuldiger was, is het vinden van 10667 triviaal. Encryptie met publieke sleutels is niet zo eenvoudig, maar de logica klopt. Het is afhankelijk van complexe algoritmen en enorme hashwaarden. We hebben het over 40-bits of 128-bits getallen. Een 128-bits nummer biedt 2^128 combinaties. Dat zijn meer combinaties dan watermoleculen in 2,7 miljoen olympische zwembaden. Zelfs een enkele druppel bevat miljarden van die moleculen. De brute-force aanval is fysiek onmogelijk met de huidige technologie.
De rol van digitale certificaten in de publieke sleutelinfrastructuur
Het schalen van encryptie met publieke sleutels voor een drukke webserver vereist meer dan alleen wiskunde. Je hebt vertrouwen nodig. Voer het digitaal certificaat in. Het is een digitale identiteitskaart. Er staat dat een webserver wordt geverifieerd door een onafhankelijke derde partij. Die partij is de Certificaatautoriteit (CA). De CA fungeert als vertrouwde tussenpersoon. Het bevestigt de identiteit van de betrokken computers. Vervolgens verdeelt het hun publieke sleutels onder elkaar. Zonder dit wissel je alleen maar sleutels uit met vreemden. Of erger nog, iemand die de uitwisseling onderschept. Het certificaat overbrugt die kloof. Het verankert de abstracte wiskunde aan een realiteit uit de echte wereld.
Digitale handtekeningstandaard (DSS) en DSA
De Digital Signature Standard (DSS) is het antwoord van de overheid op het verifiëren van elektronische documenten. Het maakt gebruik van het Digital Signature Algorithm (DSA). DSS is het goedgekeurde formaat. De Amerikaanse regering keurt het goed voor officieel gebruik. De DSA is afhankelijk van een paar sleutels. Eén is privé. Alleen de ondertekenaar weet het. De andere is openbaar. Het bestaat uit vier verschillende delen. De technische storing kunt u elders vinden. De privésleutel creëert de handtekening. De publieke sleutel verifieert dit. Dit garandeert onweerlegbaarheid. De afzender kan niet beweren dat hij het bericht later niet heeft verzonden. Het getuigt ook van integriteit. Als de gegevens tijdens het transport veranderen, mislukt de handtekening.
Elektronische betalingen bewegen zich steeds verder de digitale wereld in. Digitale handtekeningen vormen de ruggengraat van die beveiliging. Ze beschermen transacties net zoals ze documenten beschermen.
Hier zijn enkele bronnen voor diepere duiken:
- Bionische Buffalo Tech #5: Encryptie
- Initiatief voor digitale handtekeningen
- Links over recht, cryptografie en elektronische communicatie
Veelgestelde vragen
Wat is een digitale handtekening en hoe werkt deze?
Het is een wiskundig schema. Het bewijst de authenticiteit van een digitaal bericht. Een geldige handtekening vertelt de ontvanger dat het bericht afkomstig is van een bekende afzender. Het garandeert ook dat de afzender de verzending ervan niet kan ontkennen. Ten slotte zorgt het ervoor dat het bericht tijdens de verzending niet is gewijzigd.
Wat bedoel je met digitale handtekening?
Zelfde definitie, iets andere bewoording. Het is een wiskundig schema om de authenticiteit aan te tonen. Als aan de voorwaarden is voldaan, heeft de ontvanger goede redenen om aan te nemen dat het bericht afkomstig is van de aangegeven afzender. Ze weten ook dat het tijdens het transport onveranderd bleef.




























