Internet: Basics: Verschlüsselung
Als in den 1960er Jahren das Internet entwickelt wurde, kostete ein Computer noch hunderttausende Dollar und niemand glaubte damals, es könnte einmal viele tausende Computer geben. Der Gedanke, Kriminelle könnten in großem Maßstab das Internet nutzen, war absurd. Deshalb waren im ursprünglichen Konzept des Internets keine Sicherheitsmaßnahmen gegen böswillige Nutzer vorgesehen.
Drei der wichtigsten Möglichkeiten, die Sicherheit zu verbessern, werden in diesem Kapitel vorgestellt:
- Verschlüsselung,
- Zertifikate,
- Anonymisierung.
Theorie der Verschlüsselungsverfahren
BearbeitenDie Kryptographie (altgriechisch kryptós = geheim; gráphein = schreiben) ist eine uralte Wissenschaft von der Verschlüsselung von Nachrichten. Die Kryptographie gewinnt weiter an Bedeutung. Um sie richtig anzuwenden, ist ein Grundverständnis hilfreich.
Die Verschlüsselung schützt nicht nur vor dem Ausspähen von Daten, sondern auch vor dem unbemerkten Verändern, Löschen oder Einfügen von Daten auf dem Transportweg.
Man unterscheidet Substitution und Transposition. Bei der Substitution werden Zeichen nach einer Zeichenliste durch andere Zeichen ersetzt. Ist der Text lang genug und steht genügend Computerkapazität bereit, fällt die Entschlüsselung leicht: Der am häufigsten vorkommende Buchstabe steht für den Buchstaben „e“, der in deutschen Texten am häufigsten vorkommt. Für jede Sprache gibt es Tabellen der statistischen Häufigkeit der Buchstaben.
Bei der Transposition werden die Buchstaben eines Klartextes in der Reihenfolge verändert. Der Algorithmus wird mehrmals durchlaufen. Jedesmal wird aus dem Schlüssel ein weiterer Teil herausgeschnitten und als Arbeitsschlüssel verwendet.
Bei der Datenverschlüsselung in öffentlichen Netzen werden grundsätzlich zwei Verfahren verwendet: Das Private-key-Verfahren (mit privatem Schlüssel) und das Public-key-Verfahren (mit öffentlichem Schlüssel).
Symmetrische Kryptographie mit Private-Key
BearbeitenIn der Schule habe ich Botschaften mit der „Cäsar-Chiffre“ verschlüsselt: Aus einem A wird ein E, aus B wird F, C wird zu G. Zum Dekodieren braucht man nur vier Buchstaben zurückgehen, um den Klartext zu erhalten. Der geheime Schlüssel ist die Zahl 4: Die Zahl der Stellen, um welche die Buchstaben verschoben worden sind. Jeder Kommunikationspartner muss die gleichen Kenntnisse haben: Das Verschlüsselungsverfahren und den Schlüssel. Darum spricht man von symmetrischer Kryptographie.
Asymmetrische Kryptographie mit Public-Key
BearbeitenMit der symmetrischen Kryptographie gibt es zwei große Probleme:
- Man braucht für jeden Kommunikationspartner einen anderen Schlüssel, und alle Schlüssel muss man sorgfältig und sicher aufbewahren.
- Wenn ich mit jemandem kommunizieren will, muss ich ihm meinen Schlüssel zukommen lassen. Wie mache ich das ohne ein persönliches Treffen? Wenn ich den Schlüssel per E-Mail verschicke, könnte er abgefangen werden.
1977 wurde das Public-Key-Verfahren mit RSA-Schlüssel von den Mathematikern Rivest, Shamir und Adleman entwickelt. Jede Person besitzt ein Schlüsselpaar, das aus dem privaten (Private-Key) und dem öffentlichen Schlüssel (Public-Key) besteht. Die beiden Schlüssel werden mit einem komplizierten mathematischen Verfahren aus einer Zufallszahl berechnet. Nachrichten, die mit dem öffentlichen Schlüssel verschlüsselt werden, können nur mit dem dazugehörigen privaten Schlüssel wieder entschlüsselt werden. Den öffentlichen Schlüssel kann man − wie es der Name sagt − veröffentlichen, z. B. in ein Schlüsselregister eintragen.
Weil das Verfahren auf zwei ungleichen Schlüsseln beruht, wird es als „asymmetrisch“ bezeichnet.
Wie funktioniert das Public-Key-Verfahren in der Praxis? Wenn ich einem Freund eine verschlüsselte E-Mail schicken will, brauche ich seinen öffentlichen Schlüssel. Den kann er mir in einer unverschlüsselten Mail zusenden. Damit verschlüssele ich die Nachricht. Nun kann nur noch der Empfänger mit seinem privaten Schlüssel die Nachricht zu decodieren.
Vergleich beider Verfahren
BearbeitenStellen Sie sich das symmetrische Verfahren wie einen Diplomatenkoffer mit zwei Schlüsseln vor: Absender und Empfänger haben je einen davon. Das asymmetrische Verfahren ist wie ein Art Briefkasten, zu dem nur der Besitzer einen Schlüssel hat. Nur er kann die Nachricht entnehmen, aber jeder kann etwas einwerfen.
Der Nachteil des symmetrischen Verfahrens ist die große Zahl von Schlüsseln und das Problem, wie man vor der ersten Kommunikation den Schlüssel übermittelt.
Der Nachteil der asymmetrischen Kryptographie ist der hohe Rechenaufwand: Die Ver- und Entschlüsselung dauert etwa 1000-mal so lange wie beim symmetrischen Verfahren.
Wie sicher ist die RSA-Verschlüsselung?
BearbeitenDas hängt von der Schlüssellänge ab. Die Schlüssellänge wird in Bit angegeben. Die „RSA Laboratories“ testen die Sicherheit der Verschlüsselung, indem sie hohe Prämien für das „Knacken“ der Schlüssel aussetzen. 2005 konnten Wissenschaftler der Friedrich-Wilhelms-Universität Bonn einen Text entziffern, der mit einem Schlüssel aus einer 200-stelligen Dezimalzahl verschlüsselt war. 80 handelsübliche PCs arbeiteten daran von Ende 2003 bis Mai 2005. Im Dezember 2009 wurde RSA-768 entschlüsselt: 2000 PCs mit 2,2-GHz-Opteron-CPU haben dafür 3 Jahre gebraucht, siehe http://www.emc.com/emc-plus/rsa-labs/historical/rsa-768-factored.htm. Für das Knacken von RSA-1024 (309 Dezimalstellen) würde es 100 000 $ Prämie gegeben, doch das hat noch keiner geschafft.
Da die Rechenleistung der Computer ständig wächst, werden immer längere Schlüssel notwendig. Die Bundesnetzagentur hält RSA-basierte Signaturen mit einem 2048-Bit-Schlüssel mindestens bis zum Jahr 2020 für sicher.
Der Algorithmus "Data Encryption Standard" (DES) wurde 1976 vom Computerkonzern IBM und dem US-Geheimdienst NSA entwickelt, um den Datenaustausch zwischen den Behörden abzusichern.
Verschlüsselung beim Surfen: HTTPS
BearbeitenDas Kommunikationsprotokoll „Hypertext Transfer Protocol Secure“ wird anstelle von HTTP eingesetzt, um beim Online-Banking, in Internet-Shops u. a. Daten sicher zu übertragen. Im Browser wird vor der Webadresse ein kleines Vorhängeschloss angezeigt und die Adresse beginnt mit https://.
Wenn Sie einen Webserver über eine HTTPS-Verbindung kontaktieren, schickt dieser sein Zertifikat inklusive seines öffentlichen Schlüssels zurück. Wenn das Zertifikat ungültig ist, gibt der Browser eine Zertifikatswarnung aus − vielleicht stimmt nur das Datum auf Ihrem PC nicht? Wenn das Zertifikat korrekt ist, erzeugt der Browser einen zufälligen symmetrischen Schlüssel für die Kommunikation mit dem Webserver, den „Sitzungsschlüssel“. Dieser wird mit dem gerade erhaltenen öffentlichen Schlüssel des Webservers verschlüsselt und zurückgeschickt. Der Webserver decodiert die Nachricht mit seinem privaten Schlüssel und besitzt nun den gleichen symmetrischen Sitzungsschlüssel wie der Browser. Die gesamte weitere Kommunikation wird mit dem symmetrischen Sitzungsschlüssel abgewickelt, bei dem die Ver- und Entschlüsselung wesentlich schneller ist. Weil die Sitzungsschlüssel weniger sicher sind, werden mit dem asymmetrischen Schlüssel häufig neue Sitzungsschlüssel erzeugt.
Was geschieht, wenn der private Schlüssel des Webservers aufgedeckt wird, z. B. durch Diebstahl, Erpressung, Nachlässigkeit, oder wenn er mit einem Superrechner entschlüsselt wird? Dann können alle Sitzungsschlüssel, auch früher verwendete, ermittelt werden und die gesamte ehemalige und gegenwärtige Kommunikation des Servers entschlüsselt werden.
Ein neues Verfahren, die HTTPS-PFS (Perfect Forward Secrecy, deutsch: perfekte vorwärts gerichtete Geheimhaltung) verhindert das. Selbst bei Kenntnis des privaten Schlüssels des Servers können die Sitzungsschlüssel nicht ermittelt werden, nicht mal von der NSA. Doch PFS wird noch zu selten verwendet. Vorreiter sind Google, Facebook, YouTube sowie Microsoft (für Outlook.com, Microsoft OneDrive und Office 365).