Symmetrisch oder Asymmetrisch
Die Mechanismen hinter Verschlüsselung und sicherer E-Mail-Kommunikation
Vor 2000 Jahren reichte eine Cäsar-Verschlüsselung für militärische Geheimbotschaften: Dabei wurde jeder Buchstabe um eine bestimmte Stellenanzahl im Alphabet vorgerückt - aus A wird dann etwa D, aus B wird E und so fort. Heute durchschaut diesen Code jeder clevere Grundschüler. Demgegenüber gehört inzwischen eine hochkomplexe Verschlüsselung zum Alltag, die gar nicht oder jedenfalls nicht mit vertretbarem Aufwand zu knacken ist. Ermöglicht wird dies durch schnelle Computer und passende Software. Was da eigentlich passiert, ist allerdings den wenigsten PC-Benutzern transparent. Dieser Beitrag erläutert die Grundmechanismen
Symmetrische Verschlüsselung
Wer im PC-Alltag Daten verschlüsselt, nutzt in der Regel eine symmetrische Verschlüsselung. Diese zeichnet sich dadurch aus, dass beim Verschlüsseln wie beim Entschlüsseln derselbe Schlüssel benutzt wird. Die angesprochene Cäsar-Substitution ist ein extrem einfaches Beispiel für symmetrische Verschlüsselung. Der Schlüssel lautet "Alphabetposition plus / minus n", wobei für "n" lediglich 26 Möglichkeiten bestehen. Je nach Richtung - Chiffrierung oder De-Chiffrierung - werden die Einzelbuchstaben dann ersetzt.
Rar-, 7-Zip oder auch speziellere Kryptographie- Werkzeuge wie Bitlocker oder Truecrypt verwenden ebenfalls symmetrische Verschlüsselung, doch ist der Zugangsschlüssel hier ein variables, frei wählbares Kennwort. Dadurch gibt es theoretisch beliebig viele Schlüssel, und die Sicherheit der codierten Daten hängt wesentlich von der Länge und Komplexität des gewählten Kennworts ab.
Exkurs: Um genau zu sein, ist das Kennwort zwar für den Benutzer der Schlüssel zum Decodieren, technisch handelt es sich jedoch um einen hexadezimalen Schlüssel definierter Länge (etwa 256 Bit = 32 Byte). Diesen tatsächlichen Schlüssel kann das jeweilige Programm eindeutig aus dem Kennwort errechnen.
Um nun zu skizzieren, was bei der symmetrischen Verschlüsselung unter der Haube geschieht, verwenden wir ein vereinfachtes Beispiel. Die zu verschlüsselnde Datei enthält nur das Wort "PCWELT", und das Kennwort lautet "geheim". Die jeweilige Software - immer noch Rar, 7-Zip, Truecrypt, Bitlocker und Co. - kann nun zur Erhöhung der Sicherheit verschiedene Methoden einsetzen: etwa Transposition, also das Verschieben von Bytes innerhalb eines definierten Blocks oder auch Ersetzungen nach dem logischen Vorbild der Cäsar-Verschlüsselung. Bei diesen kryptographischen Umwandlungen spielt der Schlüssel (Kennwort) immer eine wesentliche Rolle.
- Intellicomp IndependenceKey
Der IndependenceKey verschlüsselt Daten für Mail, Skype, Dropbox oder andere Cloud-Speicher. - LaCie Wuala
Cloud-Speicherdienste wie Wuala bieten eine integrierte Verschlüsselung an. Alle Daten, die in bestimmte Nutzerverzeichnisse abgelegt werden, werden automatisch verschlüsselt, bevor sie in die Cloud übertragen werden. - Kaspersky Mobile Security
Mobile Sicherheitssoftware wie Kaspersky Mobile Security hat neben dem Virenschutz auch Verschlüsselungsfunktionen an Bord. - DataLocker EncryptDisc
Bei DataLocker EncryptDisc handelt es sich um optische Speichermedien, die die Verschlüsselungslösung bereits in sich tragen. - NCP Secure Entry Client
Damit VPN-Verbindungen bei Bedarf eines verschlüsselten Netzwerkzugriffs möglichst allen Nutzern zur Verfügung stehen, sollten VPN-Clients gewählt werden, die zum Beispiel auch für Apple-Systeme bereit stehen, wie der NCP Secure Entry Client. - PhoneCrypt
Bei mobilen Endgeräten sollten nicht nur die gespeicherten Daten, sondern auch die vertraulichen Telefonate verschlüsselt werden, zum Beispiel mit PhoneCrypt. - Secusmart SecuVoice Q10
SecuVoice verschlüsselt mobile Telefonate und bildet einen Teil der SecuSuite, die zusätzlich unter anderem SMS und E-Mails verschlüsselt. - Sophos SafeGuard Enterprise
Eine Lösung wie Sophos SafeGuard Enterprise unterstützt die Verschlüsselung von Datenträgern genauso wie von Daten, die in eine Cloud übertragen werden sollen. - Mozilla Thunderbird S/MIME
E-Mail-Clients wie Mozilla Thunderbird ermöglichen eine E-Mail-Verschlüsselung nach S/MIME, doch nur wenige Nutzer machen davon Gebrauch, da vielen die Zertifikatsverwaltung zu aufwändig erscheint. - Z1 SecureMail Gateway Appliance Platform
Appliances mit dem Z1 SecureMail Gateway unterstützen die Verschlüsselung von E-Mail auf mehreren Wegen und erleichtern so die Anbindung von Partnern, die keine Public Key Infrastructure (PKI) betreiben.
Die verbreitete und bewährte symmetrische Verschlüsselung nach AES (Advanced Encryption Standard) sieht mehrere Umwandlungen innerhalb von 8-Byte-Blöcken unter Berücksichtigung des Schlüssels vor. Wie viel Aufwand eine Software im Einzelnen treibt, ist immer eine pragmatische Entscheidung zwischen höchstmöglicher Sicherheit und vertretbarem Rechenaufwand. Anders als bei der simplen Cäsar-Rotation geschehen solche Codierungen aber nicht auf der Zeichen-, also der Byte-Ebene, sondern auf Bit-Ebene, also auf der untersten Informationsebene der Nullen und Einsen. Dabei spielt das selbstinverse XOR in moderner Kryptographie eine entscheidende Rolle.
Um Ihnen diese XOR-Funktion zu verdeutlichen, kommen wir wieder zum Klartext "PCWELT" und zum einfachen Kennwort "geheim" zurück: Ausgangstext und Schlüssel (hier der Einfachheit halber mit dem Kennwort gleichgesetzt) werden im einfachsten Fall Byte für Byte verglichen und XOR-verknüpft. Beginnen wir beim ersten Byte: Das Byte in "PCWELT" ist das "P". Wie alles bei der digita - len Datenverarbeitung wird dieses "P" intern durch eine Zahl dargestellt, nämlich mit dem (Ascii-) Wert 80, "g" in "geheim" mit dem Wert 103. In der Binärschreibweise im Rechner mit Nullen und Einsen sieht das dann so aus:
P = 80 (dez) = 01010000 (Bin)
g = 103 (dez) = 01100111 (Bin)
XOR -------------------------
7 = 55 (dez) = 00110111 (Bin)
XOR vergleicht Bit für Bit von Position 1 bis 8: Sind zwei Bits an der jeweiligen Position identisch, also "0 und 0" oder "1 und 1", so ergibt sich die "0". Sind die zwei Bits unterschiedlich, also einmal die "0" und einmal die "1", so ergibt sich die "1" als Ergebnis. In diesem Beispiel kommt XOR zu dem Bitmuster 00110111. Das entspricht dezimal 55 und das verschlüsselte Resultat ist am Ende die "7" (Ascii 55).
Nach analogem Vorgehen für die weiteren Bytes wird aus "PCWELT" der Text "7&? %9". Das Erfreuliche an der XOR-Verknüpfung: Bei der Dechiffrierung des Codes mit dem richtigen Kennwort kommt dann wieder der Klartext zum Vorschein. Auch hier soll uns das erste Byte als Beispiel genügen:
7 = 55 (dez) = 00110111 (Bin)
g = 103 (dez) = 01100111 (Bin)
XOR -------------------------
P = 80 (dez) = 01010000 (Bin)
Aus der "7" wird also wieder das "P" von "PCWELT". Was kompliziert aussieht und oben nur für ein einziges Byte beschrieben ist, erledigen Packer oder Verschlüsselungsprogramme selbst bei großen Dateien in Sekunden.