2 in 1: Verschlüsselung mit Sicherheitsschutz

Die klassischen Aufgaben, die mit kryptografischen Methoden gelöst werden, sind die Gewährleistung der Vertraulichkeit und die Authentizität / Unnachahmlichkeit gespeicherter und übertragener Daten. Früher (bis etwa Mitte der 2000er Jahre) wurden die Verschlüsselung (Vertraulichkeit) und die Funktionen zum Generieren eines Einfüge- / Authentifizierungscodes (Nachahmungsbeständigkeit) verwendet, um solche Probleme zu lösen. Gleichzeitig wurden die Verschlüsselung und die Funktion zum Generieren der Einfügung durch separate kryptografische Mechanismen implementiert, was viele Probleme verursachte. Dies bezieht sich zunächst auf die Verwaltung von Schlüsselinformationen: Wenn ein Schlüssel für die Verschlüsselung und Sicherheit verwendet wird, sind eine Reihe von Schemata, z. B. AES-CBC + AES-CBC-MAC, vollständig instabil. Um solche Konstruktionen sicher zu machen, ist es notwendig, zusätzliche Schlüssel zu generieren, indem beispielsweise die abgeleiteten Schlüsselerzeugungsfunktionen (KDF) verwendet werden. Dies führt wiederum zu einer signifikanten Komplikation von kryptografischen Protokollen unter Verwendung ähnlicher Schemata. Darüber hinaus ist die konsequente Verwendung von zwei Mechanismen nicht immer die schnellste Lösung in Bezug auf die Leistung.

Seit Beginn des 21. Jahrhunderts haben Versuche begonnen, Verschlüsselungsmechanismen mit Nachahmungsschutz zu schaffen (manchmal findet sich der Begriff „authentifizierte Verschlüsselung“ in der englischen authentifizierten Verschlüsselung), die beide Aufgaben gleichzeitig lösen würden.

Die nächste Stufe bei der Entwicklung solcher Mechanismen kann als Verschlüsselungsmechanismus mit Sicherheit und zugehörigen Daten betrachtet werden (aus dem Englischen. AEAD - Authentifizierte Verschlüsselung mit zugehörigen Daten). Ein Merkmal der AEAD-Mechanismen besteht darin, dass sie gleichzeitig zwei Arten von Daten verarbeiten können: Daten, für die Vertraulichkeit und Sicherheit gewährleistet werden müssen (z. B. IP-Paketdaten), und Daten, für die nur Sicherheit ohne Datenschutz bereitgestellt werden muss - sie werden auch als " zusätzlich geschützte Daten “(„ zugehörige Daten “,„ zusätzlich authentifizierte Daten “- dies kann der IP-Paket-Header sein). Eine der beliebtesten Anwendungen für AEAD-Mechanismen sind verschiedene kryptografische Datenschutzprotokolle, beispielsweise der kürzlich verabschiedete IETF TLS 1.3 RFC 8446über das, was bereits über Habré geschrieben wurde . Dieser RFC 8446 berücksichtigt also authentifizierte Verschlüsselungsalgorithmen, die im Protokoll verwendet werden (Informationen zu den Prinzipien, die dem TLS 1.3-Protokoll zugrunde liegen, finden Sie hier ).

AEAD-Mechanismen können auf der Grundlage verschiedener Designs erstellt werden: Stream- und Block-Chiffren, Komprimierungszuordnungen (Hash-Funktionen), heute beliebte Konstruktionen vom Typ "Schwamm" (aus dem englischen "Schwamm"). Eine Vielzahl von Optionen finden Sie insbesondere auf der CAESAR- Wettbewerbswebsite und in verschiedenen Bewertungen zu diesem Wettbewerb, siehe zum Beispiel hier und hier. Der Wettbewerb selbst wurde übrigens 2013 organisiert, um den besten AEAD-Mechanismus anstelle des weit verbreiteten AES-GCM zu ermitteln (der GCM-Modus wurde 2007 von NIST standardisiert), für den zu diesem Zeitpunkt eine Reihe von Angriffen vorgeschlagen wurden ( hier und da ). Gleichzeitig wurden den CAESAR-Teilnehmern zusätzliche funktionale Anforderungen gestellt, wie die Fähigkeit, „online“ zu arbeiten, die Fähigkeit zur Parallelisierung, die Freiheit von Inversionen, der Schutz vor falscher Verwendung von Initialisierungs- und einmaligen Vektoren, das Vorhandensein von Vorberechnungen, Dateninkrementierung, Zwischensimulationen, die Wiederverwendung fester zugehöriger Daten. Wir erklären genauer.

"Online" arbeiten: Um Vertraulichkeit / Nachahmungsbeständigkeit zu gewährleisten, muss häufig zunächst das gesamte zu verarbeitende Datenpaket vollständig erstellt und erst dann mit dem Verarbeitungsvorgang begonnen werden. Mechanismen, die den Betrieb von "online" ermöglichen, erfordern dies nicht. Sie können mit dem eingehenden Echtzeit-Datenstrom arbeiten und ihn "on the fly" verarbeiten. Unter Parallelisierung der AEAD-Mechanismen verstehen wir die Möglichkeit, die Datenverarbeitung auf mehrere Prozessoren zu verteilen. Inversionsfreiheit bedeutet, dass im AEAD-Mechanismus nur die Verschlüsselungsfunktion oder nur die Entschlüsselungsfunktion verwendet wird. Diese Eigenschaft ist unter dem Gesichtspunkt der Implementierung wichtig: Bei einigen Chiffren (wie Grasshopper, AES) werden Verschlüsselung und Entschlüsselung unter Verwendung unterschiedlicher Transformationen implementiert.Inversionsfreiheit bedeutet eine kleinere Chipfläche in Hardware-Implementierungen oder weniger Software in Software. Mit Vorberechnungen ist alles einfach - dies ist eine Gelegenheit, nach Auswahl eines Schlüssels eine Reihe von vorläufigen Berechnungen durchzuführen, die die Verarbeitung eingehender Daten weiter beschleunigen.

Das Inkrementieren von Daten und die Wiederverwendung fester zugehöriger Daten in gewissem Sinne kann auch auf Vorberechnungen zurückgeführt werden. Mit Inkrementierung ist die Möglichkeit gemeint, die Einfügung schnell neu zu berechnen, falls wir den bereits verarbeiteten Daten einige zusätzliche Daten hinzugefügt haben, ohne alle Daten erneut zu verarbeiten. Die Verwendung fester zugeordneter Daten ist die Möglichkeit, Vorberechnungen für häufig auftretende Daten durchzuführen, sodass sie bei jedem Auftreten nicht erneut verarbeitet werden. Die letzte Eigenschaft (Zwischenimitationen) ist in gewissem Sinne auch "on the fly", d.h. die Fähigkeit, auf der Empfangsseite die Richtigkeit der Daten während der Verarbeitung zu überprüfen, ohne auf das Ende der Übertragung zu warten. Wenn also die Überprüfung des Zwischensimulationseinsatzes fehlschlägt,Der gesamte nachfolgende Datenstrom muss nicht verarbeitet werden. Dies spart Zeit und Ressourcen.

Wie sich herausstellte, ist es äußerst schwierig, einen AEAD-Mechanismus zu schaffen, der gleichzeitig ein so breites Spektrum von Anforderungen erfüllt. Dies führte dazu, dass der CAESAR-Wettbewerb wiederholt verlängert und die Fristen verschoben wurden, da die Jury keinen Gewinner auswählen konnte - alle Teilnehmer hatten unterschiedliche Eigenschaften - und der Wettbewerb erst im Frühjahr 2019 endete, indem mehrere Teilnehmer mit unterschiedlichen Eigenschaften ausgewählt wurden.

Der Prototyp des inländischen AEAD-Modus, später MGM (Multi Linear Galois Mode) genannt, wurde erstmals vorgestelltIm Jahr 2017 ist MGM eine Blockverschlüsselungs-Betriebsart. Der Modus besteht aus zwei Teilen, von denen jeder auf einem eigenen Zähler basiert. Der erste Zähler wird verwendet, um eine Sequenz zu erzeugen, die dann zur Verschlüsselung verwendet wird. Das Funktionsprinzip ähnelt dem Zähler des CTR-Modus (siehe GOST R 34.13-2015 oder ISO / IEC 10116), weist jedoch einen signifikanten Unterschied auf: Der Anfangswert des Zählers wird durch Verschlüsselung aus einem eindeutigen Initialisierungsvektor (Nonce) erhalten. Der zweite Zähler wird verwendet, um eine multilineare Funktion aufzubauen, auf deren Grundlage ein Imitationseinsatz erzeugt wird. Der erste und der zweite Zähler arbeiten unterschiedlich, der erste erhöht die rechte Hälfte des Blocks und der zweite erhöht die linke. Die Betriebsart ist in der Abbildung dargestellt.



Hier - beliebige Blockverschlüsselung mit BlocklängeEkn BitsA1,...,Ah sind Blöcke zugehöriger Daten,P1,...,Pq sind Klartextblöcke,nonce - eindeutiger Längeninitialisierungsvektorn1 Bit - Betrieb der bitweisen Addition, - Multiplikationsoperation im FeldGF(2128) ,MSBS - Abschneiden eines Blocks von Länge zu LängeS , ist die Bitlänge der zugehörigen Daten bzw. des Chiffretexteslen(A)||len(C) - Inkrementierungsfunktionen. ImBerichtund imArtikelfinden Sie eine detaillierte Beschreibung der Prinzipien zum Erstellen des MGM-Modus. Kurz gesagt, das folgende Problem wurde während der Entwicklung gelöst: Schaffung eines funktionalen und gut parallelisierten Betriebsmodus für Blockchiffren, die nicht für bekannte Angriffe anfällig sind, insbesondere für Angriffe, die erfolgreich auf den GCM-Modus angewendet wurden. Die folgenden Funktionen des Modus werden im genannten Bericht gezeigt:incr,incl



  • ,
  • ,
  • ,
  • (.. , MGM ),
  • ,
  • ( ()),
  • .

Im Gegensatz zu vielen der derzeit verwendeten Modi gelang es MGM, eine formale Rechtfertigung der Haltbarkeit im Modell der sogenannten nachweisbaren Sicherheit zu erhalten , die in Form von zwei Theoremen zusammengefasst werden kann, die die sichere Anzahl von Klartextblöcken bewerten, die mit dem Modus verarbeitet werden können MGM ohne Schlüsselwechsel. Wir bedauern die Leser und geben hier nur ihren Wortlaut an. Wer den vollständigen Beweis sehen und das Gehirn gründlich schmelzen will, kann sich auf die Originalveröffentlichung beziehen. Der erste Satz besagt, dass die Vertraulichkeit von Informationen gewährleistet werden soll.

Satz
, q, σ, :

AdvMGMPerm({0,1}n)Priv3(σ+4q)22n



Die zweite betrifft die Sicherheit der Datenauthentifizierung (ihre Nachahmungsbeständigkeit).

Satz
, q, σ, l, :

AdvMGMPerm({0,1}n)Auth3(σ+3q+l+2)22n+12s1



Beachten Sie, dass sich bei Verwendung des Ansatzes der „nachweisbaren Persistenz“ immer die Frage nach der Genauigkeit der erhaltenen Schätzungen stellt (dh wie viel sie tatsächlich der Realität entsprechen und für die Praxis angemessen sind). In diesem Fall erwiesen sie sich als genau, was die Ergebnisse einer Arbeit bestätigte, in der theoretische Angriffe für den MGM-Modus angezeigt werden, wenn das Materialvolumen die obigen Sätze nicht erfüllt.

Die folgende Tabelle zeigt einen Vergleich des entwickelten Regimes mit den Finalisten des CAESAR-Wettbewerbs gemäß den oben genannten Merkmalen.



In der Tabelle sind BC - Blockverschlüsselung, SC - Stromverschlüsselung, Dedic - Originaldesign (verwendet die Verschlüsselung nicht), Schwamm - verwendet einen Schwamm als verwendetes Grundelement angegeben.

Wie Sie sehen, war es möglich, ein Regime zu entwickeln, das eine ausreichend große Anzahl von betrieblichen Anforderungen erfüllt und, was äußerst wichtig ist, eine formale Begründung für seine Dauerhaftigkeit zu erhalten.

Im September letzten Jahres genehmigte Rosstandart das MGM-Regime in Empfehlungen zur Normung R 1323565.1.026–2019 „Informationstechnologie. Kryptografische Informationssicherheit. Blockieren Sie Verschlüsselungsmodi, die eine authentifizierte Verschlüsselung implementieren . Darüber hinaus hat die IANA zu Beginn dieses Jahres Kennungen zugewiesen , und Rosstandart hat Empfehlungen zur Standardisierung von R 1323565.1.030-2020 „Informationstechnologie. Kryptografische Informationssicherheit. Verwendung kryptografischer Algorithmen im Sicherheitsprotokoll der Transportschicht (TLS 1.3) " russische kryptografische Algorithmen im TLS 1.3-Protokoll zu verwenden - und nur den MGM-Modus zu verwenden.

All Articles