- إنضم
- 17 فبراير 2007
- المشاركات
- 678
- مستوى التفاعل
- 1,026
- النقاط
- 93
Делаем шифрованные контейнеры VeraCrypt неприступными
VeraCrypt — наиболее популярный форк знаменитого средства шифрования TrueCrypt. Почему ему часто отдают предпочтение? На стороне VeraCrypt — открытый исходный код, а также собственный и более защищенный по сравнению с TrueCrypt формат виртуальных и зашифрованных дисков. Исходники VeraCrypt проходили независимый аудит, и найденные уязвимости с тех пор закрыли, что сделало «Веру» еще надежнее.Как взламывает контейнеры VeraCrypt полиция
Эта статья не о том, как ломать криптоконтейнеры. Однако, если ты не знаешь, как станут действовать эксперты, пытающиеся получить доступ к зашифрованным данным, будет трудно понять смысл описанных действий.Действия эксперта в лаборатории зависят от того, что именно и каким именно образом изъято при обыске.
Стандартные методы
Самый типичный случай — изъятие внешних накопителей целиком; компьютеры выключаются и также изымаются целиком, но в лабораторию к эксперту попадает не целый компьютер в сборе, а только извлеченные из него диски.Подобный сценарий — тот самый случай, противостоять которому так долго готовились разработчики всех криптоконтейнеров без исключения. Лобовые атаки на криптоконтейнеры малоэффективны, а на некоторые их разновидности (в частности, загрузочные разделы, зашифрованные в режиме TPM или TPM + ключ) неэффективны абсолютно.
В типичном случае эксперт попытается сначала проанализировать файлы гибернации и подкачки. Если пользователь пренебрег настройками безопасности криптоконтейнера (кстати, при использовании BitLocker эти настройки далеко не очевидны), то ключи шифрования спокойно извлекаются из этих файлов, а зашифрованные тома расшифровываются без длительных атак. Разумеется, в ряде случаев эта атака не сработает. Она будет бесполезна, если выполнено хотя бы одно из описанных ниже условий.
1. Загрузочный диск зашифрован. В этом случае и файл подкачки, и файл гибернации будут также зашифрованы. Например, если для шифрования загрузочного раздела используется BitLocker (это имеет смысл, даже если остальные данные зашифрованы в контейнерах VeraCrypt), то Microsoft подробно описывает модель безопасности в FAQ и BitLocker Security FAQ (раздел What are the implications of using the sleep or hibernate power management options?). Кстати, из этого правила есть исключения — например, если файл подкачки вынесен на отдельное от загрузочного устройство (довольно распространенный случай для пользователей, которые таким образом «экономят» ресурс загрузочного SSD).
2. Компьютер был выключен штатным образом (через команду Shutdown) или был изъят в состоянии гибридного сна либо гибернации; при этом криптоконтейнер настроен таким образом, чтобы автоматически размонтировать зашифрованные тома и уничтожать ключи шифрования в оперативной памяти при переходе компьютера в сон, гибернацию или при его отключении.
Немного сложно для восприятия? Упрощу: если в момент изъятия зашифрованный том был смонтирован, а полиция просто выдернула вилку из розетки, то ключ шифрования, скорее всего, останется в файле гибернации (удастся ли его оттуда вытащить — зависит от пункта 1). А вот если компьютер выключили командой Shutdown, то наличие или отсутствие ключа будет зависеть от настроек криптоконтейнера. О том, как правильно настроить VeraCrypt, мы поговорим дальше.
3. Наконец, очевидное: анализ файлов подкачки и гибернации совершенно бесполезен, если в момент изъятия компьютера зашифрованный том не был подмонтирован.
Если извлечь ключи шифрования не удается, эксперт поищет их в облаке или корпоративной сети (для томов, зашифрованных штатными средствами BitLocker или FileVault 2). Только после этого в ход пойдет лобовая атака — перебор паролей.
С перебором паролей тоже непросто. Во-первых, давно прошли времена, когда под «лобовой атакой» понимался простой брутфорс. Скорость атаки будет такой, что полный перебор всего пространства паролей становится бесполезен, если длина пароля к криптоконтейнеру превышает 7–8 символов. Соответственно, для атак используются словари, в первую очередь — словари, составленные из паролей самого пользователя (извлечь их можно как из компьютера пользователя, так и из его мобильных устройств или напрямую из облака Google Account). Давно разработаны методы анализа паролей и составления правил-шаблонов, на основе которых будут генерироваться «похожие» пароли.
Для атаки в полиции будут использовать один из немногих пакетов программ, позволяющих запустить атаку на множестве (в теории — до нескольких тысяч, в реальности — порядка сотен) компьютеров, каждый из которых будет оснащен несколькими графическими ускорителями. Звучит неправдоподобно? Тем не менее во время тренингов для полиции в разных частях земного шара я видел помещения с компьютерами, использующимися для распределенных атак. Могу сказать о них следующее. Создателей фантастических фильмов в эти помещения, очевидно, не пускают, поэтому на экранах кинотеатров нам приходится наблюдать жалкие плоды убогой фантазии. Просто чтобы обозначить масштаб, поделюсь поразившим меня фактом: на рабочих столах полицейских экспертов одного британского захолустья стоят компьютеры с GeForce 2080 и 40 процессорными ядрами.
Для начала область перебора будет ограничена набором символов, которые встречаются в паролях пользователя.
Дальше опробуют атаку с мутациями (берется слово из словаря, и проверяются его варианты, составленные по довольно простым правилам, которыми пользуется подавляющее большинство обычных пользователей). Кстати, на мутациях чаще всего и заканчиваются попытки атак в тех случаях, когда у полиции нет зацепок — не удалось получить ни одного пароля пользователя.
Если это не сработает, в ход пойдут маски (попытки вручную сконструировать пароли, «похожие» на те, которые были найдены у пользователя).
В особо сложных случаях дело дойдет до гибридных атак (использование комбинаций из одного или двух словарей в комбинации со скриптованными правилами, масками и/или префиксами).
Нестандартные методы
Нестандартно действовать полиция начинает в редких случаях, когда у подозреваемого заранее предполагается наличие зашифрованных «цифровых улик». В этом случае вместе с оперативниками выезжают подготовленные эксперты, которые проконтролируют изъятие и попытаются исследовать включенные, работающие компьютеры прямо на месте. Эксперт попробует сделать следующее.- Получить доступ к рабочему столу компьютера. Здесь все понятно и известно.
- Сделать дамп оперативной памяти компьютера. Это возможно, если удалось получить доступ к рабочему столу (кстати, в случае с многопользовательскими компьютерами для этого можно взять любую административную учетную запись), но не обязательно: например, заслуженной популярностью пользуется атака через DMA, которая обрела второе дыхание после выхода компьютеров с поддержкой технологии Thunderbolt через порт USB-C.
- Наконец, в особо сложных случаях может использоваться криогенная атака. О ее редкости и экзотичности говорит тот факт, что за все время работы я не встретил ни одного эксперта, который делал бы такой анализ на практике.
На что влияет выбор алгоритма шифрования
Еще во времена TrueCrypt пользователям предлагался выбор из разных алгоритмов шифрования, в том числе несколько вариантов с последовательным шифрованием данных сначала одним, а потом другим алгоритмом. В VeraCrypt выбор существенно расширился. Теперь предлагается пять алгоритмов (AES, Serpent, Twofish, Camellia и «Кузнечик») и десять вариантов их последовательного использования.Патриотам, желающим воспользоваться алгоритмом шифрования отечественной разработки «Кузнечик», рекомендую ознакомиться с информацией о странностях в таблицах перестановки, которые однозначно указывают на существование намеренно оставленного «черного хода».
Средний пользователь VeraCrypt не понимает, чем отличаются алгоритмы, не интересуется подробностями, но считает, что если выбрать цепочку из двух, а еще лучше трех алгоритмов, то он точно будет защищен и от закладок спецслужб, и от уязвимостей самих алгоритмов.
Правда же заключается в том, что достаточно будет использовать самый известный и простой с вычислительной точки зрения алгоритм. Тот самый AES, который используется всеми — от детей, скачивающих на телефон новую игру, до финансовых воротил и самых что ни на есть специальных спецслужб. За десятилетия повсеместного использования и массовых исследований этот алгоритм так и не взломали, секретных черных ходов не нашли.
На что же на самом деле влияет выбор алгоритма шифрования? Еще одна грустная правда: только и исключительно на скорость доступа к зашифрованным данным.
Шифрование алгоритмом AES использует встроенные в современные процессоры (начиная от самых дешевых ядер ARMv8 и заканчивая даже очень старыми процессорами Intel и AMD) команды для аппаратного ускорения шифрования. Другие алгоритмы тоже могут применять эти команды. Но AES пользуются все, а другими алгоритмами — не все, поэтому их оптимизация оставляет желать лучшего. Самый оптимизированный алгоритм шифрования Camellia уступает AES в скорости шифрования в полтора раза, Twofish уступает AES в три, Serpent — в четыре, а Кузнечик — в четыре с половиной раза. Комбинированные варианты работают еще медленнее, не предоставляя при этом никакой дополнительной безопасности.
Итак, выбор отличного от AES алгоритма шифрования не может улучшить безопасность зашифрованных данных, а вот ухудшить — запросто. А что может улучшить?
Выбор хеш-функции и числа итераций
Для того чтобы зашифровать (ну, и расшифровать тоже) любые данные, криптоконтейнер не использует пароль. Для шифрования любым алгоритмом (от AES до «Кузнечика») берется двоичный ключ фиксированной длины, так называемый Data Encryption Key или Media Encryption Key (MEK). Каким именно образом твой пароль (наверняка очень длинный и безопасный) превращается в MEK фиксированной длины? Откровенно говоря, никаким. Media Encryption Key для единожды созданного контейнера неизменен; он хранится в зашифрованном (точнее сказать, «обернутом», wrapped) виде прямо в составе контейнера, а в «развернутом» виде используется для доступа к данным.Ключ шифрования данных MEK в обязательном порядке шифруется (прости за тавтологию) ключом шифрования ключа шифрования Key Encryption Key (KEK). Без KEK невозможно расшифровать MEK, а без MEK невозможно расшифровать данные. Для чего нужна такая сложная схема? Хотя бы для того, чтобы ты мог сменить пароль от криптоконтейнера без обязательной расшифровки и перешифровки всего содержимого. Однако роль пары ключей MEK/KEK этим сценарием не ограничивается. Так, достаточно будет затереть несколько десятков байтов в заголовке контейнера (перезаписав область, в которой хранится MEK), и контейнер никто и никогда больше расшифровать не сможет, даже если точно известен пароль. Возможность моментального и безвозвратного уничтожения данных — важная часть общей стратегии безопасности.
Итак, с парой ключей MEK/KEK разобрались. Каким образом из пароля получается ключ KEK? VeraCrypt проводит циклическую последовательность односторонних (это важно) математических преобразований — хеш-функций, причем количество циклов достаточно велико: по умолчанию преобразование выполняется 500 000 раз. Таким образом, с настройками «по умолчанию» на вычисление одного-единственного ключа KEK на основе введенного пароля VeraCrypt потратит от одной до пяти-шести секунд.
Здесь наступает важный момент. Помнишь, чуть выше я разобрал скорость работы алгоритмов шифрования и порекомендовал использовать AES как самый распространенный и самый быстрый вариант? Так вот, с выбором хеш-функции все обстоит с точностью до наоборот: тебе нужен самый нестандартный и самый медленный алгоритм.
В VeraCrypt доступен выбор из четырех хеш-функций: дефолтный SHA-512 (он достаточно медленный и достаточно безопасный, но дефолтный, что для нас минус), еще более медленный и тоже хорошо изученный Whirlpool, старенький SHA-256, который все еще безопасен, но смысла в использовании которого я не вижу, и «темная лошадка» «Стрибог», который в бенчмарке медленнее всех.
Впрочем, от использования хеш-функции «Стрибог» надежно отвращают слова из Википедии: «Разработан Центром защиты информации и специальной связи ФСБ России с участием ОАО „ИнфоТеКС“ на основе национального стандарта Российской Федерации ГОСТ Р 34.11—2012 и введен в действие с 1 июня 2019 года приказом Росстандарта № 1060-ст от 4 декабря 2018 года», а также некоторые тривиальные ошибки и найденные независимыми исследователями странности в таблицах перестановки.
Как правильно настроить преобразование пароля в ключ шифрования KEK? Вот три основных пункта.
- Не используй выбор по умолчанию. Весь софт для взлома криптоконтейнеров без исключений настроен на атаки с настройками «по умолчанию». У эксперта будет выбор настроек (по умолчанию, выбрать конкретную комбинацию параметров или пробовать все комбинации). Атака «по умолчанию» будет самой быстрой, вариант «пробовать все комбинации» — катастрофически медленным, а попытаться выбрать правильную комбинацию параметров шифрования вручную — все равно, что вручную подбирать пароль.
- Выбери самую медленную хеш-функцию (но не «Стрибог»). Да, с медленной хеш-функцией, да еще и отличной от «выбора по умолчанию», твой криптоконтейнер будет монтироваться не одну, а пять-шесть секунд — но и стойкость к атаке вырастет в те же пять-шесть раз (а с учетом «выбора не по умолчанию» — еще сильнее).
- Измени число итераций. Об этом ниже.
Продолжение в следующем посте
Источник: xakep.ru, Олег Афонин.
Original message
Делаем шифрованные контейнеры VeraCrypt неприступными
VeraCrypt — наиболее популярный форк знаменитого средства шифрования TrueCrypt. Почему ему часто отдают предпочтение? На стороне VeraCrypt — открытый исходный код, а также собственный и более защищенный по сравнению с TrueCrypt формат виртуальных и зашифрованных дисков. Исходники VeraCrypt проходили независимый аудит, и найденные уязвимости с тех пор закрыли, что сделало «Веру» еще надежнее.Как взламывает контейнеры VeraCrypt полиция
Эта статья не о том, как ломать криптоконтейнеры. Однако, если ты не знаешь, как станут действовать эксперты, пытающиеся получить доступ к зашифрованным данным, будет трудно понять смысл описанных действий.Действия эксперта в лаборатории зависят от того, что именно и каким именно образом изъято при обыске.
Стандартные методы
Самый типичный случай — изъятие внешних накопителей целиком; компьютеры выключаются и также изымаются целиком, но в лабораторию к эксперту попадает не целый компьютер в сборе, а только извлеченные из него диски.Подобный сценарий — тот самый случай, противостоять которому так долго готовились разработчики всех криптоконтейнеров без исключения. Лобовые атаки на криптоконтейнеры малоэффективны, а на некоторые их разновидности (в частности, загрузочные разделы, зашифрованные в режиме TPM или TPM + ключ) неэффективны абсолютно.
В типичном случае эксперт попытается сначала проанализировать файлы гибернации и подкачки. Если пользователь пренебрег настройками безопасности криптоконтейнера (кстати, при использовании BitLocker эти настройки далеко не очевидны), то ключи шифрования спокойно извлекаются из этих файлов, а зашифрованные тома расшифровываются без длительных атак. Разумеется, в ряде случаев эта атака не сработает. Она будет бесполезна, если выполнено хотя бы одно из описанных ниже условий.
1. Загрузочный диск зашифрован. В этом случае и файл подкачки, и файл гибернации будут также зашифрованы. Например, если для шифрования загрузочного раздела используется BitLocker (это имеет смысл, даже если остальные данные зашифрованы в контейнерах VeraCrypt), то Microsoft подробно описывает модель безопасности в FAQ и BitLocker Security FAQ (раздел What are the implications of using the sleep or hibernate power management options?). Кстати, из этого правила есть исключения — например, если файл подкачки вынесен на отдельное от загрузочного устройство (довольно распространенный случай для пользователей, которые таким образом «экономят» ресурс загрузочного SSD).
2. Компьютер был выключен штатным образом (через команду Shutdown) или был изъят в состоянии гибридного сна либо гибернации; при этом криптоконтейнер настроен таким образом, чтобы автоматически размонтировать зашифрованные тома и уничтожать ключи шифрования в оперативной памяти при переходе компьютера в сон, гибернацию или при его отключении.
Немного сложно для восприятия? Упрощу: если в момент изъятия зашифрованный том был смонтирован, а полиция просто выдернула вилку из розетки, то ключ шифрования, скорее всего, останется в файле гибернации (удастся ли его оттуда вытащить — зависит от пункта 1). А вот если компьютер выключили командой Shutdown, то наличие или отсутствие ключа будет зависеть от настроек криптоконтейнера. О том, как правильно настроить VeraCrypt, мы поговорим дальше.
3. Наконец, очевидное: анализ файлов подкачки и гибернации совершенно бесполезен, если в момент изъятия компьютера зашифрованный том не был подмонтирован.
Если извлечь ключи шифрования не удается, эксперт поищет их в облаке или корпоративной сети (для томов, зашифрованных штатными средствами BitLocker или FileVault 2). Только после этого в ход пойдет лобовая атака — перебор паролей.
С перебором паролей тоже непросто. Во-первых, давно прошли времена, когда под «лобовой атакой» понимался простой брутфорс. Скорость атаки будет такой, что полный перебор всего пространства паролей становится бесполезен, если длина пароля к криптоконтейнеру превышает 7–8 символов. Соответственно, для атак используются словари, в первую очередь — словари, составленные из паролей самого пользователя (извлечь их можно как из компьютера пользователя, так и из его мобильных устройств или напрямую из облака Google Account). Давно разработаны методы анализа паролей и составления правил-шаблонов, на основе которых будут генерироваться «похожие» пароли.
Для атаки в полиции будут использовать один из немногих пакетов программ, позволяющих запустить атаку на множестве (в теории — до нескольких тысяч, в реальности — порядка сотен) компьютеров, каждый из которых будет оснащен несколькими графическими ускорителями. Звучит неправдоподобно? Тем не менее во время тренингов для полиции в разных частях земного шара я видел помещения с компьютерами, использующимися для распределенных атак. Могу сказать о них следующее. Создателей фантастических фильмов в эти помещения, очевидно, не пускают, поэтому на экранах кинотеатров нам приходится наблюдать жалкие плоды убогой фантазии. Просто чтобы обозначить масштаб, поделюсь поразившим меня фактом: на рабочих столах полицейских экспертов одного британского захолустья стоят компьютеры с GeForce 2080 и 40 процессорными ядрами.
Для начала область перебора будет ограничена набором символов, которые встречаются в паролях пользователя.
Дальше опробуют атаку с мутациями (берется слово из словаря, и проверяются его варианты, составленные по довольно простым правилам, которыми пользуется подавляющее большинство обычных пользователей). Кстати, на мутациях чаще всего и заканчиваются попытки атак в тех случаях, когда у полиции нет зацепок — не удалось получить ни одного пароля пользователя.
Если это не сработает, в ход пойдут маски (попытки вручную сконструировать пароли, «похожие» на те, которые были найдены у пользователя).
В особо сложных случаях дело дойдет до гибридных атак (использование комбинаций из одного или двух словарей в комбинации со скриптованными правилами, масками и/или префиксами).
Нестандартные методы
Нестандартно действовать полиция начинает в редких случаях, когда у подозреваемого заранее предполагается наличие зашифрованных «цифровых улик». В этом случае вместе с оперативниками выезжают подготовленные эксперты, которые проконтролируют изъятие и попытаются исследовать включенные, работающие компьютеры прямо на месте. Эксперт попробует сделать следующее.- Получить доступ к рабочему столу компьютера. Здесь все понятно и известно.
- Сделать дамп оперативной памяти компьютера. Это возможно, если удалось получить доступ к рабочему столу (кстати, в случае с многопользовательскими компьютерами для этого можно взять любую административную учетную запись), но не обязательно: например, заслуженной популярностью пользуется атака через DMA, которая обрела второе дыхание после выхода компьютеров с поддержкой технологии Thunderbolt через порт USB-C.
- Наконец, в особо сложных случаях может использоваться криогенная атака. О ее редкости и экзотичности говорит тот факт, что за все время работы я не встретил ни одного эксперта, который делал бы такой анализ на практике.
На что влияет выбор алгоритма шифрования
Еще во времена TrueCrypt пользователям предлагался выбор из разных алгоритмов шифрования, в том числе несколько вариантов с последовательным шифрованием данных сначала одним, а потом другим алгоритмом. В VeraCrypt выбор существенно расширился. Теперь предлагается пять алгоритмов (AES, Serpent, Twofish, Camellia и «Кузнечик») и десять вариантов их последовательного использования.Патриотам, желающим воспользоваться алгоритмом шифрования отечественной разработки «Кузнечик», рекомендую ознакомиться с информацией о странностях в таблицах перестановки, которые однозначно указывают на существование намеренно оставленного «черного хода».
Средний пользователь VeraCrypt не понимает, чем отличаются алгоритмы, не интересуется подробностями, но считает, что если выбрать цепочку из двух, а еще лучше трех алгоритмов, то он точно будет защищен и от закладок спецслужб, и от уязвимостей самих алгоритмов.
Правда же заключается в том, что достаточно будет использовать самый известный и простой с вычислительной точки зрения алгоритм. Тот самый AES, который используется всеми — от детей, скачивающих на телефон новую игру, до финансовых воротил и самых что ни на есть специальных спецслужб. За десятилетия повсеместного использования и массовых исследований этот алгоритм так и не взломали, секретных черных ходов не нашли.
На что же на самом деле влияет выбор алгоритма шифрования? Еще одна грустная правда: только и исключительно на скорость доступа к зашифрованным данным.
Шифрование алгоритмом AES использует встроенные в современные процессоры (начиная от самых дешевых ядер ARMv8 и заканчивая даже очень старыми процессорами Intel и AMD) команды для аппаратного ускорения шифрования. Другие алгоритмы тоже могут применять эти команды. Но AES пользуются все, а другими алгоритмами — не все, поэтому их оптимизация оставляет желать лучшего. Самый оптимизированный алгоритм шифрования Camellia уступает AES в скорости шифрования в полтора раза, Twofish уступает AES в три, Serpent — в четыре, а Кузнечик — в четыре с половиной раза. Комбинированные варианты работают еще медленнее, не предоставляя при этом никакой дополнительной безопасности.
Итак, выбор отличного от AES алгоритма шифрования не может улучшить безопасность зашифрованных данных, а вот ухудшить — запросто. А что может улучшить?
Выбор хеш-функции и числа итераций
Для того чтобы зашифровать (ну, и расшифровать тоже) любые данные, криптоконтейнер не использует пароль. Для шифрования любым алгоритмом (от AES до «Кузнечика») берется двоичный ключ фиксированной длины, так называемый Data Encryption Key или Media Encryption Key (MEK). Каким именно образом твой пароль (наверняка очень длинный и безопасный) превращается в MEK фиксированной длины? Откровенно говоря, никаким. Media Encryption Key для единожды созданного контейнера неизменен; он хранится в зашифрованном (точнее сказать, «обернутом», wrapped) виде прямо в составе контейнера, а в «развернутом» виде используется для доступа к данным.Ключ шифрования данных MEK в обязательном порядке шифруется (прости за тавтологию) ключом шифрования ключа шифрования Key Encryption Key (KEK). Без KEK невозможно расшифровать MEK, а без MEK невозможно расшифровать данные. Для чего нужна такая сложная схема? Хотя бы для того, чтобы ты мог сменить пароль от криптоконтейнера без обязательной расшифровки и перешифровки всего содержимого. Однако роль пары ключей MEK/KEK этим сценарием не ограничивается. Так, достаточно будет затереть несколько десятков байтов в заголовке контейнера (перезаписав область, в которой хранится MEK), и контейнер никто и никогда больше расшифровать не сможет, даже если точно известен пароль. Возможность моментального и безвозвратного уничтожения данных — важная часть общей стратегии безопасности.
Итак, с парой ключей MEK/KEK разобрались. Каким образом из пароля получается ключ KEK? VeraCrypt проводит циклическую последовательность односторонних (это важно) математических преобразований — хеш-функций, причем количество циклов достаточно велико: по умолчанию преобразование выполняется 500 000 раз. Таким образом, с настройками «по умолчанию» на вычисление одного-единственного ключа KEK на основе введенного пароля VeraCrypt потратит от одной до пяти-шести секунд.
Здесь наступает важный момент. Помнишь, чуть выше я разобрал скорость работы алгоритмов шифрования и порекомендовал использовать AES как самый распространенный и самый быстрый вариант? Так вот, с выбором хеш-функции все обстоит с точностью до наоборот: тебе нужен самый нестандартный и самый медленный алгоритм.
В VeraCrypt доступен выбор из четырех хеш-функций: дефолтный SHA-512 (он достаточно медленный и достаточно безопасный, но дефолтный, что для нас минус), еще более медленный и тоже хорошо изученный Whirlpool, старенький SHA-256, который все еще безопасен, но смысла в использовании которого я не вижу, и «темная лошадка» «Стрибог», который в бенчмарке медленнее всех.
Впрочем, от использования хеш-функции «Стрибог» надежно отвращают слова из Википедии: «Разработан Центром защиты информации и специальной связи ФСБ России с участием ОАО „ИнфоТеКС“ на основе национального стандарта Российской Федерации ГОСТ Р 34.11—2012 и введен в действие с 1 июня 2019 года приказом Росстандарта № 1060-ст от 4 декабря 2018 года», а также некоторые тривиальные ошибки и найденные независимыми исследователями странности в таблицах перестановки.
Как правильно настроить преобразование пароля в ключ шифрования KEK? Вот три основных пункта.
- Не используй выбор по умолчанию. Весь софт для взлома криптоконтейнеров без исключений настроен на атаки с настройками «по умолчанию». У эксперта будет выбор настроек (по умолчанию, выбрать конкретную комбинацию параметров или пробовать все комбинации). Атака «по умолчанию» будет самой быстрой, вариант «пробовать все комбинации» — катастрофически медленным, а попытаться выбрать правильную комбинацию параметров шифрования вручную — все равно, что вручную подбирать пароль.
- Выбери самую медленную хеш-функцию (но не «Стрибог»). Да, с медленной хеш-функцией, да еще и отличной от «выбора по умолчанию», твой криптоконтейнер будет монтироваться не одну, а пять-шесть секунд — но и стойкость к атаке вырастет в те же пять-шесть раз (а с учетом «выбора не по умолчанию» — еще сильнее).
- Измени число итераций. Об этом ниже.
Продолжение в следующем посте
Источник: xakep.ru, Олег Афонин.