Cryptografie
VerdedigingInformatie omzetten in een code zodat een ander het niet kan lezen. Dit doet men als men gevoelige informatie veilig wil bewaren of versturen. Meestal bestaat cryptografie uit een algoritme voor versleutelen en ontsleutelen en één of meerdere sleutels.
Cryptografie is de wetenschap van het beveiligen van informatie door deze om te zetten in een onleesbare vorm die alleen met de juiste sleutel kan worden ontcijferd. In cybersecurity vormt cryptografie het fundament onder vrijwel elke beveiligingsmaatregel: van het versleutelen van e-mails en bestanden tot het beveiligen van internetverbindingen en het beschermen van wachtwoorden. Zonder cryptografie zou digitale communicatie volledig kwetsbaar zijn voor afluisteren en manipulatie door aanvallers.
Het woord cryptografie komt van de Griekse woorden kryptos (verborgen) en graphein (schrijven). Hoewel de discipline duizenden jaren oud is, heeft cryptografie in het digitale tijdperk een enorme ontwikkeling doorgemaakt. Moderne cryptografische algoritmen zijn gebaseerd op complexe wiskundige problemen die zelfs met de krachtigste computers niet binnen een redelijke tijd op te lossen zijn. Dit maakt het mogelijk om informatie te beschermen op een manier die wiskundig bewijsbaar veilig is.
In de context van cybersecurity vind je cryptografie overal terug. Elke keer als je een website bezoekt via HTTPS, wordt de verbinding versleuteld. Elke keer als je inlogt op een systeem, worden je inloggegevens cryptografisch beschermd. En elke keer als je een digitale handtekening plaatst, garandeert cryptografie de authenticiteit en integriteit van het document. Het Digital Trust Center van de Rijksoverheid benoemt cryptografie expliciet als een van de kernmaatregelen voor digitale veiligheid.
Hoe werkt cryptografie?
Cryptografie werkt door informatie (platte tekst) om te zetten in een versleutelde vorm (cijfertekst) met behulp van een algoritme en een sleutel. Er bestaan twee hoofdvormen van cryptografie die elk een andere aanpak hanteren voor het versleutelen en ontsleutelen van gegevens.
Symmetrische versleuteling gebruikt dezelfde sleutel voor zowel het versleutelen als het ontsleutelen. Dit is snel en efficient, maar vereist dat beide partijen beschikken over dezelfde geheime sleutel. Het bekendste symmetrische algoritme is AES (Advanced Encryption Standard), een Belgische uitvinding die in 2001 door het Amerikaanse NIST werd gekozen als de wereldwijde standaard. AES wordt gebruikt in vrijwel alle moderne beveiligingstoepassingen, van VPN-verbindingen tot de versleuteling van je smartphone.
Asymmetrische cryptografie lost het sleuteldistributieprobleem op door twee verschillende sleutels te gebruiken: een publieke sleutel om te versleutelen en een private sleutel om te ontsleutelen. De publieke sleutel kan je vrij delen, terwijl de private sleutel geheim blijft. Dit principe maakt veilige communicatie mogelijk zonder dat je vooraf een geheime sleutel hoeft uit te wisselen. RSA en Elliptic Curve Cryptography (ECC) zijn de meest gebruikte asymmetrische algoritmen.
Naast versleuteling omvat cryptografie ook hashing, een eenrichtingsproces dat data omzet in een vaste-lengte waarde (hash). Hashing wordt gebruikt om wachtwoorden veilig op te slaan, de integriteit van bestanden te verifiëren en digitale handtekeningen te genereren. Anders dan bij versleuteling kun je een hash niet terugrekenen naar de oorspronkelijke data, wat het bijzonder geschikt maakt voor het opslaan van gevoelige informatie zoals credentials.
Hoe implementeer je cryptografie?
Het implementeren van cryptografie begint met het identificeren van welke gegevens bescherming nodig hebben. Niet alle data vereist hetzelfde niveau van versleuteling. Classificeer je gegevens op basis van gevoeligheid: persoonsgegevens, financiele data en intellectueel eigendom vereisen sterke versleuteling, terwijl publieke informatie minder bescherming nodig heeft.
Voor data in rust (opgeslagen gegevens) implementeer je volledige schijfversleuteling of databaseversleuteling. Moderne besturingssystemen bieden ingebouwde opties zoals BitLocker (Windows) en FileVault (macOS). Voor databases gebruik je versleuteling op kolomniveau voor gevoelige velden. Zorg ervoor dat versleutelingssleutels gescheiden worden opgeslagen van de versleutelde data, bij voorkeur in een hardware security module (HSM) of een dedicated key management systeem.
Voor data in transit (gegevens die over netwerken worden verzonden) is TLS (Transport Layer Security) de standaard. Configureer je webservers met actuele TLS-versies (minimaal TLS 1.2, bij voorkeur TLS 1.3) en schakel verouderde protocollen uit. Implementeer SSL-certificaten van vertrouwde certificaatautoriteiten en overweeg HSTS (HTTP Strict Transport Security) om downgrade-aanvallen te voorkomen.
Sleutelbeheer is het meest kritieke aspect van cryptografie-implementatie. Gebruik gevestigde algoritmen en protocollen in plaats van eigen oplossingen te ontwikkelen. Cryptografische bibliotheken zoals OpenSSL, libsodium en de cryptografische modules van je programmeertaal zijn uitgebreid getest en geauditeerd. Het zelf ontwerpen van cryptografische oplossingen is een van de gevaarlijkste fouten die je kunt maken in beveiliging.
Best practices voor cryptografie
Gebruik altijd actuele en bewezen algoritmen. AES-256 voor symmetrische versleuteling en RSA-2048 of ECC met minimaal 256-bits sleutels voor asymmetrische toepassingen zijn op dit moment de aanbevolen standaarden. Vermijd verouderde algoritmen zoals DES, 3DES, MD5 en SHA-1, die als onveilig worden beschouwd vanwege bekende kwetsbaarheden.
Houd rekening met de dreiging van quantumcomputing. Quantumcomputers zullen in de toekomst in staat zijn om veel van de huidige asymmetrische algoritmen te breken. NIST heeft in 2024 de eerste post-quantum cryptografische standaarden gepubliceerd. Begin nu met het inventariseren van je cryptografische afhankelijkheden en maak een migratieplan richting quantumresistente algoritmen.
Implementeer een rotatiebeleid voor cryptografische sleutels. Sleutels die te lang in gebruik zijn, vergroten het risico bij een eventueel compromis. Automatiseer sleutelrotatie waar mogelijk en zorg voor een veilig proces om oude sleutels te vernietigen. Documenteer welke sleutels waar worden gebruikt, zodat je bij een incident snel kunt handelen.
Laat je cryptografische implementaties regelmatig auditen door externe experts. Zelfs wanneer je gevestigde bibliotheken gebruikt, kunnen implementatiefouten leiden tot kwetsbaarheden. Een code-audit gericht op cryptografie onthult veelgemaakte fouten zoals hardcoded sleutels, onveilige random number generators en onjuiste padding-modi. Op IBgidsNL vind je securityspecialisten die je kunnen helpen met cryptografische audits.
Veelgestelde vragen over cryptografie
Wat is het verschil tussen encryptie en hashing?
Encryptie is een omkeerbaar proces: versleutelde data kan met de juiste sleutel worden ontsleuteld. Hashing is een eenrichtingsproces dat niet kan worden teruggedraaid. Encryptie gebruik je om gegevens vertrouwelijk te houden, hashing om integriteit te verifiëren en wachtwoorden veilig op te slaan.
Is cryptografie bestand tegen quantumcomputers?
Huidige symmetrische algoritmen zoals AES-256 zijn grotendeels bestand tegen quantumcomputers als je de sleutellengte verdubbelt. Asymmetrische algoritmen zoals RSA en ECC zijn dat niet. NIST heeft in 2024 nieuwe post-quantum standaarden gepubliceerd als opvolgers voor kwetsbare algoritmen.
Welke versleuteling moet ik als mkb-bedrijf gebruiken?
Begin met het versleutelen van schijven (BitLocker/FileVault), het afdwingen van HTTPS op je website, het gebruiken van een VPN voor externe toegang en het versleutelen van e-mail met gevoelige inhoud. Dit dekt de basisbehoeften voor de meeste mkb-bedrijven tegen acceptabele kosten.
Wat gebeurt er als een versleutelingssleutel verloren gaat?
Als een versleutelingssleutel verloren gaat zonder back-up, zijn de versleutelde gegevens permanent ontoegankelijk. Daarom is goed sleutelbeheer cruciaal. Bewaar reservekopieën van sleutels op een veilige, gescheiden locatie en test regelmatig of je sleutels kunt herstellen vanuit je back-up.
Is end-to-end encryptie echt veilig?
End-to-end encryptie (E2EE) betekent dat alleen de verzender en ontvanger de inhoud kunnen lezen. Zelfs de dienstaanbieder heeft geen toegang. E2EE is wiskundig sterk, maar de beveiliging hangt af van de implementatie en het beschermen van de eindpunten. Als je apparaat gecompromitteerd is, helpt E2EE niet.
Wil je cryptografie goed inzetten om je organisatie te beschermen? Vergelijk securityaanbieders en vind de juiste expertise op IBgidsNL.