Fragen? Antworten! Siehe auch: Alternativlos
Bei der KI-Forschung gibt es eine Disziplin, die sich mit ethischer KI befasst, aber die ist hauptsächlich Wokeness-Feigenblatt. Eine andere Unterdisziplin geht da düsterer heran und sagt: Nehmen wir mal an, eines Tages baut jemand eine echte künstliche Intelligenz. Nicht nur eine glorifizierte Datenbank mit Gewichten an ihren Records. Eine echte künstliche Intelligenz, die dann ihre Intelligenz darauf anwenden kann, sich selbst zu verbessern, und die uns dann uneinholbar überlegen ist.
Die Experten sind sich nach Lektüre der einschlägigen Scifi-Literatur einig, dass so ein KI Overlord uns alle umbringen wird, weil wir ohne Not den Planeten kaputtmachen und uns sinnlos mit Atomwaffen aufgerüstet haben.
Bei dem wie immer großartigen Scott Alexander gab es jetzt eine Zusammenfassung einer Debatte aus dem Gebiet. Ich fasse mal die Zusammenfassung zusammen.
Der erste vorgeschlagene Lösungsansatz ist: Na dann bauen wir halt keine echte KI. Das funktioniert offensichtlich nicht, denn wir können ja nicht mal die Entwicklung von Landminen und Biowaffen verhindern.
Der nächste Ansatz war: OK, dann bauen wir halt nur "limitierte" KIs. Ein Schachcomputer kann nur über Probleme überhaupt nachdenken, die wie ein Schachproblem aussehen. Schachcomputer haben aber gezeigt, dass die "KI" (keine echte KI!) bei ihnen eine Superintelligenz werden kann, also schlauer als Menschen sein kann, ohne dass unsere Spezies dadurch in Gefahr ist.
Wenn man sich also auf solche "KIs" beschränken würde, dann hätte man das Problem vielleicht gar nicht. Der Ansatz sieht erstmal ganz gut aus, aber so richtig überzeugend ist das halt nicht. Denn wenn du über Superintelligenzen spekulierst, bist du halt schnell bei "Gottes Wege sind unergründlich", denn du musst davon ausgehen, dass die Superintelligenz Dinge tut, die du nicht verstehst, die aber schlauer sind als was du getan hättest. Daraus folgt im Grunde auch, dass du eine Superintelligenz nicht von einer doofen Intelligenz unterscheiden kannst, denn was sie tut erscheint nicht schlau für dich, denn du verstehst es nicht. Du könntest abwarten und beobachten, aber zu dem Zeitpunkt, an dem du erkennst, dass das eine Superintelligenz war, die uns alle umbringen will, ist es dann halt zu spät.
Also war der nächste Lösungsansatz, dass man eine limitierte Superintelligenz-KI damit beauftragt, eine Lösung zu finden. Man könnte die Lösung auch schon vorgeben. Das diskutierte Szenario aus Anschaulichkeitsgründen war, dass die selbstreplizierende KI Nanoroboter bauen soll, die auf einen Schlag alle GPUs auf der Welt zerstören. Grund: Die KI-Berechnungen finden größtenteils auf GPUs statt. Es geht dabei nicht um die Frage, ob das schlau ist, alle GPUs kaputtzumachen, sondern das ist bloß ein Beispiel für eine "pivotal action", also eine Art Abschreckungs-Superwaffe.
OK, soweit zur Vorgeschichte.
Am Rande in dem Artikel ist dann folgende Formulierung:
since then, we've only doubled down on our decision to gate trillions of dollars in untraceable assets behind a security system of "bet you can't solve this really hard math problem".
Meine Interpretation von dem Satz war: Er redet von Kryptographie. RSA und Elliptische Kurven sind harte mathematische Probleme, auf die viel Geld geworfen wird, und die unsere Assets schützen.Aber jemand anderes interpretierte das als eine Anspielung auf Bitcoin.
Und das löst in meinem Kopf diese Idee aus, die mich aufgeregt herumhüpfen lässt, so schön finde ich sie als Scifi-Plot:
Jemand hat genau das gemacht. Hat eine KI damit beauftragt, eine Lösung zu finden, die Singularität hinauszuzögern bzw. zu verhindern. Möglichst ohne dabei die Weltwirtschaft zu vernichten.
Die KI heißt Satoshi und ihre Lösung war Bitcoin-Mining. Wenn man den Leuten wirtschaftliche Anreize gibt, ihre GPUs nicht für KI sondern für sinnloses Mining zu verbrennen, dann hat man die Singularität verzögert.
Bitcoin-Mining macht schon länger niemand mehr mit GPUs, aber es sind lauter andere Scam-Coins nachgezogen, die immer noch GPU-Zeit verbrennen.
Was, wenn Cryptocurrencies gar nicht bloß Scam sind, sondern das Überleben der Menschheit sichern? Klar machen sie auf dem Weg den Planet kaputt, aber da kann sich die Spezies raus-techen durch die Entwicklung eines Fusionskraftwerkes oder sowas!1!!
Das erklärt auch, wieso Satoshis Identität geheim bleiben musste. Und so konnte auch Rokos Basilisk abgewehrt werden! (Wenn ihr das nicht kennt, wartet mit dem Googeln mal bis zum Freitag abend, das wird euch ein paar Tage beschäftigen)
Update: Vergesst Roku's Basilisk. Guckt das lieber nicht nach. Ich hätte das nicht erwähnen sollen.
Es gibt mehrere interessante Aspekte an der ganzen Sache.
Erstens: Der Code sah sauber aus. Das war ein Logik-Bug. Der Code sah richtig aus. Man musste wirklich die Materie verstanden haben, um zu verstehen, dass es da ein Problem gibt. Kudos an die NSA, dass sie das überhaupt gesehen haben.
Zweitens: Es hieß initial, der Bug ginge 20 Jahre oder so zurück. Das stimmt wohl doch nicht. Der Bug wurde 2015 eingebaut. Das finde ich ja nun wieder hochinteressant. Denn wir reden hier von ECDSA. ECDSA war damals schon angeschossen, weil es so fragil ist, und es so einfach ist, damit einen Totalschaden zu produzieren. Die Playstation war über ihr DSA gehackt worden. djb hatte bereits mit explizitem Hinweis auf die Fragilität von ECDSA und den NIST-Kurven seinen Gegenvorschlag Ed25519 publiziert. Und unter diesen Umständen haben die den Code nochmal angefasst und ihn schlimmer gemacht. Dazu muss man wissen, dass Krypto-Code so der am wenigsten volatile Code überhaupt ist. Alle sind sich bewusst, wie kritisch da jedes Bit und jeder CPU-Zyklus ist, und keiner will da irgendwas anfassen. Das ist auch bei Microsoft so. Insofern wollte ich das alles erstmal gar nicht glauben. Allerdings gibt es einen Grund, doch den Krypto-Code anzufassen, nämlich wenn sich die Spec ändert, oder man noch einen Aspekt aus der Spec implementieren muss, den man vorher nicht supported hat.
In diesem Fall war das das Feature, dass im Handshake die Kurvenparameter übertragen werden, und nicht bloß die paar hart eingebrannten NIST-Kurven verwendet werden können.
So und jetzt kommt der echt peinliche Teil. Hier ist die Spec. Die sagt ausdrücklich:
implicitCurve and specifiedCurve MUST NOT be used in PKIX
undspecifiedCurve, which is of type SpecifiedECDomain type (defined in [X9.62]), allows all of the elliptic curve domain parameters to be explicitly specified. This choice MUST NOT be used.
Verschwörungstheoretiker wären jetzt vielleicht geneigt, hier von einer Bugdoor zu sprechen, also eine Backdoor, die wie ein Versehen aussieht.Bleibt die Frage, wieso die NSA das publik macht. Den einen Grund dafür kann man gerade gut beobachten. Die lassen sich als Helden feiern. Zum ersten Mal in ihrer Geschichte haben sie etwas Positives gemacht. Und einige Deppen glauben ihnen jetzt vielleicht sogar ihr Blablah, dass sie eine neue Seite aufschlagen wollen und ab jetzt wichtige Lücken nicht ausnutzen sondern melden wollen. Das ist natürlich absurd.
Ich glaube ja, die NSA hat das gemeldet, weil ihr eigener Arsch gefährdet war. Die NSA hat nämlich in den USA eine Doppelrolle und erledigt auch den Teil mit, den bei uns das BSI separat macht. Die schreiben die Anforderungsdefinitionen für Militär und Behörden. Und da haben sie reingeschrieben, dass Elliptische Kurven total geil und sicher sind, als bei uns noch Rüdi auf dem Congress gewettert hat, was das für eine unbewiesene spekulative Voodoo-Technologie sei, und dass man lieber bei RSA bleiben soll. Die haben sich damals ziemlich fett auf elliptische Kurven committed, und das Militär ist ihren Empfehlungen gefolgt. Microsoft hat Support für elliptische Kurven überhaupt nur eingebaut, soweit ich weiß, weil die NSA das den Behörden in die Anforderungen geschrieben hatte, und Microsoft gerne weiter Behörden beliefern können wollte.
Wenn jetzt also rauskommt, dass es einen Bug gibt, in einem von der NSA empfohlenen "sicheren" System, das der inhärenten Fragilität des Systems geschuldet ist, dann beschädigt das den Ruf der NSA.
Übrigens, bei solchen Bugs müsst ihr immer einen Spruch im Hinterkopf behalten: Wenn schon das A-Team solche Fehler hat, wie sieht dann erst der Code des B-Teams aus?
Ich behaupte daher: Das Verhalten der NSA ist ohne plötzlich aufkeimenden Altruismus zu erklären.
Update: Die Details sind jetzt draußen. Offenbar prüft Windows X.509-Zertifikatsketten nicht ordentlich, wenn die Elliptische Kurven verwenden. Elliptische Kurven sind bei X.509 schon recht lange spezifiziert, aber werden m.W. bisher noch eher wenig tatsächlich verwendet. Das liegt vor allem daran, dass die CAs für ihre Root-Zertifikate relativ lange Lebensdauern vergeben. Die NSA, die diesen Bug gefunden hat, ist allerdings fast von Anfang an ein Proponent von ECC, insofern verwundert es nicht, dass sie diesen Bug gemeldet haben. Ob dieser Bug jetzt auch greift, wenn nur ein Teil der Zertifikatskette ECC ist, weiß ich nicht. Das ist für Krypto ein ziemlicher Totalschaden, insofern spielt alle schnell den Fix ein. Konkrete Auswirkungen wären übernehmbare TLS-Verbindungen und fälschlich als signiert erkannte Malware.
Update: Ein Mathematiker erklärt:
die auf dem von Dir verlinkten blog gefuehrte Diskussion bzgl. Sicherheit von Elliptische-Kurven-Krypto ist rein spekulativ und weder aus Krypto- noch aus Mathematiker-Sicht fundiert.
Das von Richard Taylor angekuendigte Resultat ist mathematisch spektakulaer, aber kryptographisch (sehr wahrscheinlich nach aktuellem Kenntnisstand) irrelevant.
Ich gehoere vermutlich zu den wenigen Menschen, die sich frueher mal ernsthaft mit (mathelastiger) Kryptographie beschaeftigt haben und heute als Mathematiker mit Richard Taylors mein Forschungsfeld gemein haben. D.h. dass ich nicht nur die dort angegebene Aussage, sondern auch deren mathematische Beweise nachvollziehen kann, und sowohl die Konsequenzen fuer die Krypto wirklich ausschliessen kann.
Mehrere der fuer dieses Resultat verantwortliche Mathematiker kenne ich persoenlich.Dies ist eine Art von Mathematik, mit der selbst djb und Tanja Lange wohl relativ wenig anfangen koennen, aber das koennen sie sich leisten. Es handelt sich hier bei Taylors Resultat um Grundlagenforschung, die von Anwendungen noch sehr weit entfernt ist (mindestens Jahrzehnte —- wobei zu bedenken ist, dass Vorhersagen immer schwierig sind, insbesondere wenn sie die Zukunft betreffen...).
Und selbst bei den Anwendungen, die sich damit in Zukunft auftun koennten, sehe ich trotzdem keine Gefahr fuer Elliptische-Kurven-basierte Krypto, eher Potential fuer neue Verfahren.
Hier ist ein plausibles Argument, warum Taylors Resultat fuer ECC irrelevant ist: 1993 haben Wiles und Taylor gezeigt, dass jede elliptische Kurve ueber Q (=rationale Zahlen) mit semistabiler Reduktion modular ist. Das wurde bis ~2000 auf alle elliptische Kurven ueber Q verallgemeinert. Das hat der Krypto weder geschadet, noch geholfen.
Ueber reell-quadratischen Koerpern kennt man die analoge Aussage seit 2015.
Das hat der Krypto weder geschadet, noch geholfen.Ueber allgemeineren total reellen Zahlkoerpern hat man partielle Resultate.
Insbesondere weiss man, dass jede elliptische Kurve ueber einem total reellen Zahlkoerper potentiell modular ist.
Auch das: hat weder der Krpto geschadet, noch geholfen.Das Resultat von Taylor ist die Analoge Aussage der letzten Aussagefuer elliptische Kurven ueber Q(i).
Auch hier gilt, was vorher galt: das hat der Krypto weder geschadet, noch geholfen —- nach aktuellem Kenntnisstand wohlgemerkt, aber das wird sehr wahrscheinlich noch lange Zeit so bleiben und sich moeglicherweise niemals aendern.
Hoffe, das hilft Dir bei der Einordnung.
(Danke, Lutz)
Sehr geehrter Herr von Leitner,(Ein faszinierender Gastbeitrag von Prof. Dr. rer. nat. Dipl.-Math. Rüdiger Weis)vielen Dank fuer Ihre freundliche Anfrage. Ich überlege in der Tat, Ihr Angebot annehmen, zum Anlass des 10 jährigen Jubiläums für Ihren in der Bloggerszene ja recht bekannten Onlinedienst einen Kurzbeitrag zu schreiben.
Dies umsomehr, da ich es als wichtig halte, dass bei allem Respekt für Ihre Beiträge im Bereich der praktischen Analyse von Angriffsmöglichkeiten auf sogenannte Internetanwendungen, auch wissenschaftlich etwas anspruchsvollere Fragestellungen in Ihrem (bisweilen etwas multimedialastigen (s.a. /logo-gross.jpg)) Blog, einmal eine angemessene Würdigung finden sollten.
Hören Sie in Ihrem Blog vielleicht ein bisschen weniger auf diese Hackeszene, die Sie für Ihre Arbeiten im Bereich von in C geschriebenen Betriebssystemen nicht zu Unrecht hochschätzt. Sie vergeuden Ihr Talent ein wenig für eine Sprache, die selbst von Ihren Entwicklern inzwischen auch offen als einer der nicht immer gelungenen Hackerscherze (wie TCP/IP, THC, HTTP, SSL, SSH, OTR, gpg, git, GPL, ACID, WWW usw) aufgedeckt wurde. Da hilft es auch nicht viel, lustige Sonderzeichen wie ++ und # anzuhängen. Ich schreibe Ihnen gerade auf einem Emacs-LISP Betriebssystem, welches trotz des oftmals zurecht kritisierten Editierprogrammes bisher recht selten aus diesem Internet attackiert wurde.
Nicht zu Unrecht fragen sich sicherlich zahlreiche Ihrer Leserinnen und Leser, insbesondere angesichts Ihrer in Ihren Blogbeiträgen oftmals durchschimmernden positiven Haltung zu Elliptischen-Kurven-Kryptosystemen, beispielsweise, wieso das Diskreter-Logarithmus-Problem auf der durch Punktaddition gebildeten zyklischen Gruppe eines Generatorpunktes auf einer elliptischen Kurve über einem endlichen Körper, wegen der bisher nicht gelungene Anpassungen der subexponetiellen Index-Calculus Angriffsmethode auf derartige Gruppen, wirklich nur generisch, beispielsweise durch superpolynominale Pollard-Rho-artige Methoden, angreifbar ist, welche ich in meinem Vortrag auf dem 31C3 vielleicht etwas zuspitzend, wenn auch sicherlich nicht ganz ungerechtfertigt, als Geburtstagsparadoxonfolklore bezeichnet habe, und Sie bisweilen selbst für aufmerksame Leserinnen und Leser, insbesondere wegen ihre Länge, schwer lesbare Sätze bilden, in denen Sie bisweilen sogar ein Komma vergessen oder falsch setzen.
(Anm.d.Red.: Es ist dieser Absatz, den ich als "von Krypto hat der ja keine Ahnung" interpretiert habe)
Lassen Sie mich diesen Gedanken aufgreifen und vielleicht etwas polemisch kurz schliessen:
"Was das Geburtstagsparadox für ECC ist, ist Fefe für in C geschriebene Software."
Mit freundlichen Grüßen
Update: Boah ich Depp hab in der Eile das PS nicht mit kopiert, dabei war das doch das Highlight der ganzen Einsendung! Hier ist es:
PS
Ihr SSL Zertifikat wird nicht mal von CNNIC anerkannt.
Der Punkt ist jedenfalls, dass es nicht nur eine solche Kurve gibt, sondern sehr viele. Um Kryptographie zu machen, einigt man sich daher vorher auf eine davon. Und hier kommt das Problem. Das wichtigste Standardisierungsgremium für diese Kurven ist NIST, und die sagen offen an, dass ihre Kurven von der NSA kommen. Überhaupt empfiehlt die NSA seit vielen Jahren offen elliptische Kurven. Alleine deshalb trauen viele elliptischen Kurven nicht.
Wenn man Krypto-Verfahren designed, und da tauchen Konstanten auf, wie z.B. bei den S-Boxen (einem internen Substitutionsschritt), dann kann man da entweder irgendwelche Zahlen reinschreiben, und behaupten, die seien zufällig gewählt, oder man kann absichtlich unzufällige Zahlen nehmen, wie z.B. die ersten Ziffern von Pi oder von der Wurzel von 2 oder sowas. Üblicherweise macht man letzteres. Das Konzept nennt sich Nothing up my sleeve number :-) Die NSA-Kurven machen ersteres. Daher liegt die Vermutung nahe, dass die NSA da solange Kurven ausprobiert hat, bis sie eine gefunden hat, die "leichter knackbar ist", nach einem Verfahren, das außer ihnen niemand kennt. Und genau diese Vermutung macht jetzt die Runde.
Der Vollständigkeit halber sei gesagt, dass die Kryptographen natürlich schon länger gemerkt haben, dass da möglicherweise was schlecht riecht. Man kann das z.B. in diesen Folien hier sehen, die sind von vor Snowden.
Sind elliptische Kurven jetzt vergiftet? Ich kenne mich da nicht genug aus, um das tatsächlich selbst beurteilen zu können. Daher vertraue ich da im Zweifelsfall Dan Bernstein, der hält die Verfahren selbst für gut, und traut nur den Kurven der Dienste nicht.
Update: Ein bisschen Kontext gibt es bei diesem Thread.
"Where is that ugly thing?", fragte der Minister dabeiDaneben eine Merkel mit Gollum-Gesichtsausdruck, oder von mir aus auch irgendein anderer unser ganzen gutaussehenden Poliker ("Politik macht schön").
Ich bin da nicht so drinnen, aber der Absatz in dem Update kommt mir im Moment nicht glaubwürdig vor. Mein Stand ist, dass die "Ende-zu-Ende"-Verschlüsselung eben nicht von Ende zu Ende ist, sondern von (per Trojaner fernsteuerbarem) "Bürgerclient", äh, der "Ausweis-App", und dem Webseiten-Anbieter. Angesichts dessen erscheint mir diese Aussage gerade nicht nachvollziehbar:
Auch muss bei Verwendung des Basislesers kein zusätzliches Sicherheitsprotokoll wie U-Prove verwendet werden, um eine Absicherung der übertragenen personenbezogenen Daten zu erreichen, da der neue Personalausweis grundsätzlich eine Ende-zu-Ende Sitzungsverschlüsselung und Integritätssicherung erzwingt.Bei einem einfachen Kartenleser gibt es kurz gesagt keine Möglichkeit, wie der Ausweis irgendwas erzwingen kann. Selbst wenn man den die Daten kryptographisch signieren lässt, dann kann der Trojaner ja immer noch die zu signierenden Daten ändern, bevor sie den Ausweis erreichen. Wenig erbaulich ist auch das Name Dropping, mit dem sie da zu punkten versuchen:
Derzeit kommen 256-Bit Schlüssel für Elliptische Kurven und AES-128 zum Einsatz.Denn für Integritätssicherung verwendet man eine Hashfunktion. Elliptische Kurven sind ein Public-Key-Verfahren und AES-128 ist ein symmetrischer Blockcipher. Ich vermute daher, dass es sich hier um eine PR-Nebelkerze handelt. Wer sich selbst ein Bild über die Technik machen will, der findet bei den Aufzeichungen vom 26C3 das nötige Bildungsmaterial.
Update: In dem Video erklärt Henryk, dass es tatsächlich ein Protokoll von Dienstanbieter PC/Lesegerät bis Karte gibt, das heißt PACE, aber dafür braucht man ein PACE-fähiges Lesegerät, und die gibt es noch nicht. Bzw. gab es sie noch nicht, als Henryk den Vortrag hielt, zum Jahreswechsel. Er meint, sowas kostet dann so 200 € und er rechnet daher nicht damit, dass das irgendjemand einsetzen wird.
Update: So, Henryk erklärt mir das gerade. PACE ist zwischen Karte und Leser (wenn man einen PACE-fähigen Leser hat), ansonsten zwischen Karte und PC. Nach PACE kommt noch eine Terminal Authentication, bei der sich der Web-Dienst gegenüber der Karte authentisiert, und eine Chip Authentication, bei der sich der Personalausweis gegenüber der Gegenstelle authentisiert, und wenn das durch ist, gibt es in der Tat einen Ende-zu-Ende-Kanal vom Perso bis zum Webanbieter. Da hat das BSI also Recht und ich ziehe mein Gemecker zurück. Hätte ich mich mal vorher informieren sollen :-)
Übrigens, Hashfunktionen sind SHA-1, SHA-224 und SHA-256, je nach Protokoll-Einsatzort.