Я хочу создать сценарий оболочки, который будет использовать TrueCrypt для создания временного одноразового контейнера с файлом случайного ключа, который будет использоваться для чистого пространства. По сути, я хочу получить эквивалентное монтирование tmpfs в Linux (с зашифрованной подкачкой), но для Mac OS X.

Как создать том TrueCrypt с файлом случайного ключа в Mac OS X?

1 ответ1

0

Следующие команды создадут том TrueCrypt с файлом случайного ключа на устройстве $DEVPATH , * полностью перезаписывая любую информацию на этом диске / устройстве !!!* Затем он присоединит контейнер TrueCrypt, создаст том устройства в формате HFS+ на этом устройстве и уничтожит ключ, использованный для его создания:

#!/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

Обратите внимание, что:

  • Созданный том TrueCrypt использует файл случайного ключа без пароля. Файл случайного ключа создается командой dd if=$RAND of=$KEYFILE bs=1 count=4096 . Удалите эту строку и укажите KEYFILE= на статический файл, если вы хотите использовать контейнер многократного использования. Обязательно удалите строку : srm $KEYFILE если вы это делаете, потому что эта строка файла БЕЗОПАСНО УДАЛЯЕТ КЛЮЧЕВОЙ ФАЙЛ !!!*
  • Случайные данные для этого скрипта поступают из неблокирующего случайного источника /dev/urandom . Измените на RAND=/dev/random для большей безопасности, но замедления.
  • Устройство $DEVPATH будет перезаписано этой командой !!!! Будьте абсолютно уверены, что знаете, что делаете. Для безопасности установите DEVPATH в файл, например /tmp/some_file и добавьте --size=nnnn к строке TrueCrypt, которая создает том, где nnnn - размер байта создаваемого файла. Удалите опцию --quick . Это будет намного медленнее.
  • Это работает в Mac OS X. Для Linux используйте mkfs.ext3 а не diskutil eraseVolume . Или просто используйте mount -t tmpfs и зашифрованный своп ;-)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .