Hallo,
ich benutze in div. Umgegungen cryptsetup.
Habe eine Frage zur Nutzung von Keys:
Gehe mal davon aus, Keys sind sicherer als Passwörter?
Wie erstelle ich am besten Keys? Bei Anleitungen im Netz wird meist /dev/random benutzt.
Ich mache es bisher so, dass ich ssh-keys erstelle (rsa) und davon mehrere hintereinander in eine Datei schreibe, welche ich dann als Key verwende. Zusätzlich drehe ich den iterations-Wert eines Volumes hoch.
Was empfehlt ihr?
cryptsetup, Key-Empfehlung
-
- Beiträge: 2049
- Registriert: 18.03.2012 21:13:42
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: cryptsetup, Key-Empfehlung
Das kommt auf die Betrachtung an. Ein 128-stelliges Passwort hat den Vorteil, dass es mir nicht von irgendwelchen Datentraegern gestohlen werden kann, weil ich es mir gemerkt habe. Allerdings sind die meisten Passworter nicht 128 Stellen lang und folgenden gewissen Mustern wenn sie von Menschen erzeugt werden.sergej2018 hat geschrieben:19.09.2017 21:38:59...Gehe mal davon aus, Keys sind sicherer als Passwörter?...
Zu der Erzeugung von keys faellt mir nichts weiter ein, aber IT-Sicherheit ist ein breites Thema. Wenn die Keys nicht geschuetzt sind, dann nuetzt dir auch ein toller und sicherer Key nichts. Unter [1] findest du eine umfangreiche Checkliste. Auch das cryptsetup wiki [2] gibt Hinweise.sergej2018 hat geschrieben:19.09.2017 21:38:59Ich mache es bisher so, dass ich ssh-keys erstelle (rsa) und davon mehrere hintereinander in eine Datei schreibe, welche ich dann als Key verwende. Zusätzlich drehe ich den iterations-Wert eines Volumes hoch.
Was empfehlt ihr?
[1] https://github.com/lfit/itpol/blob/mast ... ecurity.md
[2] https://gitlab.com/cryptsetup/cryptsetu ... ty-aspects
Hilf mit unser Wiki zu verbessern!
- spiralnebelverdreher
- Beiträge: 1298
- Registriert: 23.12.2005 22:29:03
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Frankfurt am Main
Re: cryptsetup, Key-Empfehlung
Ich selbst (Heimanwender mit Desktop-PC / Notebook) benutze für LUKS (cryptsetup) Passwörter mit mehr als 16 zufälligen Zeichen, die mir mein Passwortmanager erstellt. Solche Passwörter kann man noch halbwegs bequem auf Papier schreiben und von Hand eintippen, wenn in der Zielumgebung noch kein Passwortmanager zur Verfügung steht (bspw. beim Booten) oder es mühsam wäre, erst einen Keyfile dorthin zu kopieren. Ob das für dich ein Argument ist, hängt von deiner Einsatzumgebung ab. Ein Mehr von Sicherheit durch ein Keyfile ist in der oben skizzierten Umgebung zwar vorhanden, aber lächerlich gering (hinreichend gutes Passwort vorausgesetzt). Ob mein Gegner nun Tausend oder 100.000 Jahre braucht um meinen Container aufzuschliessen halte ich für nebensächlich. Ein mächtiger Gegner wird andere Wege finden, mich innerhalb von Tagen oder Wochen gefügig zu machen und zu erpressen.sergej2018 hat geschrieben:19.09.2017 21:38:59Hallo,
ich benutze in div. Umgegungen cryptsetup.
Habe eine Frage zur Nutzung von Keys:
Gehe mal davon aus, Keys sind sicherer als Passwörter?
Wie erstelle ich am besten Keys? Bei Anleitungen im Netz wird meist /dev/random benutzt.
Ich mache es bisher so, dass ich ssh-keys erstelle (rsa) und davon mehrere hintereinander in eine Datei schreibe, welche ich dann als Key verwende. Zusätzlich drehe ich den iterations-Wert eines Volumes hoch.
Was empfehlt ihr?
Ich sehe den praktischen Vorteil von Keyfiles in Umgebungen, in denen scriptgesteuert größere Mengen an verschlüsselten Containern erzeugt und geöffnet werden und in Umgebungen, in denen der Iterationswert der Schlüsselableitungsfunktion nicht sehr hoch sein kann wegen eines lahmen Prozessors (Embedded Device, Smartphone).
Es kommt also auf deine "div. Umgegungen" an. Vielleicht erläuterst du das mal näher.
Re: cryptsetup, Key-Empfehlung
Das erläutere ich gern näher 
Habe - genau wie du - meine Heim-Geräte verschlüsselt. Normalerweise ist das System da nur mit einem Kennwort geschützt, um die Daten einzubinden wird dann ein Keyfile genutzt, das auf einem verschlüsselten Stick ist.
Idee dabei: Zwei-Phasen-Auth. Verliere ich mein Laptop (oder es wird gestohlen o.ä.), so ist der USB-Stick mit großer Wahrscheinlichkeit nicht dabei. Zumindest die Daten-Partition ist dann sicher geschützt.
Es gab in der Firma einen Fall, in dem ein Admin beim Eingeben eines Passwortes gefilmt wurde (ja, ich konnte es auch kaum glauben). Dieses Problem umgehe ich mit dem Stick. Denn auch dieser ist verschlüsselt, aber das Passwort für den Stick bringt ohne den Stick selbst auch nicht viel.
Zusätzlich betreue ich diverse Server. In diesen laufen meist verschlüsselte Raid-Systeme mit vielen Festplatten, da ist ein Stick oft schlicht einfacher...

Habe - genau wie du - meine Heim-Geräte verschlüsselt. Normalerweise ist das System da nur mit einem Kennwort geschützt, um die Daten einzubinden wird dann ein Keyfile genutzt, das auf einem verschlüsselten Stick ist.
Idee dabei: Zwei-Phasen-Auth. Verliere ich mein Laptop (oder es wird gestohlen o.ä.), so ist der USB-Stick mit großer Wahrscheinlichkeit nicht dabei. Zumindest die Daten-Partition ist dann sicher geschützt.
Es gab in der Firma einen Fall, in dem ein Admin beim Eingeben eines Passwortes gefilmt wurde (ja, ich konnte es auch kaum glauben). Dieses Problem umgehe ich mit dem Stick. Denn auch dieser ist verschlüsselt, aber das Passwort für den Stick bringt ohne den Stick selbst auch nicht viel.
Zusätzlich betreue ich diverse Server. In diesen laufen meist verschlüsselte Raid-Systeme mit vielen Festplatten, da ist ein Stick oft schlicht einfacher...
- spiralnebelverdreher
- Beiträge: 1298
- Registriert: 23.12.2005 22:29:03
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Frankfurt am Main
Re: cryptsetup, Key-Empfehlung
Du benutzt deinen USB Stick also als (statischen) Passwortmanager, wenn ich ich es richtig verstehe. Hört sich sicher an. Wie hast du es mit der Usability geregelt? Geschieht etwas automatisch wenn du den Stick einsteckst oder machst du alles von Hand?sergej2018 hat geschrieben:20.09.2017 12:38:03Habe - genau wie du - meine Heim-Geräte verschlüsselt. Normalerweise ist das System da nur mit einem Kennwort geschützt, um die Daten einzubinden wird dann ein Keyfile genutzt, das auf einem verschlüsselten Stick ist.
Idee dabei: Zwei-Phasen-Auth. Verliere ich mein Laptop (oder es wird gestohlen o.ä.), so ist der USB-Stick mit großer Wahrscheinlichkeit nicht dabei. Zumindest die Daten-Partition ist dann sicher geschützt.
Anmerkung: Beim Laptop unterwegs solltest du die diversen Ruhe-Zustände des Gerätes betrachten (Suspend-to-disk, suspend-to-RAM), da der Container nur sicher verschlüsselt ist wenn er beim herunterfahren geschlossen wird. Auch swap Partitionen müssen in diesem Szenario betrachtet warden.
Da wird es natürlich schon anspruchsvoller, wenn man Angreifer berücksichtigen muss, der Zugang ins Gebäude hat und dort eine Kamera anbringen kann oder eine Tastatur austauschen kann.sergej2018 hat geschrieben:20.09.2017 12:38:03Es gab in der Firma einen Fall, in dem ein Admin beim Eingeben eines Passwortes gefilmt wurde (ja, ich konnte es auch kaum glauben). Dieses Problem umgehe ich mit dem Stick. Denn auch dieser ist verschlüsselt, aber das Passwort für den Stick bringt ohne den Stick selbst auch nicht viel.
Mehr würde dir hier ein Hardwaretoken bringen, der zeitlich kurzlebig gültige Zugangsdaten oder nur einmal gültige Zugangsdaten generiert. Einen Datenstick kurzzeitig kurz zu "entleihen" um ihn komplett zu kopieren (mit dd) wäre ein Angriffsvektor, der zusammen mit einer abgefilmten Passworteingabe (oder einem Keylogger) sehr wirksam ist.
Da sind Keyfiles sicher das Mittel der Wahl. Wobei natürlich Server, die 24h laufen, und verschlüsselte Datenträger nur solange in eine Sicherheitskonzept passen wie die Dateisysteme nicht eingebunden sein müssen.sergej2018 hat geschrieben:20.09.2017 12:38:03Zusätzlich betreue ich diverse Server. In diesen laufen meist verschlüsselte Raid-Systeme mit vielen Festplatten, da ist ein Stick oft schlicht einfacher...
Re: cryptsetup, Key-Empfehlung
Ich weiß jetzt nicht genau was du meinst. Aber wenn du die Option --key-file oder die dritte Spalte in der crypttab meinst, dann wird da kein Unterschied gemacht. Ob du da dein Passwort oder sonst irgend welchen Mist reinschreibst ist dem völlig Wurst. Je geordneter du das machst desto länger muss das PW halt sein.sergej2018 hat geschrieben:19.09.2017 21:38:59Gehe mal davon aus, Keys sind sicherer als Passwörter?
Es gilt halt:
- Ein gleichverteiltes Byte entspricht 8Bit Entropie
- Ein gelichverteilten Buchstabe: ~6Bit (pwgen -s)
- Ein Byte in einem aussprechbaren Phantasiewort: ~4Bit (pwgen)
- Eine Gleichverteilte Ziffer ~3.3Bit
- Ein deutsches übliches flexiertes Wort ~18Bit
- Ein deutsches übliches Wort ~16Bit
- Ein Fachbegriff der Chemie ~20Bit
- Ein byte in einem deutschen Satz ~1Bit
Code: Alles auswählen
3181a21bc76f2d996a80da7fb93caaeff6d3cb8154a292d828eb5a00c41fe2a6
QIAgz3m8d5syRqWbhIRXb4XsUuDlpa8qCdQrQ41YXW
iefaiYaoraisohjohgeiJievohpieleimujooYeboPezeneethoziemahChaeTho
47935369287071450971659417975110141967218466301463678088076970690106299429287
AnachronismenmassiverembelangstGedichtsammlungSingvögelüberstreckeabzugebenderQuacksalberNeuberechnungenEunuchAnhängerfabrikenunratsamesWalzenarmUmverteilungsmechanismen
führersaurierChristallehestempfehlungsgemäldePfleglingHewlettWeidfraurächerdifferentiellHypochondernächstgrößereschließlichausrüsterwalross
Wie erstelle ich am besten Keys? Bei Anleitungen im Netz wird meist /dev/random benutzt. Ich mache es bisher so, dass ich ssh-keys erstelle (rsa) und davon mehrere hintereinander in eine Datei schreibe, welche ich dann als Key verwende.
Eigentlich ist das mit Kanonen auf Spatzen geschossen. Aber trotz allem die Einfachste Variante. /dev/urandom kannst du aber auf jeden Fall nehmen. Das ist nur beim Startup problematisch.Wie erstelle ich am besten Keys? Bei Anleitungen im Netz wird meist /dev/random benutzt.
Ich benutze immer den:
Code: Alles auswählen
head -c 32 /dev/urandom | base64 # für 265Bit schlüssel
head -c 16 /dev/urandom | base64 # für 128Bit schlüssel
Prinzipiell hat da einer weit mehr Entropie als nötig. Die Umrechnung in Primzahlen ist aber unnötig zeitintensiv. Wenn du dem Zufallsgenerator von OpenSSL mehr traust oder dessen größere Geschwindigkeit schätzt (den nutzt OpenSSH), als /dev/urandom, kannst du folgendes machen:Ich mache es bisher so, dass ich ssh-keys erstelle (rsa) und davon mehrere hintereinander in eine Datei schreibe, welche ich dann als Key verwende.
Code: Alles auswählen
openssl rand -base64 32 # für 265Bit Schlüssel
openssl rand -base64 16 # für 128Bit Schlüssel
Die Iterationen schützen vor Brute-Force-Angriffen auf das Passwort. Es verteuert Angriffe gegen schlechte Passwörter.Zusätzlich drehe ich den iterations-Wert eines Volumes hoch.
Den Verschlüsselungs-Key dagegen nicht. Wählst du dein Passwort mit so viel Informationsgehalt, wie den Verschlüsselungs-Key sind viele Iterationen Sinnlos. Wer die volle Länge des Verschlüsselungs-Keys angreifen kann, wird diesen angreifen und nicht mehr das Passwort, da er mit diesem zu 100% ans Ziel kommt währen ein Passwort ja rein theoretisch noch komplexer sein könnte.
Mehr Iterationen verlangsamen dann nur das Verschlüsseln unnötig.
Aus gleichem Grund sind auch komplexere Passwörter als die Oben genannten nicht mehr sinnvoll.
Wenn du z.B. Serpent-256 nutzt, braucht dein Passwort nicht mehr als 256Bit=32byte Informationsgehalt haben.
rot: Moderator wanne spricht, default: User wanne spricht.
Re: cryptsetup, Key-Empfehlung
Guten Morgen,
danke für so viel Input!
Zunächst: Der gefilmte Admin war tatsächlich ein Extremfall, der auch personelle Konsequenzen nach sich zog. Zum Glück wurde der Kollege aber "nur" beim Eingeben eines Admin-PWs an einem Client gefilmt.
Usability: Ne, es geschieht leider nichts automatisch. Nach dem Anschließen des Keys führe ich ein Skript aus, das den Rest dann "automatisch" erledigt. Natürlich muss ich dafür dann immernoch das PW des Sticks eingeben etc.
Bei den Servern sind die Datenträger natürlich 24/7 eingebunden, anders geht's ja kaum. Schließlich kann ich keine Festplatten ins Netz freigeben, die nicht eingehängt sind. Allerdings sind die Server physikalisch halbwegs sicher und es geht nur darum den Extremfall abzudecken, dass jemand den Serverraum bei einem Einbruch leer räumt.
Das wär zwar schwierig zu bewerkstelligen, aber auch nicht unmachbar.
Der Stick ist nur für diesen Zweck gedacht und wird nicht aus der Hand gegeben. Insbesondere ist er komplett verschlüsselt, man könnte mit ihm also auch keine Daten transferieren, dazu müsste er erst formatiert werden.
danke für so viel Input!
Zunächst: Der gefilmte Admin war tatsächlich ein Extremfall, der auch personelle Konsequenzen nach sich zog. Zum Glück wurde der Kollege aber "nur" beim Eingeben eines Admin-PWs an einem Client gefilmt.
Usability: Ne, es geschieht leider nichts automatisch. Nach dem Anschließen des Keys führe ich ein Skript aus, das den Rest dann "automatisch" erledigt. Natürlich muss ich dafür dann immernoch das PW des Sticks eingeben etc.
Bei den Servern sind die Datenträger natürlich 24/7 eingebunden, anders geht's ja kaum. Schließlich kann ich keine Festplatten ins Netz freigeben, die nicht eingehängt sind. Allerdings sind die Server physikalisch halbwegs sicher und es geht nur darum den Extremfall abzudecken, dass jemand den Serverraum bei einem Einbruch leer räumt.
Das wär zwar schwierig zu bewerkstelligen, aber auch nicht unmachbar.
Der Stick ist nur für diesen Zweck gedacht und wird nicht aus der Hand gegeben. Insbesondere ist er komplett verschlüsselt, man könnte mit ihm also auch keine Daten transferieren, dazu müsste er erst formatiert werden.