0:00:00.000,0:00:14.660 34C3 Vorspannmusik 0:00:15.680,0:00:19.420 Herald-Engel: So. In unserem nächsten[br]Vortrag lernt ihr etwas darüber, was 0:00:19.420,0:00:23.930 passiert, wenn das tolle TPM und das tolle[br]Intel ME dann doch irgendwie nicht so toll 0:00:23.930,0:00:29.310 sind und was denn schief gehen kann, wenn[br]man seine Keys auf so nem TPM 0:00:29.310,0:00:35.180 initialisieren will. Dazu helfen euch[br]jetzt gleich die Herrn Professoren 0:00:35.180,0:00:41.030 Doktoren Weis und Forler weiter, bitte[br]einen schönen Applaus! 0:00:41.030,0:00:46.290 Applaus 0:00:47.870,0:00:51.910 Ruediger Weis: So, also herzlichen Dank[br]für die nette Einführung, auch herzlichen 0:00:51.910,0:00:59.040 Dank für die zahlreichen Zuhörenden. Es[br]wird heute ein Vortrag, wo ich ein 0:00:59.040,0:01:03.920 bisschen auch mit dem Kollegen Forler von[br]der Realität irgendwie auch ein bisschen 0:01:03.920,0:01:08.579 massiv gerempelt worden bin. Eigentlich[br]war unsere Intention, wirklich zu 0:01:08.579,0:01:14.210 diskutieren, wie macht man Kryptographie[br]robuster, und auch in einem feindlichen 0:01:14.210,0:01:19.740 Umfeld. Und ich hab gelernt ein neues[br]Buzzwort: riesa...lienzte? 0:01:19.740,0:01:23.130 lacht[br]Kryptographie war eigentlich wirklich als 0:01:23.130,0:01:29.230 Titel geplant, jedoch müssen wir, glaube[br]ich, wegen der realen Entwicklung noch ein 0:01:29.230,0:01:35.700 paar Einordnungen gleich am Anfang machen.[br]Also zunächst mal die übliche gute 0:01:35.700,0:01:39.950 Nachricht, die ich auch immer gern bring:[br]wissenschaftlich starke Kryptographie ist 0:01:39.950,0:01:44.249 selbst gegen übermächtige[br]Geheimdienstgegner wahrscheinlich das 0:01:44.249,0:01:50.140 Einzige, was überhaupt hält, aber es hält.[br]Also wir haben einigermaßen die Sachen 0:01:50.140,0:01:53.919 verstanden, die Sachen, die[br]freundlicherweise im Zusammenhang mit der 0:01:53.919,0:01:59.009 Snowden-Geschichte veröffentlicht wurden,[br]zeigten auch, dass die Kryptographen in 0:01:59.009,0:02:06.009 der NSA mit Wasser kochen und da gab es[br]eigentlich für die großen Mengen Geld, die 0:02:06.009,0:02:11.050 da rein geworfen wird, relativ wenig[br]Überraschungen da. Also man kann sagen, 0:02:11.050,0:02:14.900 Krypto hält, oder um's mal ein bisschen[br]lyrischer von Bruce Schneier zu machen: 0:02:14.900,0:02:19.160 "Vertraue auf die Mathematik,[br]Verschlüsselung ist dein Freund". Also 0:02:19.160,0:02:23.780 insofern eigentlich eine ganz gute[br]Situation, bis diese gute Situation auf 0:02:23.780,0:02:31.030 die reale Welt kommt. Wir Kryptographen[br]können wirklich eine Art Magie entwickeln. 0:02:31.030,0:02:34.670 Wir können mit ein paar Bits, die man[br]sicher speichert, wirklich sicher gegen 0:02:34.670,0:02:40.950 alle möglichen Angriffe bestehen. Das[br]Problem ist, wenn diese paar wenigen Bits 0:02:40.950,0:02:45.680 aber nimmer sicher sind, dann können wir[br]halt gar nichts mehr machen. Und man kann 0:02:45.680,0:02:49.360 es auch, wenn man es ein bisl modell-[br]theoretisch macht, kann man auch sagen, na 0:02:49.360,0:02:54.040 ja, irgendwas muss die berechtigten[br]Kommunikations-Partner von den Angreifern 0:02:54.040,0:02:57.470 unterscheiden. Und das Kleinste, was wir[br]anbieten können, sind ein paar wenige 0:02:57.470,0:03:00.510 Bits, die sicher gespeichert werden[br]müssen. Weniger können wir nicht machen. 0:03:00.510,0:03:04.760 Also wir sind mit unserem Latein nicht am[br]Ende, aber eigentlich schon in der 0:03:04.760,0:03:08.430 Situation, wo wir gesagt haben, OK passt[br]auf ein paar Bits auf, mehr können wir 0:03:08.430,0:03:13.230 nicht für euch tun. Und genau das ist das,[br]was ja im Moment episch uns um die Ohren 0:03:13.230,0:03:17.820 fliegt. Also es gab hier auch schon einen[br]sehr interessanten Vortrag, deswegen will 0:03:17.820,0:03:22.040 ich auch gar nicht so arg ins Detail zu[br]gehen, aber der Titel ist einfach zu 0:03:22.040,0:03:27.020 schön: "How to hack a turned off[br]computer", oder dass man beliebigen Code 0:03:27.020,0:03:32.910 ausführt auf dieser Management Engine. Und[br]diese Management Engine ist relativ 0:03:32.910,0:03:39.460 spannende Geschichte, insbesondere für[br]meine Forschungsarbeiten ganz interessant, 0:03:39.460,0:03:45.069 weil Dank der Intel Management Engine kann[br]ich auf die lästerliche Frage, wo mich 0:03:45.069,0:03:48.890 eigentlich Leute schon seit Jahrzehnten[br]immer.. naja, seit anderthalb Jahrzehnten, 0:03:48.890,0:03:53.000 damit aufziehen: "Wann ist endlich das[br]Jahr von Minix auf dem Desktop?" kann ich 0:03:53.000,0:03:57.320 inzwischen freundlich grinsen und sag:[br]"Seit 2012 ist es IN deinem Desktop und 0:03:57.320,0:04:02.150 niemand hat's gemerkt". Also diese[br]Management Engine läuft in der Tat auf 0:04:02.150,0:04:07.840 diesem Minix 3, was ein akademisches[br]Projekt, das irgendwie über Jahre halt 0:04:07.840,0:04:11.850 niemand benutzt hat, und jetzt bin ich[br]auch im Minix Steering Committee und wir 0:04:11.850,0:04:15.240 waren ziemlich traurig, dass wenig[br]Beteiligung letztes Jahr von der Konferenz 0:04:15.240,0:04:19.680 war, bis wir dann mitgekriegt haben, dass[br]das Minix, was wir da entwickelt haben, 0:04:19.680,0:04:24.580 wirklich auf allen Intel-Plattformen läuft[br]und damit ist wirklich diese lästerliche 0:04:24.580,0:04:28.930 Bemerkung, dass Minix auf mehr Rechnern[br]läuft - auf Windows als auch Mac, weil 0:04:28.930,0:04:34.139 auch Mac haben die Intel-Hardware und[br]diese selbe ME-Geschichte drin - ein ganz 0:04:34.139,0:04:40.189 witziges Detail, aber wie gesagt, bei den[br]witzigen Detail ist natürlich das 0:04:40.189,0:04:46.219 Hauptproblem da, wenn das nicht ordentlich[br]gemacht worden ist, dann können da 0:04:46.219,0:04:49.759 Sicherheitslücken kommen. Und[br]offensichtlich ist es so, dass die zwar 0:04:49.759,0:04:55.159 dieses Minix genommen haben, das steht[br]aber halt unter einer freien Lizenz und 0:04:55.159,0:04:59.280 nicht GPL, und dann natürlich die ihre[br]Arbeiten und Modifikationen nicht 0:04:59.280,0:05:02.620 veröffentlicht haben und sich[br]offensichtlich nicht gut genug damit 0:05:02.620,0:05:06.560 auskennen, das einigermaßen sicher zu[br]machen. Minix ist ein militant auf 0:05:06.560,0:05:10.329 Sicherheit getrimmtes System, das hat so[br]Inflexibilitäten, z.B. dass alle 0:05:10.329,0:05:15.660 Nachrichten für eine gewisse[br]Prozessorarchitektur genau 24 Byte lang 0:05:15.660,0:05:20.049 sind. Also es gibt sehr wenig[br]Angriffsvektoren, die wir da haben. Und es 0:05:20.049,0:05:24.389 ist ein Microkernel-System, ich weiß nicht[br]genau, wie die genaue Code-Entwicklung 0:05:24.389,0:05:30.469 ist, aber in der Anfangszeit waren wir da[br]bei unter 10.000 lines of code. Und das 0:05:30.469,0:05:34.539 ist auch wieder ein schöner Moment, wo man[br]als Betriebssystem-Professor relativ 0:05:34.539,0:05:40.371 einfach die Welt erklären kann. Linux hat[br]inzwischen 10 oder 20 Millionen Zeilen of 0:05:40.371,0:05:45.360 code. Windows irgendwie 100 Millionen -[br]frag mich nicht. Und es ist auch so ein 0:05:45.360,0:05:50.430 Lemma, dass man sagt, alle 1000 Programm-[br]Zeilen gibt es einen Fehler. Und jetzt 0:05:50.430,0:05:54.639 können wir ausrechnen: das ist bei Minix[br]halt 20.000 Fehler, äh bei Linux 20.000 0:05:54.639,0:05:57.819 Fehler und bei Minix vielleicht eine[br]Handvoll Fehler, und da könnte man 0:05:57.819,0:06:03.059 eigentlich vorbeigehen und das anschauen.[br]Kleines weiteres Lemma: wie problematisch 0:06:03.059,0:06:06.360 sind Fehler? Da ist die Antwort, wenn man[br]mit C programmiert, kann man davon 0:06:06.360,0:06:10.229 ausgehen, dass ein Fehler mit hoher[br]Wahrscheinlichkeit echte Schmerzen 0:06:10.229,0:06:17.240 verursacht. Also die Gruppe der Sachen,[br]der Fehler, die wirklich zu ignorieren 0:06:17.240,0:06:21.919 sind - oder ignoriert werden können - sind[br]bei C deutlich geringer als bei anderen 0:06:21.919,0:06:26.781 Systemen. Insofern sage ich also, die[br]reine Information, dass Minix ein sehr 0:06:26.781,0:06:30.740 kleines System ist, das so klein ist, dass[br]man es so wunderbar in einer Vorlesung 0:06:30.740,0:06:36.580 erklären kann, ist wirklich direkt[br]verbunden mit der Sicherheit. OK. Neben 0:06:36.580,0:06:40.819 diesem Problem, das wir halt Ärger auf der[br]untersten Ebene haben, war ein anderes 0:06:40.819,0:06:45.060 Ding, das wir über Jahre lang auch[br]verfolgt haben, diese TPM-Diskussion, und 0:06:45.060,0:06:51.300 hier gibt es wieder was sehr Bizarres.[br]Hier, wer ein RSA verwendet, wer 0:06:51.300,0:06:55.919 vielleicht meine alten Diskussionen mit[br]RSA und ECC kennt, weiß, dass ich RSA 0:06:55.919,0:07:00.589 eigentlich ganz, ganz, ganz gern hab und das hat[br]auch eine Reihe von Gründen, nämlich es 0:07:00.589,0:07:05.259 gibt Sicherheitsbeweise, wirklich harte[br]Sicherheitsbeweise, es ist verstandene 0:07:05.259,0:07:10.450 Mathematik. Und es ist eine relativ kurze[br]Implementierung, wo man doch nicht allzu 0:07:10.450,0:07:14.360 viel falsch machen kann. Und da das, sage[br]ich, immer noch ein bisschen ne Hacker- 0:07:14.360,0:07:18.569 Konferenz ist, seien mir auch ein paar[br]Sachen hier erlaubt. Zunächst mal, was ist 0:07:18.569,0:07:23.829 RSA? Wir brauchen Primzahlen. Wenn wir[br]2048-bit-Schlüssel haben, brauchen wir 0:07:23.829,0:07:28.409 1024 Bit lange Primzahlen, die[br]multipliziert man. Erste Frage an den 0:07:28.409,0:07:33.320 Mathematiker: gibt's die? Ja, es gibt[br]Primzahlen in jeder Menge. Zweitens: wie 0:07:33.320,0:07:37.430 viel gibt es da? Und da hat man eine[br]Formel, die sagt, also die Anzahl der 0:07:37.430,0:07:44.919 Primzahlen ist etwa x/ln(x), also ganz[br]grob gesagt, alle 1024 Zahlen sind.. ist 0:07:44.919,0:07:51.589 eine Primzahl. Also man hat irgendwie[br]2^10^15 mögliche Primzahlen und wer ein 0:07:51.589,0:07:55.099 bisschen aufpasst, sollte bei[br]Mathematikern immer zusammenzucken, wenn 0:07:55.099,0:07:59.400 die 'in ungefähr gleich' schreiben, dann[br]bedeutet das, es ist gleich bis auf einen 0:07:59.400,0:08:01.039 linearen Faktor,[br]lacht 0:08:01.039,0:08:03.379 der möglicherweise beliebig[br]groß sein kann. 0:08:03.379,0:08:05.070 Lachen[br]Und das ist für die Leute, die 0:08:05.070,0:08:08.659 implementieren, immer so mäßig[br]befriedigend, deswegen haben wir noch mal 0:08:08.659,0:08:14.379 nachgeguckt und für x > 17 gilt, dass[br]diese Abschätzung schon sehr genau ist. 0:08:14.379,0:08:18.369 Und im Vertrauen: für echte Systeme[br]sollten wir Primzahlen, die deutlich 0:08:18.369,0:08:22.210 größer sind als 17 verwenden.[br]Lachen 0:08:22.210,0:08:27.119 Ja, das war ein mathematischer Witz,[br]vielen Dank für die Leute, 0:08:27.119,0:08:28.119 lacht[br]Lachen 0:08:28.119,0:08:32.970 die es gefunden haben. Ok. Zurück zu der[br]Hacker-Welt. Wie sieht es in der 0:08:32.970,0:08:36.250 praktischen Implementierung aus? Schauen[br]wir uns mal gpg an, das bedeutet, wir 0:08:36.250,0:08:41.330 nehmen halt Zahlen, Zufallszahlen, und[br]testen die dann. Zuerst mit einem Sieve- 0:08:41.330,0:08:46.030 Algorithmus, also ein einfaches[br]Durchteilen der Primzahlen kleiner/gleich 0:08:46.030,0:08:53.090 2000.. 400.. äh, 4999. Das muss ich,[br]glaube ich, hier nicht machen. Der zweite 0:08:53.090,0:08:57.840 Teil ist ein Fermat-Test, der ist auch so[br]niedlich, dass ich den Wikipedia-Artikel 0:08:57.840,0:09:07.070 nehm: das ist alles. Und der dritte Test[br]ist bisl ausführlicher, weil da mit Bit 0:09:07.070,0:09:12.260 hin und her geschubst wird, ein bisschen,[br]aber das ist der komplette Code. Also wir 0:09:12.260,0:09:17.230 machen Zufallszahlen und machen diese[br]Tests, diese wenigen Zeilen Tests durch. 0:09:17.230,0:09:19.540 Und haben dann eine hohe[br]Wahrscheinlichkeit, dass es eine Primzahl 0:09:19.540,0:09:23.810 ist, multiplizieren das dann, sind fertig.[br]Was kann da passieren? Nochmal zur 0:09:23.810,0:09:29.940 Erinnerung: wir sind in einem Zahlenraum,[br]wo wir 2^1015 Primzahlen zur Verfügung 0:09:29.940,0:09:34.340 haben, also da kann doch nichts[br]schiefgehen. Außer man kommt auf die tolle 0:09:34.340,0:09:38.380 Idee, wir machen mal ganz schnelle[br]Primzahl- Erzeugung. Mein erster Eindruck 0:09:38.380,0:09:42.700 war: Nein, echt lieber nicht. Dann habe[br]ich gesagt: "Guck Dir mal die Literatur 0:09:42.700,0:09:47.050 an", hab die zwei, drei Tage angeguckt und[br]dann kam ich zur Entscheidung: Echt lieber 0:09:47.050,0:09:53.180 nicht. Und die Praxis haut dann hier auch[br]nochmal voll auf die Computersicherheit 0:09:53.180,0:09:59.880 ein. Nämlich diese TPM-Systeme, die[br]kriegen das hin, die haben einen 0:09:59.880,0:10:03.280 Schlüssel, also einer der zentralen[br]Schlüssel ist der Storage Root Key. Der 0:10:03.280,0:10:10.460 wird genau ein Mal erzeugt. In der[br]Lebenszeit des Gerätes. Also ein Mal. Also 0:10:10.460,0:10:16.530 hier ist kein.. keine Notwendigkeit, das[br]mit einer unsicheren schnellen Erzeugung 0:10:16.530,0:10:20.170 zu machen, wird allerdings trotzdem[br]gemacht. Weiterhin haben die ganzen TPM- 0:10:20.170,0:10:28.380 Chips eine Schlüssellänge kleiner/gleich[br]2048 Bit. So, und dann passierte der 0:10:28.380,0:10:32.160 preiswerte Totalschaden, das haben die[br]Kollegen in einem Vortrag hier auch 0:10:32.160,0:10:36.530 gemacht, als Professor muss ich da noch[br]mal darauf hinweisen, dass die Hauptidee - 0:10:36.530,0:10:40.510 haben die jungen Leute auch ordentlich[br]hingeschrieben - von 1996 ist, 0:10:40.510,0:10:47.200 unmodifiziert. Dieser Coppersmith..[br]unmodifiziert, gar nix. Und was ich ihnen 0:10:47.200,0:10:50.530 sehr dankbar bin ist, dass sie da bei den[br]ganzen Sachen mal die Preisliste 0:10:50.530,0:10:55.460 drangeschrieben haben. Also, ich weiß[br]nicht, was das in Bitcoin ist, aber das 0:10:55.460,0:11:03.110 sind Cent-Bruchteile in Dollar. Und für[br]das 2048, was die höchste Schlüssellänge 0:11:03.110,0:11:11.260 für TPM-Chips ist, ist es Kosten von 944[br]$. Wer sieht noch was Ultra-bizarres? 0:11:11.260,0:11:18.160 unverständliche Antwort[br]Ja. Also, irgendjemand erklärt mir nach 0:11:18.160,0:11:23.801 dem dritten Bier, warum.. wie man das[br]hinkriegt, dass 3072 eine 10^17 mal 0:11:23.801,0:11:32.300 größere Sicherheit gegen Angriffe haben[br]als 4096. Also ihr merkt, das ist an 0:11:32.300,0:11:40.140 Bizzarität relativ wenig zu überbieten.[br]Gut, wie gesagt, wenn wir gerade bei 0:11:40.140,0:11:43.990 Sachen sind, die in die Hose gehen können,[br]habe ich auch noch überlegt: Was gibt es 0:11:43.990,0:11:47.320 noch aus dem letzten Jahrtausend? Nämlich[br]den Bleichenbacher-Angriff. Und da hat 0:11:47.320,0:11:52.860 eine Gruppe um Hanno Böck und andere[br]Autoren auch mit Robot das sehr schön 0:11:52.860,0:11:54.110 gezeigt,[br]lacht 0:11:54.110,0:11:57.570 dass das heute auch noch genau geht, aber[br]nur bei so kleinen Firmen wie F5, Citrix 0:11:57.570,0:12:00.800 und Cisco.[br]Lachen 0:12:00.800,0:12:07.490 Und so bei 27 der 100 häufigsten[br]Webservices, unter anderem Facebook und 0:12:07.490,0:12:11.730 lacht[br]PayPal. Das ist, glaube ich, die Firma die 0:12:11.730,0:12:14.280 irgendwas mit Geld macht also das ist[br]irgendwie 0:12:14.280,0:12:18.280 Lachen[br]auch ein Punkt, wo ich irgendwie sag, das 0:12:18.280,0:12:23.090 ist eine Sache, wo man sich fragt, und da[br]werd ich nicht näher auf.. gehen, aber 0:12:23.090,0:12:27.990 noch mal der Hinweis: Coppersmith [ist[br]von] 96, Bleichenbacher [von] 98. Ihr 0:12:27.990,0:12:33.240 merkt, ich steh auf alte Angriffe,[br]insofern seid versichert, im Laufe 0:12:33.240,0:12:34.240 lacht 0:12:34.240,0:12:36.350 des Vortrags kommen dann noch ältere[br]Geschichten raus. 0:12:36.350,0:12:37.350 Lachen 0:12:37.350,0:12:42.470 Aber das ist natürlich relativ[br]schmerzhaft. Also wir sollten hier auch 0:12:42.470,0:12:47.330 nochmal sagen, was wir empfehlen: es hilft[br]alles nichts, wir brauchen Open Source im 0:12:47.330,0:12:52.740 Booting. Wir müssen weg von UEFI. Wir[br]brauchen so was wie Core Boot, Libre Boot 0:12:52.740,0:12:58.570 oder U-Boot, und das muss jetzt relativ[br]schnell passieren, weil ansonsten haben 0:12:58.570,0:13:02.920 wir.. sind wir Kryptographen auch wehrlos.[br]Also wenn die uns die unterste Ebene 0:13:02.920,0:13:07.750 wegschießen und dann alle Bits, die wir[br]irgendwie sichern wollen, einsammeln, dann 0:13:07.750,0:13:12.030 können wir auch keine Magie machen.[br]Interessant ist, dass auch Google das im 0:13:12.030,0:13:17.100 Bereich des NERF - schöner Akronym für[br]Non-Extensible Reduced Firmware - sehr 0:13:17.100,0:13:22.400 stark weiter betreibt. Kommen wir zu dem[br]Thema, das ich eigentlich hauptsächlich 0:13:22.400,0:13:26.680 bespielen wollte, das ist Robuste[br]Kryptographie. Und jetzt geb ich mal 0:13:26.680,0:13:31.360 wirklich ein paar Sachen, die sehr vom[br]Ingenieurs-mäßigen Standpunkt interessant 0:13:31.360,0:13:36.510 sind, aber natürlich mathematisch fundiert[br]sind. Erste Regel: XOR ist dein Freund. 0:13:36.510,0:13:41.390 Das bedeutet, wenn man z.B. aus mehreren[br]Quellen den Zufall nimmt und das dann 0:13:41.390,0:13:47.570 XORt, dann tut man eigentlich das System[br]stärken. Also es bedeutet auch, ich hab 15 0:13:47.570,0:13:52.330 schlechte random Quellen und eine gute,[br]und wenn ich alles zusammen XOR, tue ich 0:13:52.330,0:13:56.381 weitgehend die Eigenschaft der guten[br]Geschichte erben. Auch hier muss man ein 0:13:56.381,0:14:00.870 paar Sachen beachten, aber 'XOR ist dein[br]Freund' ist, denk ich, sagen wir mal, als 0:14:00.870,0:14:04.670 erste Annäherung schon mal ein guter[br]Punkt. Zweitens: man kann Sachen doppelt 0:14:04.670,0:14:08.820 hashen, das habe ich auch vor vielen[br]Jahren gemacht, ist heute auch - [das] 0:14:08.820,0:14:13.630 erste Mal Blockchain - bei Bitcoin der[br]Fall, dass die zweimal hashen, bevor sie 0:14:13.630,0:14:17.050 in den Mining-Prozess.. aber die machen[br]das halt nicht richtig, denen fehlt ein 0:14:17.050,0:14:22.860 XOR und dadurch haben sie nicht die[br]Sicherheit, die sie natürlich durch höhere 0:14:22.860,0:14:27.570 Sachen.. äh, durch doppelt hashen[br]erreichen würden. Längere Schlüssellängen, 0:14:27.570,0:14:32.880 na, das ist generell eine gute Empfehlung,[br]außer wenn ihr euch an die vorletzte Folie 0:14:32.880,0:14:38.510 erinnert, also es ist kein Allheilmittel.[br]Aber für sehr viele Sachen ist eine lange 0:14:38.510,0:14:45.530 Schlüssellänge doch eine deutlich bessere[br]Idee. Gut. Historische Sachen.. 0:14:45.530,0:14:53.970 Cryptophone. Ein Telefon, das auch Snowden[br]ganz gern benutzt, haben wir da für 2003 0:14:53.970,0:14:59.710 ein Design gemacht, und da können wir[br]sehen: Schon damals, wo die Rechner etwas 0:14:59.710,0:15:03.280 langsamer waren - wir haben das für Handy[br]gemacht - ging das irgendwie, dass wir 0:15:03.280,0:15:10.400 4096-bit.. äh, Diffie-Hellmann machen, wir[br]haben es einmal gehasht und dann haben wir 0:15:10.400,0:15:14.620 vor der Schlüsselableitung es ein zweites[br]Mal gehasht, aber mit einer modifizierten 0:15:14.620,0:15:18.710 Hash-Funktion. Also hier ist es ein bisl[br]verkürzt dargestellt: Wir nehmen die SHA-2- 0:15:18.710,0:15:24.580 Funktion von damals, aber tun die mit dem[br]anderen Wert parametrisieren, das hat z.B. 0:15:24.580,0:15:28.870 die Eigenschaft, ihr könnt überlegen, wenn[br]man Kollisionsprobleme hat und zweimal 0:15:28.870,0:15:32.610 hintereinander hasht und schon nach einem[br]Hash eine Kollision da ist, dann hilft das 0:15:32.610,0:15:37.140 nicht allzu sehr weiter. Aber durch das[br]Umparametrisieren, wie gesagt, es ist 0:15:37.140,0:15:41.749 manchmal nur ein Bit, also im Prinzip wär[br]Bitcoin sehr viel sicherer, wenn sie nach 0:15:41.749,0:15:46.240 dem.. - also, sicherer gegen einige[br]Angriffs-Sachen - wenn sie nach dem ersten 0:15:46.240,0:15:51.739 Hashing ein Bit umrempeln würden. Also das[br]ist irgendwie manchmal ein bisschen 0:15:51.739,0:15:54.960 gruselig, wenn man sich überlegt, das[br]manchmal ein Bit an der richtigen Stelle 0:15:54.960,0:15:58.920 gesetzt oder nicht gesetzt wirklich[br]drastische Auswirkungen hat. Später dazu 0:15:58.920,0:16:03.890 noch ein paar weitere Bemerkungen. Und[br]hier aus der beliebten Serie 'XOR ist dein 0:16:03.890,0:16:11.230 Freund': wir haben damals AES-256 und[br]Twofish einfach mit XOR verknüpft, das ist 0:16:11.230,0:16:15.550 eine Verknüpfung, die die schöne[br]Eigenschaft hat, das dann Angreifer beide 0:16:15.550,0:16:21.240 Funktionen brechen müssen, etwas verkürzt[br]dargestellt, aber durchaus zutreffend. 0:16:21.240,0:16:25.689 Also wie gesagt, es sind relativ einfache[br]Sachen, bei Hash-Funktionen ein bisl 0:16:25.689,0:16:30.480 darauf achten: XOR ist ganz spannend.[br]Kommen wir noch mal zur Hash-Funktion, da 0:16:30.480,0:16:35.770 möchte ich hier heute mal ein bisschen[br]Werbung für SHA-512 machen. Ich bin der 0:16:35.770,0:16:43.450 Meinung, man sollte lieber SHA-512 nutzen[br]als SHA-256. Warum? Naja, Abschneiden ist 0:16:43.450,0:16:51.660 OK, man kann die, wenn man nur 256 Bit[br]ist, kann man die anderen Bits schlicht 0:16:51.660,0:16:55.900 und einfach verwerfen. Wer es nochmal im[br]Standard da hinten.. kann es sich 0:16:55.900,0:17:01.600 angucken, SHA-356 ist im Prinzip, mit[br]einer leichten Modifikation, SHA-512 mit 0:17:01.600,0:17:06.980 abgeschnittenen Bits. Zweiter Punkt:[br]Kryptographisch hochwertige Bits, genauer 0:17:06.980,0:17:12.400 gesagt schön randomisierte Bits, kann man[br]immer brauchen. Also wenn man 512-bit 0:17:12.400,0:17:17.160 Ausgabe hat, dann hat man noch zusätzlich[br]ein paar random Bits rumliegen, wie schon 0:17:17.160,0:17:21.280 gesagt, man kann dann noch überlegen 'XOR[br]ist dein Freund' und das in andere Sachen 0:17:21.280,0:17:30.430 nochmal anzubringen. Weiterhin ist SHA-512[br]sehr schnell, auf 64-bit Plattformen, ist 0:17:30.430,0:17:35.651 eigentlich fast genauso schnell auf[br]älteren Plattformen wie SHA-256 und wie 0:17:35.651,0:17:40.240 gesagt, rein aus dem kryptographischen[br]Bauchgefühl: Man hat in SHA-512 mehr 0:17:40.240,0:17:45.980 Runden und man hat 64-bit-Operation, also[br]von allem kryptographischen Bauchgefühl 0:17:45.980,0:17:50.040 wird da deutlich mehr durcheinander[br]gewirbelt und die Sicherheit auch in einer 0:17:50.040,0:17:58.290 gewissen Weise erhöht. Gut, das machen wir[br]kurz. Längere Kurven, nochmal der Hinweis: 0:17:58.290,0:18:03.630 Ich bin der Meinung, unter anderem die[br]Gruppe um D.J. Bernstein hat da schöne 0:18:03.630,0:18:12.230 Arbeit gemacht bei der kleinen Kurve, er[br]hat auch irgendwie bei der 256-bit Kurve 0:18:12.230,0:18:16.480 interessante Ergebnisse gehabt. Er hat[br]auch längere Kurven bereitet, aber das 0:18:16.480,0:18:21.800 nicht mit der.. mit dem In.. mit dem[br]Nachdruck bearbeitet, die man vielleicht 0:18:21.800,0:18:25.960 dafür braucht. Und außerdem bin ich halt[br]wirklich der Meinung, wenn man schon auf 0:18:25.960,0:18:31.790 die elliptischen Kurven kommt, ist ja[br]SHA-256, also ist 256 Bit wirklich sehr 0:18:31.790,0:18:37.340 nahe an der Grenze, wo man irgendwie sagt,[br]das könnte schnell problematisch werden. 0:18:37.340,0:18:46.470 Insbesondere, weil auch djb verwiesen hat[br]auf die Probleme, die RSA bei 0:18:46.470,0:18:49.850 Quantencomputern hat, muss ich sagen,[br]elliptische Kurven, wegen der kleineren 0:18:49.850,0:18:54.690 Schlüssellänge würd ich vom Bauchgefühl[br]sagen, da knallt's deutlich früher als bei 0:18:54.690,0:19:02.540 den RSA-Operationen. Gut, alles klar,[br]jetzt in einem zweitem Teil tut mein 0:19:02.540,0:19:07.630 geschätzter Kollege Christian Forler mal[br]ein paar konstruktive Tips geben, wie man 0:19:07.630,0:19:12.120 wirklich bestehende Systeme besser nutzen[br]können, und es ist eigentlich auch 0:19:12.120,0:19:16.510 überraschend: Wir haben uns in dem Vorfeld[br]halt da noch mal reingeguckt und sind an 0:19:16.510,0:19:23.030 einigen Stellen gekommen, dass z.B. einige[br]neue Ideen, TLS, z.B. 1.3, eigentlich auf 0:19:23.030,0:19:28.860 den ersten Blick gut aussehen, außer wenn[br]man mal ein paar andere Angriffsmodelle 0:19:28.860,0:19:32.930 zugrunde legt. Insofern sind die Arbeiten,[br]die Christian jetzt vorstellt, glaube ich 0:19:32.930,0:19:36.920 auch, vom hohen Maße praxisrelevant.[br]Christian Forler: Hallo. Jetzt wird es 0:19:36.920,0:19:40.550 gleich ein bisschen technisch werden, da[br]müsst ihr jetzt halt durch. 0:19:40.550,0:19:42.570 lacht[br]OK. Und zwar geht es jetzt um den 0:19:42.570,0:19:47.390 richtigen Einsatz von AES. Ne? Also das[br]Problem ist, dass jetzt die ganzen 0:19:47.390,0:19:51.480 Hersteller von Softwareprodukte irgendwie[br]Sicherheit bewerben, indem sie erzählen: 0:19:51.480,0:19:55.840 "Wir nutzen AES". Ja. Das ist zwar jetzt[br]erst mal nicht so die schlechteste Idee, 0:19:55.840,0:19:59.430 AES zu nutzen, aber in der Regel findet[br]man halt nicht raus, wie sie das 0:19:59.430,0:20:03.540 einsetzen, ja, und da kann man auch viel[br]falsch machen. Und das schauen wir uns 0:20:03.540,0:20:06.540 dann gleich mal an, das heißt, wenn jemand[br]irgendwie behauptet, er macht irgendwie 0:20:06.540,0:20:10.790 AES, online erstmal nachfragen, wie das[br]eingesetzt wird und wenn man das nicht 0:20:10.790,0:20:15.620 rausfindet, ist das meistens ein Indiz[br]dafür, dass da ein Fehler gemacht wird. 0:20:16.630,0:20:20.523 Und dann schauen wir uns mal an hier: Also[br]AES ist keine Wunderwaffe, das ist einfach 0:20:20.523,0:20:24.590 nur ein Blockchiffre, das heißt, ich kann[br]mit AES einen Klartextblock verschlüsseln, 0:20:24.590,0:20:29.760 bzw. einen Chiffretextblock entschlüsseln,[br]und die Blockgröße ist 128 Bit, das heißt 0:20:29.760,0:20:34.320 16 Byte. Das hilft jetzt in der Regel[br]nicht so wirklich viel, weil in der Regel 0:20:34.320,0:20:38.860 habe ich halt Nachrichten, die ein wenig[br]größer sind als 16 Byte, ja, wenn man es 0:20:38.860,0:20:42.220 so irgendwie Dateien uns anschaut, auch[br]Netzwerkpakete. Und da ist jetzt die 0:20:42.220,0:20:46.520 Frage: Wie kann ich jetzt einen größeren[br]Klartext verschlüsseln? Und dann ist die 0:20:46.520,0:20:50.100 Antwort irgendwie klar: Ich zerhacke den[br]in Blöcke und bearbeite die Blöcke 0:20:50.100,0:20:54.780 nacheinander irgendwie mit AES ab. Ja, das[br]ist so die elementare Strategie. Und dann 0:20:54.780,0:20:58.410 schauen wir uns mal an: da in der i-Folge[br]jetzt, da geht das auf jeden Fall schief, 0:20:58.410,0:21:02.710 und ihr könnt euch vorstellen, man tut[br]jeden Block einmal durch AES jagen, 0:21:02.710,0:21:08.850 Nachteil: gleiche Klartextblöcke, ja, wenn[br]die Klartextblöcke gleich sind und AES 0:21:08.850,0:21:11.750 eine Funktion, dann kommt auch das Gleiche[br]raus. Das heißt, gleiche Klartextblöcke 0:21:11.750,0:21:15.340 ergibt gleiche Chiffretextblöcke, ja,[br]alles schon mal gehört, das heißt, da 0:21:15.340,0:21:19.160 bleibt Struktur erhalten und wenn da[br]Struktur erhalten bleibt bei einer 0:21:19.160,0:21:22.950 Verschlüsselung, dann ist das irgendwie[br]extrem schlecht. Also das, was wir grad 0:21:22.950,0:21:26.760 nicht haben. Ja, das ist halt die Idee,[br]warum wir Kryptographie nutzen, damit ja 0:21:26.760,0:21:29.350 von der Struktur nichts mehr übrig bleibt.[br]Ja, und falls doch, gibt es da dieses 0:21:29.350,0:21:33.870 Wikipedia-Beispiel, das wir irgendwie alle[br]kennen. Das heißt, das ist irgendwie AES- 0:21:33.870,0:21:36.880 verschlüsselt, das ist 'military-grade[br]security', da, so Werbung.. so, ja. 0:21:36.880,0:21:40.150 räuspert sich[br]Also da gibts ja Leute, die bewerben halt 0:21:40.150,0:21:44.160 ihre Software mit 'military-grade[br]security' und machen dann sowas. Das ist 0:21:44.160,0:21:48.490 irgendwie schlecht. Nächster Schritt, was[br]man jetzt machen kann: Wir wissen alle, ja 0:21:48.490,0:21:52.440 man macht Schlüsselstrom. Man nehme ein[br]AES, generiere einen Schlüsselstrom. Die 0:21:52.440,0:21:55.660 Idee ist schon mal gar nicht mal so[br]schlecht, weil wir haben ja irgendwie 0:21:55.660,0:21:59.870 gelernt so, One-Time-Pad funktioniert. Und[br]das wollen wir irgendwie da ein bisschen 0:21:59.870,0:22:05.370 emulieren. Dann gibt's jetzt die einfache[br]Variante, dann.. genau, verschlüssel ich 0:22:05.370,0:22:09.620 jetzt was, indem ich einen Counter,[br]irgendwie, also ich nehm einen Counter, 0:22:09.620,0:22:15.770 verschlüssel den und tu das Ergebnis, der[br]Schlüsselstrom, der raus kommt, XORen mit 0:22:15.770,0:22:19.320 meinem Klartext. Und das Problem ist hier[br]bei dieser Variante, hier gibt's keinen 0:22:19.320,0:22:23.670 Zustand, das ist zustandslos, das heißt,[br]das ist deterministisch. Das heißt, jedes 0:22:23.670,0:22:27.770 Mal, wenn ich hier das anwerfe, die[br]Verschlüsselungsverfahren, kommt der 0:22:27.770,0:22:31.570 gleiche Schlüsselstrom raus. Und wie wir[br]auch wissen, One-Time-Pads mehrmals 0:22:31.570,0:22:35.470 anwenden ist auch eine schlechte Idee,[br]dann kommt .. das heißt, ich muss jedes 0:22:35.470,0:22:39.990 Mal bei AES den Schlüssel wechseln, ja[br]wenn ich da jetzt eine neue Nachricht 0:22:39.990,0:22:44.201 verschlüsseln möchte. Und das ist[br]irgendwie auch.. irgendwie nicht so 0:22:44.201,0:22:46.950 richtig praktikabel, wenn ich jetzt[br]vergesse, den Schlüssel zu wechseln, bei 0:22:46.950,0:22:50.390 dem einfachen Verfahren, dann fällt es[br]erstmal gar nicht so auf, weil ich habe 0:22:50.390,0:22:54.059 hier jetzt einmal Tux verschlüsselt und[br]einmal Beastie, und hier sieht man 0:22:54.059,0:22:57.899 erstmal: die Struktur ist weg, weißes[br]Rauschen, das ist schon mal irgendwie ganz 0:22:57.899,0:23:02.380 angenehm. Problem ist jetzt nur, ich habe[br]zweimal den gleichen Schüsselstrom, das 0:23:02.380,0:23:07.710 heißt, wenn ich den Chiffretext XORe, dann[br]kürzt sich der weg. Und dann, genau, kommt 0:23:07.710,0:23:14.160 irgendwie das raus. Und da kann man sich[br]vorstellen, das das jetzt nicht so der 0:23:14.160,0:23:20.670 Riesenaufwand ist, aus diesem XOR dann die[br]zwei Klartexte zu extrahieren, das kriegt 0:23:20.670,0:23:24.230 man auch hier noch als Geheimdienst hin,[br]selbst als schlecht ausgestatteter 0:23:24.230,0:23:29.220 Geheimdienst, das kriegt man auch noch als[br]Student noch hin. Das ist eventuell mal 0:23:29.220,0:23:34.270 eine Übungsaufgabe, so im.. für Bachelor-[br]studenten, das ist jetzt net so schwer. 0:23:34.270,0:23:35.270 lacht 0:23:35.270,0:23:39.760 Deswegen also, wie funktioniert's richtig?[br]Das heißt, ich brauch einen Zustand, ja? 0:23:39.760,0:23:42.450 Das heißt, wenn ich einen Schlüssel nur[br]habe und möchte damit mehrere Nachrichten 0:23:42.450,0:23:47.210 verschlüsseln, brauche ich einen Zustand,[br]das nennen wir hier Nonce. Und das heißt, 0:23:47.210,0:23:50.740 und beim Counter-Mode setzt sich halt mein[br]Counter im Anfangswert nicht auf 1, 0:23:50.740,0:23:54.940 sondern ich setze ihn auf seinen Zustand.[br]Und jetzt ist die Idee: Jedes Mal, wenn ich 0:23:54.940,0:23:58.450 eine neue Nachricht verschlüssele, würfel[br]ich mir einen neuen Zustand aus, neue 0:23:58.450,0:24:04.190 Nonce. Und das heißt, wenn ich da jetzt[br]eine neue Nonce anfange, bekomme ich immer 0:24:04.190,0:24:08.690 wieder einen neuen Schlüsselstrom und das[br]ist halt vorteilhaft, das heißt, genau. 0:24:08.690,0:24:12.730 Das heißt, wenn ich halt.. neuer[br]Schlüsselstrom heißt halt, das können wir 0:24:12.730,0:24:16.610 wieder nutzen und so falls sich jetzt..[br]das Ganze ist sicher so, falls sich kein 0:24:16.610,0:24:22.621 Nonce-Schlüssel-Paar wiederholt. So weit,[br]so gut. Das heißt, die Anforderung halt 0:24:22.621,0:24:27.270 hier ist jetzt.. ist, der Nonce darf sich[br]nicht wiederholen. Ja und das ist halt so 0:24:27.270,0:24:31.580 ein bisl kritisch, es gibt uns, genau, es[br]gibt da noch so mehrere 0:24:31.580,0:24:34.440 Verschlüsselungsverfahren, die sind alle[br]Nonce-basiert, und das erste Problem, wie 0:24:34.440,0:24:37.140 ich gesagt habe, man darf den Nonce[br]irgendwie.. muss aufpassen, dass der sich 0:24:37.140,0:24:41.220 nicht wiederholt. Und das zweite Problem[br]ist, man schützt nicht die Integrität der 0:24:41.220,0:24:44.559 Nachricht damit. Ja das heißt, wenn ich da[br]was mit verschlüssele, z.B. so eine Bank- 0:24:44.559,0:24:47.660 Transaktion, ist es sozusagen geschickt,[br]dass die hier im Internet niemand lesen 0:24:47.660,0:24:50.940 kann, aber wenn ich das Format irgendwie[br]kenne, der Bank-Transaktion, kann ich es 0:24:50.940,0:24:55.650 so manipulieren, dass der Betrag sich[br]ändert, oder die Empfängeradresse und das 0:24:55.650,0:25:03.200 auch kontrolliert. Und eventuell möchte[br]man das nicht. Ja. Genau. Und deswegen 0:25:03.200,0:25:05.930 gibt es die Authentisierte[br]Verschlüsselung. Das heißt, als Kryptograh 0:25:05.930,0:25:09.360 ist man auch auf die Idee gekommen, seit[br]längerem schon, das man nicht nur die 0:25:09.360,0:25:11.950 Vertraulichkeit irgendwie schützen möchte[br]einer Nachricht, sondern auch die 0:25:11.950,0:25:18.290 Integrität. Und das in einem Rutsch und[br]das auch irgendwie mit AES. Genau. Das ist 0:25:18.290,0:25:22.740 jetzt das große Ziel. Und wie funktioniert[br]das, so ein Verfahren? Ich hab jetzt, wie 0:25:22.740,0:25:27.530 gesagt, wieder mein Nonce und mein N und[br]meinen Klartext P, den kipp ich da rein, 0:25:27.530,0:25:30.250 und dann fällt es nicht nur unter[br]Chiffretext raus, sondern es fällt auch 0:25:30.250,0:25:34.950 noch so eine kryptographische Prüfsumme[br]raus. Ja? Und das heißt, wenn ich jetzt 0:25:34.950,0:25:38.920 die Inputs ändere, ändern sich auch alle[br]Outputs bei der Verschlüsselung. Das 0:25:38.920,0:25:41.929 heißt, ich komm jedesmal, wenn ich dann[br]irgendwie mindestens ein Bit ändere oder 0:25:41.929,0:25:46.700 mehr im Input, ändert sich halt auch die[br]Prüfsumme und der Chiffretext. Das ist 0:25:46.700,0:25:51.490 schon mal ganz nett. Und wenn ich[br]entschlüssle, ganz einfach, dann kipp ich 0:25:51.490,0:25:55.280 wieder so ein valides Nonce-Chiffretext-[br]Tag-Paar rein und es kommt mein Klartext 0:25:55.280,0:25:58.840 raus, Juhu! Und das ist, der Clou ist[br]jetzt, der Hammer: Wenn ich jetzt 0:25:58.840,0:26:02.040 irgendwie am.. wenn jetzt jemand[br]manipuliert, das heißt wenn ich jetzt 0:26:02.040,0:26:07.320 Nonce, Chiffretext oder Tag ändere, dann[br]gibts ne Fehlermeldung. Ja? Dann heißt es, 0:26:07.320,0:26:10.660 der Klartext ist nicht valide, das heißt[br]die Eingabe war invalide und es gibt eine 0:26:10.660,0:26:15.080 Fehlermeldung. Das ist irgendwie ganz[br]nett, sowas will ich eigentlich haben. Ja 0:26:15.080,0:26:18.650 da gibt es irgendwie so zwei ganz berühmte[br]Verfahren, das eine ist der Galois/Counter 0:26:18.650,0:26:21.611 Mode, der wird eigentlich überall.. der[br]ist in der Industrie weit verbreitet, den 0:26:21.611,0:26:27.929 gibt es z.B. so bei Sachen wie IPSec oder[br]auch bei TLS und so weiter und das ist, 0:26:27.929,0:26:33.680 das Problem.. also, das Gute ist, das Ding[br]ist superschnell, der Galois/Counter Mode, 0:26:33.680,0:26:37.720 Nachteil ist, er ist ein bissel fragil.[br]Das schauen wir uns gleich mal an und das 0:26:37.720,0:26:44.720 andere Verfahren, das ich dann noch[br]empfehlen kann, ist OCB, Offset Codebook 0:26:44.720,0:26:49.230 von.. genau, Rogaway, hat er mit gebaut[br]und das.. genau. Also wenn man die Wahl 0:26:49.230,0:26:53.710 hat, sollte man OCB einsetzen. Problem ist[br]halt auch wieder hier: Bei all den 0:26:53.710,0:26:58.050 Verfahren, wenn sich eine Nonce wiederholt[br]dann ist es.. dann bricht so alles 0:26:58.050,0:27:02.140 zusammen. Ja und ich hab mir das nochmal[br]angeschaut, wie schlimm die Situation ist, 0:27:02.140,0:27:07.830 wenn sich eine Nonce wiederholt, 2011. Und[br]d.h. das Schlimme ist, das ist wirklich 0:27:07.830,0:27:11.500 total kaputt. D.h ich kann da immer von[br]O(1) Angriff finden, d.h. ich kann das 0:27:11.500,0:27:16.460 Ding in Echtzeit alles kaputt machen.[br]'Vertraulichkeit und Integrität'. Und das 0:27:16.460,0:27:20.410 möchte man nicht so wirklich haben. Also[br]das ist irgendwie.. d.h. wenn sich eine 0:27:20.410,0:27:24.750 Nonce wiederholt, ist das so eine mittlere[br]Katastrophe. Ja und das ist irgendwie vom 0:27:24.750,0:27:30.960 Design her nicht so gut, d.h. da muss man[br]irgendwann mal irgendwie die.. also die 0:27:30.960,0:27:34.419 Anforderungen für einen Kryptograph, der[br]ist Mathematiker, man hat so einen 0:27:34.419,0:27:37.640 Zustand, der sich wiederholt, das klingt[br]jetzt erstmal irgendwie so nicht so 0:27:37.640,0:27:41.750 schlimm, aber in der Praxis ist das echt[br]ein Problem. Schauen wir uns auch gleich 0:27:41.750,0:27:46.080 an, erstmal noch mal hier bisl GCM-[br]Bashing. GCM, na das liegt.. das ist 0:27:46.080,0:27:51.640 extrem fragil. Also, [auf] das muss mans[br]aufpassen, wenn man es einsetzt. Wenn ihr 0:27:51.640,0:27:56.120 GCM einsetzt, Galois/Counter Mode, dann[br]bitte nur mit 96-bit Nonces. Ansonsten 0:27:56.120,0:27:59.530 gibt's Probleme, da können Konstanz-[br]Kollisionen auftreten, weil dann das 0:27:59.530,0:28:04.030 gehasht wird. Das möchte man eigentlich[br]nicht tun. Ja und die Hashfunktion hat da 0:28:04.030,0:28:09.669 so ein bisschen Schwächen. Dann, kurz[br]nachdem GCM raus kam, hat sich mal Niels 0:28:09.669,0:28:13.820 Ferguson - also sprich: Microsoft - das[br]Ding angeschaut und hat gemeint so, oh, 0:28:13.820,0:28:21.090 das Problem ist, wenn ich jetzt den.. die[br]Nachricht, also die Prüfsumme, kürze, dann 0:28:21.090,0:28:24.630 wird das Ganze extrem unsicher. Das heißt,[br]es nimmt überproportional stark ab, die 0:28:24.630,0:28:28.030 Sicherheit. D.h. Kürzen ist eine schlechte[br]Idee. Und das ist auch so manche komische 0:28:28.030,0:28:31.630 Eigenschaft, die man eigentlich nicht[br]haben möchte. Ja. Das andere, was man 0:28:31.630,0:28:35.900 jetzt rausgefunden hat: ja, bei Nonce[br]Wiederholung, da fliegt da so ein 0:28:35.900,0:28:39.540 Schlüssel raus. Ja, d.h. da irgendwie[br]kriegt man noch einen Schüssel frei Haus 0:28:39.540,0:28:44.410 und das Gute ist, GCM hat zwei Schlüssel.[br]Einen Schlüssel zum Verschlüsseln, einen 0:28:44.410,0:28:47.970 Schlüssel für die Integrität, für die[br]Prüfsumme. Und es fällt da nur der 0:28:47.970,0:28:53.560 Schlüssel raus für die Prüfsumme. Das ist[br]aber irgendwie trotzdem irgendwie schlimm. 0:28:53.560,0:28:57.080 Das möchte man eigentlich nicht. Dass man[br]mal einen Fehler macht, der Schlüssel raus 0:28:57.080,0:29:01.880 fällt. Das ist halt auch bisl.. so bisl[br]fragil. Und es gibt noch auch ein paar 0:29:01.880,0:29:06.040 Handvoll schwache Schlüssel, weil dieses[br]Galois/Counter Mode, ja, das 'Galois' 0:29:06.040,0:29:08.990 steht halt für Galois field[br]multiplication, d.h. da findet eine 0:29:08.990,0:29:13.110 Multiplikation statt, und da kann man sich[br]denken, ja, Multiplikation mit 0 ist 0:29:13.110,0:29:16.650 vielleicht nicht die beste Idee. Ja, wenn[br]man so einen 0-Schlüssel hat, weil 0:29:16.650,0:29:20.250 irgendeine Nachricht mal 0, ne, ist halt[br]immer 0, unabhängig von der Nachricht und 0:29:20.250,0:29:24.340 eine Prüfsumme, die unabhängig von der[br]Nachricht ist, ist irgendwie nutzlos. Und 0:29:24.340,0:29:28.549 da gibts noch weitere Schlüssel, die auch[br]irgendwie noch Schwächen haben. Genau. 0:29:28.549,0:29:33.630 Also, als das rauskam, wie gesagt, hat[br]sich das mal Niels Ferguson angeschaut, 0:29:33.630,0:29:38.730 der ist bei Microsoft tätig, und hat dann[br]so ein Papier geschrieben, da stand drin, 0:29:38.730,0:29:44.560 ja, ich kann das nicht zufällig empfehlen,[br]besser nicht. Wenn ihr keine andere Wahl 0:29:44.560,0:29:52.640 habt , dann nutzt GCM, aber bitte, bitte[br]nicht.. niemals die Prüfsumme kürzen. Da.. 0:29:52.640,0:29:56.710 genau, dann.. das Zweite, was ich hier[br]habe, als Code-Schnipsel ist RFC 4103.. 0:29:56.710,0:30:02.620 06, da steht beschrieben, wie man denn[br]jetzt GCM bei IPSec benutzt und da steht 0:30:02.620,0:30:05.809 drin, ja wenn ihr das implementiert,[br]natürlich müsst ihr dann die volle 0:30:05.809,0:30:08.520 Prüfsumme unterstützen - ich glaub, das[br]kann man auch gar nicht anders 0:30:08.520,0:30:10.850 implementieren, dafür ist es nicht[br]möglich, dass man es eben anders 0:30:10.850,0:30:14.030 implementiert - und aber, was optional[br]noch erlaubt ist, ihr dürft die Prüfsumme 0:30:14.030,0:30:20.610 kürzen, auf.. genau. Von 16 Byte auf 12[br]oder 8 Byte, und das ist natürlich eine 0:30:20.610,0:30:25.230 schlechte Idee. Ja, weil dann die[br]Sicherheits.. also mehr, die Sicherheit, 0:30:25.230,0:30:28.590 wenn man nur 8 Byte hat, ist halt[br]wesentlich geringer, als man da vermutet. 0:30:28.590,0:30:33.910 D.h. erstmal: tuwat! Ne? Wer Admin ist,[br]erst mal nachschauen: IPSec - nutzt ihr 0:30:33.910,0:30:42.070 GCM mit kurzen Prüfsummen? Und dann[br]erstmal das Feature deaktivieren. Das 0:30:42.070,0:30:47.650 hilft. Dann, genau. Jetzt gehts wieder[br]zurück zum Nonce-Reuse, nachdem ich ein 0:30:47.650,0:30:51.050 paar Nachteile von GCM aufgezählt habe.[br]Weil der Vorteil ist halt, es ist halt 0:30:51.050,0:30:55.920 verdammt schnell, aber der Preis ist[br]Fragilität. Und bei Nonce, genau, 0:30:55.920,0:31:00.530 Wiederholung: Es ist halt praxisrelevant,[br]da gab es ja irgendwie Diskussionen am 0:31:00.530,0:31:04.280 Anfang, als der da herauskam und[br]irgendwie, da nenn ich mal drei Beispiele. 0:31:04.280,0:31:11.640 Ja, ich glaube schon, weil erster Grund[br]ist halt: Programmierer machen Fehler und 0:31:11.640,0:31:15.750 auch Leute, die sowas designen, machen[br]auch mal ab und zu Fehler. Und genau, da 0:31:15.750,0:31:19.320 gibt es so drei lustige Beispiele. Eins,[br]so irgendwie so eine kleine Klitsche aus 0:31:19.320,0:31:23.550 Redmond, mit so Nischen-Software - Word,[br]Excel - hat es irgendwie nicht so richtig 0:31:23.550,0:31:27.870 hinbekommen beim ersten Anlauf, dann das[br]andere, was ich hier noch hab ist so 0:31:27.870,0:31:30.910 WinZip, auch so irgendwie Nischen-[br]Software, die keiner nutzt. Und das dritte 0:31:30.910,0:31:35.790 haben wir jetzt dieses Jahr ganz brandneu,[br]ist KRACK hier, WPA2 Wi-Fi, ja, auch so 0:31:35.790,0:31:40.870 ein Nischen-Produkt. Und das ist so, sieht[br]man, das geht halt immer wieder.. also 0:31:40.870,0:31:45.500 selbst die großen Firmen eben.. und[br]Standard und Komitees kriegen das nicht so 0:31:45.500,0:31:49.280 richtig hin. D.h. da gibts halt irgendwie[br]ein Problem. Und ich denke, auch in 0:31:49.280,0:31:54.250 Zukunft wirds immer wieder Probleme geben,[br]ja? Und das andere ist, wenn man sich mal 0:31:54.250,0:31:59.669 schaut so, die ganzen App Stores, was es[br]da an Software gibt, den nutzen halt viele 0:31:59.669,0:32:03.740 Leute, also, was heißt.. es gibt halt[br]irgendwie.. ich denke, jede zehnte App, 0:32:03.740,0:32:08.660 die irgendwie so AES einsetzt, wird so[br]irgendwie diesen.. als Nonce hier den 0:32:08.660,0:32:13.520 Zufallszahlengenerator von xkcd verwenden,[br]d.h. das ist alles schlimm, wenn man sich 0:32:13.520,0:32:15.990 mal das anschaut.[br]räuspert sich 0:32:15.990,0:32:20.660 Ja also, das ist halt strukturelles[br]Problem. Das andere sind da so 0:32:20.660,0:32:24.180 Bedienfehler, ja, Admins sind auch[br]teilweise mal schuld, nicht nur die 0:32:24.180,0:32:30.590 Programmierer, d.h. was man da oft macht,[br]ist jetzt hier restore ein Backup, und der 0:32:30.590,0:32:34.150 Nonce ist halt dann persistent geschrieben[br]worden irgendwo auf Platte, den letzten 0:32:34.150,0:32:38.040 Wert so, dann wird das wieder geladen, oder[br]wenn man klont, bei virtuellen Maschinen, 0:32:38.040,0:32:40.950 da kann auch mal was schief gehen bei[br]Nonces, dass mal eine Nonce öfters 0:32:40.950,0:32:44.470 aufkommt. Oder das andere ist, wenn ihr[br]jetzt zu wenig Entropie habt, dann zieht 0:32:44.470,0:32:48.810 man öfter mal die gleiche Nonce. Ja, das[br]ist irgendwie alles unlustig. Das 0:32:48.810,0:32:53.620 Problem.. also, das Gute der Nachricht[br]ist, das Problem wurde eigentlich 2006 0:32:53.620,0:32:58.740 schon gelöst, ja, von den Kryptographen.[br]Da gab es jetzt ein Paper, das rauskam, 0:32:58.740,0:33:03.780 das hat vorgestellt ein Verfahren, das ist[br]Misuse Resistant AE Schemes, heißen die, 0:33:03.780,0:33:09.250 und die bieten auch Sicherheit, wenn man[br]das mit einem Nonce vergeigt. Ja, genau. 0:33:09.250,0:33:12.449 Und das Coole ist, die haben beliebig..[br]unterstützen beliebig lange Nonces, 0:33:12.449,0:33:16.650 i.d.R., die Verfahren. D.h. wenn man da[br]Netzwerk-Pakete verschlüsselt, dann kann 0:33:16.650,0:33:21.620 man den Header als Nonce nehmen und den[br]Payload als Klartext. Wunderprima. Sollt 0:33:21.620,0:33:26.510 man mal machen. Und zwar überall. Das[br]Verfahren, wie gesagt, wurde jetzt 0:33:26.510,0:33:29.430 vorgestellt, da gibt's auch ein RFC für,[br]d.h. es gibt jetzt keinen Grund, das 0:33:29.430,0:33:34.450 irgendwie nicht zu implementieren als[br]Entwickler oder Netzwerk-Mensch. Und 0:33:34.450,0:33:38.179 genau, da gab es noch eine Schwäche, also[br]SIV ist eigentlich idiotensicher, d.h. man 0:33:38.179,0:33:41.120 kann auch ein Nonce wiederholen, aber es[br]ist halt nicht irgendwie 0:33:41.120,0:33:45.350 vollidiotensicher, deswegen habe ich da[br]noch 2016 an einem Verfahren gearbeitet, 0:33:45.350,0:33:50.870 das das Ganze noch verstärkt. Warum ist[br]SIV nicht idiotensicher? Ja, man muß ja 0:33:50.870,0:33:56.400 noch die kryptographische Prüfsumme[br]verifizieren. Und ja, und wenn man das 0:33:56.400,0:33:59.490 nicht hinkriegt, ja, wir erinnern uns,[br]hier Apple z.B. kriegt das auch nicht 0:33:59.490,0:34:03.420 immer hin, mit goto fail Bug, d.h. wenn[br]das Apple passiert, kann es eventuell auch 0:34:03.420,0:34:07.549 anderen Firmen passieren, haben wir uns da[br]gedacht. Und deswegen haben wir das 0:34:07.549,0:34:11.289 irgendwie so gebaut, dass selbst wenn man[br]jetzt irgendwie die Verifikation 0:34:11.289,0:34:15.710 versemmelt, dass dann irgendwie bei der..[br]genau, dass dann immer noch.. irgendwie 0:34:15.710,0:34:20.409 das irgendwie bemerkbar wird, indem man[br]als.. das so baut, das der Klartext, wenn 0:34:20.409,0:34:23.858 man den Chiffretext manipuliert, immer[br]weißes Rauschen ergibt. D.h. man hat immer 0:34:23.858,0:34:28.270 weißes Rauschen. Und dann war die Idee so,[br]eventuell fällt es bei.. wenn man den 0:34:28.270,0:34:33.918 Input validiert, dann auf, bei der Input-[br]Validierung, dass da irgendwie nur weißes 0:34:33.918,0:34:38.650 Rauschen ist, und dass es keine valide[br]Eingabe ist, oder die Software wirft 0:34:38.650,0:34:44.789 eine Exception oder stürzt ab oder so. Ja[br]genau. Wie das genau machen, überspringe 0:34:44.789,0:34:50.159 ich mal, aus Gründen der Zeit. Genau und[br]das Ding ist, hier tutwat! Benutzt diese 0:34:50.159,0:34:55.949 MRAE-Schemes. Die haben einen gravierenden[br]Nachteil: man muss zweimal komplett über 0:34:55.949,0:35:00.310 den Klartext gehen. D.h. das dauert halt[br]ein bisschen länger als andere Verfahren. 0:35:00.310,0:35:04.630 D.h. die sind nicht so super effizient.[br]Und jetzt kann es natürlich sein, dass man 0:35:04.630,0:35:09.860 jetzt irgendwie Echtzeitanforderungen hat,[br]die das nicht erlauben. Ja dann, was soll 0:35:09.860,0:35:14.390 ich tun, wenn das irgendwie technisch[br]nicht möglich, realisierbar ist? Ja, nicht 0:35:14.390,0:35:19.750 in Panik verfallen, auch da hab ich[br]irgendwie.. gibt es eine Lösung, da war 0:35:19.750,0:35:24.770 ich dabei, die mit zu entwickeln. Und die[br]Antwort hier ist Robuste AE-Schemes, die 0:35:24.770,0:35:29.200 hießen vorher mal 'Nonce Misuse Resistant[br]AE-Schemes', und wir haben das jetzt 0:35:29.200,0:35:33.900 umbenannt, nur noch Robust, weil es da[br]irgendwie ein bisl Konflikt gab, 0:35:33.900,0:35:40.330 Potenzial, in der Crypto-Szene. Und was[br]wir da gebaut haben, ja, 2012, war ein 0:35:40.330,0:35:44.590 Verfahren, McOE, da kann man jetzt[br]irgendwie, wenn man da jetzt irgendwie 0:35:44.590,0:35:48.820 Probleme hat mit den Nonces, eine Nonce[br]wiederholt, dann ist hier immer noch, die 0:35:48.820,0:35:52.640 Integrität immer noch gewährleist,[br]Integritätsschutz, und die Vertraulichkeit 0:35:52.640,0:35:56.890 bleibt auch noch irgendwie.. je nachdem,[br]wie schlimm man da Fehler macht, noch 0:35:56.890,0:36:00.140 teilweise erhalten, oder eventuell auch[br]ganz. Also was man auf jeden Fall erkennen 0:36:00.140,0:36:07.140 kann, wenn man Nonce wiederholt, dass zwei[br]Klartexte den gleichen Prefix haben. Das 0:36:07.140,0:36:10.700 konnten wir eben nicht wegkriegen, wenn[br]wir nur einmal über den Klartext gehen. 0:36:10.700,0:36:15.880 Genau. Das.. die Idee hat sich dann[br]irgendwie fortgepflanzt, d.h. da gab es 0:36:15.880,0:36:20.450 dann auch diesen CAESAR Competition, und[br]das R steht auch für Robust. Das.. genau. 0:36:20.450,0:36:24.080 Und die CAESAR Competition sucht halt[br]einen Nachfolger für GCM. Ja, das ist eine 0:36:24.080,0:36:27.800 Crypto Competition, auch von Dan[br]Bernstein, der hat die da angetriggert, 0:36:27.800,0:36:31.760 ist der Schirmherr. Und da haben jetzt[br]einen Nachfolger von McOE, auch, da hab 0:36:31.760,0:36:35.780 ich auch mit.. POET - da war ich auch[br]wieder mit dabei gewesen - ins Rennen 0:36:35.780,0:36:39.450 geschickt. Wir haben es in die zweite[br]Runde gepackt, leider nicht in die dritte, 0:36:39.450,0:36:42.830 weil wir waren wahrscheinlich ein bisl zu[br]super-schwergewichtig und auch nicht so 0:36:42.830,0:36:48.620 performant auf Hardware. Was noch im[br]Rennen ist, was ich empfehlen kann: COLM, 0:36:48.620,0:36:52.450 das ist ein Zusammenschluss aus AES-COPA[br]und ELmD. Das waren praktisch zwei 0:36:52.450,0:36:55.630 Zweirunden-Verfahren, die sind jetzt..[br]haben sich zusammengeschlossen, ist jetzt 0:36:55.630,0:36:59.760 noch Drittrunden-Kandidat, was es jetzt[br]noch gibt, was ich noch empfehlen kann, 0:36:59.760,0:37:05.200 beim CAESAR Competition, was man näher[br]anschauen kann, ist AEZ, AEZ ist ein MRAE- 0:37:05.200,0:37:11.490 Scheme, mit von Phil. Und genau, zumindest[br]hat der Phil mitgemacht, das sind die zwei 0:37:11.490,0:37:14.530 Kandidaten, die ich da noch empfehlen[br]kann. Genau und jetzt schauen wir uns mal 0:37:14.530,0:37:20.109 an, also alle die Verfahren, ja, sind[br]irgendwie beweisbar sicher. Und genau. Und 0:37:20.109,0:37:22.820 das heißt, da gibt es immer so einen[br]Sicherheitsbeweis. Und da gibt's immer.. 0:37:22.820,0:37:25.480 irgendwie da unten.. das schauen wir uns[br]mal man hier: also das ist jetzt so eine 0:37:25.480,0:37:29.630 Sicherheitsschranke, und wenn man einfach[br]sieht, hier hat man da.. ist das eine 0:37:29.630,0:37:34.400 Birthday Security-Bound. Also die haben[br]alle so komische Bounds. Ja und da gibt es 0:37:34.400,0:37:39.130 jetzt so drei Parameter: q, l und t. q ist[br]die Anzahl Nachrichten, die man damit 0:37:39.130,0:37:42.732 verschlüsselt, l sind die Anzahl Blöcke,[br]die man insgesamt verschlüsselt und t ist 0:37:42.732,0:37:48.160 die Zeit. Und was hier steht ist, ihr[br]könnt ungefähr so 100 Terabyte unter einem 0:37:48.160,0:37:51.110 Schlüssel verschlüsseln, ein paar hundert[br]Terabyte, und dann sollt ihr den Schlüssel 0:37:51.110,0:37:55.500 wechseln. Genau. Und natürlich ist es nur[br]sicher, wenn auch AES sicher ist, wer 0:37:55.500,0:37:59.150 hätte es gedacht, weil das Ding nutzt ja[br]irgendwie AES. Und ja genau. Also und die 0:37:59.150,0:38:03.099 Idee ist auch irgendwie bei POET, das ist[br]immer so'n.. also das ist halt super 0:38:03.099,0:38:07.490 strong, ja so das Superheavyweight, weil[br]wir machen hier die erste lane, obere 0:38:07.490,0:38:12.160 lane, ist einfach nur eine Prüfsumme über[br]den Klartext, die untere lane ist eine 0:38:12.160,0:38:17.799 Prüfsumme über den Chiffretext und in der[br]Mitte drin ist die Verschlüsselung. Genau, 0:38:17.799,0:38:22.190 d.h. die kryptographische Prüfsumme ist ja[br]ziemlich, irgendwie.. wenn Klartext und 0:38:22.190,0:38:26.060 Chiffretext.. und das zweite coole Ding,[br]ja, wenn ich hier jetzt z.B. was 0:38:26.060,0:38:33.380 manipuliere bei C 2, dann kommt ab M 2[br]weißes Rauschen raus. D.h. da kann ich 0:38:33.380,0:38:37.210 auch wieder.. da ist auch wieder die Idee,[br]wenn man jetzt die Verifikation jetzt 0:38:37.210,0:38:41.210 nicht richtig macht, dass man da viel[br]weißes Rauschen hat und dass damit 0:38:41.210,0:38:45.040 irgendwie vielleicht auffallen könnte bei[br]der Eingabe-Validierung. D.h. da ist jetzt 0:38:45.040,0:38:48.220 auch noch irgendwie so ein bisschen Schutz[br]drin, das, wenn man die Verifikation nicht 0:38:48.220,0:38:52.070 richtig hinbekommt. Also if-Abfrage ist[br]nicht immer ganz einfach zu 0:38:52.070,0:38:55.930 implementieren. Genau, jetzt bin ich auch[br]schon so gut wie durch. Das ist gleich 0:38:55.930,0:38:58.290 geschafft, dann darf wieder Ruedi.[br]lacht 0:38:58.290,0:39:01.670 Und genau, also was ich mit.. das, was ihr[br]tun sollt: niemals nicht eine Nonce 0:39:01.670,0:39:04.390 wiederholen! Das ist eine mittlere[br]Katastrophe, das ist also, das ist 0:39:04.390,0:39:09.880 praktisch so ein Unfall. Das ist[br]irgendwie.. genau. Also, und jetzt die 0:39:09.880,0:39:13.450 Frage, so, sei wie soll ich meine Daten[br]verschlüsseln? Da gibt es jetzt wie 0:39:13.450,0:39:20.200 gesagt, mal schauen, also da gibt es jetzt[br]4 Kategorien: die erste ist die stärkste, 0:39:20.200,0:39:23.590 die vierte ist die schwächste, und man[br]sollte schauen, dass man jetzt irgendwie 0:39:23.590,0:39:27.150 schaut, kann ich ein Verfahren aus der[br]Kategorie 1 nehmen? Lässt das mein .. 0:39:27.150,0:39:30.330 irgendwie, mein Umfeld zu, meine[br]Anforderungen? Wenn nicht, dann 2, wenn 0:39:30.330,0:39:34.160 nicht 3 und ansonsten 4. D.h. eine[br]klassische Verschlüsselung, die wir so 0:39:34.160,0:39:37.720 kennen, ist so halt ziemlich das[br]schwächste - schlechteste - was man tun 0:39:37.720,0:39:41.550 kann. D.h. wir müssen jetzt irgendwie[br]schauen, dass wir mal da besser werden und 0:39:41.550,0:39:46.310 mal so auf 1 und 2 kommen und nicht nur[br]bei 3 und 4 rumdümpeln hier. Damit die 0:39:46.310,0:39:49.200 Verahren auch robuster und stärker werden[br]in Zukunft. 0:39:49.200,0:39:53.620 ruedi: OK, vielen Dank, ah, dein Zitat[br]noch! lacht 0:39:53.620,0:39:56.660 cforler: Ah, ich hab noch eins, ja, genau[br]- also, allerwichtigste Botschaft für 0:39:56.660,0:40:00.930 heute ist: Redet verdammt noch mal mit[br]Kryptographen, ja! Also, ihr macht ja 0:40:00.930,0:40:04.430 einen Haufen cooler Software und die fällt[br]dann auseinander, weil man nie mit uns 0:40:04.430,0:40:07.240 geredet hat.[br]lacht 0:40:07.240,0:40:11.960 Also wir sind irgendwie beide.. unsere[br]E-Mail-Adresse, unsere Telefonnummer sind 0:40:11.960,0:40:18.150 irgendwie im Internet, stehen die, und da[br]kann man uns mal sprechen und, ja. 0:40:18.150,0:40:24.510 lacht[br]Applaus 0:40:24.510,0:40:27.910 und genau, also man kann irgendwann mal[br]nach Berlin kommen und mit uns reden. Bei 0:40:27.910,0:40:30.590 einem Käffchen.[br]ruedi: Ja, noch mal also vielen Dank. Ich 0:40:30.590,0:40:35.190 möchte das auch noch einmal ein bisl[br]aufgreifen, also damit es noch mal ganz 0:40:35.190,0:40:40.560 klar ist, dass das jetzt wirklich ein[br]praxisrelevantes Problem ist. Also wenn 0:40:40.560,0:40:43.040 ich mich nicht täusche, also das ändert[br]sich, aber als ich das letzte Mal 0:40:43.040,0:40:47.890 reingeguckt hab, war wirklich in TLS die[br]Überlegung: Wir sind clever, wir benutzen 0:40:47.890,0:40:52.680 keine Verfahren, wo nicht[br]Authentifizierung mit eingebaut ist und 0:40:52.680,0:40:59.880 wir verwenden zwangsweise das GCM, also[br]Galois/Counter Mode. Das ist auch supi, 0:40:59.880,0:41:03.490 bis auf die Tatsache, wenn ein Nonce[br]wiederholt wird, ist das katastrophal 0:41:03.490,0:41:08.000 schwächer als alle katastrophal.. alle[br]Fehler, die man auf der unteren Ebene 0:41:08.000,0:41:13.530 machen kann. Also Kryptographie ist[br]relativ schwer. Aber noch einmal der Apell 0:41:13.530,0:41:18.200 von Christian wirklich deutlich[br]wiederholt: die Crypto-Gemeinde hat einen 0:41:18.200,0:41:23.720 starken wissenschaftlichen Teil, die auch[br]offen publizieren und so weiter. Also 0:41:23.720,0:41:27.960 insofern noch einmal da der Hinweis: da[br]mal rein zu gucken, was da ist, ist 0:41:27.960,0:41:33.170 wirklich eine gute Idee. Und nochmal[br]wirklich an dieses: redet mit 0:41:33.170,0:41:36.730 Kryptographen, mal anbuzzen.. kommt jetzt[br]der Grund, warum hier so voll ist: weil 0:41:36.730,0:41:41.160 wir noch was mit Blockchain machen wollen[br]in diesen nächsten Folien. Auch da möchte 0:41:41.160,0:41:47.690 ich an ein paar Stellen sagen: Ein[br]bisschen reden mit Kryptographen wäre ganz 0:41:47.690,0:41:51.730 angenehm gewesen. Also wir arbeiten da[br]auch an verschiedenen virtuellen 0:41:51.730,0:41:56.570 Kooperationspartnern, also wir möchten da[br]auch besser werden in Richtung verteilter 0:41:56.570,0:42:02.090 Echtzeit, aber da arbeiten wir schon[br]lacht intensiv daran. Also wer da noch 0:42:02.090,0:42:05.260 weitere Tips hat, was es da noch für[br]Forschungseinrichtungen gibt, der kann 0:42:05.260,0:42:12.500 sich auch bei uns freundlich melden. So,[br]mal ein paar Worte zu Bitcoin. Ich hab's 0:42:12.500,0:42:15.720 mal schon vor Jahren hier gemacht, ich[br]hätte damals vielleicht Bitcoin kaufen 0:42:15.720,0:42:19.410 sollen, anstatt das zu.. sicherheits zu[br]evaluieren. - Nein, hätte ich nicht - soll 0:42:19.410,0:42:23.360 man nicht machen, ich bin da altmodischer[br]Professor. Ich bin der Meinung - wenn da 0:42:23.360,0:42:29.900 von.. also, von führenden kapitalistischen[br]Zeitungen gefragt wird, wie sicher das ist 0:42:29.900,0:42:34.640 - dann solltest du nicht irgendwelche[br]Aktien drin haben, um da zu antworten. Ich 0:42:34.640,0:42:42.190 will es mal so sagen: die Kryptographie in[br]Bitcoin wäre eine befriedigende 0:42:42.190,0:42:47.450 Bachelorarbeit. Das sind schon.. und das[br]reicht eigentlich. Die Crypto ist so 0:42:47.450,0:42:51.790 stark, dass eine befriedigende[br]Bachelorarbeit völlig dazu führt, dass die 0:42:51.790,0:42:56.960 Probleme woanders zu sagen sind. Es ist[br]vorsichtige Amateur-Kryptographie. Doppelt 0:42:56.960,0:43:01.280 hält besser, die hashen zweimal[br]hintereinander, aber wie gesagt, meine 0:43:01.280,0:43:06.160 Erweiterung, nach dem ersten Hash ein Bit[br]umzurempeln und dann weiter zu hashen 0:43:06.160,0:43:10.369 würde bedeuten, dass z.B. die[br]Kollisionseigenschaften sich nicht einfach 0:43:10.369,0:43:14.470 weiter vererben. Also diese zweimal Hash[br]hintereinander bringen z.B. gegen 0:43:14.470,0:43:18.270 Kollision nicht allzu viel, wenn sie nach[br]dem ersten Hash ein Bit gerempelt hätten, 0:43:18.270,0:43:22.049 weiter gehasht, hätten sie eine deutlich[br]bessere.. bessere Eigenschaften gehabt. 0:43:22.049,0:43:27.589 Also so ist jetzt das Doppelhash[br]ziemlich.. nicht besonders relevant. Also 0:43:27.589,0:43:31.971 jedenfalls, wenn man starke Sachen macht.[br]Was relativ cool ist, ist dass die die 0:43:31.971,0:43:36.810 Public Keys nicht veröffentlichen, sondern[br]halt hier auch eine zweimal gehashte 0:43:36.810,0:43:41.080 Kontonummer. Und da sieht man, dass die[br]möglicherweise doch ein paar Hacker- 0:43:41.080,0:43:45.280 Konferenzen gehört haben und gewusst[br]haben, sie sind nicht so fit in Crypto: 0:43:45.280,0:43:49.780 "Machen wir es lieber mal ein bisschen[br]robuster", und so weiter. Insofern ist das 0:43:49.780,0:43:56.380 eigentlich relativ erfreulich, aber wenn[br]die jungen Leute mit.. oder alten Leute, 0:43:56.380,0:44:00.220 oder was immer für Leute, mal mit[br]Kryptographen geredet hätten, hätten wir 0:44:00.220,0:44:06.540 ganz interessante Implikationen gehabt. Es[br]ist ganz lustig, der Bitcoin-Hauptautor 0:44:06.540,0:44:11.849 hat gesagt: "Oh ja, jetzt hashen die, alle[br]Leute, mit Spezialhardware, und unser 0:44:11.849,0:44:16.760 demokratischer Ansatz 'jeder PC hat eine[br]Stimme und alles verteilt' geht den Bach 0:44:16.760,0:44:20.530 runter. Wir sollten ein Gentlemen's[br]Agreement machen, dass nur auf CPUs 0:44:20.530,0:44:22.530 gemined wird."[br]Lachen 0:44:22.530,0:44:25.950 ruedi seufzt[br]Ach, ist das schön, junge Leute! Dann.. 0:44:25.950,0:44:27.320 ich mache einen..[br]lacht 0:44:27.320,0:44:31.240 ein Konzept von kryptogra.. äh, von[br]kapitalistischen Anarchisten, die 0:44:31.240,0:44:35.170 irgendwie alles so designen, dass keine[br]zentrale Stelle ist, und will mit diesen 0:44:35.170,0:44:40.740 verteilten Anarcho-Kapitalisten weltweit[br]Gentlemen's Agreements zu machen. Ohne der 0:44:40.740,0:44:43.020 Geschichte vorzugreifen: es ist nur[br]beschränkt gelungen. 0:44:43.020,0:44:49.000 Lachen[br]Wobei das wirkt alles lustig, da, wenn 0:44:49.000,0:44:52.550 schlecht bezahlte Berliner Professoren hier[br]rum[unverständlich] und gute Witze darüber 0:44:52.550,0:44:56.360 machen, das Problem ist, wenn man hier[br]Fehler macht, dann hat das auf einmal 0:44:56.360,0:45:02.250 Auswirkungen, dass irgendwie eine große[br]Menge an Energie völlig sinnlos verheizt 0:45:02.250,0:45:04.971 wird. Und da muss ich auch sagen, am[br]Anfang habe ich gesagt, oh, Leute kommt 0:45:04.971,0:45:09.160 runter, es ist EIN Kraftwerk - was mir[br]dann erst irgendwann mal siedend heiß 0:45:09.160,0:45:14.210 eingefallen.. ne, mit Erhöhung der[br]Hashing-Komplexität tut praktisch linear 0:45:14.210,0:45:19.450 auch der Stromverbrauch irgendwie steigen.[br]Also es ist jetzt schon auf dem Weg, eine 0:45:19.450,0:45:24.640 deutliche Umwelt-Sauerei zu werden und wir[br]Krypto-Hippies könnten natürlich sagen: 0:45:24.640,0:45:29.170 "Können wir wenigstens nur mit Wasserkraft[br]minen?" usw, aber unser Einfluss auf 0:45:29.170,0:45:35.890 verteilte krypto- und kapitalistischen[br]Anarchisten ist relativ überschaubar. Also 0:45:35.890,0:45:42.560 insofern ist es wirklich kein Witz, dass[br]einige Sachen, die wir haben.. wirklich es 0:45:42.560,0:45:47.050 hilfreich gewesen wäre, wenn die mit[br]Kryptographen geredet hätten. Und hier 0:45:47.050,0:45:50.550 haben wir auch ein Bild, was ich mal[br]einfach mal vorstellen wollte: Dieses 0:45:50.550,0:45:56.590 Proof of Work demokratisch zu halten, das[br]ist sehr verwandt mit der Frage Passwort- 0:45:56.590,0:46:00.260 Hashing. Also Passwort-Hashing ist die[br]Idee, aus dem gehashten Passwort soll es 0:46:00.260,0:46:05.200 sehr schmerzhaft, sehr arbeitsspeicher-[br]intensiv sein, das Passwort wieder zurück 0:46:05.200,0:46:10.240 rechnen. Also klassischer Proof of Work.[br]Dass ihr seht, dass das nicht ganz aus der 0:46:10.240,0:46:17.400 Welt ist: scrypt wird z.B. in Lite..[br]Moment, Litecoin? Litecoin verwendet, das 0:46:17.400,0:46:23.010 ist auch eine der größeren Sachen, und die[br]haben scrypt verwendet. Die haben aber 0:46:23.010,0:46:26.940 auch nicht mit Kryptographen geredet, wie[br]man die Parameter da vernünftig fährt mit 0:46:26.940,0:46:30.640 dem Ergebnis, dass jetzt mit ein bisschen[br]Verspätung da auch ASICs kommen und 0:46:30.640,0:46:36.660 dieselbe Problematik, die wir bei Bitcoin[br]haben, haben wir dort genauso. Auch hier 0:46:36.660,0:46:39.280 kriege ich manchmal bisschen die Krise,[br]und ich sage, wir hätten das alles 0:46:39.280,0:46:43.080 demokratisch regeln können, wenn ihr mit[br]uns geredet hättet. Wir hätten euch 0:46:43.080,0:46:46.860 umfangreiche Änderungen gesagt, nämlich[br]genau eine Zahl geändert, einen Parameter 0:46:46.860,0:46:51.150 geändert. Dann wäre die ganze Sache auf[br]einmal eine demokratische Veranstaltung 0:46:51.150,0:46:55.500 gewesen und nicht so, dass jetzt irgendwie[br]sinnlos Sachen verbrannt werden und 0:46:55.500,0:46:59.030 irgendwelche.. nur noch Fabriken[br]mitspielen dürfen. Das ist manchmal selbst 0:46:59.030,0:47:02.830 für Hacker und Mathematiker, die wissen,[br]dass Zahlen eine gewisse Magie hat, 0:47:02.830,0:47:09.610 relativ gruselig. Also hier einen scrypt-[br]Parameter richtig einzustellen, wär eine 0:47:09.610,0:47:15.750 gute Idee. Dann gibt es noch Passwort-[br]Hashingverfahren.. äh, -Wettbewerbe, da 0:47:15.750,0:47:19.280 ist Argon2i, ne, war nicht - 2d![br]unverständlicher Kommentar aus dem Off 0:47:19.280,0:47:21.750 Du hast den Tippfehler wieder reingemacht,[br]lacht 0:47:21.750,0:47:25.630 den du vorhin korrigiert hast![br]cforler: Ja, ja, wieder hinten integriert. 0:47:25.630,0:47:28.620 ruedi: Ä-ä-ä, das ist immer...[br]cforler: Problem mit der Versionierung, ja. 0:47:28.620,0:47:31.390 ruedi: Das ist "d"![br]cforler: Das muß "d" sein. 0:47:31.390,0:47:34.349 ruedi: Naja, aber Catena-Stonefly, da hat[br]er ja sich auch als Hauptautor 0:47:34.349,0:47:39.050 rausgemogelt, also Christian ist der Autor[br]des ganzen Frameworks. 0:47:39.050,0:47:41.809 cforler: Mitautor, Co-Autor.[br]ruedi: Co-Autor, ach so. 0:47:41.809,0:47:45.240 cforler: Das hab ich zusammen mit Stefan[br]Lucks und Jakob Wenzel gemacht. 0:47:45.240,0:47:49.730 ruedi: Und das Catena-Stonefly ist eine[br]Implementierung, die ganz besonders diese 0:47:49.730,0:47:56.231 Sachen adressiert, und - ne, haben wir die[br]nicht - also, so sieht das aus, also ihr 0:47:56.231,0:48:02.200 seht, das ist ein bisschen was. Aber wenn[br]man irgendwie große Geschichten jetzt 0:48:02.200,0:48:06.349 erwartet, ist es relativ überschaubar.[br]Also das sind relativ naheliegende 0:48:06.349,0:48:10.470 Funktionen und das schöne ist halt an den[br]Arbeiten von Forler et al., 0:48:10.470,0:48:13.930 lacht[br]dass da also sehr brutale Sicherheits.. 0:48:13.930,0:48:17.960 also sehr ordentliche mathematische[br]Sicherheitsschranken da ist. Also nochmal, 0:48:17.960,0:48:21.560 man könnte scrypt nehmen mit ein bisschen[br]cleveren Parametern, oder man könnte das 0:48:21.560,0:48:26.030 andere Passwort-Hashing machen und dann[br]hätte man mathematisch beweisbar, dass die 0:48:26.030,0:48:30.550 Leute nicht das auf Spezialhardware[br]relativ einfach machen können. Also 0:48:30.550,0:48:34.360 nochmal diese Sache, die wir mehrfach[br]gesagt.. redet mit Kryptographen. Noch 0:48:34.360,0:48:39.420 einmal, eine Zahl in diesen bitcoinartigen[br]Sachen richtig gesetzt, hätten wir es 0:48:39.420,0:48:44.400 weiterhin demokratisch. Nicht mit[br]Kryptographen geredet, gesagt: "OK, wir 0:48:44.400,0:48:47.700 machen Gentlemen's Agreement" bedeutet[br]halt, dass irgendwie im Moment eine 0:48:47.700,0:48:52.410 obszöne Menge an Energie einfach fürs[br]Mining verbrannt wird, und zwar völlig 0:48:52.410,0:48:55.990 nutzlos. Entschuldigung, ich stehe[br]eigentlich auf Hashfunktionen, aber 0:48:55.990,0:48:59.260 irgendwie sinnlos irgendwie da vor sich[br]hin zu hashen und alles wegzuschmeißen, 0:48:59.260,0:49:04.040 das kann nicht so die pfiffige Idee sein.[br]Wenn man Proof of Work ist, noch einmal, 0:49:04.040,0:49:08.480 hier wäre es hilfreich gewesen, entweder[br]also mit Kryptographen zu reden oder 0:49:08.480,0:49:17.030 zumindestens mal die Damen und Herren von[br]Litecoin: Da mal überlegen, dass man die 0:49:17.030,0:49:21.160 Parameter vielleicht ein bisschen[br]ordentlich setzen könnte. Gut, ich bin der 0:49:21.160,0:49:27.750 Meinung, dass wir wegkommen müssen von dem[br]sinnlosen Heizen und deswegen werd ich in 0:49:27.750,0:49:31.190 den nächsten Monaten auch mit einem[br]Doktoranden zusammen mal ein bisschen 0:49:31.190,0:49:37.510 arbeiten, Proof of Work nützlich zu[br]machen. Da sind schon Ideen da, die im 0:49:37.510,0:49:42.460 Bereich Storage sind, da ist Filecoin z.B.[br]ein Kandidat, der ähnliche Sachen macht. 0:49:42.460,0:49:46.829 Oder Network Services: ich habe durchaus[br]die Überlegung dass es vielleicht sinnvoll 0:49:46.829,0:49:52.750 ist, bei der Anonymisierung des[br]Webtraffics nicht auf das Tor-Projekt zu 0:49:52.750,0:49:55.030 vertrauen, dass seine Hauptfinanzierung[br]vom amerikanischen 0:49:55.030,0:50:00.940 Verteidigungsministerium hat. Also ich[br]hätte ganz gerne eine Konstruktion, wo 0:50:00.940,0:50:06.240 Router Netzwerk-Service, Tor-artige[br]Services anbieten und damit praktisch auch 0:50:06.240,0:50:10.600 nebenher minen. Also dass praktisch Geräte[br]sich selbst finanzieren und wenn man 0:50:10.600,0:50:14.150 irgendwie halt mal ein bisschen träumt,[br]dann kann man halt sagen, man entwickelt 0:50:14.150,0:50:18.040 einen Router, den stellt man in der[br]dritten Welt in die Sonne, solange Sonne 0:50:18.040,0:50:24.120 ist, tut der Energie machen und Services[br]machen und wenn die Sonne weg ist, holt er 0:50:24.120,0:50:28.160 den Strom, aber bezahlt das mit der[br]Arbeit, die er gemacht hat. Also dieser 0:50:28.160,0:50:32.980 Traum eines wirklich ganz autonomen[br]Systems, das möchte ich noch auferhalten, 0:50:32.980,0:50:37.339 vielleicht einen Schritt zurück, ich hab[br]einfach keine Lust, dass irgendwie Mining 0:50:37.339,0:50:45.609 - also wirklich 2^17 oder 2^73 Operationen[br]- immer in sinnlose Umsetzung von Strom, 0:50:45.609,0:50:49.060 in Wärme, gemacht werden. Also vielleicht[br]gibts.. 0:50:49.060,0:50:51.185 Applaus[br]Ja, Dankeschön. 0:50:51.185,0:50:56.770 Applaus[br] 0:50:56.770,0:50:59.100 Applaus[br]Und um es noch einmal zu wiederholen, den 0:50:59.100,0:51:03.940 ganzen Mist hätte man.. also diese Sachen[br]sind anspruchsvoll und da sind sehr viele 0:51:03.940,0:51:07.711 Fragen zu klären, deswegen ist es eine[br]schöne Promotion und ich bin da ein 0:51:07.711,0:51:11.220 altmodischer Professor, wenn es irgendwie[br]die Welt nicht revolutioniert, 'ne gute 0:51:11.220,0:51:14.630 Promotionsthema ist es auf jeden Fall.[br]Lachen 0:51:14.630,0:51:18.220 Insofern passiert die Revolution im Rahmen[br]meiner dienstlichen Aufgaben, was 0:51:18.220,0:51:22.410 irgendwie von Professoren in meinem Alter[br]immer eine ganz angenehme Perspektive auch 0:51:22.410,0:51:26.829 ist. Aber um es noch einmal zu betonen,[br]wenn die Damen und Herren, die das gemacht 0:51:26.829,0:51:30.390 hätten, wirklich das Passwort-Hashing[br]angeguckt hätten, wenn diese Litecoin- 0:51:30.390,0:51:35.180 Leute die Parameter richtig gemacht[br]hätten, also nochmal: Macht euch die Kraft 0:51:35.180,0:51:38.990 von euch Programmierern und Mathematikern,[br]und ne, sogar von euch Programmierern, 0:51:38.990,0:51:42.730 lest die Mathematik, die wir euch[br]präsentieren, setzt die Zahl richtig und 0:51:42.730,0:51:46.430 ihr habt eine bessere Welt dadurch.[br]Zumindestens, sagen wir mal, in dieser 0:51:46.430,0:51:51.190 virtuellen Welt, warte mal ab mit den[br]Auswirkungen. Aber noch einmal, ich sage, 0:51:51.190,0:51:56.880 also erstens möchte ich einen wirklichen[br]Proof of nützlicher, gesellschaftlich 0:51:56.880,0:52:01.640 nützlicher Arbeit. Zweitens, wenn ich[br]dieses alte Proof of Work mach, das hätten 0:52:01.640,0:52:05.609 wir weiterhin demokratisch gehalten, wenn[br]die Leute dieses Passwort-Hashing gemacht 0:52:05.609,0:52:09.960 hätten. Entweder das scrypt oder halt,[br]sagen wir mal, die Sachen mit richtig hart 0:52:09.960,0:52:14.140 brutalen Sicherheitsbeweisen, die[br]Christian da unter anderem entwickelt hat. 0:52:14.140,0:52:19.540 Kommen wir noch mal zum Ende. 'Wir sollten[br]was tun' ist irgendwie das Ding, und ich 0:52:19.540,0:52:23.940 habe ja damals gesagt, Krypto-Magie ist,[br]dass man auf einer kleinen, 0:52:23.940,0:52:28.650 fingernagelgroßen Fläche, oder mit ein[br]paar Programmierzeilen, Code erzeugen 0:52:28.650,0:52:32.400 kann, den die Geheimdienste nicht brechen[br]können. Das hat schon ein bisschen was 0:52:32.400,0:52:37.329 magisches, die.. problematisch ist, wenn[br]man halt nicht reingucken kann und die 0:52:37.329,0:52:42.430 Leute das halt schlecht implementieren,[br]wie das jetzt bei Infineon in Zusammenhang 0:52:42.430,0:52:47.910 mit den TPM-Chips passiert hat. - Oh, da[br]haben wir eine Folie, die muss ich, glaube 0:52:47.910,0:52:55.079 ich, nachhalten. - Also bei den TPM-Chips,[br]Infenion war einer der Hauptkandidaten, 0:52:55.079,0:52:59.230 und da ist es einfach so, das ist zwar[br]vom BSI zertifiziert worden, aber 0:52:59.230,0:53:02.510 offensichtlich reicht das nicht aus. Wenn[br]das Open Source gewesen wäre, wenn man da 0:53:02.510,0:53:06.430 reingucken könnte, dann hätte ein[br]talentierter Doktorand wirklich nur wenige 0:53:06.430,0:53:10.470 Stunden gebraucht, um aufzuschreien und[br]den Fehler zu finden. Also wir brauchen 0:53:10.470,0:53:16.720 wirklich auf der untersten Ebene Open[br]Source ganz dringend. Wir brauchen freie 0:53:16.720,0:53:20.040 Software, die verhindert Hintertüren und[br]ermöglicht das Finden der Fehler. Noch mal 0:53:20.040,0:53:25.680 zusammenzufassen: das BSI ist gutmütig,[br]sie haben auch sehr gute Kryptographen, 0:53:25.680,0:53:29.840 aber sie haben es nicht gefunden. Und BSI[br]ist noch eine der staatlichen 0:53:29.840,0:53:34.339 Organisationen, die ich noch am ehesten[br]vertraue, sie haben es da episch gefailed. 0:53:34.339,0:53:38.849 Nochmal zur Erinnerung, diese Infineon-[br]Chips stecken in den ganzen Google 0:53:38.849,0:53:43.400 Chromebooks an, wo in Amerika wirklich[br]eine ganze Generation von Schülern mit 0:53:43.400,0:53:48.829 rumspringt: die haben's vermasselt. Also[br]offensichtlich klappt es nur, wenn es 0:53:48.829,0:53:54.280 öffentlich ist und da darf ich noch mal[br]auf meine geschätzten Kolleginnen und 0:53:54.280,0:54:02.360 Kollegen Bernstein, Lange und Nadja ...[br]äh, Namen vergessen? 0:54:02.360,0:54:05.360 cforler: Tanja?[br]ruedi: Heninger. Heninger, Entschuldigung. 0:54:05.360,0:54:11.599 Nadja Heninger. In dem Vortrag war einer der[br]Highlights, wo sie gezeigt haben: Ha! Da 0:54:11.599,0:54:15.599 sind die Ergeb.. da sind die Submissions,[br]Veröffentlichungen für diese Post-Quantum 0:54:15.599,0:54:19.680 Sache und innerhalb des ersten Abends, die[br]haben sich wirklich einen Spaß gemacht, 0:54:19.680,0:54:25.220 und haben irgendwie 10 % von den Sachen[br]innerhalb von drei Stunden zertrümmert. 0:54:25.220,0:54:28.880 Nehmen wir einfach mal zur Kenntnis, die[br]öffentliche Kryptographie ist so viel 0:54:28.880,0:54:34.510 besser als Kryptographie hinter[br]verschlossenen Türen. Dass das wirklich 0:54:34.510,0:54:38.609 hier ein Punkt ist: es ist nix[br]ideologisches, aber der Code muss lesbar 0:54:38.609,0:54:43.150 sein. Das ist vernünftigerweise unter[br]Open-Source-Lizenz, aber er muss lesbar 0:54:43.150,0:54:47.000 sein, die Community muss da reingucken.[br]Keine Behörde ist offensichtlich dazu in 0:54:47.000,0:54:52.079 der Lage, das in irgendeiner Weise[br]ordentlich zu machen. Der letzte Teil wird 0:54:52.079,0:54:59.560 nicht bei 'tuwat!' - Dankeschön.[br]Applaus 0:54:59.560,0:55:02.950 Der letzte Teil von 'tuwat!'[br]ist auch ein bisschen launisch, das habe 0:55:02.950,0:55:08.190 ich mir erlaubt, aber da irgendwie die[br]Mathematik scheinbar so abschreckend ist, 0:55:08.190,0:55:13.119 dass es kaum jemand programmiert, gehen[br]jetzt immer mehr Mathematiker dazu über, 0:55:13.119,0:55:16.720 brandneue Protokolle direkt zu[br]implementieren. Als Erstes muss ich 0:55:16.720,0:55:21.510 sehr.. als sehr positives Beispiel den[br]Herrn Kollegen Heiko Stamer erwähnen, der 0:55:21.510,0:55:26.140 hat auch am Datengarten einen sehr schönen[br]Vortrag gemacht, da ging es um verteilte 0:55:26.140,0:55:28.960 Schlüsselerzeugung und[br]Schwellenwertkryptographie. Da sind so 0:55:28.960,0:55:33.070 Sachen, wie wenn man sagt, in einer Welt,[br]wo man wenig Leuten vertrauen kann, ist es 0:55:33.070,0:55:37.190 gut kryptographische Verfahren haben, wo[br]man mathematische Beschreibung hat, des 0:55:37.190,0:55:40.790 Vertrauens. Also muss man einem aus einer[br]Gruppe vertrauen, zwei aus einer Gruppe.. 0:55:40.790,0:55:43.770 das können wir alles mit[br]Schwellenwertkryptographie ganz gut 0:55:43.770,0:55:50.010 machen. Wie gesagt, das sind ganz aktuelle[br]Implementierungen von 2017, die Arbeiten 0:55:50.010,0:55:56.120 vorher sind auch relativ neu, die sind von[br]1987. 0:55:56.120,0:56:00.013 Kichern[br]Ja, ihr könnt ruhig lachen, das ist ein 0:56:00.013,0:56:04.410 Weilchen her, aber ihr könnt auch auf[br]diese Folie warten, weil diese Sachen - 0:56:04.410,0:56:09.089 oh, das ist jetzt auch rausgeflogen -[br]Blind Signature, wo ich also mit einem 0:56:09.089,0:56:14.470 Masterstudenten von mir ein bisl was[br]entwickelt hab, 2016, auch auf der Open 0:56:14.470,0:56:19.569 TechSummit vorgestanden hab, basiert auf[br]Blind Signature von David Chaum und die 0:56:19.569,0:56:24.750 sind von 1983. Und wir haben uns auch nur[br]soviel Zeit gemacht, weil jetzt die 0:56:24.750,0:56:28.010 Patente endlich abgelaufen sind.[br]Lachen 0:56:28.010,0:56:33.270 Spaß beiseite. Nicht alles, was wir hier[br]machen.. also, elliptische Kurven ist 0:56:33.270,0:56:39.109 schon relativ harte Mathematik. Auch die[br]Schwellwertkryptographie ist durchaus 0:56:39.109,0:56:42.450 harte Mathematik. Ich will das gar nicht[br]so sagen: "Also guckt es einfach an, dann 0:56:42.450,0:56:47.360 ist es lösbar". Aber es gibt einen ganzen[br]Kanon voll Sachen, wo es wirklich eine 0:56:47.360,0:56:51.710 kurze Frage an Kryptographen benötigt, um[br]dann den richtigen Tipp in die richtige 0:56:51.710,0:56:56.900 Richtung zu machen. Auch diese Sache, dass[br]wir halt programmieren, das war jetzt ein 0:56:56.900,0:57:02.760 bisschen arg schnippisch gesagt also: "Wir[br]tun idiotensichere Krypto entwickeln". 0:57:02.760,0:57:06.880 Idiotensicher ist ein relativer Begriff.[br]Ein armes, eingebettetes Gerät ohne 0:57:06.880,0:57:13.650 externe.. ohne interne Zufallsquelle hat[br]halt keine gute Zufallsquelle. Also 0:57:13.650,0:57:19.220 insofern noch einmal, also wir arbeiten[br]wirklich an einem System, möglichst robust 0:57:19.220,0:57:22.690 zu sein, in anderen Worten. Eine[br]Nachricht, die hier noch einmal vielleicht 0:57:22.690,0:57:28.069 an die Standardisierung geht, ist wirklich[br]der Punkt, zu sagen, GCM ist 0:57:28.069,0:57:32.980 offensichtlich für einige Probleme, also[br]wenn diese Leute richtige Nonces machen - 0:57:32.980,0:57:37.359 wunderbar, supi. Aber willkommen in der[br]realen Welt: Angreifer können dann 0:57:37.359,0:57:42.180 irgendwie anfangen, eben Nonces zu rempeln[br]und dann auf einmal die Sicherheit und die 0:57:42.180,0:57:47.660 Integrität des ganzen Systems nachhaltig[br]gefährden. Insofern ist das, glaube ich, 0:57:47.660,0:57:53.690 keine gute Idee, das als einzige Sache zu[br]machen. Enden wir mit den guten Worten von 0:57:53.690,0:58:00.870 Edward Snowden: "Krypto ist keine dunkle,[br]alte Kunst, sondern es ist wirklich eine 0:58:00.870,0:58:06.800 basic Protection, eine grundlegende..[br]Schutz da, wir müssen implementieren und 0:58:06.800,0:58:11.450 aktiv daran forschen". Und noch einmal, um[br]zusammenzufassen, zu sagen, auch nach 0:58:11.450,0:58:16.589 vielen Jahren Snowden muss ich sagen,[br]Kryptographie ist das, was uns vor der 0:58:16.589,0:58:22.320 Barbarei der Geheimdienste schützt. Die[br]Politik hat da auch in den letzten Jahren 0:58:22.320,0:58:26.500 nicht unbedingt sehr gute Ergebnisse[br]gezeigt. Insofern, vielen Dank für eure 0:58:26.500,0:58:31.830 Aufmerksamkeit.[br]Applaus 0:58:31.830,0:58:36.779 cforler: Just in time![br]ruedi (zu cforler): Oh, da fehlten 1,2 0:58:36.779,0:58:46.829 Folien noch...[br]Herald: So es hat ja geheißen, man soll 0:58:46.829,0:58:50.950 die Kryptographen fragen, nur leider ist[br]die Zeit jetzt alle. 0:58:50.950,0:58:54.119 Unmuts-Laute[br]Das heißt, ihr dürft, wie angekündigt, die 0:58:54.119,0:58:57.560 Fragen über ein Käffchen stellen,[br]allerdings leider nicht mehr hier drin. 0:58:57.560,0:59:02.460 Aber trotzdem eine Runde schönen Applaus[br]für unsere beiden Vortragenden! Vielen 0:59:02.460,0:59:06.770 Dank.[br]Applaus 0:59:06.770,0:59:11.620 Abspannmusik 0:59:11.620,0:59:28.955 Untertitel erstellt von c3subtitles.de[br]im Jahr 2018. Mach mit und hilf uns!