De beveiliging van informatie op het web is nu een belangrijk onderwerp. Gegevens worden vaak versleuteld voordat ze van de ene bron naar de andere worden verzonden, en veel bedrijven versleutelen zelfs informatie voordat ze worden opgeslagen.
Het versleutelen van gegevens en informatie is nodig om te voorkomen dat hackers en gegevens snuffelende criminelen toegang krijgen tot gevoelige informatie, zoals de persoonlijke gegevens van een persoon of creditcard informatie.
We bespreken dus twee verschillende soorten codering, symmetrisch en asymmetrisch, inclusief de verschillen tussen de twee.
Wat is symmetrische versleuteling?
Op zijn eenvoudigst betekent codering eenvoudigweg het gebruik van een sleutel om gegevens te coderen. Deze sleutel is dan nodig om de informatie ook te decoderen. Als de ontvanger de sleutel niet heeft, kunnen ze de gegevens niet decoderen zodra ze op hun bestemming zijn aangekomen. Als je nieuw bent in de wereld van gegevensversleuteling, moet je ook deze eens bekijken basisversleutelingsvoorwaarden om een beter begrip te krijgen.
Als u bijvoorbeeld een e-mail versleutelt en naar een persoon verzendt, zouden ze ook de coderingssleutel moeten ontvangen, anders kunnen ze de inhoud van de e-mail gewoon niet zien. Symmetrische codering is de eenvoudigste vorm van codering, omdat er een enkele sleutel nodig is om informatie te coderen of te decoderen.
Zoals je waarschijnlijk wel kunt raden, is symmetrische vergelijking een relatief oude vorm van codering, waarbij een geheime sleutel wordt gebruikt die een alfanumerieke reeks, een getal of een woord kan zijn. Het is ook behoorlijk effectief en kan zelfs worden gebruikt voor: volledige schijfversleuteling.
De meest populaire cijfers die worden gebruikt voor symmetrische codering zijn onder meer:
- AES-128
- AES-192
- AES-256
- RC4
- DES
- RC6
Waarom symmetrische codering gebruiken?
De reden waarom symmetrische codering populair is, is dat het relatief eenvoudig is. Dit maakt het gemakkelijk en sneller uit te voeren. Over het algemeen wordt symmetrische codering gebruikt voor het coderen van grotere hoeveelheden gegevens.
In de meeste gevallen is de typische lengte van een symmetrische coderingssleutel 128 of 256 bits. Omdat er maar één sleutel wordt gebruikt, zijn er ook niet veel bronnen nodig om de informatie te versleutelen.
Het probleem met symmetrische versleuteling
Alle partijen moeten de coderingssleutel delen om gegevensoverdracht mogelijk te maken, waardoor symmetrische codering wordt blootgesteld aan problemen met sleuteluitputting. Als de effectieve rotatie niet wordt gehandhaafd, bestaat het risico dat de sleutel lekt.
Ook bestaat het risico dat een hacker stukjes informatie ontvangt waarmee hij zelf de encryptiesleutel kan maken. Dit veroorzaakt problemen met schalen, omdat u de sleutel niet met anderen kunt delen.
Wat is asymmetrische versleuteling?
In plaats van te vertrouwen op een enkele gedeelde sleutel, gebruikt asymmetrische codering een aantal gerelateerde sleutels. Dit omvat een openbare en een privésleutel, waardoor het automatisch veiliger is dan symmetrische codering.
De openbare sleutel is beschikbaar voor alle partijen en wordt gebruikt voor het decoderen van het platte tekstbericht voordat het wordt verzonden. Maar om het eigenlijke bericht te ontcijferen en te lezen, moeten de partijen toegang hebben tot de privésleutel.
Hoewel er een wiskundige relatie bestaat tussen de openbare en de privésleutel, kunnen hackers de privésleutel niet afleiden met behulp van de informatie uit de openbare sleutel.
U kunt bijvoorbeeld een openbare sleutel beschikbaar stellen aan iedereen die u een bericht wil sturen. Maar de tweede sleutel wordt geheim gehouden, dus alleen jij kent die. Dus wanneer een bericht wordt versleuteld en verzonden met behulp van de openbare sleutel, moet er ook een privésleutel worden gebruikt om het volledig te ontsleutelen.
Het is belangrijk om te begrijpen dat de privésleutel alleen bekend is bij de persoon die de sleutel bezit. Zelfs de afzender kent de privésleutel niet en kan het bestand niet decoderen als het eenmaal is verzonden. Elke geautoriseerde partij in deze uitwisseling heeft zijn eigen privésleutel die ze kunnen gebruiken om informatie te decoderen.
De meest voorkomende soorten asymmetrische codering zijn:
- RSA
- SSL/TSL-protocol
- ECC
- DSS
Waarom wordt asymmetrische codering als veiliger beschouwd?
Asymmetrische codering kan automatisch of handmatig worden uitgevoerd, afhankelijk van de lengte van de sleutel. Het is belangrijk om te begrijpen dat de veiligheid van beide voornamelijk te maken heeft met de grootte van de sleutel.
Een belangrijke reden waarom asymmetrische codering als veiliger en betrouwbaarder wordt beschouwd, is dat er geen openbare sleutels tussen meerdere partijen worden uitgewisseld. Zelfs als een hacker toegang krijgt tot een openbare sleutel, is er geen risico dat hij deze gebruikt om de gegevens te ontsleutelen (aangezien de openbare sleutel alleen voor versleuteling wordt gebruikt), omdat hij de privésleutels niet kent.
Wat nog belangrijker is, ondersteunt asymmetrische codering ook: algoritmen voor digitale handtekeningen en authenticatie, in tegenstelling tot symmetrische encryptie. Hierdoor kunnen gebruikers documenten of berichten digitaal ondertekenen met hun privésleutels, en anderen kunnen dit gebruiken de bijbehorende openbare sleutels om te bevestigen dat de handtekeningen authentiek zijn en afkomstig zijn van de geverifieerde afzender.
Het probleem met asymmetrische versleuteling
Aangezien het duidelijk de veiligere keuze is, waarom is asymmetrische codering tegenwoordig niet de enige standaard in de wereld van codering? Dat komt omdat het in vergelijking met symmetrische codering aanzienlijk langzamer is.
Dit heeft te maken met de langere sleutellengtes, en nog belangrijker, de wiskundige berekeningen die betrokken zijn bij asymmetrische codering is aanzienlijk complexer, wat betekent dat ze meer CPU-bronnen nodig hebben voor: decodering.
Hoewel er een koppeling is tussen de openbare en privésleutels, vertrouwt asymmetrische codering voornamelijk op langere sleutellengtes om de beveiliging te verbeteren. Het is in wezen een compromis tussen snelheid en veiligheid.
Zoals hierboven vermeld, is symmetrische codering bijvoorbeeld afhankelijk van 128- of 256-bits sleutels. Ter vergelijking: de grootte van de RSA-coderingssleutel is over het algemeen 2048 bits of hoger. En aangezien kwantumcomputers binnenkort werkelijkheid lijken te worden, is zelfs dat misschien niet genoeg om informatie te beschermen.
Symmetrisch versus Asymmetrische codering: beide zijn van vitaal belang
Nu u de belangrijkste concepten en verschillen tussen symmetrische en asymmetrische codering begrijpt, is het ook belangrijk om te benadrukken dat beide een cruciale rol spelen bij het beveiligen van gegevens.
Symmetrische codering wordt gebruikt voor het coderen en verplaatsen van informatie met een relatief lage impact waarvoor geen verhoogde beveiliging vereist is. Nu de wereld echter naar post-kwantumcryptografie kijkt, zijn zelfs gevestigde versleutelingsalgoritmen niet langer veilig.
RSA, dat wordt gebruikt bij asymmetrische codering, wordt bijvoorbeeld niet meer als post-kwantumveilig beschouwd. Als gevolg hiervan evolueren versleutelingsstandaarden voortdurend, vooral omdat gegevensbeveiliging waardevoller wordt.