doku app DuDAES.jar Windows

DuD AES Beschreibung für Windows

Java Applikation

Vorwort- Zusammenfassung

Ob Vorratsdatenspeicherung, Surfen im Internet, Einkaufen im WEB, Onlinebanking, Angebotserstellungen, Vertragsabwicklungen, Gesundheitsdaten, überhaupt Speicherung von Dateien jeglichen Inhalts bei Netzzugang, überall hinterlassen Sie Ihre Spuren und Ihr Profil ist unwiderruflich bekannt!

Tun Sie etwas für vertraulich zu behandelnden Daten, verschlüsseln Sie relevante Daten mit europäischer Sicherheitssoftware!

Dann sind Ihre Dateien auch bei einer Onlinedurchsuchung unlesbar und wären nur durch eine Brute Force Attack zu entschlüsseln oder wenn jemand Ihr Paßwort ausspäht.

http://www.defense.at/securitypaper/brute-force-attack.html

Mit einem neuen Ansatz, ohne die Nutzung von Menüs, wurde eine Applkation geschaffen, die „easy to use“ ist und eine hochsichere, sehr schnelle Ver-/Entschlüsselung von Dateien zuläßt. Datei per Drag&Drop ins IN-Fenster ziehen. Weiterhin wurde ein Viewer integriert, der es dem Nutzer ermöglicht, seine zu ver-/entschlüsselnden Daten vor und nach der Verarbeitung im Fileviewfenster als hexadezimal und als ASCII-View betrachten zu können (Verifizierung). Ein aus einem mindestens 8 Zeichen bestehendes Passwort wird mit dem RIPEMD160-Hash-Algorithmus gehascht und für die Verschlüsselung mit dem Rijndael 256 Bit Algorithmus um 12 auf 20 Byte expandiert. Durch einfaches Anklicken wird die Datei im Viewer gezeigt (bei Multiselection). Die ausgewählte(n) Datei(en) wird/werden mit Klick auf das encrypt/decrypt Button ver- oder entschlüsselt. Die Dateierweiterung „aes“ für verschlüsselte Dateien macht es möglich. Der Schlüssel ist maximal 10 Minuten gültig. Das Paßwort selbst wird nicht im Rechner abgelegt und der temporäre Key wird nach 10 Minuten Inaktivität sicher gelöscht.

Die Resetfunktion ermöglicht das sofortige Löschen des Verschlüsselungsschlüssels und des Leeren der Fenster. Dateieigenschaften, wie Erstellungsdatum und der ursprüngliche Dateiname werden gerettet und bei Entschlüsselung wieder verwendet.

Die Applikation DuDAES.jar (Dateigröße 76kByte) ist unter allen Windows Betriebssystem und Linux (Ubuntu) Betriebsystemen verwendbar. Bei seniorlabde wird als Entwicklungsplattformen Eclipse für Windows XP prof. Service Pack 3 und Ubuntu 9.10 eingesetzt.

Die Anwendung AES Drag&Drop Encryptor/Decryptor wurde umfangreich unter beiden Betriebssystemen getestet. DuDAES ist ein Verschlüsselungs/entschlüsselungsprogramm zur Verschlüsselung von Dateien.

Vorzugsweise wird die Originaldatei bei der Ver-/Ent-schlüsselung gelöscht und durch ent-/ver-schlüsselte ersetzt. Zur Ver- und Entschlüsselung wird der symmetrische AES–Verschlüsselungsalgorithmus mit einer Schlüssellänge von 256 Bit eingesetzt. Die Erzeugung des Verschlüsselunsschlüssels erfolgt mit dem RIPEMD 160 und spezieller Umwandlungen aus einem Paßwort. Der AES 256 und der RIPEMD 160 wird durch einen Software-Security-Provider bereitgestellt. Das Paßwort muß bestimmte Bedingungen erfüllen und wird nie als Klartext abgelegt. Jede Datei wird vor der Verschlüsselung mit dem RIPEMD160 gehasht. Dadurch ist eine exakte Fehlermeldung bei Entschlüsselung möglich, falls das Entschlüsselungspaßwort nicht stimmt.

Die Applikation bietet kein Key-Recovery! SICHERHEITSHINWEIS: Ein vergessenes Passwort führt zum Datenverlust, falls nicht die unverschlüsselten Originaldateien gesichert aufbewahrt wurden!

SICHERHEITSHINWEIS:

Wenn Sie Ihr PASSWORT zum Entschlüsseln vergessen haben, können Sie n i e m a l s mehr ihre Datei(en) entschlüsseln, da die Schlüssel nur t e m p o r ä r generiert werden !

SECURITY ADVICE:

If you forgot a password for your encrypted data, you will absolutily lose the ability to access them!

Das Programm nutzt Drag&Drop. Nur so ist es auch möglich Dateien in einer Liste zu halten. Durch Auswahl einer oder mehrerer Dateien werden die Dateien zum Verschlüsseln/Entschlüsseln selektiert.

Ratschlag:

Sollen große Dateien nach dem Verschlüsseln z.B. als Anhang an eine Email versand werden, ist es sinnvoll diese vor der Verschlüsselung mit einem ZIP-Programm zu komprimieren.

Nach der Verschlüsselung ist eine Komprimierung zwecklos, denn nach der Verschlüsselung existieren wenig sich wiederholende Bytefolgen!

Einleitung

Noch eine Applikation zur Dateiver- und Entschlüsselung?

Es wurde eine Applikation gesucht, die möglichst einfach zu bedienen ist und die auch eine schnelle Verschlüsselung von einer und vielen Dateien zuläßt und das mit hoher Geschwindigkeit. Zusätzlich sollte ein validierbarer und aktueller Algorithmus zum Einsatz kommen. Der von NIST als AES (Advanced Encryption Standard) ausgewählte Verschlüsselungsalgorithmus Rijndael wird eingesetzt, da dieser nicht nur sehr sicher ist, sondern auch optimale Verschlüsselungszeiten garantiert. Es wurde ein vollkommen neuer Ansatz gewählt: kein Installationstool, keine Menüs, kein Plug-In, keine DLL, keine Menüs, keine Toolbuttons, keine Statuszeilenicon und nur eine Oberfläche mit 4 aktiven Areas und ein Message-Area, davon zwei Listenwindows für das, was der Applikation angeboten wird (Input) und was aus der Applikation herauskommen soll (Output). Ein Viewerwindow ermöglicht das Betrachten der Datei vor und nach einer Aktion. Der Nutzer tut also nichts blind. Ob ver- oder entschlüsselt wird, entscheidet das Programm automatisch. Alle Funktionalitäten erfordern die Maus (Drag&Drop, linke und rechte Maustaste). Die Anwendung unterstützt Multiselektion zur Verschlüsselung. Der AES ist doppelt so schnell wie IDEA und 6 mal so schnell wie der DES3. Das Programm kommt als eine jar-Datei daher und ist 76 kByte groß.

Weshalb symmetrische/asymmetrische Kryptoalgorithmen?

Es gibt zwei Arten von Verschlüsselungsalgorithmen, die Schlüssel benötigen: symmetrische und Algorithmen mit öffentlichen Schlüsseln. Symmetrische Algorithmen benötigen einen Verschlüsselungs- und Entschlüsselungsschlüssel, der von einem geheimen Schlüssel (secret key) abgeleitet werden kann. Sender und Empfänger müssen einen solchen vereinbaren, bevor sie sicher miteinander kommunizieren können. Wenn dieser Schlüsselaustausch vertraulich gelingt, ist nur ein symmetrischer Algorithmus erforderlich. Die Applikation Drag&Drop AES setzt dieses voraus. Wenn nicht, muß mit Public-Key-Algorithmen (asymmetrische Kryptoalgorithmen) gearbeitet werden. Dabei wird der öffentliche Schlüssel in einem Verzeichnis bekannt gemacht und der geheime Schlüssel ist an den Eigentümer gebunden. Er kann z.B. auf einer Smartcard sicher verwahrt sein. Asymmetrische Kryptoalgorithmen sind langsam und dienen deshalb dem Schlüsselaustausch. Die Verschlüsselung großer Datenmengen erfolgt in der Regel mit symmetrischen Algorithmen. Applikationen, wie PGP, die mit öffentlichen Schlüsseln arbeiten sind naturgemäß viel komplizierter handelbar, wenn nicht eine gute PKI (Public Key Infrastructure) realisiert ist.

Informationen zu Hash- und Kryptoalgorithmen

Eine Hashfunktion kann man sich als kryptografische Prüfsumme, als Fingerabdruck oder als Integritätsprüfung einer Nachricht (hier einer Datei) vorstellen. Dabei wird ein Eingabe-String variabler Länge (Dateiinhalt oder Paßwort-String) in einen Ausgabe-String (meist kürzerer) fester Länge (z.B. 128 oder 160 Bit) umgewandelt. Dieser Ausgabe-String wird als Hashwert bezeichnet. Ob zwei Dateien identisch sind, lässt sich so auf einfache Weise nachvollziehen. Gegenwärtig gebräuchliche Hashalgorithmen sind der MD5 (128 Bit langer Hashwert), der RIPEMD (128 oder 160 Bit langer Hashwert) und der SHA1 (160 Bit langer Hashwert). Die Applikation nutzt den RIPEMD160 zur Hashwertbildung der zu verschlüsselnden Datei und zur Keygenerierung aus einem mindestens 8 Byte langen Passwort. Da man für die symmetrische Ver-/Entschlüsselung mit dem AES bei 256 Bit Verschlüsselung aber nicht nur 160 Bit (20Byte) als secret key benötigt, werden die 32 Byte mittels spezieller Umwandlungen gewonnen. Da von der Applikation keine asymmetrischen Kryptoalgorithmen benötigt werden, soll auf diese auch nicht näher eingegangen werden. Die meisten Anwendungen verwenden immer noch den symmetrischen Block-Verschlüsselungsalgorithmus Triple-DES (3 fach Data Ecryption Standard), so z.B. die Banken. Sehr bekannt ist noch der IDEA (International Data Encryption Standard, verwendet auch bei PGP). Von 15 neuen bei NIST eingereichten symmetrischen Block-Verschlüsselungsalgorithmen hat in einem Mehrrundenausscheid der Rjindael als AES alle anderen mit Abstand geschlagen. Die Erfinder Joan Daemen and Vincent Rijmen von der Universität Kuleuven (Belgien) waren die Sieger. Dieser Algorithmus ist sehr schnell und die Experten der Welt sind der Ansicht, auch sehr sicher. AES ist in den USA selbst für behördliche Dokumente mit höchster Geheimhaltungsstufe zugelassen, und auch in Europa wird der AES der Wirtschaft und Regierungen in einer Auswahl an überprüften kryptographischen Verfahren ausdrücklich empfohlen. Eine Rolle bei der Verschlüsselung spielen noch die Betriebsmodi und das Paddingschema (auffüllen mit Bytes bis zur Blockgrenze, hier 1-16 Byte). Hier wurde der CBC – Mode (Cipher Block Chaining) und das PKCS#5 Padding verwendet.

Aufruf und Beschreibung – Installation

Zum Datenschutz auf dem eigenen Rechner oder zum elektronischen Versand von Dateien bietet die GUI-Applikation DuDAES.jar für Windos 95/98/NT/200/XP unter Verwendung des symmetrischen Verschlüssel­ungsalgorithmus Rijndael eine einfache Möglichkeit, eine oder mehrere Dateien Paßwort ­geschützt zu ver- oder zu entschlüsseln.

Für DuDAES.jar wird der AES Rijndael mit der höchsten Sicherheitsstufe 256 Bit Verschlüsselung (getestet bei NIST - Advanced Encryption Standard) in CBC-Mode, die Hashfunktionen RIPEMD160 und das PKCS#5-Paddingschema verwendet.

Das Programm entscheidet automatisch zwischen Verschlüsselung und Entschlüsselung aufgrund der Dateierweiterung „aes“.

Das mindenstens 8 Zeichen lange einzugebende Passwort wird mit dem Hash-Algorithmus RIPEMD160 gehasht und der Hashwert wird als tem­porärer Schlüssel verwendet. Das Passwort selbst wird nicht im Rechner abgelegt. Die Gültigkeitsdauer des temporären Schlüssels beträgt 10 min. Wird die Anwendung beendet, ist der Schlüssel nicht mehr verfügbar.

Dem Empfänger verschlüsselter Dateien muß das Paßwort auf vertraulichem Wege übermittelt werden. Zusätzliches Equipment zum PC ist nicht erforderlich.

Eine Online-Hilfe ist nicht erforderlich.

Installation

Die DuDAES.jar ist eine ausführbare Date unter Windows und Linux (ubuntu). Vorraussetztung ist, das eine Laufzeitumgebung für Java-Programme vorhanden ist (Java SE Runtime Environment - JRE) .

Download : Java SE Runtime Environment (JRE) Version 6 Update 14

Die Benutzung dürfte eigentlich selbsterklärend sein...

Hier wurden 4 Dateien mittels Drag&Drop in das Inputfenster gezogen und die Datei Muster test2.txt mit der linken Maustaste angeklickt. Der Fileviewer zeigt sofort den Inhalt der Datei (hexadezimal und als ASCII-Text, wenn druckbare Bytes enthalten sind).

Soll die Originaldatei nicht automatisch bei Ver- oder Entschlüsselung gelöscht werden (in der Defaulteinstellung gibt es keine Nachfrage – die Originaldatei ist verloren!), muß der Button „Switch Off/On“ angeklickt werden und es bleibt die unverschlüsselte Datei erhalten.

Abb1

Ein Klick mit der Maustaste auf den Button „Password-Key for 10 min“ öffnet das Paßwortfenster.

Abb2

Ein Klick auf den Button „encrypt/decrypt“ verschlüsselt die ausgewählten Dateien.

Abb3

..und wenn beide Paßworte identisch sind, wird die Datei verschlüsselt und im Outputfenster mit der Dateierweiterung „.aes“ gelistet.

Durch Anklicken eines Dateieintrages in der InFileListBox oder der OutFileListBox zeigt der FileViewer den Inhalt der entsprechenden Datei (hexadezimal und als ASCII-Text, wenn druckbare Bytes enthalten sind).

Abb4

Das Meldungsfenster ist selbsterklärend.

Die Originaldatei wird automatisch bei Ver- oder Entschlüsselung gelöscht (es gibt keine Nachfrage – die Datei ist dann verloren!). Soll die Originaldatei erhalten werden, muß der Button „Switch Off/On“ angeklickt werden.

Wenn der Button „Reset“ geklickt wird, werden alle Fenster gelöscht, der Schlüssel wird vernichtet (auch Spuren im RAM). Der Schlüssel wird auch nach 10 min Inaktivität des Nutzers automatisch gelöscht und es erscheint im Meldungsfenster die Nachricht darüber.

Wenn das Paßwort nicht den Anforderungen entspricht, erscheint eine Fehlermeldung

Abb5

Abb6

Abb7

Quit beendet das Programm. Auch hierbei werden alle im RAM temporär gespeicherten Inhalte mehrfach mit einem Muster überschrieben und gelöscht.

Abb8

Hier wurden 2 Dateien zum entschlüsseln ausgewählt und entschlüsselt durch Anklicken des Button „encrypt/decrypt“

Wenn das Paßwort nicht stimmt, kann die Datei nicht entschlüsselt werden. Fehlermelung Password OK? „Der Hashwert ist falsch!“

Abb9

G-Encrypt.apk für Android OS

Für die Dateiverschlüsselung auf einen Handy mit dem Android Betriebssystem (z.B. HTC Hero bzw. T-Mobil G2 Touch ) wurde die Applikation G-Encrypt.apk bei seniorlabde entwickelt. Verschlüsselte Dateien (*.aes) die mit DuDAES.jar erstellt wurden sind voll kompatibel zu mit G-Encrypt verschlüsselten. Auch dort existiert kein Keyrecovery.