Drucksache: PHP Magazin 1.18 - Welche Kryptoverfahren sollte man verwenden bzw. meiden?
Im PHP Magazin 1.2018 ist ein Überblick über den aktuellen Stand der Sicherheit in der Kryptographie erschienen: Welche Kryptoverfahren sollte man verwenden bzw. meiden?
ERRATUM: Leider hat der Druckfehlerteufel zugeschlagen: Einige Formatierungen bei den hochgestellten Zahlen wurden versehentlich nicht richtig übernommen. Sie finden den vollständigen Artikel in korrigierter Fassung daher als PDF im Download-Bereich des PHP Magazins |
Nachtrag 5.7.2018:
Der Artikel ist jetzt auch online
auf entwickler.de
zu lesen.
Ende des Nachtrags
Die Auswahl an Krypto-Verfahren ist, sofern man sich auf bekannte Algorithmen beschränkt, recht übersichtlich. Einige dieser bekannten Algorithmen sollte man inzwischen aber nicht mehr verwenden, da sie inzwischen gebrochen wurden. Und dann gibt es da noch einige weitere Punkte zu beachten...
Krypto-Verfahren sind nicht für die Ewigkeit gemacht. Irgendwann findet jemand einen Weg, um sie auszuhebeln. Oder die Rechenleistung aktueller Computer ist groß genug, um ursprünglich unberechenbar erscheinende Probleme doch zu lösen.
Eine Verschlüsselung ist daher nur ein Zeitschloss, irgend wann kann sie gebrochen werden. Und das gleiche gilt sinngemäß auch für alle anderen Anwendungen von Kryptografie. Weshalb z.B. die Vorgaben der Bundesnetzagentur für die qualifizierte digitale Signatur jährlich an die aktuelle Entwicklung angepasst werden. Ehemals sichere Algorithmen und Schlüssellängen werden gestrichen, neue kommen dazu.
Daher ist es wichtig, die von eigenen Projekten genutzten Kryptoverfahren und Parameter regelmäßig, z.B. jährlich, auf ihre Sicherheit zu prüfen. Und ggf. auch außer der Reihe auf aktuelle Entwicklungen wie z.B. SHAttered zu reagieren. Wann haben Sie das letzte Mal die Sicherheit der von Ihnen verwendeten Kryptoverfahren und ihrer Parameter geprüft?
Und hier noch die Links und Literaturverweise aus dem Artikel:
- [1] Carsten Eilers: "Verfahren der Kryptographie, Teil 8: RSA"
- [2] RSA Laboratories: "RSA-768 is factored!" (auf archive.org)
- [3] Cryptology ePrint Archive: Report 2010/006 - Thorsten Kleinjung, Kazumaro Aoki, Jens Franke, Arjen Lenstra, Emmanuel Thomé, Joppe Bos, Pierrick Gaudry, Alexander Kruppa, Peter Montgomery, Dag Arne Osvik, Herman te Riele, Andrey Timofeev, Paul Zimmermann: "Factorization of a 768-bit RSA modulus"
- [4] Bundesamt für Sicherheit in der Informationstechnik: "BSI TR-02102 Kryptographische Verfahren: Empfehlungen und Schlüssellängen"
- [5] Carsten Eilers: "Verfahren der Kryptographie, Teil 6: Der Advanced Encryption Standard (AES)"
- [6] Carsten Eilers: "Verfahren der Kryptographie, Teil 5: Betriebsarten für Blockchiffren"
- [7] Carsten Eilers: "Verfahren der Kryptographie, Teil 14: Hashfunktionen - Einführung"
- [8] Carsten Eilers: "Verfahren der Kryptographie, Teil 16: SHA-2 ist noch für einige Jahre sicher"
- [9] Carsten Eilers: "Verfahren der Kryptographie, Teil 17: SHA-3 steht als Alternative und Ersatz bereit"
- [10] Bundesnetzagentur: Festlegung geeigneter Algorithmen
- [11] Algorithmenkatalog 2017, zu finden als "BAnz AT 30.12.2016 B5" auf der Website des Bundesanzeigers
- [12] RFC 7465: Prohibiting RC4 Cipher Suites
- [13] Nadhem AlFardan, Dan Bernstein, Kenny Paterson, Bertram Poettering, Jacob Schuldt: "On the Security of RC4 in TLS and WPA"
- [14] Microsoft: "Security Advisory 2868725: Recommendation to disable RC4"
- [15] Jacob Appelbaum (@ioerror) auf Twitter: "@matthew_d_green @JoeBeOne @ln4711 RC4 is broken in real time by the #NSA - stop using it.", 6.11.2013
- [16] Mathy Vanhoef, Frank Piessens: "RC4 NOMORE (Numerous Occurrence MOnitoring & Recovery Exploit)"
- [17] Bruce Schneier; Schneier on Security: "New Cryptanalytic Results Against SHA-1"
- [18] Christophe De Cannière, Christian Rechberger, Vincent Rijmen; IAIK TU Graz: " Meaningful Collisions (for SHA-1)", Abschnitt "2. One Commonly Chosen Prefix + Partial Control over Colliding Blocks"
- [19] Marc Stevens, Pierre Karpman, Thomas Peyrin: "The SHAppening: freestart collisions for SHA-1"
- [20] Andrew Whalley; Google Security Blog: "SHA-1 Certificates in Chrome"
- [21] J.C. Jones; Mozilla Security Blog: "The end of SHA-1 on the Public Web"
- [22] Microsoft Security Advisory 4010323: "Deprecation of SHA-1 for SSL/TLS Certificates in Microsoft Edge and Internet Explorer 11"
- [23] Apple: "Move to SHA-256 signed certificates to avoid connection failures"
- [24] SHAttered
- [25] Elie Bursztein; Black Hat USA 2017: "How We Created the First SHA-1 Collision and What it Means for Hash Security"
Elie Bursztein: "How we created the first SHA-1 collision and what it means for hash security" - [26] Elie Bursztein; DEF CON 25: "How we created the first SHA-1 collision and what it means for hash security" (Video auf YouTube)
- [27] Carsten Eilers: "Verfahren der Kryptographie, Teil 18: Angriffe auf Hash-Funktionen"
- [28] Carsten Eilers: "Passwörter speichern, aber richtig!"; PHP Magazin 6.2013
- [29] CynoSure Prime: "320 Million Hashes Exposed"
- [30] Peter W. Shor; SIAM Journal on Computing 26/1997: "Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer"
- [31] Lov K. Grover; Proceedings, 28th Annual ACM Symposium on the Theory of Computing (STOC) 1996: "A fast quantum mechanical algorithm for database search"
- [32] Markus Grassl, Brandon Langenberg, Martin Roetteler, Rainer Steinwandt; 7th International Conference on Post-Quantum Cryptography (PQCrypto 2016): "Applying Grover's algorithm to AES: quantum resource estimates"
- [33] Johannes Buchmann, Carlos Coronado, Martin Döring, Daniela Engelbert, Christoph Ludwig, Raphael Overbeck, Arthur Schmidt, Ulrich Vollmer, Ralf-Philipp Weinmann: "Post-Quantum Signatures"
- [34] Open Quantum Safe
- [35] Jennifer Fernick; Black Hat Europe 2016: "Real-World Post-Quantum Cryptography: Introducing the OpenQuantumSafe Software Project"
- [36] GitHub: open-quantum-safe/liboqs: C library for quantum-resistant cryptographic algorithms
- [37] GitHub: open-quantum-safe/openssl: Fork of OpenSSL that includes quantum-resistant algorithms and ciphersuites based on liboqs
Trackbacks