Kryptografie in der Praxis (eBook)
468 Seiten
dpunkt (Verlag)
978-3-98890-007-4 (ISBN)
David Wong ist leitender Kryptografie-Ingenieur bei O(1) Labs und arbeitet an der Kryptowährung Mina. Davor war er Sicherheitsverantwortlicher für die Kryptowährung Diem (vormals bekannt als Libra) bei Novi, Facebook, und davor Sicherheitsberater bei der NCC Group im Bereich Kryptografiedienste. Im Laufe seiner Karriere hat David Wong an mehreren öffentlich finanzierten Open-Source-Audits teilgenommen, beispielsweise an OpenSSL und Let's Encrypt. Er war Sprecher auf verschiedenen Konferenzen, einschließlich Black Hat und DEF CON, und hat in einem regelmäßig stattfindenden Kryptografiekurs bei Black Hat unterrichtet. Hervorzuheben sind seine Beiträge zu Standards wie TLS 1.3 und zum Noise Protocol Framework. Er hat Schwachstellen in vielen Systemen gefunden, einschließlich CVE-2016-3959 in der Golang-Standardbibliothek, CVE-2018-12404, CVE-2018-19608, CVE-2018-16868, CVE-2018-16869 und CVE-2018-16870 in verschiedenen TLS-Bibliotheken. Unter anderem ist er Autor des Disco-Protokolls (www.discocrypto.com und www.embeddeddisco.com) und des Decentralized Application Security Project für Smart Contracts (www.dasp.co). Zu seinen Forschungen gehören Cache-Angriffe auf RSA (http://cat.eyalro.net), ein auf QUIC basierendes Protokoll (https://eprint.iacr.org/2019/028), Timing-Angriffe auf ECDSA (https://eprint.iacr.org/2015/839) oder Hintertüren in Diffie-Hellman (https://eprint.iacr.org/2016/644). Aktuell finden Sie ihn in seinem Blog unter www.cryptologie.net.
David Wong ist leitender Kryptografie-Ingenieur bei O(1) Labs und arbeitet an der Kryptowährung Mina. Davor war er Sicherheitsverantwortlicher für die Kryptowährung Diem (vormals bekannt als Libra) bei Novi, Facebook, und davor Sicherheitsberater bei der NCC Group im Bereich Kryptografiedienste. Im Laufe seiner Karriere hat David Wong an mehreren öffentlich finanzierten Open-Source-Audits teilgenommen, beispielsweise an OpenSSL und Let's Encrypt. Er war Sprecher auf verschiedenen Konferenzen, einschließlich Black Hat und DEF CON, und hat in einem regelmäßig stattfindenden Kryptografiekurs bei Black Hat unterrichtet. Hervorzuheben sind seine Beiträge zu Standards wie TLS 1.3 und zum Noise Protocol Framework. Er hat Schwachstellen in vielen Systemen gefunden, einschließlich CVE-2016-3959 in der Golang-Standardbibliothek, CVE-2018-12404, CVE-2018-19608, CVE-2018-16868, CVE-2018-16869 und CVE-2018-16870 in verschiedenen TLS-Bibliotheken. Unter anderem ist er Autor des Disco-Protokolls (www.discocrypto.com und www.embeddeddisco.com) und des Decentralized Application Security Project für Smart Contracts (www.dasp.co). Zu seinen Forschungen gehören Cache-Angriffe auf RSA (http://cat.eyalro.net), ein auf QUIC basierendes Protokoll (https://eprint.iacr.org/2019/028), Timing-Angriffe auf ECDSA (https://eprint.iacr.org/2015/839) oder Hintertüren in Diffie-Hellman (https://eprint.iacr.org/2016/644). Aktuell finden Sie ihn in seinem Blog unter www.cryptologie.net.
Vorwort
Wenn Sie dieses Buch in die Hand nehmen, fragen Sie sich vielleicht: »Warum noch ein Buch über Kryptografie?« oder sogar: »Warum sollte ich dieses Buch lesen?« Um diese Frage zu beantworten, müssen Sie verstehen, wie alles begann.
Ein Buch – seit Jahren im Entstehen
Wenn Sie heutzutage etwas über irgendeine Sache erfahren wollen, suchen Sie danach mit Google oder Bing oder Baidu – das Prinzip dürfte klar sein. Was Kryptografie angeht und je nachdem, wonach Sie suchen, fallen die Quellen möglicherweise recht spärlich aus. Auf dieses Phänomen bin ich schon vor langer Zeit gestoßen und es hat mich seither immer wieder frustriert.
An der Uni musste ich für einen Kurs einen Angriff per Differential Power Analysis (DPA) implementieren. Dieser Angriff war zu dieser Zeit ein Durchbruch in der Kryptoanalyse, denn es war der erste Seitenkanalangriff, der veröffentlicht wurde. Ein Angriff per Differential Power Analysis ist etwas Magisches: Indem man den Stromverbrauch eines Geräts misst, während es etwas ver- oder entschlüsselt, ist man in der Lage, seine Geheimnisse herauszufinden. Mir war klar, dass herausragende Papers großartige Ideen vermitteln können, wobei man nur wenig Aufwand in Klarheit und Verständlichkeit investieren muss. Ich erinnere mich, wie ich mir das Hirn zermarterte, um zu ergründen, was der Autor zu sagen versuchte. Schlimmer noch, ich konnte keine guten Online-Quellen finden, die das Paper erklärten. Also habe ich mir weiter den Kopf zerbrochen, und schließlich habe ich es verstanden. Und dann dachte ich, vielleicht könnte ich anderen helfen, die wie ich diese Tortur durchmachen müssen.
Hoch motiviert zeichnete ich einige Diagramme, animierte sie und nahm mich dabei auf, wie ich sie durchging. Das war mein erstes YouTube-Video über Kryptografie: https://www.youtube.com/watch?v=gbqNCgVcXsM.
Jahre später, nachdem ich das Video hochgeladen hatte, bekomme ich immer noch Lob von verschiedenen Leuten im Internet. Gerade gestern, als ich an diesem Vorwort schrieb, postete jemand: »Danke, wirklich eine tolle Erklärung, die mir wahrscheinlich Stunden erspart hat, dieses Paper zu verstehen.«
Was für eine Auszeichnung! Dieser winzige Schritt, mich auf die andere Seite der Bildungslandschaft zu wagen, genügte, um mir Lust auf mehr zu machen. Ich begann, weitere Videos aufzunehmen, und rief dann einen Blog ins Leben, um über Kryptografie zu schreiben. Zu finden ist der Blog hier: https://cryptologie.net.
Bevor ich mit diesem Buch begann, hatte ich fast 500 Artikel angehäuft, in denen die vielen Konzepte erklärt wurden, die über diese Einführung hinausgehen. Das war alles nur Übung. In meinem Hinterkopf reifte die Idee, ein Buch zu schreiben, langsam heran, Jahre bevor Manning Publications sich mit einem Buchvorschlag an mich wenden würde.
Der Lehrplan eines Kryptografen in der Praxis
Ich hatte meinen Bachelor in theoretischer Mathematik abgeschlossen und wusste nicht, was als Nächstes auf mich zukam. Außerdem hatte ich mein ganzes Leben lang programmiert und wollte beides unter einen Hut bringen. Natürlich wurde ich neugierig auf die Kryptografie, die das Beste aus beiden Welten zu vereinen schien, und ich begann, die verschiedenen Bücher zu lesen, die mir zur Verfügung standen. Schnell erkannte ich meine Berufung.
Dennoch störte mich etwas: Insbesondere die langen Einführungen, die mit dem geschichtlichen Hintergrund beginnen, denn ich interessierte mich nur für die technischen Einzelheiten und das war schon immer so. Ich schwor mir, wenn ich jemals ein Buch über Kryptografie schreiben würde, dann sollte es sich gänzlich über Vigenère-Chiffren, Cäsar-Chiffren und andere Überbleibsel der Geschichte ausschweigen. Nachdem ich also an der Universität Bordeaux einen Master in Kryptografie erworben hatte, war ich der Auffassung, für die reale Welt bereit zu sein. Doch was wusste ich schon …
Ich glaubte, mein Abschluss würde ausreichen, doch in meiner Ausbildung fehlte eine Menge Wissen über die eigentlichen Protokolle, die ich angreifen wollte. Ich hatte viel Zeit damit verbracht, etwas über die Mathematik elliptischer Kurven zu lernen, doch nichts darüber, wie diese in kryptografischen Algorithmen verwendet werden. Ich hatte etwas über LFSRs, ElGamal, DES und eine Reihe anderer kryptografischer Primitive gelernt, die ich nie wiedersehen würde.
Mein erster Auftrag zu Beginn meiner Arbeit in der Industrie bei Matasano, der späteren NCC Group, bestand darin, OpenSSL, die beliebteste SSL/TLS-Implementierung zu kontrollieren – d. h. den Code, der im Grunde das gesamte Internet verschlüsselt. Oh Mann, hat mir das Kopfzerbrechen bereitet. Ich weiß noch, wie ich jeden Tag mit starken Kopfschmerzen nach Hause kam. Was für eine katastrophale Bibliothek und ein ebensolches Protokoll! Damals hatte ich keine Ahnung, dass ich Jahre später Mitautor von TLS 1.3, der neuesten Version des Protokolls, werden würde.
Doch zu diesem Zeitpunkt dachte ich bereits: »Das hätte ich in der Uni lernen sollen. Das Wissen, das ich mir jetzt aneigne, wäre nützlich gewesen, um mich auf die Praxis vorzubereiten!« Schließlich war ich jetzt ein spezialisierter Sicherheitsexperte für Kryptografie. Ich überprüfte reale kryptografische Anwendungen. Ich hatte den Job, den man sich nach dem Abschluss eines Kryptografie-Studiums nur wünschen kann. Ich implementierte, verifizierte, verwendete und empfahl, welche kryptografischen Algorithmen infrage kämen. Das ist der Grund, warum ich der erste Leser des Buches bin, das ich schreibe. Das ist es, was ich meinem früheren Ich geschrieben hätte, um es auf die reale Welt vorzubereiten.
Wo sich die meisten Fehler verstecken
Im Rahmen meiner Beratertätigkeit habe ich viele reale kryptografische Anwendungen überprüft, wie zum Beispiel OpenSSL, das verschlüsselte Backup-System von Google, die TLS-1.3-Implementierung von Cloudflare, das Protokoll der Zertifizierungsstelle von Let’s Encrypt, das Sapling-Protokoll der Kryptowährung Zcash, das Schwellenwert-Proxy-Wiederverschlüsselungsschema von NuCypher und Dutzende anderer realer kryptografischer Anwendungen, die ich leider nicht öffentlich nennen darf.
Zu Beginn meiner Tätigkeit sollte ich das benutzerdefinierte Protokoll prüfen, das ein bekanntes Unternehmen zur Verschlüsselung seiner Kommunikation geschrieben hatte. Es stellte sich heraus, dass es Signaturen für fast alles verwendete, außer für die ephemeren Schlüssel, was das gesamte Protokoll zum Scheitern brachte, da man diese Schlüssel hätte leicht ersetzen können – ein Anfängerfehler von jemandem mit etwas Erfahrung bei sicheren Transportprotokollen, was aber Leuten fehlt, die dachten, ihre Expertise genügt, um eine eigene Kryptografie zu entwickeln. Ich erinnere mich, wie ich am Ende des Engagements die Schwachstelle erklärte und ein Raum voller Ingenieure für gut 30 Sekunden verstummte.
Diese Geschichte wiederholte sich in meiner beruflichen Laufbahn viele Male. Einmal habe ich bei der Prüfung einer Kryptowährung für einen Kunden einen Weg gefunden, Transaktionen aus bereits bestehenden Transaktionen zu fälschen, weil nicht klar war, was signiert wurde. Als ich mir TLS-Implementierungen für einen anderen Kunden ansah, fand ich einige subtile Möglichkeiten, um eine RSA-Implementierung zu knacken. Das daraus resultierende Whitepaper mit einem der Erfinder von RSA mündete schließlich in einer Reihe von CVEs (Common Vulnerabilities and Exposures), die an ein Dutzend Open-Source-Projekte gemeldet wurden. Als ich mich kürzlich im Rahmen von Recherchen für mein Buch mit dem neueren Matrix-Chat-Protokoll befasst habe, stellte ich fest, dass das Authentifizierungsprotokoll gebrochen war, was zu einem Bruch der Ende-zu-Ende-Verschlüsselung führte. Es gibt so viele Details, die Ihnen entgleiten können, wenn Sie Kryptografie einsetzen. An diesem Punkt war mir klar, dass ich etwas darüber schreiben musste. Deshalb enthält mein Buch viele dieser Anekdoten.
In meinem Job geht es unter anderem darum, Kryptografie-Bibliotheken und -Anwendungen in einer Vielzahl von Programmiersprachen zu überprüfen. Ich habe Fehler entdeckt (zum Beispiel CVE-2016-3959 in der Standardbibliothek von Golang), Möglichkeiten untersucht, wie Bibliotheken dazu verleiten können, sie zu missbrauchen (zum Beispiel in meinem Paper »How to Backdoor Diffie-Hellman«), und Ratschläge gegeben, welche Bibliotheken verwendet werden sollten. Die Entwickler wussten nie, welche Bibliotheken sie verwenden sollten, und die Antwort fand ich auch immer ziemlich knifflig.
Ich machte mich daran, das Disco-Protokoll zu entwickeln (https://discocrypto.com; https://embeddeddisco.com), und schrieb dessen umfangreiche Kryptografie-Bibliothek in weniger als 1000 Zeilen Code, noch dazu in mehreren Sprachen. Disco stützte sich auf...
Erscheint lt. Verlag | 31.5.2023 |
---|---|
Übersetzer | Frank Langenau |
Verlagsort | Heidelberg |
Sprache | deutsch |
Themenwelt | Informatik ► Netzwerke ► Sicherheit / Firewall |
Schlagworte | aes • Bitcoin • Diffie-Hellmann • Hash-Funktion • Internet • Intranet • IT-Sicherheit • Kryptographie • Mac • Netze • Protokolle • Public-Key-Infrastruktur • Quantenkryptografie • Sicherheit • Sicherheit im Internet • SIGNATUR • SSH |
ISBN-10 | 3-98890-007-9 / 3988900079 |
ISBN-13 | 978-3-98890-007-4 / 9783988900074 |
Haben Sie eine Frage zum Produkt? |
![EPUB](/img/icon_epub_big.jpg)
Größe: 15,2 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich