Könnte validationKey und decryptionKey mit brutaler Gewalt aus verschlüsselten Cookie-Wert zu finden?

StackOverflow https://stackoverflow.com/questions/862141

Frage

Ich bin mit dem folgenden Code ein verschlüsseltes Token zu generieren:

var ticket = new System.Web.Security.FormsAuthenticationTicket(
    2, 
    "", 
    DateTime.Now, 
    DateTime.Now.AddMinutes(10), 
    false, 
    "user id here");
var cipherText = System.Web.Security.FormsAuthentication.Encrypt(ticket);

Dieser Code verwendet den Schlüssel und Algorithmus in app / web.config angegeben:

<system.web>
    <machineKey validationKey="SOME KEY" 
                decryptionKey="SOME OTHER KEY" 
                validation="SHA1" />
</system.web>

Nun nehme ich an den Chiffretext geben somit zu einem Partner generiert. Ist er von Brute-fähig zu zwingen:

  1. Der Wert, der in der Chiffre (die Benutzer-ID, die keine sensiblen Informationen darstellt und es stört mich nicht viel) gespeichert ist
  2. Der Wert des validationKey und decryptionKey verwendet, um die Chiffre zu erzeugen (dies katastrophal sein würde, weil er in der Lage sein würde, Token zu erzeugen und Identitätswechsel jeden Benutzer)

Ich nehme an, die Antwort auf beide Fragen lautet ja, aber wie realistisch seine Chancen sind und glauben Sie ihm die Chiffre geben eine Sicherheitsbedrohung für mein System darstellen würde? Vielen Dank im Voraus für Ihre Antworten.

War es hilfreich?

Lösung

Was Sie beschreiben, ist hier ein Crib. Der Angreifer lernt beiden Klartexte und die entsprechenden Geheimtexte und sein Ziel ist es, die Schlüssel zu finden. Moderne Chiffren sind so konzipiert, gegen diese Art von Angriffen sicher sein.

In der Tat jede moderne Chiffre ist so konzipiert, gegen noch stärkere Angriffe sicher zu sein wie Angriff mit frei wählbaren Klartext und Chiffretext-Attacken gewählt. Selbst wenn der Angreifer Klar- und entsprechenden chiffrierten Text wählen darf oder ein beliebige Anzahl von verschlüsselten Texten wählen und die Entschlüsselung von ihm lernen, dann sollte er / sie noch nicht in der Lage sein, den Schlüssel zu lernen.

Das macht sehr schwer, eine neue Chiffre zu entwerfen. Aber zum Glück haben wir bereits gute Chiffren haben wie AES.

Ich möchte auch hinzufügen, dass alle oben genannten Angriffe gehen davon aus, dass der Angreifer alle Details der Chiffre kennt, die verwendet wird. Das einzige, was er nicht weiß, ist der Schlüssel, der verwendet wird. Dies ist bekannt als Kerkhoff Prinzip.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top