In unserem Azubi-Blog erklären wir jede Woche einen Begriff aus dem ABC der IT-Security. Heute: O wie OpenSSL.
OpenSSL ist eine kostenlose Implementierung der Verschlüsselungsprotokolle SSL und TLS auf Open Source Basis.
Um Daten zu schützen, werden Online Shops und Webseiten verschlüsselt. Mit Hilfe von SSL Verschlüsselungen wird sichergestellt, dass die Webseite vertrauenswürdig ist. Die Verschlüsselung wird dann relevant, wenn es um sensible Daten, wie Anmeldedaten geht. Um sicher zu sein, dass eine Webseite mit einem SSL Zertifikat abgesichert ist, gibt es in den meisten Browsern ein kleines Schloss, das neben dem Link der aufgerufen Seite zu sehen ist.
Verschlüsselungsalgorithmen werden oft in zwei Kategorien unterteilt, die als symmetrische und asymmetrische Verschlüsselung bezeichnet werden. Der grundlegende Unterschied zwischen diesen beiden Verschlüsselungsmethoden besteht darin, dass symmetrische Verschlüsselungsalgorithmen einen einzigen Schlüssel verwenden, währen das asymmetrische Verschlüsselungsverfahren zwei verschiedene, aber zusammengehörige Schlüssel verwendet.
In der Kryptographie erzeugen Verschlüsselungsalgorithmen Schlüssel als eine Reihe von Bits, die zum Ver- und Entschlüsseln einer Information verwendet werden. Die Art und Weise, wie diese Schlüssel verwendet werden, erklärt den Unterschied zwischen symmetrischer und asymmetrischer Verschlüsselung. Während symmetrische Verschlüsselungsalgorithmen den gleichen Schlüssel verwenden, um sowohl die Verschlüsselung als auch die Entschlüsselungsfunktionen auszuführen, verwendet ein asymmetrischer Verschlüsselungsalgorithmus dagegen einen Schlüssel zum Verschlüsseln der Daten und einen anderen Schlüssel zum Entschlüsseln.
Beide Arten der Verschlüsselung haben Vor- und Nachteile im Vergleich zueinander. Symmetrische Verschlüsselungsalgorithmen sind viel schneller und benötigen weniger Rechenleistung, aber ihre größte Schwäche ist die Schlüsselverteilung, da derselbe Schlüssel zum Verschlüsseln und Entschlüsseln von Informationen verwendet wird.
Der Nachteil asymmetrischer Verschlüsselungssysteme im Vergleich zu symmetrischen Systemen ist, dass sie sehr langsam sind und aufgrund ihrer wesentlich längeren Schlüssellängen viel mehr Rechenleistung benötigen.
OpenSSL wird in der Programmiersprache C geschrieben und ist in einer stetigen Weiterentwicklung. Engagierte und freie Programmierer entwerfen weiterhin Applikationen und bauen dabei auf bereits etablierte Basisfunktionen von OpenSSL auf. Ein bedeutsamer Punkt in der Geschichte war der Heartbleed Bug. Dies war ein schwerwiegender Programmfehler in älteren Versionen der Open-Source-Bibliothek OpenSSL, durch den über verschlüsselte TLS-Verbindungen private Daten von Clients und Servern ausgelesen werden konnten. Der Fehler betraf die OpenSSL-Versionen 1.0.1 bis 1.0.1f und wurde mit Version 1.0.1g am 7. April 2014 behoben. Ein großer Teil der Online-Dienste, darunter auch namhafte Websites wie auch VoIP-Telefone, Router und Netzwerkdrucker waren dadurch für Angriffe anfällig.