Heim / Internet / Welche Länge hat der Verschlüsselungsschlüssel? kryptografische Schlüssel. Betrachten wir diesen Vorgang am Beispiel echter Schlüssel.

Welche Länge hat der Verschlüsselungsschlüssel? kryptografische Schlüssel. Betrachten wir diesen Vorgang am Beispiel echter Schlüssel.

Viele moderne Public-Key-Verschlüsselungsalgorithmen basieren auf der unidirektionalen Faktorisierungsfunktion einer Zahl, die das Produkt zweier großer Primzahlen ist. Auch diese Algorithmen können einem Angriff ähnlich dem Brute-Force-Angriff auf Secret-Key-Chiffren ausgesetzt werden, mit dem einzigen Unterschied, dass nicht jeder Schlüssel ausprobiert werden muss, es reicht aus, eine große Zahl faktorisieren zu können.

Natürlich ist es eine schwierige Aufgabe, eine große Anzahl in Faktoren einzubeziehen. Es stellt sich jedoch sofort eine vernünftige Frage, wie schwierig. Unglücklicherweise für Kryptografen nimmt die Schwierigkeit, es zu lösen, ab. Und um die Sache noch schlimmer zu machen, sinkt diese Schwierigkeit viel schneller als bisher erwartet. Beispielsweise glaubte man Mitte der 1970er Jahre, dass es zig Billiarden Jahre dauern würde, um eine Zahl von 125 Stellen zu faktorisieren. Und nur zwei Jahrzehnte später war es mit Computern, die mit dem Internet verbunden waren, möglich, eine Zahl von 129 Ziffern herauszurechnen. Möglich wurde dieser Durchbruch dadurch, dass in den letzten 20 Jahren nicht nur neue, schnellere Methoden zur Faktorisierung vorgeschlagen wurden große Zahlen, sondern auch die Leistungsfähigkeit der eingesetzten Rechner gesteigert.

Daher muss ein qualifizierter Kryptograph sehr große Sorgfalt und Diskretion walten lassen, wenn es um die Länge des öffentlichen Schlüssels geht. Es gilt abzuwägen, wie wertvoll die mit ihrer Hilfe klassifizierten Informationen sind und wie lange sie für Außenstehende geheim bleiben sollen.

Und warum, fragt man sich, nimmt man keinen 10.000-Bit-Schlüssel? Denn dann entfallen alle Fragen zur Stabilität eines asymmetrischen Verschlüsselungsalgorithmus mit öffentlichem Schlüssel, der auf der Zerlegung einer großen Zahl in Faktoren beruht. Tatsache ist jedoch, dass die Sicherstellung einer ausreichenden Stärke der Chiffre nicht die einzige Sorge des Kryptographen ist. Es gibt zusätzliche Überlegungen, die die Wahl der Schlüssellänge beeinflussen, und unter ihnen sind Fragen bezüglich der praktischen Durchführbarkeit des Verschlüsselungsalgorithmus für die gewählte Schlüssellänge.

Um die Länge eines öffentlichen Schlüssels abzuschätzen, messen wir die Rechenleistung, die einem Kryptoanalytiker zur Verfügung steht, in sogenannten Pug-Jahren, also der Anzahl der Operationen, die ein Computer mit einer Geschwindigkeit von 1 Million Operationen pro Sekunde durchführt ein Jahr. Angenommen, ein Hacker hat Zugriff darauf Computerressourcen mit einer Gesamtrechenleistung von 10.000 Mopsjahren, ein großes Unternehmen - 107 Mopsjahre, eine Regierung - 109 Mopsjahre. Dies sind durchaus realistische Zahlen, wenn man bedenkt, dass das oben erwähnte 129-stellige Dekompositionsprojekt nur 0,03 % der Rechenleistung des Internets verbrauchte und dafür keine außergewöhnlichen Maßnahmen ergreifen oder über das Gesetz hinausgehen musste.

Wir gehen auch davon aus, dass die Rechenleistung alle 5 Jahre um das 10-fache zunimmt, und die Methode zur Faktorisierung großer Zahlen ermöglicht dies mit der in Tabelle 1 angegebenen Komplexität. 6.3.

Tabelle 6.3. Die Komplexität der Faktorisierung großer Zahlen

Die getroffenen Annahmen erlauben es, die Länge eines starken öffentlichen Schlüssels in Abhängigkeit von der Zeitspanne abzuschätzen, während der es notwendig ist, die damit verschlüsselten Daten geheim zu halten (Tab. 6.4). Es muss jedoch daran erinnert werden, dass kryptografische Algorithmen mit öffentlichem Schlüssel häufig verwendet werden, um sehr wertvolle Informationen für einen sehr langen Zeitraum zu schützen. Zum Beispiel in elektronischen Zahlungssystemen oder mit notarieller Beglaubigung elektronische Unterschrift. Die Idee, mehrere Monate mit dem Factoring einer großen Anzahl zu verbringen, mag für jemanden sehr attraktiv erscheinen, wenn er dadurch seine Einkäufe mit Ihrer Kreditkarte bezahlen kann. Außerdem glaube ich nicht, dass Ihnen die Aussicht gefallen würde, 20 Jahre später vor ein Nachlassgericht geladen zu werden und die Unmöglichkeit zu verteidigen, die elektronische Unterschrift Ihres Großvaters zu fälschen, mit der er ein Testament zu Ihren Gunsten gemacht hat.

Mit in der Tabelle angegeben. 6.4 Nicht alle seriösen Kryptographen stimmen den Daten zu. Einige von ihnen lehnen es rundweg ab, langfristige Prognosen abzugeben, da sie dies für ein nutzloses Unterfangen halten. Andere, zum Beispiel Spezialisten der NSA, sind zu optimistisch und empfehlen eine öffentliche Schlüssellänge von nur 512 bis 1024 Bit für digitale Signatursysteme, was angesichts der Daten aus Tabelle. 6.4 völlig unzureichend ist, um einen angemessenen Langzeitschutz zu bieten.

Viele moderne Public-Key-Verschlüsselungsalgorithmen basieren auf der unidirektionalen Faktorisierungsfunktion einer Zahl, die das Produkt zweier großer Primzahlen ist. Auch diese Algorithmen können einem Angriff ähnlich dem Brute-Force-Angriff auf Secret-Key-Chiffren ausgesetzt werden, mit dem einzigen Unterschied, dass nicht jeder Schlüssel ausprobiert werden muss, es reicht aus, eine große Zahl faktorisieren zu können.

Natürlich ist es eine schwierige Aufgabe, eine große Anzahl in Faktoren einzubeziehen. Es stellt sich jedoch sofort eine vernünftige Frage, wie schwierig. Unglücklicherweise für Kryptografen nimmt die Schwierigkeit, es zu lösen, ab. Und um die Sache noch schlimmer zu machen, sinkt diese Schwierigkeit viel schneller als bisher erwartet. Beispielsweise glaubte man Mitte der 1970er Jahre, dass es zig Billiarden Jahre dauern würde, um eine Zahl von 125 Stellen zu faktorisieren. Und nur zwei Jahrzehnte später war es mit Computern, die mit dem Internet verbunden waren, möglich, eine Zahl von 129 Ziffern herauszurechnen. Möglich wurde dieser Durchbruch dadurch, dass in den letzten 20 Jahren nicht nur neue, schnellere Methoden zur Faktorisierung großer Zahlen vorgeschlagen wurden, sondern auch die Produktivität der eingesetzten Rechner gestiegen ist.

Daher muss ein qualifizierter Kryptograph sehr große Sorgfalt und Diskretion walten lassen, wenn es um die Länge des öffentlichen Schlüssels geht. Es gilt abzuwägen, wie wertvoll die mit ihrer Hilfe klassifizierten Informationen sind und wie lange sie für Außenstehende geheim bleiben sollen.

Und warum, fragt man sich, nimmt man keinen 10.000-Bit-Schlüssel? Denn dann entfallen alle Fragen zur Stabilität eines asymmetrischen Verschlüsselungsalgorithmus mit öffentlichem Schlüssel, der auf der Zerlegung einer großen Zahl in Faktoren beruht. Tatsache ist jedoch, dass die Sicherstellung einer ausreichenden Stärke der Chiffre nicht die einzige Sorge des Kryptographen ist. Es gibt zusätzliche Überlegungen, die die Wahl der Schlüssellänge beeinflussen, und unter ihnen sind Fragen bezüglich der praktischen Durchführbarkeit des Verschlüsselungsalgorithmus für die gewählte Schlüssellänge.

Um die Länge des öffentlichen Schlüssels abzuschätzen, messen wir die dem Kryptoanalytiker zur Verfügung stehende Rechenleistung im sog Mops-yo, d. h. die Anzahl der Operationen, die ein Computer, der mit einer Geschwindigkeit von 1 Million Operationen pro Sekunde laufen kann, in einem Jahr ausführt. Nehmen wir an, ein Hacker hat Zugriff auf Computerressourcen mit einer Gesamtrechenleistung von 10.000 Mops-Jahren, ein großes Unternehmen - 10 7 Mops-Jahre, die Regierung - 10 7 Mops-Jahre. Das sind durchaus realistische Zahlen, wenn man bedenkt, dass das oben erwähnte 129-stellige Dekompositionsprojekt nur 0,03 % der Rechenleistung des Internets verbrauchte und dafür keine außergewöhnlichen Maßnahmen ergreifen oder über das Gesetz hinausgehen musste.

Wir gehen auch davon aus, dass die Rechenleistung alle 5 Jahre um das 10-fache zunimmt, und die Methode zur Faktorisierung großer Zahlen ermöglicht dies mit der in Tabelle 1 angegebenen Komplexität. 6.3.

Tabelle 6.3. Die Komplexität der Faktorisierung großer Zahlen.

Die getroffenen Annahmen erlauben es, die Länge eines starken öffentlichen Schlüssels in Abhängigkeit von der Zeitspanne abzuschätzen, während der es notwendig ist, die damit verschlüsselten Daten geheim zu halten (Tab. 6.4). Es muss jedoch daran erinnert werden, dass kryptografische Algorithmen mit öffentlichem Schlüssel häufig verwendet werden, um sehr wertvolle Informationen für einen sehr langen Zeitraum zu schützen. Beispielsweise in elektronischen Zahlungssystemen oder bei der Beglaubigung einer elektronischen Unterschrift. Die Idee, mehrere Monate mit dem Factoring einer großen Zahl zu verbringen, mag für jemanden sehr verlockend erscheinen, wenn er dadurch seine Einkäufe mit Ihrer Kreditkarte bezahlen kann. Außerdem glaube ich nicht, dass Ihnen die Aussicht gefallen würde, 20 Jahre später vor ein Nachlassgericht geladen zu werden und die Unmöglichkeit zu verteidigen, die elektronische Unterschrift Ihres Großvaters zu fälschen, mit der er ein Testament zu Ihren Gunsten gemacht hat.

Jahr Hacker großer Konzern Regierung
2000 1024 1280 1536
2005 1280 1536 2048
2010 1280 1536 2048
2015 1536 2048 2048

Mit in der Tabelle angegeben. 6.4 Nicht alle seriösen Kryptographen stimmen den Daten zu. Einige von ihnen lehnen es rundweg ab, langfristige Prognosen abzugeben, da sie dies für ein nutzloses Unterfangen halten. Andere, zum Beispiel Spezialisten der NSA, sind zu optimistisch und empfehlen eine öffentliche Schlüssellänge von nur 512 bis 1024 Bit für digitale Signatursysteme, was angesichts der Daten aus Tabelle. 6.4 völlig unzureichend ist, um einen angemessenen Langzeitschutz zu bieten.

Der Hauptzweck der Verwendung von SSL-Zertifikaten besteht darin, Daten zu verschlüsseln, die vom Client an den Server und vom Server an den Client übertragen werden. Um die Sicherheit einer solchen Verbindung zu gewährleisten, verwenden moderne Browser den TLS-Algorithmus auf Basis von X.509-Zertifikaten. Dieser Algorithmus verwendet asymmetrische Verschlüsselung, um einen Sitzungsschlüssel für die symmetrische Verschlüsselung zu generieren. Letzteres wird nach dem Aufbau einer sicheren Verbindung direkt zur Datenübertragung verwendet.

Was ist ein Schlüssel in der Kryptographie?

Ein Schlüssel in der Kryptografie ist eine geheime Information, die in der Kryptografie zum Verschlüsseln und Entschlüsseln von Nachrichten, zum digitalen Signieren und Verifizieren, zum Berechnen von Nausw. verwendet wird. Wie zuverlässig ein Schlüssel ist, wird durch die sogenannte Schlüssellänge bestimmt, die in Bits gemessen wird. Die Standardschlüssellänge für SSL-Zertifikate beträgt 128 oder 256 Bit. Die Schlüssellänge der Root-Zertifizierungsstelle (Root-Zertifikat) darf 4096 Bit nicht unterschreiten. Alle Zertifizierungsstellen, mit denen wir zusammenarbeiten, stellen SSL-Zertifikate mit einem Schlüssel zur Verfügung, der vollständig modernen Standards entspricht:

Öffentlicher und privater Schlüssel bei asymmetrischer Verschlüsselung

Asymmetrische Verschlüsselung verwendet Schlüsselpaar: öffnen (öffentlicher Schlüssel) und abgeschlossen, auch genannt Geheimnis (Privat Schlüssel). Die öffentlichen und privaten Schlüssel ermöglichen in diesem Fall dem kryptografischen Algorithmus, die Nachricht zu verschlüsseln und zu entschlüsseln. Mit dem öffentlichen Schlüssel verschlüsselte Nachrichten können nur mit dem privaten Schlüssel entschlüsselt werden. Der öffentliche Schlüssel wird im Zertifikat des Besitzers veröffentlicht und steht dem verbindenden Client zur Verfügung, während der private Schlüssel vom Zertifikatsbesitzer gespeichert wird. Der öffentliche und der private Schlüssel sind durch mathematische Abhängigkeiten miteinander verbunden, so dass es unmöglich ist, in kurzer Zeit (Gültigkeitsdauer des Zertifikats) einen öffentlichen oder privaten Schlüssel abzugreifen. Deshalb ist die maximale Gültigkeitsdauer von SSL-Zertifikaten höherer Schutzstufe immer geringer. Sie können also maximal 2 Jahre bestellen. Gleichzeitig ist es bei der Bestellung eines neuen SSL-Zertifikats oder der Verlängerung eines alten wichtig, eine neue CSR-Anfrage zu generieren, da Ihr privater Schlüssel daran gebunden ist und es besser ist, ihn zu aktualisieren, wenn ein neues SSL-Zertifikat ausgestellt wird . Der Client interagiert folgendermaßen mit dem Server:
  1. der Browser verschlüsselt die Anfrage basierend auf dem öffentlichen Schlüssel und sendet sie an den Server;
  2. der Server entschlüsselt unter Verwendung des privaten Schlüssels die empfangene Nachricht;
  3. der Server verschlüsselt seine digitale Kennung mit einem privaten Schlüssel und überträgt ihn an den Client;
  4. der Client prüft die Server-ID und sendet seine eigene;
  5. nach gegenseitiger Authentifizierung verschlüsselt der Client den Schlüssel der zukünftigen Sitzung mit dem öffentlichen Schlüssel und übermittelt ihn an den Server;
  6. Alle nachfolgenden Nachrichten, die zwischen dem Client und dem Server gesendet werden, werden mit dem Sitzungsschlüssel signiert und mit dem öffentlichen und dem privaten Schlüssel verschlüsselt.
Dies bietet mehrere Sicherheitspunkte:
  • die Möglichkeit eines Informationslecks ist ausgeschlossen - wenn sie abgefangen werden, können sie nicht entschlüsselt werden;
  • der Server bestätigt seine Adresse und Kennung, die Weiterleitungsmöglichkeit auf eine andere Seite wird gesperrt (Phishing);
  • dem Client wird eine individuelle Sitzung zugewiesen, wodurch er zuverlässiger von anderen Clients unterschieden werden kann;
  • Sobald eine sichere Sitzung eingerichtet ist, werden alle Nachrichten unter Verwendung der Identität des Clients verschlüsselt und können nicht abgefangen oder unbemerkt geändert werden.

Im allgemeinen Fall kann die Verschlüsselung mit öffentlichem und privatem Schlüssel als ein Fall betrachtet werden, bei dem zwei Schlüssel verwendet werden: Einer kann nur geschlossen werden, der andere kann geöffnet werden. Wenn der Koffer mit dem ersten Schlüssel geschlossen wurde, kann nur der zweite ihn öffnen, wenn er mit dem zweiten Schlüssel geschlossen wurde, wird der erste benötigt, um ihn zu öffnen. Sie können dies im Diagramm oben deutlich sehen.

Als geheime Informationen werden kryptografische Schlüssel verwendet.

Ein kryptografischer Schlüssel ist eine nach bestimmten Regeln generierte Zeichenfolge. Diese Sequenz wird bei kryptografischen Transformationen von Texten verwendet. Jeder kryptografische Algorithmus hat seine eigenen Anforderungen, nach denen Schlüssel erstellt werden. Jeder Schlüssel wird für einen bestimmten Algorithmus erstellt.

Um die Nicht-Reproduzierbarkeit der elektronischen Signatur und die Unmöglichkeit des Lesens verschlüsselter Texte durch Unbefugte sicherzustellen, werden in der Kryptografie kryptografische Schlüssel verwendet.

Ein moderner kryptografischer Schlüssel ist eine Zahlenfolge bestimmter Länge, die nach bestimmten Regeln aus einer Folge von Zufallszahlen erstellt wird. Für jede Taste wird eine Folge von Zufallszahlen neu erstellt, keine Folge wird mehr als einmal verwendet. Um Sequenzen von Zufallszahlen zu erzeugen, werden spezielle Softwareobjekte oder Geräte verwendet, die als Zufallszahlengeneratoren bezeichnet werden.

Jeder Algorithmus hat seine eigenen Schlüsselanforderungen, sodass jeder kryptografische Schlüssel für einen bestimmten Algorithmus erstellt und nur mit diesem Algorithmus verwendet wird.

Wenn die Erzeugung einer elektronischen Signatur und deren Überprüfung oder die Ver- und Entschlüsselung von Text mit demselben Schlüssel durchgeführt werden, wird dieser Ansatz genannt Symmetrische Kryptografie(bzw. symmetrische Algorithmen und symmetrische Schlüssel). Symmetrische Kryptografieoperationen sind schnell und relativ einfach. Aber sie erfordern die Kenntnis des Schlüssels durch mindestens zwei Personen, was das Risiko ihrer Kompromittierung (d. h. des Zugriffs auf sie durch Unbefugte) stark erhöht.

Daher wird es heute hauptsächlich verwendet asymmetrische Kryptografie. Bei der asymmetrischen Kryptografie wird die Generierung einer elektronischen Signatur oder Verschlüsselung auf einem Schlüssel durchgeführt, und die Signaturverifizierung oder -entschlüsselung wird auf einem anderen, gepaarten Schlüssel durchgeführt.



Bei der asymmetrischen Kryptografie werden sogenannte Schlüsselpaare verwendet. Jedes solche Paar besteht aus zwei miteinander verbundenen Schlüsseln. Einer dieser Schlüssel ist ein privater Schlüssel. Sie ist nur dem Besitzer des Schlüssels bekannt und sollte unter keinen Umständen jemand anderem zugänglich sein. Der andere Schlüssel ist öffentlich (Public Key), auf ihn kann zugegriffen werden

an jeden, der möchte.

Authentifizierungsmethoden

Authentifizierung - die Erteilung bestimmter Zugriffsrechte an den Abonnenten basierend auf der Kennung, die er hat. IEEE 802.11 bietet zwei Authentifizierungsmethoden:

1. Authentifizierung öffnen Offene Authentifizierung):

Die Arbeitsstation stellt eine Authentifizierungsanforderung, die nur die MAC-Adresse des Clients enthält. Der Access Point antwortet entweder mit einer Verweigerung oder einer Authentifizierungsbestätigung. Die Entscheidung wird basierend auf MAC-Filterung getroffen, d. h. Tatsächlich handelt es sich um einen Schutz, der auf einer Zugriffsbeschränkung basiert, die nicht sicher ist.

2. Shared-Key-Authentifizierung Shared-Key-Authentifizierung):

Sie müssen einen statischen WEP-Verschlüsselungsschlüssel einrichten. Verkabelter gleichwertiger Datenschutz). Der Client stellt beim Access Point eine Anfrage zur Authentifizierung, wofür er eine Bestätigung erhält, die 128 Bytes umfasst zufällige Informationen. Die Station verschlüsselt die empfangenen Daten mit dem WEP-Algorithmus (bitweise Modulo-2-Addition der Nachrichtendaten mit der Schlüsselfolge) und sendet den Chiffretext zusammen mit der Zuordnungsanfrage. Der Access Point entschlüsselt den Text und vergleicht ihn mit den Originaldaten. Wenn es eine Übereinstimmung gibt, wird eine Zuordnungsbestätigung gesendet und der Client gilt als mit dem Netzwerk verbunden.
Das Shared-Key-Authentifizierungsschema ist anfällig für "Man-in-the-Middle"-Angriffe. Der WEP-Verschlüsselungsalgorithmus ist ein einfaches XOR einer Schlüsselsequenz mit nützliche Informationen, daher können Sie einen Teil des Schlüssels wiederherstellen, indem Sie den Datenverkehr zwischen der Station und dem Zugriffspunkt abhören.
Das IEEE begann mit der Entwicklung eines neuen Standards IEEE 802.11i, aber aufgrund von Zulassungsschwierigkeiten wurde WECA (eng. WiFi-Allianz) gemeinsam mit dem IEEE den WPA-Standard (Eng. WLAN-geschützter Zugriff). WPA verwendet TKIP. Temporal Key Integrity Protocol, Key Integrity Protocol), das eine fortschrittliche Schlüsselverwaltungsmethode und Frame-für-Frame-Schlüsseländerung verwendet.

WPA verwendet auch zwei Authentifizierungsmethoden:

1. Authentifizierung mit einem vorinstallierten WPA-PSK-Schlüssel (engl. Geteilter Schlüssel) (Unternehmensauthentifizierung);

2. Authentifizierung über einen RADIUS-Server Remote Access Dial-in User Service)

Verschlüsselungstypen

Verschlüsselung- Konvertierungsmethode offene Informationen geschlossen und zurück. Wird zur Aufbewahrung verwendet wichtige Informationen in unzuverlässigen Quellen oder deren Übertragung über ungesicherte Kommunikationskanäle. Die Verschlüsselung unterteilt sich in den Prozess der Verschlüsselung und Entschlüsselung.

Je nach Datenumwandlungsalgorithmus werden Verschlüsselungsverfahren in garantierte oder temporäre kryptografische Stärke unterteilt.

Je nach Struktur der verwendeten Schlüssel werden Verschlüsselungsverfahren eingeteilt

§ Symmetrische Verschlüsselung: Unbefugte kennen möglicherweise den Verschlüsselungsalgorithmus, aber ein kleiner Teil der geheimen Informationen ist unbekannt - ein Schlüssel, der für Absender und Empfänger der Nachricht gleich ist;

§ asymmetrische Verschlüsselung: Dritte kennen möglicherweise den Verschlüsselungsalgorithmus und möglicherweise den öffentlichen Schlüssel, aber nicht den privaten Schlüssel, der nur dem Empfänger bekannt ist.

Die folgenden kryptografischen Primitive existieren:

§ Schlüssellos

1. Hash-Funktionen

2. Einseitige Permutationen

3. Pseudo-Zufallszahlengeneratoren

§ Symmetrische Schemata

1. Chiffren (Block, Stream)

2. Hash-Funktionen

4. Pseudo-Zufallszahlengeneratoren

5. Identifikationsprimitive

§ Asymmetrische Schemata

3. Identifikationsprimitive

Festplattenverschlüsselung
Zserver-System - Schutzmittel vertrauliche Informationen auf Unternehmensservern gespeichert und verarbeitet, indem Daten auf der Festplatte verschlüsselt werden. Zserver arbeitet nach dem Prinzip der „transparenten“ Partitionsverschlüsselung Festplatte. Das System verschlüsselt im Online-Modus automatisch Informationen beim Schreiben auf die Festplatte und entschlüsselt sie beim Lesen. Dadurch wird sichergestellt, dass Daten verschlüsselt auf der Festplatte gespeichert werden und ohne den Verschlüsselungsschlüssel nicht verwendet werden können, selbst wenn der Server oder das Medium entfernt werden. Das Zserver-System verschlüsselt Dateien und Ordner auf der Festplatte sowie alle Dienstinformationen - Dateizuordnungstabellen usw. Auf diese Weise schützt das Zserver-System nicht nur zuverlässig vertrauliche Daten, sondern verbirgt auch die Tatsache ihrer Anwesenheit vor Außenstehenden. Informationen auf sicheren Festplatten werden in verschlüsselter Form gespeichert und sind nur verfügbar, wenn der Netzwerkadministrator dem Benutzer die entsprechenden Berechtigungen erteilt. Zugriffsrechte auf geschützte Platten werden über das Betriebssystem gesetzt. Die Verschlüsselung von Dateien und Ordnern auf der Festplatte wird vom Softwaretreiber durchgeführt. Datenverschlüsselungsschlüssel auf der Festplatte werden eingegeben, wenn der Server von einer PIN-geschützten Smartcard gestartet wird. Ohne Kenntnis des PIN-Codes können Sie die Smartcard nicht verwenden. Drei Versuche, die PIN falsch einzugeben, sperren die Karte. Eine Smartcard ist nur beim Anschließen von sicheren Medien erforderlich und wird während des Betriebs nicht benötigt. Wenn Sie den Server ohne Smartcard neu starten, sind geschützte Laufwerke nicht verfügbar. Das Zserver-System bietet die Möglichkeit, Verschlüsselungsschlüssel aus der Ferne einzugeben und das System von jeder Workstation aus zu verwalten lokales Netzwerk, oder über das Internet. Gegenwärtig wurden Zserver-Systeme entwickelt, die unter der Steuerung des Folgenden arbeiten Betriebssysteme: Windows 2000/XP/2003/2008 (32 und 64 Bit); Linux mit Kernel 2.6.x.

Die Daten werden in diesem Fall als Nachrichten betrachtet und zum Schutz ihrer Bedeutung verwendet klassische Verschlüsselungstechnik.

Kryptografie umfasst drei Komponenten: Daten, Schlüssel und kryptografische Transformation. Beim Verschlüsseln sind die Anfangsdaten die Nachricht und die resultierenden Daten die Verschlüsselung. Wenn sie entschlüsselt werden, tauschen sie die Plätze. Es wird angenommen, dass die kryptografische Transformation jedem bekannt ist, aber ohne den Schlüssel zu kennen, mit dem der Benutzer die Bedeutung der Nachricht vor neugierigen Blicken verschlossen hat, ist es unvorstellbar viel Aufwand, den Text der Nachricht wiederherzustellen. (Es sei noch einmal darauf hingewiesen, dass es keine Verschlüsselung gibt, die absolut unknackbar ist. Die Qualität einer Chiffre wird nur durch das Geld bestimmt, das für das Öffnen von 10 bis 1.000.000 US-Dollar gezahlt werden muss.) Diese Anforderung wird von mehreren erfüllt Moderne kryptografische Systeme werden beispielsweise nach dem „National Data Encryption Standard US Bureau of Standards“ DES und GOST 28147-89 erstellt. Da eine Reihe von Daten für einige ihrer aus dem Kontext nicht erkennbaren Verzerrungen kritisch ist, werden in der Regel nur solche Verschlüsselungsverfahren verwendet, die empfindlich auf die Verzerrung beliebiger Zeichen reagieren. Sie garantieren nicht nur eine hohe Geheimhaltung, sondern auch eine effektive Erkennung von Verzerrungen oder Fehlern.

Algorithmusoptionen

Es gibt viele (mindestens zwei Dutzend) symmetrische Verschlüsselungsalgorithmen, deren wesentliche Parameter sind:

§ Haltbarkeit

§ Schlüssellänge

§ Rundenzahl

§ die Länge des verarbeiteten Blocks

§ Komplexität der Hardware-/Softwareimplementierung

§ Komplexität der Transformation

[Allgemeine Algorithmen

§ AES fortgeschrittener Verschlüsselungsstandard) - Amerikanischer Verschlüsselungsstandard

§ GOST 28147-89 - inländischer Datenverschlüsselungsstandard

§ DES Datenverschlüsselungsstandard) - US-Datenverschlüsselungsstandard bis AES

§ 3DES (Triple-DES, Triple-DES)

§ RC6 (Rivest-Chiffre)

§ IDEE Internationaler Datenverschlüsselungsalgorithmus)

§ SEED – Koreanischer Datenverschlüsselungsstandard

öffentlicher Schlüssel, stellte fest, dass diese Anforderung das gesamte Wesen der Kryptografie leugnet, nämlich die Fähigkeit, die universelle Geheimhaltung in der Kommunikation zu wahren.

Die zweite Aufgabe ist die Notwendigkeit, solche Mechanismen zu schaffen, mit denen es unmöglich wäre, einen der Teilnehmer zu ersetzen, d.h. brauchen Digitale Unterschrift . Bei der Verwendung von Kommunikation für vielfältige Zwecke, zum Beispiel für geschäftliche und private Zwecke, müssen elektronische Nachrichten und Dokumente einer Signatur entsprechen, die in Papierdokumenten enthalten ist. Es ist notwendig, eine Methode zu schaffen, mit der alle Teilnehmer davon überzeugt werden, dass die E-Mail von einem bestimmten Teilnehmer gesendet wurde. Dies ist eine stärkere Anforderung als die Authentifizierung.

Diffie und Hellman erzielten bedeutende Ergebnisse, indem sie einen Weg zur Lösung beider Probleme vorschlugen, der sich radikal von allen bisherigen Ansätzen zur Verschlüsselung unterscheidet.

Schauen wir uns zuerst die gemeinsamen Merkmale an. Verschlüsselungsalgorithmen mit einem öffentlichen Schlüssel und Anforderungen für diese Algorithmen. Lassen Sie uns die Anforderungen definieren, die ein Algorithmus erfüllen muss, der einen Schlüssel zur Verschlüsselung und einen anderen Schlüssel zur Entschlüsselung verwendet, und gleichzeitig ist es rechnerisch unmöglich, den Entschlüsselungsschlüssel zu bestimmen, wenn man nur den Verschlüsselungsalgorithmus und den Verschlüsselungsschlüssel kennt.

Außerdem haben einige Algorithmen, wie zB RSA, folgende Eigenschaft: Jeder der beiden Schlüssel kann sowohl zum Verschlüsseln als auch zum Entschlüsseln verwendet werden.

Wir werden zuerst Algorithmen betrachten, die beide Eigenschaften haben, und dann zu Public-Key-Algorithmen übergehen, die die zweite Eigenschaft nicht haben.

Beim Beschreiben Symmetrische Verschlüsselung und Public-Key-Verschlüsselung verwenden wir die folgende Terminologie. Schlüssel verwendet in Symmetrische Verschlüsselung, Wir werden anrufen geheimer Schlüssel. Die beiden Schlüssel, die bei der Verschlüsselung mit öffentlichen Schlüsseln verwendet werden, werden aufgerufen Öffentlicher Schlüssel und Privat Schlüssel. Der private Schlüssel wird geheim gehalten, aber wir werden ihn eher als privaten Schlüssel als als geheim bezeichnen, um Verwechslungen mit dem verwendeten Schlüssel zu vermeiden Symmetrische Verschlüsselung. Der private Schlüssel wird mit KR bezeichnet, der öffentliche Schlüssel mit KU.

Wir gehen davon aus, dass alle Teilnehmer Zugriff auf die öffentlichen Schlüssel der anderen haben und private Schlüssel lokal von jedem Teilnehmer erstellt werden und daher nicht verteilt werden sollten.

Ein Teilnehmer kann jederzeit seinen privaten Schlüssel ändern und den öffentlichen Schlüssel, aus dem das Paar besteht, veröffentlichen, indem er den alten öffentlichen Schlüssel durch ihn ersetzt.

Diffie und Hellman beschreiben die Anforderungen, die Verschlüsselungsalgorithmus mit öffentlichem Schlüssel.

  1. Es ist rechnerisch einfach, ein Paar zu erstellen (KU öffentlicher Schlüssel, KR privater Schlüssel).
  2. Angesichts des öffentlichen Schlüssels und der unverschlüsselten Nachricht M ist es rechnerisch einfach, die entsprechende verschlüsselte Nachricht zu erstellen:
  3. Es ist rechnerisch einfach, eine Nachricht mit dem privaten Schlüssel zu entschlüsseln:

    M = D KR [C] = D KR ]

  4. Es ist rechnerisch unmöglich, bei Kenntnis des öffentlichen Schlüssels KU den privaten Schlüssel KR zu bestimmen.
  5. Es ist rechnerisch unmöglich, bei Kenntnis des öffentlichen Schlüssels KU und der verschlüsselten Nachricht C die ursprüngliche Nachricht M wiederherzustellen.

    Eine sechste Anforderung kann hinzugefügt werden, obwohl sie nicht für alle Public-Key-Algorithmen gilt:

  6. Verschlüsselungs- und Entschlüsselungsfunktionen können in beliebiger Reihenfolge angewendet werden:

    M = Eku]

Dies sind Anforderungen, die stark genug sind, um den Begriff von einzuführen. Einwegfunktion Eine solche Funktion wird aufgerufen, bei der jedes Argument einen eindeutigen Umkehrwert hat, während es einfach ist, die Funktion selbst zu berechnen, aber es ist schwierig, die Umkehrfunktion zu berechnen.

Normalerweise bedeutet "einfach", dass das Problem in polynomieller Zeit der Länge der Eingabe gelöst werden kann. Wenn also die Länge der Eingabe n Bits beträgt, dann ist die Berechnungszeit der Funktion proportional zu na, wobei a eine feste Konstante ist. Somit soll der Algorithmus zur Klasse der Polynomalgorithmen P gehören. Der Begriff "hart" bedeutet ein komplizierteres Konzept. Im allgemeinen Fall gehen wir davon aus, dass das Problem nicht lösbar ist, wenn der Lösungsaufwand größer ist als die Polynomialzeit des Eingabewerts. Wenn beispielsweise die Länge der Eingabe n Bits beträgt und die Auswertungszeit der Funktion proportional zu 2 n ist, wird dies als eine rechnerisch unmögliche Aufgabe angesehen. Leider ist es schwierig festzustellen, ob ein bestimmter Algorithmus eine solche Komplexität aufweist. Darüber hinaus konzentrieren sich traditionelle Vorstellungen von Rechenkomplexität auf die Worst-Case- oder Average-Case-Komplexität eines Algorithmus. Dies ist für die Kryptographie nicht akzeptabel, wo es erforderlich ist, dass die Funktion nicht für alle oder fast alle Werte der Eingaben invertiert werden kann.

Zurück zur Definition einseitige Funktion mit Schiebedach, was, wie Einwegfunktion, ist in einer Richtung leicht zu berechnen und in der entgegengesetzten Richtung schwer zu berechnen, bis einige Weitere Informationen. Mit dieser zusätzlichen Information kann die Inversion in polynomieller Zeit berechnet werden. Auf diese Weise, Einwegfunktion mit Schiebedach in Familienbesitz Einwegfunktionen f k so dass

Wir sehen, dass die Entwicklung eines bestimmten Public-Key-Algorithmus von der Entdeckung des entsprechenden Algorithmus abhängt einseitige Funktion mit Schiebedach.

Kryptoanalyse von Public-Key-Algorithmen

Wie in dem Fall Symmetrische Verschlüsselung, Verschlüsselungsalgorithmus mit einem öffentlichen Schlüssel ist anfällig für Frontalangriffe. Die Gegenmaßnahme ist Standard: Verwenden Sie große Tasten.

Ein Kryptosystem mit öffentlichem Schlüssel verwendet bestimmte nicht invertierbare mathematische Funktionen. Die Komplexität der Berechnung solcher Funktionen ist nicht linear in der Anzahl der Schlüsselbits, sondern wächst schneller als der Schlüssel. Daher muss die Schlüsselgröße groß genug sein, um Brute-Force-Angriffe unpraktisch zu machen, und klein genug, um eine praktische Verschlüsselung zu ermöglichen. In der Praxis wird die Schlüsselgröße so gewählt, dass ein Brute-Force-Angriff unpraktisch ist, die Verschlüsselungsgeschwindigkeit jedoch langsam genug ist, um den Algorithmus für allgemeine Zwecke zu verwenden. Daher ist die Verschlüsselung mit öffentlichen Schlüsseln derzeit hauptsächlich auf Schlüsselverwaltungs- und Signaturanwendungen beschränkt, die die Verschlüsselung eines kleinen Datenblocks erfordern.

Eine andere Form des Angriffs besteht darin, einen Weg zu finden, den privaten Schlüssel anhand des öffentlichen Schlüssels zu berechnen. Es ist unmöglich, das mathematisch zu beweisen gegebene Form Angriff wird für einen bestimmten Public-Key-Algorithmus ausgeschlossen. Daher ist jeder Algorithmus, einschließlich des weit verbreiteten RSA-Algorithmus, verdächtig.

Schließlich gibt es eine Angriffsform, die spezifisch dafür ist, wie Systeme mit öffentlichem Schlüssel verwendet werden. Dies ist ein Angriff auf eine wahrscheinliche Nachricht. Nehmen wir zum Beispiel an, dass die gesendete Nachricht nur aus einem 56-Bit-Sitzungsschlüssel für einen symmetrischen Verschlüsselungsalgorithmus besteht. Ein Angreifer kann mit dem öffentlichen Schlüssel alle möglichen Schlüssel verschlüsseln und jede Nachricht entschlüsseln, die mit dem übertragenen Chiffretext übereinstimmt. Somit wird der Angriff unabhängig von der Schlüsselgröße des öffentlichen Schlüsselschemas auf einen Brute-Force-Angriff auf 56-Bit reduziert symmetrischer Schlüssel. Der Schutz vor einem solchen Angriff besteht darin, einfachen Nachrichten eine bestimmte Anzahl zufälliger Bits hinzuzufügen.

Grundlegende Anwendungen für Public-Key-Algorithmen

Die Hauptanwendungen von Public-Key-Algorithmen sind Verschlüsselung/Entschlüsselung, Signaturerstellung und -überprüfung sowie Schlüsselaustausch.

Verschlüsselung mit einem öffentlichen Schlüssel besteht aus den folgenden Schritten:


Reis. 7.1.

  1. Benutzer B erstellt ein Schlüsselpaar KU b und KR b , das verwendet wird, um die übertragenen Nachrichten zu verschlüsseln und zu entschlüsseln.
  2. Benutzer B stellt seinen Verschlüsselungsschlüssel auf sichere Weise zur Verfügung, d. h. öffentlicher Schlüssel KU b . Der gepaarte private Schlüssel KR b wird geheim gehalten.
  3. Wenn A eine Nachricht an B senden möchte, verschlüsselt er die Nachricht mit dem öffentlichen Schlüssel KU b von B.
  4. Wenn B die Nachricht erhält, entschlüsselt er sie mit seinem privaten Schlüssel KR b . Niemand sonst kann die Nachricht entschlüsseln, da nur B diesen privaten Schlüssel kennt.

Wenn der Benutzer (Endsystem) seinen privaten Schlüssel sicher aufbewahrt, kann niemand die übertragenen Nachrichten ausspionieren.

Das Erstellen und Überprüfen einer Signatur besteht aus den folgenden Schritten:


Reis. 7.2.
  1. Der Benutzer A erzeugt ein Schlüsselpaar KR A und KU A , das verwendet wird, um die Signatur übertragener Nachrichten zu erstellen und zu verifizieren.
  2. Benutzer A stellt seinen Verifizierungsschlüssel auf sichere Weise zur Verfügung, d. h.