Mindcrypt Applet
Wozu ist es gut?
- Das Mindcrypt Applet verschlüsselt eine oder mehrere Dateien und / oder Verzeichnisse und erstellt ein verschlüsseltes Archiv (*.mc).
Verzeichnisse werden dabei rekursiv verarbeitet, die Verzeichnisstruktur wird ebenfalls in der Archivdatei gespeichert.
Die Verschlüsselung erfolgt entweder mit einem von einem Passwort abgeleiteten Schlüssel oder mit Hilfe des öffentlichen Schlüssels
aus einer Zertifikatsdatei.
- Das Mindcrypt Applet entschlüsselt eine verschlüsselte Archivdatei (*.mc) und stellt die orginalen Dateien und Verzeichnisse in
einem angegebenen Zielverzeichnis wieder her.
Die Entschlüsselung erfolgt entweder mit einem von einem Passwort abgeleiteten Schlüssel oder mit Hilfe des privaten Schlüssels
aus einer Schlüsseldatei.
Anwendungsfälle
- Zwei Personen können geheime Dokumente miteinander austauschen (z.B. per E-Mail) ohne ein spezielles Programm auf ihrem Computer installiert zu haben.
Wird der Schlüssel von einem Passwort abgeleitet, muss das Passwort dem Empfänger auf einem sicheren Weg mitgeteilt werden (z.B. am Telefon).
Im Falle einer zertifikatsbasierten Verschlüsselung benötigt der Sender das Zertifikat des Empfängers bereits vor der Verschlüsselung.
- Sensitive Daten können verschlüsselt werden, bevor sie auf einen Server in der 'Wolke' hochgeladen oder auf einen USB-Stick kopiert werden.
Die Daten können später auf jedem ans Internet angeschlossenen Computer entschlüsselt werden ohne vorher eine spezielle Software zu installieren.
Wie funktioniert das?
- Bei der Verschlüsselung werden die Quelldateien in eine verschlüsselte Archivdatei (*.mc) geschrieben.
Mit Ausnahme eines kurzen, unverschlüsselten Headers wird die gesamte Archivdatei mit 256 Bit AES im CBC Modus verschlüsselt.
Der Schlüssel wird entweder von einem Passwort abgeleitet oder es wird ein zufälliger Schlüssel generiert und mit dem öffentlichen
RSA Schlüssel aus einer Zertifikatsdatei (*.der, *.cer, *crt, *.pem) verschlüsselt. In diesem Fall wird der RSA verschlüsselte Schlüssel
ebenfalls in der Archivdatei gespeichert.
- Bei der Entschlüsselung wird der Schlüssel entweder wieder von dem Passwort abgeleitet, oder - im Falle zertifikatsbasierter Verschlüsselung -
mit dem privaten Schlüssel aus einer Schlüsseldatei (*.p12, *.pfx, *.jks) entschlüsselt.
Die entschlüsselten Dateien werden in ein, vom Benutzer angegebenes Zielverzeichnis, geschrieben, wobei die ursprüngliche, relative
Verzeichnisstruktur wiederhergestellt wird.
Fragen und Antworten
- Ist das alles auch sicher?
Ja. Das Mindcrypt Applet verwendet den AES Algorithmus mit 256 Bit, der derzeit von Kryptographieexperten als sicher angesehen wird.
Das Schlüsselableitungverfahren wurde gemäß PKCS#5 implementiert, jedoch wurde statt SHA-1 als zugrundeliegende Hashfunktion das
sicherere SHA-256 verwendet.
Die gesamte Archivdatei wird im CBC Modus ('Cipher block chaining') mit einem zufälligen Startvektor ('IV') verschlüsselt.
Da alle Dateiinformationen verschlüsselt sind, ist es nicht möglich Dateinamen im verschlüsselten Archiv zu erkennen.
Sensitive Daten (z.B. Schlüssel oder Passwort) werden vom Programm explizit überschrieben, sobald sie nicht mehr benötigt werden.
- Werden Dateien ebenfalls komprimiert?
Ja. Große Dateien (> 16K) werden vor der Verschlüsselung komprimiert.
Dabei kommt das ZLIB Kompressionsverfahren ('Deflate') zur Anwendung.
Kleinere Dateien werden im Hinblick auf eine gute Performance nicht komprimiert.
- Was ist der Unterschied zu anderen Verschlüsselungsprogrammen?
Die Hauptziele des Mindcyrypt Applets sind Sicherheit und Einfachheit.
Der Vorteil besteht darin, es auf jedem Computer ausführen zu können, auf dem eine JAVA Laufzeitumgeben installiert ist.
Es ist nicht erforderlich zusätzliche Software zu installieren.
- Kann ich dem Mindcrypt Applet vertrauen?
Das Mindcrypt Applet greift ausschließlich auf lokale Resourcen des Computers (Dateisystem) zu und sendet NIEMALS Daten ins Netzwerk.
Wenn Sie Bedenken haben, das Mindcrypt Applet könnte Ihren sensitiven Daten ausspähen, so können Sie das Java Applet dekompilieren
(z.B. http://java.decompiler.free.fr) und den darin enthaltenen Code inspizieren.
- Was mache ich, falls die Mindcrypt Webseite irgendwann nicht mehr existiert?
Laden Sie die eigenständige Mindcrypt Applikation herunter, welche Sie unabhängig von der Mindcrypt Webseite lokal ausführen können.
- Wie kann ich eine RSA Schlüsseldatei / Zertifikat generieren?
Neben einer Vielzahl anderer Möglichkeiten (z.B. OpenSSL) kann eine Schlüsseldatei sehr einfach mit dem Keytool Programm (/bin/keytool)
erstellt werden, welches Bestandteil der JAVA Laufzeitumgebung ist.
Eine Schlüsseldatei wird damit folgendermassen generiert ('<>' ist ein Platzhalter für Ihre individuellen Werte):
keytool -genkey -alias <keyname> -keystore <storename> -storepass <password> -keypass <password>
-keyalg rsa -keysize 2048 -validity 1825 -dname "CN=<creator>"
Ein selbst-signiertes Zertifikat kann folgendermassen erstellt werden:
keytool -export -alias <keyname> -keystore <storename> -storepass <password> -file <storename>.crt
- Wer ist mindcrypt?
sven.kaltschmidtPAUL@mindcrypt.de (entferne PAUL)