Articles

Hoe Werkt Versleuteling Van Publieke Sleutels? / Public Key Cryptography and SSL

Wat is public key encryptie?

Public key encryptie, of public key cryptografie, is een methode om gegevens te versleutelen met twee verschillende sleutels en een van de sleutels, de public key, beschikbaar te maken voor iedereen. De andere sleutel staat bekend als de private sleutel. Gegevens die met de publieke sleutel zijn versleuteld, kunnen alleen met de private sleutel worden ontsleuteld en gegevens die met de private sleutel zijn versleuteld, kunnen alleen met de publieke sleutel worden ontsleuteld. Public key encryptie is ook bekend als asymmetrische encryptie., Het wordt veel gebruikt, vooral voor TLS / SSL, wat HTTPS mogelijk maakt.

Wat is een cryptografische sleutel?

in cryptografie is een sleutel een stuk informatie dat gebruikt wordt voor het versleutelen van gegevens zodat het willekeurig lijkt; vaak is het een groot aantal, of een reeks van cijfers en letters. Wanneer niet-versleutelde gegevens, ook wel plaintext genoemd, in een encryptie-algoritme wordt gezet met behulp van de sleutel, komt de plaintext uit de andere kant als willekeurig uitziende gegevens. Echter, iedereen met de juiste sleutel voor het decoderen van de gegevens kan het terug te zetten in platte tekst vorm.,

platte tekst + key = versleuteling:

hello + 2jd8932kd8 = X5xJCSycg14=

versleuteling + key = platte tekst:

X5xJCSycg14= + 2jd8932kd8 = hello

(Dit is een voorbeeld van symmetrische versleuteling, waarbij slechts één sleutel wordt gebruikt.)

* met behulp van Blowfish-algoritme, CBC-modus, Base64-codering.

Hoe werkt versleuteling met publieke sleutels?

public key cryptografie kan complex lijken voor de niet-ingewijden; gelukkig kwam een schrijver genaamd Panayotis Vrjonis met een analogie die ruwweg als volgt gaat.

stel je een kofferbak voor met een slot dat twee mensen, Bob en Alice, gebruiken om documenten heen en weer te verzenden., Een typisch slot heeft slechts twee toestanden: vergrendeld en ontgrendeld. Iedereen met een kopie van de sleutel kan de kofferbak ontgrendelen als hij op slot is, en vice versa. Wanneer Bob de koffer op slot doet en het naar Alice stuurt, weet hij dat Alice haar kopie van de sleutel kan gebruiken om de koffer te ontgrendelen. Dit is in wezen hoe wat bekend staat als symmetrische cryptografie werkt: een geheime sleutel wordt gebruikt voor zowel versleutelen als decoderen, en beide zijden van een gesprek gebruiken dezelfde sleutel.

stel je nu voor dat Bob een trunk maakt met een speciaal soort lock. Dit slot heeft drie toestanden in plaats van twee:

  • A., Vergrendeld, de sleutel draaide helemaal naar links
  • B. ontgrendeld, in het midden.
  • C. vergrendeld, de sleutel draaide helemaal naar rechts.

in plaats van één sleutel, gaan twee sleutels met dit slot:

  • sleutel nr. 1 kan alleen naar links draaien
  • sleutel nr. 2 kan alleen naar rechts draaien

Dit betekent dat als de kofferbak is vergrendeld en de sleutel naar positie A wordt gedraaid, alleen sleutel nr. 2 deze kan ontgrendelen door naar rechts te draaien, naar positie B (ontgrendeld). Als de kofferbak is vergrendeld in positie C, kan alleen sleutel nr. 1 het ontgrendelen door het slot naar links te draaien, naar positie B.,

met andere woorden, beide sleutels kunnen de kofferbak vergrendelen – maar als deze eenmaal is vergrendeld, kan alleen de andere sleutel hem ontgrendelen.

laten we nu zeggen dat Bob een paar dozijn kopieën maakt van sleutel Nr. 2, de sleutel die alleen naar rechts draait, en ze deelt met iedereen die Hij kent en iedereen die een kopie wil, waardoor het zijn publieke sleutel wordt. Hij houdt sleutel nummer 1 voor zichzelf – het is zijn privé sleutel. Wat bereikt dit?

  1. Alice kan Bob vertrouwelijke gegevens sturen via de trunk en er zeker van zijn dat alleen Bob deze kan ontgrendelen., Zodra Alice de kofferbak heeft vergrendeld met de openbare sleutel, die van links naar rechts draait, kan alleen een sleutel die rechts naar links kan draaien, deze ontgrendelen. Dat betekent dat alleen Bob ‘ s privésleutel hem kan ontgrendelen.
  2. Alice kan er zeker van zijn dat de trunk van Bob is, en niet een imitator, als het is vergrendeld met zijn privésleutel. Er is maar één sleutel die de kofferbak kan vergrendelen zodat het slot in positie A staat, of helemaal naar links gedraaid: Bob ‘ s privésleutel. Waar, iedereen kan het openen met de publieke sleutel door de sleutel naar rechts te draaien, maar het is gegarandeerd dat de kofferbak van Bob is.,

vervang gegevens in platte tekst voor de trunk-en cryptografische sleutels voor de fysieke sleutels uit deze analogie, en dit is hoe cryptografie met publieke sleutels werkt. Alleen de eigenaar van de private sleutel kan gegevens versleutelen zodat de publieke sleutel deze ontcijfert; ondertussen kan iedereen gegevens versleutelen met de publieke sleutel, maar alleen de eigenaar van de private sleutel kan deze ontcijferen.

daarom kan iedereen veilig gegevens verzenden naar de eigenaar van de privésleutel., Ook kan iedereen verifiëren dat de gegevens die ze ontvangen van de eigenaar van de privésleutel afkomstig zijn van die bron, en niet van een imitator (zie Wat is een on-path aanval?).

Hoe gebruikt TLS / SSL versleuteling met publieke sleutels?

public key encryptie is uiterst nuttig voor het tot stand brengen van veilige communicatie via Internet (via HTTPS). Het SSL/TLS – certificaat van een website, dat openbaar wordt gedeeld, bevat de publieke sleutel en de private sleutel is geïnstalleerd op de origin-server-het is “eigendom” van de website.,

TLS-handshakes gebruiken cryptografie met publieke sleutels om de identiteit van de origin-server te verifiëren en gegevens uit te wisselen die worden gebruikt voor het genereren van de sessiesleutels. Een sleuteluitwisselingsalgoritme, zoals RSA of Diffie-Hellman, gebruikt het publiek-private sleutelpaar om sessiesleutels af te spreken, die gebruikt worden voor symmetrische versleuteling zodra de handshake voltooid is. Clients en servers zijn in staat om voor elke communicatiesessie nieuwe sessiesleutels af te spreken, zodat slechte acteurs geen communicatie kunnen decoderen, zelfs niet als ze een van de sessiesleutels identificeren of stelen.