SlideShare a Scribd company logo
1 of 145
Download to read offline
© 2000-2015 КРИПТО-ПРО
Российская криптография: так ли всё грустно?
Смышляев Станислав Витальевич, к.ф.-м.н.,
начальник отдела защиты информации
Алексеев Евгений Константинович, к.ф.-м.н.,
ведущий инженер-аналитик
Агафьин Сергей Сергеевич,
инженер-программист
Смышляев, Алексеев, Агафьин () 1 / 128
© 2000-2015 КРИПТО-ПРО
Расхожее мнение о российской криптографии
Морально устаревшие решения.
Проблемы с быстродействием.
Проблемы со стойкостью.
Ориентированность на
”
бумажную“ безопасность и
соответствие требованиям, а не на реальную защищенность.
Следствие 1: Нередка позиция
”
когда требуется показать
сертификат ФСБ, используем ГОСТ, а в иных случаях
переключаемся на RSA/AES“.
Смышляев, Алексеев, Агафьин () 2 / 128
© 2000-2015 КРИПТО-ПРО
Расхожее мнение о российской криптографии
Морально устаревшие решения.
Проблемы с быстродействием.
Проблемы со стойкостью.
Ориентированность на
”
бумажную“ безопасность и
соответствие требованиям, а не на реальную защищенность.
Следствие 1: Нередка позиция
”
когда требуется показать
сертификат ФСБ, используем ГОСТ, а в иных случаях
переключаемся на RSA/AES“.
Смышляев, Алексеев, Агафьин () 2 / 128
© 2000-2015 КРИПТО-ПРО
Следствие 2: Критика российских решений зачастую не
конструктивна, а шаблонна, полна клише.
Многие
”
и так знают“, что все плохо — всякая критика охотно
подхватывается аудиторией без апробации и верификации.
У специалистов по практической безопасности — меньше выбор
доступных криптографических механизмов, продуктов для
встраивания.
У российских криптографов — априорно пыльноватая
репутация.
У разработчиков и интеграторов российских криптосредств —
меньше конструктивной критики, информации о реальных
уязвимостях.
Смышляев, Алексеев, Агафьин () 3 / 128
© 2000-2015 КРИПТО-ПРО
Следствие 2: Критика российских решений зачастую не
конструктивна, а шаблонна, полна клише.
Многие
”
и так знают“, что все плохо — всякая критика охотно
подхватывается аудиторией без апробации и верификации.
У специалистов по практической безопасности — меньше выбор
доступных криптографических механизмов, продуктов для
встраивания.
У российских криптографов — априорно пыльноватая
репутация.
У разработчиков и интеграторов российских криптосредств —
меньше конструктивной критики, информации о реальных
уязвимостях.
Смышляев, Алексеев, Агафьин () 3 / 128
© 2000-2015 КРИПТО-ПРО
Следствие 2: Критика российских решений зачастую не
конструктивна, а шаблонна, полна клише.
Многие
”
и так знают“, что все плохо — всякая критика охотно
подхватывается аудиторией без апробации и верификации.
У специалистов по практической безопасности — меньше выбор
доступных криптографических механизмов, продуктов для
встраивания.
У российских криптографов — априорно пыльноватая
репутация.
У разработчиков и интеграторов российских криптосредств —
меньше конструктивной критики, информации о реальных
уязвимостях.
Смышляев, Алексеев, Агафьин () 3 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 4 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 5 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ
Стойкость ГОСТ 28147-89 (блоковый шифр)
ГОСТ 28147-89, атаки Куртуа
Октябрь 2010 года: начат процесс рассмотрения включения
ГОСТ 28147-89 в международный стандарт ISO/IEC 18033-3.
В мае 2011 года на ePrint статья Николя Куртуа:
использование алгебраических методов и дифференциальных
(работа от мая 2011 и последующие 5 работ).
По алгебраическим: нет детального описания и анализа
трудоемкости второго и главного этапа определения ключа,
есть только экспериментальные данные на аналогах меньшей
размерности (не верифицируемые).
По дифференциальным: анализ для узлов замены, отличных от
действующих и от предложенных в ISO.
Рудской, Дмух (см. ePrint): даже если принять необоснованные
”
факты“ Куртуа и провести анализ ГОСТ 28147-89 с другими
узлами замены, то атака не лучше полного перебора.
Смышляев, Алексеев, Агафьин () 6 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ
Стойкость ГОСТ 28147-89 (блоковый шифр)
Смышляев, Алексеев, Агафьин () 7 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ
Стойкость ГОСТ 28147-89 (блоковый шифр)
ГОСТ 28147-89, атаки Исобе и Динура–Данкельмана–Шамира
Корректные, математически строгие описания атак.
Показано, что некоторые свойства алгоритма ГОСТ 28147-89
позволяют находить пути анализа, не учтенные создателями
алгоритма.
Трудоемкость атаки Исобе составляет 2224 операций
зашифрования, атаки ДДШ — 2192.
Для метода Исобе требуется 232 пар открытых и шифрованных
текстов, для метода ДДШ — 264.
При материале 232 уже с вероятностью ≈ 0.5 появляются
повторяющиеся блоки шифртекста, при 264 ключ вовсе более не
нужен (есть полная таблица зашифрования).
Не произошло снижения даже теоретической стойкости.
Смышляев, Алексеев, Агафьин () 8 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ
Стойкость ГОСТ Р 34.11-94 (функция хэширования)
ГОСТ Р 34.11-94, атаки Менделя-Прамшталлера-Рехбергера
Нахождение коллизии: 2105 вместо априорных 2128.
Нахождение (второго) прообраза: 2192 вместо априорных 2256.
Корректные, математически строгие описания атак.
Смышляев, Алексеев, Агафьин () 9 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ
Переход на ГОСТ Р 34.11-2012 и ГОСТ Р 34.10-2012
2012 год: стандарт функции хэширования ГОСТ Р 34.11-2012
(
”
Стрибог“).
Документ ФСБ России № 149/7/1/3-58 от 31.01.2014.
ТЗ после 31 декабря 2012 года — должна быть реализация
ГОСТ Р 34.10-2012 (и ГОСТ Р 34.11-2012).
Использование ГОСТ Р 34.11-94 для использования при
формировании подписи после 31 декабря 2018 года не
допускается.
Смышляев, Алексеев, Агафьин () 10 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ
Стойкость ГОСТ Р 34.11-2012 (функция хэширования)
AlTawy R., Youssef A. M. – Preimage Attacks on reduced-round
Stribog.
AlTawy R., Kircanski A., Youssef A. M. – Rebound attacks on
Stribog.
Kazymyrov O., Kazymyrova V. – Algebraic aspects of the russian
hash standard GOST R 34.11-2012.
Ma B., Li B., Hao R., Li X. – Improved cryptanalysis of
reduced-round GOST and Whirlpool hash function.
Zou J., Wu W., Wu S. – Cryptanalysis of the round-reduced
GOST hash function.
AlTawy R., Youssef A. M. – Integral distinguishers for
reduced-round. Stribog.
AlTawy R., Youssef, A. M. – Watch your Constants: Malicious
Streebog.
Смышляев, Алексеев, Агафьин () 11 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ
Стойкость ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012
(электронная подпись)
С точки зрения структуры (и стойкости) ГОСТ Р 34.10-2001 и
ГОСТ Р 34.10-2012 предельно близки к ECDSA: стойкость
определяется:
выбором эллиптических кривых;
гарантией случайности одноразовых случайных величин в
процессе подписи (вспомним уязвимость 2010 года в Sony
PlayStation 3 из-за проблем в реализации ECDSA).
Смышляев, Алексеев, Агафьин () 12 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Производительность алгоритмов ГОСТ
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 13 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Производительность алгоритмов ГОСТ
Производительность ГОСТ 28147-89 (блоковый шифр)
Шифрование: ГОСТ 28147-89, режим гаммирования
без SSE/AVX: 28 тактов/байт (120 МБ/с/ядро 3.3 GHz);
с AVX: 8.7 тактов/байт (390 МБ/с/ядро 3.3 GHz).
Смышляев, Алексеев, Агафьин () 14 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Производительность алгоритмов ГОСТ
Производительность ГОСТ 28147-89 (блоковый шифр)
Шифрование: ГОСТ 28147-89, режим гаммирования
без SSE/AVX: 28 тактов/байт (120 МБ/с/ядро 3.3 GHz);
с AVX: 8.7 тактов/байт (390 МБ/с/ядро 3.3 GHz).
Смышляев, Алексеев, Агафьин () 15 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Производительность алгоритмов ГОСТ
Производительность ГОСТ 28147-89 (блоковый шифр)
Шифрование: ГОСТ 28147-89, режим гаммирования
Реализация на GPU (OpenCL): 1300 МБ/с (AMD Radeon HD
6970).
Смышляев, Алексеев, Агафьин () 16 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Производительность алгоритмов ГОСТ
Производительность ГОСТ Р 34.11 (хэш-функции)
Хэширование: ГОСТ Р 34.11-94 и ГОСТ Р 34.11-2012
ГОСТ Р 34.11-94: 40 тактов/байт (85 МБ/с/ядро 3.3 GHz);
ГОСТ Р 34.11-2012: 30 тактов/байт (110 МБ/с/ядро 3.3 GHz).
Смышляев, Алексеев, Агафьин () 17 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Производительность алгоритмов ГОСТ
Производительность ГОСТ Р 34.10-2001 и ГОСТ Р
34.10-2012
С точки зрения совокупности математических операций (и,
следовательно, производительности) ГОСТ Р 34.10-2001 и ГОСТ Р
34.10-2012 предельно близки к ECDSA: производительность
определяется выбором используемых полей, эллиптических кривых
(параметров алгоритма подписи), а также проработкой реализаций
операций в конечных полях и эллиптических кривых в реализациях.
Сравнение с RSA
Сравнимая стойкость ГОСТ Р 34.10-2001/2012-256 (по NIST SP
800-57): RSA-3072.
Сравнимая стойкость ГОСТ Р 34.10-2012-512 (по NIST SP
800-57): между RSA-7680 и RSA-15360.
Смышляев, Алексеев, Агафьин () 18 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Производительность алгоритмов ГОСТ
Производительность ГОСТ Р 34.10-2001 и ГОСТ Р
34.10-2012 (проверка подписи)
Проверка ЭП: ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012
ГОСТ Р 34.10-2001/2012-256: 9700 проверок в секунду;
ГОСТ Р 34.10-2012-512: 1850 проверок в секунду.
Смышляев, Алексеев, Агафьин () 19 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Производительность алгоритмов ГОСТ
Производительность ГОСТ Р 34.10-2001 и ГОСТ Р
34.10-2012 (формирование подписи)
Формирование ЭП: ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012
ГОСТ Р 34.10-2001/2012-256: 15800 формирований в секунду;
ГОСТ Р 34.10-2012-512: 3400 формирований в секунду.
Смышляев, Алексеев, Агафьин () 20 / 128
© 2000-2015 КРИПТО-ПРО
Российские криптографические алгоритмы Производительность алгоритмов ГОСТ
Производительность ГОСТ Р 34.10-2001 и ГОСТ Р
34.10-2012
Криптосистема с открытым ключом
В России нет стандарта для криптосистем с открытым ключом.
Решение задачи
”
зашифровать данные с использованием открытого
ключа PubKA“ (зафиксировано в Рекомендациях по
стандартизации ТК 26):
породить эфемерный ключ β (с открытым ключом PubKβ),
случайную величину UKM;
вычислить SK = H(UKM · β · PubKA);
зашифровать вход (как правило, ключ шифрования основных
данных) на SK, передать шифртекст вместе с PubKβ и UKM.
Время шифрования/расшифрования ≈ время проверки подписи.
Смышляев, Алексеев, Агафьин () 21 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 22 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 23 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Требования ФСБ России к шифровальным
(криптографическим) средствам.
Требования к средствам электронной подписи.
Приказ ФСБ России N 378
”
Об утверждении . . . мер по
обеспечению безопасности персональных данных при их
обработке в информационных системах персональных данных с
использованием СКЗИ . . .“
Требования к средствам удостоверяющего центра.
Смышляев, Алексеев, Агафьин () 24 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Критика
Формальные модели нарушителя, не имеющие отношения к
реальности.
Проверяется безопасность к
”
бумажным“ моделям, а не к
реальным нарушителям.
При возникновении проблем безопасности разработчики дают
ответы
”
в такой-то формальной модели все хорошо“.
Из-за закрытости требований возникает (справедливо)
ощущение непрозрачности при анализе защищенности.
Смышляев, Алексеев, Агафьин () 25 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Приказ ФСБ России N 378
КС1:
”
проведение атаки, находясь вне контролируемой зоны“
КС2:
”
проведение атаки при нахождении в пределах
контролируемой зоны“
Смышляев, Алексеев, Агафьин () 26 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Приказ ФСБ России N 378
КС1:
”
проведение атаки, находясь вне контролируемой зоны“
— атаки на криптографические протоколы через сеть
КС2:
”
проведение атаки при нахождении в пределах
контролируемой зоны“ — нарушитель в непосредственной
близости, анализ секторов диска после удаления данных
Смышляев, Алексеев, Агафьин () 27 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Приказ ФСБ России N 378
КС3:
”
возможность располагать аппаратными компонентами
СКЗИ и СФ, ограниченная мерами, реализованными в
информационной системе, в которой используется СКЗИ, и
направленными на предотвращение и пресечение
несанкционированных действий“
KB:
”
создание способов, подготовка и проведение атак с
привлечением специалистов в области анализа сигналов,
сопровождающих функционирование СКЗИ и СФ, и в области
использования для реализации атак недокументированных
(недекларированных) возможностей прикладного ПО“
Смышляев, Алексеев, Агафьин () 28 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Приказ ФСБ России N 378
КС3:
”
возможность располагать аппаратными компонентами
СКЗИ и СФ, ограниченная мерами, реализованными в
информационной системе, в которой используется СКЗИ, и
направленными на предотвращение и пресечение
несанкционированных действий“ — возможность атак при
доступе к системе из-под другого аккаунта
KB:
”
создание способов, подготовка и проведение атак с
привлечением специалистов в области анализа сигналов,
сопровождающих функционирование СКЗИ и СФ, и в области
использования для реализации атак недокументированных
(недекларированных) возможностей прикладного ПО“
— возможность атак по побочным каналам
Смышляев, Алексеев, Агафьин () 29 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Пример: ключевой носитель
Пассивный носитель.
Активный автономный вычислитель.
Функциональный ключевой носитель.
Смышляев, Алексеев, Агафьин () 30 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Пассивный носитель
Использование ключа основным криптосредством: вычисления
в оперативной памяти машины.
Смышляев, Алексеев, Агафьин () 31 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Активный автономный вычислитель
Все вычисления на самом устройстве, ключ в память не
попадает.
Смышляев, Алексеев, Агафьин () 32 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Доступ нарушителя к пользовательскому процессу в системе в
любом случае (даже в случае HSM) означает компрометацию
доступа к ключу.
Защищенность пассивного и автономного носителей
Доступ нарушителя к каналу от системы к носителю означает
неминуемую компрометацию доступа к ключу.
В случае пассивного носителя нарушитель потенциально
извлекает из памяти ключ.
В случае автономного вычислителя нарушитель потенциально
перехватывает пароль и возможность подписи произвольных
данных.
В случае автономного вычислителя несоизмеримо опаснее
атаки по побочным каналам (потребление, время).
Смышляев, Алексеев, Агафьин () 33 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Доступ нарушителя к пользовательскому процессу в системе в
любом случае (даже в случае HSM) означает компрометацию
доступа к ключу.
Защищенность пассивного и автономного носителей
Доступ нарушителя к каналу от системы к носителю означает
неминуемую компрометацию доступа к ключу.
В случае пассивного носителя нарушитель потенциально
извлекает из памяти ключ.
В случае автономного вычислителя нарушитель потенциально
перехватывает пароль и возможность подписи произвольных
данных.
В случае автономного вычислителя несоизмеримо опаснее
атаки по побочным каналам (потребление, время).
Уровень защищенности (без дополнительных орг. мер) — КС1.
Смышляев, Алексеев, Агафьин () 34 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Доступ нарушителя к пользовательскому процессу в системе в
любом случае (даже в случае HSM) означает компрометацию
доступа к ключу.
Защищенность пассивного и автономного носителей
Доступ нарушителя к каналу от системы к носителю означает
неминуемую компрометацию доступа к ключу.
В случае пассивного носителя нарушитель потенциально
извлекает из памяти ключ.
В случае автономного вычислителя нарушитель потенциально
перехватывает пароль и возможность подписи произвольных
данных.
В случае автономного вычислителя несоизмеримо опаснее
атаки по побочным каналам (потребление, время).
Уровень защищенности (без дополнительных орг. мер) — КС1.
Смышляев, Алексеев, Агафьин () 34 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Функциональный ключевой носитель
Смышляев, Алексеев, Агафьин () 35 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Функциональный ключевой носитель
На аутентифицированном на пароле ключе согласования
устанавливается защищенный канал связи между системой и
носителем.
Все дальнейшие пересылки между носителем производятся
посредством защищенного канала.
За счет распределения вычислений возможно уменьшение
опасности атак по побочным каналам.
Сам пароль также защищен от оффлайного перебора пароля с
опробованием по полученным в канале данным (после действий
нарушителя в канале).
Оценочный уровень защищенности — КС3.
Смышляев, Алексеев, Агафьин () 36 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Функциональный ключевой носитель
На аутентифицированном на пароле ключе согласования
устанавливается защищенный канал связи между системой и
носителем.
Все дальнейшие пересылки между носителем производятся
посредством защищенного канала.
За счет распределения вычислений возможно уменьшение
опасности атак по побочным каналам.
Сам пароль также защищен от оффлайного перебора пароля с
опробованием по полученным в канале данным (после действий
нарушителя в канале).
Оценочный уровень защищенности — КС3.
Смышляев, Алексеев, Агафьин () 36 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Анализируемые проблемы
Уязвимости в базовых криптографических алгоритмах.
Уязвимости в сопутствующих криптографических алгоритмах.
Уязвимости в криптографических протоколах.
Уязвимости при встраивании криптографических протоколов.
Ошибки в реализации.
Отсутствие в реализации достаточных мер противодействия
предполагаемому нарушителю.
Смышляев, Алексеев, Агафьин () 37 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Анализируемые проблемы
Уязвимости в базовых криптографических алгоритмах.
Уязвимости в сопутствующих криптографических алгоритмах.
Уязвимости в криптографических протоколах.
2010:
«Ха-ха, теоретические проблемы стойкости протоколов не влияют
на реальную защищенность»
2015:
TLS: BEAST, POODLE, Lucky13...
Смышляев, Алексеев, Агафьин () 38 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Анализируемые проблемы
Уязвимости в базовых криптографических алгоритмах.
Уязвимости в сопутствующих криптографических алгоритмах.
Уязвимости в криптографических протоколах.
2010:
«Ха-ха, теоретические проблемы стойкости протоколов не влияют
на реальную защищенность»
2015:
TLS: BEAST, POODLE, Lucky13...
Смышляев, Алексеев, Агафьин () 38 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Анализируемые проблемы
Уязвимости в базовых криптографических алгоритмах.
Уязвимости в сопутствующих криптографических алгоритмах.
Уязвимости в криптографических протоколах.
2010:
«Ха-ха, теоретические проблемы стойкости протоколов не влияют
на реальную защищенность»
2015:
TLS: BEAST, POODLE, Lucky13...
Смышляев, Алексеев, Агафьин () 38 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Безопасность
”
бумажная“ и реальная
Безопасность
”
бумажная“ и реальная
Потенциальные ошибки при шифровании данных
При зашифровании/расшифровании данных на сессионных
симметричных ключах возможны ошибки, связанные, в
частности:
с использованием небезопасных режимов работы шифра (ECB,
иногда CBC);
возникновением побочных каналов при небезопасном
использовании механизмов выравнивания (паддинга);
перекрытиями гаммы;
использованием синхропосылок без обеспечения условия их
непредсказываемости;
работой с превышением допустимой нагрузки на ключ (работа
без преобразования ключа).
Смышляев, Алексеев, Агафьин () 39 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Выбор IV в CBC, CFB
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 40 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Выбор IV в CBC, CFB
Режимы CBC, CFB: уязвимости при небезопасном
выборе синхропосылок
Ошибку в проектировании системы защиты информации,
связанную с непродуманным механизмом выбора синхропосылок,
могут совершить даже опытные криптографы. Ярким примером
такого рода ошибки стала особенность протокола TLS 1.0, в
котором при использовании блоковых шифров в режиме CBC в
качестве синхропосылки очередного пакета выбирается последний
блок шифртекста предыдущего пакета.
Для эксплуатации данной уязвимости Дуонгом и Риззо в 2011 году
был создан модуль BEAST, позволявший дешифровывать
передаваемые cookie-файлы пользователя.
Описание теоретической уязвимости было предложено еще за 7 лет
до этого в работе Грегори Барда.
Смышляев, Алексеев, Агафьин () 41 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Выбор IV в CBC, CFB
Режимы CBC, CFB: уязвимости при небезопасном
выборе синхропосылок
При работе блокового шифра в режиме CBC фиксируется
синхропосылка C0 = IV, для получения каждого блока Ci
шифртекста вычисляется значение Ci = EK(Mi ⊕ Ci−1), где EK —
функция зашифрования блока текста на ключе K.
Атака с выбором ОТ при известном IV.
Проверяется, что для полученного ранее шифртекста
C = (C1|C2| . . . |Cm) блок Mi ОТ M = (M1|M2| . . . |Mm) равен M∗.
Таким образом, перебирая различные значения M∗, нарушитель
может узнать содержимое блока ОТ.
Смышляев, Алексеев, Агафьин () 42 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Выбор IV в CBC, CFB
Режимы CBC, CFB: уязвимости при небезопасном
выборе синхропосылок
В TLS с российскими алгоритмами, утвержденном ТК 26, данная
уязвимость отсутствует, так как в данной версии используется
режим гаммирования, а состояние регистров шифратора после
обработки очередного пакета (являющееся некоторым аналогом
синхропосылки в CBC), остается неизвестным нарушителю.
Смышляев, Алексеев, Агафьин () 43 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Использование паддинга
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 44 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Использование паддинга
Уязвимости при небезопасном использовании паддинга
Пример
Паддинг PKCS #5: сообщение дополняется ненулевым числом
байтовых констант PADLEN до конца блока, где PADLEN — число
требуемых байт паддинга.
Например, при длине блока 8 байт сообщение (0x0A, 0x0B, 0x0C)
будет дополнено до (0x0A, 0x0B, 0x0C, 0x05, 0x05, 0x05, 0x05, 0x05).
При непродуманном выборе процедуры проверки паддинга
возможно появление уязвимостей к атакам с выбором ШТ.
Смышляев, Алексеев, Агафьин () 45 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Использование паддинга
Уязвимости при небезопасном использовании паддинга
Пусть процедура приема так, что ошибку в паддинге нарушитель
может отличить от ошибки в имитовставке. Тогда нарушителю,
перехватившему в канале некоторое зашифрованное сообщение,
чтобы дешифровать его последние q байт (в среднем), достаточно:
направить получателю 128 · q сообщений (чтобы тот
попробовал принять их на том же ключе), после чего получить
коды ошибок.
Каждый байт каждого блока восстанавливается в среднем за 128
запросов.
Смышляев, Алексеев, Агафьин () 46 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Использование паддинга
Уязвимости при небезопасном использовании паддинга
POODLE attack: Padding Oracle On Downgraded Legacy Encryption.
Смена ключа после каждой ошибки на приеме не полностью
устраняет проблему — соответствующая уязвимость в протоколе
TLS версии 1.0 для использующих CBC наборов шифрования
описана в 2001 году в работе Сержа Воденея.
Заметим, что данная уязвимость в TLS с российскими
алгоритмами, утвержденном ТК 26, отсутствует, так как в данной
версии используется режим гаммирования, паддинг вовсе не
используется.
Смышляев, Алексеев, Агафьин () 47 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 48 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы
Уязвимости при перекрытии гаммы
Для стойкой криптосистемы (формально — IND-CPA–стойкой)
в режиме гаммирования наличие у противника шифртекста
при отсутствии ключа вовсе не уменьшает для него
неопределенности открытого текста.
В случае переиспользования гаммы неопределенность падает
до значений, позволяющих провести практическую атаку.
Элементарный пример
Пусть биты a, b независимы Pr(a = 1) = Pr(b = 1) = 0.6. Тогда
неопределенность (энтропия) при наличии битов шифртекста
ca = a ⊕ ka и cb = b ⊕ kb составляет 1.942 бита.
Если же ka = kb, энтропия падает в среднем до 0.945 бит —
такой же она была бы, если бы каждый бит принимал бы
некоторое значение с вероятностью ≈ 90%.
Смышляев, Алексеев, Агафьин () 49 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы
Уязвимости при перекрытии гаммы
Известный пример: режимы ECB и гаммирования
Смышляев, Алексеев, Агафьин () 50 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы
Уязвимости при перекрытии гаммы
Известный пример: режимы ECB и гаммирования
Смышляев, Алексеев, Агафьин () 51 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы
Уязвимости при перекрытии гаммы
Известный пример: режимы ECB и гаммирования
Смышляев, Алексеев, Агафьин () 52 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы
Уязвимости при перекрытии гаммы
Пример: режим гаммирования при перекрытии гаммы
Смышляев, Алексеев, Агафьин () 53 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы
Уязвимости при перекрытии гаммы
Пример: режим гаммирования при перекрытии гаммы
Смышляев, Алексеев, Агафьин () 54 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы
Уязвимости при перекрытии гаммы
Пример: режим гаммирования при перекрытии гаммы
Смышляев, Алексеев, Агафьин () 55 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы
Уязвимости при перекрытии гаммы
Пример: режим гаммирования при перекрытии гаммы
Смышляев, Алексеев, Агафьин () 56 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы
Уязвимости при перекрытии гаммы
Пример: режим гаммирования при перекрытии гаммы
Смышляев, Алексеев, Агафьин () 57 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы
Уязвимости при перекрытии гаммы
Пример: режим гаммирования при перекрытии гаммы
Смышляев, Алексеев, Агафьин () 58 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы
Уязвимости при перекрытии гаммы
В случае переиспользования гаммы неопределенность падает до
значений, позволяющих провести практическую атаку.
В реализациях протоколов при сертификации проверяется
обеспечение гарантируемой непредсказуемости синхропосылки.
Смышляев, Алексеев, Агафьин () 59 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 60 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ
Уязвимости при превышении нагрузки на ключ
При шифровании без смены ключа текста длиннее допустимых
значений могут становиться практически осуществимыми атаки по
побочным каналам (напряжение, акустика, радиоволны и пр.).
При существенном превышении допустимых значений всякий
алгоритм шифрования теряет положительные криптографические
качества.
При шифровании ГОСТ 28147-89 более 32 ГБ информации
вероятность совпадения выходных блоков алгоритма
шифрования достигает 50%.
Смышляев, Алексеев, Агафьин () 61 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ
Уязвимости при превышении нагрузки на ключ
Проблема
При шифровании без смены ключа текста длиннее допустимых
значений могут становиться практически осуществимыми атаки по
побочным каналам (напряжение, акустика, радиоволны и пр.).
Необходимо проектировать процедуры работы с сессионными
ключами по принципу использования каждого ключа для весьма
небольшого числа сообщений.
Смышляев, Алексеев, Агафьин () 62 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ
Организация работы с сессионными ключами
Решение
При шифровании использовать режим преобразования ключа
(реализуется в криптосредстве, прозрачно для приложений):
RFC 4357: 2.3.2: Key Meshing.
Но: сохраняется ограничение на количество шифруемых сообщений
на одном ключе (T · 1024 сообщений произвольной длины).
Без преобразования ключей: шифровать не более T МБ на
одном ключе.
С преобразованием ключей: шифровать не более T · 1024
независимых сообщений на одном ключе.
Смышляев, Алексеев, Агафьин () 63 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ
Организация работы с сессионными ключами
Необходимо проектировать процедуры работы с сессионными
ключами по принципу использования каждого ключа для весьма
небольшого числа сообщений.
Недопустимое решение
for(QWORD i = 0; i < qwTotalDataBlocks; i++)
{
CryptDuplicateKey(hKey, 0, 0, &hTmpKey);
CryptEncrypt(hTmpKey, 0, TRUE, 0, ppbData[i], &(pdwLen[i]), pdwBufLen[i]);
CryptDestroyKey(hTmpKey);
}
Смышляев, Алексеев, Агафьин () 64 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ
Организация работы с сессионными ключами
Вариант решения: IPsec ESP
”
Техническая спецификация по использованию ГОСТ 28147-89 при
шифровании вложений в протоколе IPsec ESP“, раздел 5.6.
Преобразование ESP_GOST-4M-IMIT.
RootKey
Divers( RootKey , i&Mask1)
Divers( Divers( RootKey , i&Mask1) , i&Mask2)
Key[i] = Divers( Divers( Divers( RootKey , i&Mask1) , i&Mask2) , i&Mask3)
Mask1 = 0xffffffff00000000, Mask2 = 0xffffffffffff0000, Mask3 = 0xffffffffffffffc0.
Смышляев, Алексеев, Агафьин () 65 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ
Организация работы с сессионными ключами
Алгоритмы диверсификации
CALG_PRO_DIVERS: RFC 4357, раздел 7.
Алгоритм Secret Key Diversification;
CALG_PRO12_DIVERS: ТК 26,
”
Рекомендации по
стандартизации. Использование криптографических
алгоритмов...“. Алгоритм KDF_TREE_GOSTR3411_2012_256.
Смышляев, Алексеев, Агафьин () 66 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Выбор алгоритма хэширования
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 67 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Выбор алгоритма хэширования
Уязвимости при использовании стойкого алгоритма
подписи со слабым алгоритмом хэширования
Не запрещено использовать MD5 + RSA или даже MD5 + ГОСТ Р
34.10-2001 как усиленную неквалифицированную подпись.
Миф: даже поломанные с точки зрения теории хэш-функции
можно использовать с ЭП
Частично правда: если подписать MD5-хэш документа,
подделать подписанный документ на практике невозможно
(стойкость MD5 к нахождению прообраза/второго прообраза
снижена с 2128 только на 5 порядков).
При ошибке проектирования систем документооборота с
использованием такой подписи уязвимость становится
эксплуатируемой на практике.
Смышляев, Алексеев, Агафьин () 68 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Выбор алгоритма хэширования
Уязвимости при использовании стойкого алгоритма
подписи со слабым алгоритмом хэширования
Рассмотрим систему, в которой документы подписываются
следующим образом
Signature(Key, Src) = SignRSA−2048 (Key, hSHA3 (hMD5(Src)|Attrs))
Аналогичная процедура формирования подписи (с вариабельностью
алгоритмов) используется в Microsoft Authenticode.
Смышляев, Алексеев, Агафьин () 69 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Выбор алгоритма хэширования
Уязвимости при использовании стойкого алгоритма
подписи со слабым алгоритмом хэширования
Signature(Key, Src) = SignRSA−2048 (Key, hSHA3 (hMD5(Src)|Attrs))
Подписывающая сторона
Интересы честной подписывающей стороны удовлетворены:
модифицировать документ, снабдив его поддельной подписью,
текущее состояние криптоанализа не позволяет (слабое звено —
второй прообраз для хэш-значения MD5 — 2123, около десяти
миллиардов лет работы миллиардов 3ГГц–процессорных ядер).
Смышляев, Алексеев, Агафьин () 70 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Выбор алгоритма хэширования
Уязвимости при использовании стойкого алгоритма
подписи со слабым алгоритмом хэширования
Signature(Key, Src) = SignRSA−2048 (Key, hSHA3 (hMD5(Src)|Attrs))
Проверяющая сторона
Ввод в заблуждение: стойкий алгоритм подписи RSA-2048
используется в паре со стойкой хэш-функцией SHA3.
Но: вычисление основного хэша документа производит
быстрая, но обладающая практическими уязвимостями MD5
(коллизии строятся за 224 — одна-две секунды).
Для ряда форматов существуют практически осуществимые
атаки с созданием пары документов (pdf, djvu, исполняемых
файлов) с различным (осмысленным, запланированным
нарушителем) содержанием, но одним значением хэша MD5, а
следовательно, и значением Signature(K, Src).
Смышляев, Алексеев, Агафьин () 71 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Выбор алгоритма хэширования
Уязвимости при использовании стойкого алгоритма
подписи со слабым алгоритмом хэширования
Усиленная квалифицированная электронная подпись может быть
сформирована только с помощью:
ГОСТ Р 34.11-94 + ГОСТ Р 34.10-2001.
ГОСТ Р 34.11-2012 (256 бит) + ГОСТ Р 34.10-2012 (256 бит).
ГОСТ Р 34.11-2012 (512 бит) + ГОСТ Р 34.10-2012 (512 бит).
В стандартах электронной подписи явным образом прописан
алгоритм хэширования, с которым можно использовать подпись.
Известные уязвимости существуют только у ГОСТ Р 34.11-94,
однако носят сугубо теоретический характер: построение
коллизии за 2105 — миллион лет работы миллиарда 3-ГГц
процессорных ядер (против секунды на одном ядре для MD5).
Известных уязвимостей у ГОСТ Р 34.11-2012, ГОСТ Р
34.10-2001, ГОСТ Р 34.10-2012 нет.
Смышляев, Алексеев, Агафьин () 72 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 73 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26
Технический комитет по стандартизации
”
Криптографическая защита информации“
Росстандарта (ТК 26)
Производительность и стойкость ГОСТ Р 34.10-2001 и ГОСТ Р
34.10-2012 определяется, в частности, выбором параметров
эллиптических кривых.
"Рекомендации по стандартизации. Задание параметров
эллиптических кривых в соответствии с ГОСТ Р 34.10-2012".
Смышляев, Алексеев, Агафьин () 74 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26
Технический комитет по стандартизации
”
Криптографическая защита информации“
Росстандарта (ТК 26)
Доверие к выбору параметров: принцип
”
проверяемой случайности“.
Выработка параметров с помощью односторонней функции.
На практике, с помощью некоторого
”
трудно“ обратимого
преобразования: на основе хэш-функции ГОСТ Р 34.11-2012.
На вход данного преобразования — случайные строки.
Разные алгебраические структуры — даже специальный подбор
входных строк не позволяет осуществлять выбор
окончательных параметров для принадлежности классу
заведомо "слабых".
Смышляев, Алексеев, Агафьин () 75 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26
Технический комитет по стандартизации
”
Криптографическая защита информации“
Росстандарта (ТК 26)
Доверие к выбору параметров: принцип
”
проверяемой случайности“.
Выработка параметров с помощью односторонней функции.
На практике, с помощью некоторого
”
трудно“ обратимого
преобразования: на основе хэш-функции ГОСТ Р 34.11-2012.
На вход данного преобразования — случайные строки.
Разные алгебраические структуры — даже специальный подбор
входных строк не позволяет осуществлять выбор
окончательных параметров для принадлежности классу
заведомо "слабых".
Смышляев, Алексеев, Агафьин () 75 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26
Технический комитет по стандартизации
”
Криптографическая защита информации“
Росстандарта (ТК 26)
Стойкость ГОСТ 28147-89 определяется, в частности, выбором
узлов замены.
"Рекомендации по стандартизации. Задание узлов замены блока
подстановки алгоритма шифрования ГОСТ 28147-89".
Смышляев, Алексеев, Агафьин () 76 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26
Технический комитет по стандартизации
”
Криптографическая защита информации“
Росстандарта (ТК 26)
Для использования в протоколах описанных в стандартах
алгоритмов необходимы происследованные безопасные конструкции
на их основе.
"Рекомендации по стандартизации. Использование
криптографических алгоритмов, сопутствующих применению
стандартов ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012".
Смышляев, Алексеев, Агафьин () 77 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26
Технический комитет по стандартизации
”
Криптографическая защита информации“
Росстандарта (ТК 26)
Для работы российских криптоалгоритмов в протоколах
необходимы происследованные безопасные процедуры работы.
"Техническая спецификация по использованию ГОСТ 28147-89,
ГОСТ Р 34.11-94 и ГОСТ Р 34.10-2001 при согласовании
ключей в протоколах IKE и ISAKMP".
"Техническая спецификация по использованию ГОСТ 28147-89
при шифровании вложений в протоколе IPsec ESP".
"Техническая спецификация по использованию ГОСТ Р
34.11-94 при обеспечении целостности в протоколах IPsec AH и
ESP".
Смышляев, Алексеев, Агафьин () 78 / 128
© 2000-2015 КРИПТО-ПРО
Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26
Технический комитет по стандартизации
”
Криптографическая защита информации“
Росстандарта (ТК 26)
"Техническая спецификация использования алгоритмов ГОСТ
Р 34.10, ГОСТ Р 34.11 в профиле сертификата и списке отзыва
сертификатов (CRL) инфраструктуры открытых ключей
X.509".
"Рекомендации по стандартизации. Использование алгоритмов
ГОСТ 28147-89, ГОСТ Р 34.11 и ГОСТ Р 34.10 в
криптографических сообщениях формата CMS".
"Рекомендации по стандартизации. Использованию наборов
алгоритмов шифрования на основе ГОСТ 28147-89 для
протокола безопасности транспортного уровня (TLS)".
Смышляев, Алексеев, Агафьин () 79 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 80 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Решаемые задачи
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 81 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Решаемые задачи
Решаемые нетривиальные задачи при реализации
Диспетчеризация смарт-карт
Минимизация обращений к устройствам.
Кэширование: паролей и контекстов.
Синхронизация: отдельные блокировки для каждой ОС.
Защита криптографических ключей
Если ключ окажется в памяти в открытом виде, обязательно
найдется уязвимость, через которую его можно достать (см.
HeartBleed). Иногда достаточно даже простого аппаратного сбоя.
Хранение ключей под маскирующим преобразованием: как на
смарт-картах, так и в ОЗУ.
Выполнение операций над преобразованными данными.
Нормализация времени выполнения операций для исключения
атак по энергопотреблению.
Смышляев, Алексеев, Агафьин () 82 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Ключевые носители
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 83 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Ключевые носители
Хранение криптографических ключей
Подходы к хранению ключей
Флешки / файлы / реестр.
Пассивные ключевые носители.
Активные ключевые носители.
Ключевые носители с протоколами нового поколения.
Смышляев, Алексеев, Агафьин () 84 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Ключевые носители
Пассивные токены
Смышляев, Алексеев, Агафьин () 85 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Ключевые носители
Активные токены
Смышляев, Алексеев, Агафьин () 86 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Ключевые носители
Биометрические токены
Использование вносит третий фактор аутентификации: наличие
самого пользователя.
Плюсы:
Защита даже при компрометации ПИН-кода.
Потенциальная возможность встраивания в существующие
системы.
Минусы:
Усложнение архитектур пользовательских приложений.
Повышение сложности программного обеспечения токенов.
Смышляев, Алексеев, Агафьин () 87 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Ключевые носители
Защищенный обмен сообщениями
Смышляев, Алексеев, Агафьин () 88 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Ключевые носители
Протоколы защиты с сервером
Смышляев, Алексеев, Агафьин () 89 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Ключевые носители
Протоколы защиты с сервером
Примеры:
Универсальная электронная карта (УЭК).
Электронные паспорта РФ (проект).
Плюсы:
Защита практически от любого нарушителя в канале.
Использование простых протоколов (DH) и структур данных
(CV-сертификаты).
Минусы:
Требуется подключение к Интернет с определенными
разрешениями.
Высокий порог вхождения даже для продвинутого
пользователя.
Смышляев, Алексеев, Агафьин () 90 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Ключевые носители
Защищенные считыватели: визуализация данных
Смышляев, Алексеев, Агафьин () 91 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Ключевые носители
Защищенные считыватели: визуализация данных
Смышляев, Алексеев, Агафьин () 92 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Ключевые носители
Защищенные считыватели: Подпись на телефоне
Смышляев, Алексеев, Агафьин () 93 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Ключевые носители
Защищенные считыватели: Подпись на телефоне
Смышляев, Алексеев, Агафьин () 94 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Генераторы случайных чисел
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 95 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Генераторы случайных чисел
ГСЧ, ДСЧ, ГПСЧ
Случайные числа – важнейший аттрибут любой
криптографической системы.
Зачем изобретать велосипед? Можно взять любой надежный
западный ДСЧ!
Dual EC DRBG: продвижение скрытно проплачивается АНБ
(Сноуден, 2013).
Intel Secure Key: потенциальный рай для аппаратных закладок
(Becker, 2013).
Linux RNG: вся энтропия основана на теоретически
необоснованных утверждениях.
Windows RNG: проприетарный.
...?
Смышляев, Алексеев, Агафьин () 96 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Генераторы случайных чисел
ГСЧ, ДСЧ, ГПСЧ
Случайные числа – важнейший аттрибут любой
криптографической системы.
Зачем изобретать велосипед? Можно взять любой надежный
западный ДСЧ!
Dual EC DRBG: продвижение скрытно проплачивается АНБ
(Сноуден, 2013).
Intel Secure Key: потенциальный рай для аппаратных закладок
(Becker, 2013).
Linux RNG: вся энтропия основана на теоретически
необоснованных утверждениях.
Windows RNG: проприетарный.
...?
Смышляев, Алексеев, Агафьин () 96 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Генераторы случайных чисел
ГСЧ, ДСЧ, ГПСЧ
Случайные числа – важнейший аттрибут любой
криптографической системы.
Зачем изобретать велосипед? Можно взять любой надежный
западный ДСЧ!
Dual EC DRBG: продвижение скрытно проплачивается АНБ
(Сноуден, 2013).
Intel Secure Key: потенциальный рай для аппаратных закладок
(Becker, 2013).
Linux RNG: вся энтропия основана на теоретически
необоснованных утверждениях.
Windows RNG: проприетарный.
...?
Смышляев, Алексеев, Агафьин () 96 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Генераторы случайных чисел
Отечественные ГСЧ
Вид Представители
Высокая
скорость
Широкая
применимость
Аппаратные
датчики
"Соболь";
"Аккорд"; ...
+ –
Биологические
датчики
КриптоПро CSP – +
Перспективные
датчики
Попов-Смышляев
"РусКрипто’2013";
Агафьин
"РусКрипто’2015";
+ +
Смышляев, Алексеев, Агафьин () 97 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Встраивание отечественной криптографии
1 Российские криптоалгоритмы: стандарты, мифы, перспективы
Стойкость алгоритмов ГОСТ
Производительность алгоритмов ГОСТ
2 Криптография на ГОСТ и реальная защищенность
Безопасность
”
бумажная“ и реальная
Уязвимости при небезопасном выборе IV в CBC, CFB
Уязвимости при небезопасном использовании паддинга
Уязвимости при перекрытии гаммы
Уязвимости при превышении нагрузки на ключ
Выбор алгоритма хэширования
Рекомендации по стандартизации ТК 26
3 Практическое использование
Решаемые задачи
Ключевые носители
Генераторы случайных чисел
Встраивание отечественной криптографии
Смышляев, Алексеев, Агафьин () 98 / 128
© 2000-2015 КРИПТО-ПРО
Практическое использование Встраивание отечественной криптографии
Встраивание
Это всё здорово, но...
Западные решения и алгоритмы есть по умолчанию везде. Что же
нужно, чтобы работали отечественные?
А почти ничего!
Смышляев, Алексеев, Агафьин () 99 / 128
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?
Российская криптография: так ли всё грустно?

More Related Content

More from Positive Hack Days

Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikPositive Hack Days
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQubePositive Hack Days
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityPositive Hack Days
 
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Positive Hack Days
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для ApproofPositive Hack Days
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Positive Hack Days
 
Формальные методы защиты приложений
Формальные методы защиты приложенийФормальные методы защиты приложений
Формальные методы защиты приложенийPositive Hack Days
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложенийPositive Hack Days
 
Теоретические основы Application Security
Теоретические основы Application SecurityТеоретические основы Application Security
Теоретические основы Application SecurityPositive Hack Days
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Hack Days
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиPositive Hack Days
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОPositive Hack Days
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке СиPositive Hack Days
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CorePositive Hack Days
 
SOC для КИИ: израильский опыт
SOC для КИИ: израильский опытSOC для КИИ: израильский опыт
SOC для КИИ: израильский опытPositive Hack Days
 
Honeywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterHoneywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterPositive Hack Days
 
Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиPositive Hack Days
 

More from Positive Hack Days (20)

Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQube
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps Community
 
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для Approof
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»
 
Формальные методы защиты приложений
Формальные методы защиты приложенийФормальные методы защиты приложений
Формальные методы защиты приложений
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
 
Теоретические основы Application Security
Теоретические основы Application SecurityТеоретические основы Application Security
Теоретические основы Application Security
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на грабли
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПО
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET Core
 
SOC для КИИ: израильский опыт
SOC для КИИ: израильский опытSOC для КИИ: израильский опыт
SOC для КИИ: израильский опыт
 
Honeywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterHoneywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services Center
 
Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атаки
 

Российская криптография: так ли всё грустно?

  • 1. © 2000-2015 КРИПТО-ПРО Российская криптография: так ли всё грустно? Смышляев Станислав Витальевич, к.ф.-м.н., начальник отдела защиты информации Алексеев Евгений Константинович, к.ф.-м.н., ведущий инженер-аналитик Агафьин Сергей Сергеевич, инженер-программист Смышляев, Алексеев, Агафьин () 1 / 128
  • 2. © 2000-2015 КРИПТО-ПРО Расхожее мнение о российской криптографии Морально устаревшие решения. Проблемы с быстродействием. Проблемы со стойкостью. Ориентированность на ” бумажную“ безопасность и соответствие требованиям, а не на реальную защищенность. Следствие 1: Нередка позиция ” когда требуется показать сертификат ФСБ, используем ГОСТ, а в иных случаях переключаемся на RSA/AES“. Смышляев, Алексеев, Агафьин () 2 / 128
  • 3. © 2000-2015 КРИПТО-ПРО Расхожее мнение о российской криптографии Морально устаревшие решения. Проблемы с быстродействием. Проблемы со стойкостью. Ориентированность на ” бумажную“ безопасность и соответствие требованиям, а не на реальную защищенность. Следствие 1: Нередка позиция ” когда требуется показать сертификат ФСБ, используем ГОСТ, а в иных случаях переключаемся на RSA/AES“. Смышляев, Алексеев, Агафьин () 2 / 128
  • 4. © 2000-2015 КРИПТО-ПРО Следствие 2: Критика российских решений зачастую не конструктивна, а шаблонна, полна клише. Многие ” и так знают“, что все плохо — всякая критика охотно подхватывается аудиторией без апробации и верификации. У специалистов по практической безопасности — меньше выбор доступных криптографических механизмов, продуктов для встраивания. У российских криптографов — априорно пыльноватая репутация. У разработчиков и интеграторов российских криптосредств — меньше конструктивной критики, информации о реальных уязвимостях. Смышляев, Алексеев, Агафьин () 3 / 128
  • 5. © 2000-2015 КРИПТО-ПРО Следствие 2: Критика российских решений зачастую не конструктивна, а шаблонна, полна клише. Многие ” и так знают“, что все плохо — всякая критика охотно подхватывается аудиторией без апробации и верификации. У специалистов по практической безопасности — меньше выбор доступных криптографических механизмов, продуктов для встраивания. У российских криптографов — априорно пыльноватая репутация. У разработчиков и интеграторов российских криптосредств — меньше конструктивной критики, информации о реальных уязвимостях. Смышляев, Алексеев, Агафьин () 3 / 128
  • 6. © 2000-2015 КРИПТО-ПРО Следствие 2: Критика российских решений зачастую не конструктивна, а шаблонна, полна клише. Многие ” и так знают“, что все плохо — всякая критика охотно подхватывается аудиторией без апробации и верификации. У специалистов по практической безопасности — меньше выбор доступных криптографических механизмов, продуктов для встраивания. У российских криптографов — априорно пыльноватая репутация. У разработчиков и интеграторов российских криптосредств — меньше конструктивной критики, информации о реальных уязвимостях. Смышляев, Алексеев, Агафьин () 3 / 128
  • 7. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 4 / 128
  • 8. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 5 / 128
  • 9. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ Стойкость ГОСТ 28147-89 (блоковый шифр) ГОСТ 28147-89, атаки Куртуа Октябрь 2010 года: начат процесс рассмотрения включения ГОСТ 28147-89 в международный стандарт ISO/IEC 18033-3. В мае 2011 года на ePrint статья Николя Куртуа: использование алгебраических методов и дифференциальных (работа от мая 2011 и последующие 5 работ). По алгебраическим: нет детального описания и анализа трудоемкости второго и главного этапа определения ключа, есть только экспериментальные данные на аналогах меньшей размерности (не верифицируемые). По дифференциальным: анализ для узлов замены, отличных от действующих и от предложенных в ISO. Рудской, Дмух (см. ePrint): даже если принять необоснованные ” факты“ Куртуа и провести анализ ГОСТ 28147-89 с другими узлами замены, то атака не лучше полного перебора. Смышляев, Алексеев, Агафьин () 6 / 128
  • 10. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ Стойкость ГОСТ 28147-89 (блоковый шифр) Смышляев, Алексеев, Агафьин () 7 / 128
  • 11. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ Стойкость ГОСТ 28147-89 (блоковый шифр) ГОСТ 28147-89, атаки Исобе и Динура–Данкельмана–Шамира Корректные, математически строгие описания атак. Показано, что некоторые свойства алгоритма ГОСТ 28147-89 позволяют находить пути анализа, не учтенные создателями алгоритма. Трудоемкость атаки Исобе составляет 2224 операций зашифрования, атаки ДДШ — 2192. Для метода Исобе требуется 232 пар открытых и шифрованных текстов, для метода ДДШ — 264. При материале 232 уже с вероятностью ≈ 0.5 появляются повторяющиеся блоки шифртекста, при 264 ключ вовсе более не нужен (есть полная таблица зашифрования). Не произошло снижения даже теоретической стойкости. Смышляев, Алексеев, Агафьин () 8 / 128
  • 12. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ Стойкость ГОСТ Р 34.11-94 (функция хэширования) ГОСТ Р 34.11-94, атаки Менделя-Прамшталлера-Рехбергера Нахождение коллизии: 2105 вместо априорных 2128. Нахождение (второго) прообраза: 2192 вместо априорных 2256. Корректные, математически строгие описания атак. Смышляев, Алексеев, Агафьин () 9 / 128
  • 13. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ Переход на ГОСТ Р 34.11-2012 и ГОСТ Р 34.10-2012 2012 год: стандарт функции хэширования ГОСТ Р 34.11-2012 ( ” Стрибог“). Документ ФСБ России № 149/7/1/3-58 от 31.01.2014. ТЗ после 31 декабря 2012 года — должна быть реализация ГОСТ Р 34.10-2012 (и ГОСТ Р 34.11-2012). Использование ГОСТ Р 34.11-94 для использования при формировании подписи после 31 декабря 2018 года не допускается. Смышляев, Алексеев, Агафьин () 10 / 128
  • 14. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ Стойкость ГОСТ Р 34.11-2012 (функция хэширования) AlTawy R., Youssef A. M. – Preimage Attacks on reduced-round Stribog. AlTawy R., Kircanski A., Youssef A. M. – Rebound attacks on Stribog. Kazymyrov O., Kazymyrova V. – Algebraic aspects of the russian hash standard GOST R 34.11-2012. Ma B., Li B., Hao R., Li X. – Improved cryptanalysis of reduced-round GOST and Whirlpool hash function. Zou J., Wu W., Wu S. – Cryptanalysis of the round-reduced GOST hash function. AlTawy R., Youssef A. M. – Integral distinguishers for reduced-round. Stribog. AlTawy R., Youssef, A. M. – Watch your Constants: Malicious Streebog. Смышляев, Алексеев, Агафьин () 11 / 128
  • 15. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Стойкость алгоритмов ГОСТ Стойкость ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 (электронная подпись) С точки зрения структуры (и стойкости) ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 предельно близки к ECDSA: стойкость определяется: выбором эллиптических кривых; гарантией случайности одноразовых случайных величин в процессе подписи (вспомним уязвимость 2010 года в Sony PlayStation 3 из-за проблем в реализации ECDSA). Смышляев, Алексеев, Агафьин () 12 / 128
  • 16. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Производительность алгоритмов ГОСТ 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 13 / 128
  • 17. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Производительность алгоритмов ГОСТ Производительность ГОСТ 28147-89 (блоковый шифр) Шифрование: ГОСТ 28147-89, режим гаммирования без SSE/AVX: 28 тактов/байт (120 МБ/с/ядро 3.3 GHz); с AVX: 8.7 тактов/байт (390 МБ/с/ядро 3.3 GHz). Смышляев, Алексеев, Агафьин () 14 / 128
  • 18. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Производительность алгоритмов ГОСТ Производительность ГОСТ 28147-89 (блоковый шифр) Шифрование: ГОСТ 28147-89, режим гаммирования без SSE/AVX: 28 тактов/байт (120 МБ/с/ядро 3.3 GHz); с AVX: 8.7 тактов/байт (390 МБ/с/ядро 3.3 GHz). Смышляев, Алексеев, Агафьин () 15 / 128
  • 19. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Производительность алгоритмов ГОСТ Производительность ГОСТ 28147-89 (блоковый шифр) Шифрование: ГОСТ 28147-89, режим гаммирования Реализация на GPU (OpenCL): 1300 МБ/с (AMD Radeon HD 6970). Смышляев, Алексеев, Агафьин () 16 / 128
  • 20. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Производительность алгоритмов ГОСТ Производительность ГОСТ Р 34.11 (хэш-функции) Хэширование: ГОСТ Р 34.11-94 и ГОСТ Р 34.11-2012 ГОСТ Р 34.11-94: 40 тактов/байт (85 МБ/с/ядро 3.3 GHz); ГОСТ Р 34.11-2012: 30 тактов/байт (110 МБ/с/ядро 3.3 GHz). Смышляев, Алексеев, Агафьин () 17 / 128
  • 21. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Производительность алгоритмов ГОСТ Производительность ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 С точки зрения совокупности математических операций (и, следовательно, производительности) ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 предельно близки к ECDSA: производительность определяется выбором используемых полей, эллиптических кривых (параметров алгоритма подписи), а также проработкой реализаций операций в конечных полях и эллиптических кривых в реализациях. Сравнение с RSA Сравнимая стойкость ГОСТ Р 34.10-2001/2012-256 (по NIST SP 800-57): RSA-3072. Сравнимая стойкость ГОСТ Р 34.10-2012-512 (по NIST SP 800-57): между RSA-7680 и RSA-15360. Смышляев, Алексеев, Агафьин () 18 / 128
  • 22. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Производительность алгоритмов ГОСТ Производительность ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 (проверка подписи) Проверка ЭП: ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 ГОСТ Р 34.10-2001/2012-256: 9700 проверок в секунду; ГОСТ Р 34.10-2012-512: 1850 проверок в секунду. Смышляев, Алексеев, Агафьин () 19 / 128
  • 23. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Производительность алгоритмов ГОСТ Производительность ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 (формирование подписи) Формирование ЭП: ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 ГОСТ Р 34.10-2001/2012-256: 15800 формирований в секунду; ГОСТ Р 34.10-2012-512: 3400 формирований в секунду. Смышляев, Алексеев, Агафьин () 20 / 128
  • 24. © 2000-2015 КРИПТО-ПРО Российские криптографические алгоритмы Производительность алгоритмов ГОСТ Производительность ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 Криптосистема с открытым ключом В России нет стандарта для криптосистем с открытым ключом. Решение задачи ” зашифровать данные с использованием открытого ключа PubKA“ (зафиксировано в Рекомендациях по стандартизации ТК 26): породить эфемерный ключ β (с открытым ключом PubKβ), случайную величину UKM; вычислить SK = H(UKM · β · PubKA); зашифровать вход (как правило, ключ шифрования основных данных) на SK, передать шифртекст вместе с PubKβ и UKM. Время шифрования/расшифрования ≈ время проверки подписи. Смышляев, Алексеев, Агафьин () 21 / 128
  • 25. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 22 / 128
  • 26. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 23 / 128
  • 27. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Требования ФСБ России к шифровальным (криптографическим) средствам. Требования к средствам электронной подписи. Приказ ФСБ России N 378 ” Об утверждении . . . мер по обеспечению безопасности персональных данных при их обработке в информационных системах персональных данных с использованием СКЗИ . . .“ Требования к средствам удостоверяющего центра. Смышляев, Алексеев, Агафьин () 24 / 128
  • 28. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Критика Формальные модели нарушителя, не имеющие отношения к реальности. Проверяется безопасность к ” бумажным“ моделям, а не к реальным нарушителям. При возникновении проблем безопасности разработчики дают ответы ” в такой-то формальной модели все хорошо“. Из-за закрытости требований возникает (справедливо) ощущение непрозрачности при анализе защищенности. Смышляев, Алексеев, Агафьин () 25 / 128
  • 29. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Приказ ФСБ России N 378 КС1: ” проведение атаки, находясь вне контролируемой зоны“ КС2: ” проведение атаки при нахождении в пределах контролируемой зоны“ Смышляев, Алексеев, Агафьин () 26 / 128
  • 30. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Приказ ФСБ России N 378 КС1: ” проведение атаки, находясь вне контролируемой зоны“ — атаки на криптографические протоколы через сеть КС2: ” проведение атаки при нахождении в пределах контролируемой зоны“ — нарушитель в непосредственной близости, анализ секторов диска после удаления данных Смышляев, Алексеев, Агафьин () 27 / 128
  • 31. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Приказ ФСБ России N 378 КС3: ” возможность располагать аппаратными компонентами СКЗИ и СФ, ограниченная мерами, реализованными в информационной системе, в которой используется СКЗИ, и направленными на предотвращение и пресечение несанкционированных действий“ KB: ” создание способов, подготовка и проведение атак с привлечением специалистов в области анализа сигналов, сопровождающих функционирование СКЗИ и СФ, и в области использования для реализации атак недокументированных (недекларированных) возможностей прикладного ПО“ Смышляев, Алексеев, Агафьин () 28 / 128
  • 32. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Приказ ФСБ России N 378 КС3: ” возможность располагать аппаратными компонентами СКЗИ и СФ, ограниченная мерами, реализованными в информационной системе, в которой используется СКЗИ, и направленными на предотвращение и пресечение несанкционированных действий“ — возможность атак при доступе к системе из-под другого аккаунта KB: ” создание способов, подготовка и проведение атак с привлечением специалистов в области анализа сигналов, сопровождающих функционирование СКЗИ и СФ, и в области использования для реализации атак недокументированных (недекларированных) возможностей прикладного ПО“ — возможность атак по побочным каналам Смышляев, Алексеев, Агафьин () 29 / 128
  • 33. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Пример: ключевой носитель Пассивный носитель. Активный автономный вычислитель. Функциональный ключевой носитель. Смышляев, Алексеев, Агафьин () 30 / 128
  • 34. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Пассивный носитель Использование ключа основным криптосредством: вычисления в оперативной памяти машины. Смышляев, Алексеев, Агафьин () 31 / 128
  • 35. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Активный автономный вычислитель Все вычисления на самом устройстве, ключ в память не попадает. Смышляев, Алексеев, Агафьин () 32 / 128
  • 36. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Доступ нарушителя к пользовательскому процессу в системе в любом случае (даже в случае HSM) означает компрометацию доступа к ключу. Защищенность пассивного и автономного носителей Доступ нарушителя к каналу от системы к носителю означает неминуемую компрометацию доступа к ключу. В случае пассивного носителя нарушитель потенциально извлекает из памяти ключ. В случае автономного вычислителя нарушитель потенциально перехватывает пароль и возможность подписи произвольных данных. В случае автономного вычислителя несоизмеримо опаснее атаки по побочным каналам (потребление, время). Смышляев, Алексеев, Агафьин () 33 / 128
  • 37. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Доступ нарушителя к пользовательскому процессу в системе в любом случае (даже в случае HSM) означает компрометацию доступа к ключу. Защищенность пассивного и автономного носителей Доступ нарушителя к каналу от системы к носителю означает неминуемую компрометацию доступа к ключу. В случае пассивного носителя нарушитель потенциально извлекает из памяти ключ. В случае автономного вычислителя нарушитель потенциально перехватывает пароль и возможность подписи произвольных данных. В случае автономного вычислителя несоизмеримо опаснее атаки по побочным каналам (потребление, время). Уровень защищенности (без дополнительных орг. мер) — КС1. Смышляев, Алексеев, Агафьин () 34 / 128
  • 38. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Доступ нарушителя к пользовательскому процессу в системе в любом случае (даже в случае HSM) означает компрометацию доступа к ключу. Защищенность пассивного и автономного носителей Доступ нарушителя к каналу от системы к носителю означает неминуемую компрометацию доступа к ключу. В случае пассивного носителя нарушитель потенциально извлекает из памяти ключ. В случае автономного вычислителя нарушитель потенциально перехватывает пароль и возможность подписи произвольных данных. В случае автономного вычислителя несоизмеримо опаснее атаки по побочным каналам (потребление, время). Уровень защищенности (без дополнительных орг. мер) — КС1. Смышляев, Алексеев, Агафьин () 34 / 128
  • 39. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Функциональный ключевой носитель Смышляев, Алексеев, Агафьин () 35 / 128
  • 40. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Функциональный ключевой носитель На аутентифицированном на пароле ключе согласования устанавливается защищенный канал связи между системой и носителем. Все дальнейшие пересылки между носителем производятся посредством защищенного канала. За счет распределения вычислений возможно уменьшение опасности атак по побочным каналам. Сам пароль также защищен от оффлайного перебора пароля с опробованием по полученным в канале данным (после действий нарушителя в канале). Оценочный уровень защищенности — КС3. Смышляев, Алексеев, Агафьин () 36 / 128
  • 41. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Функциональный ключевой носитель На аутентифицированном на пароле ключе согласования устанавливается защищенный канал связи между системой и носителем. Все дальнейшие пересылки между носителем производятся посредством защищенного канала. За счет распределения вычислений возможно уменьшение опасности атак по побочным каналам. Сам пароль также защищен от оффлайного перебора пароля с опробованием по полученным в канале данным (после действий нарушителя в канале). Оценочный уровень защищенности — КС3. Смышляев, Алексеев, Агафьин () 36 / 128
  • 42. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Анализируемые проблемы Уязвимости в базовых криптографических алгоритмах. Уязвимости в сопутствующих криптографических алгоритмах. Уязвимости в криптографических протоколах. Уязвимости при встраивании криптографических протоколов. Ошибки в реализации. Отсутствие в реализации достаточных мер противодействия предполагаемому нарушителю. Смышляев, Алексеев, Агафьин () 37 / 128
  • 43. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Анализируемые проблемы Уязвимости в базовых криптографических алгоритмах. Уязвимости в сопутствующих криптографических алгоритмах. Уязвимости в криптографических протоколах. 2010: «Ха-ха, теоретические проблемы стойкости протоколов не влияют на реальную защищенность» 2015: TLS: BEAST, POODLE, Lucky13... Смышляев, Алексеев, Агафьин () 38 / 128
  • 44. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Анализируемые проблемы Уязвимости в базовых криптографических алгоритмах. Уязвимости в сопутствующих криптографических алгоритмах. Уязвимости в криптографических протоколах. 2010: «Ха-ха, теоретические проблемы стойкости протоколов не влияют на реальную защищенность» 2015: TLS: BEAST, POODLE, Lucky13... Смышляев, Алексеев, Агафьин () 38 / 128
  • 45. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Анализируемые проблемы Уязвимости в базовых криптографических алгоритмах. Уязвимости в сопутствующих криптографических алгоритмах. Уязвимости в криптографических протоколах. 2010: «Ха-ха, теоретические проблемы стойкости протоколов не влияют на реальную защищенность» 2015: TLS: BEAST, POODLE, Lucky13... Смышляев, Алексеев, Агафьин () 38 / 128
  • 46. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Безопасность ” бумажная“ и реальная Потенциальные ошибки при шифровании данных При зашифровании/расшифровании данных на сессионных симметричных ключах возможны ошибки, связанные, в частности: с использованием небезопасных режимов работы шифра (ECB, иногда CBC); возникновением побочных каналов при небезопасном использовании механизмов выравнивания (паддинга); перекрытиями гаммы; использованием синхропосылок без обеспечения условия их непредсказываемости; работой с превышением допустимой нагрузки на ключ (работа без преобразования ключа). Смышляев, Алексеев, Агафьин () 39 / 128
  • 47. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Выбор IV в CBC, CFB 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 40 / 128
  • 48. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Выбор IV в CBC, CFB Режимы CBC, CFB: уязвимости при небезопасном выборе синхропосылок Ошибку в проектировании системы защиты информации, связанную с непродуманным механизмом выбора синхропосылок, могут совершить даже опытные криптографы. Ярким примером такого рода ошибки стала особенность протокола TLS 1.0, в котором при использовании блоковых шифров в режиме CBC в качестве синхропосылки очередного пакета выбирается последний блок шифртекста предыдущего пакета. Для эксплуатации данной уязвимости Дуонгом и Риззо в 2011 году был создан модуль BEAST, позволявший дешифровывать передаваемые cookie-файлы пользователя. Описание теоретической уязвимости было предложено еще за 7 лет до этого в работе Грегори Барда. Смышляев, Алексеев, Агафьин () 41 / 128
  • 49. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Выбор IV в CBC, CFB Режимы CBC, CFB: уязвимости при небезопасном выборе синхропосылок При работе блокового шифра в режиме CBC фиксируется синхропосылка C0 = IV, для получения каждого блока Ci шифртекста вычисляется значение Ci = EK(Mi ⊕ Ci−1), где EK — функция зашифрования блока текста на ключе K. Атака с выбором ОТ при известном IV. Проверяется, что для полученного ранее шифртекста C = (C1|C2| . . . |Cm) блок Mi ОТ M = (M1|M2| . . . |Mm) равен M∗. Таким образом, перебирая различные значения M∗, нарушитель может узнать содержимое блока ОТ. Смышляев, Алексеев, Агафьин () 42 / 128
  • 50. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Выбор IV в CBC, CFB Режимы CBC, CFB: уязвимости при небезопасном выборе синхропосылок В TLS с российскими алгоритмами, утвержденном ТК 26, данная уязвимость отсутствует, так как в данной версии используется режим гаммирования, а состояние регистров шифратора после обработки очередного пакета (являющееся некоторым аналогом синхропосылки в CBC), остается неизвестным нарушителю. Смышляев, Алексеев, Агафьин () 43 / 128
  • 51. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Использование паддинга 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 44 / 128
  • 52. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Использование паддинга Уязвимости при небезопасном использовании паддинга Пример Паддинг PKCS #5: сообщение дополняется ненулевым числом байтовых констант PADLEN до конца блока, где PADLEN — число требуемых байт паддинга. Например, при длине блока 8 байт сообщение (0x0A, 0x0B, 0x0C) будет дополнено до (0x0A, 0x0B, 0x0C, 0x05, 0x05, 0x05, 0x05, 0x05). При непродуманном выборе процедуры проверки паддинга возможно появление уязвимостей к атакам с выбором ШТ. Смышляев, Алексеев, Агафьин () 45 / 128
  • 53. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Использование паддинга Уязвимости при небезопасном использовании паддинга Пусть процедура приема так, что ошибку в паддинге нарушитель может отличить от ошибки в имитовставке. Тогда нарушителю, перехватившему в канале некоторое зашифрованное сообщение, чтобы дешифровать его последние q байт (в среднем), достаточно: направить получателю 128 · q сообщений (чтобы тот попробовал принять их на том же ключе), после чего получить коды ошибок. Каждый байт каждого блока восстанавливается в среднем за 128 запросов. Смышляев, Алексеев, Агафьин () 46 / 128
  • 54. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Использование паддинга Уязвимости при небезопасном использовании паддинга POODLE attack: Padding Oracle On Downgraded Legacy Encryption. Смена ключа после каждой ошибки на приеме не полностью устраняет проблему — соответствующая уязвимость в протоколе TLS версии 1.0 для использующих CBC наборов шифрования описана в 2001 году в работе Сержа Воденея. Заметим, что данная уязвимость в TLS с российскими алгоритмами, утвержденном ТК 26, отсутствует, так как в данной версии используется режим гаммирования, паддинг вовсе не используется. Смышляев, Алексеев, Агафьин () 47 / 128
  • 55. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 48 / 128
  • 56. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы Уязвимости при перекрытии гаммы Для стойкой криптосистемы (формально — IND-CPA–стойкой) в режиме гаммирования наличие у противника шифртекста при отсутствии ключа вовсе не уменьшает для него неопределенности открытого текста. В случае переиспользования гаммы неопределенность падает до значений, позволяющих провести практическую атаку. Элементарный пример Пусть биты a, b независимы Pr(a = 1) = Pr(b = 1) = 0.6. Тогда неопределенность (энтропия) при наличии битов шифртекста ca = a ⊕ ka и cb = b ⊕ kb составляет 1.942 бита. Если же ka = kb, энтропия падает в среднем до 0.945 бит — такой же она была бы, если бы каждый бит принимал бы некоторое значение с вероятностью ≈ 90%. Смышляев, Алексеев, Агафьин () 49 / 128
  • 57. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы Уязвимости при перекрытии гаммы Известный пример: режимы ECB и гаммирования Смышляев, Алексеев, Агафьин () 50 / 128
  • 58. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы Уязвимости при перекрытии гаммы Известный пример: режимы ECB и гаммирования Смышляев, Алексеев, Агафьин () 51 / 128
  • 59. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы Уязвимости при перекрытии гаммы Известный пример: режимы ECB и гаммирования Смышляев, Алексеев, Агафьин () 52 / 128
  • 60. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы Уязвимости при перекрытии гаммы Пример: режим гаммирования при перекрытии гаммы Смышляев, Алексеев, Агафьин () 53 / 128
  • 61. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы Уязвимости при перекрытии гаммы Пример: режим гаммирования при перекрытии гаммы Смышляев, Алексеев, Агафьин () 54 / 128
  • 62. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы Уязвимости при перекрытии гаммы Пример: режим гаммирования при перекрытии гаммы Смышляев, Алексеев, Агафьин () 55 / 128
  • 63. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы Уязвимости при перекрытии гаммы Пример: режим гаммирования при перекрытии гаммы Смышляев, Алексеев, Агафьин () 56 / 128
  • 64. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы Уязвимости при перекрытии гаммы Пример: режим гаммирования при перекрытии гаммы Смышляев, Алексеев, Агафьин () 57 / 128
  • 65. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы Уязвимости при перекрытии гаммы Пример: режим гаммирования при перекрытии гаммы Смышляев, Алексеев, Агафьин () 58 / 128
  • 66. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при перекрытии гаммы Уязвимости при перекрытии гаммы В случае переиспользования гаммы неопределенность падает до значений, позволяющих провести практическую атаку. В реализациях протоколов при сертификации проверяется обеспечение гарантируемой непредсказуемости синхропосылки. Смышляев, Алексеев, Агафьин () 59 / 128
  • 67. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 60 / 128
  • 68. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ Уязвимости при превышении нагрузки на ключ При шифровании без смены ключа текста длиннее допустимых значений могут становиться практически осуществимыми атаки по побочным каналам (напряжение, акустика, радиоволны и пр.). При существенном превышении допустимых значений всякий алгоритм шифрования теряет положительные криптографические качества. При шифровании ГОСТ 28147-89 более 32 ГБ информации вероятность совпадения выходных блоков алгоритма шифрования достигает 50%. Смышляев, Алексеев, Агафьин () 61 / 128
  • 69. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ Уязвимости при превышении нагрузки на ключ Проблема При шифровании без смены ключа текста длиннее допустимых значений могут становиться практически осуществимыми атаки по побочным каналам (напряжение, акустика, радиоволны и пр.). Необходимо проектировать процедуры работы с сессионными ключами по принципу использования каждого ключа для весьма небольшого числа сообщений. Смышляев, Алексеев, Агафьин () 62 / 128
  • 70. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ Организация работы с сессионными ключами Решение При шифровании использовать режим преобразования ключа (реализуется в криптосредстве, прозрачно для приложений): RFC 4357: 2.3.2: Key Meshing. Но: сохраняется ограничение на количество шифруемых сообщений на одном ключе (T · 1024 сообщений произвольной длины). Без преобразования ключей: шифровать не более T МБ на одном ключе. С преобразованием ключей: шифровать не более T · 1024 независимых сообщений на одном ключе. Смышляев, Алексеев, Агафьин () 63 / 128
  • 71. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ Организация работы с сессионными ключами Необходимо проектировать процедуры работы с сессионными ключами по принципу использования каждого ключа для весьма небольшого числа сообщений. Недопустимое решение for(QWORD i = 0; i < qwTotalDataBlocks; i++) { CryptDuplicateKey(hKey, 0, 0, &hTmpKey); CryptEncrypt(hTmpKey, 0, TRUE, 0, ppbData[i], &(pdwLen[i]), pdwBufLen[i]); CryptDestroyKey(hTmpKey); } Смышляев, Алексеев, Агафьин () 64 / 128
  • 72. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ Организация работы с сессионными ключами Вариант решения: IPsec ESP ” Техническая спецификация по использованию ГОСТ 28147-89 при шифровании вложений в протоколе IPsec ESP“, раздел 5.6. Преобразование ESP_GOST-4M-IMIT. RootKey Divers( RootKey , i&Mask1) Divers( Divers( RootKey , i&Mask1) , i&Mask2) Key[i] = Divers( Divers( Divers( RootKey , i&Mask1) , i&Mask2) , i&Mask3) Mask1 = 0xffffffff00000000, Mask2 = 0xffffffffffff0000, Mask3 = 0xffffffffffffffc0. Смышляев, Алексеев, Агафьин () 65 / 128
  • 73. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Уязвимости при превышении нагрузки на ключ Организация работы с сессионными ключами Алгоритмы диверсификации CALG_PRO_DIVERS: RFC 4357, раздел 7. Алгоритм Secret Key Diversification; CALG_PRO12_DIVERS: ТК 26, ” Рекомендации по стандартизации. Использование криптографических алгоритмов...“. Алгоритм KDF_TREE_GOSTR3411_2012_256. Смышляев, Алексеев, Агафьин () 66 / 128
  • 74. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Выбор алгоритма хэширования 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 67 / 128
  • 75. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Выбор алгоритма хэширования Уязвимости при использовании стойкого алгоритма подписи со слабым алгоритмом хэширования Не запрещено использовать MD5 + RSA или даже MD5 + ГОСТ Р 34.10-2001 как усиленную неквалифицированную подпись. Миф: даже поломанные с точки зрения теории хэш-функции можно использовать с ЭП Частично правда: если подписать MD5-хэш документа, подделать подписанный документ на практике невозможно (стойкость MD5 к нахождению прообраза/второго прообраза снижена с 2128 только на 5 порядков). При ошибке проектирования систем документооборота с использованием такой подписи уязвимость становится эксплуатируемой на практике. Смышляев, Алексеев, Агафьин () 68 / 128
  • 76. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Выбор алгоритма хэширования Уязвимости при использовании стойкого алгоритма подписи со слабым алгоритмом хэширования Рассмотрим систему, в которой документы подписываются следующим образом Signature(Key, Src) = SignRSA−2048 (Key, hSHA3 (hMD5(Src)|Attrs)) Аналогичная процедура формирования подписи (с вариабельностью алгоритмов) используется в Microsoft Authenticode. Смышляев, Алексеев, Агафьин () 69 / 128
  • 77. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Выбор алгоритма хэширования Уязвимости при использовании стойкого алгоритма подписи со слабым алгоритмом хэширования Signature(Key, Src) = SignRSA−2048 (Key, hSHA3 (hMD5(Src)|Attrs)) Подписывающая сторона Интересы честной подписывающей стороны удовлетворены: модифицировать документ, снабдив его поддельной подписью, текущее состояние криптоанализа не позволяет (слабое звено — второй прообраз для хэш-значения MD5 — 2123, около десяти миллиардов лет работы миллиардов 3ГГц–процессорных ядер). Смышляев, Алексеев, Агафьин () 70 / 128
  • 78. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Выбор алгоритма хэширования Уязвимости при использовании стойкого алгоритма подписи со слабым алгоритмом хэширования Signature(Key, Src) = SignRSA−2048 (Key, hSHA3 (hMD5(Src)|Attrs)) Проверяющая сторона Ввод в заблуждение: стойкий алгоритм подписи RSA-2048 используется в паре со стойкой хэш-функцией SHA3. Но: вычисление основного хэша документа производит быстрая, но обладающая практическими уязвимостями MD5 (коллизии строятся за 224 — одна-две секунды). Для ряда форматов существуют практически осуществимые атаки с созданием пары документов (pdf, djvu, исполняемых файлов) с различным (осмысленным, запланированным нарушителем) содержанием, но одним значением хэша MD5, а следовательно, и значением Signature(K, Src). Смышляев, Алексеев, Агафьин () 71 / 128
  • 79. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Выбор алгоритма хэширования Уязвимости при использовании стойкого алгоритма подписи со слабым алгоритмом хэширования Усиленная квалифицированная электронная подпись может быть сформирована только с помощью: ГОСТ Р 34.11-94 + ГОСТ Р 34.10-2001. ГОСТ Р 34.11-2012 (256 бит) + ГОСТ Р 34.10-2012 (256 бит). ГОСТ Р 34.11-2012 (512 бит) + ГОСТ Р 34.10-2012 (512 бит). В стандартах электронной подписи явным образом прописан алгоритм хэширования, с которым можно использовать подпись. Известные уязвимости существуют только у ГОСТ Р 34.11-94, однако носят сугубо теоретический характер: построение коллизии за 2105 — миллион лет работы миллиарда 3-ГГц процессорных ядер (против секунды на одном ядре для MD5). Известных уязвимостей у ГОСТ Р 34.11-2012, ГОСТ Р 34.10-2001, ГОСТ Р 34.10-2012 нет. Смышляев, Алексеев, Агафьин () 72 / 128
  • 80. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 73 / 128
  • 81. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26 Технический комитет по стандартизации ” Криптографическая защита информации“ Росстандарта (ТК 26) Производительность и стойкость ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 определяется, в частности, выбором параметров эллиптических кривых. "Рекомендации по стандартизации. Задание параметров эллиптических кривых в соответствии с ГОСТ Р 34.10-2012". Смышляев, Алексеев, Агафьин () 74 / 128
  • 82. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26 Технический комитет по стандартизации ” Криптографическая защита информации“ Росстандарта (ТК 26) Доверие к выбору параметров: принцип ” проверяемой случайности“. Выработка параметров с помощью односторонней функции. На практике, с помощью некоторого ” трудно“ обратимого преобразования: на основе хэш-функции ГОСТ Р 34.11-2012. На вход данного преобразования — случайные строки. Разные алгебраические структуры — даже специальный подбор входных строк не позволяет осуществлять выбор окончательных параметров для принадлежности классу заведомо "слабых". Смышляев, Алексеев, Агафьин () 75 / 128
  • 83. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26 Технический комитет по стандартизации ” Криптографическая защита информации“ Росстандарта (ТК 26) Доверие к выбору параметров: принцип ” проверяемой случайности“. Выработка параметров с помощью односторонней функции. На практике, с помощью некоторого ” трудно“ обратимого преобразования: на основе хэш-функции ГОСТ Р 34.11-2012. На вход данного преобразования — случайные строки. Разные алгебраические структуры — даже специальный подбор входных строк не позволяет осуществлять выбор окончательных параметров для принадлежности классу заведомо "слабых". Смышляев, Алексеев, Агафьин () 75 / 128
  • 84. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26 Технический комитет по стандартизации ” Криптографическая защита информации“ Росстандарта (ТК 26) Стойкость ГОСТ 28147-89 определяется, в частности, выбором узлов замены. "Рекомендации по стандартизации. Задание узлов замены блока подстановки алгоритма шифрования ГОСТ 28147-89". Смышляев, Алексеев, Агафьин () 76 / 128
  • 85. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26 Технический комитет по стандартизации ” Криптографическая защита информации“ Росстандарта (ТК 26) Для использования в протоколах описанных в стандартах алгоритмов необходимы происследованные безопасные конструкции на их основе. "Рекомендации по стандартизации. Использование криптографических алгоритмов, сопутствующих применению стандартов ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012". Смышляев, Алексеев, Агафьин () 77 / 128
  • 86. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26 Технический комитет по стандартизации ” Криптографическая защита информации“ Росстандарта (ТК 26) Для работы российских криптоалгоритмов в протоколах необходимы происследованные безопасные процедуры работы. "Техническая спецификация по использованию ГОСТ 28147-89, ГОСТ Р 34.11-94 и ГОСТ Р 34.10-2001 при согласовании ключей в протоколах IKE и ISAKMP". "Техническая спецификация по использованию ГОСТ 28147-89 при шифровании вложений в протоколе IPsec ESP". "Техническая спецификация по использованию ГОСТ Р 34.11-94 при обеспечении целостности в протоколах IPsec AH и ESP". Смышляев, Алексеев, Агафьин () 78 / 128
  • 87. © 2000-2015 КРИПТО-ПРО Криптография на ГОСТ и реальная защищенность Рекомендации по стандартизации ТК 26 Технический комитет по стандартизации ” Криптографическая защита информации“ Росстандарта (ТК 26) "Техническая спецификация использования алгоритмов ГОСТ Р 34.10, ГОСТ Р 34.11 в профиле сертификата и списке отзыва сертификатов (CRL) инфраструктуры открытых ключей X.509". "Рекомендации по стандартизации. Использование алгоритмов ГОСТ 28147-89, ГОСТ Р 34.11 и ГОСТ Р 34.10 в криптографических сообщениях формата CMS". "Рекомендации по стандартизации. Использованию наборов алгоритмов шифрования на основе ГОСТ 28147-89 для протокола безопасности транспортного уровня (TLS)". Смышляев, Алексеев, Агафьин () 79 / 128
  • 88. © 2000-2015 КРИПТО-ПРО Практическое использование 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 80 / 128
  • 89. © 2000-2015 КРИПТО-ПРО Практическое использование Решаемые задачи 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 81 / 128
  • 90. © 2000-2015 КРИПТО-ПРО Практическое использование Решаемые задачи Решаемые нетривиальные задачи при реализации Диспетчеризация смарт-карт Минимизация обращений к устройствам. Кэширование: паролей и контекстов. Синхронизация: отдельные блокировки для каждой ОС. Защита криптографических ключей Если ключ окажется в памяти в открытом виде, обязательно найдется уязвимость, через которую его можно достать (см. HeartBleed). Иногда достаточно даже простого аппаратного сбоя. Хранение ключей под маскирующим преобразованием: как на смарт-картах, так и в ОЗУ. Выполнение операций над преобразованными данными. Нормализация времени выполнения операций для исключения атак по энергопотреблению. Смышляев, Алексеев, Агафьин () 82 / 128
  • 91. © 2000-2015 КРИПТО-ПРО Практическое использование Ключевые носители 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 83 / 128
  • 92. © 2000-2015 КРИПТО-ПРО Практическое использование Ключевые носители Хранение криптографических ключей Подходы к хранению ключей Флешки / файлы / реестр. Пассивные ключевые носители. Активные ключевые носители. Ключевые носители с протоколами нового поколения. Смышляев, Алексеев, Агафьин () 84 / 128
  • 93. © 2000-2015 КРИПТО-ПРО Практическое использование Ключевые носители Пассивные токены Смышляев, Алексеев, Агафьин () 85 / 128
  • 94. © 2000-2015 КРИПТО-ПРО Практическое использование Ключевые носители Активные токены Смышляев, Алексеев, Агафьин () 86 / 128
  • 95. © 2000-2015 КРИПТО-ПРО Практическое использование Ключевые носители Биометрические токены Использование вносит третий фактор аутентификации: наличие самого пользователя. Плюсы: Защита даже при компрометации ПИН-кода. Потенциальная возможность встраивания в существующие системы. Минусы: Усложнение архитектур пользовательских приложений. Повышение сложности программного обеспечения токенов. Смышляев, Алексеев, Агафьин () 87 / 128
  • 96. © 2000-2015 КРИПТО-ПРО Практическое использование Ключевые носители Защищенный обмен сообщениями Смышляев, Алексеев, Агафьин () 88 / 128
  • 97. © 2000-2015 КРИПТО-ПРО Практическое использование Ключевые носители Протоколы защиты с сервером Смышляев, Алексеев, Агафьин () 89 / 128
  • 98. © 2000-2015 КРИПТО-ПРО Практическое использование Ключевые носители Протоколы защиты с сервером Примеры: Универсальная электронная карта (УЭК). Электронные паспорта РФ (проект). Плюсы: Защита практически от любого нарушителя в канале. Использование простых протоколов (DH) и структур данных (CV-сертификаты). Минусы: Требуется подключение к Интернет с определенными разрешениями. Высокий порог вхождения даже для продвинутого пользователя. Смышляев, Алексеев, Агафьин () 90 / 128
  • 99. © 2000-2015 КРИПТО-ПРО Практическое использование Ключевые носители Защищенные считыватели: визуализация данных Смышляев, Алексеев, Агафьин () 91 / 128
  • 100. © 2000-2015 КРИПТО-ПРО Практическое использование Ключевые носители Защищенные считыватели: визуализация данных Смышляев, Алексеев, Агафьин () 92 / 128
  • 101. © 2000-2015 КРИПТО-ПРО Практическое использование Ключевые носители Защищенные считыватели: Подпись на телефоне Смышляев, Алексеев, Агафьин () 93 / 128
  • 102. © 2000-2015 КРИПТО-ПРО Практическое использование Ключевые носители Защищенные считыватели: Подпись на телефоне Смышляев, Алексеев, Агафьин () 94 / 128
  • 103. © 2000-2015 КРИПТО-ПРО Практическое использование Генераторы случайных чисел 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 95 / 128
  • 104. © 2000-2015 КРИПТО-ПРО Практическое использование Генераторы случайных чисел ГСЧ, ДСЧ, ГПСЧ Случайные числа – важнейший аттрибут любой криптографической системы. Зачем изобретать велосипед? Можно взять любой надежный западный ДСЧ! Dual EC DRBG: продвижение скрытно проплачивается АНБ (Сноуден, 2013). Intel Secure Key: потенциальный рай для аппаратных закладок (Becker, 2013). Linux RNG: вся энтропия основана на теоретически необоснованных утверждениях. Windows RNG: проприетарный. ...? Смышляев, Алексеев, Агафьин () 96 / 128
  • 105. © 2000-2015 КРИПТО-ПРО Практическое использование Генераторы случайных чисел ГСЧ, ДСЧ, ГПСЧ Случайные числа – важнейший аттрибут любой криптографической системы. Зачем изобретать велосипед? Можно взять любой надежный западный ДСЧ! Dual EC DRBG: продвижение скрытно проплачивается АНБ (Сноуден, 2013). Intel Secure Key: потенциальный рай для аппаратных закладок (Becker, 2013). Linux RNG: вся энтропия основана на теоретически необоснованных утверждениях. Windows RNG: проприетарный. ...? Смышляев, Алексеев, Агафьин () 96 / 128
  • 106. © 2000-2015 КРИПТО-ПРО Практическое использование Генераторы случайных чисел ГСЧ, ДСЧ, ГПСЧ Случайные числа – важнейший аттрибут любой криптографической системы. Зачем изобретать велосипед? Можно взять любой надежный западный ДСЧ! Dual EC DRBG: продвижение скрытно проплачивается АНБ (Сноуден, 2013). Intel Secure Key: потенциальный рай для аппаратных закладок (Becker, 2013). Linux RNG: вся энтропия основана на теоретически необоснованных утверждениях. Windows RNG: проприетарный. ...? Смышляев, Алексеев, Агафьин () 96 / 128
  • 107. © 2000-2015 КРИПТО-ПРО Практическое использование Генераторы случайных чисел Отечественные ГСЧ Вид Представители Высокая скорость Широкая применимость Аппаратные датчики "Соболь"; "Аккорд"; ... + – Биологические датчики КриптоПро CSP – + Перспективные датчики Попов-Смышляев "РусКрипто’2013"; Агафьин "РусКрипто’2015"; + + Смышляев, Алексеев, Агафьин () 97 / 128
  • 108. © 2000-2015 КРИПТО-ПРО Практическое использование Встраивание отечественной криптографии 1 Российские криптоалгоритмы: стандарты, мифы, перспективы Стойкость алгоритмов ГОСТ Производительность алгоритмов ГОСТ 2 Криптография на ГОСТ и реальная защищенность Безопасность ” бумажная“ и реальная Уязвимости при небезопасном выборе IV в CBC, CFB Уязвимости при небезопасном использовании паддинга Уязвимости при перекрытии гаммы Уязвимости при превышении нагрузки на ключ Выбор алгоритма хэширования Рекомендации по стандартизации ТК 26 3 Практическое использование Решаемые задачи Ключевые носители Генераторы случайных чисел Встраивание отечественной криптографии Смышляев, Алексеев, Агафьин () 98 / 128
  • 109. © 2000-2015 КРИПТО-ПРО Практическое использование Встраивание отечественной криптографии Встраивание Это всё здорово, но... Западные решения и алгоритмы есть по умолчанию везде. Что же нужно, чтобы работали отечественные? А почти ничего! Смышляев, Алексеев, Агафьин () 99 / 128