Для защиты конфиденциальности данных на жестких дисках Windows Vista применяет шифрование диска Bitlocker Drive Encryption, основанное на алгоритме AES-CBC + Elephant diffuser.
Мухамед — аспирант в Мюнхенском техническом университете (Munich University of Technology). Клаус-руководитель Института обработки данных в Мюнхенском техническом университете (Institute for Data Processing at Munich University of Technology). С ними можно контактировать no электронной почте: mohamed@tum.de и kldi@tum.de соответственно.
Для защиты конфиденциальности данных, хранящихся на жестких дисках, часто применяются приложения обеспечения безопасности (называемые приложениями «шифрования диска»). Выпуски Windows Vista Enterprise и Ultimate, например, используют приложение Bitlocker Drive Encryption, которое шифрует все данные на системном томе. А сердцем программы Bitlocker является алгоритм шифрования AES-CBC + Elephant diffuser (download.microsoft.com/download/0/2/3/ 0238acaf-d3bf-4a6d-b3d6-0a0be4bbb36e/BitLockerCipher200608.pdf).
Рисунок 1 дает общее представление об алгоритме AES-CBC + Elephant diffuser («diffuser (диффузор)» — это функция перемешивания данных). Как вы можете видеть, имеется четыре отдельные операции в каждом шифровании. Открытый (нешифрованный) текст (Planetext) пропускается через операцию исключающего ИЛИ (XOR) с помощью ключа сектора (sector key), проходит через два различных диффузора, а затем шифруется с помощью Advanced Encryption Standard (AES) в режиме сцепления блоков шифртекста (cipher-block chaining — СВС). Диффузор А выполняется АС раз, а Диффузор В — ВС раз. В текущей реализации Bitlocker АС=5, а ВС=3.
Открытый текст и ключ параметризованы; в данной статье параметры, которые мы используем, следующие:
• Plaintext — 512 байт. Современный стандартный размер сектора.
• Tweakkey — 256 бит. Первые 128 бит служат в качестве ключа сектора диска, а последние 128 бит — в качестве вектора инициализации (Initial Vector — IV) для AES-CBC.
• Мы применяем 256-битную версию ключа AES для обеспечения максимальной безопасности.
Методология тестирования
В процессе изучения криптографической силы алгоритма AES-CBC + Elephant мы выполняли четыре теста по результатам шифрования:
• Test1 проверяет, связано ли изменение любого бита в ciphertext с изменением конкретного бита(ов) в plaintext. Это гарантирует, что манипулирование ciphertext не приведет к предсказанному изменению в plaintext (атака bit-flipping, «где «переворачивание бита» в ciphertext будет поставлено в соответствие определенному биту в plaintext»).
• Test2 проверяет, связано ли изменение любого бита в plaintext с изменением конкретного бита(ов) в ciphertext. Это гарантирует, что манипулирование plaintext не приведет к предсказанному изменению в ciphertext.
• Test3 измеряет «Эффект лавины» в инструкции по шифрованию (encryption direction) (эффект изменения одного бита plaintext на ciphertext). Хороший шифр будет иметь приблизительно половину битов ciphertext, измененных благодаря изменению одного бита в plaintext.
• Test4 измеряет «Эффект лавины» в инструкции по дешифрованию (decryption direction) (влияние изменения одного бита ciphertext на plaintext). Это (делается) для обработки аутентификации нехорошего человека; то есть изменение одного бита в ciphertext наводит на мысль о том, что примерно половина plaintext будет скремблирована.
Продолжение следует.
Где продолжение-то?