Cryptografie
De kern van de uitdaging bij het enrollment van certificaten is hoe je het apparaat of de gebruiker authenticeert dat of die het certificaat aanvraagt. Met het certificaat bevestigt de CA dat de certificaathouder bepaalde eigenschappen heeft en dat ze de echtheid daarvan heeft gecontroleerd

Welke twee soorten sleutelgebaseerde versleuteling bestaan er?
De twee belangrijkste soorten sleutelgebaseerde versleuteling zijn symmetrische versleuteling en asymmetrische versleuteling.
Symmetrische versleuteling
- Sleutelgebruik: gebruikt één enkele sleutel voor zowel versleutelen als ontsleutelen.
- Snelheid: over het algemeen sneller en efficiënter.
- Beveiliging: de grootste uitdaging is om de sleutel veilig tussen de partijen te delen.
- Voorbeelden: AES (Advanced Encryption Standard), DES (Data Encryption Standard).
Asymmetrische versleuteling
- Sleutelgebruik: gebruikt een sleutelpaar, namelijk een publieke sleutel om te versleutelen en een privésleutel om te ontsleutelen.
- Snelheid: trager dan symmetrische versleuteling, doordat de berekeningen complexer zijn.
- Beveiliging: veiliger voor sleuteldistributie, omdat de privésleutel nooit wordt gedeeld.
- Voorbeelden: RSA (Rivest-Shamir-Adleman), ECC (Elliptic Curve Cryptography).
Welk type versleuteling geldt als veiliger?
Beide schema's gelden als veilig, in die zin dat geen enkele huidige computer het cijfer kan breken als je een modern algoritme met voldoende sleutellengte gebruikt.
Welk type versleuteling beter is, hangt af van het gebruiksscenario, maar veel scenario's vragen om asymmetrische versleuteling, omdat daarbij een sleutelpaar wordt gebruikt: een publieke sleutel om te versleutelen en een privésleutel om te ontsleutelen. De privésleutel blijft geheim, wat de beveiliging versterkt, want die hoeft nooit te worden gedeeld.
Welk type versleuteling is beter voor grote hoeveelheden data?
Symmetrische versleuteling, omdat die sneller is.
Hoe verloopt hybride versleuteling in grote lijnen?
- Sleutelgeneratie: de afzender genereert een verse symmetrische sleutel (ook wel sessiesleutel genoemd) om het eigenlijke bericht te versleutelen.
- Berichtversleuteling: de afzender versleutelt de leesbare tekst met de symmetrische sleutel en produceert zo een cijfertekst.
- Sleutelversleuteling: vervolgens versleutelt de afzender de symmetrische sleutel met de publieke sleutel van de ontvanger (asymmetrische versleuteling).
- Verzending: de afzender stuurt zowel het versleutelde bericht (de cijfertekst) als de versleutelde symmetrische sleutel naar de ontvanger.
- Sleutelontsleuteling: de ontvanger gebruikt zijn privésleutel om de symmetrische sleutel te ontsleutelen.
- Berichtontsleuteling: ten slotte gebruikt de ontvanger de ontsleutelde symmetrische sleutel om de cijfertekst te ontsleutelen en de oorspronkelijke tekst terug te halen.
Hashalgoritmen
Een hashalgoritme is een wiskundige functie die invoergegevens van willekeurige omvang omzet in een tekenreeks van vaste lengte, meestal een reeks letters en cijfers. Die uitvoer heet een hashwaarde of digest.
Wat is een botsing?
Een botsing bij hashing treedt op wanneer twee verschillende stukken data via een hashalgoritme dezelfde hashwaarde opleveren. Dat kan problematisch zijn, want het hoofddoel van een hashalgoritme is juist om verschillende invoergegevens uniek weer te geven.
Wat is een MAC?
Message Authentication Code (MAC): in de cryptografie is een MAC een kort stukje informatie waarmee een bericht wordt geauthenticeerd en de integriteit ervan wordt geborgd. Het bevestigt dat het bericht niet is gewijzigd en bevestigt de identiteit van de afzender.
Wat is het verschil tussen een MAC en een HMAC?
MAC: een algemene term voor een code die de integriteit en authenticiteit van een bericht verifieert, op basis van blokcijfers of hashfuncties.
HMAC: een specifiek type MAC dat gebruikmaakt van een cryptografische hashfunctie en een geheime sleutel, met sterkere beveiligingseigenschappen.
Asymmetrische cryptografie
Hoe verloopt het ondertekenen van een bericht in grote lijnen?
Het ondertekenen van berichten is een cryptografisch proces waarmee de authenticiteit en integriteit van een bericht worden geverifieerd.
- Hash maken: de afzender genereert een unieke digitale vingerafdruk (hash) van het bericht met een cryptografische hashfunctie (bijvoorbeeld SHA-256). Die hash geeft de inhoud van het bericht uniek weer.
- Ondertekenen: de afzender versleutelt deze hash met zijn privésleutel en maakt daarmee de digitale handtekening. Zo kan de handtekening alleen worden gemaakt door iemand die toegang heeft tot de privésleutel van de afzender.
- Versturen: de digitale handtekening wordt aan het bericht gehecht en beide worden naar de ontvanger gestuurd. Ook de publieke sleutel van de afzender wordt meegeleverd voor de verificatie.
- Verificatie: de ontvanger gebruikt de publieke sleutel van de afzender om de digitale handtekening te ontsleutelen en zo de oorspronkelijke hash terug te halen. Vervolgens genereert de ontvanger een nieuwe hash van het ontvangen bericht en vergelijkt die met de ontsleutelde hash. Komen ze overeen, dan staat vast dat het bericht niet is gewijzigd en is de identiteit van de afzender geverifieerd.
Wat zijn de drie functies van asymmetrische versleuteling?
Asymmetrische versleuteling, ook bekend als publiekesleutelcryptografie, vervult verschillende belangrijke functies bij het beveiligen van communicatie en gegevens.
- Versleutelen en ontsleutelen
- Digitale handtekeningen
- Sleuteluitwisseling
RSA
RSA, kort voor Rivest-Shamir-Adleman, is een breed gebruikt publiekesleutelcryptosysteem voor veilige gegevensoverdracht. Het is vernoemd naar de bedenkers Ronald Rivest, Adi Shamir en Leonard Adleman, die het in 1977 introduceerden.
Diffie-Hellman
De Diffie-Hellman-sleuteluitwisseling is een methode in de cryptografie om cryptografische sleutels veilig uit te wisselen via een openbaar kanaal. Ze werd in 1976 ontwikkeld door Whitfield Diffie en Martin Hellman. Het belangrijkste doel van de Diffie-Hellman-sleuteluitwisseling is twee partijen in staat te stellen om veilig een gedeelde geheime sleutel op te bouwen waarmee ze de daaropvolgende communicatie kunnen versleutelen.
Digital Signature Algorithm (DSA)
Het Digital Signature Algorithm (DSA) is een cryptografisch algoritme met publieke sleutels waarmee digitale handtekeningen worden gemaakt en geverifieerd. Het werd in 1991 voorgesteld door het National Institute of Standards and Technology (NIST) als onderdeel van de Digital Signature Standard (DSS).
Hoe het werkt
- Sleutelgeneratie: DSA genereert een sleutelpaar: een privésleutel om te ondertekenen en een publieke sleutel om te verifiëren.
- Ondertekenen: de afzender gebruikt zijn privésleutel om een digitale handtekening op een bericht te zetten. Die handtekening is uniek voor zowel het bericht als de privésleutel.
- Verificatie: de ontvanger gebruikt de publieke sleutel van de afzender om de authenticiteit van de handtekening te verifiëren en daarmee de integriteit en herkomst van het bericht.