2 Punkte von GN⁺ 2023-09-19 | 1 Kommentare | Auf WhatsApp teilen
  • Bevor die US-Exportbeschränkungen für Kryptografie aufgehoben wurden, enthielt die Exportversion von Lotus Notes eine Key-Escrow-/Backdoor-Struktur namens differential cryptography
  • Dabei wurden von einer 64-Bit-Verschlüsselung 24 Bit mit dem öffentlichen Schlüssel der NSA verschlüsselt, um eine Exportgenehmigung zu erhalten; die NSA musste dann nur noch die verbleibenden 40 Bit per Brute Force durchsuchen, um auf den Klartext zuzugreifen
  • Beim Reverse Engineering erschien der Bezeichner des öffentlichen NSA-Schlüssels innerhalb der Anwendung als O=MiniTruth CN=Big Brother, was auf eine absichtliche orwellsche Benennung hindeutet
  • Das Material zum öffentlichen Schlüssel wurde erst einige Jahre später aus Notizen rekonstruiert, daher besteht die Möglichkeit von Fehlern; der Modulus scheint in Little Endian vorzuliegen, und in der Big-Endian-Darstellung war e = 3 bei 760 Bit
  • Die User-ID Director, NSA <dirnsa@nsa.gov> im PGP-Schlüsselformat wurde frei erfunden und ist kein selbstsignierter (self-signed) Schlüssel

Die Backdoor-Struktur der Exportversion von Lotus Notes

  • Bevor die US-Exportbeschränkungen für Kryptografie aufgehoben wurden, enthielt die Exportversion von Lotus Notes die Key-Escrow-/Backdoor-Funktion differential cryptography
  • Die Kernidee war, von einem 64-Bit-Schlüssel 24 Bit mit dem öffentlichen Schlüssel der NSA zu verschlüsseln, um eine Exportgenehmigung zu erhalten
    • Die NSA musste dann nur noch die übrigen 40 Bit per Brute Force durchsuchen, um den Klartext zu erhalten
    • Normale Nutzer mussten den gesamten 64-Bit-Schlüsselraum angreifen, aber schon damals bestand die Möglichkeit, dass die NSA mit höherem Aufwand einen Brute-Force-Angriff durchführen konnte
  • Das Reverse Engineering beruhte auf der Annahme, dass sich irgendwo in der Anwendung der öffentliche NSA-Schlüssel befinden müsse, der zum privaten NSA-Schlüssel gehört

Gefundene Schlüsselbezeichner und Daten des öffentlichen Schlüssels

  • Im Debugger wurden Organisationsname und Common Name des öffentlichen NSA-Schlüssels wie folgt angezeigt
    • O=MiniTruth CN=Big Brother
  • MiniTruth und Big Brother stehen in Verbindung mit Begriffen aus George Orwells Roman 1984
    • Das Ministry of Truth ist im Buch die Behörde für Propaganda und die Unterdrückung der Wahrheit
    • Big Brother tritt als bösartiger Anführer dieser Regierung auf
  • Die Daten des öffentlichen Schlüssels wurden erst Jahre nach dem Reverse Engineering anhand von Notizen zusammengestellt, daher besteht die Möglichkeit von Fehlern
  • Der rohe Modulus des öffentlichen Schlüssels stammt aus dem Debugger; durch Trial and Error wurde er als Little Endian eingeordnet
    • In der Big-Endian-Darstellung gilt e = 3
    • Der Modulus ist 760 Bit lang
  • Der öffentliche Schlüssel wurde auch im PGP-Schlüsselformat dargestellt
    • pub 760/13629D8D 1998/10/25 Director, NSA <dirnsa@nsa.gov>
    • Diese User-ID wurde frei erfunden und ist kein selbstsignierter Schlüssel
  • Die pgpacket-Ausgabe bestätigt ihn als RSA-Public-Key-Paket
    • Version Byte: 3
    • Key Created: 25 Oct 1998 01:12:02
    • Algorithm: 1 (RSA)
    • Key ID: 0xA703EFD313629D8D

1 Kommentare

 
GN⁺ 2023-09-19
Hacker-News-Kommentare
  • Zu diesem Thema lohnt es sich, den Kommentar von Ray Ozzie (dem Schöpfer von Lotus Notes) in der HN-Diskussion von 2013 zu lesen
    https://news.ycombinator.com/item?id=5846189
    Bevor die Software veröffentlicht wurde, erklärten Ray Ozzie und Kauffman auf der RSA Conference öffentlich, woran sie arbeiteten. Es war keine geheime Backdoor, sondern die Einhaltung von Exportkontrollen, mit der die gesamte Branche umgehen musste. Ein paar Kommentare weiter unten ist auch der Kommentar von barrkel lesenswert

    • Für alle, die ungefähr jünger als 37 sind, zur Erinnerung: Kryptografie vor 2000, insbesondere Kryptografie in veröffentlichten kommerziellen Produkten, unterlag ganz anderen staatlichen Regulierungen als heute
      https://en.m.wikipedia.org/wiki/Crypto_Wars
      Kurz gesagt: Die US-Regierung untersagte faktisch die Veröffentlichung von Produkten für den internationalen Vertrieb, die starke Verschlüsselung enthielten. Das betraf im Großen und Ganzen alle kommerziellen Produkte, obwohl es bereits Open-Source-Implementierungen starker Verschlüsselung wie PGP gab. Heute interessiert es niemanden mehr, wenn man beliebig sichere Verschlüsselung einbaut und verteilt, aber damals war es eine Zeit, in der es durchaus 50:50 stand, ob die rechtlichen Mittel der US-Regierung vollständig zum Einsatz kommen würden. Es war eine wirklich wahnsinnig widersprüchliche Zeit
    • Es gibt ein Video eines ehemaligen Microsoft-Entwicklers, das NSAkey gut analysiert
      https://www.youtube.com/watch?v=vjkBAl84PJs
    • Das war eine interessante Zeit. Ich habe mich einmal kurz mit der Person unterhalten, deren Namen ich vergessen habe, die crc32 und den Verschlüsselungsalgorithmus von ZIP implementiert hat; fast entschuldigend sagte er, diese Verschlüsselung sei so entworfen worden, dass sie nach damaligem Recht exportfähig war
      Sie ist immer noch nicht völlig trivial zu knacken, aber in der Zeit, in der man bei einem modernen Office-Dokument ein einziges Passwort ausprobiert, kann man bei einem ZIP-Archiv-Eintrag Millionen von Passwörtern testen
    • Ob geheim oder nicht: Es war eine Backdoor, die missbraucht werden konnte und tatsächlich missbraucht wurde. Es ist schon eine seltsame Zeit, wenn Regierungen heute von Tech-Unternehmen „geheime Backdoors“ verlangen und die enormen Risiken trotzdem nicht sehen
    • Das war überhaupt nicht geheim. Ich habe Mitte der 90er bei Lotus gearbeitet; von Lotus Notes gab es zwei Versionen, eine für die USA und eine mit dem Label „International“
  • (2002)
    Frühere Diskussionen mit Lotus Notes im Titel:
    vor 4 Jahren
    https://news.ycombinator.com/item?id=21859581
    vor 8 Jahren
    https://news.ycombinator.com/item?id=9291404
    vor 10 Jahren
    https://news.ycombinator.com/item?id=5846189

  • Das gute alte NOBUS. Einige der unterhaltsameren Fehler der NSA:
    https://en.wikipedia.org/wiki/Clipper_chip
    https://en.wikipedia.org/wiki/Dual_EC_DRBG

    • Das hier und der Clipper Chip sind kein NOBUS. Die NSA will nicht, dass Menschen wissen, dass Kryptosysteme Zugriffsmöglichkeiten für Strafverfolgungsbehörden enthalten
      Dem FBI ist es ziemlich egal, ob die Leute davon wissen, weil die Kriminellen, auf die sie abzielen, keine ordentliche Operationssicherheit (OPSEC) betreiben
  • Erstaunlich, dass die NSA-Leute genug Selbstreflexion hatten, um zu erkennen, dass das Big-Brother-Verhalten ist, aber nicht genug, um zu begreifen, warum das schlecht ist

    • Das war vermutlich Sarkasmus des Lotus-Ingenieurs, der es eingebaut hat
    • „Big Brother“ selbst ist nicht schockierend. Das war schon länger bekannt, sodass man vielleicht noch ein winziges bisschen glauben konnte, es seien zumindest gute Absichten dahinter. So etwas wie: uns vor den Bösen schützen
      Aber MiniTruth … wow, das ist wirklich verblüffend
      Im Kontext des Romans 1984 ist das Ministry of Truth die Propaganda-Behörde, und die gesamte Gesellschaft ist in diese Propaganda eingetaucht. Alles in der Gesellschaft, in der sie leben, ist eine Lüge. Das nimmt einem die letzte Hoffnung, dass sie gute Absichten haben könnten. Das letzte Beispiel, das mir dafür einfällt, wie zynisch sie die Menschen verachten, denen zu dienen sie behaupten, und wie nachlässig sie sind, war die Enthüllung, dass ein interner FTX-Chatraum „Wirefraud“ hieß
  • War die ursprüngliche Backdoor nicht in den Codebeispielen, die die NSA Unternehmen bereitstellte, die Kryptografie verwenden wollten? Soweit ich mich erinnere, gaben sie so etwas wie Beispiel-Seeds vor, und die meisten Unternehmen kopierten sie einfach, statt eigene Primzahlen zu erzeugen, wodurch die NSA sie sehr leicht brechen konnte
    Meine Erinnerung ist verschwommen, und die Originalquelle ist schwer zu finden

  • Ich frage mich, wie schwierig es wäre, den privaten Schlüssel des RSA-760-Bit-Public-Keys von 1998 per Brute Force zu finden. Weiß das jemand?

    • https://en.wikipedia.org/wiki/Integer_factorization_records und https://en.wikipedia.org/wiki/RSA_numbers liefern Anhaltspunkte. Vor allem Letzteres erklärt, dass ein 768-Bit-Schlüssel „am 12. Dezember 2009, über einen Zeitraum von zwei Jahren“ faktorisiert wurde und die CPU-Zeit „ungefähr fast 2000 Jahren Rechenzeit auf einem Computer mit einem Single-Core-2,2-GHz-AMD-Opteron“ entsprach.
      Später, 2019, wurde ein 795-Bit-Schlüssel faktorisiert; die CPU-Zeit habe „etwa 900 Core-Jahre auf Basis einer 2,1-GHz-Intel-Xeon-Gold-6130-CPU“ betragen. Im Vergleich zur Faktorisierung von RSA-768 schätzten die Autoren, dass bessere Algorithmen die Berechnung um den Faktor 3 bis 4 und schnellere Computer um den Faktor 1,25 bis 1,67 beschleunigt hätten.
      Wenn man also annimmt, dass die verbesserten Algorithmen auch auf kleinere Zahlen anwendbar sind, scheint es für jemanden, der damit umgehen kann, mit einigen Dutzend modernen Maschinen innerhalb weniger Monate machbar zu sein. Die Faktorisierung großer Zahlen sieht allerdings deutlich schwieriger aus, als einfach CADO-NFS zu starten und auf eine Zahl und einen Cluster zu zeigen.
      Nimmt man zum Beispiel den Wert aus dem zweiten Faktorisierungs-Paper, wonach „die 795-Bit-Berechnung 2,25-mal schwieriger sein sollte als die 768-Bit-Berechnung“, könnte man annehmen, dass das Knacken des kleineren Schlüssels mit moderner Software 900/2,25 = 400 Core-Jahre CPU-Zeit auf Xeon-Basis benötigt. Auch diese CPU ist inzwischen ein 6 Jahre altes Modell. Mit 24 Servern mit je 64 Kernen und vergleichbarer Leistung würde es etwas mehr als 3 Monate dauern. Für ein Hobbyprojekt aus Spaß ist das eine ziemliche Hürde, aber für ein Unternehmen mit hinreichendem finanziellen Interesse ist es durchaus machbar – vorausgesetzt, es hat Leute, die diese Arbeit verstehen und reproduzieren können.
    • Jemand hat 2018 bereits versucht, ihn zu faktorisieren: http://factordb.com/index.php?query=444376527415060195687748...
    • Es hängt immer von den verfügbaren Ressourcen ab, also von Rechenressourcen und Zeit. Möglich ist es, aber einfach ist es nicht.
      https://crypto.stackexchange.com/a/1982
    • Das ist eine seltsam spezifische Frage. Gibt es etwas, das dir besonders Sorgen macht?
  • Jetzt gibt es die Cloud, also braucht man das alles nicht mehr. Wegen der Gesetze zu gespeicherten Daten ist jede E-Mail, die älter als 6 Monate ist, frei zugänglich.

    • Ich habe gesucht, aber keine eindeutigen Ergebnisse dazu gefunden, welches Gesetz Unternehmen wie Google dazu verpflichten würde, Behörden ohne Durchsuchungsbefehl oder NSL Zugriff auf gespeicherte Daten zu gewähren.
  • Verwandt: https://github.com/goshacmd/nsa_panel