Eén ding is in het internettijdperk overduidelijk geworden: voorkomen dat onbevoegden toegang krijgen tot de gegevens die zijn opgeslagen in computersystemen die op het web zijn aangesloten, is buitengewoon moeilijk. Een werknemer hoeft maar op de verkeerde link in een e-mail te klikken, of onbewust te reageren op een schijnbaar legitiem verzoek om informatie, en een indringer kan volledige toegang krijgen tot al uw gegevens. In de huidige situatie van regelgeving en public relations kan een dergelijke inbreuk catastrofaal zijn.
Maar wat als u er zeker van zou kunnen zijn dat zelfs als een aanvaller toegang tot uw informatie krijgt, hij deze niet kan gebruiken? Dat is de rol van gegevensversleuteling.
Hoe versleuteling werkt
Het basisidee van versleuteling is gegevens om te zetten in een vorm waarin de oorspronkelijke betekenis wordt gemaskeerd, en alleen degenen die naar behoren zijn geautoriseerd, deze kunnen ontcijferen. Dit wordt gedaan door de informatie te vervormen met behulp van wiskundige functies, gebaseerd op een getal dat sleutel wordt genoemd. Een omgekeerd proces, met dezelfde of een andere sleutel, wordt gebruikt om de informatie te ontcijferen (of decoderen). Indien dezelfde sleutel wordt gebruikt voor zowel encryptie als decryptie, wordt het proces symmetrisch genoemd. Als verschillende sleutels worden gebruikt, is het proces asymmetrisch.
Twee van de meest gebruikte versleutelingsalgoritmen zijn tegenwoordig AES en RSA. Beide zijn zeer effectief en veilig, maar ze worden doorgaans op verschillende manieren gebruikt. Laten we eens kijken hoe ze zich tot elkaar verhouden.
AES-versleuteling
AES (Advanced Encryption Standard) is het versleutelingsalgoritme bij uitstek geworden voor overheden, financiële instellingen en veiligheidsbewuste ondernemingen over de hele wereld. Het Amerikaanse National Security Agency (NSC) gebruikt het om de “top secret” informatie van het land te beschermen.
Het AES-algoritme past achtereenvolgens een reeks wiskundige transformaties toe op elk 128-bits blok gegevens. Omdat deze aanpak weinig rekenkracht vergt, kan AES worden gebruikt met computerapparatuur voor consumenten, zoals laptops en smartphones, en voor het snel versleutelen van grote hoeveelheden gegevens. De IBM z14-mainframeserie gebruikt AES bijvoorbeeld om alomvattende versleuteling mogelijk te maken, waarbij alle gegevens in het hele systeem, in rust of onderweg, worden versleuteld.
AES is een symmetrisch algoritme dat dezelfde 128-, 192- of 256-bits sleutel gebruikt voor zowel versleuteling als ontsleuteling (de beveiliging van een AES-systeem neemt exponentieel toe met de sleutellengte). Zelfs met een 128-bits sleutel is het kraken van AES door elk van de 2128 mogelijke sleutelwaarden te controleren (een “brute kracht”-aanval) zo rekenintensief dat zelfs de snelste supercomputer er gemiddeld meer dan 100 triljoen jaar voor nodig zou hebben. In feite is AES nog nooit gekraakt, en op basis van de huidige technologische trends wordt verwacht dat het nog jaren veilig zal blijven.
Lees ons eBook
IBM i Encryption 101
Dit eBook biedt een inleiding tot encryptie, inclusief best practices voor IBM i encryptie.
RSA-versleuteling
RSA is vernoemd naar de MIT-wetenschappers (Rivest, Shamir, en Adleman) die het in 1977 voor het eerst beschreven. Het is een asymmetrisch algoritme dat een algemeen bekende sleutel gebruikt voor versleuteling, maar een andere sleutel vereist, die alleen bekend is bij de beoogde ontvanger, voor ontcijfering. In dit systeem, dat cryptografie met een openbare sleutel (public key cryptography – PKC) wordt genoemd, is de openbare sleutel het product van de vermenigvuldiging van twee reusachtige priemgetallen. Alleen dat product, met een lengte van 1024, 2048 of 4096 bits, wordt openbaar gemaakt. Maar om RSA te ontcijferen moeten de twee priemfactoren van dat product bekend zijn. Omdat er geen methode bekend is om de priemfactoren van zulke grote getallen te berekenen, kan alleen de maker van de publieke sleutel ook de private sleutel genereren die nodig is voor de ontcijfering.
RSA is rekenintensiever dan AES, en veel langzamer. Het wordt gewoonlijk gebruikt om slechts kleine hoeveelheden gegevens te versleutelen.
Hoe AES en RSA samenwerken
Een groot probleem met AES is dat het, als symmetrisch algoritme, vereist dat zowel de versleutelaar als de ontsleutelaar dezelfde sleutel gebruiken. Dit geeft aanleiding tot een cruciaal sleutelbeheerprobleem – hoe kan die zo belangrijke geheime sleutel worden gedistribueerd naar misschien wel honderden ontvangers over de hele wereld zonder een enorm risico te lopen dat hij ergens onderweg onzorgvuldig of opzettelijk wordt gecompromitteerd? Het antwoord is een combinatie van de sterke punten van AES en RSA encryptie.
In veel moderne communicatie-omgevingen, waaronder het internet, wordt het grootste deel van de uitgewisselde gegevens versleuteld met het snelle AES algoritme. Om de geheime sleutel te krijgen die nodig is om die gegevens te ontcijferen, publiceren geautoriseerde ontvangers een openbare sleutel, terwijl ze een bijbehorende privésleutel behouden die alleen zij kennen. De verzender gebruikt dan die publieke sleutel en RSA om zijn eigen geheime AES-sleutel te versleutelen en naar elke ontvanger te zenden, die kan worden gebruikt om de gegevens te ontsleutelen.
Voor meer informatie over encryptie, lees ons eBook: IBM i Encryption 101