Luks: Key über ssh transferieren.

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
crhn
Beiträge: 67
Registriert: 30.04.2011 12:24:27
Lizenz eigener Beiträge: MIT Lizenz

Luks: Key über ssh transferieren.

Beitrag von crhn » 23.01.2012 19:59:26

Hallo,

Situation:
Auf meinem Laptop liegt der Key zum entschlüsseln einer Platte (nicht root).
Die externe Platte hängt an meinem "Server" und soll über ssh entschlüsselt werden.
Verschlüsselt ist mit dm-crypt/ luks (cryptsetup).
Im Moment mach ich das mit nem Passwort über ssh mit cryptsetup luksOpen.

Frage:
Gibt's da was mit dem ich das komfortabel vom Laptop aus verwalten könnte?
Sonst hätte ich mir jetzt selber was gebastelt mit ner Pipe zwischen ssh und cryptsetup oder so.

Mein Problem bei der Suche war, dass ich immer nur Beiträge zu nem verschlüsselten rootfs
mit dropbear und initrd gefunden hab.

Vielen Dank,
crhn

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Luks: Key über ssh transferieren.

Beitrag von syssi » 23.01.2012 20:57:13

Wie waers mit:

Code: Alles auswählen

ssh server "cat | cryptsetup --key-file=- luksOpen /dev/disk/by-uuid/a412f.... usb_crypto && mount /dev/mapper/usb_crypto /media/usb" << ~/keyfile.txt
sshfs server:/media/usb ~/usb
ls -l ~/usb

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: Luks: Key über ssh transferieren.

Beitrag von Lohengrin » 23.01.2012 22:16:26

syssi hat geschrieben:Wie waers mit:

Code: Alles auswählen

ssh server "cat | cryptsetup --key-file=- luksOpen /dev/disk/by-uuid/a412f.... usb_crypto && mount /dev/mapper/usb_crypto /media/usb" << ~/keyfile.txt
sshfs server:/media/usb ~/usb
ls -l ~/usb
Vorsicht! Das Keyfile geht über die bash. Könnte das dabei unverschlüsselt irgendwo herumliegen und abgeschnorchelt werden?
Bei Parametern ist das der Fall. Wie ist das hier bei der Standardeingabe?
Harry, hol schon mal das Rasiermesser!

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Luks: Key über ssh transferieren.

Beitrag von syssi » 23.01.2012 22:26:52

Die Standardeingabe taucht nicht in irgendwelchen Prozesslisten auf. Ich behaupte sie ist ebenso sicher, wie die Eingabe eines Passwoerts ueber die gleiche SSH-Verbindung. Klar kann man auf der Gegenseite so Spaesse veranstalten, wie "alias cat='tee mitschrift.txt' aber dann ist sowieso das System kompromitiert. Wovon ich definitiv absehen wuerde ist ein temporaeres ablegen des Keyfiles auf dem fremden System.

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: Luks: Key über ssh transferieren.

Beitrag von Lohengrin » 23.01.2012 23:45:06

syssi hat geschrieben:Die Standardeingabe taucht nicht in irgendwelchen Prozesslisten auf. Ich behaupte sie ist ebenso sicher, wie die Eingabe eines Passwoerts ueber die gleiche SSH-Verbindung.
Klingt plausibel. Das sind ja alles Prozesse, die dem Benutzer gehören, der auch das Passwort über ssh eingeben würde, und das geht auch über die Standardeingabe der Shell.
syssi hat geschrieben:Klar kann man auf der Gegenseite so Spaesse veranstalten, wie "alias cat='tee mitschrift.txt' aber dann ist sowieso das System kompromitiert.
Richtig. Wenn jemand weiß, dass die Gegenseite ein verschlüsseltes Dateisystem hat, kann er auf diese Weise das Passwort abfangen. Sollte allerdings jemand kommen, und einfach nur den Rechner mitnehmen, fällt das demjenigen, der den Server wie gewöhnlich starten will, auf, bevor er noch einmal sein Passwort eingibt.
syssi hat geschrieben:Wovon ich definitiv absehen wuerde ist ein temporaeres ablegen des Keyfiles auf dem fremden System.
Im unverschlüsselten Bereich der Festplatte würde ich das auch nicht tun. Aber auf einer Ramdisk ist das in Ordnung. Während des Betriebs liegt der Schlüssel eh irgendwo im Ram.
Harry, hol schon mal das Rasiermesser!

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Luks: Key über ssh transferieren.

Beitrag von syssi » 24.01.2012 09:28:05

Oder man speichert den Schluessel in CPU Registern, damit niemand den Arbeitsspeicher runterkuehlt und extern dumpt. ;-)
http://www1.informatik.uni-erlangen.de/ ... tresor.pdf

(nicht ernst gemeint)

Benutzeravatar
crhn
Beiträge: 67
Registriert: 30.04.2011 12:24:27
Lizenz eigener Beiträge: MIT Lizenz

[gelöst] Luks: Key über ssh transferieren.

Beitrag von crhn » 24.01.2012 20:00:55

syssi hat geschrieben:Oder man speichert den Schluessel in CPU Registern, damit niemand den Arbeitsspeicher runterkuehlt und extern dumpt. ;-)
Den Vortrag hab ich gesehen. Fand ich ziemlich interessant, aber so sicherheitskritisch sind meine Daten dann doch nicht.
Ich hab dann auch noch das hier gefunden:
http://www.youtube.com/watch?v=QSIZOJ_3KrM
Das ist eigentlich das was ich such, scheint mir aber noch nicht so ganz fertig.
Ich versuch mir erstmal nen Bashscript zu basteln das dann über ssh die Keys stdin piped (schreibt man das so?).

Danke ihr zwei. Ich setzt mal auf gelöst, falls aber noch jemand nen Vorschlag hat schau ich mir das gerne an.

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: [gelöst] Luks: Key über ssh transferieren.

Beitrag von Lohengrin » 25.01.2012 06:05:20

crhn hat geschrieben:
syssi hat geschrieben:Oder man speichert den Schluessel in CPU Registern, damit niemand den Arbeitsspeicher runterkuehlt und extern dumpt. ;-)
Den Vortrag hab ich gesehen. Fand ich ziemlich interessant, aber so sicherheitskritisch sind meine Daten dann doch nicht.
Ich hab dann auch noch das hier gefunden:
http://www.youtube.com/watch?v=QSIZOJ_3KrM
Das ist eigentlich das was ich such, scheint mir aber noch nicht so ganz fertig.
Solange das /bin/ unverschlüsselt ist, kann dir jemand die Befehle manipulieren, und dann hat er dich. Ich weiß nicht, wie du einen Rechner remote hochkriegen kannst, ohne dass irgend etwas Manipulierbares unverschlüsselt auf dem remote Rechner liegt. Daher schützt, den Schlüssel nicht im Ram liegen zu haben, nur gegen jemanden, der eindringt, den laufenden Rechner findet, und zufällig das Werkzeug zum Kühlen dabei hat. Sollte er das dann noch vorbereiten müssen, wird er eher Programme manipulieren, und warten, bis er von dir das Passwort bekommt.

Wie immer gilt: Es gibt keine absolute Sicherheit. Es kann immer jemanden geben, der schlauer als du ist. Du hast es mit der verschlüsselten Platte einem Angreifer schon sehr schwer gemacht.
Harry, hol schon mal das Rasiermesser!

jeff84
Beiträge: 324
Registriert: 15.07.2009 13:32:36

Re: [gelöst] Luks: Key über ssh transferieren.

Beitrag von jeff84 » 25.01.2012 09:44:11

Lohengrin hat geschrieben: Solange das /bin/ unverschlüsselt ist, kann dir jemand die Befehle manipulieren, und dann hat er dich. Ich weiß nicht, wie du einen Rechner remote hochkriegen kannst, ohne dass irgend etwas Manipulierbares unverschlüsselt auf dem remote Rechner liegt. Daher schützt, den Schlüssel nicht im Ram liegen zu haben, nur gegen jemanden, der eindringt, den laufenden Rechner findet, und zufällig das Werkzeug zum Kühlen dabei hat. Sollte er das dann noch vorbereiten müssen, wird er eher Programme manipulieren, und warten, bis er von dir das Passwort bekommt.

Wie immer gilt: Es gibt keine absolute Sicherheit. Es kann immer jemanden geben, der schlauer als du ist. Du hast es mit der verschlüsselten Platte einem Angreifer schon sehr schwer gemacht.
Naja, für den Fall könnte man ja Checksummen über die unverschlüsselten Ordner bilden und die überprüfen lassen, bevor man den Key übermittelt...

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: [gelöst] Luks: Key über ssh transferieren.

Beitrag von Cae » 25.01.2012 14:52:53

jeff84 hat geschrieben:Naja, für den Fall könnte man ja Checksummen über die unverschlüsselten Ordner bilden und die überprüfen lassen, bevor man den Key übermittelt...
Mit was? md5sum, das noch nicht verschlüsselt vorliegt? Mit einem hasher, den man jedes Mal hochlädt? Wer sagt, dass der nicht vor dem Ausführen durch eine Fnord-Variante ersetzt wird? Ich habe Zweifel, ob man rein softwaretechnisch aus dem Dilemma heraus kommt.

Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: [gelöst] Luks: Key über ssh transferieren.

Beitrag von Lohengrin » 25.01.2012 19:36:23

Cae hat geschrieben:
jeff84 hat geschrieben:Naja, für den Fall könnte man ja Checksummen über die unverschlüsselten Ordner bilden und die überprüfen lassen, bevor man den Key übermittelt...
Mit was? md5sum, das noch nicht verschlüsselt vorliegt? Mit einem hasher, den man jedes Mal hochlädt? Wer sagt, dass der nicht vor dem Ausführen durch eine Fnord-Variante ersetzt wird? Ich habe Zweifel, ob man rein softwaretechnisch aus dem Dilemma heraus kommt.
Ich meine mich zu erinnern, dass man theoretisch beweisen kann, dass so etwas prinzipiell nicht geht.
Man kann es aber dem Angreifer noch etwas schwieriger machen.

Das große Problem, das ich sehe, ist die Authentifizierung des SSH-Servers. Das dafür nötige Zertifikat muss unverschlüsselt vorliegen. Und da ist der Platz in der Mitte für den Angreifer.
Harry, hol schon mal das Rasiermesser!

jeff84
Beiträge: 324
Registriert: 15.07.2009 13:32:36

Re: [gelöst] Luks: Key über ssh transferieren.

Beitrag von jeff84 » 26.01.2012 09:49:45

Lohengrin hat geschrieben: Ich meine mich zu erinnern, dass man theoretisch beweisen kann, dass so etwas prinzipiell nicht geht.
Man kann es aber dem Angreifer noch etwas schwieriger machen.

Das große Problem, das ich sehe, ist die Authentifizierung des SSH-Servers. Das dafür nötige Zertifikat muss unverschlüsselt vorliegen. Und da ist der Platz in der Mitte für den Angreifer.
Ok, klar. Gegen einen fähigen Gegner, der Zugriff auf den Rechner hat/hatte, dürfte es schwierig sein. Aber ein wenig Aufwand wäre es schon die Sachen zu umgehen...

Antworten