The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Использование TRESOR для хранения к..."
Отправлено auto_tips, 04-Сен-11 15:54 
При использовании зашифрованного раздела с конфиденциальной информацией, злоумышленник, имеющий физический доступ к компьютеру, может воспользоваться методом холодной перезагрузки (http://www.opennet.ru/opennews/art.shtml?num=17035) для получения ключей шифрования. Метод основан на способности оперативной памяти (DRAM) какое-то время сохранять информацию после отключения питания и отсутствия импульсов регенерации ее содержимого (при температуре -50 градусов данные сохраняются более 10 минут). После холодной перезагрузки или переключении чипа памяти на другое устройство память не обнуляется и данные старой рабочей сессии можно проанализировать. Особенно актуальная проблема для ноутбуков, которые часто не выключаются и лишь переводятся в ждущий режим, при котором ОЗУ не обесточивается. В простейшем случае, восстановить ключ из памяти можно используя утилиту msramdmp (http://www.mcgrewsecurity.com/tools/msramdmp/), перезагрузившись в LiveCD (например, можно использовать [[http://www.mcgrewsecurity.com/projects/msramdmp/msramdmp_cd.iso msramdmp_cd.iso]]).

В рамках проекта TRESOR (http://www1.informatik.uni-erlangen.de/tresor) подготовлены патчи для ядра Linux с реализацией модуля шифрования AES, который сохраняет ключи в отладочных регистрах процессора и обрабатывает все операции шифрования непосредственно в CPU, без копирования ключей в ОЗУ. TRESOR  может использоваться на любых процессорах с поддержкой SSE2. При использовании 64-разрядных CPU с поддержкой набора инструкций AES-NI,  например, Intel Core i5 или Core-i7, поддерживается работа с ключами AES 128, 192 и 256 без потери производительности. При запуске на 32-разрядных CPU с поддержкой инструкций SSE2, скорость выполнения шифрования примерно в 6 раз ниже, чем базовая реализация AES для ядра Linux. При этом можно использовать только ключи длиной 128 бит.

++ Собираем ядро с патчем TRESOR.

Загружаем ядро 2.6.36 с http://kernel.org и распаковываем его в директорию /usr/src/linux-2.6.36.

Применяем патч (http://www1.informatik.uni-erlangen.de/tresor):

   cd /usr/src/
   patch --directory /usr/src/linux-2.6.36 -p1 < tresor-patch-2.6.36

Запускаем menuconfig и настраиваем параметры ядра, не забыв включить TRESOR (Cryptographic API -> AES cipher algorithms (TRESOR)).

Собираем ядро. Ниже пример сборки и установки пакета для Debian GNU/Linux:

   cd /usr/src/linux-2.6.36
   make-kpkg kernel_image --initrd --revision tresor1
   cd /usr/src
   dpkg -i linux-image-2.6.36-tresor1.deb
   update-initramfs -c -k 2.6.36


++ Запускаем систему

Перезагружаемся, выбрав ядро с патчами TRESOR.

В ответ на приглашение TRESOR "Enter password" вводим пароль и подтверждаем валидность хэша:

   Enter password > ********
   Confirm key hash > 51 b7 fd ... 58 ac Correct (yes/no) > yes

Пароль может содержать от 8 до 53 символов. Возможности поменять пароль после загрузки нет, поэтому к вводу пароля нужно отнестись внимательно иначе потребуется лишний раз перезагружать систему. Выводимый хэш не является ключом шифрования, а просто выводится для того чтобы можно было дополнительно проверить правильность задания пароля.

После того как система загрузится можно попытаться перевести её в ждущий режим и проверить работу TRESOR:

   echo mem > /sys/power/state

После возвращения из спящего режима должно быть выведено приглашение для ввода пароля, такое же как после загрузки системы. Для проверки, что повторно введенный пароль верен в памяти сохраняется необратимый проверочный хэш, который позволяет удостовериться в правильности ввода, но не дает возможности восстановить содержимое пароля и ключа шифрования. Проверка пароля необходима, так как неправильно введенный пароль может привести к повреждению данных в уже примонтированном зашифрованном разделе. Так как пароль вводится в консоли при активном графическом режиме возможно потребуется ввести пароль вслепую.


++ Настройка шифрования

Устанавливаем утилиты для работы с dm-crypt:

   apt-get install cryptsetup

Если ядро собрано с поддержкой LKM, убедимся, что загружен модуль ядра dm_mod:

   modprobe dm_mod

В качестве демонстрации настроим два варианта шифрования: отдельного раздела на USB-накопителе и виртуального шифрованного раздела внутри файла.


++ Настройка зашифрованного дискового раздела

Зашифруем раздел /dev/sdb1:

   cryptsetup create tresor /dev/sdb1 --cipher tresor --key-size 128

   > Enter passphrase: указываем произвольный пароль

Размер ключа для 64-разрядных процессоров с поддержкой AES-NI может быть 128, 192 и 256. Для остальных CPU - только 128.

Форматируем созданный шифрованный раздел:

   mkfs.ext2 /dev/mapper/tresor

Монтируем раздел:

   mount /dev/mapper/tresor /media/tresor

все операции записи и чтения в /media/tresor производятся с использованием шифрования.

Отмонтируем раздел и выгружаем шифрованное устройство:

   umount /media/tresor
   cryptsetup remove tresor

++ Настройка зашифрованного контейнера (шифрованный раздел внутри файла)

Создаем пустой файл-контейнер container.img, размером 1 Гб:

   dd if=/dev/zero bs=1M count=1024 of=container.img

Прикрепляем контейнер к псевдоустройству через loop-интерфейс:

   losetup /dev/loop0 container.img

Повторяем действия, описанные выше для шифрованных дисковых разделов, но используя в качестве имени устройства /dev/loop0

При отмонтировании, для отсоединения контейнера от loop-устройства дополнительно выполняем:

   losetup -d /dev/loop0


URL: http://www1.informatik.uni-erlangen.de/tresor?q=content/readme
Обсуждается: http://www.opennet.ru/tips/info/2617.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру