Kryptographie in der Praxis
Spezialität des Tages: Buchstabensalat
Die Schutzziele der Kryptographie sind Vertraulichkeit, Integrität und Authentizität, wobei eindeutig die Vertraulichkeit im Vordergrund steht. Sie macht einen leserlichen Klartext durch Verschlüsselung für unbefugte Dritte unleserlich. Der so erzeugte Kryptotext wird auch Chiffrat genannt und ist für einen Angreifer prinzipiell wertlos.
Analyze this – Kryptoanalyse
Tatsächlich könnte er jedoch versuchen, den Text mittels Kryptoanalyse dennoch ohne Passwort leserlich zu machen. Typische Verfahren dafür sind beispielsweise die Bruteforce-Attacke oder die Wörterbuch-Analyse.
Für die Datenverschlüsselung kommen daher zwei Varianten zum Einsatz: Symmetrische und asymmetrische Kryptoverfahren.
Symmetrische Kryptographie – Ein Schlüssel, sie zu knechten
Betrachten wir zuerst die symmetrische Kryptographie bzw. Verschlüsselung. Der Begriff Symmetrie beschreibt die Gleichheit von Schlüsseln bei der Verschlüsselung und Entschlüsselung. Als Schlüssel wird in der Regel ein Passwort verwendet. Der Schlüssel für Ver- und Entschlüsselung ist somit beim symmetrischen Verfahren gleich. Mit anderen Worten: Es wird für beide Operationen das selbe Passwort verwendet.
Der Advanced Encryption Standard (AES) gilt aktuell (Sommer 2019) als sicherer Standard zur symmetrischen Datenverschlüsselung. Er löst den bis dahin verwendeten Data Encryption Standard (DES) ab. Weitere Algorithmen sind beispielsweise Blowfish, Twofish oder IDEA.
Neben einem Passwort und einem Verschlüsselungsalgorithmus wird natürlich noch der eigentlich zu verschlüsselnde Klartext benötigt. Exemplarisch entscheiden wir uns für Das ist ein Test! und GeheimesPasswort als benötigten Schlüssel. Das mit AES-128 im Electronic Code Book Mode (ECB) verschlüsselte Chiffrat lautet DAcHhQMq2qiwwf5RmrDJdTF/syTuPVMf5mZ8yE7f9Nk=. Die Zahl 128 steht dabei für die Länge des Schlüssels. 128 Bit entsprechen 16 Byte, also 16 Zeichen.
Schauen Sie sich bitte noch einmal unser Beispielpasswort an! Gerne können Sie auf dieser Webseite auch eigene Versuche mit dem AES-Algorithmus anstellen. In der Praxis könnte zur Verschlüsselung persönlicher Daten das sehr gute und kostenlose Werkzeug VeraCrypt verwenden, das natürlich auch AES als Variante beherrscht. Eine ausführliche Anleitung zur Einrichtung von VeraCrypt finden Sie in meinem Videokurs Computer und Internet mit Sicherheit.
Asymmetrische Kryptographie – Eingespieltes Team
In der asymmetrischen Kryptographie existieren zum Ver- und Entschlüsseln von Texten jeweils zwei verschiedene Schlüssel: Der öffentliche und der private Schlüssel. Sie sind zueinander invers und treten in der Regel als Schlüsselpaar auf.
Beispiel für einen öffentlichen Schlüssel:
-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIizn6tnxPQV5SfonjYfurrzu9Jp1sUV +nIx2K+qr+MTAdl7VOZ38qZ8JLwMyEvQAHpgnPg3jMuwMdHyKpi0+EsCAwEAAQ==
-----END PUBLIC KEY-----
Ein Klartext wird durch den öffentlichen Schlüssel, englisch Public Key, verschlüsselt und das Chiffrat später durch den privaten Schlüssel wieder entschlüsselt. Auch wenn die Weitergabe des öffentlichen Schlüssels gefühlt der Idee der Kryptographie widerspricht, sollte er dennoch möglichst vielen Menschen bekannt gemacht werden.
Beispiel für einen privaten Schlüssel:
-----BEGIN RSA PRIVATE KEY-----
MIIBOQIBAAJBAIizn6tnxPQV5SfonjYfurrzu9Jp1sUV+nIx2K+qr+MTAdl7VOZ3 8qZ8JLwMyEvQAHpgnPg3jMuwMdHyKpi0+EsCAwEAAQJAEqkCWLF3jyIV/9afEiBO
qwpuTxCngou3fjMTsxcHn2Va1ruL3uZC1p7FQ4cPPBBeYOnQeNHb9b2j7hoBXXCU
sQIhAOHKS4MHJPs/j/0+ifUTBQgCU5xim/8jGrSfLXrPbT4/AiEAmv3kQYUQpEaK
SlYRmQqsy+fR5h/8XjlzRgilrpmqGvUCIDEKGOB6esOCGz+WkRKPzuAFdzPZgZB5
jfQad8ycNNAiAPasfkuI7COH4TDOKtPYGYutOHN5FL8h0ET2Hjr0dbbQIgG3OTNC
75zM+CZULWfVmciVO71oi5LKaAgsV0tuiSKZU=
-----END RSA PRIVATE KEY-----
Warnung: Machen Sie Ihren echten privaten Schlüssel niemals so der Öffentlichkeit zugänglich wie in diesem Beispiel gezeigt!
Neben dem Einsatz im Rahmen von Blockchain-Projekten findet asymmetrische Kryptographie vor allem bei E-Mail-Korrespondenz Anwendung. Wie Sie eine sichere E-Mail-Kommunikation mit dem Programm Gpg4win einrichten können, erfahren Sie in meinem ausführlichen Videokurs.
Der Sender muss über den öffentlichen Schlüssel des Empfängers verfügen, um die Nachricht an ihn zu verschlüsseln. Der Empfänger entschlüsselt die Nachricht dann wieder mit seinem geheimen privaten Schlüssel.
Neben der Vertraulichkeit der Nachricht dient asymmetrische Kryptographie auch dem Schutzziel Authentizität. Diese wird durch Verschlüsselung des Nachrichten-Hashes (Schutzziel Integrität) mit dem, Achtung, privaten Schlüssel erreicht. Vertraulichkeit ist hierbei erklärtermaßen nicht das Ziel, da jeder Besitzer des inversen öffentlichen Schlüssels des Senders die Verschlüsselung aufheben könnte.
Stattdessen stellt sich der Empfänger folgende Frage: Ich konnte den Nachrichten-Hash mit dem öffentlichen Schlüssel des Senders entschlüsseln. Was sagt das über den Hash aus? Es sagt aus, dass der korrekte private Schlüssel des Senders verwendet worden ist. Der Absender muss also derjenige sein, der er vorgibt zu sein. Er ist authentisch!
Asymmetrische Kryptoverfahren wie RSA, Rabin oder Elgamel werden auch für die sichere Kommunikation mit Webservern verwendet. Denken Sie an Ihre Bankgeschäfte, die Sie online und bequem vom Sofa aus erledigen! Hier sollte in der Adressleiste des Webbrowsers (hoffentlich) der Begriff HTTPS angezeigt werden. Die Kommunikation erfolgt mithilfe eines symmetrischen Verschlüsselungsverfahrens, da dieses wesentlich performanter als ein asymmetrisches ist. Allerdings wird der verwendete Schlüssel zuerst über asymmetrische Algorithmen ausgehandelt.
Der öffentliche Schlüssel beispielsweise der Bank versteckt sich dann in kryptographischen Zertifikaten. Ein bekanntes Format ist X.509. Erinnern Sie sich noch an den öffentlichen und den privaten Schlüssel weiter oben? Lassen Sie uns den Beispieltext Das ist ein Test! mit dem bekannten RSA-Algorithmus verschlüsseln. Die Buchstaben stehen übrigens für die Namen der drei Erfinder: Rivest, Shamir und Adleman.
Das Resultat sieht (leicht gekürzt) wie folgt aus:
g7mnEkzLrTyHWlmjIZbYmrJqOPEJvAec…mOhV8mz7+P6qQaUaM/vJDHC+BLjw==.
Möchten Sie es selbst einmal ausprobieren? Kein Problem mit dem Online RSA Key Generator.