Padlocker - Der paranoid-sichere Passwort-Manager
Vor etwa drei Jahren begann ich mithilfe von Dokumentationen mit der Entwicklung der OTP-Einmalschlüssel-Bibliothek, die heute ausgereift und zuverlässig zur Erstellung zufälliger Pads sowie zum Verschlüsseln und Entschlüsseln dient, entweder mit Pseudozufallszahlen aus /dev/urandom oder, im paranoiden Modus, mit echten Zufallszahlen aus /dev/random, was jedoch zeitaufwändiger ist.
Kurz..
Die OTP-Bibliothek dient zur Erstellung des Pads mit Zufallszahlen, unwiederufliche Zerstörung des unverschlüsselten Schlüssel aus /dev/shm/*), Verschlüsselung und Entschlüsselung von Dateien mithilfe eines Schlüsselableitungsalgorithmus.
Der Trick bei der One-Time-Pad-Verschlüsselung ist die XOR-Operation. XOR hat diese besondere Eigenschaft, dass es, wenn man es zweimal anwendet, wieder den Originalwert zurückgibt.
Hier mal grob erklärt, wie das läuft ..
Stell dir vor, wir haben eine Nachricht, nennen wir sie Marco, und ein zufälliges Pad, nennen wir es Peter. Um Marco zu verschlüsseln, mischt Padlocker jede Stelle (also jedes Byte) von Marco mit der entsprechenden Stelle in Peter.. das nennt man XOR. Das Ergebnis ist die verschlüsselte Nachricht Claudia.
Jetzt kommt es ..
Um Marco wieder zurückzubekommen, muss man einfach noch einmal XOR zwischen Claudia und Peter machen. Dabei wird jede Byte-Position wieder zum Original zurückverwandelt, zack, Marco ist entschlüsselt!
Zusammengefasst sieht das dann so aus ..
- Verschlüsselung: Claudia = Marco XOR Peter
- Entschlüsselung: Marco = Claudia XOR Peter
Padlocker macht also nichts anderes, als für jedes Byte in der verschlüsselten Nachricht das Pad zu nehmen, das gleiche XOR-Verfahren anzuwenden und das Ergebnis als Originalnachricht zurückzuholen.
Warum das Pad wichtig ist und wie die Bibliothek es verwendet (kurz erklärt)
Das Pad ist hier der Star, denn ohne geht gar nichts. Wenn z.B. die Nachricht „Ich bin ein Hecht“ verschlüsselt wird und z.B. ein 10 GB an zufälligem Pad hat, wird genau der Abschnitt, den man zur Verschlüsselung genutzt hast, zur Entschlüsselung wieder gebraucht. Padlocker muss also wissen, wo im Pad es genau zu lesen beginnen soll, und das funktioniert hier ganz clever.
Wie also ? .. Padlocker beginnt beim ersten Byte und nutzt nur genau so viele Bytes, wie zur Verschlüsselung der Nachricht nötig sind.
Die Länge des Pads (Schlüssel) muss also immer mindestens so lang sein wie die verschlüsselte Nachricht, sonst klappt das Ganze nicht.
Zusammengefasst, Padlocker liest die verschlüsselte Datei und das Pad Byte für Byte. Es XORt jedes Byte der verschlüsselten Nachricht mit dem Pad und schreibt das Ergebnis als entschlüsselte Nachricht in eine neue Datei.
Wichtig ist.. Der Schlüssel im Pad wird niemals wiederverwendet, was sicherstellt, dass jede Nachricht einzigartig bleibt und nicht zurückverfolgt werden kann.
So einfach funktioniert’s. Das Pad garantiert, dass die Nachricht sicher bleibt, und durch die XOR-Entschlüsselung landet die Originalnachricht wieder auf deiner Festplatte.
Mehr Infos auf Wikipedia
Update Padlocker-3.9.4 - (22/03/2024)
- Unterstützung von verschlüsselten USB-Sticks.
- Einige kleinere Bugs behoben.
- Unterstützung von Backups
Keine Kommentare:
Kommentar veröffentlichen