Однажды появилась идея спрятать данные подальше от глаз людских, поковырял я различные системы шифрования и нашел в них огромный минус, они афишируют свое наличие (нужно установить) и делают факт наличие криптоконтейнера явным (пустой раздел или файл с криптоконтейнером)
Т.е. в обоих случаях возможен «терморектальный криптоанализ TM» по факту наличия шифрованой инфы на компьютере.
Что привело меня к написанию небольшого скрипта.
Его можно запустить даже с LiveCD, он не создает шифрованых файлов или разделов, но и конечно же имеет следующие проблемы:
Ниже приведу код, используйте его на свой страх и риск, в случае чего за порчу ваших данных я ответственности не несу.
Кому интересно смотрим под кат.
Суть всех телодвижений состоит в том чтобы создать криптоконтейнер на используемом диске в неиспользуемой области используя только встроенные команды стандартного Ububntu LiveCD.
Тестировал его только в песочнице (на отдельном разделе размером 200Мб создавал криптоконтейнер 50Мб со смещением 50Мб) мд5 суммы файлов на физическом разделе (20Мб) и внутри криптоконтейнера (10 Мб) сошлись с оригиналами.
Все делаем под рутом (sudo su).
устройство, место(Смещение), размер заменяем на свои. Размер и смещение от начала диска везде указанно вМегабайтах байтах.
modprobe cryptoloop
modprobe aes
mkdir ~/mnt1
mount -t tmpfs ~/mnt1
dd if=/dev/urandom of=~/mnt1/file bs=1M count=размер
losetup -e aes /dev/loop2 ~/mnt1/file
// вводим пароль
mkfs -t ext2 /dev/loop2
dd if=/dev/loop2 of=устройство bs=1M seek=место count=размер
losetup -e aes /dev/loop1 <устройство> -o <место> --sizelimit <размер>
// вводим пароль
mount /dev/loop1 <точка монтирования>
mkfs -t ext2 <точка монтирования>
modprobe cryptoloop
modprobe aes
mkdir ~/mnt1
mkdir ~/mnt2
mount -t tmpfs ~/mnt1
dd of=~/mnt1/file if=устройство bs=1M skip=место count=размер
losetup -e aes /dev/loop2 ~/mnt1/file
// вводим пароль
mount /dev/loop2 ~/mnt2
losetup -e aes /dev/loop1 <устройство> -o <место> --sizelimit <размер>
// вводим пароль
mount /dev/loop1 <точка монтирования>
umount /dev/loop2
dd if=/dev/loop2 of=устройство bs=1M seek=место count=размер
umount /dev/loop1
Если кто знает более простое решение прошу в коментарии. И еще раз предупреждаю, этот метод опасен для ваших данных, используйте его только в крайних случаях. Так же в скрипте могут быть ошибки и неточности, так что не советую использовать его на очень важных данных.
P.S.: Как продолжение данного метода в небольшой контейнер созданный данным способом можно положить полноценную программу для шифрования, например тот же Truecrypt. Или же придумать что-то свое использующее похожий принцип, но уже более удобное и более безопасное.
UPD: Раннее был молод и глуп, все делается намного легче, нежели было представленно изначально, собственно поправил статью.
Т.е. в обоих случаях возможен «терморектальный криптоанализ TM» по факту наличия шифрованой инфы на компьютере.
Что привело меня к написанию небольшого скрипта.
Его можно запустить даже с LiveCD, он не создает шифрованых файлов или разделов, но и конечно же имеет следующие проблемы:
- контролировать целостность данных прийдется вручную;
Ниже приведу код, используйте его на свой страх и риск, в случае чего за порчу ваших данных я ответственности не несу.
Кому интересно смотрим под кат.
Суть всех телодвижений состоит в том чтобы создать криптоконтейнер на используемом диске в неиспользуемой области используя только встроенные команды стандартного Ububntu LiveCD.
Тестировал его только в песочнице (на отдельном разделе размером 200Мб создавал криптоконтейнер 50Мб со смещением 50Мб) мд5 суммы файлов на физическом разделе (20Мб) и внутри криптоконтейнера (10 Мб) сошлись с оригиналами.
Все делаем под рутом (sudo su).
устройство, место(Смещение), размер заменяем на свои. Размер и смещение от начала диска везде указанно в
Создаем
modprobe cryptoloop
modprobe aes
mount -t tmpfs ~/mnt1
dd if=/dev/urandom of=~/mnt1/file bs=1M count=размер
losetup -e aes /dev/loop2 ~/mnt1/file
// вводим пароль
mkfs -t ext2 /dev/loop2
dd if=/dev/loop2 of=устройство bs=1M seek=место count=размер
losetup -e aes /dev/loop1 <устройство> -o <место> --sizelimit <размер>
// вводим пароль
mount /dev/loop1 <точка монтирования>
mkfs -t ext2 <точка монтирования>
Монтируем
modprobe cryptoloop
modprobe aes
mkdir ~/mnt2
mount -t tmpfs ~/mnt1
dd of=~/mnt1/file if=устройство bs=1M skip=место count=размер
losetup -e aes /dev/loop2 ~/mnt1/file
// вводим пароль
mount /dev/loop2 ~/mnt2
losetup -e aes /dev/loop1 <устройство> -o <место> --sizelimit <размер>
// вводим пароль
mount /dev/loop1 <точка монтирования>
Размонтируем
dd if=/dev/loop2 of=устройство bs=1M seek=место count=размер
umount /dev/loop1
Примечание
Если кто знает более простое решение прошу в коментарии. И еще раз предупреждаю, этот метод опасен для ваших данных, используйте его только в крайних случаях. Так же в скрипте могут быть ошибки и неточности, так что не советую использовать его на очень важных данных.
P.S.: Как продолжение данного метода в небольшой контейнер созданный данным способом можно положить полноценную программу для шифрования, например тот же Truecrypt. Или же придумать что-то свое использующее похожий принцип, но уже более удобное и более безопасное.
UPD: Раннее был молод и глуп, все делается намного легче, нежели было представленно изначально, собственно поправил статью.