Return to Video

34C3 - Resilienced Kryptographie

  • 0:00 - 0:15
    34C3 Vorspannmusik
  • 0:16 - 0:19
    Herald-Engel: So. In unserem nächsten
    Vortrag lernt ihr etwas darüber, was
  • 0:19 - 0:24
    passiert, wenn das tolle TPM und das tolle
    Intel ME dann doch irgendwie nicht so toll
  • 0:24 - 0:29
    sind und was denn schief gehen kann, wenn
    man seine Keys auf so nem TPM
  • 0:29 - 0:35
    initialisieren will. Dazu helfen euch
    jetzt gleich die Herrn Professoren
  • 0:35 - 0:41
    Doktoren Weis und Forler weiter, bitte
    einen schönen Applaus!
  • 0:41 - 0:46
    Applaus
  • 0:48 - 0:52
    Ruediger Weis: So, also herzlichen Dank
    für die nette Einführung, auch herzlichen
  • 0:52 - 0:59
    Dank für die zahlreichen Zuhörenden. Es
    wird heute ein Vortrag, wo ich ein
  • 0:59 - 1:04
    bisschen auch mit dem Kollegen Forler von
    der Realität irgendwie auch ein bisschen
  • 1:04 - 1:09
    massiv gerempelt worden bin. Eigentlich
    war unsere Intention, wirklich zu
  • 1:09 - 1:14
    diskutieren, wie macht man Kryptographie
    robuster, und auch in einem feindlichen
  • 1:14 - 1:20
    Umfeld. Und ich hab gelernt ein neues
    Buzzwort: riesa...lienzte?
  • 1:20 - 1:23
    lacht
    Kryptographie war eigentlich wirklich als
  • 1:23 - 1:29
    Titel geplant, jedoch müssen wir, glaube
    ich, wegen der realen Entwicklung noch ein
  • 1:29 - 1:36
    paar Einordnungen gleich am Anfang machen.
    Also zunächst mal die übliche gute
  • 1:36 - 1:40
    Nachricht, die ich auch immer gern bring:
    wissenschaftlich starke Kryptographie ist
  • 1:40 - 1:44
    selbst gegen übermächtige
    Geheimdienstgegner wahrscheinlich das
  • 1:44 - 1:50
    Einzige, was überhaupt hält, aber es hält.
    Also wir haben einigermaßen die Sachen
  • 1:50 - 1:54
    verstanden, die Sachen, die
    freundlicherweise im Zusammenhang mit der
  • 1:54 - 1:59
    Snowden-Geschichte veröffentlicht wurden,
    zeigten auch, dass die Kryptographen in
  • 1:59 - 2:06
    der NSA mit Wasser kochen und da gab es
    eigentlich für die großen Mengen Geld, die
  • 2:06 - 2:11
    da rein geworfen wird, relativ wenig
    Überraschungen da. Also man kann sagen,
  • 2:11 - 2:15
    Krypto hält, oder um's mal ein bisschen
    lyrischer von Bruce Schneier zu machen:
  • 2:15 - 2:19
    "Vertraue auf die Mathematik,
    Verschlüsselung ist dein Freund". Also
  • 2:19 - 2:24
    insofern eigentlich eine ganz gute
    Situation, bis diese gute Situation auf
  • 2:24 - 2:31
    die reale Welt kommt. Wir Kryptographen
    können wirklich eine Art Magie entwickeln.
  • 2:31 - 2:35
    Wir können mit ein paar Bits, die man
    sicher speichert, wirklich sicher gegen
  • 2:35 - 2:41
    alle möglichen Angriffe bestehen. Das
    Problem ist, wenn diese paar wenigen Bits
  • 2:41 - 2:46
    aber nimmer sicher sind, dann können wir
    halt gar nichts mehr machen. Und man kann
  • 2:46 - 2:49
    es auch, wenn man es ein bisl modell-
    theoretisch macht, kann man auch sagen, na
  • 2:49 - 2:54
    ja, irgendwas muss die berechtigten
    Kommunikations-Partner von den Angreifern
  • 2:54 - 2:57
    unterscheiden. Und das Kleinste, was wir
    anbieten können, sind ein paar wenige
  • 2:57 - 3:01
    Bits, die sicher gespeichert werden
    müssen. Weniger können wir nicht machen.
  • 3:01 - 3:05
    Also wir sind mit unserem Latein nicht am
    Ende, aber eigentlich schon in der
  • 3:05 - 3:08
    Situation, wo wir gesagt haben, OK passt
    auf ein paar Bits auf, mehr können wir
  • 3:08 - 3:13
    nicht für euch tun. Und genau das ist das,
    was ja im Moment episch uns um die Ohren
  • 3:13 - 3:18
    fliegt. Also es gab hier auch schon einen
    sehr interessanten Vortrag, deswegen will
  • 3:18 - 3:22
    ich auch gar nicht so arg ins Detail zu
    gehen, aber der Titel ist einfach zu
  • 3:22 - 3:27
    schön: "How to hack a turned off
    computer", oder dass man beliebigen Code
  • 3:27 - 3:33
    ausführt auf dieser Management Engine. Und
    diese Management Engine ist relativ
  • 3:33 - 3:39
    spannende Geschichte, insbesondere für
    meine Forschungsarbeiten ganz interessant,
  • 3:39 - 3:45
    weil Dank der Intel Management Engine kann
    ich auf die lästerliche Frage, wo mich
  • 3:45 - 3:49
    eigentlich Leute schon seit Jahrzehnten
    immer.. naja, seit anderthalb Jahrzehnten,
  • 3:49 - 3:53
    damit aufziehen: "Wann ist endlich das
    Jahr von Minix auf dem Desktop?" kann ich
  • 3:53 - 3:57
    inzwischen freundlich grinsen und sag:
    "Seit 2012 ist es IN deinem Desktop und
  • 3:57 - 4:02
    niemand hat's gemerkt". Also diese
    Management Engine läuft in der Tat auf
  • 4:02 - 4:08
    diesem Minix 3, was ein akademisches
    Projekt, das irgendwie über Jahre halt
  • 4:08 - 4:12
    niemand benutzt hat, und jetzt bin ich
    auch im Minix Steering Committee und wir
  • 4:12 - 4:15
    waren ziemlich traurig, dass wenig
    Beteiligung letztes Jahr von der Konferenz
  • 4:15 - 4:20
    war, bis wir dann mitgekriegt haben, dass
    das Minix, was wir da entwickelt haben,
  • 4:20 - 4:25
    wirklich auf allen Intel-Plattformen läuft
    und damit ist wirklich diese lästerliche
  • 4:25 - 4:29
    Bemerkung, dass Minix auf mehr Rechnern
    läuft - auf Windows als auch Mac, weil
  • 4:29 - 4:34
    auch Mac haben die Intel-Hardware und
    diese selbe ME-Geschichte drin - ein ganz
  • 4:34 - 4:40
    witziges Detail, aber wie gesagt, bei den
    witzigen Detail ist natürlich das
  • 4:40 - 4:46
    Hauptproblem da, wenn das nicht ordentlich
    gemacht worden ist, dann können da
  • 4:46 - 4:50
    Sicherheitslücken kommen. Und
    offensichtlich ist es so, dass die zwar
  • 4:50 - 4:55
    dieses Minix genommen haben, das steht
    aber halt unter einer freien Lizenz und
  • 4:55 - 4:59
    nicht GPL, und dann natürlich die ihre
    Arbeiten und Modifikationen nicht
  • 4:59 - 5:03
    veröffentlicht haben und sich
    offensichtlich nicht gut genug damit
  • 5:03 - 5:07
    auskennen, das einigermaßen sicher zu
    machen. Minix ist ein militant auf
  • 5:07 - 5:10
    Sicherheit getrimmtes System, das hat so
    Inflexibilitäten, z.B. dass alle
  • 5:10 - 5:16
    Nachrichten für eine gewisse
    Prozessorarchitektur genau 24 Byte lang
  • 5:16 - 5:20
    sind. Also es gibt sehr wenig
    Angriffsvektoren, die wir da haben. Und es
  • 5:20 - 5:24
    ist ein Microkernel-System, ich weiß nicht
    genau, wie die genaue Code-Entwicklung
  • 5:24 - 5:30
    ist, aber in der Anfangszeit waren wir da
    bei unter 10.000 lines of code. Und das
  • 5:30 - 5:35
    ist auch wieder ein schöner Moment, wo man
    als Betriebssystem-Professor relativ
  • 5:35 - 5:40
    einfach die Welt erklären kann. Linux hat
    inzwischen 10 oder 20 Millionen Zeilen of
  • 5:40 - 5:45
    code. Windows irgendwie 100 Millionen -
    frag mich nicht. Und es ist auch so ein
  • 5:45 - 5:50
    Lemma, dass man sagt, alle 1000 Programm-
    Zeilen gibt es einen Fehler. Und jetzt
  • 5:50 - 5:55
    können wir ausrechnen: das ist bei Minix
    halt 20.000 Fehler, äh bei Linux 20.000
  • 5:55 - 5:58
    Fehler und bei Minix vielleicht eine
    Handvoll Fehler, und da könnte man
  • 5:58 - 6:03
    eigentlich vorbeigehen und das anschauen.
    Kleines weiteres Lemma: wie problematisch
  • 6:03 - 6:06
    sind Fehler? Da ist die Antwort, wenn man
    mit C programmiert, kann man davon
  • 6:06 - 6:10
    ausgehen, dass ein Fehler mit hoher
    Wahrscheinlichkeit echte Schmerzen
  • 6:10 - 6:17
    verursacht. Also die Gruppe der Sachen,
    der Fehler, die wirklich zu ignorieren
  • 6:17 - 6:22
    sind - oder ignoriert werden können - sind
    bei C deutlich geringer als bei anderen
  • 6:22 - 6:27
    Systemen. Insofern sage ich also, die
    reine Information, dass Minix ein sehr
  • 6:27 - 6:31
    kleines System ist, das so klein ist, dass
    man es so wunderbar in einer Vorlesung
  • 6:31 - 6:37
    erklären kann, ist wirklich direkt
    verbunden mit der Sicherheit. OK. Neben
  • 6:37 - 6:41
    diesem Problem, das wir halt Ärger auf der
    untersten Ebene haben, war ein anderes
  • 6:41 - 6:45
    Ding, das wir über Jahre lang auch
    verfolgt haben, diese TPM-Diskussion, und
  • 6:45 - 6:51
    hier gibt es wieder was sehr Bizarres.
    Hier, wer ein RSA verwendet, wer
  • 6:51 - 6:56
    vielleicht meine alten Diskussionen mit
    RSA und ECC kennt, weiß, dass ich RSA
  • 6:56 - 7:01
    eigentlich ganz, ganz, ganz gern hab und das hat
    auch eine Reihe von Gründen, nämlich es
  • 7:01 - 7:05
    gibt Sicherheitsbeweise, wirklich harte
    Sicherheitsbeweise, es ist verstandene
  • 7:05 - 7:10
    Mathematik. Und es ist eine relativ kurze
    Implementierung, wo man doch nicht allzu
  • 7:10 - 7:14
    viel falsch machen kann. Und da das, sage
    ich, immer noch ein bisschen ne Hacker-
  • 7:14 - 7:19
    Konferenz ist, seien mir auch ein paar
    Sachen hier erlaubt. Zunächst mal, was ist
  • 7:19 - 7:24
    RSA? Wir brauchen Primzahlen. Wenn wir
    2048-bit-Schlüssel haben, brauchen wir
  • 7:24 - 7:28
    1024 Bit lange Primzahlen, die
    multipliziert man. Erste Frage an den
  • 7:28 - 7:33
    Mathematiker: gibt's die? Ja, es gibt
    Primzahlen in jeder Menge. Zweitens: wie
  • 7:33 - 7:37
    viel gibt es da? Und da hat man eine
    Formel, die sagt, also die Anzahl der
  • 7:37 - 7:45
    Primzahlen ist etwa x/ln(x), also ganz
    grob gesagt, alle 1024 Zahlen sind.. ist
  • 7:45 - 7:52
    eine Primzahl. Also man hat irgendwie
    2^10^15 mögliche Primzahlen und wer ein
  • 7:52 - 7:55
    bisschen aufpasst, sollte bei
    Mathematikern immer zusammenzucken, wenn
  • 7:55 - 7:59
    die 'in ungefähr gleich' schreiben, dann
    bedeutet das, es ist gleich bis auf einen
  • 7:59 - 8:01
    linearen Faktor,
    lacht
  • 8:01 - 8:03
    der möglicherweise beliebig
    groß sein kann.
  • 8:03 - 8:05
    Lachen
    Und das ist für die Leute, die
  • 8:05 - 8:09
    implementieren, immer so mäßig
    befriedigend, deswegen haben wir noch mal
  • 8:09 - 8:14
    nachgeguckt und für x > 17 gilt, dass
    diese Abschätzung schon sehr genau ist.
  • 8:14 - 8:18
    Und im Vertrauen: für echte Systeme
    sollten wir Primzahlen, die deutlich
  • 8:18 - 8:22
    größer sind als 17 verwenden.
    Lachen
  • 8:22 - 8:27
    Ja, das war ein mathematischer Witz,
    vielen Dank für die Leute,
  • 8:27 - 8:28
    lacht
    Lachen
  • 8:28 - 8:33
    die es gefunden haben. Ok. Zurück zu der
    Hacker-Welt. Wie sieht es in der
  • 8:33 - 8:36
    praktischen Implementierung aus? Schauen
    wir uns mal gpg an, das bedeutet, wir
  • 8:36 - 8:41
    nehmen halt Zahlen, Zufallszahlen, und
    testen die dann. Zuerst mit einem Sieve-
  • 8:41 - 8:46
    Algorithmus, also ein einfaches
    Durchteilen der Primzahlen kleiner/gleich
  • 8:46 - 8:53
    2000.. 400.. äh, 4999. Das muss ich,
    glaube ich, hier nicht machen. Der zweite
  • 8:53 - 8:58
    Teil ist ein Fermat-Test, der ist auch so
    niedlich, dass ich den Wikipedia-Artikel
  • 8:58 - 9:07
    nehm: das ist alles. Und der dritte Test
    ist bisl ausführlicher, weil da mit Bit
  • 9:07 - 9:12
    hin und her geschubst wird, ein bisschen,
    aber das ist der komplette Code. Also wir
  • 9:12 - 9:17
    machen Zufallszahlen und machen diese
    Tests, diese wenigen Zeilen Tests durch.
  • 9:17 - 9:20
    Und haben dann eine hohe
    Wahrscheinlichkeit, dass es eine Primzahl
  • 9:20 - 9:24
    ist, multiplizieren das dann, sind fertig.
    Was kann da passieren? Nochmal zur
  • 9:24 - 9:30
    Erinnerung: wir sind in einem Zahlenraum,
    wo wir 2^1015 Primzahlen zur Verfügung
  • 9:30 - 9:34
    haben, also da kann doch nichts
    schiefgehen. Außer man kommt auf die tolle
  • 9:34 - 9:38
    Idee, wir machen mal ganz schnelle
    Primzahl- Erzeugung. Mein erster Eindruck
  • 9:38 - 9:43
    war: Nein, echt lieber nicht. Dann habe
    ich gesagt: "Guck Dir mal die Literatur
  • 9:43 - 9:47
    an", hab die zwei, drei Tage angeguckt und
    dann kam ich zur Entscheidung: Echt lieber
  • 9:47 - 9:53
    nicht. Und die Praxis haut dann hier auch
    nochmal voll auf die Computersicherheit
  • 9:53 - 10:00
    ein. Nämlich diese TPM-Systeme, die
    kriegen das hin, die haben einen
  • 10:00 - 10:03
    Schlüssel, also einer der zentralen
    Schlüssel ist der Storage Root Key. Der
  • 10:03 - 10:10
    wird genau ein Mal erzeugt. In der
    Lebenszeit des Gerätes. Also ein Mal. Also
  • 10:10 - 10:17
    hier ist kein.. keine Notwendigkeit, das
    mit einer unsicheren schnellen Erzeugung
  • 10:17 - 10:20
    zu machen, wird allerdings trotzdem
    gemacht. Weiterhin haben die ganzen TPM-
  • 10:20 - 10:28
    Chips eine Schlüssellänge kleiner/gleich
    2048 Bit. So, und dann passierte der
  • 10:28 - 10:32
    preiswerte Totalschaden, das haben die
    Kollegen in einem Vortrag hier auch
  • 10:32 - 10:37
    gemacht, als Professor muss ich da noch
    mal darauf hinweisen, dass die Hauptidee -
  • 10:37 - 10:41
    haben die jungen Leute auch ordentlich
    hingeschrieben - von 1996 ist,
  • 10:41 - 10:47
    unmodifiziert. Dieser Coppersmith..
    unmodifiziert, gar nix. Und was ich ihnen
  • 10:47 - 10:51
    sehr dankbar bin ist, dass sie da bei den
    ganzen Sachen mal die Preisliste
  • 10:51 - 10:55
    drangeschrieben haben. Also, ich weiß
    nicht, was das in Bitcoin ist, aber das
  • 10:55 - 11:03
    sind Cent-Bruchteile in Dollar. Und für
    das 2048, was die höchste Schlüssellänge
  • 11:03 - 11:11
    für TPM-Chips ist, ist es Kosten von 944
    $. Wer sieht noch was Ultra-bizarres?
  • 11:11 - 11:18
    unverständliche Antwort
    Ja. Also, irgendjemand erklärt mir nach
  • 11:18 - 11:24
    dem dritten Bier, warum.. wie man das
    hinkriegt, dass 3072 eine 10^17 mal
  • 11:24 - 11:32
    größere Sicherheit gegen Angriffe haben
    als 4096. Also ihr merkt, das ist an
  • 11:32 - 11:40
    Bizzarität relativ wenig zu überbieten.
    Gut, wie gesagt, wenn wir gerade bei
  • 11:40 - 11:44
    Sachen sind, die in die Hose gehen können,
    habe ich auch noch überlegt: Was gibt es
  • 11:44 - 11:47
    noch aus dem letzten Jahrtausend? Nämlich
    den Bleichenbacher-Angriff. Und da hat
  • 11:47 - 11:53
    eine Gruppe um Hanno Böck und andere
    Autoren auch mit Robot das sehr schön
  • 11:53 - 11:54
    gezeigt,
    lacht
  • 11:54 - 11:58
    dass das heute auch noch genau geht, aber
    nur bei so kleinen Firmen wie F5, Citrix
  • 11:58 - 12:01
    und Cisco.
    Lachen
  • 12:01 - 12:07
    Und so bei 27 der 100 häufigsten
    Webservices, unter anderem Facebook und
  • 12:07 - 12:12
    lacht
    PayPal. Das ist, glaube ich, die Firma die
  • 12:12 - 12:14
    irgendwas mit Geld macht also das ist
    irgendwie
  • 12:14 - 12:18
    Lachen
    auch ein Punkt, wo ich irgendwie sag, das
  • 12:18 - 12:23
    ist eine Sache, wo man sich fragt, und da
    werd ich nicht näher auf.. gehen, aber
  • 12:23 - 12:28
    noch mal der Hinweis: Coppersmith [ist
    von] 96, Bleichenbacher [von] 98. Ihr
  • 12:28 - 12:33
    merkt, ich steh auf alte Angriffe,
    insofern seid versichert, im Laufe
  • 12:33 - 12:34
    lacht
  • 12:34 - 12:36
    des Vortrags kommen dann noch ältere
    Geschichten raus.
  • 12:36 - 12:37
    Lachen
  • 12:37 - 12:42
    Aber das ist natürlich relativ
    schmerzhaft. Also wir sollten hier auch
  • 12:42 - 12:47
    nochmal sagen, was wir empfehlen: es hilft
    alles nichts, wir brauchen Open Source im
  • 12:47 - 12:53
    Booting. Wir müssen weg von UEFI. Wir
    brauchen so was wie Core Boot, Libre Boot
  • 12:53 - 12:59
    oder U-Boot, und das muss jetzt relativ
    schnell passieren, weil ansonsten haben
  • 12:59 - 13:03
    wir.. sind wir Kryptographen auch wehrlos.
    Also wenn die uns die unterste Ebene
  • 13:03 - 13:08
    wegschießen und dann alle Bits, die wir
    irgendwie sichern wollen, einsammeln, dann
  • 13:08 - 13:12
    können wir auch keine Magie machen.
    Interessant ist, dass auch Google das im
  • 13:12 - 13:17
    Bereich des NERF - schöner Akronym für
    Non-Extensible Reduced Firmware - sehr
  • 13:17 - 13:22
    stark weiter betreibt. Kommen wir zu dem
    Thema, das ich eigentlich hauptsächlich
  • 13:22 - 13:27
    bespielen wollte, das ist Robuste
    Kryptographie. Und jetzt geb ich mal
  • 13:27 - 13:31
    wirklich ein paar Sachen, die sehr vom
    Ingenieurs-mäßigen Standpunkt interessant
  • 13:31 - 13:37
    sind, aber natürlich mathematisch fundiert
    sind. Erste Regel: XOR ist dein Freund.
  • 13:37 - 13:41
    Das bedeutet, wenn man z.B. aus mehreren
    Quellen den Zufall nimmt und das dann
  • 13:41 - 13:48
    XORt, dann tut man eigentlich das System
    stärken. Also es bedeutet auch, ich hab 15
  • 13:48 - 13:52
    schlechte random Quellen und eine gute,
    und wenn ich alles zusammen XOR, tue ich
  • 13:52 - 13:56
    weitgehend die Eigenschaft der guten
    Geschichte erben. Auch hier muss man ein
  • 13:56 - 14:01
    paar Sachen beachten, aber 'XOR ist dein
    Freund' ist, denk ich, sagen wir mal, als
  • 14:01 - 14:05
    erste Annäherung schon mal ein guter
    Punkt. Zweitens: man kann Sachen doppelt
  • 14:05 - 14:09
    hashen, das habe ich auch vor vielen
    Jahren gemacht, ist heute auch - [das]
  • 14:09 - 14:14
    erste Mal Blockchain - bei Bitcoin der
    Fall, dass die zweimal hashen, bevor sie
  • 14:14 - 14:17
    in den Mining-Prozess.. aber die machen
    das halt nicht richtig, denen fehlt ein
  • 14:17 - 14:23
    XOR und dadurch haben sie nicht die
    Sicherheit, die sie natürlich durch höhere
  • 14:23 - 14:28
    Sachen.. äh, durch doppelt hashen
    erreichen würden. Längere Schlüssellängen,
  • 14:28 - 14:33
    na, das ist generell eine gute Empfehlung,
    außer wenn ihr euch an die vorletzte Folie
  • 14:33 - 14:39
    erinnert, also es ist kein Allheilmittel.
    Aber für sehr viele Sachen ist eine lange
  • 14:39 - 14:46
    Schlüssellänge doch eine deutlich bessere
    Idee. Gut. Historische Sachen..
  • 14:46 - 14:54
    Cryptophone. Ein Telefon, das auch Snowden
    ganz gern benutzt, haben wir da für 2003
  • 14:54 - 15:00
    ein Design gemacht, und da können wir
    sehen: Schon damals, wo die Rechner etwas
  • 15:00 - 15:03
    langsamer waren - wir haben das für Handy
    gemacht - ging das irgendwie, dass wir
  • 15:03 - 15:10
    4096-bit.. äh, Diffie-Hellmann machen, wir
    haben es einmal gehasht und dann haben wir
  • 15:10 - 15:15
    vor der Schlüsselableitung es ein zweites
    Mal gehasht, aber mit einer modifizierten
  • 15:15 - 15:19
    Hash-Funktion. Also hier ist es ein bisl
    verkürzt dargestellt: Wir nehmen die SHA-2-
  • 15:19 - 15:25
    Funktion von damals, aber tun die mit dem
    anderen Wert parametrisieren, das hat z.B.
  • 15:25 - 15:29
    die Eigenschaft, ihr könnt überlegen, wenn
    man Kollisionsprobleme hat und zweimal
  • 15:29 - 15:33
    hintereinander hasht und schon nach einem
    Hash eine Kollision da ist, dann hilft das
  • 15:33 - 15:37
    nicht allzu sehr weiter. Aber durch das
    Umparametrisieren, wie gesagt, es ist
  • 15:37 - 15:42
    manchmal nur ein Bit, also im Prinzip wär
    Bitcoin sehr viel sicherer, wenn sie nach
  • 15:42 - 15:46
    dem.. - also, sicherer gegen einige
    Angriffs-Sachen - wenn sie nach dem ersten
  • 15:46 - 15:52
    Hashing ein Bit umrempeln würden. Also das
    ist irgendwie manchmal ein bisschen
  • 15:52 - 15:55
    gruselig, wenn man sich überlegt, das
    manchmal ein Bit an der richtigen Stelle
  • 15:55 - 15:59
    gesetzt oder nicht gesetzt wirklich
    drastische Auswirkungen hat. Später dazu
  • 15:59 - 16:04
    noch ein paar weitere Bemerkungen. Und
    hier aus der beliebten Serie 'XOR ist dein
  • 16:04 - 16:11
    Freund': wir haben damals AES-256 und
    Twofish einfach mit XOR verknüpft, das ist
  • 16:11 - 16:16
    eine Verknüpfung, die die schöne
    Eigenschaft hat, das dann Angreifer beide
  • 16:16 - 16:21
    Funktionen brechen müssen, etwas verkürzt
    dargestellt, aber durchaus zutreffend.
  • 16:21 - 16:26
    Also wie gesagt, es sind relativ einfache
    Sachen, bei Hash-Funktionen ein bisl
  • 16:26 - 16:30
    darauf achten: XOR ist ganz spannend.
    Kommen wir noch mal zur Hash-Funktion, da
  • 16:30 - 16:36
    möchte ich hier heute mal ein bisschen
    Werbung für SHA-512 machen. Ich bin der
  • 16:36 - 16:43
    Meinung, man sollte lieber SHA-512 nutzen
    als SHA-256. Warum? Naja, Abschneiden ist
  • 16:43 - 16:52
    OK, man kann die, wenn man nur 256 Bit
    ist, kann man die anderen Bits schlicht
  • 16:52 - 16:56
    und einfach verwerfen. Wer es nochmal im
    Standard da hinten.. kann es sich
  • 16:56 - 17:02
    angucken, SHA-356 ist im Prinzip, mit
    einer leichten Modifikation, SHA-512 mit
  • 17:02 - 17:07
    abgeschnittenen Bits. Zweiter Punkt:
    Kryptographisch hochwertige Bits, genauer
  • 17:07 - 17:12
    gesagt schön randomisierte Bits, kann man
    immer brauchen. Also wenn man 512-bit
  • 17:12 - 17:17
    Ausgabe hat, dann hat man noch zusätzlich
    ein paar random Bits rumliegen, wie schon
  • 17:17 - 17:21
    gesagt, man kann dann noch überlegen 'XOR
    ist dein Freund' und das in andere Sachen
  • 17:21 - 17:30
    nochmal anzubringen. Weiterhin ist SHA-512
    sehr schnell, auf 64-bit Plattformen, ist
  • 17:30 - 17:36
    eigentlich fast genauso schnell auf
    älteren Plattformen wie SHA-256 und wie
  • 17:36 - 17:40
    gesagt, rein aus dem kryptographischen
    Bauchgefühl: Man hat in SHA-512 mehr
  • 17:40 - 17:46
    Runden und man hat 64-bit-Operation, also
    von allem kryptographischen Bauchgefühl
  • 17:46 - 17:50
    wird da deutlich mehr durcheinander
    gewirbelt und die Sicherheit auch in einer
  • 17:50 - 17:58
    gewissen Weise erhöht. Gut, das machen wir
    kurz. Längere Kurven, nochmal der Hinweis:
  • 17:58 - 18:04
    Ich bin der Meinung, unter anderem die
    Gruppe um D.J. Bernstein hat da schöne
  • 18:04 - 18:12
    Arbeit gemacht bei der kleinen Kurve, er
    hat auch irgendwie bei der 256-bit Kurve
  • 18:12 - 18:16
    interessante Ergebnisse gehabt. Er hat
    auch längere Kurven bereitet, aber das
  • 18:16 - 18:22
    nicht mit der.. mit dem In.. mit dem
    Nachdruck bearbeitet, die man vielleicht
  • 18:22 - 18:26
    dafür braucht. Und außerdem bin ich halt
    wirklich der Meinung, wenn man schon auf
  • 18:26 - 18:32
    die elliptischen Kurven kommt, ist ja
    SHA-256, also ist 256 Bit wirklich sehr
  • 18:32 - 18:37
    nahe an der Grenze, wo man irgendwie sagt,
    das könnte schnell problematisch werden.
  • 18:37 - 18:46
    Insbesondere, weil auch djb verwiesen hat
    auf die Probleme, die RSA bei
  • 18:46 - 18:50
    Quantencomputern hat, muss ich sagen,
    elliptische Kurven, wegen der kleineren
  • 18:50 - 18:55
    Schlüssellänge würd ich vom Bauchgefühl
    sagen, da knallt's deutlich früher als bei
  • 18:55 - 19:03
    den RSA-Operationen. Gut, alles klar,
    jetzt in einem zweitem Teil tut mein
  • 19:03 - 19:08
    geschätzter Kollege Christian Forler mal
    ein paar konstruktive Tips geben, wie man
  • 19:08 - 19:12
    wirklich bestehende Systeme besser nutzen
    können, und es ist eigentlich auch
  • 19:12 - 19:17
    überraschend: Wir haben uns in dem Vorfeld
    halt da noch mal reingeguckt und sind an
  • 19:17 - 19:23
    einigen Stellen gekommen, dass z.B. einige
    neue Ideen, TLS, z.B. 1.3, eigentlich auf
  • 19:23 - 19:29
    den ersten Blick gut aussehen, außer wenn
    man mal ein paar andere Angriffsmodelle
  • 19:29 - 19:33
    zugrunde legt. Insofern sind die Arbeiten,
    die Christian jetzt vorstellt, glaube ich
  • 19:33 - 19:37
    auch, vom hohen Maße praxisrelevant.
    Christian Forler: Hallo. Jetzt wird es
  • 19:37 - 19:41
    gleich ein bisschen technisch werden, da
    müsst ihr jetzt halt durch.
  • 19:41 - 19:43
    lacht
    OK. Und zwar geht es jetzt um den
  • 19:43 - 19:47
    richtigen Einsatz von AES. Ne? Also das
    Problem ist, dass jetzt die ganzen
  • 19:47 - 19:51
    Hersteller von Softwareprodukte irgendwie
    Sicherheit bewerben, indem sie erzählen:
  • 19:51 - 19:56
    "Wir nutzen AES". Ja. Das ist zwar jetzt
    erst mal nicht so die schlechteste Idee,
  • 19:56 - 19:59
    AES zu nutzen, aber in der Regel findet
    man halt nicht raus, wie sie das
  • 19:59 - 20:04
    einsetzen, ja, und da kann man auch viel
    falsch machen. Und das schauen wir uns
  • 20:04 - 20:07
    dann gleich mal an, das heißt, wenn jemand
    irgendwie behauptet, er macht irgendwie
  • 20:07 - 20:11
    AES, online erstmal nachfragen, wie das
    eingesetzt wird und wenn man das nicht
  • 20:11 - 20:16
    rausfindet, ist das meistens ein Indiz
    dafür, dass da ein Fehler gemacht wird.
  • 20:17 - 20:21
    Und dann schauen wir uns mal an hier: Also
    AES ist keine Wunderwaffe, das ist einfach
  • 20:21 - 20:25
    nur ein Blockchiffre, das heißt, ich kann
    mit AES einen Klartextblock verschlüsseln,
  • 20:25 - 20:30
    bzw. einen Chiffretextblock entschlüsseln,
    und die Blockgröße ist 128 Bit, das heißt
  • 20:30 - 20:34
    16 Byte. Das hilft jetzt in der Regel
    nicht so wirklich viel, weil in der Regel
  • 20:34 - 20:39
    habe ich halt Nachrichten, die ein wenig
    größer sind als 16 Byte, ja, wenn man es
  • 20:39 - 20:42
    so irgendwie Dateien uns anschaut, auch
    Netzwerkpakete. Und da ist jetzt die
  • 20:42 - 20:47
    Frage: Wie kann ich jetzt einen größeren
    Klartext verschlüsseln? Und dann ist die
  • 20:47 - 20:50
    Antwort irgendwie klar: Ich zerhacke den
    in Blöcke und bearbeite die Blöcke
  • 20:50 - 20:55
    nacheinander irgendwie mit AES ab. Ja, das
    ist so die elementare Strategie. Und dann
  • 20:55 - 20:58
    schauen wir uns mal an: da in der i-Folge
    jetzt, da geht das auf jeden Fall schief,
  • 20:58 - 21:03
    und ihr könnt euch vorstellen, man tut
    jeden Block einmal durch AES jagen,
  • 21:03 - 21:09
    Nachteil: gleiche Klartextblöcke, ja, wenn
    die Klartextblöcke gleich sind und AES
  • 21:09 - 21:12
    eine Funktion, dann kommt auch das Gleiche
    raus. Das heißt, gleiche Klartextblöcke
  • 21:12 - 21:15
    ergibt gleiche Chiffretextblöcke, ja,
    alles schon mal gehört, das heißt, da
  • 21:15 - 21:19
    bleibt Struktur erhalten und wenn da
    Struktur erhalten bleibt bei einer
  • 21:19 - 21:23
    Verschlüsselung, dann ist das irgendwie
    extrem schlecht. Also das, was wir grad
  • 21:23 - 21:27
    nicht haben. Ja, das ist halt die Idee,
    warum wir Kryptographie nutzen, damit ja
  • 21:27 - 21:29
    von der Struktur nichts mehr übrig bleibt.
    Ja, und falls doch, gibt es da dieses
  • 21:29 - 21:34
    Wikipedia-Beispiel, das wir irgendwie alle
    kennen. Das heißt, das ist irgendwie AES-
  • 21:34 - 21:37
    verschlüsselt, das ist 'military-grade
    security', da, so Werbung.. so, ja.
  • 21:37 - 21:40
    räuspert sich
    Also da gibts ja Leute, die bewerben halt
  • 21:40 - 21:44
    ihre Software mit 'military-grade
    security' und machen dann sowas. Das ist
  • 21:44 - 21:48
    irgendwie schlecht. Nächster Schritt, was
    man jetzt machen kann: Wir wissen alle, ja
  • 21:48 - 21:52
    man macht Schlüsselstrom. Man nehme ein
    AES, generiere einen Schlüsselstrom. Die
  • 21:52 - 21:56
    Idee ist schon mal gar nicht mal so
    schlecht, weil wir haben ja irgendwie
  • 21:56 - 22:00
    gelernt so, One-Time-Pad funktioniert. Und
    das wollen wir irgendwie da ein bisschen
  • 22:00 - 22:05
    emulieren. Dann gibt's jetzt die einfache
    Variante, dann.. genau, verschlüssel ich
  • 22:05 - 22:10
    jetzt was, indem ich einen Counter,
    irgendwie, also ich nehm einen Counter,
  • 22:10 - 22:16
    verschlüssel den und tu das Ergebnis, der
    Schlüsselstrom, der raus kommt, XORen mit
  • 22:16 - 22:19
    meinem Klartext. Und das Problem ist hier
    bei dieser Variante, hier gibt's keinen
  • 22:19 - 22:24
    Zustand, das ist zustandslos, das heißt,
    das ist deterministisch. Das heißt, jedes
  • 22:24 - 22:28
    Mal, wenn ich hier das anwerfe, die
    Verschlüsselungsverfahren, kommt der
  • 22:28 - 22:32
    gleiche Schlüsselstrom raus. Und wie wir
    auch wissen, One-Time-Pads mehrmals
  • 22:32 - 22:35
    anwenden ist auch eine schlechte Idee,
    dann kommt .. das heißt, ich muss jedes
  • 22:35 - 22:40
    Mal bei AES den Schlüssel wechseln, ja
    wenn ich da jetzt eine neue Nachricht
  • 22:40 - 22:44
    verschlüsseln möchte. Und das ist
    irgendwie auch.. irgendwie nicht so
  • 22:44 - 22:47
    richtig praktikabel, wenn ich jetzt
    vergesse, den Schlüssel zu wechseln, bei
  • 22:47 - 22:50
    dem einfachen Verfahren, dann fällt es
    erstmal gar nicht so auf, weil ich habe
  • 22:50 - 22:54
    hier jetzt einmal Tux verschlüsselt und
    einmal Beastie, und hier sieht man
  • 22:54 - 22:58
    erstmal: die Struktur ist weg, weißes
    Rauschen, das ist schon mal irgendwie ganz
  • 22:58 - 23:02
    angenehm. Problem ist jetzt nur, ich habe
    zweimal den gleichen Schüsselstrom, das
  • 23:02 - 23:08
    heißt, wenn ich den Chiffretext XORe, dann
    kürzt sich der weg. Und dann, genau, kommt
  • 23:08 - 23:14
    irgendwie das raus. Und da kann man sich
    vorstellen, das das jetzt nicht so der
  • 23:14 - 23:21
    Riesenaufwand ist, aus diesem XOR dann die
    zwei Klartexte zu extrahieren, das kriegt
  • 23:21 - 23:24
    man auch hier noch als Geheimdienst hin,
    selbst als schlecht ausgestatteter
  • 23:24 - 23:29
    Geheimdienst, das kriegt man auch noch als
    Student noch hin. Das ist eventuell mal
  • 23:29 - 23:34
    eine Übungsaufgabe, so im.. für Bachelor-
    studenten, das ist jetzt net so schwer.
  • 23:34 - 23:35
    lacht
  • 23:35 - 23:40
    Deswegen also, wie funktioniert's richtig?
    Das heißt, ich brauch einen Zustand, ja?
  • 23:40 - 23:42
    Das heißt, wenn ich einen Schlüssel nur
    habe und möchte damit mehrere Nachrichten
  • 23:42 - 23:47
    verschlüsseln, brauche ich einen Zustand,
    das nennen wir hier Nonce. Und das heißt,
  • 23:47 - 23:51
    und beim Counter-Mode setzt sich halt mein
    Counter im Anfangswert nicht auf 1,
  • 23:51 - 23:55
    sondern ich setze ihn auf seinen Zustand.
    Und jetzt ist die Idee: Jedes Mal, wenn ich
  • 23:55 - 23:58
    eine neue Nachricht verschlüssele, würfel
    ich mir einen neuen Zustand aus, neue
  • 23:58 - 24:04
    Nonce. Und das heißt, wenn ich da jetzt
    eine neue Nonce anfange, bekomme ich immer
  • 24:04 - 24:09
    wieder einen neuen Schlüsselstrom und das
    ist halt vorteilhaft, das heißt, genau.
  • 24:09 - 24:13
    Das heißt, wenn ich halt.. neuer
    Schlüsselstrom heißt halt, das können wir
  • 24:13 - 24:17
    wieder nutzen und so falls sich jetzt..
    das Ganze ist sicher so, falls sich kein
  • 24:17 - 24:23
    Nonce-Schlüssel-Paar wiederholt. So weit,
    so gut. Das heißt, die Anforderung halt
  • 24:23 - 24:27
    hier ist jetzt.. ist, der Nonce darf sich
    nicht wiederholen. Ja und das ist halt so
  • 24:27 - 24:32
    ein bisl kritisch, es gibt uns, genau, es
    gibt da noch so mehrere
  • 24:32 - 24:34
    Verschlüsselungsverfahren, die sind alle
    Nonce-basiert, und das erste Problem, wie
  • 24:34 - 24:37
    ich gesagt habe, man darf den Nonce
    irgendwie.. muss aufpassen, dass der sich
  • 24:37 - 24:41
    nicht wiederholt. Und das zweite Problem
    ist, man schützt nicht die Integrität der
  • 24:41 - 24:45
    Nachricht damit. Ja das heißt, wenn ich da
    was mit verschlüssele, z.B. so eine Bank-
  • 24:45 - 24:48
    Transaktion, ist es sozusagen geschickt,
    dass die hier im Internet niemand lesen
  • 24:48 - 24:51
    kann, aber wenn ich das Format irgendwie
    kenne, der Bank-Transaktion, kann ich es
  • 24:51 - 24:56
    so manipulieren, dass der Betrag sich
    ändert, oder die Empfängeradresse und das
  • 24:56 - 25:03
    auch kontrolliert. Und eventuell möchte
    man das nicht. Ja. Genau. Und deswegen
  • 25:03 - 25:06
    gibt es die Authentisierte
    Verschlüsselung. Das heißt, als Kryptograh
  • 25:06 - 25:09
    ist man auch auf die Idee gekommen, seit
    längerem schon, das man nicht nur die
  • 25:09 - 25:12
    Vertraulichkeit irgendwie schützen möchte
    einer Nachricht, sondern auch die
  • 25:12 - 25:18
    Integrität. Und das in einem Rutsch und
    das auch irgendwie mit AES. Genau. Das ist
  • 25:18 - 25:23
    jetzt das große Ziel. Und wie funktioniert
    das, so ein Verfahren? Ich hab jetzt, wie
  • 25:23 - 25:28
    gesagt, wieder mein Nonce und mein N und
    meinen Klartext P, den kipp ich da rein,
  • 25:28 - 25:30
    und dann fällt es nicht nur unter
    Chiffretext raus, sondern es fällt auch
  • 25:30 - 25:35
    noch so eine kryptographische Prüfsumme
    raus. Ja? Und das heißt, wenn ich jetzt
  • 25:35 - 25:39
    die Inputs ändere, ändern sich auch alle
    Outputs bei der Verschlüsselung. Das
  • 25:39 - 25:42
    heißt, ich komm jedesmal, wenn ich dann
    irgendwie mindestens ein Bit ändere oder
  • 25:42 - 25:47
    mehr im Input, ändert sich halt auch die
    Prüfsumme und der Chiffretext. Das ist
  • 25:47 - 25:51
    schon mal ganz nett. Und wenn ich
    entschlüssle, ganz einfach, dann kipp ich
  • 25:51 - 25:55
    wieder so ein valides Nonce-Chiffretext-
    Tag-Paar rein und es kommt mein Klartext
  • 25:55 - 25:59
    raus, Juhu! Und das ist, der Clou ist
    jetzt, der Hammer: Wenn ich jetzt
  • 25:59 - 26:02
    irgendwie am.. wenn jetzt jemand
    manipuliert, das heißt wenn ich jetzt
  • 26:02 - 26:07
    Nonce, Chiffretext oder Tag ändere, dann
    gibts ne Fehlermeldung. Ja? Dann heißt es,
  • 26:07 - 26:11
    der Klartext ist nicht valide, das heißt
    die Eingabe war invalide und es gibt eine
  • 26:11 - 26:15
    Fehlermeldung. Das ist irgendwie ganz
    nett, sowas will ich eigentlich haben. Ja
  • 26:15 - 26:19
    da gibt es irgendwie so zwei ganz berühmte
    Verfahren, das eine ist der Galois/Counter
  • 26:19 - 26:22
    Mode, der wird eigentlich überall.. der
    ist in der Industrie weit verbreitet, den
  • 26:22 - 26:28
    gibt es z.B. so bei Sachen wie IPSec oder
    auch bei TLS und so weiter und das ist,
  • 26:28 - 26:34
    das Problem.. also, das Gute ist, das Ding
    ist superschnell, der Galois/Counter Mode,
  • 26:34 - 26:38
    Nachteil ist, er ist ein bissel fragil.
    Das schauen wir uns gleich mal an und das
  • 26:38 - 26:45
    andere Verfahren, das ich dann noch
    empfehlen kann, ist OCB, Offset Codebook
  • 26:45 - 26:49
    von.. genau, Rogaway, hat er mit gebaut
    und das.. genau. Also wenn man die Wahl
  • 26:49 - 26:54
    hat, sollte man OCB einsetzen. Problem ist
    halt auch wieder hier: Bei all den
  • 26:54 - 26:58
    Verfahren, wenn sich eine Nonce wiederholt
    dann ist es.. dann bricht so alles
  • 26:58 - 27:02
    zusammen. Ja und ich hab mir das nochmal
    angeschaut, wie schlimm die Situation ist,
  • 27:02 - 27:08
    wenn sich eine Nonce wiederholt, 2011. Und
    d.h. das Schlimme ist, das ist wirklich
  • 27:08 - 27:12
    total kaputt. D.h ich kann da immer von
    O(1) Angriff finden, d.h. ich kann das
  • 27:12 - 27:16
    Ding in Echtzeit alles kaputt machen.
    'Vertraulichkeit und Integrität'. Und das
  • 27:16 - 27:20
    möchte man nicht so wirklich haben. Also
    das ist irgendwie.. d.h. wenn sich eine
  • 27:20 - 27:25
    Nonce wiederholt, ist das so eine mittlere
    Katastrophe. Ja und das ist irgendwie vom
  • 27:25 - 27:31
    Design her nicht so gut, d.h. da muss man
    irgendwann mal irgendwie die.. also die
  • 27:31 - 27:34
    Anforderungen für einen Kryptograph, der
    ist Mathematiker, man hat so einen
  • 27:34 - 27:38
    Zustand, der sich wiederholt, das klingt
    jetzt erstmal irgendwie so nicht so
  • 27:38 - 27:42
    schlimm, aber in der Praxis ist das echt
    ein Problem. Schauen wir uns auch gleich
  • 27:42 - 27:46
    an, erstmal noch mal hier bisl GCM-
    Bashing. GCM, na das liegt.. das ist
  • 27:46 - 27:52
    extrem fragil. Also, [auf] das muss mans
    aufpassen, wenn man es einsetzt. Wenn ihr
  • 27:52 - 27:56
    GCM einsetzt, Galois/Counter Mode, dann
    bitte nur mit 96-bit Nonces. Ansonsten
  • 27:56 - 28:00
    gibt's Probleme, da können Konstanz-
    Kollisionen auftreten, weil dann das
  • 28:00 - 28:04
    gehasht wird. Das möchte man eigentlich
    nicht tun. Ja und die Hashfunktion hat da
  • 28:04 - 28:10
    so ein bisschen Schwächen. Dann, kurz
    nachdem GCM raus kam, hat sich mal Niels
  • 28:10 - 28:14
    Ferguson - also sprich: Microsoft - das
    Ding angeschaut und hat gemeint so, oh,
  • 28:14 - 28:21
    das Problem ist, wenn ich jetzt den.. die
    Nachricht, also die Prüfsumme, kürze, dann
  • 28:21 - 28:25
    wird das Ganze extrem unsicher. Das heißt,
    es nimmt überproportional stark ab, die
  • 28:25 - 28:28
    Sicherheit. D.h. Kürzen ist eine schlechte
    Idee. Und das ist auch so manche komische
  • 28:28 - 28:32
    Eigenschaft, die man eigentlich nicht
    haben möchte. Ja. Das andere, was man
  • 28:32 - 28:36
    jetzt rausgefunden hat: ja, bei Nonce
    Wiederholung, da fliegt da so ein
  • 28:36 - 28:40
    Schlüssel raus. Ja, d.h. da irgendwie
    kriegt man noch einen Schüssel frei Haus
  • 28:40 - 28:44
    und das Gute ist, GCM hat zwei Schlüssel.
    Einen Schlüssel zum Verschlüsseln, einen
  • 28:44 - 28:48
    Schlüssel für die Integrität, für die
    Prüfsumme. Und es fällt da nur der
  • 28:48 - 28:54
    Schlüssel raus für die Prüfsumme. Das ist
    aber irgendwie trotzdem irgendwie schlimm.
  • 28:54 - 28:57
    Das möchte man eigentlich nicht. Dass man
    mal einen Fehler macht, der Schlüssel raus
  • 28:57 - 29:02
    fällt. Das ist halt auch bisl.. so bisl
    fragil. Und es gibt noch auch ein paar
  • 29:02 - 29:06
    Handvoll schwache Schlüssel, weil dieses
    Galois/Counter Mode, ja, das 'Galois'
  • 29:06 - 29:09
    steht halt für Galois field
    multiplication, d.h. da findet eine
  • 29:09 - 29:13
    Multiplikation statt, und da kann man sich
    denken, ja, Multiplikation mit 0 ist
  • 29:13 - 29:17
    vielleicht nicht die beste Idee. Ja, wenn
    man so einen 0-Schlüssel hat, weil
  • 29:17 - 29:20
    irgendeine Nachricht mal 0, ne, ist halt
    immer 0, unabhängig von der Nachricht und
  • 29:20 - 29:24
    eine Prüfsumme, die unabhängig von der
    Nachricht ist, ist irgendwie nutzlos. Und
  • 29:24 - 29:29
    da gibts noch weitere Schlüssel, die auch
    irgendwie noch Schwächen haben. Genau.
  • 29:29 - 29:34
    Also, als das rauskam, wie gesagt, hat
    sich das mal Niels Ferguson angeschaut,
  • 29:34 - 29:39
    der ist bei Microsoft tätig, und hat dann
    so ein Papier geschrieben, da stand drin,
  • 29:39 - 29:45
    ja, ich kann das nicht zufällig empfehlen,
    besser nicht. Wenn ihr keine andere Wahl
  • 29:45 - 29:53
    habt , dann nutzt GCM, aber bitte, bitte
    nicht.. niemals die Prüfsumme kürzen. Da..
  • 29:53 - 29:57
    genau, dann.. das Zweite, was ich hier
    habe, als Code-Schnipsel ist RFC 4103..
  • 29:57 - 30:03
    06, da steht beschrieben, wie man denn
    jetzt GCM bei IPSec benutzt und da steht
  • 30:03 - 30:06
    drin, ja wenn ihr das implementiert,
    natürlich müsst ihr dann die volle
  • 30:06 - 30:09
    Prüfsumme unterstützen - ich glaub, das
    kann man auch gar nicht anders
  • 30:09 - 30:11
    implementieren, dafür ist es nicht
    möglich, dass man es eben anders
  • 30:11 - 30:14
    implementiert - und aber, was optional
    noch erlaubt ist, ihr dürft die Prüfsumme
  • 30:14 - 30:21
    kürzen, auf.. genau. Von 16 Byte auf 12
    oder 8 Byte, und das ist natürlich eine
  • 30:21 - 30:25
    schlechte Idee. Ja, weil dann die
    Sicherheits.. also mehr, die Sicherheit,
  • 30:25 - 30:29
    wenn man nur 8 Byte hat, ist halt
    wesentlich geringer, als man da vermutet.
  • 30:29 - 30:34
    D.h. erstmal: tuwat! Ne? Wer Admin ist,
    erst mal nachschauen: IPSec - nutzt ihr
  • 30:34 - 30:42
    GCM mit kurzen Prüfsummen? Und dann
    erstmal das Feature deaktivieren. Das
  • 30:42 - 30:48
    hilft. Dann, genau. Jetzt gehts wieder
    zurück zum Nonce-Reuse, nachdem ich ein
  • 30:48 - 30:51
    paar Nachteile von GCM aufgezählt habe.
    Weil der Vorteil ist halt, es ist halt
  • 30:51 - 30:56
    verdammt schnell, aber der Preis ist
    Fragilität. Und bei Nonce, genau,
  • 30:56 - 31:01
    Wiederholung: Es ist halt praxisrelevant,
    da gab es ja irgendwie Diskussionen am
  • 31:01 - 31:04
    Anfang, als der da herauskam und
    irgendwie, da nenn ich mal drei Beispiele.
  • 31:04 - 31:12
    Ja, ich glaube schon, weil erster Grund
    ist halt: Programmierer machen Fehler und
  • 31:12 - 31:16
    auch Leute, die sowas designen, machen
    auch mal ab und zu Fehler. Und genau, da
  • 31:16 - 31:19
    gibt es so drei lustige Beispiele. Eins,
    so irgendwie so eine kleine Klitsche aus
  • 31:19 - 31:24
    Redmond, mit so Nischen-Software - Word,
    Excel - hat es irgendwie nicht so richtig
  • 31:24 - 31:28
    hinbekommen beim ersten Anlauf, dann das
    andere, was ich hier noch hab ist so
  • 31:28 - 31:31
    WinZip, auch so irgendwie Nischen-
    Software, die keiner nutzt. Und das dritte
  • 31:31 - 31:36
    haben wir jetzt dieses Jahr ganz brandneu,
    ist KRACK hier, WPA2 Wi-Fi, ja, auch so
  • 31:36 - 31:41
    ein Nischen-Produkt. Und das ist so, sieht
    man, das geht halt immer wieder.. also
  • 31:41 - 31:46
    selbst die großen Firmen eben.. und
    Standard und Komitees kriegen das nicht so
  • 31:46 - 31:49
    richtig hin. D.h. da gibts halt irgendwie
    ein Problem. Und ich denke, auch in
  • 31:49 - 31:54
    Zukunft wirds immer wieder Probleme geben,
    ja? Und das andere ist, wenn man sich mal
  • 31:54 - 32:00
    schaut so, die ganzen App Stores, was es
    da an Software gibt, den nutzen halt viele
  • 32:00 - 32:04
    Leute, also, was heißt.. es gibt halt
    irgendwie.. ich denke, jede zehnte App,
  • 32:04 - 32:09
    die irgendwie so AES einsetzt, wird so
    irgendwie diesen.. als Nonce hier den
  • 32:09 - 32:14
    Zufallszahlengenerator von xkcd verwenden,
    d.h. das ist alles schlimm, wenn man sich
  • 32:14 - 32:16
    mal das anschaut.
    räuspert sich
  • 32:16 - 32:21
    Ja also, das ist halt strukturelles
    Problem. Das andere sind da so
  • 32:21 - 32:24
    Bedienfehler, ja, Admins sind auch
    teilweise mal schuld, nicht nur die
  • 32:24 - 32:31
    Programmierer, d.h. was man da oft macht,
    ist jetzt hier restore ein Backup, und der
  • 32:31 - 32:34
    Nonce ist halt dann persistent geschrieben
    worden irgendwo auf Platte, den letzten
  • 32:34 - 32:38
    Wert so, dann wird das wieder geladen, oder
    wenn man klont, bei virtuellen Maschinen,
  • 32:38 - 32:41
    da kann auch mal was schief gehen bei
    Nonces, dass mal eine Nonce öfters
  • 32:41 - 32:44
    aufkommt. Oder das andere ist, wenn ihr
    jetzt zu wenig Entropie habt, dann zieht
  • 32:44 - 32:49
    man öfter mal die gleiche Nonce. Ja, das
    ist irgendwie alles unlustig. Das
  • 32:49 - 32:54
    Problem.. also, das Gute der Nachricht
    ist, das Problem wurde eigentlich 2006
  • 32:54 - 32:59
    schon gelöst, ja, von den Kryptographen.
    Da gab es jetzt ein Paper, das rauskam,
  • 32:59 - 33:04
    das hat vorgestellt ein Verfahren, das ist
    Misuse Resistant AE Schemes, heißen die,
  • 33:04 - 33:09
    und die bieten auch Sicherheit, wenn man
    das mit einem Nonce vergeigt. Ja, genau.
  • 33:09 - 33:12
    Und das Coole ist, die haben beliebig..
    unterstützen beliebig lange Nonces,
  • 33:12 - 33:17
    i.d.R., die Verfahren. D.h. wenn man da
    Netzwerk-Pakete verschlüsselt, dann kann
  • 33:17 - 33:22
    man den Header als Nonce nehmen und den
    Payload als Klartext. Wunderprima. Sollt
  • 33:22 - 33:27
    man mal machen. Und zwar überall. Das
    Verfahren, wie gesagt, wurde jetzt
  • 33:27 - 33:29
    vorgestellt, da gibt's auch ein RFC für,
    d.h. es gibt jetzt keinen Grund, das
  • 33:29 - 33:34
    irgendwie nicht zu implementieren als
    Entwickler oder Netzwerk-Mensch. Und
  • 33:34 - 33:38
    genau, da gab es noch eine Schwäche, also
    SIV ist eigentlich idiotensicher, d.h. man
  • 33:38 - 33:41
    kann auch ein Nonce wiederholen, aber es
    ist halt nicht irgendwie
  • 33:41 - 33:45
    vollidiotensicher, deswegen habe ich da
    noch 2016 an einem Verfahren gearbeitet,
  • 33:45 - 33:51
    das das Ganze noch verstärkt. Warum ist
    SIV nicht idiotensicher? Ja, man muß ja
  • 33:51 - 33:56
    noch die kryptographische Prüfsumme
    verifizieren. Und ja, und wenn man das
  • 33:56 - 33:59
    nicht hinkriegt, ja, wir erinnern uns,
    hier Apple z.B. kriegt das auch nicht
  • 33:59 - 34:03
    immer hin, mit goto fail Bug, d.h. wenn
    das Apple passiert, kann es eventuell auch
  • 34:03 - 34:08
    anderen Firmen passieren, haben wir uns da
    gedacht. Und deswegen haben wir das
  • 34:08 - 34:11
    irgendwie so gebaut, dass selbst wenn man
    jetzt irgendwie die Verifikation
  • 34:11 - 34:16
    versemmelt, dass dann irgendwie bei der..
    genau, dass dann immer noch.. irgendwie
  • 34:16 - 34:20
    das irgendwie bemerkbar wird, indem man
    als.. das so baut, das der Klartext, wenn
  • 34:20 - 34:24
    man den Chiffretext manipuliert, immer
    weißes Rauschen ergibt. D.h. man hat immer
  • 34:24 - 34:28
    weißes Rauschen. Und dann war die Idee so,
    eventuell fällt es bei.. wenn man den
  • 34:28 - 34:34
    Input validiert, dann auf, bei der Input-
    Validierung, dass da irgendwie nur weißes
  • 34:34 - 34:39
    Rauschen ist, und dass es keine valide
    Eingabe ist, oder die Software wirft
  • 34:39 - 34:45
    eine Exception oder stürzt ab oder so. Ja
    genau. Wie das genau machen, überspringe
  • 34:45 - 34:50
    ich mal, aus Gründen der Zeit. Genau und
    das Ding ist, hier tutwat! Benutzt diese
  • 34:50 - 34:56
    MRAE-Schemes. Die haben einen gravierenden
    Nachteil: man muss zweimal komplett über
  • 34:56 - 35:00
    den Klartext gehen. D.h. das dauert halt
    ein bisschen länger als andere Verfahren.
  • 35:00 - 35:05
    D.h. die sind nicht so super effizient.
    Und jetzt kann es natürlich sein, dass man
  • 35:05 - 35:10
    jetzt irgendwie Echtzeitanforderungen hat,
    die das nicht erlauben. Ja dann, was soll
  • 35:10 - 35:14
    ich tun, wenn das irgendwie technisch
    nicht möglich, realisierbar ist? Ja, nicht
  • 35:14 - 35:20
    in Panik verfallen, auch da hab ich
    irgendwie.. gibt es eine Lösung, da war
  • 35:20 - 35:25
    ich dabei, die mit zu entwickeln. Und die
    Antwort hier ist Robuste AE-Schemes, die
  • 35:25 - 35:29
    hießen vorher mal 'Nonce Misuse Resistant
    AE-Schemes', und wir haben das jetzt
  • 35:29 - 35:34
    umbenannt, nur noch Robust, weil es da
    irgendwie ein bisl Konflikt gab,
  • 35:34 - 35:40
    Potenzial, in der Crypto-Szene. Und was
    wir da gebaut haben, ja, 2012, war ein
  • 35:40 - 35:45
    Verfahren, McOE, da kann man jetzt
    irgendwie, wenn man da jetzt irgendwie
  • 35:45 - 35:49
    Probleme hat mit den Nonces, eine Nonce
    wiederholt, dann ist hier immer noch, die
  • 35:49 - 35:53
    Integrität immer noch gewährleist,
    Integritätsschutz, und die Vertraulichkeit
  • 35:53 - 35:57
    bleibt auch noch irgendwie.. je nachdem,
    wie schlimm man da Fehler macht, noch
  • 35:57 - 36:00
    teilweise erhalten, oder eventuell auch
    ganz. Also was man auf jeden Fall erkennen
  • 36:00 - 36:07
    kann, wenn man Nonce wiederholt, dass zwei
    Klartexte den gleichen Prefix haben. Das
  • 36:07 - 36:11
    konnten wir eben nicht wegkriegen, wenn
    wir nur einmal über den Klartext gehen.
  • 36:11 - 36:16
    Genau. Das.. die Idee hat sich dann
    irgendwie fortgepflanzt, d.h. da gab es
  • 36:16 - 36:20
    dann auch diesen CAESAR Competition, und
    das R steht auch für Robust. Das.. genau.
  • 36:20 - 36:24
    Und die CAESAR Competition sucht halt
    einen Nachfolger für GCM. Ja, das ist eine
  • 36:24 - 36:28
    Crypto Competition, auch von Dan
    Bernstein, der hat die da angetriggert,
  • 36:28 - 36:32
    ist der Schirmherr. Und da haben jetzt
    einen Nachfolger von McOE, auch, da hab
  • 36:32 - 36:36
    ich auch mit.. POET - da war ich auch
    wieder mit dabei gewesen - ins Rennen
  • 36:36 - 36:39
    geschickt. Wir haben es in die zweite
    Runde gepackt, leider nicht in die dritte,
  • 36:39 - 36:43
    weil wir waren wahrscheinlich ein bisl zu
    super-schwergewichtig und auch nicht so
  • 36:43 - 36:49
    performant auf Hardware. Was noch im
    Rennen ist, was ich empfehlen kann: COLM,
  • 36:49 - 36:52
    das ist ein Zusammenschluss aus AES-COPA
    und ELmD. Das waren praktisch zwei
  • 36:52 - 36:56
    Zweirunden-Verfahren, die sind jetzt..
    haben sich zusammengeschlossen, ist jetzt
  • 36:56 - 37:00
    noch Drittrunden-Kandidat, was es jetzt
    noch gibt, was ich noch empfehlen kann,
  • 37:00 - 37:05
    beim CAESAR Competition, was man näher
    anschauen kann, ist AEZ, AEZ ist ein MRAE-
  • 37:05 - 37:11
    Scheme, mit von Phil. Und genau, zumindest
    hat der Phil mitgemacht, das sind die zwei
  • 37:11 - 37:15
    Kandidaten, die ich da noch empfehlen
    kann. Genau und jetzt schauen wir uns mal
  • 37:15 - 37:20
    an, also alle die Verfahren, ja, sind
    irgendwie beweisbar sicher. Und genau. Und
  • 37:20 - 37:23
    das heißt, da gibt es immer so einen
    Sicherheitsbeweis. Und da gibt's immer..
  • 37:23 - 37:25
    irgendwie da unten.. das schauen wir uns
    mal man hier: also das ist jetzt so eine
  • 37:25 - 37:30
    Sicherheitsschranke, und wenn man einfach
    sieht, hier hat man da.. ist das eine
  • 37:30 - 37:34
    Birthday Security-Bound. Also die haben
    alle so komische Bounds. Ja und da gibt es
  • 37:34 - 37:39
    jetzt so drei Parameter: q, l und t. q ist
    die Anzahl Nachrichten, die man damit
  • 37:39 - 37:43
    verschlüsselt, l sind die Anzahl Blöcke,
    die man insgesamt verschlüsselt und t ist
  • 37:43 - 37:48
    die Zeit. Und was hier steht ist, ihr
    könnt ungefähr so 100 Terabyte unter einem
  • 37:48 - 37:51
    Schlüssel verschlüsseln, ein paar hundert
    Terabyte, und dann sollt ihr den Schlüssel
  • 37:51 - 37:56
    wechseln. Genau. Und natürlich ist es nur
    sicher, wenn auch AES sicher ist, wer
  • 37:56 - 37:59
    hätte es gedacht, weil das Ding nutzt ja
    irgendwie AES. Und ja genau. Also und die
  • 37:59 - 38:03
    Idee ist auch irgendwie bei POET, das ist
    immer so'n.. also das ist halt super
  • 38:03 - 38:07
    strong, ja so das Superheavyweight, weil
    wir machen hier die erste lane, obere
  • 38:07 - 38:12
    lane, ist einfach nur eine Prüfsumme über
    den Klartext, die untere lane ist eine
  • 38:12 - 38:18
    Prüfsumme über den Chiffretext und in der
    Mitte drin ist die Verschlüsselung. Genau,
  • 38:18 - 38:22
    d.h. die kryptographische Prüfsumme ist ja
    ziemlich, irgendwie.. wenn Klartext und
  • 38:22 - 38:26
    Chiffretext.. und das zweite coole Ding,
    ja, wenn ich hier jetzt z.B. was
  • 38:26 - 38:33
    manipuliere bei C 2, dann kommt ab M 2
    weißes Rauschen raus. D.h. da kann ich
  • 38:33 - 38:37
    auch wieder.. da ist auch wieder die Idee,
    wenn man jetzt die Verifikation jetzt
  • 38:37 - 38:41
    nicht richtig macht, dass man da viel
    weißes Rauschen hat und dass damit
  • 38:41 - 38:45
    irgendwie vielleicht auffallen könnte bei
    der Eingabe-Validierung. D.h. da ist jetzt
  • 38:45 - 38:48
    auch noch irgendwie so ein bisschen Schutz
    drin, das, wenn man die Verifikation nicht
  • 38:48 - 38:52
    richtig hinbekommt. Also if-Abfrage ist
    nicht immer ganz einfach zu
  • 38:52 - 38:56
    implementieren. Genau, jetzt bin ich auch
    schon so gut wie durch. Das ist gleich
  • 38:56 - 38:58
    geschafft, dann darf wieder Ruedi.
    lacht
  • 38:58 - 39:02
    Und genau, also was ich mit.. das, was ihr
    tun sollt: niemals nicht eine Nonce
  • 39:02 - 39:04
    wiederholen! Das ist eine mittlere
    Katastrophe, das ist also, das ist
  • 39:04 - 39:10
    praktisch so ein Unfall. Das ist
    irgendwie.. genau. Also, und jetzt die
  • 39:10 - 39:13
    Frage, so, sei wie soll ich meine Daten
    verschlüsseln? Da gibt es jetzt wie
  • 39:13 - 39:20
    gesagt, mal schauen, also da gibt es jetzt
    4 Kategorien: die erste ist die stärkste,
  • 39:20 - 39:24
    die vierte ist die schwächste, und man
    sollte schauen, dass man jetzt irgendwie
  • 39:24 - 39:27
    schaut, kann ich ein Verfahren aus der
    Kategorie 1 nehmen? Lässt das mein ..
  • 39:27 - 39:30
    irgendwie, mein Umfeld zu, meine
    Anforderungen? Wenn nicht, dann 2, wenn
  • 39:30 - 39:34
    nicht 3 und ansonsten 4. D.h. eine
    klassische Verschlüsselung, die wir so
  • 39:34 - 39:38
    kennen, ist so halt ziemlich das
    schwächste - schlechteste - was man tun
  • 39:38 - 39:42
    kann. D.h. wir müssen jetzt irgendwie
    schauen, dass wir mal da besser werden und
  • 39:42 - 39:46
    mal so auf 1 und 2 kommen und nicht nur
    bei 3 und 4 rumdümpeln hier. Damit die
  • 39:46 - 39:49
    Verahren auch robuster und stärker werden
    in Zukunft.
  • 39:49 - 39:54
    ruedi: OK, vielen Dank, ah, dein Zitat
    noch! lacht
  • 39:54 - 39:57
    cforler: Ah, ich hab noch eins, ja, genau
    - also, allerwichtigste Botschaft für
  • 39:57 - 40:01
    heute ist: Redet verdammt noch mal mit
    Kryptographen, ja! Also, ihr macht ja
  • 40:01 - 40:04
    einen Haufen cooler Software und die fällt
    dann auseinander, weil man nie mit uns
  • 40:04 - 40:07
    geredet hat.
    lacht
  • 40:07 - 40:12
    Also wir sind irgendwie beide.. unsere
    E-Mail-Adresse, unsere Telefonnummer sind
  • 40:12 - 40:18
    irgendwie im Internet, stehen die, und da
    kann man uns mal sprechen und, ja.
  • 40:18 - 40:25
    lacht
    Applaus
  • 40:25 - 40:28
    und genau, also man kann irgendwann mal
    nach Berlin kommen und mit uns reden. Bei
  • 40:28 - 40:31
    einem Käffchen.
    ruedi: Ja, noch mal also vielen Dank. Ich
  • 40:31 - 40:35
    möchte das auch noch einmal ein bisl
    aufgreifen, also damit es noch mal ganz
  • 40:35 - 40:41
    klar ist, dass das jetzt wirklich ein
    praxisrelevantes Problem ist. Also wenn
  • 40:41 - 40:43
    ich mich nicht täusche, also das ändert
    sich, aber als ich das letzte Mal
  • 40:43 - 40:48
    reingeguckt hab, war wirklich in TLS die
    Überlegung: Wir sind clever, wir benutzen
  • 40:48 - 40:53
    keine Verfahren, wo nicht
    Authentifizierung mit eingebaut ist und
  • 40:53 - 41:00
    wir verwenden zwangsweise das GCM, also
    Galois/Counter Mode. Das ist auch supi,
  • 41:00 - 41:03
    bis auf die Tatsache, wenn ein Nonce
    wiederholt wird, ist das katastrophal
  • 41:03 - 41:08
    schwächer als alle katastrophal.. alle
    Fehler, die man auf der unteren Ebene
  • 41:08 - 41:14
    machen kann. Also Kryptographie ist
    relativ schwer. Aber noch einmal der Apell
  • 41:14 - 41:18
    von Christian wirklich deutlich
    wiederholt: die Crypto-Gemeinde hat einen
  • 41:18 - 41:24
    starken wissenschaftlichen Teil, die auch
    offen publizieren und so weiter. Also
  • 41:24 - 41:28
    insofern noch einmal da der Hinweis: da
    mal rein zu gucken, was da ist, ist
  • 41:28 - 41:33
    wirklich eine gute Idee. Und nochmal
    wirklich an dieses: redet mit
  • 41:33 - 41:37
    Kryptographen, mal anbuzzen.. kommt jetzt
    der Grund, warum hier so voll ist: weil
  • 41:37 - 41:41
    wir noch was mit Blockchain machen wollen
    in diesen nächsten Folien. Auch da möchte
  • 41:41 - 41:48
    ich an ein paar Stellen sagen: Ein
    bisschen reden mit Kryptographen wäre ganz
  • 41:48 - 41:52
    angenehm gewesen. Also wir arbeiten da
    auch an verschiedenen virtuellen
  • 41:52 - 41:57
    Kooperationspartnern, also wir möchten da
    auch besser werden in Richtung verteilter
  • 41:57 - 42:02
    Echtzeit, aber da arbeiten wir schon
    lacht intensiv daran. Also wer da noch
  • 42:02 - 42:05
    weitere Tips hat, was es da noch für
    Forschungseinrichtungen gibt, der kann
  • 42:05 - 42:12
    sich auch bei uns freundlich melden. So,
    mal ein paar Worte zu Bitcoin. Ich hab's
  • 42:12 - 42:16
    mal schon vor Jahren hier gemacht, ich
    hätte damals vielleicht Bitcoin kaufen
  • 42:16 - 42:19
    sollen, anstatt das zu.. sicherheits zu
    evaluieren. - Nein, hätte ich nicht - soll
  • 42:19 - 42:23
    man nicht machen, ich bin da altmodischer
    Professor. Ich bin der Meinung - wenn da
  • 42:23 - 42:30
    von.. also, von führenden kapitalistischen
    Zeitungen gefragt wird, wie sicher das ist
  • 42:30 - 42:35
    - dann solltest du nicht irgendwelche
    Aktien drin haben, um da zu antworten. Ich
  • 42:35 - 42:42
    will es mal so sagen: die Kryptographie in
    Bitcoin wäre eine befriedigende
  • 42:42 - 42:47
    Bachelorarbeit. Das sind schon.. und das
    reicht eigentlich. Die Crypto ist so
  • 42:47 - 42:52
    stark, dass eine befriedigende
    Bachelorarbeit völlig dazu führt, dass die
  • 42:52 - 42:57
    Probleme woanders zu sagen sind. Es ist
    vorsichtige Amateur-Kryptographie. Doppelt
  • 42:57 - 43:01
    hält besser, die hashen zweimal
    hintereinander, aber wie gesagt, meine
  • 43:01 - 43:06
    Erweiterung, nach dem ersten Hash ein Bit
    umzurempeln und dann weiter zu hashen
  • 43:06 - 43:10
    würde bedeuten, dass z.B. die
    Kollisionseigenschaften sich nicht einfach
  • 43:10 - 43:14
    weiter vererben. Also diese zweimal Hash
    hintereinander bringen z.B. gegen
  • 43:14 - 43:18
    Kollision nicht allzu viel, wenn sie nach
    dem ersten Hash ein Bit gerempelt hätten,
  • 43:18 - 43:22
    weiter gehasht, hätten sie eine deutlich
    bessere.. bessere Eigenschaften gehabt.
  • 43:22 - 43:28
    Also so ist jetzt das Doppelhash
    ziemlich.. nicht besonders relevant. Also
  • 43:28 - 43:32
    jedenfalls, wenn man starke Sachen macht.
    Was relativ cool ist, ist dass die die
  • 43:32 - 43:37
    Public Keys nicht veröffentlichen, sondern
    halt hier auch eine zweimal gehashte
  • 43:37 - 43:41
    Kontonummer. Und da sieht man, dass die
    möglicherweise doch ein paar Hacker-
  • 43:41 - 43:45
    Konferenzen gehört haben und gewusst
    haben, sie sind nicht so fit in Crypto:
  • 43:45 - 43:50
    "Machen wir es lieber mal ein bisschen
    robuster", und so weiter. Insofern ist das
  • 43:50 - 43:56
    eigentlich relativ erfreulich, aber wenn
    die jungen Leute mit.. oder alten Leute,
  • 43:56 - 44:00
    oder was immer für Leute, mal mit
    Kryptographen geredet hätten, hätten wir
  • 44:00 - 44:07
    ganz interessante Implikationen gehabt. Es
    ist ganz lustig, der Bitcoin-Hauptautor
  • 44:07 - 44:12
    hat gesagt: "Oh ja, jetzt hashen die, alle
    Leute, mit Spezialhardware, und unser
  • 44:12 - 44:17
    demokratischer Ansatz 'jeder PC hat eine
    Stimme und alles verteilt' geht den Bach
  • 44:17 - 44:21
    runter. Wir sollten ein Gentlemen's
    Agreement machen, dass nur auf CPUs
  • 44:21 - 44:23
    gemined wird."
    Lachen
  • 44:23 - 44:26
    ruedi seufzt
    Ach, ist das schön, junge Leute! Dann..
  • 44:26 - 44:27
    ich mache einen..
    lacht
  • 44:27 - 44:31
    ein Konzept von kryptogra.. äh, von
    kapitalistischen Anarchisten, die
  • 44:31 - 44:35
    irgendwie alles so designen, dass keine
    zentrale Stelle ist, und will mit diesen
  • 44:35 - 44:41
    verteilten Anarcho-Kapitalisten weltweit
    Gentlemen's Agreements zu machen. Ohne der
  • 44:41 - 44:43
    Geschichte vorzugreifen: es ist nur
    beschränkt gelungen.
  • 44:43 - 44:49
    Lachen
    Wobei das wirkt alles lustig, da, wenn
  • 44:49 - 44:53
    schlecht bezahlte Berliner Professoren hier
    rum[unverständlich] und gute Witze darüber
  • 44:53 - 44:56
    machen, das Problem ist, wenn man hier
    Fehler macht, dann hat das auf einmal
  • 44:56 - 45:02
    Auswirkungen, dass irgendwie eine große
    Menge an Energie völlig sinnlos verheizt
  • 45:02 - 45:05
    wird. Und da muss ich auch sagen, am
    Anfang habe ich gesagt, oh, Leute kommt
  • 45:05 - 45:09
    runter, es ist EIN Kraftwerk - was mir
    dann erst irgendwann mal siedend heiß
  • 45:09 - 45:14
    eingefallen.. ne, mit Erhöhung der
    Hashing-Komplexität tut praktisch linear
  • 45:14 - 45:19
    auch der Stromverbrauch irgendwie steigen.
    Also es ist jetzt schon auf dem Weg, eine
  • 45:19 - 45:25
    deutliche Umwelt-Sauerei zu werden und wir
    Krypto-Hippies könnten natürlich sagen:
  • 45:25 - 45:29
    "Können wir wenigstens nur mit Wasserkraft
    minen?" usw, aber unser Einfluss auf
  • 45:29 - 45:36
    verteilte krypto- und kapitalistischen
    Anarchisten ist relativ überschaubar. Also
  • 45:36 - 45:43
    insofern ist es wirklich kein Witz, dass
    einige Sachen, die wir haben.. wirklich es
  • 45:43 - 45:47
    hilfreich gewesen wäre, wenn die mit
    Kryptographen geredet hätten. Und hier
  • 45:47 - 45:51
    haben wir auch ein Bild, was ich mal
    einfach mal vorstellen wollte: Dieses
  • 45:51 - 45:57
    Proof of Work demokratisch zu halten, das
    ist sehr verwandt mit der Frage Passwort-
  • 45:57 - 46:00
    Hashing. Also Passwort-Hashing ist die
    Idee, aus dem gehashten Passwort soll es
  • 46:00 - 46:05
    sehr schmerzhaft, sehr arbeitsspeicher-
    intensiv sein, das Passwort wieder zurück
  • 46:05 - 46:10
    rechnen. Also klassischer Proof of Work.
    Dass ihr seht, dass das nicht ganz aus der
  • 46:10 - 46:17
    Welt ist: scrypt wird z.B. in Lite..
    Moment, Litecoin? Litecoin verwendet, das
  • 46:17 - 46:23
    ist auch eine der größeren Sachen, und die
    haben scrypt verwendet. Die haben aber
  • 46:23 - 46:27
    auch nicht mit Kryptographen geredet, wie
    man die Parameter da vernünftig fährt mit
  • 46:27 - 46:31
    dem Ergebnis, dass jetzt mit ein bisschen
    Verspätung da auch ASICs kommen und
  • 46:31 - 46:37
    dieselbe Problematik, die wir bei Bitcoin
    haben, haben wir dort genauso. Auch hier
  • 46:37 - 46:39
    kriege ich manchmal bisschen die Krise,
    und ich sage, wir hätten das alles
  • 46:39 - 46:43
    demokratisch regeln können, wenn ihr mit
    uns geredet hättet. Wir hätten euch
  • 46:43 - 46:47
    umfangreiche Änderungen gesagt, nämlich
    genau eine Zahl geändert, einen Parameter
  • 46:47 - 46:51
    geändert. Dann wäre die ganze Sache auf
    einmal eine demokratische Veranstaltung
  • 46:51 - 46:56
    gewesen und nicht so, dass jetzt irgendwie
    sinnlos Sachen verbrannt werden und
  • 46:56 - 46:59
    irgendwelche.. nur noch Fabriken
    mitspielen dürfen. Das ist manchmal selbst
  • 46:59 - 47:03
    für Hacker und Mathematiker, die wissen,
    dass Zahlen eine gewisse Magie hat,
  • 47:03 - 47:10
    relativ gruselig. Also hier einen scrypt-
    Parameter richtig einzustellen, wär eine
  • 47:10 - 47:16
    gute Idee. Dann gibt es noch Passwort-
    Hashingverfahren.. äh, -Wettbewerbe, da
  • 47:16 - 47:19
    ist Argon2i, ne, war nicht - 2d!
    unverständlicher Kommentar aus dem Off
  • 47:19 - 47:22
    Du hast den Tippfehler wieder reingemacht,
    lacht
  • 47:22 - 47:26
    den du vorhin korrigiert hast!
    cforler: Ja, ja, wieder hinten integriert.
  • 47:26 - 47:29
    ruedi: Ä-ä-ä, das ist immer...
    cforler: Problem mit der Versionierung, ja.
  • 47:29 - 47:31
    ruedi: Das ist "d"!
    cforler: Das muß "d" sein.
  • 47:31 - 47:34
    ruedi: Naja, aber Catena-Stonefly, da hat
    er ja sich auch als Hauptautor
  • 47:34 - 47:39
    rausgemogelt, also Christian ist der Autor
    des ganzen Frameworks.
  • 47:39 - 47:42
    cforler: Mitautor, Co-Autor.
    ruedi: Co-Autor, ach so.
  • 47:42 - 47:45
    cforler: Das hab ich zusammen mit Stefan
    Lucks und Jakob Wenzel gemacht.
  • 47:45 - 47:50
    ruedi: Und das Catena-Stonefly ist eine
    Implementierung, die ganz besonders diese
  • 47:50 - 47:56
    Sachen adressiert, und - ne, haben wir die
    nicht - also, so sieht das aus, also ihr
  • 47:56 - 48:02
    seht, das ist ein bisschen was. Aber wenn
    man irgendwie große Geschichten jetzt
  • 48:02 - 48:06
    erwartet, ist es relativ überschaubar.
    Also das sind relativ naheliegende
  • 48:06 - 48:10
    Funktionen und das schöne ist halt an den
    Arbeiten von Forler et al.,
  • 48:10 - 48:14
    lacht
    dass da also sehr brutale Sicherheits..
  • 48:14 - 48:18
    also sehr ordentliche mathematische
    Sicherheitsschranken da ist. Also nochmal,
  • 48:18 - 48:22
    man könnte scrypt nehmen mit ein bisschen
    cleveren Parametern, oder man könnte das
  • 48:22 - 48:26
    andere Passwort-Hashing machen und dann
    hätte man mathematisch beweisbar, dass die
  • 48:26 - 48:31
    Leute nicht das auf Spezialhardware
    relativ einfach machen können. Also
  • 48:31 - 48:34
    nochmal diese Sache, die wir mehrfach
    gesagt.. redet mit Kryptographen. Noch
  • 48:34 - 48:39
    einmal, eine Zahl in diesen bitcoinartigen
    Sachen richtig gesetzt, hätten wir es
  • 48:39 - 48:44
    weiterhin demokratisch. Nicht mit
    Kryptographen geredet, gesagt: "OK, wir
  • 48:44 - 48:48
    machen Gentlemen's Agreement" bedeutet
    halt, dass irgendwie im Moment eine
  • 48:48 - 48:52
    obszöne Menge an Energie einfach fürs
    Mining verbrannt wird, und zwar völlig
  • 48:52 - 48:56
    nutzlos. Entschuldigung, ich stehe
    eigentlich auf Hashfunktionen, aber
  • 48:56 - 48:59
    irgendwie sinnlos irgendwie da vor sich
    hin zu hashen und alles wegzuschmeißen,
  • 48:59 - 49:04
    das kann nicht so die pfiffige Idee sein.
    Wenn man Proof of Work ist, noch einmal,
  • 49:04 - 49:08
    hier wäre es hilfreich gewesen, entweder
    also mit Kryptographen zu reden oder
  • 49:08 - 49:17
    zumindestens mal die Damen und Herren von
    Litecoin: Da mal überlegen, dass man die
  • 49:17 - 49:21
    Parameter vielleicht ein bisschen
    ordentlich setzen könnte. Gut, ich bin der
  • 49:21 - 49:28
    Meinung, dass wir wegkommen müssen von dem
    sinnlosen Heizen und deswegen werd ich in
  • 49:28 - 49:31
    den nächsten Monaten auch mit einem
    Doktoranden zusammen mal ein bisschen
  • 49:31 - 49:38
    arbeiten, Proof of Work nützlich zu
    machen. Da sind schon Ideen da, die im
  • 49:38 - 49:42
    Bereich Storage sind, da ist Filecoin z.B.
    ein Kandidat, der ähnliche Sachen macht.
  • 49:42 - 49:47
    Oder Network Services: ich habe durchaus
    die Überlegung dass es vielleicht sinnvoll
  • 49:47 - 49:53
    ist, bei der Anonymisierung des
    Webtraffics nicht auf das Tor-Projekt zu
  • 49:53 - 49:55
    vertrauen, dass seine Hauptfinanzierung
    vom amerikanischen
  • 49:55 - 50:01
    Verteidigungsministerium hat. Also ich
    hätte ganz gerne eine Konstruktion, wo
  • 50:01 - 50:06
    Router Netzwerk-Service, Tor-artige
    Services anbieten und damit praktisch auch
  • 50:06 - 50:11
    nebenher minen. Also dass praktisch Geräte
    sich selbst finanzieren und wenn man
  • 50:11 - 50:14
    irgendwie halt mal ein bisschen träumt,
    dann kann man halt sagen, man entwickelt
  • 50:14 - 50:18
    einen Router, den stellt man in der
    dritten Welt in die Sonne, solange Sonne
  • 50:18 - 50:24
    ist, tut der Energie machen und Services
    machen und wenn die Sonne weg ist, holt er
  • 50:24 - 50:28
    den Strom, aber bezahlt das mit der
    Arbeit, die er gemacht hat. Also dieser
  • 50:28 - 50:33
    Traum eines wirklich ganz autonomen
    Systems, das möchte ich noch auferhalten,
  • 50:33 - 50:37
    vielleicht einen Schritt zurück, ich hab
    einfach keine Lust, dass irgendwie Mining
  • 50:37 - 50:46
    - also wirklich 2^17 oder 2^73 Operationen
    - immer in sinnlose Umsetzung von Strom,
  • 50:46 - 50:49
    in Wärme, gemacht werden. Also vielleicht
    gibts..
  • 50:49 - 50:51
    Applaus
    Ja, Dankeschön.
  • 50:51 - 50:57
    Applaus
  • 50:57 - 50:59
    Applaus
    Und um es noch einmal zu wiederholen, den
  • 50:59 - 51:04
    ganzen Mist hätte man.. also diese Sachen
    sind anspruchsvoll und da sind sehr viele
  • 51:04 - 51:08
    Fragen zu klären, deswegen ist es eine
    schöne Promotion und ich bin da ein
  • 51:08 - 51:11
    altmodischer Professor, wenn es irgendwie
    die Welt nicht revolutioniert, 'ne gute
  • 51:11 - 51:15
    Promotionsthema ist es auf jeden Fall.
    Lachen
  • 51:15 - 51:18
    Insofern passiert die Revolution im Rahmen
    meiner dienstlichen Aufgaben, was
  • 51:18 - 51:22
    irgendwie von Professoren in meinem Alter
    immer eine ganz angenehme Perspektive auch
  • 51:22 - 51:27
    ist. Aber um es noch einmal zu betonen,
    wenn die Damen und Herren, die das gemacht
  • 51:27 - 51:30
    hätten, wirklich das Passwort-Hashing
    angeguckt hätten, wenn diese Litecoin-
  • 51:30 - 51:35
    Leute die Parameter richtig gemacht
    hätten, also nochmal: Macht euch die Kraft
  • 51:35 - 51:39
    von euch Programmierern und Mathematikern,
    und ne, sogar von euch Programmierern,
  • 51:39 - 51:43
    lest die Mathematik, die wir euch
    präsentieren, setzt die Zahl richtig und
  • 51:43 - 51:46
    ihr habt eine bessere Welt dadurch.
    Zumindestens, sagen wir mal, in dieser
  • 51:46 - 51:51
    virtuellen Welt, warte mal ab mit den
    Auswirkungen. Aber noch einmal, ich sage,
  • 51:51 - 51:57
    also erstens möchte ich einen wirklichen
    Proof of nützlicher, gesellschaftlich
  • 51:57 - 52:02
    nützlicher Arbeit. Zweitens, wenn ich
    dieses alte Proof of Work mach, das hätten
  • 52:02 - 52:06
    wir weiterhin demokratisch gehalten, wenn
    die Leute dieses Passwort-Hashing gemacht
  • 52:06 - 52:10
    hätten. Entweder das scrypt oder halt,
    sagen wir mal, die Sachen mit richtig hart
  • 52:10 - 52:14
    brutalen Sicherheitsbeweisen, die
    Christian da unter anderem entwickelt hat.
  • 52:14 - 52:20
    Kommen wir noch mal zum Ende. 'Wir sollten
    was tun' ist irgendwie das Ding, und ich
  • 52:20 - 52:24
    habe ja damals gesagt, Krypto-Magie ist,
    dass man auf einer kleinen,
  • 52:24 - 52:29
    fingernagelgroßen Fläche, oder mit ein
    paar Programmierzeilen, Code erzeugen
  • 52:29 - 52:32
    kann, den die Geheimdienste nicht brechen
    können. Das hat schon ein bisschen was
  • 52:32 - 52:37
    magisches, die.. problematisch ist, wenn
    man halt nicht reingucken kann und die
  • 52:37 - 52:42
    Leute das halt schlecht implementieren,
    wie das jetzt bei Infineon in Zusammenhang
  • 52:42 - 52:48
    mit den TPM-Chips passiert hat. - Oh, da
    haben wir eine Folie, die muss ich, glaube
  • 52:48 - 52:55
    ich, nachhalten. - Also bei den TPM-Chips,
    Infenion war einer der Hauptkandidaten,
  • 52:55 - 52:59
    und da ist es einfach so, das ist zwar
    vom BSI zertifiziert worden, aber
  • 52:59 - 53:03
    offensichtlich reicht das nicht aus. Wenn
    das Open Source gewesen wäre, wenn man da
  • 53:03 - 53:06
    reingucken könnte, dann hätte ein
    talentierter Doktorand wirklich nur wenige
  • 53:06 - 53:10
    Stunden gebraucht, um aufzuschreien und
    den Fehler zu finden. Also wir brauchen
  • 53:10 - 53:17
    wirklich auf der untersten Ebene Open
    Source ganz dringend. Wir brauchen freie
  • 53:17 - 53:20
    Software, die verhindert Hintertüren und
    ermöglicht das Finden der Fehler. Noch mal
  • 53:20 - 53:26
    zusammenzufassen: das BSI ist gutmütig,
    sie haben auch sehr gute Kryptographen,
  • 53:26 - 53:30
    aber sie haben es nicht gefunden. Und BSI
    ist noch eine der staatlichen
  • 53:30 - 53:34
    Organisationen, die ich noch am ehesten
    vertraue, sie haben es da episch gefailed.
  • 53:34 - 53:39
    Nochmal zur Erinnerung, diese Infineon-
    Chips stecken in den ganzen Google
  • 53:39 - 53:43
    Chromebooks an, wo in Amerika wirklich
    eine ganze Generation von Schülern mit
  • 53:43 - 53:49
    rumspringt: die haben's vermasselt. Also
    offensichtlich klappt es nur, wenn es
  • 53:49 - 53:54
    öffentlich ist und da darf ich noch mal
    auf meine geschätzten Kolleginnen und
  • 53:54 - 54:02
    Kollegen Bernstein, Lange und Nadja ...
    äh, Namen vergessen?
  • 54:02 - 54:05
    cforler: Tanja?
    ruedi: Heninger. Heninger, Entschuldigung.
  • 54:05 - 54:12
    Nadja Heninger. In dem Vortrag war einer der
    Highlights, wo sie gezeigt haben: Ha! Da
  • 54:12 - 54:16
    sind die Ergeb.. da sind die Submissions,
    Veröffentlichungen für diese Post-Quantum
  • 54:16 - 54:20
    Sache und innerhalb des ersten Abends, die
    haben sich wirklich einen Spaß gemacht,
  • 54:20 - 54:25
    und haben irgendwie 10 % von den Sachen
    innerhalb von drei Stunden zertrümmert.
  • 54:25 - 54:29
    Nehmen wir einfach mal zur Kenntnis, die
    öffentliche Kryptographie ist so viel
  • 54:29 - 54:35
    besser als Kryptographie hinter
    verschlossenen Türen. Dass das wirklich
  • 54:35 - 54:39
    hier ein Punkt ist: es ist nix
    ideologisches, aber der Code muss lesbar
  • 54:39 - 54:43
    sein. Das ist vernünftigerweise unter
    Open-Source-Lizenz, aber er muss lesbar
  • 54:43 - 54:47
    sein, die Community muss da reingucken.
    Keine Behörde ist offensichtlich dazu in
  • 54:47 - 54:52
    der Lage, das in irgendeiner Weise
    ordentlich zu machen. Der letzte Teil wird
  • 54:52 - 55:00
    nicht bei 'tuwat!' - Dankeschön.
    Applaus
  • 55:00 - 55:03
    Der letzte Teil von 'tuwat!'
    ist auch ein bisschen launisch, das habe
  • 55:03 - 55:08
    ich mir erlaubt, aber da irgendwie die
    Mathematik scheinbar so abschreckend ist,
  • 55:08 - 55:13
    dass es kaum jemand programmiert, gehen
    jetzt immer mehr Mathematiker dazu über,
  • 55:13 - 55:17
    brandneue Protokolle direkt zu
    implementieren. Als Erstes muss ich
  • 55:17 - 55:22
    sehr.. als sehr positives Beispiel den
    Herrn Kollegen Heiko Stamer erwähnen, der
  • 55:22 - 55:26
    hat auch am Datengarten einen sehr schönen
    Vortrag gemacht, da ging es um verteilte
  • 55:26 - 55:29
    Schlüsselerzeugung und
    Schwellenwertkryptographie. Da sind so
  • 55:29 - 55:33
    Sachen, wie wenn man sagt, in einer Welt,
    wo man wenig Leuten vertrauen kann, ist es
  • 55:33 - 55:37
    gut kryptographische Verfahren haben, wo
    man mathematische Beschreibung hat, des
  • 55:37 - 55:41
    Vertrauens. Also muss man einem aus einer
    Gruppe vertrauen, zwei aus einer Gruppe..
  • 55:41 - 55:44
    das können wir alles mit
    Schwellenwertkryptographie ganz gut
  • 55:44 - 55:50
    machen. Wie gesagt, das sind ganz aktuelle
    Implementierungen von 2017, die Arbeiten
  • 55:50 - 55:56
    vorher sind auch relativ neu, die sind von
    1987.
  • 55:56 - 56:00
    Kichern
    Ja, ihr könnt ruhig lachen, das ist ein
  • 56:00 - 56:04
    Weilchen her, aber ihr könnt auch auf
    diese Folie warten, weil diese Sachen -
  • 56:04 - 56:09
    oh, das ist jetzt auch rausgeflogen -
    Blind Signature, wo ich also mit einem
  • 56:09 - 56:14
    Masterstudenten von mir ein bisl was
    entwickelt hab, 2016, auch auf der Open
  • 56:14 - 56:20
    TechSummit vorgestanden hab, basiert auf
    Blind Signature von David Chaum und die
  • 56:20 - 56:25
    sind von 1983. Und wir haben uns auch nur
    soviel Zeit gemacht, weil jetzt die
  • 56:25 - 56:28
    Patente endlich abgelaufen sind.
    Lachen
  • 56:28 - 56:33
    Spaß beiseite. Nicht alles, was wir hier
    machen.. also, elliptische Kurven ist
  • 56:33 - 56:39
    schon relativ harte Mathematik. Auch die
    Schwellwertkryptographie ist durchaus
  • 56:39 - 56:42
    harte Mathematik. Ich will das gar nicht
    so sagen: "Also guckt es einfach an, dann
  • 56:42 - 56:47
    ist es lösbar". Aber es gibt einen ganzen
    Kanon voll Sachen, wo es wirklich eine
  • 56:47 - 56:52
    kurze Frage an Kryptographen benötigt, um
    dann den richtigen Tipp in die richtige
  • 56:52 - 56:57
    Richtung zu machen. Auch diese Sache, dass
    wir halt programmieren, das war jetzt ein
  • 56:57 - 57:03
    bisschen arg schnippisch gesagt also: "Wir
    tun idiotensichere Krypto entwickeln".
  • 57:03 - 57:07
    Idiotensicher ist ein relativer Begriff.
    Ein armes, eingebettetes Gerät ohne
  • 57:07 - 57:14
    externe.. ohne interne Zufallsquelle hat
    halt keine gute Zufallsquelle. Also
  • 57:14 - 57:19
    insofern noch einmal, also wir arbeiten
    wirklich an einem System, möglichst robust
  • 57:19 - 57:23
    zu sein, in anderen Worten. Eine
    Nachricht, die hier noch einmal vielleicht
  • 57:23 - 57:28
    an die Standardisierung geht, ist wirklich
    der Punkt, zu sagen, GCM ist
  • 57:28 - 57:33
    offensichtlich für einige Probleme, also
    wenn diese Leute richtige Nonces machen -
  • 57:33 - 57:37
    wunderbar, supi. Aber willkommen in der
    realen Welt: Angreifer können dann
  • 57:37 - 57:42
    irgendwie anfangen, eben Nonces zu rempeln
    und dann auf einmal die Sicherheit und die
  • 57:42 - 57:48
    Integrität des ganzen Systems nachhaltig
    gefährden. Insofern ist das, glaube ich,
  • 57:48 - 57:54
    keine gute Idee, das als einzige Sache zu
    machen. Enden wir mit den guten Worten von
  • 57:54 - 58:01
    Edward Snowden: "Krypto ist keine dunkle,
    alte Kunst, sondern es ist wirklich eine
  • 58:01 - 58:07
    basic Protection, eine grundlegende..
    Schutz da, wir müssen implementieren und
  • 58:07 - 58:11
    aktiv daran forschen". Und noch einmal, um
    zusammenzufassen, zu sagen, auch nach
  • 58:11 - 58:17
    vielen Jahren Snowden muss ich sagen,
    Kryptographie ist das, was uns vor der
  • 58:17 - 58:22
    Barbarei der Geheimdienste schützt. Die
    Politik hat da auch in den letzten Jahren
  • 58:22 - 58:26
    nicht unbedingt sehr gute Ergebnisse
    gezeigt. Insofern, vielen Dank für eure
  • 58:26 - 58:32
    Aufmerksamkeit.
    Applaus
  • 58:32 - 58:37
    cforler: Just in time!
    ruedi (zu cforler): Oh, da fehlten 1,2
  • 58:37 - 58:47
    Folien noch...
    Herald: So es hat ja geheißen, man soll
  • 58:47 - 58:51
    die Kryptographen fragen, nur leider ist
    die Zeit jetzt alle.
  • 58:51 - 58:54
    Unmuts-Laute
    Das heißt, ihr dürft, wie angekündigt, die
  • 58:54 - 58:58
    Fragen über ein Käffchen stellen,
    allerdings leider nicht mehr hier drin.
  • 58:58 - 59:02
    Aber trotzdem eine Runde schönen Applaus
    für unsere beiden Vortragenden! Vielen
  • 59:02 - 59:07
    Dank.
    Applaus
  • 59:07 - 59:12
    Abspannmusik
  • 59:12 - 59:29
    Untertitel erstellt von c3subtitles.de
    im Jahr 2018. Mach mit und hilf uns!
Title:
34C3 - Resilienced Kryptographie
Description:

more » « less
Video Language:
German
Duration:
59:29

German subtitles

Revisions