Wat is asymmetrische codering?

click fraud protection

Er zijn veel verschillende onderdelen van cryptografie. Als u sommige gegevens echter wilt versleutelen, zijn er twee soorten algoritmen die u kunt gebruiken: symmetrische versleutelingsalgoritmen en asymmetrische versleutelingsalgoritmen. Het concept is hetzelfde: ze kunnen gegevens versleutelen, maar werken volgens verschillende principes en hebben andere use-cases.

Het titulaire verschil beschrijft echter de coderingssleutels. Een symmetrisch versleutelingsalgoritme gebruikt een enkele gedeelde sleutel om gegevens te versleutelen en ontsleutelen. Een asymmetrisch versleutelingsalgoritme gebruikt twee gekoppelde sleutels, één om te ontsleutelen en één om te ontsleutelen.

Terminologie

Asymmetrische versleutelingsalgoritmen zijn afhankelijk van het gebruik van twee verschillende sleutels. De ene sleutel kan worden gebruikt om gegevens te versleutelen en de andere om te ontsleutelen. De twee coderingssleutels zijn niet zomaar twee oude waarden. Ze zijn intrinsiek gerelateerd en moeten worden gegenereerd door een algoritme voor het genereren van sleutels.

Een alternatieve naam voor asymmetrische codering is codering met een openbare sleutel. Het is namelijk de bedoeling dat één van de twee sleutels openbaar is. Het traditionele concept is dat de coderingssleutel openbaar wordt gedeeld en dat de decoderingssleutel strikt privé wordt gehouden. Om deze reden wordt de coderingssleutel de openbare sleutel genoemd en de decoderingssleutel de privésleutel.

Met deze configuratie kan iedereen een bericht versleutelen, zodat alleen de eigenaar van de privésleutel het kan ontsleutelen. Dit is handig omdat iedereen veilig kan communiceren met de beoogde ontvanger met een enkele gepubliceerde coderingssleutel. Om veilig terug te communiceren, moet de ontvanger de openbare sleutel van de oorspronkelijke afzender gebruiken.

Theoretisch is er geen reden waarom u de sleutels niet zou kunnen omwisselen en de decoderingssleutel zou kunnen delen terwijl u de coderingssleutel privé houdt. Dit kan worden gebruikt om de authenticiteit van de bron te verifiëren, zo niet om enige zinvolle beveiliging te bieden. In de praktijk wordt dit echter niet gedaan, aangezien er andere mechanismen bestaan ​​om hetzelfde resultaat te bereiken.

Eigenschappen van symmetrische versleutelingsalgoritmen

Asymmetrische versleutelingsalgoritmen vereisen het gebruik van veel grotere sleutels dan symmetrische versleutelingsalgoritmen wanneer ze hetzelfde beveiligingsniveau bieden. Over het algemeen wordt een symmetrisch coderingsalgoritme met een 128-bits coderingssleutel als veilig beschouwd, hoewel 256-bits sleutels de voorkeur hebben. In een asymmetrisch versleutelingsalgoritme worden 2048-bits sleutels als veilig beschouwd.

Het voorbeeld van de 2048-bits sleutel is van toepassing op RSA, dat al lang de standaard is voor asymmetrische codering. Elliptische curve-cryptografie is echter een nieuwer concept dat ook asymmetrisch is maar aanzienlijk kleinere sleutels gebruikt. Een 2048-bits RSA-sleutel biedt dezelfde beveiliging als een 224-bits elliptische gebogen sleutel.

Tip: De bovenstaande waarden worden als veilig beschouwd voor commercieel gebruik, maar de NSA vereist sterkere sleutels voor uiterst geheime codering. Er zijn RSA-sleutels van minimaal 3072 bits nodig, terwijl 384-bits elliptische curve-sleutels nodig zijn. Het is vermeldenswaard dat een 3072-bits RSA-sleutel zwakker is dan een 384-bits elliptische curve-sleutel.

Asymmetrische versleutelingsalgoritmen zijn over het algemeen relatief traag in vergelijking met symmetrische versleutelingsalgoritmen. Veilige communicatie kan worden uitgevoerd via een onveilig kanaal als beide partijen een asymmetrisch sleutelpaar genereren en vervolgens openbare sleutels uitwisselen. Op deze manier kunnen beide partijen berichten versturen die alleen de ander kan ontsleutelen.

In de praktijk moet ten minste één van de partijen de integriteit van zijn publieke sleutel verifiëren. Dit gebeurt via PKI of Public Key Infrastructure. Dit gebeurt in de vorm van certificeringsinstanties die de sleutels van anderen ondertekenen om aan te tonen dat hun identiteit is geverifieerd. In dit systeem moeten alle certificeringsinstanties worden vertrouwd; zonder dat valt het systeem uit elkaar.

Gebruik in de praktijk

Asymmetrische versleutelingsalgoritmen worden meestal niet gebruikt voor bulkversleuteling, vooral wanneer tijd of prestaties een probleem zijn. Ze kunnen worden gebruikt om eenmalige berichten, zoals de inhoud van een e-mail, te versleutelen. Hun vermogen om een ​​onveilig kanaal te beveiligen, maakt ze echter een uitstekende keuze voor een sleuteluitwisselingsprotocol dat symmetrische sleutels verzendt die vervolgens kunnen worden gebruikt voor efficiëntere bulkversleuteling.

Dit is de use case in TLS, dat beveiliging biedt in HTTPS. Een gebruiker maakt verbinding met een webserver; ze wisselen vervolgens openbare sleutels uit om kleine berichten naar elkaar te versleutelen. De server genereert vervolgens een symmetrische sleutel, versleutelt deze met de openbare sleutel van de gebruiker en stuurt deze naar hen. De gebruiker decodeert de sleutel en kan vervolgens de symmetrische sleutel gebruiken om toekomstige communicatie met de server efficiënt te coderen.

Een certificeringsinstantie in het bovenstaande proces verifieert de openbare sleutel van de server. Hierdoor kan de gebruiker erop vertrouwen dat hij communiceert met wie hij probeert te communiceren. In de meeste gevallen genereert de gebruiker een sleutel voor eenmalig gebruik, omdat de server niet hoeft te verifiëren met welke gebruiker hij communiceert.

Conclusie

Asymmetrische versleutelingsalgoritmen gebruiken twee verschillende sleutels. De ene sleutel wordt gebruikt voor codering en de andere voor decodering. De sleutels zijn wiskundig gekoppeld en moeten worden gegenereerd door een algoritme voor het genereren van sleutels; willekeurige waarden werken niet. Meestal wordt de coderingssleutel openbaar gedeeld, zodat iedereen een bericht kan coderen dat bedoeld is voor de eigenaar van het sleutelpaar.

Zolang de decoderingssleutel privé blijft, kan alleen de sleuteleigenaar berichten decoderen die met de openbare sleutel zijn versleuteld. Daarom wordt asymmetrische encryptie ook wel public key cryptografie genoemd.