Ein Spion sitzt in einem NIST-Meeting
Ein Spion sitzt in einem NIST-Meeting

NIST vermutlich teilweise von NSA unterwandert

NIST – die US-Standardisierungsbehörde – stand wohl mit der NSA in regerem Austausch als bisher angenommen.

Dr. Daniel Bernstein, auch bekannt als djb, ist für viele Informatiker ein Begriff. Als Entwickler von NaCl ist er der Kopf hinter einer der verbreitetsten Bibliotheken für kryptografische Funktionen und hat sich mit seiner Arbeit einen Legenden-Status in der Hacker-Community erarbeitet. Bernstein erhebt jetzt schwere Anschuldigungen an die amerikanische Standardisierungsbehörde NIST.

Quantensichere Verschlüsselung

Quantensichere Verschlüsselung (post-quantum cryptography) ist ein Begriff, den Bernstein bereits 2003 selbst prägte und an deren Verbreitung Dr. Bernstein selbst aktiv mitwirkt. Dabei geht es um Algorithmen zur Verschlüsselung, die auch mit Quantencomputern sicher sind. Die Primzahlzerlegung, die Basis vieler kryptografischer Methoden ist, kann mit diesen Rechnern relativ leicht geknackt werden.

Durch von Edward Snowden geleakte Dokumente wurde bereits offenbar, dass die NSA sich an Standards beteiligt, um diese zu schwächen und eine Möglichkeit, die Verschlüsselung zu brechen einzubauen. NIST beteuerte zu der Zeit, dass diese Beeinflussung nie so stattgefunden hätte, dass die Organisation etwas davon mitbekommen hätte.

Die Standardisierung dieser Verschlüsselungsmethoden ist ein Dauerprojekt und so werden regelmäßig neue Methoden und Kurven untersucht und geprüft.

NSA in NIST-Boardmeetings

Anfang des Monats veröffentlichte Dr. Bernstein auf seiner Website und diese Dokumente haben es in sich:

  • NSA-Mitarbeiter sind Teil des Gremiums (das ist erst einmal nicht verwunderlich oder an sich schlecht)
  • NSA-Mitarbeiter waren in den Gremien, ohne ihre Zugehörigkeit offenzulegen
  • Britische NSA-Partner hatten Treffen mit der NSA

Was für die meisten etwa so überraschend sein dürfte wie die Entdeckung von Sand in der Sahara, kann jedoch absurde Ausmaße annehmen.

Hohe Mathematik, einfache Rechenfehler

In seinem Post schildert Bernstein auch die absurde Historie von Kyber512¹, einem Verschlüsselungsalgorithmus, der mindestens so sicher wie AES-128 sein soll. Hierin erklärt Bernstein den simplen Rechenfehler, den NIST in seiner Einschätzung macht. Potenzen werden beim Addieren nicht addiert. Er selbst bringt das einfache Beispiel:

240 times 240 is 280, but 240 plus 240 is only 241

Dr. Daniel J. Bernstein

Dieses Beispiel ist vielleicht für jemanden, der im Alltag nicht viel für Mathe übrig hat, nicht so klar. Für einen Kryptologen, oder auch einen Mathelehrer der 5. Klasse, sollte dieser Fehler so offensichtlich sein, wie eine Schraube mit einem Seitenschneider in die Wand zu kloppen.

Diese Fehler in der Methodik, sind schockierend. Dass diese Fehler dutzende von NIST beauftragte Mathematiker übersehen haben, wirkt unrealistisch. Dass die NSA diese Fehler übersehen würde, dürfte ausgeschlossen sein.

¹) Hier handelt es sich um methodologische Kritik an der Arbeitsweise von NIST und nicht um eine Sicherheitsbewertung von Kyber. Dazu gerne in den Kommentaren für extra Kontext stöbern.

Was eine NIST-Standardisierung nach sich zieht

NIST Standards finden gewissermaßen überall Anwendung. Von NIST’s Alternative zum BSI Grundschutz, bis zu Kurven und Algorithmen, sind sie in Firmen, TLS-Verbindungen und vielen anderen – auch PGP-Schlüsseln – im Einsatz. Eine Schwachstelle darin ist damit eine potenzielle Gefahr für alle, sollte diese Organisation so kompromittiert sein, wie es scheint.

Update 14.10.2023: Es wurde klargestellt, dass es sich um von NIST beauftragte Mathematiker handelt

Über

Moritz ist von ganzem Herzen Open-Source Programmierer. Neben regelmäßigen Commits für diverse Open-Source-Projekte verfasst er gelegentlich auch Texte für die Tarnkappe. Er findet es echt seltsam über sich in der dritten Person zu schreiben und merkt an, dass seine DMs für alles außer Marketing-Nachrichten offen stehen. Erreichbar ist er auf Matrix (@moritz:poldrack.dev), IRC (mpldr auf libera.chat) und Email (~mpldr/public-inbox@lists.sr.ht).