SD-Encrypt-Tool: Daten stark verschlüsselt per Mail versenden - kleines Nebenprodukt von Server-Daten

06.11.2017 00:29:32, Jürgen Auer, keine Kommentare

Wer beruflich mit hoch sensiblen Daten zu tun hat: Wie kann dieser mit seinen Kunden kommunizieren?

Etwa Rechtsanwälte, die mit ihren Klienten Schriftsätze austauschen. Oder Nutzer, die einfach sicherstellen möchten, daß auf keinen Fall jemand mitliest. Schnell gibt es das Problem, daß es eigentlich kein Tool für solche Zwecke gibt.

Das kleine Tool sd-encrypt-tool.exe kann dafür genutzt werden. Es entstand gewissermaßen als Seiteneffekt innerhalb von Server-Daten.

Zu finden unter

https://www.sql-und-xml.de/freeware-tools/

Das Tool kennt drei Funktionen:

sd-encrypt-tool -k MaxMustermann

Dies erzeugt zwei Dateien rsa-key.MaxMustermann.xml und rsa-key.MaxMustermann.public.xml. Erstere enthält den öffentlichen und den zugehörigen privaten Schlüssel (RSA, 8192 Bit). Zweitere enthält nur den öffentlichen Schlüssel.

Ein öffentlicher Schlüssel eines asymmetrischen Schlüsselpaars kann problemlos per Mail verschickt werden. Max Mustermann verschickt also diesen Schlüssel an John Doe, der ihm eine Datei verschlüsselt zusenden möchte.

John Doe speichert den Schlüssel von Max Mustermann und die zu verschlüsselnde Datei in demselben Ordner, in dem auch das Tool sd-encrypt-tool.exe liegt. Dann führt er das Tool einmal aus (-e = encrypt):

sd-encrypt-tool -e rsa-key.MaxMustermann.public.xml CV-TopSecret.docx 3

Dabei gibt er die Datei mit dem öffentlichen Schlüssel des Empfängers (MaxMustermann) an, ferner die zu verschlüsselnde Datei. Eine optionale Zahl legt die Zahl der Dateien fest.

Das Tool verschlüsselt zunächst CV-TopSecret.docx in die Datei CV-TopSecret.docx.enc.all. Anschließend macht es drei Teile draus:

CV-TopSecret.docx.encrypted.001
CV-TopSecret.docx.encrypted.002
CV-TopSecret.docx.encrypted.003

Dann wird der für diese Verschlüsselung einmalig erzeugte Schlüssel (genauer: Schlüssel und Initialisierungsvektor einer AES-Verschlüsselung) mit dem öffentlichen RSA-Schlüssel von MaxMustermann verschlüsselt und in der Datei

CV-TopSecret.docx.key

abgelegt.

Nun kann John Doe diese Daten (CV-TopSecret.docx.key und die drei Dateien 001 - 003) an Max Mustermann übermitteln. In einer Mail, in drei oder auch in vier Mails. Oder auch über verschiedene Mailkonten. Aber selbst wenn er das in einer Mail verschickt: Wer nicht den privaten Schlüssel von Max Mustermann hat, für den dürfte das nicht zu knacken sein.

Max Mustermann kopiert alle Dateien in das Verzeichnis, in dem sein eigener Hauptschlüssel rsa-key.MaxMustermann.xml und das Programm liegt. Dann führt er einen Befehl aus (-d = decrypt):

sd-encrypt-tool -d rsa-key.MaxMustermann.xml CV-TopSecret.docx.key

Das Programm liest zunächst den Hauptschlüssel rsa-key.MaxMustermann.xml ein. Sucht dann nach allen Dateien der Form

CV-TopSecret.docx.001
CV-TopSecret.docx.002

usw. und macht aus diesen (vorausgesetzt, die Nummern stimmen) eine Datei CV-TopSecret.docx.enc.all.

Dann wird der Hauptschlüssel genutzt, um aus CV-TopSecret.docx.key den eigentlichen Verschlüsselungs- und Entschlüsselungsschlüssel für die symmetrische AES-Entschlüsselung zu gewinnen. Mit diesem wird CV-TopSecret.docx.enc.all zu CV-TopSecret.docx entschlüsselt.

Technisch funktioniert das aktuell auf der Kommandozeilenebene. Der Programmstart ohne Parameter zeigt die Hilfe mit Beispielen an. Es ist denkbar, daß noch ein paar Fehlermeldungen fehlen. Deshalb aktuell die Variante 0.9.

Das Programm enthält selbst keinen Schlüssel und "telefoniert" auch nicht mit der Domain https://www.sql-und-xml.de/. Es läßt sich also offline verwenden und arbeitet nur auf den vom Nutzer angegebenen Dateien.

Viel Vergnügen bei der Nutzung.

*
* (wird nicht angezeigt)
Die Erläuterungen zum Datenschutz habe ich gelesen und stimme diesen zu.