Dieser Gastartikel ist ein Beitrag zum ScienceBlogs Blog-Schreibwettbewerb. Alle eingereichten Beiträge werden im Lauf des Septembers hier im Blog vorgestellt. Danach werden sie von einer Jury bewertet. Aber auch alle Leserinnen und Leser können mitmachen. Wie ihr eure Wertung abgeben könnt, erfahrt ihr hier.
Dieser Beitrag wurde von Dominic Wäsch eingereicht.
———————————————————————————————————————–
Die Nachrichten um die NSA und Edward Snowden reißen nicht ab, und oft hört man, dass Verschlüsselung das wahre Mittel zur Gegenwehr gegen die allmächtigen Geheimdienste wäre. Zeit, einmal einen Blick auf die Verfahren zu werfen und zu schauen, wie es um die Sicherheit steht.
Grundsätzlich gibt es zwei verschiedene Arten, Nachrichten zu verschlüsseln: Symmetrische und asymmetrische Verfahren. Die symmetrischen Verfahren sind schon seit über zweitausend Jahren in Gebrauch; am bekanntesten dürfte die Cäsar-Chiffre[1] sein. Das Hauptproblem bei solchen symmetrischen Verfahren ist meist die Übermittlung des Schlüssels. Dies ist nötig, da für das Ver- und Entschlüsseln derselbe Schlüssel verwendet wird (deswegen „symmetrisch“). Da der Kanal, über den die Nachricht verschickt wird, als unsicher angesehen wird (sonst bräuchte die Nachricht nicht verschlüsselt werden), ist dieser Kanal für die Weitergabe des Schlüssels ungeeignet.
Asymmetrische Verfahren sind erst seit den 1970er Jahren bekannt. Bei diesen wird für das Chiffrieren ein öffentlicher Schlüssel benutzt, für das Dechiffrieren ein geheimer Schlüssel, den nur der Empfänger kennt und niemandem verrät. Das Schöne hieran ist, dass jeder, der meinen öffentlichen Schlüssel kennt, mir eine verschlüsselte Nachricht schicken kann. Es ist aber nicht möglich, mit dem öffentlichen Schlüssel eine chiffrierte Nachricht zu entziffern. Ich muss also nur dafür sorgen, dass jeder andere Mensch meinen öffentlichen Schlüssel kennt und benutzen kann; der geheime Schlüssel darf hingegen nicht an die Öffentlichkeit gelangen.
Jetzt könnte man meinen, symmetrische Verfahren spielen heute keine Rolle mehr, denn wir haben die asymmetrischen. Einfach die Nachricht verschlüsseln und verschicken. Nun kann man aber beispielsweise mit GnuPG[2] mehreren Empfängern gleichzeitig eine verschlüsselte Nachricht schreiben. Es wäre naheliegend, die gesamte Nachricht einfach für jeden Empfänger erneut zu verschlüsseln. Doch das ist leider unpraktikabel, da dann die Datenmege mit der Anzahl der Empfänger proportional ansteigt.
Hier ist die Idee, dass man nicht die Nachricht selber, sondern nur einen zufällig erzeugten Schlüssel für ein symmetrisches Verfahren verschlüsselt (der im Vergleich mit der Nachricht im Allgemeinen kurz ist). Für verschiedene Empfänger muss dann nur noch dieser Schlüssel mit den unterschiedlichen öffentlichen Schlüsseln chiffriert werden. Als weiterer Vorteil ergibt sich, dass asymmetrische Verfahren meist mit erheblich höherem Rechenaufwand verbunden sind als die symmetrischen. Das Ganze hat allerdings den Nachteil, dass die Sicherheit an zwei Verschlüsselungen hängt: einer symmetrischen Chiffrierung der Nachricht und einer asymmetrischen Chiffrierung des Schlüssels.
Noch mal der Reihe nach: Alice möchte eine verschlüsselte Nachricht an Bob schicken.
* Vorbereitung. Beide einigen sich zunächst auf ein symmetrisches und ein asymmetrisches Verschlüsselungsverfahren. Bob erzeugt für das asymmetrische Verfahren einen geheimen und einen öffentlichen Schlüssel. Den öffentlichen Schlüssel stellt Bob der Welt zur Verfügung (z.B. auf einem Key-Server, seiner Webseite und in seiner E-Mail-Signatur).
* Verschlüsselung. Alice erzeugt dann zufällig einen Schlüssel für das symmetrische Verfahren und chiffriert damit die Nachricht. Damit Bob diese Nachricht entschlüsseln kann, braucht er sowohl die verschlüsselte Nachricht, als auch den Schlüssel. Den Schlüssel chiffriert Alice jetzt mit dem öffentlichen Schlüssel von Bob und schickt beides – den asymmetrisch verschlüsselten Schlüssel und die symmetrisch verschlüsselte Nachricht – an Bob.
* Entschlüsselung. Bob bekommt das Paket der beiden unterschiedlich verschlüsselten Nachrichten. Er dechiffriert den Schlüssel für das symmetrische Verfahren mit seinem geheimen Schlüssel und benutzt dann diesen, um die Nachricht zu entschlüsseln.
Das gesamte Verfahren – Einigung auf Verfahren, Schlüssel generieren usw. – ist mittlerweile komplett in Software verborgen. Als Anwender kann ich zwischen zwei Verfahren wählen: einerseits gibt es das bereits erwähnte GnuPG[2] und andererseits S/MIME[3]. Sie unterscheiden sich von der Art, wie die Daten verpackt werden, welche Algorithmen verwendet werden und wie die öffentlichen Schlüssel in der Welt bekannt gemacht werden und sind daher leider nicht kompatibel. Ein genauerer Vergleich ist nicht leicht, die Vor- und Nachteile sind von der konkreten Situation abhängig[4].
Kommentare (37)