Dieser Text wird eines der überarbeiteten Kapitel des Handbuchs zum Informationsschutz der Abteilung für Funktechnik und Steuerungssysteme sowie aus diesem Schulungscode der Abteilung für Informationsschutz des MIPT (GU) sein. Das vollständige Tutorial ist auf github verfügbar (siehe auch Release- Entwürfe ). Ich habe vor, neue „große“ Beiträge auf den Hub hochzuladen, um erstens nützliche Kommentare und Beobachtungen zu sammeln und zweitens der Community mehr Überblicksmaterial zu nützlichen und interessanten Themen zu geben.Grundlegende Konzepte
Für die erfolgreiche Erfüllung von Zielen des Informationsschutzes ist es erforderlich, am Prozess des Schutzes mehrerer Entitäten teilzunehmen, die nach bestimmten Regeln technische oder organisatorische Maßnahmen durchführen, kryptografische Operationen ausführen, miteinander interagieren, beispielsweise Nachrichten senden oder die Identität der anderen überprüfen.
Die Formalisierung solcher Aktionen erfolgt über eine Protokollbeschreibung.
Protokoll - eine Beschreibung eines verteilten Algorithmus, in dessen Verlauf zwei oder mehr Teilnehmer nacheinander bestimmte Aktionen ausführen und Nachrichten austauschen (im Folgenden werden in diesem Abschnitt Definitionen basierend auf
[Cheremushkin: 2009] angegeben ).
Unter einem Teilnehmer (Subjekt, Partei) des Protokolls werden nicht nur Personen, sondern auch Anwendungen, Personengruppen oder ganze Organisationen verstanden. Formal werden die Teilnehmer nur als diejenigen angesehen, die innerhalb des Protokolls eine aktive Rolle spielen. Obwohl Sie beim Erstellen und Beschreiben der Protokolle auch die passiven Seiten nicht vergessen sollten. Beispielsweise nimmt ein passiver Kryptoanalytiker formal nicht an den Protokollen teil, aber viele Protokolle werden unter Berücksichtigung des Schutzes vor solchen „Nicht-Teilnehmern“ entwickelt.
Das Protokoll besteht aus
Zyklen (englische
Runde ) oder
Pässen (englischer
Pass ). Ein Zyklus ist ein Zeitintervall, in dem nur ein Teilnehmer aktiv ist. Mit Ausnahme des allerersten Protokollzyklus beginnt er normalerweise mit dem Empfang einer Nachricht und endet mit dem Senden.
Ein Zyklus (oder eine Passage) besteht aus
Schritten (Aktionen, englischer
Schritt, Aktion ) - spezifischen abgeschlossenen Aktionen, die von einem Protokollteilnehmer ausgeführt werden. Zum Beispiel:
- Erzeugung eines neuen (zufälligen) Wertes;
- Berechnung von Funktionswerten;
- Überprüfung von Zertifikaten, Schlüsseln, Signaturen usw .;
- Nachrichten empfangen und senden.
Eine vergangene oder auch nur theoretisch beschriebene Implementierung des Protokolls für bestimmte Teilnehmer wird als
Sitzung bezeichnet . Jeder Teilnehmer an der Sitzung führt eine oder mehrere
Rollen aus . In einer anderen Protokollsitzung können die Teilnehmer die Rollen wechseln und ganz andere Funktionen ausführen.
Wir können sagen, dass das Protokoll die Regeln für das Verhalten jeder Rolle im Protokoll vorschreibt. Eine Sitzung ist eine (möglicherweise theoretische) Beschreibung einer Protokollimplementierung, die in der Vergangenheit stattgefunden hat.
Ein Beispiel für eine Protokollbeschreibung.
- Ein Teilnehmer mit der Rolle Absender muss eine Nachricht an einen Teilnehmer mit der Rolle Empfänger senden.
- Ein Teilnehmer mit der Rolle "Empfänger" muss eine Nachricht von einem Teilnehmer mit der Rolle "Absender" erhalten.
Ein Beispiel für eine Protokollsitzungsbeschreibung.
- Am 1. April um 13:00 Uhr schickte Alice Bob eine Nachricht.
- Am 1. April, um 13:05 Uhr, erhielt Bob eine Nachricht von Alice.
Ein geschütztes Protokoll oder
ein Sicherheitsprotokoll wird als Protokoll bezeichnet, das mindestens eine Schutzfunktion bietet
[ISO: 7498-2: 1989] :
- Authentifizierung von Parteien und Datenquelle,
- Zugangskontrolle
- Vertraulichkeit
- Integrität
- Unfähigkeit, das Senden oder Empfangen zu verweigern.
Wenn ein sicheres Protokoll für die Ausführung der Sicherheitsfunktionen eines kryptografischen Systems ausgelegt ist oder wenn während seiner Ausführung kryptografische Algorithmen verwendet werden, wird ein solches Protokoll als
kryptografisch bezeichnet .
Protokollaufzeichnung
Verwenden Sie zur Aufzeichnung von Protokollen im Zusammenhang mit der Implementierung von Informationsschutzfunktionen keine Ausdrücke wie "Teilnehmer mit der Rolle" Absender ", sondern ersetzen Sie sie durch kurze Notationen wie" Absender ", oder verwenden Sie allgemein akzeptierte
Beispiele : Alice, Bob, Clara, Eva usw. e) Die folgenden Vereinbarungen werden verwendet.
- Alice, Bob (aus Englisch A, B ) - Sender und Empfänger.
- Karl, Clara, Charlie (aus dem Englischen. C ) - eine gleichberechtigte dritte Partei.
- Eve (vom englischen Lauscher ) ist ein passiver Kryptoanalytiker.
- Mellory (aus dem Englischen böswillig ) ist ein aktiver Kryptoanalytiker.
- Trent (vom englischen Trust ) ist eine vertrauenswürdige Partei.
Es gibt kein allgemein akzeptiertes Protokollaufzeichnungsformat, sie können sich sowohl im Aussehen als auch in der Vollständigkeit der Beschreibung unterscheiden. Hier ist zum Beispiel das umfassendste Aufzeichnungsformat für das Diffie-Hellman-Protokoll.
- Vorstufe.
- Alle Parteien haben gemeinsam gewählt g und p .
- Pass 1.
- Alice generiert zufällig a .
- Alice rechnet nach A = g a b m o d p .
- Alice schickt Bob A .
- Pass 2.
- Bob nimmt von Alice A .
- Bob generiert zufällig b .
- Bob rechnet B = g b b m o d p .
- Bob schickt Alice B .
- Bob rechnet s = A b b m o d p .
- Pass 2.
- Alice zieht Bob aus B .
- Alice rechnet nach s = B a b m o d p .
- Das Ergebnis des Protokolls.
- Die Parteien haben einen gemeinsamen Sitzungsschlüssel berechnet s .
Vergleichen Sie nun mit einer kurzen Aufzeichnung desselben Protokolls.
- A b i s B : A = g a b m o d p
- B bisA:B=gb bmodp
In einer kurzen Aufzeichnung werden Initialisierung und Voraussetzungen, Berechnungen nicht übertragener Daten (in diesem Beispiel ein gemeinsamer Sitzungsschlüssel) weggelassen.
s ) sowie etwaige Schecks.
In diesem Tutorial halten wir uns an ein mittleres Aufnahmeformat.
- Alice erzeugt a .
Alice \ to \ left \ {A = g ^ a \ bmod p \ right \} \ to BobAlice \ to \ left \ {A = g ^ a \ bmod p \ right \} \ to Bob . - Bob generiert b .
Bob rechnet s=Ab bmodp .
Bob \ to \ left \ {B = g ^ b \ mod p \ right \} \ to AliceBob \ to \ left \ {B = g ^ b \ mod p \ right \} \ to Alice . - Alice rechnet nach s=Ba bmodp .
Wir stimmen auch den Regeln für die Aufzeichnung des Falls zu, wenn sich ein aktiver Kryptoanalytiker (Mellory) als legaler Benutzer ausgibt.
\ begin {array} {llllc} (1) & A & \ bis M \ left (B \ right) &: & A = g ^ a \ bmod p, \\ (2) & M \ left (A \ right ) & \ zu B &: & A ^ * = g ^ {a ^ *} \ bmod p, \\ (3) & B & \ zu M \ left (A \ right) &: & B = g ^ b \ bmod p, \\ (4) & M \ left (B \ right) & \ to A &: & B ^ * = g ^ {b ^ *} \ bmod p. \\ \ end {array}
\ begin {array} {llllc} (1) & A & \ bis M \ left (B \ right) &: & A = g ^ a \ bmod p, \\ (2) & M \ left (A \ right ) & \ zu B &: & A ^ * = g ^ {a ^ *} \ bmod p, \\ (3) & B & \ zu M \ left (A \ right) &: & B = g ^ b \ bmod p, \\ (4) & M \ left (B \ right) & \ to A &: & B ^ * = g ^ {b ^ *} \ bmod p. \\ \ end {array}
Oder indem Sie jedem Teilnehmer eine eigene Spalte zuweisen.
\ begin {array} {lllclllc} (1) & A & \ to & M \ left (B \ right) & {} & {} &: & A = g ^ a \ bmod p, \\ (2) & {} & {} & M \ left (A \ right) & \ to & B &: & A ^ * = g ^ {a ^ *} \ bmod p, \\ (3) & {} & {} & M \ left (A \ right) & \ gets & B &: & B = g ^ b \ bmod p, \\ (4) & A & \ gets & M \ left (B \ right) & {} & {} & : & B ^ * = g ^ {b ^ *} \ bmod p. \\ \ end {array}
\ begin {array} {lllclllc} (1) & A & \ to & M \ left (B \ right) & {} & {} &: & A = g ^ a \ bmod p, \\ (2) & {} & {} & M \ left (A \ right) & \ to & B &: & A ^ * = g ^ {a ^ *} \ bmod p, \\ (3) & {} & {} & M \ left (A \ right) & \ gets & B &: & B = g ^ b \ bmod p, \\ (4) & A & \ gets & M \ left (B \ right) & {} & {} & : & B ^ * = g ^ {b ^ *} \ bmod p. \\ \ end {array}
Verwenden Sie die folgenden Konventionen für die Bezeichnung der übertragenen Daten, um die Beschreibung zu reduzieren und den Vergleich verschiedener Protokolle zu vereinfachen.
- A , B , C , usw. - Kennungen der Protokollteilnehmer: Alice, Bob und Clara.
- M (aus englischer Nachricht ) - eine Nachricht in ihrer ursprünglichen Form, Klartext, unabhängig von der Kodierung. Das heißt, unter M Der Ausgangstext kann als Text oder beispielsweise als Ton verstanden werden oder bereits eine bestimmte Anzahl oder ein Array von Bits, die dieser Nachricht eindeutig entsprechen.
- K (vom englischen Schlüssel ) - irgendein Schlüssel. Ohne weitere Erläuterung wird normalerweise ein geheimer Sitzungsschlüssel angegeben.
- KA - ein gemeinsamer geheimer Schlüssel zwischen Alice und Trent (für symmetrische Kryptosysteme).
- KA - Alices öffentlicher Schlüssel (für asymmetrische Kryptosysteme).
- EK left( dots right) (aus dem Englischen verschlüsseln ) - Daten auf dem Schlüssel verschlüsselt K .
- EA left( dots right) , EB left( dots right) - Daten, die auf den Schlüsseln von Alice bzw. Bob verschlüsselt sind.
- L (aus der englischen Lebenszeit ) - die Lebenszeit von zum Beispiel einem Zertifikat.
- SK left( dots right) (vom englischen Zeichen ) - Daten und die entsprechende digitale Signatur auf dem öffentlichen Schlüssel K .
- TA , TB (aus englischem Zeitstempel ) - Zeitstempel der jeweiligen Teilnehmer.
- RA , RB (aus dem englischen Zufallsprinzip ) - Zufallszahlen, die von den jeweiligen Teilnehmern ausgewählt wurden.
Beispiele für die Verwendung der Notation.
- EKB(M) oder einfach EB(M) - Nachricht M verschlüsselt mit Bobs Schlüssel KB .
- SA(RA) - Zufallszahl RA generiert von Alice und signiert von ihr. Das heißt, die Nachricht enthält sowohl eine Zufallszahl (im Klartext) als auch eine elektronische Signatur dieser Nummer.
- ST(A,KA,TT,L) - Alices Kennung und Schlüssel, Zeitstempel und Lebensdauer dieses Datensatzes, alle zusammen vom öffentlichen Schlüssel des vertrauenswürdigen Zentrums (Trent) signiert. Das ist in der Tat das Schlüsselzertifikat von Alice.
Eigenschaften der Protokollsicherheit
Ein sicheres System und dementsprechend ein sicheres Protokoll können verschiedene Sicherheitsfunktionen ausführen. Viele dieser Funktionen oder Ziele (englische
Ziele ) können als Widerstand gegen eine bestimmte Klasse von Angriffen formuliert werden. Am vollständigsten und relevantesten ist die Auflistung und Interpretation dieser Ziele im AVISPA-Projektdokument (
Automated Validation of Internet Security Protocols and Applications )
[AVISPA] , in dem die Beschreibungen aus verschiedenen IETF-Dokumenten (
Internet Engineering Task Force ) zusammengefasst sind. Diese Ziele gelten als
formalisiert - das heißt, dass für einzelne Protokolle die Möglichkeit besteht, die Erreichung dieser Ziele formal zu beweisen oder zu widerlegen.
- Authentifizierung (unidirektional).
Englisch Authentifizierung (Unicast) .
- (G1) Subjektauthentifizierung.
Englisch Entitätsauthentifizierung (Peer-Entitätsauthentifizierung) .
Eine Garantie für eine Seite des Protokolls durch Vorlage von Nachweisen und / oder Ausweisen der zweiten Partei, die am Protokoll teilnimmt, und dass die zweite Partei tatsächlich an der aktuellen Sitzung des Protokolls teilgenommen hat. Dies geschieht normalerweise durch die Präsentation solcher Daten, die nur von der anderen Seite generiert werden können. Die Authentifizierung des Subjekts impliziert, dass die empfangenen Daten eindeutig zum Subjekt des Protokolls zurückverfolgt werden können, was die Authentifizierung der Datenquelle impliziert. - (G2) Nachrichtenauthentifizierung.
Englisch Nachrichtenauthentifizierung (Data Origin Authentication) .
Eine Garantie, dass die empfangene Nachricht oder Daten von einem bestimmten Betreff zu einem (normalerweise nicht festgelegten) Zeitpunkt in der Vergangenheit erstellt wurde und dass diese Daten nicht beschädigt oder manipuliert wurden. Aber ohne Einzigartigkeit oder Aktualität zu gewährleisten. Die Authentifizierung von Nachrichten impliziert deren Integrität. - (G3) Wiederholen Sie den Schutz.
Englisch Wiederholungsschutz
Schutz vor der Situation, in der eine Partei eine Nachricht aufzeichnet und später wiedergibt (möglicherweise in einer anderen Protokollsitzung), was zu einer falschen Interpretation dieser Seite als authentifiziert führt.
- Authentifizierung beim Senden an viele Adressen oder beim Herstellen einer Verbindung zu einem Abonnement- / Benachrichtigungsdienst.
Englisch Authentifizierung in Multicast oder über einen Abonnement- / Benachrichtigungsdienst .
- (G4) Explizite Authentifizierung des Empfängers.
Englisch Implizite Zielauthentifizierung .
Das Protokoll muss sicherstellen, dass die gesendete Nachricht nur für legitime Empfänger lesbar ist. Das heißt, nur rechtmäßig autorisierte Teilnehmer haben Zugriff auf relevante Informationen, eine Multicast-Nachricht oder eine Gruppenkommunikationssitzung. Umfasst Verteilergruppen mit sehr dynamischen Mitgliedschaften. - (G5) Quellauthentifizierung.
Englisch Quellauthentifizierung .
Rechtliche Empfänger können die Quelle und den Inhalt von Informationen oder Gruppenkommunikation authentifizieren. Umfasst Fälle, in denen Mitglieder der Gruppe sich nicht vertrauen.
- (G6) Autorisierung (von einer dritten vertrauenswürdigen Partei).
Englisch Autorisierung (von einem vertrauenswürdigen Dritten) .
Die Garantie der Fähigkeit, (im Sinne des Protokolls) eines Subjekts zu autorisieren, über eine vertrauenswürdige dritte Partei auf die Ressource eines anderen Subjekts zuzugreifen. Dies bedeutet, dass der Eigentümer der Ressource möglicherweise keine eigenen Zugriffslisten (engl. Access Control List, ACL ) hat und sich auf diese von vertrauenswürdiger Seite verlässt. - Gemeinsame Schlüsselgenerierung.
Englisch Schlüsselvereinbarungseigenschaften .
- (G7) Schlüsselauthentifizierung.
Englisch Schlüsselauthentifizierung .
Eine Garantie für eine der Entitäten, dass nur legale Benutzer auf einen bestimmten geheimen Schlüssel zugreifen können. - (G8) Eigentumsnachweis des Schlüssels.
Englisch Schlüsselbestätigung (Key Proof of Possession) .
Eine Garantie für eine der Entitäten, dass die andere Entität tatsächlich einen bestimmten geheimen Schlüssel besitzt (oder die Informationen, die erforderlich sind, um einen solchen Schlüssel zu erhalten). - (G9) Perfekte Geheimhaltung.
Englisch Perfect Forward Secrecy (PFS) .
Stellen Sie sicher, dass die zukünftige Kompromittierung von Hauptschlüsseln nicht die Sitzungsschlüssel früherer Protokollsitzungen beeinträchtigt. - (G10) Erzeugung neuer Schlüssel.
Englisch Neue Schlüsselableitung .
Es wird garantiert, dass für jede Protokollsitzung neue Sitzungsschlüssel erstellt werden. - (G11) Eine sichere Gelegenheit, Sicherheitseinstellungen zu vereinbaren.
Englisch Verhandlung über sichere Funktionen (Widerstand gegen Herabstufung und Verhandlungsangriffe) .
Die Garantie besteht nicht nur darin, dass die rechtlichen Parteien die Möglichkeit haben, sich auf die Sicherheitsparameter zu einigen, sondern dass die illegale Seite nicht in das Protokoll eingegriffen hat und nicht zur Auswahl ihrer bevorzugten (möglicherweise schwächsten) Sicherheitsparameter geführt hat.
- (G12) Vertraulichkeit.
Englisch Vertraulichkeit (Geheimhaltung) .
Die Garantie, dass ein bestimmtes Datenelement (Teil der übertragenen Nachricht) dem Angreifer unbekannt bleibt. Zu diesem Zweck werden die Geheimhaltung des Sitzungsschlüssels, die Authentifizierung des Schlüssels oder die Zuverlässigkeit von langfristigen Hauptschlüsseln nicht berücksichtigt. - Anonymität.
Englisch Anonymität .
- (G13) Schutz von Identifikatoren vor Abhören (Nicht-Konnektivität).
Englisch Identitätsschutz gegen Lauschangriffe .
Die Garantie, dass der Angreifer (der Lauscher) die Nachrichten des Subjekts nicht mit seiner wahren Identität in Verbindung bringen kann. - (G14) Schutz von Identifikatoren vor anderen Parteien.
Englisch Identitätsschutz gegen Peer .
Eine Garantie, dass der Teilnehmer an der Korrespondenz die Nachrichten des Betreffs nicht mit einer realen Person verbinden kann, sondern nur mit einem bestimmten Pseudonym.
- (G15) Eingeschränkter Schutz vor Denial-of-Service-Angriffen.
Englisch (Begrenzte) Denial-of-Service (DoS) -Resistenz .
Sicherstellen, dass das Protokoll bestimmten Grundsätzen folgt, die die Wahrscheinlichkeit (die komplizierte Verwendung) bestimmter Klassen von Denial-of-Service-Angriffen verringern. - (G16) Invarianz des Absenders.
Englisch Absender Invarianz .
Eine Garantie für eine der Parteien, dass die Quelle der Nachricht dieselbe bleibt wie diejenige, die die Kommunikation gestartet hat, obwohl die tatsächliche Identifizierung der Quelle für den Empfänger nicht wichtig ist. - Unwiderlegbarkeit.
Englisch Nichtleugnung .
- (G17) Rechenschaftspflicht.
Englisch Rechenschaftspflicht .
Garantierte Fähigkeit, die Handlungen von Personen auf Objekten zu verfolgen. - (G18) Ursprungsnachweis.
Englisch Ursprungsnachweis .
Garantie des unwiderlegbaren Beweises der Quelle der Nachricht. - (G19) Zustellnachweis.
Englisch Liefernachweis .
Garantie des unwiderlegbaren Nachweises des Empfangs der Nachricht.
- (G20) Geschütztes temporäres Eigentum.
Englisch Sicherheit Zeitliche Eigenschaft .
Die Garantie für den Nachweis, dass sich das System in einem der Zustände befindet, bedeutet, dass sich das System in der Vergangenheit mindestens einmal in einem anderen Zustand befunden hat. Zum Beispiel bedeutet das Erhalten eines Subjektzugriffs auf eine Ressource, dass das Subjekt in der Vergangenheit einmal erfolgreich für diesen Zugriff bezahlt hat.
Beispiele für Sicherheitseigenschaften, die von verschiedenen Protokollen implementiert werden, sind in der Tabelle aufgeführt.

Protokollklassifizierung
Es gibt keine allgemein akzeptierte Klassifizierung von Sicherheitsprotokollen. Es kann jedoch eine Reihe
objektiver und eindeutiger Merkmale unterschieden werden, die die Protokolle klassifizieren.
- Einteilung nach Anzahl der Protokollteilnehmer:
- bilateral
- dreigliedrig usw.
- multilateral.
- Klassifizierung nach der Anzahl der übertragenen Nachrichten:
- interaktiv (mit gegenseitigem Nachrichtenaustausch);
- Nicht interaktiv (mit einmaligem Messaging), häufig als Schemata bezeichnet . Die Definition ist nicht vollständig. Jedes Schema umfasst mindestens zwei Stufen. In der ersten Vorstufe verteilt das Trusted Center einige Informationen unter den Peer-Teilnehmern. In der zweiten Phase (spezifische Protokollsitzungen) tauschen die Teilnehmer diese Informationen aus und erhalten das ursprüngliche Geheimnis oder einen neuen geheimen Sitzungsschlüssel. Darüber hinaus kann der Informationsaustausch zwischen mehr als zwei Teilnehmern stattfinden. Nach dem gegenseitigen Informationsaustausch sind jedoch keine zusätzlichen Ausweise erforderlich, um die Ziele des Systems zu erreichen.
- Einteilung nach Anzahl der Durchgänge (Runden):
- Klassifizierung nach verwendeten kryptografischen Systemen:
- basierend auf nur symmetrischen Kryptosystemen;
- basierend auf asymmetrischen Kryptosystemen.
- Klassifizierung nach geschützten Protokolleigenschaften:
- (G1) stellt eine Authentifizierung der ersten, zweiten Seite des Protokolls usw. Bereit oder nicht;
- (G2) stellt Nachrichtenauthentifizierung bereit oder nicht;
- (G3) bietet Wiederholungsschutz oder nicht;
- usw.
- Einteilung nach Art der Teilnehmer:
- Peer-to-Peer, wenn alle Teilnehmer beliebige Rollen innerhalb des Protokolls ausführen können;
- mit einem vertrauenswürdigen Vermittler, wenn immer eine dritte vertrauenswürdige Partei an dem Protokoll beteiligt ist;
- mit einem vertrauenswürdigen Schiedsrichter, wenn eine dritte vertrauenswürdige Partei an dem Protokoll teilnehmen kann, wenn die anderen Teilnehmer nicht zugestimmt haben.
Eine weniger objektive und eindeutige Klassifizierung kann auch auf der Grundlage einer subjektiven Bewertung der Protokolle eingeführt werden.
- Einteilung nach dem Zweck des Protokolls:
- ... für Integrität sorgen
- ... digital signiert
- ... Identifizierung
- ... Privatsphäre
- ... Schlüsselverteilung,
- … usw.
- Einstufung der "Vollständigkeit" der ausgeführten Funktionen:
- primitiv, werden als grundlegende Komponente bei der Erstellung von Anwendungsprotokollen verwendet;
- Zwischenstufe;
- angewendet, entwickelt, um praktische Probleme zu lösen.
Die Klassifizierung nach Zweck kann auch als Klassifizierung nach den geschützten Eigenschaften des Protokolls umformuliert werden, für das es entwickelt wurde. In diesem Fall müssen die „grundlegenden Eigenschaften“ hervorgehoben werden (z. B. G10 - Bildung neuer Schlüssel), und der größte Teil der übrigen wird auf zusätzliche zurückgeführt (z. B. G7 - Schlüsselauthentifizierung und G8 - Bestätigung des Schlüsselbesitzes). Das Bestimmen, welche der Eigenschaften "grundlegend" und welche "zusätzlich" sind, erzeugt eine Mehrdeutigkeit in der Klassifizierung gemäß dem Zweck des Protokolls. Wenn alle Eigenschaften des Protokolls als "einfach" bezeichnet werden, wird eine solche Klassifizierung zu detailliert.
Die Klassifizierung nach "Vollständigkeit" der ausgeführten Funktionen ist problematisch, da nicht ein einziges Protokoll als vollständig "angewendet" bezeichnet werden kann. Jedes Protokoll an sich ist nur ein Teil eines bestimmten Informations- (oder Organisations-) Systems, das nur die von den Benutzern geforderte Funktion ausführt. Wir können jedoch sagen, dass einzelne Protokolle (z. B. TLS) Protokolle einer höheren Ebene sind als Protokolle, z. B. Diffie-Hellman, da letztere häufig als integraler Bestandteil desselben TLS-Protokolls fungieren.
Protokollangriffe
Geschützte Eigenschaften von Protokollen können deklariert werden, wenn die Autoren des Protokolls sie selbst deklarieren (und in der Regel verschiedene Argumente für die Ausführung dieser Funktionen angeben), und wenn sich die Autoren eines Systems auf die Implementierung geschützter Eigenschaften durch ein bestimmtes Protokoll verlassen.
Ein Angriff auf ein sicheres Protokoll ist ein Versuch, Protokollnachrichten zu analysieren und / oder Aktionen durchzuführen, die vom Protokoll nicht vorgesehen sind, um die deklarierten oder implizierten Eigenschaften des Protokolls zu verletzen. (Die modifizierte Definition aus [Cheremushkin: 2009] wird verwendet . Der Unterschied besteht darin, dass Cheryomushkin in seiner Definition nicht beschreibt, was "Protokollverletzung" ist und mehrdeutige Fälle von Verletzung hinterlässt, z. B. die Eigenschaften von G9 / PFS und G20 / STP.) DerAngriff wird in Betracht gezogen Erfolgreich, wenn mindestens eine der deklarierten oder implizierten Eigenschaften des Protokolls verletzt wird.Im Falle eines erfolgreichen Angriffs auf die implizierten Eigenschaften werden wir klarstellen, dass der Angriff auf die Verwendung des Protokolls erfolgreich istin einem System. Dabei geht es natürlich nicht um die Fehler des Protokolls selbst, sondern um die falsche Wahl des Protokolls (oder seiner Einstellungen) durch die Autoren des Systems.Es gibt viele Arten von Protokollangriffen. Viele Angriffe haben einige allgemeine Prinzipien, die es ermöglichen, Angriffsklassen zu unterscheiden, um die Analyse und Entwicklung von Protokollen zu vereinfachen, die gegenüber ganzen Angriffsklassen resistent sind.- MitM-Angriff in der Mitte
Englisch man-in-the-middle attack
, , , , , , , . , ( G1). —. - Replay
Englisch replay attack
, , , , . , , - . - TF
Englisch type flaw attack
, , () ( ). , , Wide-Mouth Frog, —, Yahalom —. - PS
Englisch parallel-session attack
, . , , —. - STS
Englisch short-term secret attack - KN
Englisch known-key attack
, , (, ), , , . - UKS
Englisch unknown key-share attack
, ( , , ), . , , -.
Es ist wichtig anzumerken, dass, sofern nicht anders angegeben, im Rahmen der Analyse von kryptografischen Protokollen (nicht spezifischen Systemen) die Annahme der Stärke aller verwendeten kryptografischen Grundelemente verwendet wird. Beispielsweise wird angenommen, dass ein sicherer Informationsaustausch mit einem Sitzungsschlüssel stattfindet, der in einer Sitzung eines bestimmten kryptografischen Protokolls generiert wurde, der Angreifer jedoch nicht über genügend Ressourcen und Zeit verfügt, um diesen Sitzungsschlüssel durch einen Angriff auf die verwendeten Chiffren oder kryptografisch resistenten Hash-Funktionen zu erhalten.Andererseits ist davon auszugehen, dass die im Rahmen von Protokollsitzungen erhaltenen Sitzungsschlüssel nach einiger Zeit (jedoch deutlich länger als die Kommunikationssitzung selbst) vom Angreifer bezogen werden (Angriffsklassen STS und KN). Und nach viel längerer Zeit kann der Angreifer auf die "Hauptschlüssel" zugreifen - Schlüssel für die langfristige Verwendung. Daher sollten Protokolle mit der Generierung von Sitzungsschlüsseln einschließlich der G9 / PFS-Eigenschaft entwickelt werden.(In den folgenden Abschnitten werden die spezifischen Protokolle beschrieben.)Referenzen
Nachwort
Der Autor ist für sachliche und sonstige Kommentare zum Text dankbar. ( ).