GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist Public-Key-Kryptographie (Funktionsweise von VPNs, Teil 2)

Dieser Artikel in der Reihe „Wie VPNs funktionieren“ beschreibt, wie die Public-Key-Kryptographie (asymmetrische Verschlüsselung) funktioniert. Wenn Sie sich bereits verlaufen haben, keine Panik! Diese Artikelserie wurde geschrieben, um die Konzepte und Methoden hinter VPNs zu erklären, ohne tief in die Mathematik eintauchen zu müssen, die ihnen zugrunde liegt.

Wenn Sie mit dem Konzept von VPNs völlig neu sind, sehen Sie sich diese Einführung an. Wenn Sie bereits ein wenig über die Funktionsweise von VPNs wissen und ein wenig mehr wissen möchten, ist diese Serie genau das Richtige für Sie. Jeder Artikel behandelt einen Aspekt der Mittel, mit denen ein VPN hilft, Daten zu sichern, indem er eine Geschichte erzählt, die als Metapher für die beteiligten logischen Mechanismen dient. Diese Geschichten beinhalten zwei Personen, Adam und Burt, die versuchen, ein Geheimnis zu wahren, und eine dritte Person, Cesar, die versucht, ihr Geheimnis auf schändliche Weise zu entdecken. Da VPNs kein perfektes Äquivalent in der physischen Welt haben, kann es einige Elemente geben, die die Grenzen der Glaubwürdigkeit überschreiten (z. B. hat Cesar Zugriff auf einen Duplikatorstrahl). Denken Sie daran, es ist nur eine Geschichte …

Jeder Artikel hat auch erweiterbare Abschnitte (gekennzeichnet durch das Zahnrad icon), die eine etwas tiefergehende Erklärung enthalten, die etwas technischer ist, sich aber dennoch nicht zu sehr in der Mathematik verliert. Diese Abschnitte verknüpfen die Ereignisse der Geschichte ein wenig mehr mit den Komponenten oder Schritten der Verschlüsselung oder Authentifizierung, sind aber nicht erforderlich, um ein grundlegendes Verständnis des Themas zu erlangen.

Adam und Burt haben bereits die Schwachstelle bei der Verwendung eines Schließfachs mit einem gemeinsamen symmetrischen Schlüssel entdeckt, um die Dinge sicher zu halten. Also schlägt Burt vor, dass sie eine neue Methode ausprobieren, bei der jeder von ihnen seinen eigenen einzigartigen Satz von Schlüsseln hat (asymmetrische Verschlüsselung).

Kryptografie mit öffentlichen Schlüsseln

Public Key Cryptography ist eine asymmetrische Verschlüsselungsmethode, die darauf abzielt, die Vertraulichkeit zu wahren, ohne jemals einen geheimen Schlüssel über einen unsicheren Kanal (z. B. unverschlüsselte E-Mail) weitergeben zu müssen. In dieser Erklärung haben Adam und Burt jeweils ein einzigartiges Schloss, aber für den Rest dieses Beispiels behandeln wir Burts Schloss und Schlüssel (Adams Schloss und Schlüssel funktionieren auf die gleiche Weise). Jedes Schloss hat zwei besondere Eigenschaften:Erstens hat das Schloss zwei unterschiedliche und verwandte Schlüssel, die damit arbeiten können, und zweitens kann jeder Schlüssel, der mit dem Schloss funktioniert, das Schloss nur in eine Richtung drehen – für dieses Beispiel:sie drehen sich nur im Uhrzeigersinn.

Gekoppelte Schlüssel

Die beiden Schlüssel in diesem asymmetrischen System funktionieren nur als Paar. Wenn Burt dieses Schloss neu verschlüsseln würde, müsste er zwei neue Schlüssel erstellen. Um die Unterscheidung der beiden Tasten zu erleichtern, codiert Burt sie farblich. Eine macht er grün und die andere rot. Burt bewahrt den roten Schlüssel (seinen privaten Schlüssel) sicher auf, aber er kann den grünen Schlüssel jedem zugänglich machen, der ihn haben möchte (seinen öffentlichen Schlüssel). Das mag kontraintuitiv klingen. Aber ein wichtiges Merkmal dieser Schlüssel ist, dass es, obwohl sie verwandt sind, praktisch unmöglich ist, einen Schlüssel auf der Grundlage der Kenntnis des anderen herauszufinden. Somit kann ein Schlüssel öffentlich zugänglich gemacht werden, ohne etwas über sein Gegenstück preiszugeben.


Kryptografiesysteme mit öffentlichen Schlüsseln.

Diese Schlüssel werden in der Praxis als öffentliche und private Schlüssel bezeichnet (die Farbbezeichnungen sollen helfen, die Erklärung etwas leichter nachzuvollziehen). Die Generierung dieser Schlüssel beinhaltet ziemlich raffinierte und komplizierte Mathematik. (Diese Algorithmen beginnen mit Berechnungen, die das Produkt zweier sehr großer Primzahlen beinhalten, und gehen weit über den Rahmen dieses Beispiels hinaus.) Übliche Algorithmen, die in der Public-Key-Kryptographie verwendet werden, umfassen RSA (benannt nach seinen Schöpfern Rivest, Shamir und Adleman), DSA /DSS (Digital Signature Algorithm/Digital Signature Standard) und ECDSA (Elliptic Curve Digital Signature Algorithm). Dieser letztere Algorithmus nutzt stattdessen die Mathematik rund um elliptische Kurven und ist mindestens so einschüchternd für Mathe-Averse wie der RSA-Algorithmus.

Das Schloss im Uhrzeigersinn (Funktionsweise der Tasten)

Abgesehen davon, dass diese Schlüssel nur paarweise funktionieren, funktionieren diese Schlüssel im Schloss auch nur in eine Richtung. Zum Beispiel verwendet Burt den grünen (öffentlichen) Schlüssel, um das Schloss zu sichern, was eine halbe Drehung im Schloss erfordert. Da das Schloss nur in eine Richtung funktioniert, kann der grüne Schlüssel das Schloss nicht wie ein gewöhnliches Schloss durch Umkehren der Richtung öffnen. Aufgrund der besonderen Beschaffenheit dieses Verriegelungsmechanismus besteht die einzige Möglichkeit, ihn zu diesem Zeitpunkt zu entriegeln, darin, den gepaarten roten (privaten) Schlüssel zu verwenden.

Wenn das Schloss auf diese Weise mit dem grünen (öffentlichen) Schlüssel gesichert ist, kann nur die Person, die den roten (privaten) Schlüssel besitzt, es öffnen. Auf diese Weise kann Burt den grünen Schlüssel einer breiten Öffentlichkeit zugänglich machen. Er kann eine Kopie des grünen Schlüssels an Adam senden (er könnte sogar eine Kopie zur öffentlichen Abholung oder Vervielfältigung zur Verfügung stellen). Jeder, der eine Kopie dieses grünen Schlüssels hat, kann dieses Schloss abschließen, und an diesem Punkt kann nur Burt – vorausgesetzt, er hält seinen roten (privaten) Schlüssel sicher – das Schloss öffnen. Wenn Adam jetzt etwas sicher an Burt senden möchte, kann er Burts grünen (öffentlichen) Schlüssel verwenden. In ähnlicher Weise hätte Adam sein eigenes Schlüsselpaar, und er könnte Burt (oder jedem anderen) auch seinen grünen Schlüssel zur Verwendung zur Verfügung stellen.

Nun, wenn unser Taugenichts Cesar versuchen würde, diese Sicherheitsmethode zu knacken, müsste er zwei verschiedene Schlösser knacken, um die ganze Konversation zu bekommen. Selbst wenn er nur an einem vorbeikommen könnte, könnte er nur eine Hälfte des Gesprächs sehen.


Einwegverschlüsselung.

Diese Verwendung der Einwegverschlüsselung wird bei einigen sicheren E-Mail-Austauschvorgängen verwendet, beispielsweise bei der Verwendung von PGP (Pretty Good Privacy) oder GPG (Gnu Privacy Guard). Wenn Sie jemals den öffentlichen PGP- oder GPG-Schlüssel von jemandem erwähnt haben (und wahrscheinlich einen zufällig aussehenden Textblock, der der Schlüssel selbst war), können Sie sehen, warum er als Teil einer E-Mail-Signatur oder öffentlich zugänglich veröffentlicht werden kann Webseite. Mit diesem Schlüssel kann jeder eine E-Mail verschlüsseln, die nur der Besitzer des privaten Schlüssels (der Empfänger) entschlüsseln kann.

Eine zweimal verschlossene Kiste

Hier kommt Burt eine clevere Idee. Er legt einige Kunstwerke für das Comicbuch, an dem er und Adam arbeiten, in eine Kiste, bringt sein Schloss an der Kiste an und sichert sie mit seinem grünen (öffentlichen) Schlüssel. Jetzt ist er die einzige Person (da er die einzige Kopie des roten Schlüssels hat), die diese Kiste aufschließen kann. Er schickt diese Kiste an Adam.

Adam, der keine Kopie von Burts rotem (privaten) Schlüssel hat, kann das Schloss nicht öffnen. Aber er kann sein eigenes Schloss an der Kiste anbringen. Er sichert dieses Schloss mit seinem eigenen grünen (öffentlichen) Schlüssel. Adam schickt diese doppelt verschlossene Kiste zurück zu Burt.

Burt bekommt die Kiste und kann sie nur öffnen, wenn er sowohl seinen eigenen roten Schlüssel als auch Adams roten Schlüssel hat. Aber Adam hält seinen roten Schlüssel genauso geheim wie Burt seinen eigenen roten Schlüssel, also wird Burt nicht in der Lage sein, die Kiste zu öffnen. Burt möchte die Schachtel jedoch nicht öffnen – denken Sie daran, dass er diesen Prozess gestartet hat, also möchte er, dass Adam die in der Schachtel enthaltene Kunst bekommt. Er kann jedoch sein eigenes Schloss mit seinem eigenen roten (privaten) Schlüssel öffnen. Wenn er dies tut, ist die einzige Sicherheit an der Kiste das Schloss, das Adam gesichert hat.

Burt schickt die Kiste zurück zu Adam, und jetzt öffnet Adam mit seinem roten Schlüssel das verbleibende Schloss. Burt hat dieses Paket erfolgreich und sicher versendet. Diese Methode fügt ein paar Sicherheitsebenen hinzu, da es zwei Sperr-/Verschlüsselungsebenen gibt und dass kein gemeinsamer Schlüssel jemals über ein potenziell unsicheres Medium ausgetauscht werden muss. Es ist jedoch kein sehr effizientes System, wenn sie sicherere Nachrichten zeitnah hin und her senden müssen.


Verdoppeln Sie die Verschlüsselung.

Diese Fähigkeit ist eines der interessanten Merkmale der Mathematik hinter der Public-Key-Kryptografie. Eine Nachricht kann mehrfach verschlüsselt werden; dann, wenn es entschlüsselt wird, kann diese Entschlüsselung in beliebiger Reihenfolge durchgeführt werden. Es funktioniert kommutativ wie einige einfache mathematische Funktionen. Wenn Sie zum Beispiel mit der Zahl 10 beginnen und drei weitere Zahlen hinzufügen würden – sagen wir 3, 5 und 7 (also 10 + 3 + 5 + 7, um 25 zu erhalten), könnten Sie diese dann von Ihrer Gesamtsumme abziehen jede Reihenfolge, um zur gleichen ursprünglichen Nummer zurückzukehren (25 – 5 – 7 – 3 =10). Natürlich ist die Mathematik hinter dieser Kryptografie wesentlich komplizierter.

Ein kompliziertes, robustes Schloss

Obwohl Adam und Burt nun eine Public-Key-Kryptografiemethode ausgearbeitet haben, ist sie nicht ohne Nachteile. Diese doppelt verschlossene Box-Methode, um die Kommunikation sicher zu halten, dauert dreimal so lange pro Nachricht. Zudem sind Public-Key-Kryptografieverfahren tendenziell arbeitsintensiver, wenn es um die Durchführung der Ver- oder Entschlüsselung geht. Stellen Sie sich im obigen Beispiel vor, dass statt einer halben Drehung jedes Schlüssels im Schloss 10 volle Umdrehungen erforderlich sind. Das würde 40 Rotationen (Burt sperrt (10) + Adam sperrt (10) + Burt entsperrt (10) + Adam entsperrt (10)) pro Nachricht bedeuten!

Diese Ineffizienz hat jedoch einen Vorteil. Wenn Cesar ein Gerät verwenden würde, das jeden Schlüssel simulieren könnte, und davon ausgegangen, dass das Öffnen eines dieser Schlösser die vollen 10 Umdrehungen erfordert, nur um zu sehen, ob dieser Schlüssel funktioniert, dann würde die Zeit, die er braucht, um jede Tastenkombination auszuprobieren (ein brutaler Kraftangriff) steigt ebenfalls um den Faktor 10.


Wie größere Schlüssel die Sicherheit verbessern.

Die Länge eines Verschlüsselungsschlüssels wird in Bits gemessen. Je größer die Bitlänge des Schlüssels, desto widerstandsfähiger wird dieser Schlüssel durch Brute-Force-Cracking-Versuche entdeckt. Je größer die Bitlänge des Schlüssels ist, desto größer ist auch der Aufwand für die Verschlüsselung bzw. Entschlüsselung. Da asymmetrische und symmetrische Verschlüsselungsalgorithmen jedoch unterschiedlich arbeiten, sind ihre Schlüssellängen nicht direkt vergleichbar. Beispielsweise hat ein RSA (asymmetrischer) 1024-Bit-Schlüssel ungefähr die gleiche Stärke wie ein symmetrischer 80-Bit-Schlüssel. Es sind Tools verfügbar, um die relativen Schlüssellängen über die verschiedenen Verschlüsselungsmethoden hinweg zu vergleichen, wie z. B. das von BlueKrypt, das helfen kann, den Unterschied in den Rechenkosten zwischen diesen Methoden zu verdeutlichen.

Diese Unterschiede verdeutlichen eines der Hauptprobleme der Computersicherheit:Sicherheit vs. Komfort. Die Arbeit zur Verbesserung des einen geht oft zu Lasten des anderen. Das Erhöhen der Bitlänge des Verschlüsselungsschlüssels erhöht seine Stärke, bedeutet aber auch, dass es länger dauert, diese Verschlüsselung und Entschlüsselung durchzuführen. Wenn Maßnahmen ergriffen werden, um den Komfort zu verbessern, wie z. B. die Erhöhung der Rechenleistung oder die Verringerung der Schlüssellänge, bedeuten dieselben Maßnahmen auch, dass es weniger Arbeit erfordert, den Schlüssel durch Brute-Force-Methoden erfolgreich zu erraten.

Mehr in der Serie „So funktionieren VPNs“

Teil 1:Symmetrische Verschlüsselungsalgorithmen
Teil 3:Shared Key Exchange
Erfahren Sie mehr über Dienste von Atlantic.Net, einschließlich VPS-Hosting.


Linux
  1. Was ist ein Makefile und wie funktioniert es?

  2. Was ist NGINX? Wie funktioniert es?

  3. Was ist ein Webserver und wie funktioniert ein Webserver?

  4. So verschlüsseln Sie eine große Datei in openssl mit einem öffentlichen Schlüssel

  5. So aktualisieren Sie Homebrew mit Cron unter Mac OS

So richten Sie den öffentlichen und privaten SSH-Schlüssel unter Linux ein

Was ist Docker? Wie funktioniert es?

So fügen Sie dem Server einen öffentlichen SSH-Schlüssel hinzu

Was ist Source Command in Linux und wie funktioniert es?

Wie funktioniert ein Load Balancer? Was ist Load-Balancing?

Was ist Symmetric-Key-Verschlüsselung (Funktionsweise von VPNs, Teil 1)