Wenn Menschen weder für „regnerisches, windiges und kaltes Dreckswetter“ gemacht sind, noch für „heiße, trockene und hirnschmelzende Kackhitze“ – wofür sind wir dann eigentlich gemacht? Hat schonmal jemand Camping bei 3° K ausprobiert?
Der erste Tag mit Workshops, Vorträgen und ein bisschen Mini-Party ist vorbei und ich habe den zweiten Tag bereits angefangen der zweite Tag ist auch so gut wie vorbei. Gestern stürmte und regnete es noch wie bescheuert, heute überhitzt die Sonne unsere Netzteile. Nichtsdestotrotz wird hier getan, gemacht, gelötet, gesprochen und zugehört.
Um ehrlich zu sein – der Tag gestern war auf verschiedenen Ebenen nicht sonderlich erfolgreich, bis auf das Essen, das mein Camp und ich kochten, das war äußerst erfolgreich. Vor allem in der Abwehr des berüchtigt schlechten Essens das hier für ein Studierenden-Wochengehalt vertickt wird.Ich sammle gerade noch die Dinge, die ich dort gelernt habe, wobei das meiste wie so häufig neue Fragen und keine Antworten sind. Aber so habe ich vermutlich 90% meines Wissens über Computer, Code und Netztechnik seit letztem Jahr gelernt – durch anfängliches Unverständnis, Nachfragen, Hinterherrecherchieren und Biertrinken.
Was und wieviel ich aus den Vorträgen mitnehme ist recht unterschiedlich. Ein Großteil der Technik-Talks – die selber einen Großteil des Programms bilden – sprengt den Rahmen dessen, was ich ohne Weiteres verstehen kann. Darüber hinaus gibt es aber auch eine große Auswahl an Talks, die auch für AnfängerInnen, solche die es werden wollen oder sich nur marginal für Technikkram interessieren.
Der erste Talk, den ich besuchte, war „Trolling the Web of Trust“. Darin erzählte Micah Lee von Möglichkeiten, die Unsicherheiten des Public Key Hostings durch kleine oder größere Trollierungen offenzulegen, bzw. welche Skripte er bereits geschrieben hat, um die Sichereitslücken mit verschiedenen Techniken aufzuzeigen. Ich finde es etwas schwierig, korrekt und trotzdem vereinfacht wiederzugeben, was ich dort gelernt habe. Vereinfacht gesagt für diejenigen, welche sich noch nie mit PGP auseinandergesetzt haben (es aber BESTIMMT bald tun werden):
Die gängige Verschlüsselungsmethode bei E-Mails benötigt die Generierung von zwei Schlüsseln, einem öffentlichen und einem privaten. Beide bestehen aus einer langen Abfolge von Bytes, bzw. Ascii-Charactern. Den privaten Schlüssel sollte ich – nunja – privat halten und niemandem verraten, denn dieser ist so etwas wie der Schlüssel, den ich brauche, um die E-Mails die an mich geschickt und verschlüsselt wurden wieder zu öffnen. Es sind nämlich nur die E-Mails an mich verschlüsselt, die mit meinem Public Key „verschlossen“ wurden. Falls mir meine… sagen wir Eltern verschlüsselt schreiben wollen, dass sie die Piercings meines neuen Freundes unseriös finden, gucken sie auf einem Public Key Server, was denn so mein Public Key ist. Aber vermutlich hätte ich meinen Eltern auch direkt meinen Public Key geschickt, wenn sie verschlüsseln würden. Das geht nämlich auch. Diesen Public Key wenden sie sozusagen auf die geheime Email an und können somit sicherstellen, dass nur ich diese Email lesen kann und nicht beispielsweise mein Freund, wenn er einen Angriff auf mein Mailkonto plant. Wäre ja auch echt unangenehm. Das heißt, die Email hat ein Vorhängeschloss verpasst bekommen, das nur ich mit meinem private key wieder öffnen kann. Niemand sonst! Hoffentlich.
Das Blöde daran ist, dass jederzeit irgendein Bernd einen Public Key zu meiner E-Mail-Adresse auf einen Key Server hochladen kann. Wenn er dann auch noch mein geheimes Gmail-Konto hackt und jemand den gefälschten Key statt meines richtigen Keys verwendet, kann der oder die Angreiferin ohne weiteres meine E-Mails entschlüsseln. Damit meine Eltern nicht den falschen Key verwenden, gibt es sogenannte Signaturen unter den Keys. Wenn drei Aluhutkönige den echten Key signieren, den ich gerne (nach einem persönlichen Gespräch) signiert haben möchte, signieren, wirkt dieser natürlich authentischer als der Gefälschte. Wobei auch die Signaturen von den drei Aluhutköniginnen gefälscht sein können. Und so weiter und so fort. Dieses System wird „Web of Trust“ genannt.
In dem Vortrag lernte ich dann, dass das Key Signing unverhofft zu sehr viel mehr Kreativität führen kann, als man auf den ersten Blick meinen würde. Es gibt allerdings auch noch größere äh leakende Sicherheitslöcher. Beispielsweise die Praxis, Short Key IDs zu verwenden. Das sind – vereinfacht gesagt – die letzten acht Character des Public Keys, mit denen der komplette Key identifiziert werden kann. Es ist allerdings seit vielen Jahren bekannt, dass diese unsicher sind, da ein anderer Key mit denselben letzten acht Zeichen generiert werden kann. Näheres dazu hier.
Es gibt also noch viel zu lernen in Sachen PGP – aber eigentlich ist alles ganz einfach!!11!!!1!
Nein ehrlich, wenn ihr bis zu diesem Absatz folgen konntet, seid ihr schon gut dabei. Und lasst euch bloß keine Lehrstunde über Elliptische Kurven andrehen. Auch nicht für Geld. Und gegen Geld erst recht nicht!
Nach diesem Vortrag besuchte ich einen Workshop über IPv6, der explizit an AnfängerInnen gerichtet war, jedoch trotzdem noch ein wenig zu viel Vorwissen von den Zuschauenden erwartete. IPv6 ist eine neben vielen anderen Quatsch-Lösungen für das Problem der brenzten IP-Adressen lösen soll. Als in den 70ern IPv4 entwickelt wurde, waren sich die klugen Köpfe aus dem Internet nachvollziehbarer Weise sicher, dass insgesamt 4 Milliarden Adressen für die Menschheit und alle anderen Lebewesen ausreichen müssten. Aber da immer mehr Menschen und Tiere das Internet nutzen und dies nicht unbedingt auf die effizienteste Art und Weise was die IP-Adresse-Vergabe betrifft, wird das nicht ewig halten. Die 4 Milliarden IP-Adresse gibt es, weil IPv4-Adressen auf eine Zeichenlänge von 32 Bits beschränkt ist und dementsprechend viele bzw. wenige Adressen überhaupt haben kann. IPv6-Adressen sind dagegen länger und entsprechend definitiv ausreichen. Wenn ich die Zahl der IPv4-Adressen sechsmal verdoppele kommte ich ungefähr auf die Anzahl von IPv6-Adressen, die es dann theoretisch gäbe. Ziemlich viele also! IPv6 hat noch andere Features, allerdings verläuft die Umstellung trotzdessen nur sehr träge und zieht sich bereits schon über viele Jahre.
Eines dieser Features ist beispielsweise IPsec, was auch immer das ist. Da hab ich dann nicht mehr zugehört und den Workshop verlassen.
Abends gab ich mir auch den Assange-Talk im großen Zelt. Neben einer hypnotisch tropfenden Sanduhr sprach Assange auf einem großen Telescreen zu den Massen. Anfangs verstand ich nur Wortgruppen, da die Soundqualität zu schlecht war. Dann konzentrierte ich mich ein wenig, hörte genauer hin – und verstand wieder nur Wortgruppen. Nach etwa 15 Minuten beschloss ich, dass es für Julian und mich besser wäre, wenn ich ginge und machte mich auf die Suche nach dem Fingerprint-Klonen-Workshop. Der wurde allerdings auf heute verlegt und ich war auch schon dort. Aber so langsam wird es Zeit, sich wieder auf das Camp zu begeben und den *hust* angenehmeren Teil des Abends zu beginnen.
Lichttechnik können sie ja auf der Ohm. Sponsoring allerdings auch. Und wie. Aber auch dazu lieber morgen mehr.
Das mit der Menge der IPv6-Adressen ist so nicht ganz richtig: Tatsächlich sind die Adressen bei IPv4 ›nur‹ 32 Bit, bei IPv6 satte 128 Bit (also vier Mal so) lang. Aber da ein Bit entweder 0 oder 1 ist, gibt es insgesamt 128-32=96 Verdoppelungen!
Die richtige Rechnung ist also »Menge der IPv4-Adressen« verdoppeln verdoppeln verdoppeln verdoppeln verdoppeln verdoppeln … (<- die Punkte stehen für noch 90 mal das Wort verdoppeln!).
Und das ist eine verdammt große Zahl … vielleicht kennst Du die Geschichte vom Schachbrett und den Reiskörnen, wo man die Zahl 1 insgesamt 64 Mal verdoppelt und da ziemlich viel Reis am Ende bei rauskommt … ersetze den Startwert 1 mit 4 Milliarden und die 64 mit 96 … wie gesagt, es gibt verdammt viele IPv6-Adressen :).
Eigentlich ist das schon wieder viel zu viel, aber das hat man auch deshalb gemacht, damit man mit den Adressen richtig verschwenderisch umgehen kann (Willste 4 Milliarden IPv6-Adressen? Kein Problem!), wodurch man viele technische Probleme (wie Router arbeiten und wie Adressen überhaupt vergeben werden) vereinfachen kann 🙂
Und elliptische Kurven kann man eigentlich ganz einfach erklären … im Prinzip ist das einfach nur eine Menge von Tupeln (x,y) von Zahlen, die eine bestimmte Gleichung (wie y^2 = x^3 + x + 1) erfüllen – beispielsweise gehört (x,y) = (0, 1) dazu, weil 1^2 = 0^3 + 0 + 1 ist, aber (x, y) = (0, 0) nicht (weil da beim Einsetzen in die Gleichung 0=1 rauskommt, also Müll).
Das Verrückte und Unerwartete ist, dass man auf diesen komischen Tupeln irgendwie eine sinnvolle Addition definieren kann – d. h. man kann zwei komische Tupel nehmen, sie addieren, und das was da rauskommt ist auch wieder so ein komisches Tupel (das also die Gleichung erfüllt!), es gibt ein superspezielle Tupel namens Null, das man zu einem anderen Tupel addieren kann, ohne das es sich verändert etc. … und damit hat man quasi eine neue Art von Zahlen (im Sinne von »irgendetwas, mit dem man sinnvoll rechnen kann) erfunden. Yeah!
Was jetzt die Kryptographie-Leute ganz toll finden, ist das man so eine neue komischen Zahlenart (aka »Elliptische Kurve«) quasi aus zwei »Zutaten« zusammenbauen kann: Die Art von Zahlen, aus der unsere Tupel bestehen, und die Gleichung die definiert, welche Tupel zu »unserer« Elliptischen Kurve dazugehören. Und das ist toll, weil man mit diesem Kochrezept unendlich viele crazy neue Zahlenarten erfinden kann … quasi unendlich viele verrückte neue Legosteine in allen Farben und Formen, die man dann benutzen kann, um neue Verschlüsselungsverfahren zu bauen – oder man benutzt ein altes, das bisher mit »normalen« Zahlen funkioniert hat, und ersetzt sie einfach durch Fionas supercrazy new clliptic curve :).
Kurzum, Elliptische Kurven sind eigentlich gar nicht so schwer zu verstehen. Nur wenn Du beweisen willst, dass unsere zusammengebastelte Addition auf den Tupeln wirklich alle Rechengesetze einhält (Mathspeak: Die Gruppeneigenschaften beweisen), musst Du etwas arbeiten. Aber dafür gibt es ja Mathematiker!
Ich hoffe, das war einigermaßen verständlich!
PS: Math rulz!