• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Truecrypt Keyfile per Script auswählen?

Morsch9

Newbie
Hi,

Ich suche eine Möglichkeit meherere Laufwerke auf einmal einzubinden. Rausgefunden habe ich schon folgendes:

Code:
#!/bin/bash

	echo "1. Please enter password"

	oldConfig=`stty -g`
	stty -echo
	read password
	stty $oldConfig

	echo "2. Mounting volumes ..."

		truecrypt -t /dev/sda5 /media/Personal --password="$password"  -k "" --protect-hidden=no
                ....Weitere Laufwerke

In diesem Fall wird am anfang ja das Passwort abgefragt. Leider ist für (Keyfile) -k nichts definiert.
ist es möglich am Anfang nach der Passwortabfrage ein Keyfile zu wählen und dann als Parameter anzuhängen?

und nochein keine neben Frage ich habe bei den Parametern von Truecrypt folgendes gefunden
/wipecache or /w


Wipes any passwords cached in the driver memory.

sehe ich das richtig das ich damit das definierte Passwort und eventuell Keyfile aus dem Ram lösche?
 
A

Anonymous

Gast
Das ganze geschmarre hier kannst du weglassen
Morsch9 schrieb:
echo "1. Please enter password"

oldConfig=`stty -g`
stty -echo
read password
stty $oldConfig
Manpage von bashbuiltins lesen, Abschnitt "read" und das gelesene anwenden
Code:
read -p "Bitte Passwort eingeben :  " -s password ;echo

Morsch9 schrieb:
In diesem Fall wird am anfang ja das Passwort abgefragt. Leider ist für (Keyfile) -k nichts definiert.
ist es möglich am Anfang nach der Passwortabfrage ein Keyfile zu wählen und dann als Parameter anzuhängen?

machen kann man Vieles bis Alles. zB das Ganze auch noch ein wenig gegen Fehleingaben absichern und auch ein paar Fehlversuche zulassen
Code:
#!/bin/bash

CODE="34d"             # in diesem Fall wird das Password "novell" vom Script vorprogrammiert erwartet
                                # diesen Wert für dieses Script per Hand mit folgendem Befehl ermitteln.
                                # echo "DEIN_PASSWORT"  |  sha1sum | cut -c 4-6 | md5sum | cut -c 2-4
PASSWORD=0
VERSUCH=0
KEYFILE=0

while [ $VERSUCH -lt 4 -a $PASSWORD = 0 ] 
do
   read -p "Bitte Passwort eingeben: " -s PASSWD ; echo 
   PASSCODE=$(echo $PASSWD | sha1sum | cut -c 4-6 | md5sum | cut -c 2-4)
   if [ $CODE = $PASSCODE ]
        then PASSWORD=$PASSWD
        else
            echo -e "Passwort war leider falsch\n"
            VERSUCH=$(($VERSUCH + 1))
            if [ $VERSUCH = 4 ]
                 then
                     echo "Das waren jetzt 4 Fehlversuche, Script wird beendet."
                     exit 1
            fi
   fi
   unset PASSWD
done

VERSUCH=0

while [ $VERSUCH -lt 4 -a $KEYFILE = 0 ]
do
    read -p "Bitte die Keyfile angeben: " KEYF
    if [ -f ${KEYF:-/} ]
       then KEYFILE=$KEYF
       else
           echo -e "Das ist keine Datei\n"
           VERSUCH=$(($VERSUCH + 1))
           if [ $VERSUCH = 4 ]
              then
                 echo "Das waren jetzt 4 Fehlversuche einen Dateinamen einzugeben.  Script wird beendet."
                 exit 1
           fi
    fi
    unset KEYF
done

# hier kämen jetzt deine truecrypt Befehle.
# Nach den Mountbefehlen vorsichtshalber die beiden Variablen PASSWORD und KEYFILE löschen.

# hier zur Prüfung was eingegeben und vom Script akzeptiert worden ist.
echo "das ist das eingegebene Passwort :$PASSWORD"
echo "das ist die eingegebene Datei welche Keydatei sein soll :$KEYFILE"
Morsch9 schrieb:
und nochein keine neben Frage ich habe bei den Parametern von Truecrypt folgendes gefunden
/wipecache or /w
Wipes any passwords cached in the driver memory.
sehe ich das richtig das ich damit das definierte Passwort und eventuell Keyfile aus dem Ram lösche?
zumindestens das Passwort bzw. den Hashwert davon ist laut dieser Aussage anzunehmen, ist aber schwer nachzuprüfen, müsste man im Quellcode schauen was dort gemacht wird.

robi
 

josef-wien

Ultimate Guru
TrueCrypt User’s Guide schrieb:
WARNING: If password caching is enabled, the password cache also contains the processed contents of keyfiles used to successfully mount a volume. Then it is possible to remount the volume even if the keyfile is not available/accessible. To prevent this, click ‘Wipe Cache’ or disable password caching (for more information, please see the section Settings -> Preferences, subsection Cache passwords in driver memory).

Wipe cached passwords on exit
If enabled, passwords (which may also contain processed keyfile contents) cached in driver memory will be cleared when TrueCrypt exits.

Cache passwords in driver memory
When checked, passwords and/or processed keyfile contents for up to last four successfully mounted TrueCrypt volumes are cached. This allows mounting volumes without having to type their passwords (and selecting keyfiles) repeatedly. TrueCrypt never saves any password to a disk (however, see the chapter Security Requirements and Precautions). Password caching can be enabled/disabled in the Preferences (Settings -> Preferences) and in the password prompt window. If the system partition/drive is encrypted, caching of the pre-boot authentication password can be enabled or disabled in the system encryption settings (Settings > ‘System Encryption’).
Ich ziehe es vor, das Paßwort jedes Mal einzugeben (hinsichtlich keyfiles habe ich keinen Bedarf) und nicht auf ein noch gespeichertes Paßwort zurückzugreifen. Ich unterhalte mich mit TrueCrypt aber ausschließlich über die grafische Benutzeroberfläche.
 
OP
M

Morsch9

Newbie
der reine Wahnsinn was man alles mit ein paar Zeilen bewerkstelligen kann ... Das Wochenende rückt näher und ich habe nach der Installation ne menge zu testen :D !

Eventuell ... naja eher warscheinlich werde ich noch diverse Fragen stellen müssen wenn alles läuft ...

aber erstmal vielen Dank von meiner Seite
 
OP
M

Morsch9

Newbie
Hey super es funktioniert danke dir!

Ich habe nur noch eine Frage ich muss bei Keyfile immer den gesammten Pfad angeben und TAB autocomplete funktioniert auch nicht. Gibt es da eine Möglichkeit aus dem Terminal raus den Dateiexplorer zu öffnen um den Pfad einzutragen?
 
A

Anonymous

Gast
Die Dateiexplorer und alles was diese benötigen würden sind bei dir bestimmt auf der verschlüsselten Platte, um dort ranzukommen muss der Schlüssel schon bekannt sein. ;)

Sicherlich könnte man da auch noch etwas neu erfinden, aber wo ist da Sinn, auf der einen Seite 265Bit oder mehr Verschlüsselung und dann als Zugangshürde dafür eine Auswahl von 1 aus 10 oder so, da kann man gleich auf Verschlüsselung ganz verzichten.
Die Passworteingabe so wie ich sie geschrieben habe weicht das System schon etwas auf ( selbst wenn man das Script lesen könnte ist für das Knacken immer noch enorme Rechenleistung und sehr viele Eingabetests notwendig solange du kein Wort aus irgend einem Buch oder irgend etwas auffälliges als Passwd nehmen würdest und eine einigermaßen unübersichtliche Keyfileauswahl zur Verfügung stellst), normale Schüsseldateien im Dateisystem zu finden die dafür in Frage kommen würden, ist nun auch nicht wirklich ein Problem für einen gelernten Consoliker, willst du jetzt noch jeden Scriptkiddie Zugang verschaffen der eine halbe Stunde Zeit hat, in dem du die Schlüsseldateiauswahl auf entweder/oder/oder reduzierst :???:

Key auf eine USB-Stick den du Hals trägst, nur wenn der Stick beim Booten im System an einem bestimmten Steckplatz steckt kann entschlüsselt werden. (nur dort gekennzeichnet durch SerienNr und Dateiname wird im Script fest einprogrammiert nach der Keydatei gesucht) Fertig. Sowas zu programmieren keine 10 Minuten und im Netz bestimmt auch in einer halben Stunde zu finden.

robi
 
OP
M

Morsch9

Newbie
nein ich meine nicht das in dem Skript der Pfad zu der Schlüsseldatei steht ... das ist natürlich sinnlos. Ich hatte mir vorgestellt das der Dateimanager sich öffnet ich eine Datei auswähle, der Pfad zu dieser Datei dann temporär in das Skript übernommen wird und nach dem mounten wieder verschwindet.
 
Oben