–navigation–
Beitragsdatum | 20.11.2023 |
---|---|
Letzte Aktualisierung | - |
Betrifft | openssl 3.x |
Achtung: nicht für große Dateien geeignet
Dieses Verfahren eignet sich nur für kleine Dateien, da die maximale Größe der zu verschlüsselnden Datei von der Größe des Schlüssels abhängt. Sie können also bspw. nur kurze Textdateien austauschen.
Sie möchten Dateien verschlüsseln, ohne ein Passwort eingeben zu müssen.
Dies macht immer dann Sinn, wenn die Verschlüsselung automatisch passieren soll, beispielsweise über ein Script.
Diese Art der Verschlüsselung nennt man auch asymmetrisch, weil die Ver- und Entschlüsselung mit unterschiedlichen „Geheimnissen“ stattfindet. Der Wikipedia-Artikel erklärt das ausführlich.
Im Gegensatz dazu steht die symmetrische Verschlüsselung, die das selbe Passwort für die Ver- und Entschlüsselung nutzt. Bei einem Script nicht so praktisch, weil dort das Passwort eingetragen werden müsste.
Das Problem hier soll also sein: wie kann man Dateien in einem Script verschlüsseln, ohne ein Passwort eingeben zu müssen?
Basis für eine Lösung sind sogenannte Schlüssel, die über [https://de.wikipedia.org/wiki/OpenSSL|openssl]] erzeugt werden können.
Es werden ein privater und ein öffentlicher Schlüssel erzeugt. Der private Schlüssel bleibt streng geheim und dient zum Entschlüsseln.
Der öffentliche Schlüssel dient zum Verschlüsseln und darf bekannt sein - soll es sogar. Jeder soll ihn nutzen können, um Ihnen verschlüsselte Daten zukommen lassen zu können.
Zunächst wird ein privater Schlüssel erzeugt:
openssl genrsa -out private_key.pem 4096
Dies erzeugt den privaten Schlüssel private_key.pem. Legen Sie diesen sicher und gut ab.
Nun wird auf Basis des privaten Schlüssels ein öffentlicher Schlüssel erzeugt:
openssl rsa -in private_key.pem -out public_key.pem -outform PEM -pubout
Dies erzeugt den öffentlichen Schlüssel public_key.pem. Diesen können Sie veröffentlichen.
Verschlüsseln Sie nun mit dem öffentlichen Schlüssel eine beliebige Datei - hier im Beispiel die Datei test.txt:
openssl pkeyutl -encrypt -inkey public_key.pem -pubin -in test.txt -out test.dat
test.dat ist dann die verschlüsselte Datei, die Sie versenden können.
Die verschlüsselte Datei kann nun mit dem privaten Schlüssel entschlüsselt werden:
openssl pkeyutl -decrypt -inkey private_key.pem -in test.dat -out new_test.txt
Die entschlüsselte Datei ist nun new_test.txt.
Es gibt mit gpg eine ganze Infrastruktur drum herum, so dass Sie Ihren öffentlichen Schlüssel auch richtig bekannt geben können.
Dies ist nicht Teil dieser Erklärung.
Mit openssl ist die Verschlüsselung auf Basis der Schlüsseldateien sehr einfach und für Scripte gut geeignet.
Quellen:
Ähnliche Themen im blog:
ssl, gpg
IT-MÜCKE - Richard Mücke - Ihr zuverlässiger EDV-Partner aus Mannheim
home - beratung - it-mücke kms - kontakt - blog - richard mücke - zertifizierungen - impressum - datenschutzerklärung