Os comandos a seguir criarão um volume TrueCrypt com um arquivo de chave aleatória no dispositivo $DEVPATH
, * substituindo completamente qualquer informação nesse disco / dispositivo !!! * Em seguida, anexará o contêiner TrueCrypt, criará um volume no formato HFS + neste dispositivo e destruirá a chave usada para criá-lo:
#!/bin/bash
# Source for random data. Use /dev/random for more secure but slower random data""
RAND=/dev/urandom
# Create a random keyfile:
KEYFILE=/tmp/scratch.key
dd if=$RAND of=$KEYFILE bs=1 count=4096
# Create a TrueCrypt volume on $DEVPATH using $KEYFIlE as the keyfile:
/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt -t -c \
-k $KEYFILE --volume-type=normal --quick --encryption=AES \
--hash=RIPEMD-160 --filesystem="none" --password="" \
--random-source=$RAND $DEVPATH
# Attach the TrueCrypt volume as a device:
/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt -t --mount \
-k $KEYFILE --password="" --protect-hidden=no \
--filesystem=none $DEVPATH
# Find the TrueCrypt device:
TCDEV=$(/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt -t -l | grep $DEVPATH | cut -d ' ' -f 3)
# Create a filesystem on the TrueCrypt device:
diskutil eraseVolume JHFS+ Scratch $TCDEV
# And destroy the key so this is a one-time use volume:
srm $KEYFILE
Observe que:
- O volume TrueCrypt criado usa um arquivo de chave aleatória sem senha. O arquivo de chave aleatória é criado por
dd if=$RAND of=$KEYFILE bs=1 count=4096
. Remova essa linha e aponte KEYFILE=
para um arquivo estático se desejar um contêiner reutilizável. Certifique-se de remover a linha também: srm $KEYFILE
se o fizer, porque essa linha de arquivo APAGA SEGURAMENTE O ARQUIVO CHAVE !!! *
- Os dados aleatórios para esse script vêm da fonte aleatória sem bloqueio
/dev/urandom
. Mude para RAND=/dev/random
para mais segurança, mas diminui a velocidade.
- O dispositivo
$DEVPATH
será sobrescrito por este comando !!!! Tenha certeza absoluta de que você sabe o que está fazendo. Para ser seguro, defina DEVPATH
como um arquivo, como /tmp/some_file
e anexe --size=nnnn
a à linha TrueCrypt que cria o volume, onde nnnn
é o tamanho de byte do arquivo a ser criado. Retire a --quick
opção Isso será muito mais lento.
- Isso funciona no Mac OS X. Para Linux, use em
mkfs.ext3
vez de diskutil eraseVolume
. Ou apenas use mount -t tmpfs
e swap criptografado ;-)