0 00:00:00,000 --> 00:00:30,000 Lieber Zuschauer, dieser Untertitel wurde automatisch generiert von Trint und dementsprechend (sehr) fehlerhaft. Wenn du kannst, hilf uns bitte gute Untertitel zu erstellen: https://c3subtitles.de/talk/159 Danke! 1 00:00:09,140 --> 00:00:10,939 Also willkommen zum nächsten Talk, zum 2 00:00:10,940 --> 00:00:13,099 letzten Talk live aus dem Saal 2. 3 00:00:14,210 --> 00:00:16,128 Es geht um einen weiteren Talk, um 4 00:00:16,129 --> 00:00:18,199 Kryptographie, um was eigentlich 5 00:00:18,200 --> 00:00:19,639 ein Bit ausmachen kann in der 6 00:00:19,640 --> 00:00:20,599 Kryptographie. 7 00:00:20,600 --> 00:00:22,309 Und ich bitte euch um einen Warm und 8 00:00:22,310 --> 00:00:24,289 einen warmen Applaus für Jens Kubicki. 9 00:00:31,630 --> 00:00:32,889 Ja, herzlich willkommen zu meinem 10 00:00:32,890 --> 00:00:34,599 Vortrag. Vielen Dank, dass Sie so 11 00:00:34,600 --> 00:00:36,669 zahlreich erschienen seid. 12 00:00:36,670 --> 00:00:39,129 Bevor ich anfange, vielleicht eine kleine 13 00:00:39,130 --> 00:00:40,449 Bitte Hat jemand von euch einen 14 00:00:40,450 --> 00:00:42,549 Laserpointer einstecken, der, den 15 00:00:42,550 --> 00:00:43,719 ich mir mal ausleihen kann? Ich habe ihn 16 00:00:43,720 --> 00:00:45,879 leider liegen lassen. 17 00:00:45,880 --> 00:00:46,989 Wer ihn hat. Es wäre schön, wenn er mir 18 00:00:46,990 --> 00:00:48,489 denn mal vielleicht ausleihen könntet. 19 00:00:48,490 --> 00:00:50,079 Ansonsten versuche ich durch verlängerten 20 00:00:50,080 --> 00:00:52,599 Finger das dann an meinen Folien 21 00:00:52,600 --> 00:00:54,409 zu machen. 22 00:00:54,410 --> 00:00:56,629 Ähm ja. 23 00:00:56,630 --> 00:00:57,729 Langer Titel. Ich glaube, ich habe 24 00:00:57,730 --> 00:00:59,019 irgendwie jetzt den Rekord für den 25 00:00:59,020 --> 00:01:01,089 längsten Titel des Kongresses oder 26 00:01:01,090 --> 00:01:02,319 so zwischen super sicherer 27 00:01:02,320 --> 00:01:04,568 Verschlüsselung und Klartext 28 00:01:04,569 --> 00:01:06,879 liegt nur ein Witz und 29 00:01:06,880 --> 00:01:08,589 wir werden im Verlauf des Vortrages 30 00:01:08,590 --> 00:01:10,749 sehen, dass das in der Tat 31 00:01:10,750 --> 00:01:13,329 richtig ist. Man kann, wenn man ein 32 00:01:13,330 --> 00:01:15,009 Bit kennt, in der Tat ein bissl was 33 00:01:15,010 --> 00:01:16,599 kaputt machen. 34 00:01:16,600 --> 00:01:18,729 Ja, durch den 35 00:01:18,730 --> 00:01:20,379 Kongress, also den letzten Tagen, zog 36 00:01:20,380 --> 00:01:21,819 sich ja immer wieder diese Diskussion 37 00:01:21,820 --> 00:01:23,349 Snowden etc. 38 00:01:23,350 --> 00:01:25,269 Also seit Juni gibt es diverse 39 00:01:25,270 --> 00:01:27,369 Diskussionen in der Presse, 40 00:01:27,370 --> 00:01:29,799 in anderen Medien mehr Verschlüsselung 41 00:01:29,800 --> 00:01:31,149 zu nutzen. 42 00:01:31,150 --> 00:01:32,150 Super, danke! 43 00:01:34,720 --> 00:01:36,789 Verschlüsselung zu nutzen 44 00:01:36,790 --> 00:01:38,979 und in der Tat gibt es also Leute, 45 00:01:38,980 --> 00:01:41,649 die verrückt genug sind 46 00:01:41,650 --> 00:01:44,079 und nutzen Krypto, setzen PGP 47 00:01:44,080 --> 00:01:45,039 ein. 48 00:01:45,040 --> 00:01:47,169 Gucken, dass ihre Chats 49 00:01:47,170 --> 00:01:48,699 verschlüsselt sind etc.. 50 00:01:48,700 --> 00:01:50,829 Und es gibt auch mehr und mehr 51 00:01:50,830 --> 00:01:52,869 Leute, die anfangen selbst Crypto zu 52 00:01:52,870 --> 00:01:54,579 implementieren. 53 00:01:54,580 --> 00:01:56,949 Und das hat mir so ein bisschen Bedenken 54 00:01:56,950 --> 00:01:59,259 gemacht und noch zu denken gegeben, weil 55 00:01:59,260 --> 00:02:01,179 es gibt halt immer wieder Fehler, die 56 00:02:01,180 --> 00:02:02,289 gemacht werden, wenn man Crypto 57 00:02:02,290 --> 00:02:03,339 implementiert. 58 00:02:03,340 --> 00:02:05,439 Und ich will im Laufe des 59 00:02:05,440 --> 00:02:07,809 Vortrages mal ein paar 60 00:02:07,810 --> 00:02:09,339 aus meiner Sicht allgemeine Fehler 61 00:02:09,340 --> 00:02:12,039 aufzeigen, die passieren können 62 00:02:12,040 --> 00:02:14,199 und die vielleicht gar nicht 63 00:02:14,200 --> 00:02:16,389 so einfach als Fehler zu identifizieren 64 00:02:16,390 --> 00:02:18,849 sind. Aber wenn sie denn passieren, 65 00:02:18,850 --> 00:02:21,909 haben die sehr oft katastrophale Folgen 66 00:02:21,910 --> 00:02:23,829 und ich versuche es mal mit einfachen 67 00:02:23,830 --> 00:02:25,329 Sachen anzufangen und mich dann nach und 68 00:02:25,330 --> 00:02:27,579 nach ein bisschen 69 00:02:27,580 --> 00:02:28,580 zu steigern. 70 00:02:29,650 --> 00:02:31,929 Was die Angriffe etc. 71 00:02:31,930 --> 00:02:34,059 betrifft ja, wenn man 72 00:02:34,060 --> 00:02:36,369 so an Kryptographie denkt, 73 00:02:36,370 --> 00:02:37,539 sich mit Leuten über Kryptographie 74 00:02:37,540 --> 00:02:39,669 unterhält, gibt es viele 75 00:02:39,670 --> 00:02:41,889 Irrglauben oder auch korrekte Glauben. 76 00:02:41,890 --> 00:02:43,959 Das erste, was man relativ häufig hört 77 00:02:43,960 --> 00:02:44,979 von Leuten, die sich mit dem Thema 78 00:02:44,980 --> 00:02:47,649 beschäftigt haben, heißt das ist viel 79 00:02:47,650 --> 00:02:49,899 Mathematik und ist natürlich 80 00:02:49,900 --> 00:02:52,059 richtig. Also wer von 81 00:02:52,060 --> 00:02:54,399 euch gestern in dem Talk von 82 00:02:54,400 --> 00:02:56,499 Bernstein und anderen gewesen 83 00:02:56,500 --> 00:02:58,719 ist, der wird da in den Folien 84 00:02:58,720 --> 00:03:01,089 relativ viele Formeln gesehen haben, 85 00:03:01,090 --> 00:03:03,039 vielleicht auch Mathematik, die, die 86 00:03:03,040 --> 00:03:04,569 kompliziert aussah. 87 00:03:04,570 --> 00:03:05,799 Und das ist natürlich so Wenn man jetzt 88 00:03:05,800 --> 00:03:07,899 so an elliptische Kurven denkt, 89 00:03:07,900 --> 00:03:09,969 wird es schon relativ viel anspruchsvolle 90 00:03:09,970 --> 00:03:10,869 Mathematik. 91 00:03:10,870 --> 00:03:13,449 Und mich hat vor kurzem jemand auf 92 00:03:13,450 --> 00:03:14,979 ein weiteres Verfahren gestoßen. 93 00:03:14,980 --> 00:03:16,630 Das oder offene 94 00:03:17,890 --> 00:03:19,719 Matrizen im Speziellen sind sogenannte 95 00:03:19,720 --> 00:03:21,849 Hadamar. Matrizen sind an sich 96 00:03:21,850 --> 00:03:23,559 ganz einfach. Das sind so quadratische 97 00:03:23,560 --> 00:03:25,329 Matrizen, die nur aus 1 und minus 1 98 00:03:25,330 --> 00:03:27,399 bestehen. Und wenn 99 00:03:27,400 --> 00:03:29,289 man die halt geschickt einsetzt, kann man 100 00:03:29,290 --> 00:03:31,599 daraus auch so Funktionen 101 00:03:31,600 --> 00:03:34,179 bauen, die für die Kryptographie 102 00:03:35,200 --> 00:03:37,959 also Spaß machen, mit dem man Sachen 103 00:03:37,960 --> 00:03:40,029 machen kann. Und interessanterweise, wenn 104 00:03:40,030 --> 00:03:43,149 man mal versucht, dort ein paar Papers 105 00:03:43,150 --> 00:03:45,579 zu finden, die diese Matrizen 106 00:03:45,580 --> 00:03:47,289 wirklich im Bereich der Kryptographie 107 00:03:47,290 --> 00:03:49,419 einsetzen, findet 108 00:03:49,420 --> 00:03:50,709 man da relativ wenig. 109 00:03:50,710 --> 00:03:52,029 Und wenn man mal dann guckt, was gibt es 110 00:03:52,030 --> 00:03:54,819 an Konferenzen, wo Leute 111 00:03:54,820 --> 00:03:55,899 sich vielleicht über das Thema 112 00:03:55,900 --> 00:03:57,099 unterhalten? 113 00:03:57,100 --> 00:03:58,419 Dann stellt man fest, dass dieser kleine 114 00:03:58,420 --> 00:04:00,759 Workshop so von 10 15 Leuten 115 00:04:00,760 --> 00:04:01,659 Teilnehmer sind. 116 00:04:01,660 --> 00:04:03,009 Besteht dann in der Regel so aus sieben 117 00:04:03,010 --> 00:04:05,149 bis zehn Leuten, die bei denen 118 00:04:05,150 --> 00:04:06,279 es arbeiten. 119 00:04:06,280 --> 00:04:07,569 Noch ein paar Leute, die bei der University 120 00:04:07,570 --> 00:04:08,949 of Maryland arbeiten, also sozusagen 121 00:04:08,950 --> 00:04:10,660 direkt im Nachbargebäude. 122 00:04:13,120 --> 00:04:14,949 Ich vermute auch wenn man sozusagen die 123 00:04:14,950 --> 00:04:17,169 Veröffentlichungen liest, dass 124 00:04:17,170 --> 00:04:19,569 da der eine oder andere innerhalb der 125 00:04:19,570 --> 00:04:21,609 Behörde doch mehr Nutzen gefunden hat. 126 00:04:21,610 --> 00:04:24,039 Also es gibt also auch noch viel 127 00:04:24,040 --> 00:04:25,119 neben der öffentlich bekannten 128 00:04:25,120 --> 00:04:27,429 Kryptographie, die vielleicht auch hier 129 00:04:27,430 --> 00:04:30,459 interessant ist. Aber wie gesagt, oftmals 130 00:04:30,460 --> 00:04:32,199 ist halt der Glaube und das vermutlich 131 00:04:32,200 --> 00:04:34,539 auch richtig, je mehr man an 132 00:04:34,540 --> 00:04:35,919 Kryptografie ran kommt. 133 00:04:35,920 --> 00:04:37,389 Man braucht halt viel mathematisches 134 00:04:37,390 --> 00:04:38,390 Vorwissen. 135 00:04:39,190 --> 00:04:40,499 So ein grundsätzlicher Glaube, der auch 136 00:04:40,500 --> 00:04:41,529 immer vorher schon herrscht. Bei 137 00:04:41,530 --> 00:04:43,449 Kryptographie ist, wenn ich Krypto 138 00:04:43,450 --> 00:04:44,559 verwende, wenn eine Verschlüsselung 139 00:04:44,560 --> 00:04:46,419 einsetzt, dann bin ich sicher, das macht 140 00:04:46,420 --> 00:04:48,519 mich sicherer. Meine Kommunikation kann 141 00:04:48,520 --> 00:04:49,689 nix mehr passieren. 142 00:04:49,690 --> 00:04:52,389 Und die Variante für Experten ist dann 143 00:04:52,390 --> 00:04:54,339 Ja, ich nehme einfach einen Schlüssel und 144 00:04:54,340 --> 00:04:55,419 dann bin ich noch viel sicherer als 145 00:04:55,420 --> 00:04:56,420 vorher. Und 146 00:04:57,580 --> 00:04:59,290 bei vielen Leuten gibt es dann zu diese 147 00:05:00,310 --> 00:05:02,469 diese Verwirrung, dass sie 148 00:05:02,470 --> 00:05:04,929 sagen Na gut, 1024 Bit Ersatzschlüssel 149 00:05:04,930 --> 00:05:07,159 ist viel sicherer als ein 128 mit 150 00:05:07,160 --> 00:05:08,149 ist Schlüssel zum Beispiel. 151 00:05:08,150 --> 00:05:10,509 Also dieser Vergleich Äpfel mit Birnen 152 00:05:10,510 --> 00:05:12,549 oder halt auch das hatte schon eine 153 00:05:12,550 --> 00:05:14,389 Diskussion. Vor kurzem lebt das Sagen. 154 00:05:14,390 --> 00:05:16,899 Ös 256 ist 155 00:05:16,900 --> 00:05:19,809 viel sicherer als das 128, 156 00:05:19,810 --> 00:05:22,239 was zumindest in der Theorie 157 00:05:22,240 --> 00:05:24,729 auch nicht ganz richtig ist. 158 00:05:24,730 --> 00:05:26,949 Ja, oder dann sozusagen 159 00:05:26,950 --> 00:05:28,269 eine Sache, die man auch immer wieder 160 00:05:28,270 --> 00:05:30,849 hört, ist so ähnlich wie vorher. 161 00:05:30,850 --> 00:05:33,699 Ich Wenn ich den Algorithmus XY verwende, 162 00:05:33,700 --> 00:05:35,899 dann kann mir nichts passieren, weil 163 00:05:35,900 --> 00:05:37,929 den haben soundso viele Experten 164 00:05:37,930 --> 00:05:40,419 angeguckt und der ist quasi 165 00:05:40,420 --> 00:05:41,420 Nachbar. 166 00:05:41,950 --> 00:05:43,629 Und ein bisschen was von diesem 167 00:05:43,630 --> 00:05:45,239 Irrglauben will ich versuchen, heute 168 00:05:45,240 --> 00:05:48,189 meinem Vortrag auch zu zerstören. 169 00:05:48,190 --> 00:05:50,499 Dazu habe ich mir so ich sage mal sechs 170 00:05:50,500 --> 00:05:51,969 Regeln, wie ich es genannt habe, also 171 00:05:51,970 --> 00:05:54,789 sechs Handreichung mit 172 00:05:54,790 --> 00:05:56,319 ausgedacht. Das erste ist 173 00:05:57,400 --> 00:05:59,069 mag vielleicht einfach klingen, heißt 174 00:05:59,070 --> 00:06:00,009 Erfinde nicht deinen eigenen 175 00:06:00,010 --> 00:06:01,029 Kryptographie eine Routinen. 176 00:06:01,030 --> 00:06:03,459 Das heißt, denkt euch nicht eigene 177 00:06:03,460 --> 00:06:04,869 Verschlüsselung, Protokolle, eigene 178 00:06:04,870 --> 00:06:05,870 andere Sachen aus. 179 00:06:07,030 --> 00:06:08,079 Schneider hat das mal 180 00:06:09,190 --> 00:06:11,079 relativ gut zusammengefasst, hat gesagt, 181 00:06:11,080 --> 00:06:13,419 es ist für jeden in der Welt 182 00:06:13,420 --> 00:06:15,969 in diesem Saal hier sehr, sehr einfach, 183 00:06:15,970 --> 00:06:18,069 ein Algorithmus auszudenken, 184 00:06:18,070 --> 00:06:19,629 den er selbst nicht brechen kann. 185 00:06:20,650 --> 00:06:22,779 Aber es ist viel, viel schwerer, 186 00:06:22,780 --> 00:06:24,849 einen zu finden, den auch niemand anderes 187 00:06:24,850 --> 00:06:25,929 sprechen kann. 188 00:06:25,930 --> 00:06:27,549 Und das ist eine Sache, die 189 00:06:28,720 --> 00:06:29,949 man in der Vergangenheit immer wieder 190 00:06:29,950 --> 00:06:31,659 gesehen hat. Also auch so weit vorne ist 191 00:06:31,660 --> 00:06:32,569 eher so vor zehn. 192 00:06:32,570 --> 00:06:34,689 15 Jahren im Usenet, als 193 00:06:34,690 --> 00:06:36,879 es noch aktiv bespielt 194 00:06:36,880 --> 00:06:38,829 wurde, gab es immer wieder Leute, die 195 00:06:38,830 --> 00:06:40,239 diese Krypto Gruppen gekommen sind und 196 00:06:40,240 --> 00:06:41,559 haben gesagt Ja, ich habe hier einen 197 00:06:41,560 --> 00:06:43,629 tollen Algorithmus entwickelt 198 00:06:43,630 --> 00:06:44,799 und der ist super sicher. 199 00:06:46,420 --> 00:06:47,559 Guckt euch den mal an. 200 00:06:47,560 --> 00:06:48,759 Wenn man Glück hatte haben sie gesagt 201 00:06:48,760 --> 00:06:49,869 guckt euch den an und dann ist er 202 00:06:49,870 --> 00:06:51,819 irgendwie auch sehr schnell auseinandergebrochen. 203 00:06:51,820 --> 00:06:53,019 Die Regel war es eher so, dass sie gesagt 204 00:06:53,020 --> 00:06:55,269 haben ich habe hier drei Zeilen 205 00:06:55,270 --> 00:06:57,639 mit meinem super tollen Algorithmus 206 00:06:57,640 --> 00:06:59,289 verschlüsselt. Versucht das mal zu 207 00:06:59,290 --> 00:07:00,639 brechen, kriegt ihr nie raus. 208 00:07:02,500 --> 00:07:04,419 Und so in dieser Art und Weise findet man 209 00:07:04,420 --> 00:07:05,709 immer wieder Statements. 210 00:07:05,710 --> 00:07:07,419 Und wenn man dann mal versucht, sich die 211 00:07:07,420 --> 00:07:08,889 Algorithmen wirklich anzugucken, gehen 212 00:07:08,890 --> 00:07:11,049 die eigentlich sehr schnell kaputt. 213 00:07:11,050 --> 00:07:12,699 Das einzige, woran ich mich so über die 214 00:07:12,700 --> 00:07:15,309 Jahre erinnere, 215 00:07:15,310 --> 00:07:17,259 ist eine Webseite, die heißt Crypto 216 00:07:17,260 --> 00:07:18,459 Funknetz. 217 00:07:18,460 --> 00:07:20,629 Und dieser Mensch hat 218 00:07:20,630 --> 00:07:22,839 es ist halt 219 00:07:22,840 --> 00:07:24,729 jeder Analyse stand. 220 00:07:24,730 --> 00:07:25,899 Also die Webseite ist. 221 00:07:25,900 --> 00:07:27,579 Also ich habe mal guckt, die gibt es auch 222 00:07:27,580 --> 00:07:29,829 heute noch. Interessanterweise sieht 223 00:07:29,830 --> 00:07:32,139 aus wie so von vor 20 224 00:07:32,140 --> 00:07:34,459 Jahren, ungefähr so Einzelpunkten 225 00:07:34,460 --> 00:07:35,949 Kommentar bietet natürlich eine super 226 00:07:35,950 --> 00:07:38,079 Verschlüsselung an. Also es ist ganz 227 00:07:38,080 --> 00:07:39,080 toll. 228 00:07:39,670 --> 00:07:41,199 Ja, was macht man stattdessen, 229 00:07:42,670 --> 00:07:44,229 wenn man wirklich da hingehen will? 230 00:07:44,230 --> 00:07:46,359 Eigene Algorithmen zu entwickeln ist 231 00:07:46,360 --> 00:07:47,379 meiner. 232 00:07:47,380 --> 00:07:48,729 Meiner Meinung nach sollte man hingehen 233 00:07:48,730 --> 00:07:50,469 sich zunächst mit Krypto Analyse zu 234 00:07:50,470 --> 00:07:51,669 beschäftigen, das heißt mit der 235 00:07:51,670 --> 00:07:53,829 Wissenschaft kurz zu brechen. 236 00:07:53,830 --> 00:07:56,079 Und was was ich persönlich als 237 00:07:56,080 --> 00:07:58,149 als Quelle für ganz ganz sinnvoll, 238 00:07:58,150 --> 00:08:00,009 ganz nützlich halte, ist so eine Serie 239 00:08:00,010 --> 00:08:01,629 von Büchern, die heißt Military Crypto 240 00:08:01,630 --> 00:08:02,559 Analysis. 241 00:08:02,560 --> 00:08:03,560 Das ist 242 00:08:04,660 --> 00:08:06,939 ein Kurs, der bei der NSA gehalten wurde, 243 00:08:06,940 --> 00:08:09,039 vielleicht auch noch gehalten wird, 244 00:08:09,040 --> 00:08:11,289 ist entwickelt worden von Freedman, 245 00:08:11,290 --> 00:08:12,939 also auch einer der großen Kryptographie. 246 00:08:12,940 --> 00:08:14,049 Später im Haus ein bisschen 247 00:08:14,050 --> 00:08:16,119 weiterentwickelt ist 248 00:08:16,120 --> 00:08:17,379 glaube ich so. 249 00:08:17,380 --> 00:08:19,119 Also die Version, die öffentlich ist, 250 00:08:19,120 --> 00:08:20,709 müsste es aus den 70er-Jahren sein, wenn 251 00:08:20,710 --> 00:08:21,909 ich mich nicht täusche. 252 00:08:21,910 --> 00:08:24,669 Und die haben in vier 253 00:08:24,670 --> 00:08:25,899 Bänden sozusagen. 254 00:08:25,900 --> 00:08:27,069 Gehen Sie durch verschiedene 255 00:08:28,660 --> 00:08:30,339 krypto analytische Verfahren durch 256 00:08:30,340 --> 00:08:32,558 Versuche mit Übungsaufgaben. 257 00:08:32,559 --> 00:08:35,058 Die Leute, die das mitmachen, halt 258 00:08:35,059 --> 00:08:36,639 so bisschen zu begleiten, uns zu 259 00:08:36,640 --> 00:08:38,798 erklären, wie kann man kurz sprechen 260 00:08:38,799 --> 00:08:40,509 und das ist halt wie gesagt, war 261 00:08:41,559 --> 00:08:42,729 ein Kurs, der entwickelt wurde für die 262 00:08:42,730 --> 00:08:44,949 interne NSA Analysten 263 00:08:44,950 --> 00:08:46,959 und ist jetzt halt irgendwann mal durch 264 00:08:46,960 --> 00:08:48,849 so eine Klage in den USA frei geklagt 265 00:08:48,850 --> 00:08:49,839 worden. 266 00:08:49,840 --> 00:08:51,969 Und es ist ganz interessant zu lesen. 267 00:08:51,970 --> 00:08:53,829 Wenn man sich dann halt ein bisschen das 268 00:08:53,830 --> 00:08:55,179 Wissen angeeignet hat, sollte man als 269 00:08:55,180 --> 00:08:56,829 nächster halt versuchen, real 270 00:08:56,830 --> 00:08:59,209 existierende Codes zu brechen. 271 00:08:59,210 --> 00:09:01,149 Das heißt, es gibt ja halt sehr viele 272 00:09:01,150 --> 00:09:03,699 Codes die existieren 273 00:09:03,700 --> 00:09:05,799 und man versucht einfach dann mit 274 00:09:05,800 --> 00:09:07,209 dem existierenden Wissen die Codes zu 275 00:09:07,210 --> 00:09:09,429 brechen und auch durchaus so 276 00:09:09,430 --> 00:09:11,739 Algorithmen, die sozusagen als sicher 277 00:09:11,740 --> 00:09:13,859 gelten. Das nimmt man halt nicht 278 00:09:13,860 --> 00:09:15,699 in die volle runden Zahl, sondern 279 00:09:15,700 --> 00:09:17,389 reduziert die guckt zuerst mal nur ein 280 00:09:17,390 --> 00:09:18,999 Runde. Es anguckt wo sind die 281 00:09:19,000 --> 00:09:21,549 Schwachstellen, was kann ich machen und 282 00:09:21,550 --> 00:09:22,719 gehe dann zu Schritt für Schritt weiter. 283 00:09:22,720 --> 00:09:24,819 Und dann lernt man halt 284 00:09:24,820 --> 00:09:27,249 aus meiner Sicht relativ viel. 285 00:09:27,250 --> 00:09:29,169 Und wenn man das gemacht hat und wirklich 286 00:09:29,170 --> 00:09:31,329 mal was neues erfunden hat, dann ist es 287 00:09:31,330 --> 00:09:32,769 wirklich essenziell wichtig, diese 288 00:09:32,770 --> 00:09:34,869 Erfindung sozusagen Tribun 289 00:09:34,870 --> 00:09:37,039 zu lassen. Das heißt, für die Leute, die 290 00:09:37,040 --> 00:09:39,009 ein erfolgreiches Höchstmaß an gebunden 291 00:09:39,010 --> 00:09:40,449 sind, kann es schon ausreichen, mit 292 00:09:40,450 --> 00:09:42,639 diesem Algorithmus einfach 293 00:09:42,640 --> 00:09:44,799 mal in den Kreis reinzugehen, 294 00:09:44,800 --> 00:09:46,869 mit den Leuten da zu reden, 295 00:09:46,870 --> 00:09:48,339 zu gucken, ob die das sprechen können und 296 00:09:48,340 --> 00:09:50,229 dann so nach und nach auch mit anderen 297 00:09:50,230 --> 00:09:52,239 Leuten zu reden. Und was immer wieder 298 00:09:52,240 --> 00:09:53,629 wichtig ist, das ist auch seine Lehre, 299 00:09:53,630 --> 00:09:55,269 die auch schon 200 Jahre alt ist. 300 00:09:55,270 --> 00:09:56,889 Die, wo man annimmt, das sollte jeder 301 00:09:56,890 --> 00:09:59,019 kennen, ist halt die sogenannten Kerkhoff 302 00:09:59,020 --> 00:10:00,099 Regeln. 303 00:10:00,100 --> 00:10:02,559 Das heißt, das Design dieses 304 00:10:02,560 --> 00:10:04,779 Systems muss offenlegen, das muss man 305 00:10:04,780 --> 00:10:06,009 irgendwo lesen, nachlesen können, 306 00:10:06,010 --> 00:10:07,299 nachvollziehen können. 307 00:10:07,300 --> 00:10:09,429 Und auch das machen sehr 308 00:10:09,430 --> 00:10:11,109 viele falsch. Also das passiert immer 309 00:10:11,110 --> 00:10:12,220 wieder, dass 310 00:10:13,330 --> 00:10:15,399 Automobilhersteller 311 00:10:15,400 --> 00:10:17,289 andere Firmen der Meinung sind, die Codes 312 00:10:17,290 --> 00:10:18,429 müssen geheim bleiben. Dann sind 313 00:10:18,430 --> 00:10:19,689 irgendwelche Leute da, die analysieren 314 00:10:19,690 --> 00:10:21,819 den Code und kriegen auf die Art und 315 00:10:21,820 --> 00:10:23,319 Weise den Algorithmus. 316 00:10:23,320 --> 00:10:26,289 Trotzdem Reverse engineering deswegen. 317 00:10:26,290 --> 00:10:27,669 Das sind also wenn man sozusagen hier in 318 00:10:27,670 --> 00:10:29,829 dem Bereich unterwegs ist, sollte 319 00:10:29,830 --> 00:10:32,439 man das befolgen. 320 00:10:32,440 --> 00:10:34,569 Ein zweiter Hinweis, der 321 00:10:34,570 --> 00:10:36,429 vielleicht schon für den einen oder 322 00:10:36,430 --> 00:10:38,009 anderen ganz so klar ist, heißt 323 00:10:38,010 --> 00:10:39,789 implementiert implementieren, nicht 324 00:10:39,790 --> 00:10:41,769 Krypto Algorithmen neu. 325 00:10:41,770 --> 00:10:42,770 Das ist auch 326 00:10:44,350 --> 00:10:46,449 eine Sache, wo man es vielleicht zunächst 327 00:10:46,450 --> 00:10:47,469 erst mal staunt, wo ich auch in der 328 00:10:47,470 --> 00:10:49,539 Vergangenheit mit vielen schon sehr lange 329 00:10:49,540 --> 00:10:51,159 drüber diskutiert habe, weil sie sagen 330 00:10:51,160 --> 00:10:53,679 Okay ist, die Spezifikation 331 00:10:53,680 --> 00:10:55,419 liegt offen. Das kann ich unterschreiben. 332 00:10:55,420 --> 00:10:56,859 Ich kann den Algorithmus unterschreiben. 333 00:10:56,860 --> 00:10:58,809 Das ist alles völlig trivial. 334 00:10:58,810 --> 00:11:00,609 Es kein Problem. 335 00:11:00,610 --> 00:11:02,559 Schauen wir ein Beispiel zum Aufwärmen 336 00:11:02,560 --> 00:11:03,539 habe ich mir mal rausgenommen. 337 00:11:03,540 --> 00:11:05,439 Es ist fast 40 Jahre alt. 338 00:11:05,440 --> 00:11:08,409 Es ist also wirklich ein abgehangene 339 00:11:08,410 --> 00:11:09,519 Algorithmus. 340 00:11:09,520 --> 00:11:11,529 Ist doch eigentlich einfach zu 341 00:11:11,530 --> 00:11:12,849 implementieren. Die Beschreibung kann ich 342 00:11:12,850 --> 00:11:14,019 in der Wikipedia nachlesen. 343 00:11:14,020 --> 00:11:16,059 Es gibt tausend und zwei Webseiten, wo 344 00:11:16,060 --> 00:11:17,319 ich das nachlesen kann. Dürfte doch kein 345 00:11:17,320 --> 00:11:18,759 Problem sein. 346 00:11:18,760 --> 00:11:19,899 Vielleicht für die Leute, die das nicht 347 00:11:19,900 --> 00:11:20,900 kennen. 348 00:11:21,500 --> 00:11:23,799 Noch mal ganz kurz Wie funktioniert er? 349 00:11:23,800 --> 00:11:25,299 Man sucht sich zunächst erst mal zwei 350 00:11:25,300 --> 00:11:26,300 Primzahlen aus, 351 00:11:27,700 --> 00:11:29,589 multipliziert die Primzahlen und 352 00:11:29,590 --> 00:11:31,389 berechnet dann noch so eine Zahl Phi von 353 00:11:31,390 --> 00:11:33,869 ein. Und das. Ist einfach die 354 00:11:33,870 --> 00:11:36,089 beide Primzahl mit eins 355 00:11:36,090 --> 00:11:38,729 subtrahiert und multipliziert, also 356 00:11:38,730 --> 00:11:39,960 1 mal minus eins und 357 00:11:42,540 --> 00:11:44,909 man ist. Die Schwierigkeit ist natürlich, 358 00:11:44,910 --> 00:11:46,439 eine gute Primzahl zu finden. 359 00:11:46,440 --> 00:11:48,779 Das kann natürlich 13 360 00:11:48,780 --> 00:11:49,830 und 17 nehmen, aber dann 361 00:11:51,060 --> 00:11:52,289 kann man auch nicht viel weiter. 362 00:11:53,400 --> 00:11:54,719 Was man dann im nächsten Schritt machen 363 00:11:54,720 --> 00:11:57,119 kann. Man wählt sich ein E, 364 00:11:57,120 --> 00:11:58,799 also eine Zahl, die kann man hier auch 365 00:11:58,800 --> 00:12:00,929 frei bestimmen. Die liegt 366 00:12:00,930 --> 00:12:03,209 zwischen eins und diesem 367 00:12:03,210 --> 00:12:05,249 viel von etwas vor berechnet worden ist. 368 00:12:05,250 --> 00:12:07,079 Und es muss Teilaufgaben sein. 369 00:12:07,080 --> 00:12:09,239 Das heißt, der größte 370 00:12:09,240 --> 00:12:11,159 gemeinsame Teiler zwischen dem E und dem 371 00:12:11,160 --> 00:12:12,339 iPhone muss eins sein. 372 00:12:12,340 --> 00:12:14,669 Anders kann man auch wieder nachlesen. 373 00:12:14,670 --> 00:12:15,899 Da gibt es also quasi fertige 374 00:12:15,900 --> 00:12:18,179 Algorithmen, so eine Sachen zu bestimmen 375 00:12:18,180 --> 00:12:20,429 oder oder zu gucken, ob sie wirklich 376 00:12:20,430 --> 00:12:22,169 Teile fremd sind, ist also auch völlig 377 00:12:22,170 --> 00:12:23,129 trivial. 378 00:12:23,130 --> 00:12:25,319 Und dann im letzten Schritt 379 00:12:25,320 --> 00:12:27,179 berechnet man so eine Multiplikation aus 380 00:12:27,180 --> 00:12:29,489 E und dass das Ergebnis 381 00:12:29,490 --> 00:12:31,859 dann äquivalent n modulo iPhone 382 00:12:31,860 --> 00:12:33,809 ist. Und dahinter steckt der euklidische 383 00:12:33,810 --> 00:12:35,999 Algorithmus, den man da berechnen muss. 384 00:12:36,000 --> 00:12:38,189 Und das ist auch so was kann man auch in 385 00:12:38,190 --> 00:12:39,699 Wikipedia an anderen Seiten nachlesen. 386 00:12:39,700 --> 00:12:41,909 Also das den ganzen 387 00:12:41,910 --> 00:12:43,049 Tag im Code zu gießen ist 388 00:12:44,250 --> 00:12:45,989 zunächst erstmal ganz einfach. 389 00:12:45,990 --> 00:12:48,149 Und dann das Ergebnis, also die 390 00:12:48,150 --> 00:12:50,429 Zahlen, der ganz 391 00:12:50,430 --> 00:12:51,539 am Anfang mal berechnet worden ist. 392 00:12:51,540 --> 00:12:52,919 Und es sind dann der öffentliche 393 00:12:52,920 --> 00:12:54,809 Schlüssel und die sind ja private 394 00:12:54,810 --> 00:12:57,059 Schlüssel. Und wenn man das dann noch 395 00:12:57,060 --> 00:12:58,559 bisschen schön machen will, muss man das 396 00:12:58,560 --> 00:13:00,159 halt ein gewisses Format am Ende bringen. 397 00:13:00,160 --> 00:13:02,369 Also man wird natürlich nie in 398 00:13:02,370 --> 00:13:04,469 der Software diese Zahlen als Zahl 399 00:13:04,470 --> 00:13:06,149 finden, sondern die sind halt speziell 400 00:13:06,150 --> 00:13:08,279 kodiert. Aber das geht, 401 00:13:08,280 --> 00:13:09,929 muss man vielleicht bissel nachdenken. 402 00:13:09,930 --> 00:13:11,459 Aber ich habe mir jetzt hier noch mal 403 00:13:11,460 --> 00:13:13,739 drei kleine 404 00:13:13,740 --> 00:13:15,689 einfache Beispiele ausgesucht, wo es 405 00:13:15,690 --> 00:13:17,849 schon schiefgehen kann. Also gerade ich 406 00:13:17,850 --> 00:13:19,559 hatte klar gesagt, die Primzahlen müssen 407 00:13:19,560 --> 00:13:22,229 halt entsprechend groß sein und man muss 408 00:13:22,230 --> 00:13:24,359 doch recht lange suchen, 409 00:13:24,360 --> 00:13:26,519 je nachdem, wie man sucht, um so 410 00:13:26,520 --> 00:13:28,589 einen Job zu finden. 411 00:13:28,590 --> 00:13:29,879 Jetzt könnte man auf die Idee kommen und 412 00:13:29,880 --> 00:13:32,159 sagen Ja, es gibt so Primzahl Zwillinge. 413 00:13:32,160 --> 00:13:34,589 Es gibt eine Zahl, die ist eine Primzahl. 414 00:13:34,590 --> 00:13:36,659 Und wenn ich da drauf zwei addiere, habe 415 00:13:36,660 --> 00:13:37,979 ich wieder eine Primzahl. 416 00:13:37,980 --> 00:13:38,939 Und das heißt, ich muss noch für die 417 00:13:38,940 --> 00:13:40,379 zweite gar nicht lange suchen, sondern 418 00:13:40,380 --> 00:13:42,179 probier. Und wenn ich die gefunden habe, 419 00:13:42,180 --> 00:13:43,959 habe ich gleich zwei Primzahlen. 420 00:13:43,960 --> 00:13:45,029 Für die erste zwar bisschen Zeit 421 00:13:45,030 --> 00:13:46,109 investiert, aber die zweite habe ich 422 00:13:46,110 --> 00:13:47,879 wahnsinnig schnell gefunden und nimmt 423 00:13:47,880 --> 00:13:50,009 dann sozusagen diese erste Zahl als 424 00:13:50,010 --> 00:13:52,229 die erste Primzahl und das Peoples zwei 425 00:13:52,230 --> 00:13:54,659 dann als das, was für uns gesehen haben. 426 00:13:54,660 --> 00:13:56,309 Und was mein Algorithmus durchlaufen. 427 00:13:56,310 --> 00:13:57,310 Perfekt. 428 00:13:58,260 --> 00:14:00,179 Und wie ihr vielleicht gehört habt, ist 429 00:14:00,180 --> 00:14:01,679 das Hauptproblem. 430 00:14:01,680 --> 00:14:02,969 Diese Unsicherheit liegt in der 431 00:14:02,970 --> 00:14:05,159 Charakterisierung. Das heißt, das I, was 432 00:14:05,160 --> 00:14:08,159 da ganz rechts an der ersten Zeile steht, 433 00:14:08,160 --> 00:14:10,499 kann man halt nicht wieder 434 00:14:10,500 --> 00:14:12,629 zurückrechnen in P und Q. 435 00:14:12,630 --> 00:14:14,489 Wenn man aber jetzt sozusagen das macht, 436 00:14:14,490 --> 00:14:16,439 wie sie auf der Folie steht, dass nämlich 437 00:14:16,440 --> 00:14:18,389 diese Primzahl Zwillinge nehme, dann 438 00:14:18,390 --> 00:14:19,889 könnte ein geschickter Angreifer auf die 439 00:14:19,890 --> 00:14:21,959 Idee kommen und einfach die Wurzel 440 00:14:21,960 --> 00:14:24,209 aus N bilden und die Wurzel 441 00:14:24,210 --> 00:14:26,009 aus n. Das ist ja dann wieder so was wie 442 00:14:26,010 --> 00:14:27,299 p. P. 443 00:14:27,300 --> 00:14:29,129 Und dann hat das jetzt sagen fast ein 444 00:14:29,130 --> 00:14:30,329 paar Rechner. Das heißt, so muss man ein 445 00:14:30,330 --> 00:14:33,149 bisschen gucken und kommt sehr schnell 446 00:14:33,150 --> 00:14:34,899 zu dem P vielleicht zurück und kann 447 00:14:34,900 --> 00:14:36,839 sozusagen sehr doch interessanterweise 448 00:14:36,840 --> 00:14:38,579 schnell das einfach autorisieren. 449 00:14:38,580 --> 00:14:39,929 Und es ist also eine 450 00:14:41,580 --> 00:14:43,499 relativ grundlegende Erkenntnis, dass die 451 00:14:43,500 --> 00:14:45,839 zwei Primzahlen sehr großen Abstand haben 452 00:14:45,840 --> 00:14:47,999 sollen, wobei aber die ungefähr 453 00:14:48,000 --> 00:14:50,489 dieselbe Anzahl an Stellen haben sollen. 454 00:14:50,490 --> 00:14:51,779 Das muss man also hier wissen und 455 00:14:51,780 --> 00:14:52,780 beachten. 456 00:14:53,250 --> 00:14:54,629 Gerade wenn man jetzt an Rechner denkt, 457 00:14:54,630 --> 00:14:56,879 wenn man reines Ersah zum Beispiel Macht 458 00:14:56,880 --> 00:14:58,289 und damit irgendwas verschlüsselt oder 459 00:14:58,290 --> 00:15:00,239 entschlüsselt, kann das unter Umständen 460 00:15:00,240 --> 00:15:02,009 sehr lange dauern. 461 00:15:02,010 --> 00:15:03,119 Jetzt wäre die Idee, man nimmt ein 462 00:15:03,120 --> 00:15:05,279 kleines E 3 liegt da 463 00:15:05,280 --> 00:15:06,280 nahe. 464 00:15:08,070 --> 00:15:10,049 Lacht er, es ist also, ich glaube, es war 465 00:15:10,050 --> 00:15:12,149 eine ganze Zeit so, dass es standardmäßig 466 00:15:12,150 --> 00:15:14,279 drei als Spottlust genommen hat. 467 00:15:14,280 --> 00:15:17,249 Und es ist auch gar nicht falsch, weil 468 00:15:17,250 --> 00:15:18,839 es ist wirklich so und so ist es. 469 00:15:18,840 --> 00:15:19,840 Es ist schnell 470 00:15:20,970 --> 00:15:23,429 und es ist erst dann ein Problem, 471 00:15:23,430 --> 00:15:25,849 wenn viele Leute gleich, also auch 472 00:15:25,850 --> 00:15:28,259 das E als drei auswählen. 473 00:15:28,260 --> 00:15:29,879 Wenn man jetzt eine Mail an verschiedene 474 00:15:29,880 --> 00:15:31,439 Leute verschlüsselt, die als bodenlos 475 00:15:31,440 --> 00:15:33,659 teilgenommen haben, dann kann es wieder 476 00:15:33,660 --> 00:15:35,729 passieren, dass ein 477 00:15:35,730 --> 00:15:37,679 Angreifer ganz einfach die. 478 00:15:37,680 --> 00:15:39,989 Also wenn man jetzt mal drei Leute 479 00:15:39,990 --> 00:15:42,119 aussucht, Sache in Reihe 480 00:15:42,120 --> 00:15:43,799 A, B und C schicke ist eine 481 00:15:43,800 --> 00:15:46,019 verschlüsselte Mail und alle an alle drei 482 00:15:46,020 --> 00:15:47,759 Reihen haben quasi drei als mutlos 483 00:15:47,760 --> 00:15:49,889 genommen. Dann könnte ich die 484 00:15:49,890 --> 00:15:51,839 Nachricht nehmen und die verschlüsselte 485 00:15:51,840 --> 00:15:53,669 Nachricht und daraus die Kubik Wurzel 486 00:15:53,670 --> 00:15:55,559 ziehen, also sozusagen die dritte Wurzel 487 00:15:55,560 --> 00:15:56,609 und habe eine Nachricht wieder 488 00:15:56,610 --> 00:15:58,239 zurückerhalten. 489 00:15:58,240 --> 00:16:00,449 Also unschön, so ein Angriff. 490 00:16:00,450 --> 00:16:02,099 Den hat Koppers schon vor sehr vielen 491 00:16:02,100 --> 00:16:03,029 Jahren gefunden. 492 00:16:03,030 --> 00:16:05,069 Und die Lösung ist einfach, denn jede 493 00:16:05,070 --> 00:16:06,129 Nachricht so ein bisschen ins World 494 00:16:06,130 --> 00:16:07,649 einzugeben, also wenn Zufall es wert und 495 00:16:07,650 --> 00:16:10,169 dann geht der Angriff 496 00:16:10,170 --> 00:16:12,509 sozusagen in die Hose und 497 00:16:12,510 --> 00:16:14,549 man kann in der Tat auch 498 00:16:15,930 --> 00:16:17,069 drei als mutlos nehmen. 499 00:16:17,070 --> 00:16:18,959 Es wird auch gerne gemacht mittlerweile. 500 00:16:18,960 --> 00:16:20,969 Bei Open SSL ist es meiner Meinung nach 501 00:16:20,970 --> 00:16:23,309 so, dass die auf 2 502 00:16:23,310 --> 00:16:25,709 hoch 16 +1, also fünf und sechzig tausend 503 00:16:25,710 --> 00:16:27,779 fünf hundert dreißig gegangen sind. 504 00:16:27,780 --> 00:16:29,579 Was auch? Wenn ihr euch überlegt, wie die 505 00:16:29,580 --> 00:16:30,929 Zahl binär aussieht, lässt die sich 506 00:16:30,930 --> 00:16:33,029 relativ gut mit der rechnen 507 00:16:33,030 --> 00:16:35,309 im Computer und es fallen 508 00:16:35,310 --> 00:16:37,409 ein paar schwere Schwächen 509 00:16:37,410 --> 00:16:39,419 weg. Ähnliches Problem hat man bei 510 00:16:39,420 --> 00:16:40,739 kleinem D Also wenn man sozusagen 511 00:16:40,740 --> 00:16:42,299 konventionell die Zahlen, diese 512 00:16:42,300 --> 00:16:44,069 Primzahlen P und Q auswählt. 513 00:16:44,070 --> 00:16:45,899 Hat dieses t was danach rechnet, wird es 514 00:16:45,900 --> 00:16:47,129 eventuell relativ schlechte 515 00:16:47,130 --> 00:16:49,019 Eigenschaften, auf die ich jetzt auch 516 00:16:49,020 --> 00:16:50,399 nicht mehr eingehen will. 517 00:16:50,400 --> 00:16:53,429 Und auch da kann man sich, dass diese 518 00:16:53,430 --> 00:16:55,499 Zahlen alle wieder ausrechnen 519 00:16:55,500 --> 00:16:57,719 und den einen privaten Schlüssel 520 00:16:57,720 --> 00:16:59,819 in der Hand und 521 00:16:59,820 --> 00:17:01,799 ist dann zu sagen hat Pech. 522 00:17:01,800 --> 00:17:04,348 Und das sind noch diese Beispiele 523 00:17:04,349 --> 00:17:05,699 hier sind vergleichsweise alt. 524 00:17:05,700 --> 00:17:07,858 Die findet man in Büchern, die zum Teil 525 00:17:07,859 --> 00:17:10,049 so 30, also 25 bis 30 Jahre 526 00:17:10,050 --> 00:17:12,179 alt sind. Das ist also noch sozusagen 527 00:17:12,180 --> 00:17:13,799 Gesetz, das Wissen. Aber es gibt 528 00:17:13,800 --> 00:17:15,838 natürlich auch immer wieder neue 529 00:17:15,839 --> 00:17:18,118 Angriffe, muss gerade bei der Auswahl 530 00:17:18,119 --> 00:17:20,068 von P und Q noch viel mehr beachten, als 531 00:17:20,069 --> 00:17:21,719 dass es jetzt hier auf die Folien 532 00:17:21,720 --> 00:17:23,848 geschrieben habe. Also das 533 00:17:23,849 --> 00:17:25,919 alleine ist eine Wissenschaft 534 00:17:25,920 --> 00:17:26,920 für sich. 535 00:17:27,510 --> 00:17:28,679 Jetzt könnte es aber sein, dass er 536 00:17:28,680 --> 00:17:31,259 sozusagen alle Peoples gelesen habt, 537 00:17:31,260 --> 00:17:32,399 alles beachtet habt. 538 00:17:32,400 --> 00:17:34,589 Er sucht quasi die perfekten Primzahlen 539 00:17:34,590 --> 00:17:35,909 aus, die perfektesten, die euch schon 540 00:17:35,910 --> 00:17:36,910 ausdenken könnt 541 00:17:38,460 --> 00:17:40,919 und schreibt euren Algorithmus. 542 00:17:40,920 --> 00:17:43,199 Alles ist perfekt und auf einmal kommt 543 00:17:43,200 --> 00:17:44,200 da jemand. 544 00:17:45,200 --> 00:17:47,899 Und hört euch zu beim Rechnen. 545 00:17:47,900 --> 00:17:49,939 Das ist, wer gestern bei dem Talk von 546 00:17:49,940 --> 00:17:51,229 Bernstein war, hat es vielleicht schon 547 00:17:51,230 --> 00:17:52,969 mal gesehen, dass es auch relativ groß 548 00:17:52,970 --> 00:17:54,739 durch die Presse gegangen ist. 549 00:17:54,740 --> 00:17:56,540 Shamir und andere haben 550 00:17:58,040 --> 00:18:00,289 einfach mal im Rechner, also 551 00:18:00,290 --> 00:18:02,169 in dem Falle der klug knuffige 552 00:18:02,170 --> 00:18:04,459 Ersatzschlüssel mit dem gearbeitet 553 00:18:04,460 --> 00:18:05,989 hat, dem quasi zugehört. 554 00:18:05,990 --> 00:18:08,059 Wir haben also zunächst mit dem Mikrofon 555 00:18:08,060 --> 00:18:10,279 gearbeitet, haben so vier Meter ungefähr 556 00:18:10,280 --> 00:18:12,589 neben den Rechner gestellt und haben 557 00:18:12,590 --> 00:18:13,549 versucht zu lauschen. 558 00:18:13,550 --> 00:18:15,529 Was macht die CPU für Geräusche? 559 00:18:15,530 --> 00:18:17,569 Später haben sie das dann einfach so 560 00:18:17,570 --> 00:18:19,999 gemacht, dass ein Telefon und Smartphone 561 00:18:20,000 --> 00:18:21,709 neben den Rechner gelegt. Kann man diese 562 00:18:21,710 --> 00:18:23,119 Geräusche auch aufgezeichnet haben? 563 00:18:23,120 --> 00:18:25,359 An das, was ich hier 564 00:18:25,360 --> 00:18:27,049 mir aus dem Paper raus kopiert habe, ist 565 00:18:27,050 --> 00:18:28,969 einfach sozusagen die das Frequenz 566 00:18:28,970 --> 00:18:32,029 Muster. Und ganz rechts 567 00:18:32,030 --> 00:18:34,159 seht ihr die CPU Instruktionen 568 00:18:34,160 --> 00:18:36,289 die gemacht werden und 569 00:18:36,290 --> 00:18:37,609 man sieht also schon, dass es bei 570 00:18:37,610 --> 00:18:40,099 verschiedenen Instruktionen hier 571 00:18:40,100 --> 00:18:41,539 verschiedene Muster gibt und die könnten 572 00:18:41,540 --> 00:18:43,609 halt auf die Art und Weise in vier 573 00:18:43,610 --> 00:18:45,079 tausend sechs und neunzig mit Schlüssel 574 00:18:45,080 --> 00:18:47,239 einfach mal wieder zurückrechnen. 575 00:18:47,240 --> 00:18:49,429 Und das ist nur eine 576 00:18:49,430 --> 00:18:51,529 Möglichkeit von so 577 00:18:51,530 --> 00:18:53,299 genannten Seiten Kanal Angriffen. 578 00:18:53,300 --> 00:18:55,589 Also das ist also 579 00:18:55,590 --> 00:18:57,919 Trummer beschäftigt sich seit zehn Jahren 580 00:18:57,920 --> 00:19:00,139 ungefähr mit diesem Thema Akustik Crypto 581 00:19:00,140 --> 00:19:02,059 Analysis. Das heißt, er hört Rechnern 582 00:19:02,060 --> 00:19:04,219 beim Zufrieren und 583 00:19:04,220 --> 00:19:05,929 anderen Sachen zu und versucht daraus was 584 00:19:05,930 --> 00:19:06,919 zu rechnen. 585 00:19:06,920 --> 00:19:09,019 Andere Leute gehen auf 586 00:19:09,020 --> 00:19:11,209 den Stromverbrauch von Smart 587 00:19:11,210 --> 00:19:13,729 Cards, von Rechnern und versuchen 588 00:19:13,730 --> 00:19:15,469 zu gucken Wann gibt es mal so einen Peak 589 00:19:15,470 --> 00:19:16,969 im Stromverbrauch? Wann gibt es keinen 590 00:19:16,970 --> 00:19:18,259 Peak und gucken dann 591 00:19:19,880 --> 00:19:21,349 Was macht der Rechner? 592 00:19:21,350 --> 00:19:23,629 Oder eine relativ bekannte 593 00:19:23,630 --> 00:19:26,089 Sache Sinn, Timing Attacken. 594 00:19:26,090 --> 00:19:27,529 Das ist also das findet man auch sehr, 595 00:19:27,530 --> 00:19:29,299 sehr, sehr, sehr häufig. 596 00:19:29,300 --> 00:19:30,979 Und das ist jetzt auch wieder so ein ganz 597 00:19:30,980 --> 00:19:32,659 einfaches, triviales Beispiel. 598 00:19:32,660 --> 00:19:33,920 Es ist ein bisschen Java Code 599 00:19:35,240 --> 00:19:37,309 und Equals und dann werden 600 00:19:37,310 --> 00:19:39,380 hier zwei Werte bei beide verglichen. 601 00:19:40,610 --> 00:19:42,719 Und dass dieser 602 00:19:42,720 --> 00:19:44,269 dieser Code ist aus einer Bibliothek, 603 00:19:44,270 --> 00:19:46,190 also Crypto Bibliothek, die heißt Kaiser. 604 00:19:48,170 --> 00:19:50,419 Es ist 2009 605 00:19:50,420 --> 00:19:52,609 oder 2010 von dem Forscher gefunden 606 00:19:52,610 --> 00:19:53,610 worden. 607 00:19:54,020 --> 00:19:55,459 Was macht der Code damit, dass wir zwei 608 00:19:55,460 --> 00:19:57,139 Werte entgegen und vergleicht, die im 609 00:19:57,140 --> 00:19:59,449 Beispiel war, was ich gerade sagte. 610 00:19:59,450 --> 00:20:01,849 Und wenn das erste Paar jetzt 611 00:20:01,850 --> 00:20:04,159 schon verschieden ist, kommt er zurück 612 00:20:04,160 --> 00:20:06,529 und sagt hier Stimmen überein und 613 00:20:06,530 --> 00:20:08,479 ist zu Ende. Ist ja, es sind ja gleich. 614 00:20:08,480 --> 00:20:10,459 Geht halt im nächsten zum nächsten weiter 615 00:20:10,460 --> 00:20:12,949 und zum nächsten weiter, 616 00:20:12,950 --> 00:20:15,169 bis das entweder wirklich gleich ist, 617 00:20:15,170 --> 00:20:17,779 dann ist alles gut oder irgendwann später 618 00:20:17,780 --> 00:20:18,829 kommt er dann zurück. 619 00:20:18,830 --> 00:20:21,349 Und dieser diese Unterschiede 620 00:20:21,350 --> 00:20:22,999 in der Berechnung kann man halt auch 621 00:20:24,200 --> 00:20:26,119 messen und daraus Schlüsse ziehen. 622 00:20:26,120 --> 00:20:28,279 Das heißt, wenn schon die erste Stelle 623 00:20:28,280 --> 00:20:30,199 bei diesem Vergleichswert falsch ist, 624 00:20:30,200 --> 00:20:32,269 kommt der Code sehr schnell zurück. 625 00:20:32,270 --> 00:20:33,889 Dauert ein bisschen länger, dauert bei 626 00:20:33,890 --> 00:20:36,169 dem Code halt auch länger und 627 00:20:36,170 --> 00:20:37,459 am längsten dauert es hier in dem 628 00:20:37,460 --> 00:20:39,949 Beispiel halt, wenn die beiden 629 00:20:39,950 --> 00:20:41,779 Werte wirklich gleich sind. 630 00:20:41,780 --> 00:20:43,969 Und mit Wissen Geschick kann 631 00:20:43,970 --> 00:20:45,320 man dann halt auf die Art und Weise 632 00:20:47,420 --> 00:20:48,679 Passwort heraus. 633 00:20:48,680 --> 00:20:51,679 Es gibt schon analysiert haben Leute 634 00:20:51,680 --> 00:20:54,019 Geheimnisses Schlüssel übers Netzwerk 635 00:20:54,020 --> 00:20:55,639 versucht zu ermitteln und das auch 636 00:20:55,640 --> 00:20:58,129 geschafft. Also das sind 637 00:20:58,130 --> 00:20:59,599 die heimlichen Attacken sind sehr sehr 638 00:20:59,600 --> 00:21:00,559 unschön. 639 00:21:00,560 --> 00:21:02,539 Und selbst wenn man sich jetzt überlegt, 640 00:21:02,540 --> 00:21:03,829 wie kann man das ordentlich machen? 641 00:21:03,830 --> 00:21:05,089 Wie kann man sozusagen Funktionen 642 00:21:05,090 --> 00:21:06,289 schreiben, die das vielleicht anders 643 00:21:06,290 --> 00:21:07,369 machen? 644 00:21:07,370 --> 00:21:08,809 Muss man da immer noch aufpassen, weil 645 00:21:08,810 --> 00:21:10,909 manche Compiler versuchen sehr 646 00:21:10,910 --> 00:21:13,099 intelligent zu sein und optimieren 647 00:21:13,100 --> 00:21:14,089 immer noch was weg? 648 00:21:14,090 --> 00:21:16,189 Also hier bei solchen Sachen 649 00:21:16,190 --> 00:21:18,559 muss man wirklich sehr, sehr aufpassen. 650 00:21:18,560 --> 00:21:20,659 Ja und gerade das Beispiel habe ich vor 651 00:21:20,660 --> 00:21:23,299 kurzem mit Bekannten besprochen, 652 00:21:23,300 --> 00:21:25,609 wo wir so über Timing Attacken gesprochen 653 00:21:25,610 --> 00:21:27,709 haben, die auch für das Thema 654 00:21:27,710 --> 00:21:29,839 auch neu war. Und die meisten übers 655 00:21:29,840 --> 00:21:31,549 Netzwerk geht sowas doch gar nicht. 656 00:21:31,550 --> 00:21:32,659 Da ist es das. 657 00:21:32,660 --> 00:21:33,680 Das kann nicht funktionieren. 658 00:21:34,800 --> 00:21:36,899 Und da haben halt Leute sich 659 00:21:36,900 --> 00:21:38,159 Gedanken gemacht, haben das mal versucht 660 00:21:38,160 --> 00:21:40,229 nachzumachen und 661 00:21:40,230 --> 00:21:42,479 haben gemessen, wenn man sozusagen im 662 00:21:42,480 --> 00:21:43,739 Internet unterwegs ist. 663 00:21:43,740 --> 00:21:45,839 Über weite Area Networks 664 00:21:45,840 --> 00:21:47,669 kann man Zeitunterschied in der 665 00:21:47,670 --> 00:21:50,219 Berechnung von 30 Mikrosekunden 666 00:21:51,420 --> 00:21:53,639 messen und unterscheiden. 667 00:21:53,640 --> 00:21:55,589 Im Land selbst sind sie bis auf 200 668 00:21:55,590 --> 00:21:57,779 Nanosekunden runtergekommen 669 00:21:57,780 --> 00:21:58,829 und das ist schon 670 00:21:59,940 --> 00:22:01,440 relativ krass. 671 00:22:02,610 --> 00:22:04,709 Das heißt, was sozusagen die 672 00:22:04,710 --> 00:22:06,749 Konsequenz ist da ich brauche eine 673 00:22:06,750 --> 00:22:08,279 Funktion, die unabhängig von der Eingabe 674 00:22:08,280 --> 00:22:09,789 immer gleich lang laufen. 675 00:22:09,790 --> 00:22:11,159 Also es gibt immer ein paar Leute, die 676 00:22:11,160 --> 00:22:12,649 kommen dann auf die Idee und sagen Na ja, 677 00:22:12,650 --> 00:22:14,339 wir machen das aus den randomisiert. 678 00:22:14,340 --> 00:22:15,989 Das ist halt bisschen unklar, ist aber 679 00:22:15,990 --> 00:22:17,399 auch Die Randomisierten bringt halt nicht 680 00:22:17,400 --> 00:22:19,169 wirklich Sicherheit, sondern man muss 681 00:22:19,170 --> 00:22:20,729 halt wirklich sicherstellen, gerade bei 682 00:22:20,730 --> 00:22:22,919 krypto grafischen Code, dass die ja 683 00:22:22,920 --> 00:22:24,569 unabhängig von der Eingabe immer gleich 684 00:22:24,570 --> 00:22:26,339 lang läuft und dann eben keine 685 00:22:26,340 --> 00:22:28,379 systematischen Unterschiede da sind, die 686 00:22:28,380 --> 00:22:30,539 sich irgendwie errechnen lassen. 687 00:22:30,540 --> 00:22:32,279 Und es gibt ja auch so ein schönes Paper 688 00:22:32,280 --> 00:22:33,959 von Es ist auch schon ein paar Jahre alt 689 00:22:33,960 --> 00:22:35,789 von der University of Cambridge. 690 00:22:35,790 --> 00:22:38,039 Die haben Hathor 691 00:22:38,040 --> 00:22:39,929 Hidden Services in dem Falle sich 692 00:22:39,930 --> 00:22:42,359 genommen und haben festgestellt, 693 00:22:42,360 --> 00:22:43,679 wenn man die unter Last setzt, die 694 00:22:43,680 --> 00:22:45,809 Rechner, dann werden die warm 695 00:22:45,810 --> 00:22:48,209 und dann verändert sich auch die Zeit und 696 00:22:48,210 --> 00:22:50,309 die Quadratur, die andere Takte 697 00:22:50,310 --> 00:22:51,569 aus und das konnten die messen. 698 00:22:51,570 --> 00:22:53,849 Und das war so krass, dass 699 00:22:53,850 --> 00:22:55,979 sie sogar laut dem Paper 700 00:22:55,980 --> 00:22:57,539 messen konnten, wenn im Server haben 701 00:22:57,540 --> 00:22:59,819 jemand die Tür aufgemacht hat und da der 702 00:22:59,820 --> 00:23:01,949 Raum wärmer geworden ist und das ist halt 703 00:23:01,950 --> 00:23:03,059 so. 704 00:23:03,060 --> 00:23:05,369 Was man da machen kann, ist wirklich sehr 705 00:23:05,370 --> 00:23:07,469 sehr erschreckend. Das es heißt irgendwie 706 00:23:07,470 --> 00:23:09,759 hot or not detektiven 707 00:23:09,760 --> 00:23:11,399 hidden services bei Skype oder so. 708 00:23:11,400 --> 00:23:13,029 Wenn ich mich richtig erinnere, aber 709 00:23:13,030 --> 00:23:14,409 einen Namen hat, dann wird man es 710 00:23:14,410 --> 00:23:15,410 bestimmt finden. 711 00:23:16,170 --> 00:23:18,719 Gut, jetzt sag mal okay habe. 712 00:23:18,720 --> 00:23:19,869 Vielleicht habe ich euch überzeugt 713 00:23:19,870 --> 00:23:21,240 schreibt euren Code nicht selber. 714 00:23:22,440 --> 00:23:23,909 Gibt es eine Bibliothek? 715 00:23:23,910 --> 00:23:24,910 Kann ich dir nehmen. 716 00:23:25,710 --> 00:23:28,319 Versucht da mein Code rein zu schreiben. 717 00:23:28,320 --> 00:23:30,299 Ich habe jetzt mal hier ganz schematisch 718 00:23:30,300 --> 00:23:32,579 mal aufgeschrieben, wie bei 719 00:23:32,580 --> 00:23:34,799 der SSL es funktioniert, 720 00:23:34,800 --> 00:23:35,859 dass man dann 721 00:23:37,110 --> 00:23:39,089 eine Verbindung aufmacht. 722 00:23:39,090 --> 00:23:40,829 Man macht also das für eine Funktion ist 723 00:23:40,830 --> 00:23:43,169 es Connect auch für den Handshake? 724 00:23:43,170 --> 00:23:45,259 Dabei ist es wichtig zu wissen, ob man 725 00:23:45,260 --> 00:23:47,699 es ja vergleichsweise generisch 726 00:23:47,700 --> 00:23:49,589 macht. Keinerlei Überprüfung über die 727 00:23:49,590 --> 00:23:50,609 Korrektheit des Huston, 728 00:23:51,720 --> 00:23:53,099 weil natürlich, man kann mit 729 00:23:54,240 --> 00:23:56,219 Knüppeln an HTTP, an diverse andere 730 00:23:56,220 --> 00:23:57,539 Sachen. Und da gibt es halt ein bisschen 731 00:23:57,540 --> 00:24:00,059 unterschiedliche Regeln, was 732 00:24:00,060 --> 00:24:01,799 Husten, Husten betrifft. 733 00:24:01,800 --> 00:24:04,259 Das heißt schon, diese Verifikation 734 00:24:04,260 --> 00:24:06,419 des Namens muss man selbst 735 00:24:06,420 --> 00:24:07,619 machen. 736 00:24:07,620 --> 00:24:09,299 Und jetzt wird es eigentlich hakelig, 737 00:24:09,300 --> 00:24:11,189 denn wenn jetzt das Zertifikat nicht 738 00:24:11,190 --> 00:24:13,349 validiert mit Zertifikat zurück ist, 739 00:24:13,350 --> 00:24:15,479 validiert nicht, dann 740 00:24:15,480 --> 00:24:17,669 kann es sein, dass Open SSL über 741 00:24:17,670 --> 00:24:19,769 den Rückgabewert sagt Da ist was schief 742 00:24:19,770 --> 00:24:21,299 gegangen. Wenn der Rückgabewert kleiner 743 00:24:21,300 --> 00:24:23,939 als 0 ist, ruft man dann Hier ist 744 00:24:23,940 --> 00:24:26,159 Error auf und kriegt dann halt ein paar 745 00:24:26,160 --> 00:24:27,629 Informationen zurück. 746 00:24:27,630 --> 00:24:29,999 Es kann aber auch sein, dass es 747 00:24:31,950 --> 00:24:33,749 anders zurückkommt und ein Fleck gesetzt 748 00:24:33,750 --> 00:24:35,879 wird, das heißt verifiziert. 749 00:24:35,880 --> 00:24:38,159 Und in dem Falle muss man dann halt 750 00:24:38,160 --> 00:24:40,439 diese Funktion aufrufen, 751 00:24:40,440 --> 00:24:41,879 um zu gucken, was denn hier 752 00:24:41,880 --> 00:24:44,189 schiefgegangen ist. Also das klingt 753 00:24:44,190 --> 00:24:46,019 schon so ein bisschen hakelig und es gibt 754 00:24:46,020 --> 00:24:48,119 in der Tat einige Programme, 755 00:24:48,120 --> 00:24:50,939 die das auch falsch machen. 756 00:24:50,940 --> 00:24:53,369 Ein markantes Beispiel 757 00:24:53,370 --> 00:24:54,749 ist Trillionen Trillionen, also ein 758 00:24:54,750 --> 00:24:56,159 Messenger. 759 00:24:56,160 --> 00:24:57,479 Ein Trillion hat auf jeden Fall bis 760 00:24:57,480 --> 00:25:00,179 Version 5.3, eventuell noch später 761 00:25:00,180 --> 00:25:02,699 eben nicht dieses es ist 762 00:25:02,700 --> 00:25:04,859 result aufgerufen und hat damit 763 00:25:04,860 --> 00:25:07,349 letztendlich beliebige SSL Zertifikat 764 00:25:07,350 --> 00:25:08,819 akzeptiert. 765 00:25:08,820 --> 00:25:10,709 Und das freut natürlich den Angreifer. 766 00:25:10,710 --> 00:25:12,119 Man kann halt mit den Mitteln Attacke 767 00:25:12,120 --> 00:25:14,639 machen, kann da diverse Zertifikate 768 00:25:14,640 --> 00:25:17,099 der Software präsentieren und 769 00:25:17,100 --> 00:25:18,089 hat dann seinen Spaß. 770 00:25:18,090 --> 00:25:20,249 Und gerüchteweise ich weiß nicht, ob das 771 00:25:20,250 --> 00:25:21,599 im Saal vielleicht jemand bestätigen 772 00:25:21,600 --> 00:25:23,549 kann. Gibt es ein oder zwei Unis in 773 00:25:23,550 --> 00:25:26,189 Deutschland, die die Trillion so 774 00:25:26,190 --> 00:25:27,809 für ihre studentischen Übungen benutzen, 775 00:25:27,810 --> 00:25:29,909 um in the middle Attacken zu 776 00:25:29,910 --> 00:25:32,009 probieren? Vielleicht sollte man Trillion 777 00:25:32,010 --> 00:25:34,109 eher als studentische Lernsoftware 778 00:25:34,110 --> 00:25:35,369 um labeln und 779 00:25:36,510 --> 00:25:37,659 das nach draußen gehen. 780 00:25:37,660 --> 00:25:40,829 Also da gibt es allerdings natürlich noch 781 00:25:40,830 --> 00:25:41,839 verschiedene andere Sachen. 782 00:25:42,900 --> 00:25:44,879 Der zweite Punkt hier ist es auch eine 783 00:25:44,880 --> 00:25:47,219 Sache, die viele nicht beachten, also 784 00:25:47,220 --> 00:25:49,859 mit PHP programmiert und Open nimmt 785 00:25:49,860 --> 00:25:51,509 hat man das Problem genauso wie bei 786 00:25:51,510 --> 00:25:54,059 diesem URL Bibliotheken in Preußen. 787 00:25:54,060 --> 00:25:56,129 Die prüfen auch keine Zertifikate 788 00:25:56,130 --> 00:25:58,619 und es gab in der Vergangenheit 789 00:25:58,620 --> 00:26:01,139 von Paypal schon ein paar 790 00:26:01,140 --> 00:26:03,839 Bibliotheken, die genau genommen haben 791 00:26:03,840 --> 00:26:05,279 Verbindungen aufgemacht haben, ohne das 792 00:26:05,280 --> 00:26:06,719 Zertifikat wirklich zu prüfen. 793 00:26:06,720 --> 00:26:08,699 Also das solltet ihr, wenn ihr so Code 794 00:26:08,700 --> 00:26:10,139 schreiben wollt, wirklich im Hinterkopf 795 00:26:10,140 --> 00:26:11,339 behalten. 796 00:26:11,340 --> 00:26:12,629 Und ansonsten wenn es um Krypto 797 00:26:12,630 --> 00:26:14,729 Bibliotheken gibt, gibt es so 798 00:26:14,730 --> 00:26:16,769 relativ gute High Level Bibliotheken wie 799 00:26:16,770 --> 00:26:17,729 Cisco. 800 00:26:17,730 --> 00:26:19,469 Da gibt es von Goodman diese Krypto Lib 801 00:26:19,470 --> 00:26:22,289 dann Bernstein hat mit 802 00:26:22,290 --> 00:26:24,539 Stab, also mit dem Trainerteam Lange 803 00:26:24,540 --> 00:26:26,429 und Henninger die als Bibliothek 804 00:26:26,430 --> 00:26:28,439 geschrieben. Und die sind auch wesentlich 805 00:26:28,440 --> 00:26:30,529 angenehmer und besser zu benutzen als in 806 00:26:30,530 --> 00:26:32,059 der Bibliothek wie oben. 807 00:26:32,060 --> 00:26:33,779 Es ist grundsätzlich. 808 00:26:34,960 --> 00:26:37,059 Die, die Der Grund des Hinweises 809 00:26:37,060 --> 00:26:39,429 Crypto Code sollte man nie 810 00:26:39,430 --> 00:26:40,430 selbst schreiben. 811 00:26:41,380 --> 00:26:42,849 Und wenn doch, den reviewen lassen. 812 00:26:42,850 --> 00:26:44,649 Und grundsätzlich sind die Annahmen so, 813 00:26:44,650 --> 00:26:47,769 dass man sagt die Entwicklungskosten 814 00:26:47,770 --> 00:26:49,899 von Code ungefähr mal 815 00:26:49,900 --> 00:26:52,359 10 mal 8 bis 10 816 00:26:52,360 --> 00:26:54,579 ist das, was an Open Code 817 00:26:54,580 --> 00:26:56,199 Crypto Code Review kostet. 818 00:26:56,200 --> 00:26:58,269 Also schon das sollte man 819 00:26:58,270 --> 00:26:59,349 im Hinterkopf behalten. Es ist also 820 00:26:59,350 --> 00:27:01,299 wirklich auch keine preiswerte 821 00:27:01,300 --> 00:27:03,429 Angelegenheit. Und gerade auch bei dieser 822 00:27:03,430 --> 00:27:05,409 Kaiser Bibliothek, das hat ein relativ 823 00:27:05,410 --> 00:27:07,449 bekannter Kryptographie auch geschrieben, 824 00:27:07,450 --> 00:27:09,579 dass Steve weiß und es ist an 825 00:27:09,580 --> 00:27:11,709 sich sehr perfekt und nur das eine Timing 826 00:27:11,710 --> 00:27:13,899 Attacke ist dem damals 827 00:27:13,900 --> 00:27:14,900 durch die Lappen gegangen. 828 00:27:16,640 --> 00:27:19,599 Also die dritte Regel, die 829 00:27:19,600 --> 00:27:21,039 ich eigentlich denken würde, die man auch 830 00:27:21,040 --> 00:27:22,359 kennt, kennen sollte, 831 00:27:23,620 --> 00:27:25,149 aber die dennoch gerne falsch gemacht 832 00:27:25,150 --> 00:27:26,629 wird, ist der Betriebs Modus bei Blogs, 833 00:27:26,630 --> 00:27:28,749 Foren, Blogs sind also so was 834 00:27:28,750 --> 00:27:30,039 wie es ist. 835 00:27:30,040 --> 00:27:32,229 Die nehmen den die Eingabe, 836 00:27:32,230 --> 00:27:34,449 teilen die in gleich große Stücke auf 837 00:27:34,450 --> 00:27:35,889 und arbeiten dann halt immer auf einem 838 00:27:35,890 --> 00:27:37,119 Blog und machen mit dem machen was. 839 00:27:37,120 --> 00:27:39,189 Also verschlüsseln den oder 840 00:27:39,190 --> 00:27:40,599 umgekehrt entschlüsseln sie den 841 00:27:41,680 --> 00:27:43,839 IS. Ist es hier so, dass es 128, 842 00:27:43,840 --> 00:27:46,119 192 und 256 843 00:27:46,120 --> 00:27:47,439 Blockgröße gibt? 844 00:27:47,440 --> 00:27:49,599 Und wenn man jetzt nicht großartig 845 00:27:49,600 --> 00:27:51,069 drüber nachdenkt, könnte man auf die Idee 846 00:27:51,070 --> 00:27:53,889 kommen, man nimmt den Block der Eingabe, 847 00:27:53,890 --> 00:27:56,019 verschlüsselt den und das wird sozusagen 848 00:27:56,020 --> 00:27:56,979 der geheime Text. 849 00:27:56,980 --> 00:27:57,879 Man nimmt den zweiten Block 850 00:27:57,880 --> 00:28:00,009 verschlüsselt, den wird der nächste, 851 00:28:00,010 --> 00:28:01,899 zweite geheime Text. Und das zusammen ist 852 00:28:01,900 --> 00:28:03,429 dann der gesamte geheime Text, den ich 853 00:28:03,430 --> 00:28:05,379 halt habe. 854 00:28:05,380 --> 00:28:07,539 Das ist die naive, triviale 855 00:28:07,540 --> 00:28:09,729 Annahme. Und wenn man dann einen geheimen 856 00:28:09,730 --> 00:28:11,889 Text mal wirklich verschlüsselt, wie 857 00:28:11,890 --> 00:28:14,229 jetzt gleich zu sehen ist, wird er sehen. 858 00:28:14,230 --> 00:28:16,479 Ihr könnt quasi nicht mehr erkennen, was 859 00:28:16,480 --> 00:28:18,499 ursprünglich mal in dem Text stand. 860 00:28:18,500 --> 00:28:20,730 Ist also total sicher, oder? 861 00:28:22,660 --> 00:28:24,849 Also das ist jetzt in dem Fall wirklich 862 00:28:26,200 --> 00:28:28,299 verschlüsselt mit Mitsummen 863 00:28:28,300 --> 00:28:30,329 etc. Wehmut also das heißt immer 864 00:28:30,330 --> 00:28:32,049 sozusagen eins zu eins verschlüsselt. 865 00:28:32,050 --> 00:28:33,789 Und man sieht eben immer noch, wie er 866 00:28:33,790 --> 00:28:36,159 hier ganz klar erkennen könnt, was 867 00:28:36,160 --> 00:28:38,469 hier gestanden hat auf diesem Bild. 868 00:28:38,470 --> 00:28:39,549 Und es gibt auch wenn ihr in der 869 00:28:39,550 --> 00:28:41,979 Wikipedia bei EZB Modus guckt, 870 00:28:41,980 --> 00:28:43,359 da gibt es dieses berühmte Bild vom 871 00:28:43,360 --> 00:28:45,489 Pinguin oder irgendwie 872 00:28:45,490 --> 00:28:47,739 so. So ein Pinguin als normales 873 00:28:47,740 --> 00:28:49,419 Bild, da steht dann halt mit etcpp Modus 874 00:28:49,420 --> 00:28:50,409 verschlüsselt und dann sieht man immer noch 875 00:28:50,410 --> 00:28:51,969 die Struktur des Pinguin. 876 00:28:51,970 --> 00:28:54,219 Und es gibt dieses berühmte Buch 877 00:28:54,220 --> 00:28:56,169 von Bruce Schneier Applied Kryptographie. 878 00:28:56,170 --> 00:28:58,899 Das ist ich glaube aus 96 879 00:28:58,900 --> 00:29:01,329 und schon dort steht explizit drinnen 880 00:29:01,330 --> 00:29:03,279 nutzt keinen LCB Modus. 881 00:29:03,280 --> 00:29:05,829 Das ist unsicher und 882 00:29:05,830 --> 00:29:08,079 vor nicht allzu langer Zeit 883 00:29:08,080 --> 00:29:10,119 gab es beim Kongress einen großen Vortrag 884 00:29:10,120 --> 00:29:11,379 zum Staatstrojaner. 885 00:29:11,380 --> 00:29:13,479 Und wer den verfolgt hat, wird wissen 886 00:29:13,480 --> 00:29:16,089 die Profis 887 00:29:16,090 --> 00:29:18,549 nutzen halt natürlich CB Modus 888 00:29:18,550 --> 00:29:20,050 mit allen Konsequenzen. 889 00:29:21,070 --> 00:29:22,070 Gut, dann 890 00:29:23,140 --> 00:29:25,479 das zweite was man mal schnell 891 00:29:25,480 --> 00:29:27,430 mit kennenlernt ist dann dieses 892 00:29:28,600 --> 00:29:30,549 Cyber Blockchain Ding hier. 893 00:29:30,550 --> 00:29:32,109 Das sieht also wieder erst mal ein 894 00:29:32,110 --> 00:29:33,879 bisschen kompliziert aus. 895 00:29:33,880 --> 00:29:35,519 Ist es aber nicht wirklich. 896 00:29:35,520 --> 00:29:37,689 Also man hat am Anfang hier 897 00:29:37,690 --> 00:29:40,509 den Klartext und 898 00:29:40,510 --> 00:29:42,609 hier einen sogenannten Initialisierung 899 00:29:42,610 --> 00:29:43,929 Vector. 900 00:29:43,930 --> 00:29:46,299 Das heißt, es ist, dass es irgendeinen 901 00:29:46,300 --> 00:29:48,039 Zufalls wert, den man sich ermitteln 902 00:29:48,040 --> 00:29:50,379 muss, dass die beide Werte werden hier 903 00:29:50,380 --> 00:29:52,569 per XOR miteinander verknüpft und das 904 00:29:52,570 --> 00:29:54,039 Ergebnis fließt am Ende in diese 905 00:29:54,040 --> 00:29:55,479 verschlüsselten Funktionen ein, also zum 906 00:29:55,480 --> 00:29:57,969 Beispiel in IS oder andere Chiffre 907 00:29:57,970 --> 00:30:00,369 und wird dann der Seiffert Text 908 00:30:00,370 --> 00:30:02,559 und beim nächsten Block wird wieder der 909 00:30:02,560 --> 00:30:04,239 nächste Klartext Block genommen. 910 00:30:04,240 --> 00:30:06,249 Man nimmt hier unten den Seiffert Text, 911 00:30:06,250 --> 00:30:08,469 der herausgekommen ist und verknüpft das 912 00:30:08,470 --> 00:30:10,569 hier wieder mit XOR und gibt 913 00:30:10,570 --> 00:30:12,339 das Ergebnis wieder in dieser Funktion 914 00:30:12,340 --> 00:30:14,409 rein und macht es so und hat dann so eine 915 00:30:14,410 --> 00:30:15,410 Art Kette von 916 00:30:17,410 --> 00:30:19,389 verschlüsselten Blöcken, die jetzt 917 00:30:19,390 --> 00:30:21,609 hintereinander geschalten 918 00:30:21,610 --> 00:30:23,619 sind. Wichtig ist halt am Anfang nur die 919 00:30:23,620 --> 00:30:24,609 Initialisierung Vector. 920 00:30:24,610 --> 00:30:25,899 Das muss halt ein Zufall sein. 921 00:30:25,900 --> 00:30:28,389 Es muss auch ordentlicher Zufall sein, 922 00:30:28,390 --> 00:30:31,319 ansonsten hat man eventuell ein Problem. 923 00:30:31,320 --> 00:30:33,579 Ja und OpenBC als Beispiel 924 00:30:34,720 --> 00:30:37,029 hat unter anderem ein schön IPv6 925 00:30:37,030 --> 00:30:39,189 Geek bei mir drin. 926 00:30:39,190 --> 00:30:40,190 Und 927 00:30:41,710 --> 00:30:44,529 vor zwei Jahren war das 928 00:30:44,530 --> 00:30:46,599 kann mir jemand erklären, meinte ja, das 929 00:30:46,600 --> 00:30:48,819 FBI hat ihn mal bezahlt oder 930 00:30:48,820 --> 00:30:50,859 jemand anderes bezahlt eine Backdoor in 931 00:30:50,860 --> 00:30:52,989 OpenBC einzubauen und da gab 932 00:30:52,990 --> 00:30:55,059 es halt auch großen Aufschrei und 933 00:30:55,060 --> 00:30:56,259 es gab dann halt einen relativ 934 00:30:56,260 --> 00:30:58,689 tiefgehenden Review des Open BSD 935 00:30:58,690 --> 00:31:01,299 Codes. Und was man da gefunden hat, 936 00:31:01,300 --> 00:31:03,789 war eine Sache, die 937 00:31:03,790 --> 00:31:05,949 zunächst erstmal ganz harmlos 938 00:31:05,950 --> 00:31:07,419 aussah. 939 00:31:07,420 --> 00:31:09,549 Open BSD hat nämlich 940 00:31:09,550 --> 00:31:11,019 sozusagen, wenn man hier an die folgende 941 00:31:11,020 --> 00:31:13,179 also eine letzte Folie denken, die die 942 00:31:13,180 --> 00:31:15,879 haben sich hier das 943 00:31:15,880 --> 00:31:18,099 den letzten Seiffert Text, also das hier 944 00:31:18,100 --> 00:31:19,539 gemerkt. 945 00:31:19,540 --> 00:31:20,949 Und wenn ja, wenn dann eine neue, 946 00:31:20,950 --> 00:31:22,179 irgendwas neues verschlüsselt werden 947 00:31:22,180 --> 00:31:23,889 sollte, haben Sie das dann wieder als 948 00:31:23,890 --> 00:31:25,510 neuen Initialisierung Inspektor genommen? 949 00:31:26,590 --> 00:31:28,479 Und haben dann die nächste Funktion damit 950 00:31:28,480 --> 00:31:30,129 gefüttert und es ist an sich auch vom 951 00:31:30,130 --> 00:31:32,589 Gedanken ja ganz korrekt, weil 952 00:31:32,590 --> 00:31:34,209 man hat dann eben auch genauso eine 953 00:31:34,210 --> 00:31:35,210 Kette. 954 00:31:35,770 --> 00:31:37,929 Das Problem ist nur, wenn man jetzt einen 955 00:31:37,930 --> 00:31:39,549 aktiven Angreifer denkt, jemand, der 956 00:31:39,550 --> 00:31:42,159 wirklich Bösartiges vorhat, 957 00:31:42,160 --> 00:31:44,619 der kann jetzt versuchen einen 958 00:31:44,620 --> 00:31:47,019 Klartext so zu modifizieren, 959 00:31:48,520 --> 00:31:50,779 dass er der Annahme ist 960 00:31:50,780 --> 00:31:53,339 halt er hat vorher diesen 961 00:31:53,340 --> 00:31:55,599 das Ergebnis der letzten Verschlüsselung 962 00:31:55,600 --> 00:31:56,649 gesehen, kennt sozusagen den 963 00:31:56,650 --> 00:31:59,319 Initialisierung Sektor und 964 00:31:59,320 --> 00:32:01,509 kann halt so einen gewissen Klartext 965 00:32:01,510 --> 00:32:04,599 sich ermitteln und 966 00:32:04,600 --> 00:32:05,949 hat dann ein sogenanntes Oracle. 967 00:32:05,950 --> 00:32:07,719 Er kann ungefähr erraten, was vielleicht 968 00:32:07,720 --> 00:32:09,939 der Klartext gewesen ist bzw. 969 00:32:09,940 --> 00:32:11,979 kann zumindestens den CBC Modus auf so 970 00:32:11,980 --> 00:32:13,929 eine Art Exploit ist das so vorhin 971 00:32:13,930 --> 00:32:14,949 gesehen haben. 972 00:32:14,950 --> 00:32:17,139 Reduzieren ist natürlich ein 973 00:32:17,140 --> 00:32:18,759 relativ exotischer Angriff. 974 00:32:19,900 --> 00:32:21,279 Auch bei dem Kesselring muss man ganz 975 00:32:21,280 --> 00:32:22,689 schön aufpassen, dass es auch richtig zu 976 00:32:22,690 --> 00:32:23,919 machen. Ich werde dann, wenn ich die Folien 977 00:32:23,920 --> 00:32:26,199 online stelle, auch das noch mal bissl 978 00:32:26,200 --> 00:32:27,579 verlinken, dass er das nachvollziehen 979 00:32:27,580 --> 00:32:29,439 kann. Ich habe das jetzt hier aus meinen 980 00:32:29,440 --> 00:32:30,619 Folien auch extra rausgenommen. 981 00:32:32,440 --> 00:32:34,629 Es ist jetzt schon seit längerer Zeit ein 982 00:32:34,630 --> 00:32:35,949 OpenBC korrigiert worden. 983 00:32:36,950 --> 00:32:38,019 Werden wir später noch ein anderes 984 00:32:38,020 --> 00:32:40,029 Beispiel sehen, wo das noch ein bisschen 985 00:32:40,030 --> 00:32:41,979 krasser wird? 986 00:32:41,980 --> 00:32:44,139 Zweites Beispiel was auch lange Zeit 987 00:32:44,140 --> 00:32:45,549 theoretisch bekannt ist und was so 988 00:32:45,550 --> 00:32:46,869 ungefähr vor einer Woche jemand mal 989 00:32:46,870 --> 00:32:50,049 wirklich praktiziert hat, ist 990 00:32:50,050 --> 00:32:51,199 hat mit Festplatten verschlüsselt 991 00:32:51,200 --> 00:32:52,179 gearbeitet. 992 00:32:52,180 --> 00:32:54,729 Unter Linux gibt es das Lux, 993 00:32:54,730 --> 00:32:55,929 was normalerweise Festplatten 994 00:32:55,930 --> 00:32:58,029 Verschlüsselung macht und so ungefähr bis 995 00:32:58,030 --> 00:33:00,279 Januar 2013 haben 996 00:33:00,280 --> 00:33:01,569 die als STANDARD Modus für die 997 00:33:01,570 --> 00:33:02,859 Festplatten Verschlüsselung auch diesen 998 00:33:02,860 --> 00:33:05,049 CBC Modus verwendet. 999 00:33:05,050 --> 00:33:07,419 Das Problem hier ist jetzt, 1000 00:33:07,420 --> 00:33:09,849 dass ein Angreifer, der kennt, 1001 00:33:09,850 --> 00:33:12,279 wenn man es an Linux denken geheime 1002 00:33:12,280 --> 00:33:13,280 Text. 1003 00:33:14,260 --> 00:33:15,459 Wenn er diese Festplatte zumindest in 1004 00:33:15,460 --> 00:33:17,799 Hand hat und auch Teile des Klartext, 1005 00:33:17,800 --> 00:33:19,689 also in dem Beispiel war, so dass 1006 00:33:19,690 --> 00:33:21,279 derjenige hat einfach nur Ubuntu CD 1007 00:33:21,280 --> 00:33:22,420 genommen hat, die installiert. 1008 00:33:23,430 --> 00:33:25,379 Man hat halt festgestellt, dass zum 1009 00:33:25,380 --> 00:33:27,539 Beispiel, dass die sexuell 1010 00:33:27,540 --> 00:33:29,159 immer auf der Festplatte eine gewisse 1011 00:33:29,160 --> 00:33:30,669 gleichbleibende Position geschrieben 1012 00:33:30,670 --> 00:33:33,569 wird, wie auch andere Dateien und 1013 00:33:33,570 --> 00:33:35,819 auch in dem Falle wieder 1014 00:33:35,820 --> 00:33:37,719 durch geschicktes Manipulieren und 1015 00:33:37,720 --> 00:33:38,729 Fixieren von 1016 00:33:39,900 --> 00:33:40,979 diversen Dateien 1017 00:33:42,090 --> 00:33:44,369 ist es ihm möglich gewesen, beliebigen 1018 00:33:44,370 --> 00:33:46,229 Code sozusagen auf das System 1019 00:33:46,230 --> 00:33:47,139 einzuspielen. 1020 00:33:47,140 --> 00:33:48,359 Das kann ein Trojaner oder irgendwas 1021 00:33:48,360 --> 00:33:50,759 anderes sein, ohne dass man das Passwort 1022 00:33:50,760 --> 00:33:53,009 kennen muss und ohne dass man 1023 00:33:53,010 --> 00:33:54,489 essenziell die Festplatten verschlüsselt. 1024 00:33:54,490 --> 00:33:56,069 Das liegt nur an den Schwächen, in dem 1025 00:33:56,070 --> 00:33:58,349 Falle an diesem CBC Modus. 1026 00:33:58,350 --> 00:34:00,719 Das heißt, jemand hat eine 1027 00:34:00,720 --> 00:34:01,889 verschlüsselte Partition auf seinem 1028 00:34:01,890 --> 00:34:03,629 Rechner. Es kann nicht passieren, niemand 1029 00:34:03,630 --> 00:34:05,219 kann seine Dateien lesen, kann auch 1030 00:34:05,220 --> 00:34:06,809 niemand lesen. Das ist richtig. 1031 00:34:06,810 --> 00:34:09,119 Aber ein geschickter Angreifer kann 1032 00:34:09,120 --> 00:34:10,829 diese Dateien manipulieren. 1033 00:34:10,830 --> 00:34:12,329 Unbemerkt. 1034 00:34:12,330 --> 00:34:14,009 Und das ist auch etwas, was man 1035 00:34:14,010 --> 00:34:15,300 vielleicht nicht unbedingt haben will. 1036 00:34:17,760 --> 00:34:19,559 In dem Artikel hier wird das alles sehr 1037 00:34:19,560 --> 00:34:21,059 genau beschrieben und da gibt es auch den 1038 00:34:21,060 --> 00:34:23,129 Exploit zum Runterladen oder zum 1039 00:34:23,130 --> 00:34:24,869 Angucken. Es ist schon ganz nett. 1040 00:34:24,870 --> 00:34:26,339 Grundsätzlich sollte man sich also immer 1041 00:34:26,340 --> 00:34:27,869 überlegen, welcher Betriebs Modus 1042 00:34:27,870 --> 00:34:29,158 sinnvoll ist. Es gibt also wirklich eine 1043 00:34:29,159 --> 00:34:31,319 ganz, ganz große Menge von diversen 1044 00:34:31,320 --> 00:34:32,939 Betriebsmittel, die verschiedene 1045 00:34:32,940 --> 00:34:35,189 Eigenschaften positiv wie negativ haben. 1046 00:34:35,190 --> 00:34:37,259 Und bevor man sowas einsetzt, muss 1047 00:34:37,260 --> 00:34:38,968 man sich das genau überlegen. 1048 00:34:38,969 --> 00:34:41,579 Wichtig ist immer wenn man CBC einsetzt, 1049 00:34:41,580 --> 00:34:43,448 muss es ein zufälliger Finanzialisierung 1050 00:34:43,449 --> 00:34:44,449 zwecklos sein. 1051 00:34:45,120 --> 00:34:47,218 Und wie man gesehen haben, alte 1052 00:34:47,219 --> 00:34:49,349 Werte zu recyceln ist keine gute 1053 00:34:49,350 --> 00:34:51,689 Idee. Auch CBC muss für Festplatten 1054 00:34:51,690 --> 00:34:52,859 Verschlüsselung zu verwenden ist 1055 00:34:52,860 --> 00:34:54,238 ebenfalls keine gute Idee, wie wir 1056 00:34:54,239 --> 00:34:56,549 gesehen haben. Es gibt aus meiner 1057 00:34:56,550 --> 00:34:58,380 Sicht momentan nur einen, der wirklich 1058 00:34:59,730 --> 00:35:01,409 nahezu uneingeschränkt zu empfehlen ist 1059 00:35:01,410 --> 00:35:03,509 ein Modus. Da ist es Modus 1060 00:35:03,510 --> 00:35:04,919 ist also relativ lang. 1061 00:35:04,920 --> 00:35:06,999 Es wird also X, also 1062 00:35:07,000 --> 00:35:08,369 jetzt wirklich ein langes Wort 1063 00:35:09,390 --> 00:35:11,699 für ein kryptisches oder mit Soyfer 1064 00:35:11,700 --> 00:35:13,859 Textur, Mode und 1065 00:35:13,860 --> 00:35:14,799 Seife, Textilien usw. 1066 00:35:14,800 --> 00:35:17,130 Also das das sind relativ 1067 00:35:18,930 --> 00:35:20,999 fortgeschrittene Konzepte in 1068 00:35:21,000 --> 00:35:23,339 diesem Modus mit enthalten. 1069 00:35:23,340 --> 00:35:25,109 Es gibt noch einige andere Modi. 1070 00:35:25,110 --> 00:35:26,939 Das Problem ist, dass die entweder 1071 00:35:26,940 --> 00:35:28,979 patentiert sind, was man nicht unbedingt 1072 00:35:28,980 --> 00:35:31,049 haben will, oder sie haben halt andere 1073 00:35:31,050 --> 00:35:32,279 Schwächen. 1074 00:35:32,280 --> 00:35:33,479 Will man also auch die unbedingt 1075 00:35:33,480 --> 00:35:34,480 einsetzen? 1076 00:35:36,100 --> 00:35:37,389 Und das, was wir jetzt gerade gesehen 1077 00:35:37,390 --> 00:35:39,789 haben, hier bei diesem CPC, 1078 00:35:39,790 --> 00:35:42,009 das ist es halt 1079 00:35:42,010 --> 00:35:43,809 doch ein großes Problem, wenn man einen 1080 00:35:43,810 --> 00:35:45,729 aktiven Angreifer vor sich hat. 1081 00:35:45,730 --> 00:35:47,829 Das heißt, der Angreifer kennt 1082 00:35:47,830 --> 00:35:49,479 irgendwie eine gewisse Menge von 1083 00:35:49,480 --> 00:35:51,669 verschlüsselten Texten, von geheimen 1084 00:35:51,670 --> 00:35:54,069 Texten, kennt auch Klartext dazu und 1085 00:35:54,070 --> 00:35:55,839 es ist ihm möglich, dadurch mit diesem 1086 00:35:55,840 --> 00:35:58,599 Wissen einen neuen geheimen Text 1087 00:35:58,600 --> 00:36:00,699 zu schaffen. Und das ist eine Sache, 1088 00:36:00,700 --> 00:36:02,769 die man nicht haben 1089 00:36:02,770 --> 00:36:05,049 will. Man spricht hier von Seiffert 1090 00:36:05,050 --> 00:36:06,339 Text, Integrität, die 1091 00:36:07,540 --> 00:36:08,540 erreicht werden soll. 1092 00:36:09,620 --> 00:36:11,449 Und diese sei Text Integrität 1093 00:36:12,800 --> 00:36:14,539 ist dann enthalten in einer Lösung, die 1094 00:36:14,540 --> 00:36:16,789 sich Authentizität nennt. 1095 00:36:16,790 --> 00:36:19,009 Es ist auch vom Prinzip her bekannt seit 1096 00:36:19,010 --> 00:36:21,349 ungefähr 2000 und 1097 00:36:21,350 --> 00:36:23,509 aus meiner Beobachtung heraus geht 1098 00:36:23,510 --> 00:36:24,739 es erst zu den letzten Jahren wirklich 1099 00:36:24,740 --> 00:36:27,619 los, dass diese auch wirklich 1100 00:36:27,620 --> 00:36:30,199 in größerem Rahmen eingesetzt wird. 1101 00:36:30,200 --> 00:36:32,419 Und TLS 1102 00:36:32,420 --> 00:36:35,359 hat es also auch probiert, dieses ganze 1103 00:36:35,360 --> 00:36:38,419 Thema aus den Kryptischen einzusetzen. 1104 00:36:38,420 --> 00:36:40,849 In einem Protokoll machen Sie folgendes 1105 00:36:40,850 --> 00:36:43,129 Sie haben also die Nachricht, berechnen 1106 00:36:43,130 --> 00:36:45,469 daraus eine ich sage jetzt mal eine 1107 00:36:45,470 --> 00:36:48,289 bestimmte Prüfsumme, eine ich mag 1108 00:36:48,290 --> 00:36:51,019 Fügen in Padding dazu 1109 00:36:51,020 --> 00:36:52,909 und verschlüsseln dann das Ganze 1110 00:36:52,910 --> 00:36:55,309 verschlüsselt die Nachricht, der Weg und 1111 00:36:55,310 --> 00:36:56,539 auch das Petting. 1112 00:36:56,540 --> 00:36:58,159 Wenn das die Nachricht ankommt, wird das 1113 00:36:58,160 --> 00:37:00,559 Ganze wieder entschlüsselt. 1114 00:37:00,560 --> 00:37:01,939 Petting wird geprüft. 1115 00:37:01,940 --> 00:37:04,669 Die Magd wird geprüft und eventuell 1116 00:37:04,670 --> 00:37:05,670 dann akzeptiert. 1117 00:37:06,590 --> 00:37:08,209 Und bis es eins eins 1118 00:37:09,500 --> 00:37:11,329 gab es zwei Fehlermeldungen bei der 1119 00:37:11,330 --> 00:37:13,459 Entschlüsselung. Und zwar hat haben 1120 00:37:13,460 --> 00:37:15,889 die hat das Protokoll quasi geguckt. 1121 00:37:15,890 --> 00:37:17,629 Ist das Petting korrekt oder ist es nicht 1122 00:37:17,630 --> 00:37:19,519 korrekt, wenn es falsch war? 1123 00:37:19,520 --> 00:37:21,829 Kam eine Meldung zurück, 1124 00:37:21,830 --> 00:37:23,389 die Grapschen fehlt. 1125 00:37:23,390 --> 00:37:25,489 Und wenn die mal falsch war, 1126 00:37:25,490 --> 00:37:28,249 kam die Meldung Bad Rekordmarke 1127 00:37:28,250 --> 00:37:29,250 zurück. 1128 00:37:29,860 --> 00:37:32,229 Dank neuer Nutzer freundliches Verhalten 1129 00:37:32,230 --> 00:37:34,329 ich weiß, was passiert ist, ist ja an 1130 00:37:34,330 --> 00:37:35,330 sich nicht schlimm. 1131 00:37:36,100 --> 00:37:38,169 Das Problem, was sich hieraus ergibt, mit 1132 00:37:38,170 --> 00:37:39,699 diesem kleinen Unterschied und das ist 1133 00:37:39,700 --> 00:37:41,799 jetzt eben das, was ich in 1134 00:37:41,800 --> 00:37:44,079 meinem Titel mit 1135 00:37:44,080 --> 00:37:45,669 reingetan habe. Also dieses Wissen 1136 00:37:45,670 --> 00:37:47,649 Petting falsch oder richtig? 1137 00:37:47,650 --> 00:37:49,729 Kann man hier wieder die Nachricht diesen 1138 00:37:49,730 --> 00:37:51,909 geheimen Text zu manipulieren, 1139 00:37:51,910 --> 00:37:54,189 dass man nur aufgrund der Fehlermeldung 1140 00:37:54,190 --> 00:37:56,529 description fehlt, entscheiden 1141 00:37:56,530 --> 00:37:58,659 kann durch einige 1142 00:37:58,660 --> 00:37:59,660 Versuche. 1143 00:38:00,550 --> 00:38:02,799 Was ist denn nun wirklich in dem 1144 00:38:02,800 --> 00:38:04,479 Klartext, in dem ursprünglichen Klartext 1145 00:38:04,480 --> 00:38:05,589 drin? 1146 00:38:05,590 --> 00:38:07,539 Und einige Versuche wenn man es an 1147 00:38:07,540 --> 00:38:10,299 Kryptographie denkt, dann denkt man an 1148 00:38:10,300 --> 00:38:13,179 Anzahl des Universums oder Milliarden 1149 00:38:13,180 --> 00:38:15,039 Billionen um. 1150 00:38:15,040 --> 00:38:17,439 Hier ist es so 16 Bit, also diese 1151 00:38:18,580 --> 00:38:20,589 Blockgröße rauszukriegen 328 Bit. 1152 00:38:20,590 --> 00:38:23,049 In dem Falle braucht man im Durchschnitt 1153 00:38:23,050 --> 00:38:25,119 2048 Versuche, dann hat 1154 00:38:25,120 --> 00:38:26,349 man den kompletten Klartext 1155 00:38:26,350 --> 00:38:27,350 zurückgerechnet. 1156 00:38:28,430 --> 00:38:31,249 Und das ist wie gesagt alles eins eins 1157 00:38:31,250 --> 00:38:33,559 ist hier gemacht worden, das 1158 00:38:33,560 --> 00:38:35,269 nennt sich padding Orakel. 1159 00:38:35,270 --> 00:38:37,159 Und wie gesagt, es ist halt, wie in dem 1160 00:38:37,160 --> 00:38:39,079 Fall sogar direkt möglich, den Klartext 1161 00:38:39,080 --> 00:38:40,080 zurück zu ermitteln. 1162 00:38:41,120 --> 00:38:43,519 Und ja, 1163 00:38:43,520 --> 00:38:45,169 es wird schon gesagt hat macht zuerst 1164 00:38:45,170 --> 00:38:47,329 dieses mag und verschlüsselt danach. 1165 00:38:47,330 --> 00:38:49,189 Deswegen heißt das ganze Verfahren mag 1166 00:38:49,190 --> 00:38:51,049 dann ein Kryptos an sich. 1167 00:38:51,050 --> 00:38:53,089 Wenn man alles richtig macht, kann man 1168 00:38:53,090 --> 00:38:54,859 das vielleicht verwenden, aber wir haben 1169 00:38:54,860 --> 00:38:56,929 es halt gesehen durch diese, dass 1170 00:38:56,930 --> 00:38:58,759 dieses eine Bit was dann noch an 1171 00:38:58,760 --> 00:39:00,529 Zusatzinformationen gekommen ist, also 1172 00:39:00,530 --> 00:39:02,569 dieser Information Pfad richtig oder 1173 00:39:02,570 --> 00:39:05,539 falsch ist am Ende alles kaputt gegangen. 1174 00:39:05,540 --> 00:39:07,699 IPC auf der anderen Seite ist den 1175 00:39:07,700 --> 00:39:09,049 anderen Weg gegangen. Die haben gesagt, 1176 00:39:09,050 --> 00:39:11,359 wir verschlüsseln erst unsere Nachricht 1177 00:39:11,360 --> 00:39:12,979 und berechnen danach den Mac. 1178 00:39:12,980 --> 00:39:15,229 Und dieses Verfahren in Crypto Denmark 1179 00:39:15,230 --> 00:39:16,230 ist also auch 1180 00:39:17,390 --> 00:39:19,549 heutzutage als sicheres Verfahren 1181 00:39:19,550 --> 00:39:21,979 angesehen, als sicheres 1182 00:39:21,980 --> 00:39:22,909 Verfahren. 1183 00:39:22,910 --> 00:39:25,559 Es gibt also auch hier bei der ITF 1184 00:39:25,560 --> 00:39:27,739 einen Vorschlag von Peter Goodman, der 1185 00:39:27,740 --> 00:39:30,139 versucht, dieses Skript in Mac Verfahren 1186 00:39:30,140 --> 00:39:32,779 als Extension mit 1187 00:39:32,780 --> 00:39:33,980 standardisieren zu lassen. 1188 00:39:35,930 --> 00:39:37,969 Was ich so sehe Es gibt da eine relativ 1189 00:39:37,970 --> 00:39:40,129 große Diskussion darum, weil natürlich 1190 00:39:40,130 --> 00:39:42,419 die Kryptographie hier wieder sagt 1191 00:39:42,420 --> 00:39:44,539 Na ja, wenn es eine SSL Extension 1192 00:39:44,540 --> 00:39:46,759 ist, ist es sozusagen wieder anfällig 1193 00:39:46,760 --> 00:39:47,869 für so Downgrade Attacken. 1194 00:39:47,870 --> 00:39:50,329 Das heißt, die eine Seite kann sagen, 1195 00:39:50,330 --> 00:39:52,279 ein Krypto habe ich nie gehört. 1196 00:39:52,280 --> 00:39:54,109 Das heißt, dann muss die andere Seite 1197 00:39:54,110 --> 00:39:55,759 irgendein Verfahren nehmen, was schwächer 1198 00:39:55,760 --> 00:39:56,839 ist. 1199 00:39:56,840 --> 00:39:59,239 Und deswegen sind sich da die 1200 00:39:59,240 --> 00:40:01,429 Leute in diesem Forum nie richtig einig, 1201 00:40:01,430 --> 00:40:03,559 das wirklich zu implementieren oder nicht 1202 00:40:03,560 --> 00:40:05,389 zu implementieren, was sie stattdessen 1203 00:40:05,390 --> 00:40:07,609 alternativ vorschlagen, was auch sinnvoll 1204 00:40:07,610 --> 00:40:10,069 ist. Es gibt halt hier direkt Modi, 1205 00:40:10,070 --> 00:40:12,529 die aus den kryptischen 1206 00:40:12,530 --> 00:40:13,519 Verwenden anbieten. 1207 00:40:13,520 --> 00:40:15,769 Also das geht zum Counter Mod 1208 00:40:15,770 --> 00:40:17,299 ist eine so eine Variante, das gibt es 1209 00:40:17,300 --> 00:40:19,249 eher x Modus und noch eine ganze 1210 00:40:19,250 --> 00:40:20,750 zahlreiche Menge andere Modi, 1211 00:40:21,770 --> 00:40:23,959 die hier mit 1212 00:40:23,960 --> 00:40:25,189 kryptischen arbeiten. 1213 00:40:25,190 --> 00:40:27,709 Und das ist auch eine Sache, die 1214 00:40:27,710 --> 00:40:29,419 man im Hinterkopf behalten sollte. 1215 00:40:29,420 --> 00:40:31,999 Also diese Seite Text Integrität 1216 00:40:32,000 --> 00:40:34,699 will man eigentlich haben. 1217 00:40:34,700 --> 00:40:36,170 Ein weiteres Problem, was 1218 00:40:37,340 --> 00:40:39,019 vielleicht auf den Folien hier ein 1219 00:40:39,020 --> 00:40:40,609 bisschen exotisch rüberkommt, was aber in 1220 00:40:40,610 --> 00:40:42,829 der Tat auch bei einigen Anbietern 1221 00:40:42,830 --> 00:40:44,209 zu krassen Problemen geführt hat, 1222 00:40:46,070 --> 00:40:47,210 spielt sich bei Hashes ab. 1223 00:40:48,260 --> 00:40:50,479 Hashes sind also so grafische 1224 00:40:50,480 --> 00:40:52,699 Prüfsumme und 1225 00:40:52,700 --> 00:40:54,559 einige Anbieter sind auf die Idee kommen, 1226 00:40:54,560 --> 00:40:56,749 man fügt einfach verschiedene Werte 1227 00:40:56,750 --> 00:40:59,179 hintereinander. Man Flickr 1228 00:40:59,180 --> 00:41:00,919 als klassisches Beispiel 1229 00:41:02,090 --> 00:41:03,269 hat Ensikat genommen. 1230 00:41:03,270 --> 00:41:05,419 Es ist gerade die letzte Zeile, die unten 1231 00:41:05,420 --> 00:41:07,280 steht und hat eine. 1232 00:41:08,460 --> 00:41:10,559 Nachricht kontaminiert daran 1233 00:41:10,560 --> 00:41:12,149 und hat darüber über dieses ganze 1234 00:41:12,150 --> 00:41:14,759 Konstrukt MD5 1235 00:41:14,760 --> 00:41:16,019 Summe berechnet. 1236 00:41:16,020 --> 00:41:17,020 Das Problem bei 1237 00:41:18,570 --> 00:41:20,879 diesen Hash SUM 5, 1 1238 00:41:20,880 --> 00:41:22,079 2 etc. 1239 00:41:22,080 --> 00:41:23,759 Die haben zwar eine gewisse innere 1240 00:41:23,760 --> 00:41:26,099 Konstruktion, das nennt sich Märkte 1241 00:41:26,100 --> 00:41:28,229 Verfahren nach den 1242 00:41:28,230 --> 00:41:30,779 Erfindern und die 1243 00:41:30,780 --> 00:41:32,579 wenden wiederholt zur Kompression 1244 00:41:32,580 --> 00:41:34,859 Funktion an und man kann jetzt, 1245 00:41:34,860 --> 00:41:36,270 wenn man geschickter Angreifer ist 1246 00:41:37,650 --> 00:41:39,119 an existierenden. 1247 00:41:39,120 --> 00:41:41,069 Man muss den Hash kennen und die 1248 00:41:41,070 --> 00:41:43,679 Nachrichten Länge und man kann es 1249 00:41:43,680 --> 00:41:45,389 manipulieren und noch eine modifizierte 1250 00:41:45,390 --> 00:41:47,639 Narayen dranhängen. Also das was hier 1251 00:41:47,640 --> 00:41:49,889 als Test gekennzeichnet ist 1252 00:41:49,890 --> 00:41:51,629 und kann daraus eine neue Hash 1253 00:41:51,630 --> 00:41:52,559 summarischen. 1254 00:41:52,560 --> 00:41:53,560 Man kennt sozusagen. 1255 00:41:54,550 --> 00:41:56,649 Die Werte hier, das hier und 1256 00:41:56,650 --> 00:41:58,839 hängt einfach mit dem Wissen noch was 1257 00:41:58,840 --> 00:42:01,059 hinten dran und 1258 00:42:01,060 --> 00:42:03,009 man kann einen komplett neuen Hash 1259 00:42:03,010 --> 00:42:04,809 errechnen, ohne dass man jetzt 1260 00:42:04,810 --> 00:42:06,549 grundsätzlich spricht. Es liegt einfach 1261 00:42:06,550 --> 00:42:07,809 an der internen Struktur. 1262 00:42:07,810 --> 00:42:09,459 Ich hatte es hier oben noch ein bisschen 1263 00:42:10,660 --> 00:42:12,759 genau aufgeführt. Man musste aufgrund der 1264 00:42:12,760 --> 00:42:14,619 Länge deswegen Form und Länge. 1265 00:42:14,620 --> 00:42:15,729 Muss man sich irgendwie ein Padding 1266 00:42:15,730 --> 00:42:17,139 errechnen, hängt es rein. 1267 00:42:17,140 --> 00:42:19,029 Und dann die Nachricht, mit der man das 1268 00:42:19,030 --> 00:42:21,639 ganze manipulieren will 1269 00:42:21,640 --> 00:42:23,289 und kriegt dann einen neuen Hash 1270 00:42:23,290 --> 00:42:24,699 rausgerechnet. Und bei der alten Flicker 1271 00:42:24,700 --> 00:42:25,750 API war es halt so, 1272 00:42:26,770 --> 00:42:28,899 dass man diesen Hash Wert dann als API 1273 00:42:28,900 --> 00:42:31,059 und sich an Flicker übergeben hat. 1274 00:42:31,060 --> 00:42:32,409 Man hat dann noch ein paar andere Parameter 1275 00:42:32,410 --> 00:42:34,869 übergeben und hat es 1276 00:42:34,870 --> 00:42:36,729 abgeschickt. Die haben das halt geprüft, 1277 00:42:36,730 --> 00:42:39,009 wo alles in Ordnung super und 1278 00:42:39,010 --> 00:42:40,609 haben das dann als korrekt akzeptiert. 1279 00:42:40,610 --> 00:42:42,249 Also so ein funktionierender Angriff bei 1280 00:42:42,250 --> 00:42:44,829 Flicker war dann in dem Falle, dass man 1281 00:42:44,830 --> 00:42:47,169 über die API auch Leute an externe 1282 00:42:47,170 --> 00:42:48,859 URLs weiterleiten konnte. 1283 00:42:48,860 --> 00:42:50,979 Also man hat sozusagen extra 1284 00:42:50,980 --> 00:42:53,829 ist gleich http, cc, ccd 1285 00:42:53,830 --> 00:42:56,019 zum Beispiel mit dran gehangen und 1286 00:42:56,020 --> 00:42:57,819 dann ist bei einem Aufruf der URL man 1287 00:42:57,820 --> 00:43:00,669 automatisch weitergeleitet worden an cc. 1288 00:43:00,670 --> 00:43:02,199 Ich meine CC. Die ist jetzt vielleicht 1289 00:43:02,200 --> 00:43:03,429 noch eine nette Seite. Man hätte aber 1290 00:43:03,430 --> 00:43:05,499 auch beliebig bösartige Seiten 1291 00:43:05,500 --> 00:43:07,599 dranhängen können. Also ist auch eine 1292 00:43:07,600 --> 00:43:10,089 Sache, die sehr unschön ist 1293 00:43:10,090 --> 00:43:12,189 und es gab da eine ganze ganze 1294 00:43:12,190 --> 00:43:13,869 Menge von weiteren Services, die das 1295 00:43:13,870 --> 00:43:14,920 genauso gemacht haben. 1296 00:43:16,720 --> 00:43:18,789 Das war insbesondere ein bisschen 1297 00:43:18,790 --> 00:43:20,320 merkwürdig, weil die halt auch die 1298 00:43:21,460 --> 00:43:23,709 aus dem Request String, der URL, 1299 00:43:23,710 --> 00:43:25,869 alles was und und dann 1300 00:43:25,870 --> 00:43:28,569 ist gleich mal raus extrahiert haben 1301 00:43:28,570 --> 00:43:30,639 und das dann 1302 00:43:30,640 --> 00:43:31,640 später 1303 00:43:32,800 --> 00:43:34,119 korrekt akzeptiert haben. 1304 00:43:34,120 --> 00:43:36,369 Also man könne da irgendwas so was wie FU 1305 00:43:36,370 --> 00:43:38,409 ist gleich reinschreiben. 1306 00:43:38,410 --> 00:43:40,149 Und das war für Flicker am Ende das 1307 00:43:40,150 --> 00:43:42,239 gleiche wie F ist gleich 1308 00:43:42,240 --> 00:43:44,859 Ober, also 1309 00:43:44,860 --> 00:43:45,849 das. 1310 00:43:45,850 --> 00:43:47,709 Da gab es also noch ein paar andere 1311 00:43:47,710 --> 00:43:49,599 Nettigkeiten, die die halt gemacht haben 1312 00:43:49,600 --> 00:43:51,609 ist das mittlerweile auch gefixt, ist 1313 00:43:51,610 --> 00:43:53,710 aber aufgrund der Struktur dieses 1314 00:43:55,360 --> 00:43:57,999 dieser Algorithmus hier 1315 00:43:58,000 --> 00:43:59,259 ein Problem. 1316 00:43:59,260 --> 00:44:01,239 Ein paar Wissenschaftler haben dann also 1317 00:44:01,240 --> 00:44:02,769 das entdeckt haben. Also auch die zwei, 1318 00:44:02,770 --> 00:44:03,940 die hier das 1319 00:44:04,990 --> 00:44:06,849 gesehen haben, haben gesagt Okay, wenn 1320 00:44:06,850 --> 00:44:09,069 ihr das umdreht. Das ganze 1321 00:44:09,070 --> 00:44:10,839 erste Nachricht und das Concert in ihren 1322 00:44:10,840 --> 00:44:14,019 mit dem Secrets, dann kann das. 1323 00:44:14,020 --> 00:44:15,579 Geht das gut, dann funktioniert unsere 1324 00:44:15,580 --> 00:44:17,129 Angriffe nicht mehr, weil man eben ein 1325 00:44:17,130 --> 00:44:19,239 gewisses Wissen nicht mehr hat. 1326 00:44:19,240 --> 00:44:21,579 Allerdings haben das später Leute wieder 1327 00:44:21,580 --> 00:44:23,649 andere Probleme gefunden, deswegen ist 1328 00:44:23,650 --> 00:44:25,719 es heute auch nicht mehr zu empfehlen. 1329 00:44:25,720 --> 00:44:27,819 Stattdessen das, was wir vorhin 1330 00:44:27,820 --> 00:44:29,440 schon gesehen haben Es gibt dieses Kit 1331 00:44:30,590 --> 00:44:33,069 schmeckt's also das Tags 1332 00:44:33,070 --> 00:44:35,269 und unter anderem das Extra 1333 00:44:35,270 --> 00:44:36,819 256 zum Beispiel. 1334 00:44:36,820 --> 00:44:38,919 Auch andere sind eine 1335 00:44:38,920 --> 00:44:40,839 sehr gute Alternative 1336 00:44:41,920 --> 00:44:43,369 und haben diese Probleme. 1337 00:44:43,370 --> 00:44:46,029 Ich vermute auch, dass das 1338 00:44:46,030 --> 00:44:47,769 weiß ich allerdings noch nicht genau, 1339 00:44:47,770 --> 00:44:50,079 dass der Ketchup Algorithmus, 1340 00:44:50,080 --> 00:44:52,149 also dieser SHA 3 1341 00:44:52,150 --> 00:44:54,249 Algorithmus, der eingreift, 1342 00:44:54,250 --> 00:44:56,289 aber noch nicht fertig spezifiziert ist, 1343 00:44:56,290 --> 00:44:58,419 vermutlich dieses Angriffs Szenario nicht 1344 00:44:58,420 --> 00:44:59,420 mehr bietet. Also 1345 00:45:00,880 --> 00:45:03,489 vorausgesetzt die NIST 1346 00:45:03,490 --> 00:45:05,409 akzeptiert diesen Catcher genauso wie er 1347 00:45:05,410 --> 00:45:07,539 vorgeschlagen ist, würde das vermutlich 1348 00:45:07,540 --> 00:45:09,429 nicht mehr funktionieren. Aber wer 1349 00:45:09,430 --> 00:45:11,709 gestern die Talks gehört 1350 00:45:11,710 --> 00:45:13,809 hat von Bronstein oder wer 1351 00:45:13,810 --> 00:45:15,049 halt auch das ganze zertifiziertes 1352 00:45:15,050 --> 00:45:17,259 Verfahren verfolgt, wird also auch 1353 00:45:17,260 --> 00:45:19,329 gesehen, dass die NIST hier und 1354 00:45:19,330 --> 00:45:21,159 da ein bissl an diesem Algorithmus rum 1355 00:45:21,160 --> 00:45:22,329 schleift und da was ändert. 1356 00:45:22,330 --> 00:45:24,819 Da muss man vielleicht vorsichtig 1357 00:45:24,820 --> 00:45:26,919 sein. Grundsätzlich ist es halt 1358 00:45:26,920 --> 00:45:29,319 so, dass für ein 1359 00:45:29,320 --> 00:45:31,389 ordentliches Krypto System braucht man 1360 00:45:31,390 --> 00:45:33,969 auch gut Zufall also. 1361 00:45:33,970 --> 00:45:36,129 Und das ist halt auch eine Sache, die 1362 00:45:36,130 --> 00:45:38,229 wo viele immer wieder auf die 1363 00:45:38,230 --> 00:45:40,329 Nase fallen Probleme kriegen, 1364 00:45:41,680 --> 00:45:43,059 das für manche sind. 1365 00:45:43,060 --> 00:45:44,979 Das ist Zufall sozusagen nur wichtig 1366 00:45:44,980 --> 00:45:46,359 scheint es ist essenziell, wenn es 1367 00:45:46,360 --> 00:45:48,609 schlechten Zufall habt und das ganze 1368 00:45:48,610 --> 00:45:51,249 in C in DSA digital 1369 00:45:51,250 --> 00:45:53,679 Designers Algorithmen füttert, 1370 00:45:53,680 --> 00:45:55,869 könnt ihr dort den 1371 00:45:55,870 --> 00:45:58,309 geheimen Schlüssel rausrechnen. 1372 00:45:58,310 --> 00:46:00,669 Ein anderes Beispiel, was 1373 00:46:00,670 --> 00:46:02,259 auch im Laufe des Jahres zu trauriger 1374 00:46:02,260 --> 00:46:04,449 Berühmtheit gelangt ist, ist in 1375 00:46:04,450 --> 00:46:06,579 Schadprogramm namens Crypto Katz ist also 1376 00:46:06,580 --> 00:46:08,709 ein Plugin für den Browser kann man 1377 00:46:08,710 --> 00:46:09,909 sich also zum Beispiel für den Google 1378 00:46:09,910 --> 00:46:12,099 Chrome installieren. 1379 00:46:12,100 --> 00:46:14,169 Und wenn man dann halt mit 1380 00:46:14,170 --> 00:46:16,029 Leuten chatten will, generiert das 1381 00:46:16,030 --> 00:46:18,369 Personen einen neuen Schlüssel und 1382 00:46:18,370 --> 00:46:20,679 man baut quasi gegenseitig über 1383 00:46:20,680 --> 00:46:22,779 den Browser eine Verbindung, also off 1384 00:46:22,780 --> 00:46:24,879 the record messaging auf und 1385 00:46:24,880 --> 00:46:25,880 kommuniziert miteinander. 1386 00:46:28,290 --> 00:46:30,749 Nun ist es halt auch so, dass derjenige, 1387 00:46:30,750 --> 00:46:31,739 der das geschrieben hat, auch kein 1388 00:46:31,740 --> 00:46:33,809 Kryptografie ist und eine ganze 1389 00:46:33,810 --> 00:46:36,150 Reihe von Fehlern gemacht hat, die 1390 00:46:37,650 --> 00:46:39,149 irgendwann dazu geführt haben, dass Leute 1391 00:46:39,150 --> 00:46:40,439 gesagt haben, das Programm sollte man 1392 00:46:40,440 --> 00:46:42,740 vielleicht eher in Crypto umbenennen. 1393 00:46:44,580 --> 00:46:46,769 Und ein interessanter 1394 00:46:46,770 --> 00:46:48,400 Fehler, der jetzt auf den 1395 00:46:51,030 --> 00:46:52,709 Generator, also auf den Zufallsgenerator, 1396 00:46:52,710 --> 00:46:54,989 sich bezieht, ist hier 1397 00:46:54,990 --> 00:46:56,579 mal auf diesen vier Zeilen mal 1398 00:46:56,580 --> 00:46:58,649 zusammengefasst. Da spielt also 1399 00:46:58,650 --> 00:46:59,979 noch ein bisschen was rein. Das ist, dass 1400 00:46:59,980 --> 00:47:01,139 das Programm hier JavaScript 1401 00:47:02,550 --> 00:47:04,289 benutzt. Was Sie hier gemacht haben, ist 1402 00:47:04,290 --> 00:47:06,959 also hier so eine kleine Schleife 1403 00:47:06,960 --> 00:47:09,039 und haben versucht, über 250 wäre 1404 00:47:09,040 --> 00:47:10,040 dazu 1405 00:47:11,210 --> 00:47:13,379 die Zahl 250 durch 1406 00:47:13,380 --> 00:47:16,029 Modulo auf die Zahl 0 bis 9 abzubilden. 1407 00:47:16,030 --> 00:47:17,939 So eine Hoffnung. Man hat eben 25 Martin 1408 00:47:17,940 --> 00:47:20,069 oder 25 und bis 25 1409 00:47:20,070 --> 00:47:21,269 mal die Neuen. 1410 00:47:21,270 --> 00:47:22,979 Wenn man sich aber den Code ganz genauer 1411 00:47:22,980 --> 00:47:25,139 anguckt, fällt vielleicht 1412 00:47:25,140 --> 00:47:26,639 dem ein oder anderen was auf. 1413 00:47:26,640 --> 00:47:28,889 Der Code hat eigentlich zwei Probleme. 1414 00:47:28,890 --> 00:47:30,479 Das eine ist vielleicht nur ein 1415 00:47:30,480 --> 00:47:32,579 artifizielles Problem, dass nämlich, dass 1416 00:47:32,580 --> 00:47:34,559 dieses diese Funktion Random Salsa 1417 00:47:34,560 --> 00:47:37,259 Arbeit, die garantiert, 1418 00:47:37,260 --> 00:47:39,599 dass das irgendwie innerhalb 1419 00:47:39,600 --> 00:47:41,219 einer gewissen Zeit wirklich 1420 00:47:43,440 --> 00:47:44,879 irgendwas heißt, wieder zurückkommt. 1421 00:47:44,880 --> 00:47:47,249 Das, was innerhalb 1422 00:47:47,250 --> 00:47:48,479 der Regel ist. Es heißt, theoretisch 1423 00:47:48,480 --> 00:47:50,039 könnte man hier davon ausgehen, dass man 1424 00:47:50,040 --> 00:47:52,109 so eine unendlich lange laufende Funktion 1425 00:47:52,110 --> 00:47:54,809 hat. Das könnte passieren, 1426 00:47:54,810 --> 00:47:55,859 ist, weiß man nicht. 1427 00:47:55,860 --> 00:47:57,539 Das hauptsächliche Problem ist, das 1428 00:47:58,680 --> 00:48:00,789 kennt man gerne mal Programmierer. 1429 00:48:00,790 --> 00:48:01,949 Das ist auch so ein Fehler, der einfach 1430 00:48:01,950 --> 00:48:03,239 auch sehr gerne gemacht wird. 1431 00:48:04,350 --> 00:48:07,049 Man zählt halt hier von 0 bis 250. 1432 00:48:07,050 --> 00:48:09,269 Es heißt, man integriert nämlich 1433 00:48:09,270 --> 00:48:11,639 nicht über 250 Wörter, sondern über 251 1434 00:48:11,640 --> 00:48:12,599 Wörter. 1435 00:48:12,600 --> 00:48:14,759 Und das Problem ist 1436 00:48:14,760 --> 00:48:16,649 halt hier, dass durch dieses ganze Modulo 1437 00:48:16,650 --> 00:48:19,259 hat man am Ende 26 mal eine 0 und 25 1438 00:48:19,260 --> 00:48:20,939 mal die anderen zahlen. Das heißt, ein 1439 00:48:20,940 --> 00:48:23,159 Wert hat so eine solche Bevorzugung 1440 00:48:23,160 --> 00:48:26,549 sonst Q wie man so schön sagt und 1441 00:48:26,550 --> 00:48:27,629 das kann ich mir denken. 1442 00:48:27,630 --> 00:48:29,999 Na ja, der eine Wert, 1443 00:48:30,000 --> 00:48:31,499 was macht das schon? 1444 00:48:31,500 --> 00:48:33,359 Das ist ja kein Problem oder was auch 1445 00:48:33,360 --> 00:48:34,360 immer. 1446 00:48:35,400 --> 00:48:37,469 Es haben dann ein paar Leute von 1447 00:48:37,470 --> 00:48:40,169 sowas immer das ganze in so schöner 1448 00:48:40,170 --> 00:48:42,269 Grafik hier abgebildet, haben diese Werte 1449 00:48:42,270 --> 00:48:44,409 halt hier geplottet. So eine quadratische 1450 00:48:44,410 --> 00:48:46,259 Funktion und was man hier sieht man was, 1451 00:48:46,260 --> 00:48:47,610 was man eben nicht sehen will, 1452 00:48:48,720 --> 00:48:51,179 nämlich ein Muster und ein Zufallszahlen 1453 00:48:51,180 --> 00:48:53,699 Generator, der ein Muster hat, ist also 1454 00:48:53,700 --> 00:48:55,599 nicht zufällig. 1455 00:48:55,600 --> 00:48:57,089 Also man will eher hier so ein schönes 1456 00:48:57,090 --> 00:48:58,739 Rauschen ohne irgendwelche Muster 1457 00:48:58,740 --> 00:49:00,689 grundsätzlich haben und das hat also hier 1458 00:49:01,800 --> 00:49:04,049 der Code nicht. 1459 00:49:04,050 --> 00:49:06,119 Und das ist also hier auch eines 1460 00:49:06,120 --> 00:49:08,459 der Probleme, wo Crypto Code 1461 00:49:08,460 --> 00:49:09,929 bisschen drüber gestolpert ist. 1462 00:49:09,930 --> 00:49:12,239 Und als Verbesserung kann 1463 00:49:12,240 --> 00:49:14,189 man sagen, nützt sowas wie am besten dev 1464 00:49:14,190 --> 00:49:16,319 random oder der führendem. 1465 00:49:16,320 --> 00:49:18,749 Wobei wer von euch 1466 00:49:18,750 --> 00:49:20,109 gerne mit Routern rum spielt. 1467 00:49:20,110 --> 00:49:22,079 Das ist halt auch so so ein nettes Ding. 1468 00:49:22,080 --> 00:49:24,149 Also versucht man Router anzumachen und 1469 00:49:24,150 --> 00:49:25,379 generiert euch den Schlüssel und dann 1470 00:49:25,380 --> 00:49:27,629 macht es mehrere Male und dann wird 1471 00:49:27,630 --> 00:49:30,539 er auf einmal sehen, dass das diverse 1472 00:49:30,540 --> 00:49:32,699 Schlüssel dann hier gleich sind. 1473 00:49:32,700 --> 00:49:34,859 Das ist halt auch das Problem, 1474 00:49:34,860 --> 00:49:37,139 was hier bei dem Linux 1475 00:49:37,140 --> 00:49:38,489 Zufallszahlen Generator mit ist. 1476 00:49:38,490 --> 00:49:40,649 Der muss halt irgendwo am 1477 00:49:40,650 --> 00:49:43,049 Anfang sein, sozusagen Initialen 1478 00:49:43,050 --> 00:49:45,119 zu CTR kriegen 1479 00:49:45,120 --> 00:49:47,279 und bei den normalen Desktop Systemen 1480 00:49:47,280 --> 00:49:49,349 ist es so, da wird irgendwas 1481 00:49:49,350 --> 00:49:51,059 gespeichert, das wird dann ausgelesen und 1482 00:49:51,060 --> 00:49:52,529 damit wird da Zufallszahlen Generator 1483 00:49:52,530 --> 00:49:55,619 gesichert und später kommen dann so 1484 00:49:55,620 --> 00:49:57,389 verschiedene Zufallszahl Quellen mit 1485 00:49:57,390 --> 00:49:59,949 rein. Also das wird das Eingaben. 1486 00:49:59,950 --> 00:50:03,149 Maurus Festplatten 1487 00:50:03,150 --> 00:50:04,709 Sachen werden mit ausgewertet, zum Teil 1488 00:50:04,710 --> 00:50:06,269 auch Netzwerk. 1489 00:50:06,270 --> 00:50:08,219 Und wenn ihr euch mal überlegt wie so ein 1490 00:50:08,220 --> 00:50:09,220 Router aussieht. 1491 00:50:10,350 --> 00:50:11,999 Also meine haben weder Maus noch 1492 00:50:12,000 --> 00:50:14,099 Festplatte und 1493 00:50:14,100 --> 00:50:15,249 auch gar keine Tastatur. 1494 00:50:15,250 --> 00:50:17,269 Das heißt für eine ganz große Klasse an 1495 00:50:17,270 --> 00:50:19,469 anderen Zufallszahl Quellen, die damit 1496 00:50:19,470 --> 00:50:21,539 reinkommen. Und deshalb dauert 1497 00:50:21,540 --> 00:50:23,909 es halt auch eine ganze Zeit, bis der 1498 00:50:23,910 --> 00:50:26,369 ordentlichen Vernünftigen Zufall liefert. 1499 00:50:27,600 --> 00:50:28,920 Es war eine ganze Zeit auch so, 1500 00:50:29,940 --> 00:50:31,859 dass der Zufallszahlen Generator von 1501 00:50:31,860 --> 00:50:35,129 Windows, der war so zufällig, 1502 00:50:35,130 --> 00:50:37,169 dass wenn man wusste, wie so ein gewisser 1503 00:50:37,170 --> 00:50:38,759 Status ist, konnte man den Status für 1504 00:50:38,760 --> 00:50:41,279 nächste Zufälle vorhersagen. 1505 00:50:41,280 --> 00:50:43,619 Also das ist auch so was, was man 1506 00:50:43,620 --> 00:50:45,269 von einem Zufallszahlen Generator nicht 1507 00:50:45,270 --> 00:50:46,289 wirklich will. 1508 00:50:46,290 --> 00:50:48,239 Ist aber auch mittlerweile gefixt 1509 00:50:49,590 --> 00:50:51,419 hier. Was man so an verschiedenen 1510 00:50:51,420 --> 00:50:52,689 Funktionen vielleicht verwenden kann, 1511 00:50:52,690 --> 00:50:55,109 habe ich hier mal mit aufgeschrieben für 1512 00:50:55,110 --> 00:50:56,279 Programmierer. 1513 00:50:56,280 --> 00:50:58,319 Und wenn man wirklich sozusagen selbst 1514 00:50:58,320 --> 00:51:00,449 Zufall generiert, muss 1515 00:51:00,450 --> 00:51:01,419 man das halt einfach testen. 1516 00:51:01,420 --> 00:51:03,809 Das ist halt wichtig, sich Gedanken 1517 00:51:03,810 --> 00:51:06,059 zu machen wie die, die 1518 00:51:06,060 --> 00:51:07,349 Ausgabe zu testen. 1519 00:51:07,350 --> 00:51:09,599 Es gibt ja ein Programm, was 1520 00:51:09,600 --> 00:51:11,879 meines Wissens nur als als C vorliegt, 1521 00:51:11,880 --> 00:51:13,919 also müsste kompilieren und dann können 1522 00:51:13,920 --> 00:51:16,139 da stehen die Ausgabe 1523 00:51:16,140 --> 00:51:18,029 von eurem Zufallszahlen Generator, ein 1524 00:51:18,030 --> 00:51:19,259 einzelnes Programm. 1525 00:51:19,260 --> 00:51:21,329 Die hattest 1526 00:51:21,330 --> 00:51:23,129 du dann in verschiedene statistische oder 1527 00:51:23,130 --> 00:51:25,079 verschiedene statistische Verfahren, um 1528 00:51:25,080 --> 00:51:27,149 die Ausgabe zu testen und sagt 1529 00:51:27,150 --> 00:51:29,309 dann. Ob der qualitativ 1530 00:51:29,310 --> 00:51:31,379 gut oder weniger gut 1531 00:51:31,380 --> 00:51:33,329 ist. Also grundsätzlich muss man sich 1532 00:51:33,330 --> 00:51:34,919 aber hier vielleicht bissel Gedanken auch 1533 00:51:34,920 --> 00:51:37,049 wieder um Mathematik Statistik machen, um 1534 00:51:37,050 --> 00:51:38,999 zu sehen, wie gut die Zufallszahlen 1535 00:51:39,000 --> 00:51:40,319 Generatoren sind. 1536 00:51:40,320 --> 00:51:42,569 Grundsätzlich ist es natürlich so das was 1537 00:51:42,570 --> 00:51:44,219 ich hier jetzt sozusagen innerhalb der 1538 00:51:45,240 --> 00:51:47,079 paar Minuten die Zeit hatte, habe ich mir 1539 00:51:47,080 --> 00:51:48,539 wirklich mal einfach 6 Sachen 1540 00:51:48,540 --> 00:51:50,729 rausgesucht. Es gibt noch einige andere 1541 00:51:50,730 --> 00:51:51,730 Sachen, die 1542 00:51:53,260 --> 00:51:55,499 wirklich problematisch sind. 1543 00:51:55,500 --> 00:51:56,729 Aus meiner Sicht ist eine der 1544 00:51:56,730 --> 00:51:58,979 wichtigsten, aus meiner 1545 00:51:58,980 --> 00:52:00,229 Sicht kann man sagen Kryptographie schon 1546 00:52:00,230 --> 00:52:01,349 franzsischer wenn es richtig 1547 00:52:01,350 --> 00:52:03,179 implementiert und verwendet werden, also 1548 00:52:03,180 --> 00:52:05,459 auch sozusagen ein Verfahren was man 1549 00:52:05,460 --> 00:52:07,439 hat, was aus etabliert ist und man 1550 00:52:07,440 --> 00:52:09,029 verwendet es aber einer ganz anderen Art 1551 00:52:09,030 --> 00:52:10,139 als ursprünglich vorgesehen. 1552 00:52:10,140 --> 00:52:13,289 Es kann auch zu sehr unvorhergesehenen 1553 00:52:13,290 --> 00:52:15,599 und zum Teil massiven Problemen führen. 1554 00:52:15,600 --> 00:52:18,209 Und was man hier 1555 00:52:18,210 --> 00:52:19,349 vielleicht gesehen hat, wenn das nicht 1556 00:52:19,350 --> 00:52:21,569 passiert, reichen bereits kleine 1557 00:52:21,570 --> 00:52:23,459 winzige Fehler aus für katastrophale 1558 00:52:23,460 --> 00:52:24,959 Folgen. Das ist halt so ein großes 1559 00:52:24,960 --> 00:52:27,029 Problem bei Kryptographie, dass wenn wenn 1560 00:52:27,030 --> 00:52:28,829 ihr einen kleinen Fehler habt, führt das 1561 00:52:28,830 --> 00:52:31,019 eben zu massiven Problemen 1562 00:52:31,020 --> 00:52:32,610 bis hin zur Klartext. 1563 00:52:33,780 --> 00:52:35,409 Und grundsätzlich auch nützt Sachen 1564 00:52:35,410 --> 00:52:36,869 nicht, weil irgendjemand von euren 1565 00:52:36,870 --> 00:52:39,149 Freunden oder von eurer Peergroup sagt, 1566 00:52:39,150 --> 00:52:41,009 dass das cool ist oder dass das ein 1567 00:52:41,010 --> 00:52:43,409 nettes Teilchen irgendwo hat 1568 00:52:43,410 --> 00:52:45,629 mit einem schönen Schloss oder sowas, 1569 00:52:45,630 --> 00:52:47,939 sondern am Ende muss man sich irgendwie 1570 00:52:47,940 --> 00:52:50,280 doch immer wieder die Quellen angucken 1571 00:52:51,330 --> 00:52:52,979 und selber entscheiden, ob das gut oder 1572 00:52:52,980 --> 00:52:55,439 schlecht ist. Und wie so oft, 1573 00:52:55,440 --> 00:52:57,719 je mehr Augen drauf gucken und versuchen, 1574 00:52:57,720 --> 00:52:59,279 da irgendwie Schwachstellen zu finden, 1575 00:52:59,280 --> 00:53:00,899 desto besser ist es am Ende für den Code. 1576 00:53:00,900 --> 00:53:02,339 Und vielleicht kriegt man am Ende 1577 00:53:02,340 --> 00:53:04,409 wirklich ein sicheres, gutes 1578 00:53:04,410 --> 00:53:05,649 System raus. 1579 00:53:05,650 --> 00:53:07,199 Ja, also wie gesagt, es waren halt so ein 1580 00:53:07,200 --> 00:53:08,849 paar Ideen, die ich mitgebracht habe. 1581 00:53:08,850 --> 00:53:10,229 Ich hoffe, das hat einer oder anderen 1582 00:53:10,230 --> 00:53:11,459 geholfen. 1583 00:53:11,460 --> 00:53:13,049 Ich danke euch fürs Zuhören und wer noch 1584 00:53:13,050 --> 00:53:14,489 Fragen hat. 1585 00:53:14,490 --> 00:53:15,779 Ich glaub wir haben noch ein paar Minuten 1586 00:53:15,780 --> 00:53:16,780 Zeit. 1587 00:53:19,860 --> 00:53:22,159 Ok, danke vielmals für 1588 00:53:22,160 --> 00:53:23,160 diesen Vortrag. 1589 00:53:24,350 --> 00:53:26,689 Und bevor es mit der New Show losgeht, 1590 00:53:26,690 --> 00:53:28,369 haben wir effektiv noch etwas Zeit. 1591 00:53:28,370 --> 00:53:30,619 Und wer also noch Fragen hat, bitte wie 1592 00:53:30,620 --> 00:53:32,839 immer geht zu den Mikrofonen im Saal oder 1593 00:53:32,840 --> 00:53:34,999 auf dem Balkon und wir starten 1594 00:53:35,000 --> 00:53:36,199 gerade mal mit einer Frage aus dem 1595 00:53:36,200 --> 00:53:37,519 Internet. 1596 00:53:37,520 --> 00:53:40,009 Also die Frage, die uns im Internet 1597 00:53:40,010 --> 00:53:42,349 mich erreicht hat, lautet Welche 1598 00:53:42,350 --> 00:53:44,689 von den bekannteren Crypto Labs 1599 00:53:44,690 --> 00:53:46,909 sollte man meiden und welche sind 1600 00:53:46,910 --> 00:53:47,910 zu empfehlen? 1601 00:53:50,580 --> 00:53:51,580 Also wie gesagt, 1602 00:53:52,920 --> 00:53:55,059 ich werde versuchen immer so eine 1603 00:53:55,060 --> 00:53:57,419 Level Bibliothek zu verwenden. 1604 00:53:57,420 --> 00:53:58,649 Also das was ich auch schon an dem 1605 00:53:58,650 --> 00:54:00,419 Beispiel versucht habe zu erklären, ist 1606 00:54:00,420 --> 00:54:02,519 also Krypto. Also die Bibliothek 1607 00:54:02,520 --> 00:54:04,029 ist per se nie unsicher, ist also 1608 00:54:04,030 --> 00:54:05,669 dasselbe und beileibe bei niemanden 1609 00:54:05,670 --> 00:54:07,139 hängen bleibt es einfach. Die die 1610 00:54:07,140 --> 00:54:09,209 Benutzung von der Bibliothek ist halt 1611 00:54:09,210 --> 00:54:10,739 bissel kryptisch. Man muss halt sehr sehr 1612 00:54:10,740 --> 00:54:12,509 aufpassen um das richtig zu machen und 1613 00:54:12,510 --> 00:54:14,729 diese Level Bibliothek nicht auch hier 1614 00:54:14,730 --> 00:54:15,949 genannt habe wie Caesar 1615 00:54:16,990 --> 00:54:17,999 diverse andere. 1616 00:54:18,000 --> 00:54:20,609 Die sind durchaus sinnvoll. 1617 00:54:20,610 --> 00:54:22,559 Es ist auch so, dass die. 1618 00:54:22,560 --> 00:54:24,959 Es gibt diese GPG Bibliothek, 1619 00:54:24,960 --> 00:54:27,119 die aus meiner Sicht 1620 00:54:27,120 --> 00:54:29,219 durchaus sinnvoll 1621 00:54:29,220 --> 00:54:31,289 sein kann. Wobei da mein Eindruck so 1622 00:54:31,290 --> 00:54:33,809 über die letzten letzte Zeit ist, dass 1623 00:54:33,810 --> 00:54:35,249 durch diese ganzen Snowden Leaks fangen 1624 00:54:35,250 --> 00:54:37,509 wieder mehr Leute an GnuPG als 1625 00:54:37,510 --> 00:54:38,909 Software sich anzugucken. 1626 00:54:38,910 --> 00:54:41,399 Und dann gab es in letzter Zeit doch 1627 00:54:41,400 --> 00:54:42,659 den ein oder anderen Fehler, der da 1628 00:54:42,660 --> 00:54:44,699 hochgekocht ist, der mir nicht gefallen 1629 00:54:44,700 --> 00:54:46,559 hat. Und es gibt auch von von Fefe schon 1630 00:54:46,560 --> 00:54:49,289 vor einiger Zeit schon längeren, 1631 00:54:49,290 --> 00:54:51,179 damals noch vielleicht vielleicht 1632 00:54:51,180 --> 00:54:52,859 Blogartikel oder einen anderen Artikel 1633 00:54:52,860 --> 00:54:54,719 bei einer ganzen Serie von Patches, die 1634 00:54:54,720 --> 00:54:57,239 auch so über die Zeit hinweg zur leise, 1635 00:54:57,240 --> 00:54:58,289 still und heimlich deinen Code 1636 00:54:58,290 --> 00:55:00,359 eingeflossen sind. Also an 1637 00:55:00,360 --> 00:55:01,529 sich, sagen wir mal so, kann man das 1638 00:55:01,530 --> 00:55:02,579 vielleicht verwenden, aber dann würde ich 1639 00:55:02,580 --> 00:55:03,780 auch bisschen vorsichtig sein. 1640 00:55:05,620 --> 00:55:07,929 Okay, also ich bitte euch doch noch etwas 1641 00:55:07,930 --> 00:55:09,519 leise zu sein, ich weiß ja, ihr seid 1642 00:55:09,520 --> 00:55:11,479 gespannt auf Fefe und Frank und den 1643 00:55:11,480 --> 00:55:12,759 Jusuf, aber wir machen trotzdem jetzt 1644 00:55:12,760 --> 00:55:15,069 noch Kunai. Also bitte seid ruhig 1645 00:55:15,070 --> 00:55:17,709 in den Saal, geht uns und sucht. 1646 00:55:17,710 --> 00:55:19,629 Nächste Frage vom Mikrofon Nr. 1647 00:55:19,630 --> 00:55:20,899 2 bitte. 1648 00:55:20,900 --> 00:55:22,389 Ja, ich habe eigentlich keine Frage, 1649 00:55:22,390 --> 00:55:24,399 sondern zwei Anmerkungen. 1650 00:55:24,400 --> 00:55:26,669 Das eine ist Bitte, bitte nehmt nicht 1651 00:55:26,670 --> 00:55:28,809 DVU, Random House blockt 1652 00:55:28,810 --> 00:55:30,909 nicht und das nimmt 1653 00:55:30,910 --> 00:55:32,589 das, was man Entropie genommen hat, 1654 00:55:32,590 --> 00:55:34,029 direkt hier. Das macht besonders dann 1655 00:55:34,030 --> 00:55:36,009 Spaß, wenn ihr den Server auf eine 1656 00:55:36,010 --> 00:55:37,039 Virtualisierung schickt. 1657 00:55:37,040 --> 00:55:38,139 Dann hat er nämlich überhaupt keine. 1658 00:55:39,220 --> 00:55:40,220 Das ist das eine. 1659 00:55:41,400 --> 00:55:43,499 Und die zweite Sache ist Die 1660 00:55:43,500 --> 00:55:44,789 Heard wird nicht reichen. 1661 00:55:44,790 --> 00:55:46,889 Da zeigt nur, ob der Pirincci weiter 1662 00:55:46,890 --> 00:55:48,569 gut fortschreibt. Aber schaut nicht nach, 1663 00:55:48,570 --> 00:55:50,939 ob die Initiale gut war. 1664 00:55:50,940 --> 00:55:53,159 Das heißt, ob man echt gute 1665 00:55:53,160 --> 00:55:54,599 Zufallszahlen auf die Art bekommen hat 1666 00:55:54,600 --> 00:55:56,759 wirste. Mit der habe ich feststellen Du 1667 00:55:56,760 --> 00:55:58,649 wirst nur Funktion nur feststellen, ob 1668 00:55:58,650 --> 00:56:00,809 dein Charon oder 256, der 1669 00:56:00,810 --> 00:56:02,669 da hinten drin steckt, ob der sauber 1670 00:56:02,670 --> 00:56:04,259 funktioniert oder nicht, ob das sauber 1671 00:56:04,260 --> 00:56:05,639 funktioniert hat. Das ist richtig. 1672 00:56:07,950 --> 00:56:08,950 Danke. 1673 00:56:09,480 --> 00:56:10,590 Mikrofon Nr. 4 bitte. 1674 00:56:12,510 --> 00:56:14,339 Ich wollte fragen, ob es bei der 1675 00:56:14,340 --> 00:56:16,499 Benutzung einer Kryptologie unabdingbar 1676 00:56:16,500 --> 00:56:18,869 ist, dass diese für die Plattform 1677 00:56:18,870 --> 00:56:21,239 auch optimiert ist oder ob es Crypto 1678 00:56:21,240 --> 00:56:23,549 laboris gibt, die auch auf andere 1679 00:56:23,550 --> 00:56:25,859 Plattformen angewendet werden können, 1680 00:56:25,860 --> 00:56:27,989 ohne Seiten Kanal Angriffe zu riskieren. 1681 00:56:33,920 --> 00:56:35,119 Also ich weiß es nicht. 1682 00:56:35,120 --> 00:56:36,920 Deine Frage richtig verstehe 1683 00:56:38,900 --> 00:56:40,969 die also 1684 00:56:40,970 --> 00:56:42,569 für mich Ein weiteres Beispiel ist die 1685 00:56:42,570 --> 00:56:44,779 Bibliothek von Bernstein, 1686 00:56:44,780 --> 00:56:46,520 die ja sehr, sehr klar und sehr 1687 00:56:48,170 --> 00:56:49,159 getrennt auf sehr verschiedene 1688 00:56:49,160 --> 00:56:51,289 Plattformen optimiert ist. 1689 00:56:51,290 --> 00:56:53,089 Wobei aus meiner Sicht meines Wissens 1690 00:56:53,090 --> 00:56:55,479 begründet das sehr mit Optimierung 1691 00:56:55,480 --> 00:56:57,709 ist. Das heißt, dass er sich sehr 1692 00:56:57,710 --> 00:56:59,749 genau überlegt. 1693 00:56:59,750 --> 00:57:01,939 Hier brauche ich nur sauber 1694 00:57:01,940 --> 00:57:04,309 5 Multiplikation und 3 Addition und 1695 00:57:04,310 --> 00:57:05,939 hier bei der Pausch dies und jenes. 1696 00:57:05,940 --> 00:57:08,059 Da also gerade bei uns 1697 00:57:08,060 --> 00:57:09,829 in achtet auch sehr oft Timing Attacken 1698 00:57:09,830 --> 00:57:12,679 da. Gerade bei diesen Bibliotheken 1699 00:57:12,680 --> 00:57:14,659 würde ich schon fast sicher sein, dass 1700 00:57:14,660 --> 00:57:16,129 das Timing Attacken nicht mehr möglich 1701 00:57:16,130 --> 00:57:18,110 sind. Also da währenddessen bei anderen 1702 00:57:19,160 --> 00:57:20,779 muss man halt wirklich drauf achten. 1703 00:57:20,780 --> 00:57:22,999 Es gibt einfach Leute, die obwohl 1704 00:57:23,000 --> 00:57:24,049 sich das aus meiner Sicht auch schon 1705 00:57:24,050 --> 00:57:25,050 rumgesprochen haben könnte, 1706 00:57:26,480 --> 00:57:28,999 durchaus vielleicht nicht auf 1707 00:57:29,000 --> 00:57:30,649 Timing Attacken achten, da muss man 1708 00:57:30,650 --> 00:57:32,389 gucken. Wobei die genannten, die aus 1709 00:57:32,390 --> 00:57:34,489 meiner Sicht zu geprüft, 1710 00:57:34,490 --> 00:57:36,619 abgehangen und auch zum Teil reviewed, 1711 00:57:36,620 --> 00:57:37,879 dass man die guten Gewissens empfehlen 1712 00:57:37,880 --> 00:57:38,809 kann. 1713 00:57:38,810 --> 00:57:40,549 Die Frage zielte er darauf ab, ob wir 1714 00:57:40,550 --> 00:57:42,619 nicht eine Bibliothek im Scout 1715 00:57:42,620 --> 00:57:44,869 nehmen. Zum Beispiel die Compilieren für 1716 00:57:44,870 --> 00:57:46,609 irgendeine besondere Plattform. 1717 00:57:46,610 --> 00:57:48,739 Ob dabei dann Effekte auftreten können, 1718 00:57:48,740 --> 00:57:50,569 wie zum Beispiel, dass irgendwo Schlüssel 1719 00:57:50,570 --> 00:57:52,339 in Registern vergessen werden oder so 1720 00:57:52,340 --> 00:57:53,340 etwas nicht. 1721 00:57:54,410 --> 00:57:55,699 Da kann ich nur eine klassische Antwort 1722 00:57:55,700 --> 00:57:58,249 darauf geben. Es kommt darauf an. 1723 00:57:58,250 --> 00:57:59,959 Also das Problem haben wir bei OpenBC 1724 00:57:59,960 --> 00:58:02,329 selbst gesehen, dass da 1725 00:58:02,330 --> 00:58:04,129 diverse Sachen weggeräumt worden sind. 1726 00:58:04,130 --> 00:58:06,319 Also es ist vom Compiler in dem Falle 1727 00:58:06,320 --> 00:58:07,609 und zum Teil auch von der Bibliothek 1728 00:58:07,610 --> 00:58:09,439 abhängig, je nachdem, wie die das 1729 00:58:09,440 --> 00:58:10,669 programmiert haben. 1730 00:58:10,670 --> 00:58:11,960 Da kann man keinen generellen Rat geben. 1731 00:58:14,310 --> 00:58:16,229 Okay, wir nehmen noch eine Liste von 1732 00:58:16,230 --> 00:58:17,230 Mikrofon Nummer zwei. 1733 00:58:18,930 --> 00:58:21,089 Ja, die Geschichte bei Flickr mit 1734 00:58:21,090 --> 00:58:23,400 den Hashes, was du gesagt hattest. 1735 00:58:24,630 --> 00:58:25,889 So als Laie hätte ich jetzt gedacht, dass 1736 00:58:25,890 --> 00:58:28,289 man bei Passwörtern was ähnliches 1737 00:58:28,290 --> 00:58:29,909 macht, dass man das Passwort nimmt uns 1738 00:58:29,910 --> 00:58:31,169 halt dazu und das dann durch eine 1739 00:58:31,170 --> 00:58:33,809 Hetzjagd kann. 1740 00:58:33,810 --> 00:58:35,339 Also bei mir kommt das ganz schlecht an. 1741 00:58:35,340 --> 00:58:36,419 Das was du sagst, kann es nur irgendwie 1742 00:58:36,420 --> 00:58:37,079 wiederholen. 1743 00:58:37,080 --> 00:58:39,269 Okay, dort ist die jetzt 1744 00:58:39,270 --> 00:58:40,379 okay. 1745 00:58:40,380 --> 00:58:42,629 Flickr und diese Geschichte, genau 1746 00:58:42,630 --> 00:58:43,949 da hatte ich das so verstanden. 1747 00:58:43,950 --> 00:58:46,439 Du hast irgendwie ein Geheimnis 1748 00:58:46,440 --> 00:58:48,179 und noch ein bisschen mehr und das wird 1749 00:58:48,180 --> 00:58:50,369 dann zusammen durch eine Funktion gesagt. 1750 00:58:50,370 --> 00:58:52,439 Und wenn ich jetzt Passwörter 1751 00:58:53,440 --> 00:58:54,440 verschlüsseln? 1752 00:58:54,930 --> 00:58:56,329 Da mag ich ja eigentlich was ähnlich ist 1753 00:58:56,330 --> 00:58:58,499 das Passwort soll dazu und das durch 1754 00:58:58,500 --> 00:59:00,779 einen Hash. Wäre das dann 1755 00:59:00,780 --> 00:59:02,189 mit der gleichen Attacke irgendwie 1756 00:59:02,190 --> 00:59:03,190 angreifbar? 1757 00:59:04,010 --> 00:59:05,999 Nebenbei wenn ein Passwort passt, machst 1758 00:59:06,000 --> 00:59:07,000 du ja 1759 00:59:08,130 --> 00:59:10,139 das irgendwie. Das ist halt dein Passwort 1760 00:59:10,140 --> 00:59:12,149 da drin und es wird dann gehackt und wenn 1761 00:59:12,150 --> 00:59:14,309 du da irgendwas hintendran hängst, dann. 1762 00:59:14,310 --> 00:59:16,559 Also ich weiß, gibt das vielleicht 1763 00:59:16,560 --> 00:59:18,179 nicht so gut rüberkommen. Ist da der Hash 1764 00:59:18,180 --> 00:59:20,069 am Ende? Dieser Wert ist eine andere als 1765 00:59:20,070 --> 00:59:22,499 der ursprüngliche Wert, aber 1766 00:59:22,500 --> 00:59:24,279 der ist korrekt. 1767 00:59:24,280 --> 00:59:26,369 Also und das war bei ihm, wenn 1768 00:59:26,370 --> 00:59:27,630 das Passwort dann machst, 1769 00:59:28,660 --> 00:59:30,479 bleibt ja gleich, ob du. 1770 00:59:30,480 --> 00:59:32,009 Wenn du bald was hinten dran hängst, 1771 00:59:32,010 --> 00:59:33,479 ändert sich der Hash und dann kommt es 1772 00:59:33,480 --> 00:59:35,009 nicht mehr dahin, wo du hin wolltest. 1773 00:59:35,010 --> 00:59:36,010 Das funktioniert eine. 1774 00:59:39,000 --> 00:59:40,769 Okay, danke für die Wahl, wir sind am 1775 00:59:40,770 --> 00:59:42,569 Ende unserer Zeit und ich bitte euch noch 1776 00:59:42,570 --> 00:59:44,639 mal um einen warmen Applaus 1777 00:59:44,640 --> 00:59:45,640 für Jannis.