MAC-dann-Verschlüsselung im SIGMA-Protokoll für den authentifizierten Schlüsselaustausch

Dec 21 2020

Das 2003 vorgeschlagene und in TLS 1.3 und IKE verwendete SIGMA-Protokoll steht für "SIGn-and-MAc" und kann optional die Identität durch Verschlüsselung schützen.

Die unten dargestellte SIGMA-I-Variante zeigt an, dass ein MAC-dann-Verschlüsselungs-Ansatz verwendet wird:

Hier $\{\dots \}_{K} $ bezeichnet die Verschlüsselung der Informationen zwischen den Klammern unter einer symmetrischen Verschlüsselungsfunktion unter Verwendung eines Schlüssels $K$.

Gibt es einen bestimmten Grund, MAC-dann-verschlüsseln anstelle von verschlüsseln-dann-MAC für Schlüsselaustauschprotokolle zu verwenden? Ich konnte keine bessere Antwort finden, als es willkürlich erscheint, wenn ich einen Vergleich zwischen MAC-dann-verschlüsseln und verschlüsseln-dann-MAC betrachte .

Bearbeiten: RFC 7366, der in dieser verwandten Antwort verlinkt ist , gibt einige Hinweise, dass Verschlüsselung-dann-MAC bevorzugt werden sollte (D) TLS-Kommunikation (keine wird über Handshaking gesagt). Insbesondere heißt es:

TLS und DTLS verwenden eine MAC-dann-Verschlüsselungskonstruktion, die zum Zeitpunkt der Angabe des ursprünglichen SSL-Protokolls (Secure Socket Layer) Mitte der neunziger Jahre als sicher angesehen wurde, die jedoch nicht mehr als sicher angesehen wird.

Interessanterweise schrieb H Krawczyk (der Autor von SIGMA) 2001 vor SIGMA die Reihenfolge der Verschlüsselung und Authentifizierung zum Schutz der Kommunikation (oder: Wie sicher ist SSL?) .

Antworten

4 HugoKrawczyk Jan 09 2021 at 06:20

Arnaud bat mich, dieses Problem zu klären.

Es ist wahr, dass man einen authentifizierten Verschlüsselungsmodus oder Encrypt-Then-MAC verwenden sollte, und das Papier sagt dies ausdrücklich. In der Tat ist der erläuternde Text in dem Papier, das der oben gezeigten Abbildung folgt (Abschnitt 5.2 vonhttps://webee.technion.ac.il/~hugo/sigma-pdf.pdf) behebt dieses Problem. Es sagt:

Wir betonen, dass die Verschlüsselungsfunktion (wie in der dritten Nachricht angewendet) gegen aktive Angriffe resistent sein und daher eine Form des Integritätsschutzes kombinieren muss. Kombinierte Geheimhaltungstransformationstransformationen wie die aus [16] können verwendet werden, oder ein herkömmlicher Verschlüsselungsmodus (z. B. CBC) kann mit einer MAC-Funktion verwendet werden, die über dem Chiffretext berechnet wird [3, 26].

Nämlich die bezeichnete Verschlüsselung $\{...\}_{K_e}$muss ein authentifiziertes Verschlüsselungsschema verwenden. (Die Notwendigkeit einer authentifizierten Verschlüsselung wird auch in Anhang B wiederholt, der ein vollständigeres Protokoll in Form von SIGMA-R zeigt.)

Die Tatsache, dass sich unter der Verschlüsselung ein MAC (auf der Identität) befindet, liegt nur daran, dass der MAC (ein wesentlicher) Teil des SIGMA-Protokolls ist und in keiner Beziehung zur Verschlüsselung steht (insbesondere erforderlich, auch wenn Sie sich nicht um den Schutz von Identitäten kümmern ). Während es also wie "MAC-dann-Verschlüsselung" aussieht, hat es keinen Bezug zu diesem Verschlüsselungsmodus.

Hinweis: Der Text besagt, dass eine authentifizierte Verschlüsselung nur für die dritte Nachricht erforderlich ist, da SIGMA-I, wie am Anfang desselben Absatzes erwähnt, die Identität des Initiators vor aktiven Angreifern und die Identität des Antwortenden vor passiven schützt Angreifer. Die Verschlüsselung der Identität des Responders erfordert daher nur Sicherheit gegen passive Angriffe, für die eine nicht authentifizierte Verschlüsselung ausreicht. Dies ist wirklich eine akademische Bemerkung, da in der Praxis für beide Flüsse dasselbe Verschlüsselungsschema verwendet wird, nämlich für beide die authentifizierte Verschlüsselung.

1 hakoja Dec 28 2020 at 20:19

Dies ist eine Art Spekulation, aber ich würde annehmen, dass dies auf die modulare Art und Weise zurückzuführen ist, in der Sigma entworfen wurde. Als Hugo Krawczyk Sigma entwarf, war die wichtigste Sicherheitseigenschaft, nach der er suchte, die AKE-Sicherheit, die im Wesentlichen aus zwei Dingen besteht:

  1. Ununterscheidbarkeit des Sitzungsschlüssels: Der Gegner sollte nicht in der Lage sein, echte Sitzungsschlüssel von zufälligen zu unterscheiden. und

  2. Explizite Entitätsauthentifizierung (EA): Die Eigenschaft, dass nach Abschluss des Protokolllaufs durch einen Protokollteilnehmer garantiert wird, dass er tatsächlich mit der erwarteten Partei kommuniziert hat und dass diese Partei tatsächlich denselben Sitzungsschlüssel berechnet hat.

Die EA-Eigenschaft ist im Grunde ein wichtiger Bestätigungsschritt, der die Lebendigkeit und Authentifizierung sicherstellt. Dies wird erreicht, indem ein MAC über einige der Protokolldaten unter Verwendung eines Schlüssels berechnet wird$K_m$ abgeleitet von demselben Hauptgeheimnis, das zum Ableiten des Sitzungsschlüssels verwendet wurde.

Der Punkt ist, dass Sie AKE-Sicherheit (dh Eigenschaft 1 und 2) ohne jegliche Verschlüsselung erreichen können! Wenn Krawczyk nachweist, dass Sigma die AKE-Sicherheit erfüllt (ich kann mich nicht erinnern, um welches Papier es sich handelt; ich werde versuchen, es später zu finden), geht er einfach davon aus, dass der Verschlüsselungsschritt überhaupt nicht vorhanden ist! (Er tut dies auch in seinem OPTLS-Artikel, der der Vorläufer von TLSv1.3 ist.)

Wie gesagt, das Standard-Sicherheitsziel für die meisten Schlüsselaustauschprotokolle war, seit den Originalarbeiten von Bellare und Rogaway , im Grunde alles die AKE-Sicherheit. Als Krawczyk Sigma entwarf, wollte er jedoch noch eine weitere, nicht standardmäßige Funktion hinzufügen, nämlich den Identitätsschutz . Da er jedoch bereits gezeigt hatte, dass das Sigma-Protokoll ohne Verschlüsselung AKE-Sicherheit erreicht, war es einfach, zusätzlich eine Verschlüsselung hinzuzufügen, um auch einen Identitätsschutz zu erhalten. Also: MAC-dann-verschlüsseln.

Beachten Sie jedoch, dass diese beiden Verwendungszwecke von MACing und Verschlüsselung eher orthogonal sind und unterschiedlichen Zwecken dienen: Der innere MAC soll EA-Sicherheit bieten, während die äußere Verschlüsselung Identitätsschutz bieten soll.

Beachten Sie auch, dass Sigma typischerweise nicht verwenden Encrypt-then-MAC. Insbesondere bei der Instanziierung von Sigma in IKEv2 wird die äußere Verschlüsselung von einem zusätzlichen MAC außerhalb der Verschlüsselung in Standard-EtM-Weise begleitet. In IKEv2 wird der innere MAC-Schlüssel aufgerufen SK_p*, der äußere Verschlüsselungsschlüssel wird aufgerufen SK_e*und der äußere MAC-Schlüssel wird aufgerufen SK_a*(dies *ist entweder ioder rabhängig davon, ob diese Nachricht vom Initiator oder vom Responder erstellt wird). Darüber hinaus wird in neueren Instanziierungen von IKEv2 die äußere Verschlüsselung durch dedizierte authentifizierte Verschlüsselungsalgorithmen ersetzt. In diesem Fall werden die SK_a*Schlüssel nicht verwendet (und die gesamte EtM-Frage wird strittig). In der TLSv1.3-Instanziierung von Sigma wird nur authentifizierte Verschlüsselung verwendet. Beachten Sie jedoch erneut, dass sich innerhalb der Verschlüsselung (sei es AE oder EtM) ein innerer MAC befindet, dessen Zweck darin besteht, EA-Sicherheit zu bieten.