Шифрованные файловые системы
Добавлено: 05 апр 2010, 11:37
как это все работает и как реализуется...
з.ы. до этого с шифрами не работал... потому буду рад любой полезной инфе
Форум сообщества системных администраторов и просто людей, которым не безразличен их компьютер.
https://sysadmins.ws/
На линухе никогда не юзал, но инфу поищу.GBDE - GEOM Based Disk Encryption (FreeBSD >= 5.0)
GBDE шифрует содержимое секторов при помощи 128-битного AES в режиме CBC. Каждый сектор диска шифруется различным ключом AES. Код GBDE не проанализирован в достаточной степени квалифицированными криптографами, кроме того, разработчики не гарантируют что формат хранения данных GBDE не изменится в результате исправлений ошибок или иных изменений кода. Потенциальные пользователи GBDE должны быть готовы к возможной миграции их данных с помощью утилит dump(8)/restore(8) в будущем.
Для работы с GBDE ваше ядро должно быть скомпилировано с его поддержкой. Добавте следующи строки в конфигурационных файл ядра:
options GEOM_BDE
После необходимо перекомпилировать ядро.
Либо подгружать модуль gbde во время загрузки системы. Добавьте следующую строку в /boot/loader.conf:
geom_bde_load="YES"
после этого устройства gbde(4) должны поддерживаться системой.
Первичная инициализация раздела GBDE (флэшки) с помощью gbde(8):
# gbde init /dev/da0
при выполнении команды у вас попросят два раза ввести пароль.
Подключение зашифрованного устройства к системе(нужно ввести пароль):
# gbde attach /dev/da0
создадим новую файловую систему командой newfs(8):
# newfs /dev/da0.bde
Создадим каталог для монтирования:
# mkdir /mnt/cryptoflash
примонтируем эту файловую систему:
# mount /dev/da0.bde /mnt/cryptoflash
размонтируем файловую систему по окончании работы с ней:
# umount /dev/da0.bde
Отключение зашифрованного устройства:
# geli detach /dev/da0
всё, теперь флэшка может быть извлечена.
GELI (FreeBSD >= 6.0)
GELI - это новый GEOM класс для шифрования диска. Он имеет ряд новых функций, отличающих его от уже существующего класса GBDE. Сам автор не утверждает, что GELI лучше или хуже GBDE, он просто другой. Пользователям предлагается самим выбирать, какой модуль им больше подходит по функциональности.
Некоторые возможности GELI:
использование специализированного оборудования для шифрования (если доступно);
поддержка нескольких алгоритмов шифрования (AES, Blowfish и 3DES);
возможность шифрования корневого раздела файловой системы;
возможность использования двух независимых ключей;
возможность использования для временных разделов и разделов подкачки
Для работы с GELI ваше ядро должно быть скомпилировано с его поддержкой. Добавте следующи строки в конфигурационных файл ядра:
options GEOM_ELI
device crypto
После необходимо перекомпилировать ядро.
Либо подгружать модуль geli во время загрузки системы. Добавьте следующую строку в /boot/loader.conf:
geom_eli_load="YES"
после этого geli(8) должен поддерживаться системой.
Первичная инициализация раздела GELI (флэшки):
# geli init /dev/da0
при выполнении команды у вас попросят два раза ввести пароль.
Подключение зашифрованного устройства к системе(нужно ввести пароль):
# geli attach /dev/da0
создадим новую файловую систему командой newfs(8):
# newfs /dev/da0.eli
Создадим каталог для монтирования:
# mkdir /mnt/cryptoflash
примонтируем эту файловую систему:
# mount /dev/da0.eli /mnt/cryptoflash
размонтируем файловую систему по окончании работы с ней:
# umount /dev/da0.eli
Отключение зашифрованного устройства:
# geli detach /dev/da0
всё, теперь флэшка может быть извлечена.
1.1.1 Создание шифрованной файловой системы на разделе жесткого диска
Данный пример описывает создание шифрованной файловой системы на устройстве /dev/hdb1 – первый раздел slave-диска на первом IDE-контроллере.
1. Перед созданием шифрованной файловой системы рекомендуется отформатировать раздел и заполнить его случайными данными, что намного затруднит процесс обнаружения структурных элементов файловой системе на разделе. Для заполнения раздела случайными данными необходимо выполнить:
dd if=/dev/urandom of=/dev/hdb1 bs=1M
С помощью этой команды на раздел /dev/hdb1 копируются блоки данных размером 1 Мб с устройства /dev/urandom, генерирующего последовательность случайных байт информации.
2. Выбор алгоритма шифрования данных. В данном примере используется AES.
3. Настройка петлевого устройства. С помощью утилиты losetup петлевое устройство /dev/loop0 связывается с разделом жесткого диска /dev/hdb1 с использованием шифрования AES:
losetup –e aes /dev/loop0 /dev/hdb1
Далее вводится пароль, на основе которого будет сформирован ключ для алгоритма шифрования.
4. Создание файловой системы. Допускается использование различных типов файловых систем, в данном примере – ext2. С помощью утилиты mkfs файловая система ext2 создается на петлевом устройстве /dev/loop0:
mkfs.ext2 /dev/loop0
5. Монтирование шифрованной файловой системы. Для начала необходимо создать точку монтирования, например /mnt/crypto. Далее с помощью утилиты mount производится монтирование файловой системы с петлевого устройства /dev/loop0 в каталог /mnt/crypto:
mount –t ext2 /dev/loop0 /mnt/crypto
где ext2 – тип файловой системы (данный параметр можно не указывать).
6. Шифрованная файловая система создана и готова для использования.
7. Размонтирование файловой системы:
umount /mnt/crypto
8. Отключение петлевого устройства
losetup –d /dev/loop0
вот таким образом:Infernal Flame писал(а):Код: Выделить всё
mkfs.ext2 /dev/loop0
Код: Выделить всё
gateway:~ # mkfs.ext3 /dev/loop0
mke2fs 1.41.1 (01-Sep-2008)
mkfs.ext3: Device size reported to be zero. Invalid partition specified, or
partition table wasn't reread after running fdisk, due to
a modified partition being busy and in use. You may need to reboot
to re-read your partition table.