SlideShare a Scribd company logo
1 of 62
Download to read offline
Chosen ciphertext security importance

              И. Жирков1

          1 Computer   Science Center


           22 февраля 2012 г.
Содержание
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
План
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
Definition (Математическая модель системы
шифрования/дешифрования дискретных сообщений)
Пара функций:
{︃
  E = f (M, e)
  D = g(E, d)
которые преобразуют сообщение M в криптограмму E при
помощи ключа шифрования e и, наоборот, криптограмму E
в сообщение M при помощи ключа дешифрования d .

  ∙ Функции E = f (M, e) и D = g(E, d) при известных
   аргументах вычисляются сравнительно просто.
  ∙ Функция D = g(E, ?) при неизвестном ключе
   дешифрования вычисляется достаточно сложно.
Definition (Математическая модель системы
шифрования/дешифрования дискретных сообщений)
Пара функций:
{︃
  E = f (M, e)
  D = g(E, d)
которые преобразуют сообщение M в криптограмму E при
помощи ключа шифрования e и, наоборот, криптограмму E
в сообщение M при помощи ключа дешифрования d .

  ∙ Функции E = f (M, e) и D = g(E, d) при известных
   аргументах вычисляются сравнительно просто.
  ∙ Функция D = g(E, ?) при неизвестном ключе
   дешифрования вычисляется достаточно сложно.
Definition (Математическая модель системы
шифрования/дешифрования дискретных сообщений)
Пара функций:
{︃
  E = f (M, e)
  D = g(E, d)
которые преобразуют сообщение M в криптограмму E при
помощи ключа шифрования e и, наоборот, криптограмму E
в сообщение M при помощи ключа дешифрования d .

  ∙ Функции E = f (M, e) и D = g(E, d) при известных
   аргументах вычисляются сравнительно просто.
  ∙ Функция D = g(E, ?) при неизвестном ключе
   дешифрования вычисляется достаточно сложно.
Минимальная рекомендованная длина ключа — 128 бит, т.е.
существует 2128 возможных ключей.
Перебор требует огромного времени и вычислительных
ресурсов.
План
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
Симметричные и асимметричные
                   системы шифрования


∙ В симметричных системах (с закрытым ключом) один
 из ключей (e, d) можно вычислительно просто
 определить по другому.
 Оба ключа должны быть секретными.
 Практически всегда e = d.
∙ В асимметричных системах (с открытым ключом)
 нельзя вычислительно просто получить d зная e.
 e — открытый ключ, известен даже злоумышленнику.
 Мы рассматриваем оба типа систем.
Симметричные и асимметричные
                   системы шифрования


∙ В симметричных системах (с закрытым ключом) один
 из ключей (e, d) можно вычислительно просто
 определить по другому.
 Оба ключа должны быть секретными.
 Практически всегда e = d.
∙ В асимметричных системах (с открытым ключом)
 нельзя вычислительно просто получить d зная e.
 e — открытый ключ, известен даже злоумышленнику.
 Мы рассматриваем оба типа систем.
План
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
Модель Шеннона




Боб и Алиса — порядочные пользователи.
∙ Имеется источник ключей шифрования e и
 дешифрования d
∙ Шифруем сообщение с использованием e
∙ Передаём криптограмму по незащищённому каналу
∙ Получатель может восстановить сообщение с помощью
 дешифрующего преобразования.
План
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
Шеннон изучал вопросы:
 ∙ Насколько устойчива система, если криптоаналитик
   противника не ограничен временем и обладает всеми
   необходимыми средствами для анализа криптограмм?
 ∙ Имеет ли криптограмма единственное решение?
 ∙ Какой объем шифртекста необходимо перехватить
   криптоаналитику, чтобы решение стало единственным?
Совершенная секретность




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

                 ∀C∀M : PC (M) = P(M)
В системе Шеннона противник может только перехватывать
и анализировать сообщения, но не изменять их.
В качестве идеальной криптосистемы Шеннон предлагал
шифрблокноты.
Не только непрактичны, но и не гарантируют целостность.
В системе Шеннона противник может только перехватывать
и анализировать сообщения, но не изменять их.
В качестве идеальной криптосистемы Шеннон предлагал
шифрблокноты.
Не только непрактичны, но и не гарантируют целостность.
Любое определение "безопасности" для криптосистемы
состоит из двух пунктов:
  ∙ Каковы возможности злоумышленника?
  ∙ Что значит "сломать" систему?
В зависимости от возможностей злоумышленника говорят о:
  ∙ Пассивном злоумышленнике (Semantic Security)
  ∙ Активном злоумышленнике (Chosen Ciphertext Security,
   Non-Malleability)
Удобно определять понятия безопасности как описания
антагонистических игр между "хорошим парнем" Грегом и
"плохим парнем" Стивом.
План
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
Semantic Security
  ∙ Злоумышленник "подслушивает" (eavesdropping
    adversary)
  ∙ Что означает сломать Semantic Secure систему?
      1 Грег генерирует ключ.
      2 Стив даёт Грегу сообщения m0 и m1 одинаковой длины.
      3 Грег бросает монетку. Если выпала решка, он
        зашифровывает m0 и даёт криптограмму Стиву, иначе
        m1 .
      4 Стив должен угадать, какое из двух сообщений
        зашифровал Грег.
Для идеально стойкой криптосистемы, у Стива не должно
быть шанса угадать сообщение с вероятностью, большей 1 .
                                                     2
Для вычислительно стойкой криптосистемы, —
эффективного способа угадать с вероятностью существенно
большей, чем 1 .
             2
Если атакующий может только прослушивать сообщения, то
Semantic Security — адекватное определение безопасности.
Обычно же атакующий может играть активную роль:
модифицировать сообщения или отправлять свои
собственные.
Chosen Plaintext Security

∙ Теперь злоумышленник может попросить зашифровать
    произвольный текст
∙    1   Грег генерирует ключ.
     2   Стив просит Грега зашифровать произвольное
         количество текстов и получает их криптограммы.
     3   Стив даёт Грегу сообщения m0 и m1 одинаковой длины.
     4   Грег бросает монетку. Если выпала решка, он шифрует
         m0 и отправляет его Стиву, иначе m1 . Назовём эту
         криптограмму e′ .
     5   Стив просит Грега зашифровать произвольное
         количество текстов, включая m0 и m1 , и получает их
         криптограммы.
     6   Стив должен угадать, какое из двух сообщений
         зашифровал Грег.
Chosen Ciphertext Security


∙ А теперь Стив может давать криптограммы на
    расшифровку!
∙    1   Грег генерирует ключ.
     2   Стив просит Грега расшифровать любые криптограммы
         и шифровать любые тексты.
     3   Стив даёт Грегу сообщения m0 и m1 одинаковой длины.
     4   Грег бросает монетку. Если выпала решка, он шифрует
         m0 и отправляет его Стиву, иначе m1 . Назовём эту
         криптограмму e′ .
     5   Стив может попросить Грега расшифровать любые
         криптограммы (кроме e′ ) и шифровать любые тексты.
     6   Стив должен угадать, какое из двух сообщений
         зашифровал Грег.
Вопрос




∙ Как добрый Грег отреагирует на некорректные
 криптограммы Стива и заметит ли Стив его необычную
 реакцию?
∙ Какую информацию Стив может почерпнуть из реакции
 Грега, поможет ли она ему "сломать" систему?
Chosen Ciphertext Security — очень сильное определение.
  ∙ Сложно доказать, что система или протокол
    удовлетворяют ему.
  ∙ Многие инженеры полагают, что им не нужны такие
    сильные гарантии столь большими усилиями.
Chosen Ciphertext Security — очень сильное определение.
  ∙ Сложно доказать, что система или протокол
    удовлетворяют ему.
  ∙ Многие инженеры полагают, что им не нужны такие
    сильные гарантии столь большими усилиями.
План
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
Non-malleability



Параллельно с концепцией Chosen Ciphertext Security
развивалась концепция Non-malleability, т.е. невозможность
модификации криптограммы с предсказуемым результатом.
Было формально доказано, что свойство Non-Malleability
эквивалентно Chosen Ciphertext Security.
Интуитивно: если активный злоумышленник в ходе атаки не
получает информации, помогающей расшифровать
сообщение, то он не может и изменить сообщение внутри
криптограммы предсказуемым образом.
Non-malleability



Параллельно с концепцией Chosen Ciphertext Security
развивалась концепция Non-malleability, т.е. невозможность
модификации криптограммы с предсказуемым результатом.
Было формально доказано, что свойство Non-Malleability
эквивалентно Chosen Ciphertext Security.
Интуитивно: если активный злоумышленник в ходе атаки не
получает информации, помогающей расшифровать
сообщение, то он не может и изменить сообщение внутри
криптограммы предсказуемым образом.
Non-malleability



Параллельно с концепцией Chosen Ciphertext Security
развивалась концепция Non-malleability, т.е. невозможность
модификации криптограммы с предсказуемым результатом.
Было формально доказано, что свойство Non-Malleability
эквивалентно Chosen Ciphertext Security.
Интуитивно: если активный злоумышленник в ходе атаки не
получает информации, помогающей расшифровать
сообщение, то он не может и изменить сообщение внутри
криптограммы предсказуемым образом.
План
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
На самом деле достичь свойства Chosen Ciphertext Security
можно просто добавив MAC в Chosen Plaintext Secure
систему — для систем с закрытым ключом.
Definition (MAC)
MAC это набор алгоритмов:
  ∙ Gen — генерирует ключ на основании своего входа
  ∙ Mac генерирует тэг на основании ключа и сообщения.
    Бывает рандомизирован.
  ∙ Vrfy на основании ключа, сообщения и тэга заключает,
    корректно ли сообщение.
Интуитивно: Криптографическая контрольная сумма (как
контрольная сумма, но проверить её могут только хорошие
парни), или симметричный аналог цифровой подписи.
План
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
∙ В 1998 Блайхенбахер[2] выступил с сообщением об
 уязвимости протоколов, основанных на RSA,
 являющейся следствием незащищённости RSA от
 активных атак.
∙ В 2002 году Vaudenay [3] теоретически обосновал
 несоответствие SSL, IPSEC и некоторых других
 стандартов определению Chosen Ciphertext Security и
 предсказал возможность атак на них.
∙ В 2010 году Риззо и Дуонг[4] представили уязвимость
 шифрования в CBC режиме, которое в большинстве
 применений не удовлетворяет требованию Chosen
 Ciphertext Security, и показали практические примеры
 атак: взлом CAPTCHA, атаки на Apache, Ruby on Rails.
План
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
Cipher Block Chaining
Режим сцепления блоков шифротекста
Выравнивание




PCKS#5 — распространённый стандарт выравнивания.
http://sampleapp/home.jsp?UID=
7B216A634951170FF851D6CC68FC9537858
Шифрование
Расшифровка
План
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
∙ Берём первый блок криптограммы (не IV);
∙ Берем IV состоящий из нулей;
∙ Посылаем приложению запрос в виде конкатенации
 нулевого IV и первого блока криптограммы
UID=0000000000000000F851D6CC68FC9537
→ 500 - Internal Server Error
Инкрементируем последний байт IV до 0xFF, однажды он
даст нам верное выравнивание (один последний байт
расшифрованного текста равен единице)
Как только мы получим корректно сформированную
криптограмму (где в расшифровке выравнивание верно),
ответ сервера меняется с 500 на 200 (OK).
Такие атаки называют Padding Oracle Attack, потому что
сервер отвечает на вопрос, правильно ли выравнивание.
Совершенно аналогично (зная уже точно последний байт)
подберём предпоследний.
Подбираем еще шесть байт, финальная итерация будет
такой:
Мы подобрали первые 8 байт Intermediary value, потратив в
среднем 128 попыток на каждый байт.




Сложив это значение и исходный IV по модулю 2 получим
исходные 8 байт криптограммы.
Повторяем всю процедуру со вторым 8-ми байтным блоком
криптограммы.
План
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
CAPTCHA
HTTP — stateless protocol; состояние хранится на клиенте в
виде зашифрованной строки.
В противном случае был бы лёгкий способ организовать
DDoS атаки (много незакрытых подключений)
План
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
Так как Chosen Ciphertext Security == Non-Malleability, нам
достаточно защитить сообщения от изменений
злоумышленником.
Используются Message Authentication Code (MAC),
гарантирующие, что сообщение не модифицировано.
Chosen Plaintext Security + использование MAC = Chosen
Ciphertext Security
Так как Chosen Ciphertext Security == Non-Malleability, нам
достаточно защитить сообщения от изменений
злоумышленником.
Используются Message Authentication Code (MAC),
гарантирующие, что сообщение не модифицировано.
Chosen Plaintext Security + использование MAC = Chosen
Ciphertext Security
Возможные комбинации


|| — конкатенация
Encrypt-Then-MAC
           C=E(M), t = MAC(C)
           Посылаем C||t
MAC-Then-Encrypt
          t = MAC(M), C = E(M||t)
          Посылаем C
Encrypt-And-MAC — небезопасная
           C = E(M), t = MAC(M)
           Посылаем C||t
Возможные комбинации


|| — конкатенация
Encrypt-Then-MAC
           C=E(M), t = MAC(C)
           Посылаем C||t
MAC-Then-Encrypt
          t = MAC(M), C = E(M||t)
          Посылаем C
Encrypt-And-MAC — небезопасная
           C = E(M), t = MAC(M)
           Посылаем C||t
План
1 Введение
    Математическая модель
    Симметричные и асимметричные системы шифрования
2 Определение понятия безопасности
    Модель Шеннона
    Совершенная секретность по Шеннону
    Различные определения безопасности
    Non-malleability
    Message Authentification Code
3 Уязвимость в шифровании в режиме CBC
    Историческая справка
    Блочное шифрование в режиме CBC
    Где уязвимость?
    Примеры использования CBC
4 Как создать Chosen Ciphertext Secure систему?
    Принципы
    Практический итог
Encryption is not authentication




∙ Если вы шифруете сообщения, это не защищает их от
  модификации.
∙ Всегда необходима проверка целостности (Integrity
  check).
∙ Библиотечный примитив для защиты — authenticated
  encryption.
Материалы I
Jonathan Katz, Yehuda Lindell
Introduction to Modern Cryptography: Principles and
Protocols
Chapman & Hall, 2007.
D. Bleichenbacher
Chosen Ciphertext Attacks Against Protocols Based on the
RSA Encryption Standart PKCS, 1998.
S. Vaudenay
Security Flaws Induced by CBC Padding, 2002.
J. Rizzo, T. Duong
Practical Padding Oracle Attacks, 2010.
V. Shoup
Why chosen ciphertext security matters , IBM Research
Report RZ 3076, November, 1998
Материалы II




Brian Holyfield (Gotham Digital Security Blog)
Automated Padding Oracle Attacks with PadBuster, 2010
http://blog.gdssytecurity.com/l/b/2010/09/14/
automated-padding-oracle-attacks-with-padbuster/
Благодарности I




∙ Илья Миронов (Microsoft Research)
∙ Александр Куликов (АУ РАН, Computer Science Center)

More Related Content

Viewers also liked

O Espetacular Homem-Aranha 447
O Espetacular Homem-Aranha 447O Espetacular Homem-Aranha 447
O Espetacular Homem-Aranha 447Marcos Donato
 
Anorexia ppt
Anorexia pptAnorexia ppt
Anorexia pptfersoto9
 
Universidad capital general gerardo barrios
Universidad capital general gerardo barriosUniversidad capital general gerardo barrios
Universidad capital general gerardo barriosdark133
 
Kultura na křižovatce
Kultura na křižovatceKultura na křižovatce
Kultura na křižovatceKISK FF MU
 
Batman o cavaleiro das trevas 1 de 4
Batman   o cavaleiro das trevas 1 de 4Batman   o cavaleiro das trevas 1 de 4
Batman o cavaleiro das trevas 1 de 4Marcos Donato
 
One piece volume 48(460-470)
One piece volume 48(460-470)One piece volume 48(460-470)
One piece volume 48(460-470)Marcos Donato
 
20080330 machine learning_nikolenko_lecture07
20080330 machine learning_nikolenko_lecture0720080330 machine learning_nikolenko_lecture07
20080330 machine learning_nikolenko_lecture07Computer Science Club
 
Town with pouvoir in French
Town with pouvoir in FrenchTown with pouvoir in French
Town with pouvoir in Frenchalice ayel
 
Vyasan Mukti Bestseller For Deaddiction Dr. Shriniwas Kashalikar
Vyasan Mukti Bestseller For Deaddiction Dr. Shriniwas KashalikarVyasan Mukti Bestseller For Deaddiction Dr. Shriniwas Kashalikar
Vyasan Mukti Bestseller For Deaddiction Dr. Shriniwas Kashalikarshivsr5
 
Prezentace projektu KWído akce
Prezentace projektu KWído akcePrezentace projektu KWído akce
Prezentace projektu KWído akceKISK FF MU
 
prof. Milan Konvit: Nove medium a clovek
prof. Milan Konvit: Nove medium a clovekprof. Milan Konvit: Nove medium a clovek
prof. Milan Konvit: Nove medium a clovekKISK FF MU
 
Mobiilisti omniassa suunnittelua_2011
Mobiilisti omniassa suunnittelua_2011Mobiilisti omniassa suunnittelua_2011
Mobiilisti omniassa suunnittelua_2011Pauliina Venho
 
Still life- By Henrik Bonnevier
Still life- By Henrik BonnevierStill life- By Henrik Bonnevier
Still life- By Henrik Bonneviermaditabalnco
 
Podpora ctenarstvi: INFOS 2011
Podpora ctenarstvi: INFOS 2011Podpora ctenarstvi: INFOS 2011
Podpora ctenarstvi: INFOS 2011KISK FF MU
 
Batman.407.ano.um.04.de.04.hq.br.28 ago2005.gibihq
Batman.407.ano.um.04.de.04.hq.br.28 ago2005.gibihqBatman.407.ano.um.04.de.04.hq.br.28 ago2005.gibihq
Batman.407.ano.um.04.de.04.hq.br.28 ago2005.gibihqMarcos Donato
 
Steve www.sachdoanhtri.com
Steve www.sachdoanhtri.comSteve www.sachdoanhtri.com
Steve www.sachdoanhtri.comTruong Tho
 
User Experience 2010: Где купить фоторужье, или как с помощью карточной сорти...
User Experience 2010: Где купить фоторужье, или как с помощью карточной сорти...User Experience 2010: Где купить фоторужье, или как с помощью карточной сорти...
User Experience 2010: Где купить фоторужье, или как с помощью карточной сорти...Maria Chaykina
 

Viewers also liked (20)

O Espetacular Homem-Aranha 447
O Espetacular Homem-Aranha 447O Espetacular Homem-Aranha 447
O Espetacular Homem-Aranha 447
 
Anorexia ppt
Anorexia pptAnorexia ppt
Anorexia ppt
 
Universidad capital general gerardo barrios
Universidad capital general gerardo barriosUniversidad capital general gerardo barrios
Universidad capital general gerardo barrios
 
Kultura na křižovatce
Kultura na křižovatceKultura na křižovatce
Kultura na křižovatce
 
Tutorial g
Tutorial gTutorial g
Tutorial g
 
Batman o cavaleiro das trevas 1 de 4
Batman   o cavaleiro das trevas 1 de 4Batman   o cavaleiro das trevas 1 de 4
Batman o cavaleiro das trevas 1 de 4
 
One piece volume 48(460-470)
One piece volume 48(460-470)One piece volume 48(460-470)
One piece volume 48(460-470)
 
20080330 machine learning_nikolenko_lecture07
20080330 machine learning_nikolenko_lecture0720080330 machine learning_nikolenko_lecture07
20080330 machine learning_nikolenko_lecture07
 
Town with pouvoir in French
Town with pouvoir in FrenchTown with pouvoir in French
Town with pouvoir in French
 
Maria Seredyszyn Hames ,School And Students
Maria Seredyszyn Hames ,School And StudentsMaria Seredyszyn Hames ,School And Students
Maria Seredyszyn Hames ,School And Students
 
Test
TestTest
Test
 
Vyasan Mukti Bestseller For Deaddiction Dr. Shriniwas Kashalikar
Vyasan Mukti Bestseller For Deaddiction Dr. Shriniwas KashalikarVyasan Mukti Bestseller For Deaddiction Dr. Shriniwas Kashalikar
Vyasan Mukti Bestseller For Deaddiction Dr. Shriniwas Kashalikar
 
Prezentace projektu KWído akce
Prezentace projektu KWído akcePrezentace projektu KWído akce
Prezentace projektu KWído akce
 
prof. Milan Konvit: Nove medium a clovek
prof. Milan Konvit: Nove medium a clovekprof. Milan Konvit: Nove medium a clovek
prof. Milan Konvit: Nove medium a clovek
 
Mobiilisti omniassa suunnittelua_2011
Mobiilisti omniassa suunnittelua_2011Mobiilisti omniassa suunnittelua_2011
Mobiilisti omniassa suunnittelua_2011
 
Still life- By Henrik Bonnevier
Still life- By Henrik BonnevierStill life- By Henrik Bonnevier
Still life- By Henrik Bonnevier
 
Podpora ctenarstvi: INFOS 2011
Podpora ctenarstvi: INFOS 2011Podpora ctenarstvi: INFOS 2011
Podpora ctenarstvi: INFOS 2011
 
Batman.407.ano.um.04.de.04.hq.br.28 ago2005.gibihq
Batman.407.ano.um.04.de.04.hq.br.28 ago2005.gibihqBatman.407.ano.um.04.de.04.hq.br.28 ago2005.gibihq
Batman.407.ano.um.04.de.04.hq.br.28 ago2005.gibihq
 
Steve www.sachdoanhtri.com
Steve www.sachdoanhtri.comSteve www.sachdoanhtri.com
Steve www.sachdoanhtri.com
 
User Experience 2010: Где купить фоторужье, или как с помощью карточной сорти...
User Experience 2010: Где купить фоторужье, или как с помощью карточной сорти...User Experience 2010: Где купить фоторужье, или как с помощью карточной сорти...
User Experience 2010: Где купить фоторужье, или как с помощью карточной сорти...
 

Similar to 20120219 chosen ciphertext_security_importance_zhirkov

криптографические методы как часть общей защиты информации
криптографические методы как часть общей защиты информациикриптографические методы как часть общей защиты информации
криптографические методы как часть общей защиты информацииtrenders
 
Владимир Иванов - Криптография и шифрование
Владимир Иванов - Криптография и шифрованиеВладимир Иванов - Криптография и шифрование
Владимир Иванов - Криптография и шифрованиеYandex
 
виды крипторафических алгоритмов
виды крипторафических алгоритмоввиды крипторафических алгоритмов
виды крипторафических алгоритмовAFedyaev
 
шифрование и дешифрование
шифрование и дешифрованиешифрование и дешифрование
шифрование и дешифрованиеЕлена Ключева
 
асимметричные алгоритмы шифрования
асимметричные алгоритмы шифрованияасимметричные алгоритмы шифрования
асимметричные алгоритмы шифрованияhmyrhik nikita
 
курсовой проект
курсовой проекткурсовой проект
курсовой проектGulnaz Shakirova
 
Криптография.
Криптография.Криптография.
Криптография.SvetlanaFIT
 
современные средства криптографической поддержки электронного документооборота
современные средства криптографической поддержки электронного документооборотасовременные средства криптографической поддержки электронного документооборота
современные средства криптографической поддержки электронного документооборотаtrenders
 
Криптография
КриптографияКриптография
КриптографияArtem Lukanin
 
Positive Hack Days. Терешкин. "Злая горничная" атакует PGP
Positive Hack Days. Терешкин. "Злая горничная" атакует PGPPositive Hack Days. Терешкин. "Злая горничная" атакует PGP
Positive Hack Days. Терешкин. "Злая горничная" атакует PGPPositive Hack Days
 
Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.
Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.
Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.Vasily Dolgushev
 
Безопасность для сайта
Безопасность для сайтаБезопасность для сайта
Безопасность для сайтаMaksym Balaklytskyi
 
Евгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьЕвгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьGAiN@ESD
 
криптографический стандарт Rsa
криптографический стандарт Rsaкриптографический стандарт Rsa
криптографический стандарт Rsahmyrhik nikita
 
Асимметричные криптоалгоритмя и хэширование
Асимметричные криптоалгоритмя и хэшированиеАсимметричные криптоалгоритмя и хэширование
Асимметричные криптоалгоритмя и хэшированиеAndrey Lebedev
 

Similar to 20120219 chosen ciphertext_security_importance_zhirkov (20)

криптографические методы как часть общей защиты информации
криптографические методы как часть общей защиты информациикриптографические методы как часть общей защиты информации
криптографические методы как часть общей защиты информации
 
Владимир Иванов - Криптография и шифрование
Владимир Иванов - Криптография и шифрованиеВладимир Иванов - Криптография и шифрование
Владимир Иванов - Криптография и шифрование
 
лекция 3.docx
лекция 3.docxлекция 3.docx
лекция 3.docx
 
виды крипторафических алгоритмов
виды крипторафических алгоритмоввиды крипторафических алгоритмов
виды крипторафических алгоритмов
 
шифрование и дешифрование
шифрование и дешифрованиешифрование и дешифрование
шифрование и дешифрование
 
асимметричные алгоритмы шифрования
асимметричные алгоритмы шифрованияасимметричные алгоритмы шифрования
асимметричные алгоритмы шифрования
 
курсовой проект
курсовой проекткурсовой проект
курсовой проект
 
Сложное время
Сложное времяСложное время
Сложное время
 
Криптография.
Криптография.Криптография.
Криптография.
 
Secure Messaging.Ru
Secure Messaging.RuSecure Messaging.Ru
Secure Messaging.Ru
 
Secure File Exchange.Ru
Secure File Exchange.RuSecure File Exchange.Ru
Secure File Exchange.Ru
 
современные средства криптографической поддержки электронного документооборота
современные средства криптографической поддержки электронного документооборотасовременные средства криптографической поддержки электронного документооборота
современные средства криптографической поддержки электронного документооборота
 
Криптография
КриптографияКриптография
Криптография
 
Positive Hack Days. Терешкин. "Злая горничная" атакует PGP
Positive Hack Days. Терешкин. "Злая горничная" атакует PGPPositive Hack Days. Терешкин. "Злая горничная" атакует PGP
Positive Hack Days. Терешкин. "Злая горничная" атакует PGP
 
Uo
UoUo
Uo
 
Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.
Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.
Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.
 
Безопасность для сайта
Безопасность для сайтаБезопасность для сайта
Безопасность для сайта
 
Евгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьЕвгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасность
 
криптографический стандарт Rsa
криптографический стандарт Rsaкриптографический стандарт Rsa
криптографический стандарт Rsa
 
Асимметричные криптоалгоритмя и хэширование
Асимметричные криптоалгоритмя и хэшированиеАсимметричные криптоалгоритмя и хэширование
Асимметричные криптоалгоритмя и хэширование
 

More from Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugsComputer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01Computer Science Club
 

More from Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 

20120219 chosen ciphertext_security_importance_zhirkov

  • 1. Chosen ciphertext security importance И. Жирков1 1 Computer Science Center 22 февраля 2012 г.
  • 2. Содержание 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 3. План 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 4. Definition (Математическая модель системы шифрования/дешифрования дискретных сообщений) Пара функций: {︃ E = f (M, e) D = g(E, d) которые преобразуют сообщение M в криптограмму E при помощи ключа шифрования e и, наоборот, криптограмму E в сообщение M при помощи ключа дешифрования d . ∙ Функции E = f (M, e) и D = g(E, d) при известных аргументах вычисляются сравнительно просто. ∙ Функция D = g(E, ?) при неизвестном ключе дешифрования вычисляется достаточно сложно.
  • 5. Definition (Математическая модель системы шифрования/дешифрования дискретных сообщений) Пара функций: {︃ E = f (M, e) D = g(E, d) которые преобразуют сообщение M в криптограмму E при помощи ключа шифрования e и, наоборот, криптограмму E в сообщение M при помощи ключа дешифрования d . ∙ Функции E = f (M, e) и D = g(E, d) при известных аргументах вычисляются сравнительно просто. ∙ Функция D = g(E, ?) при неизвестном ключе дешифрования вычисляется достаточно сложно.
  • 6. Definition (Математическая модель системы шифрования/дешифрования дискретных сообщений) Пара функций: {︃ E = f (M, e) D = g(E, d) которые преобразуют сообщение M в криптограмму E при помощи ключа шифрования e и, наоборот, криптограмму E в сообщение M при помощи ключа дешифрования d . ∙ Функции E = f (M, e) и D = g(E, d) при известных аргументах вычисляются сравнительно просто. ∙ Функция D = g(E, ?) при неизвестном ключе дешифрования вычисляется достаточно сложно.
  • 7. Минимальная рекомендованная длина ключа — 128 бит, т.е. существует 2128 возможных ключей. Перебор требует огромного времени и вычислительных ресурсов.
  • 8. План 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 9. Симметричные и асимметричные системы шифрования ∙ В симметричных системах (с закрытым ключом) один из ключей (e, d) можно вычислительно просто определить по другому. Оба ключа должны быть секретными. Практически всегда e = d. ∙ В асимметричных системах (с открытым ключом) нельзя вычислительно просто получить d зная e. e — открытый ключ, известен даже злоумышленнику. Мы рассматриваем оба типа систем.
  • 10. Симметричные и асимметричные системы шифрования ∙ В симметричных системах (с закрытым ключом) один из ключей (e, d) можно вычислительно просто определить по другому. Оба ключа должны быть секретными. Практически всегда e = d. ∙ В асимметричных системах (с открытым ключом) нельзя вычислительно просто получить d зная e. e — открытый ключ, известен даже злоумышленнику. Мы рассматриваем оба типа систем.
  • 11. План 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 12. Модель Шеннона Боб и Алиса — порядочные пользователи.
  • 13. ∙ Имеется источник ключей шифрования e и дешифрования d ∙ Шифруем сообщение с использованием e ∙ Передаём криптограмму по незащищённому каналу ∙ Получатель может восстановить сообщение с помощью дешифрующего преобразования.
  • 14. План 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 15. Шеннон изучал вопросы: ∙ Насколько устойчива система, если криптоаналитик противника не ограничен временем и обладает всеми необходимыми средствами для анализа криптограмм? ∙ Имеет ли криптограмма единственное решение? ∙ Какой объем шифртекста необходимо перехватить криптоаналитику, чтобы решение стало единственным?
  • 16. Совершенная секретность Для любой криптограммы апостериорные вероятности равны априорным вероятностям, то есть перехват зашифрованного сообщения не дает противнику никакой информации, помогающей расшифровать его. ∀C∀M : PC (M) = P(M)
  • 17. В системе Шеннона противник может только перехватывать и анализировать сообщения, но не изменять их. В качестве идеальной криптосистемы Шеннон предлагал шифрблокноты. Не только непрактичны, но и не гарантируют целостность.
  • 18. В системе Шеннона противник может только перехватывать и анализировать сообщения, но не изменять их. В качестве идеальной криптосистемы Шеннон предлагал шифрблокноты. Не только непрактичны, но и не гарантируют целостность.
  • 19. Любое определение "безопасности" для криптосистемы состоит из двух пунктов: ∙ Каковы возможности злоумышленника? ∙ Что значит "сломать" систему?
  • 20. В зависимости от возможностей злоумышленника говорят о: ∙ Пассивном злоумышленнике (Semantic Security) ∙ Активном злоумышленнике (Chosen Ciphertext Security, Non-Malleability) Удобно определять понятия безопасности как описания антагонистических игр между "хорошим парнем" Грегом и "плохим парнем" Стивом.
  • 21. План 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 22. Semantic Security ∙ Злоумышленник "подслушивает" (eavesdropping adversary) ∙ Что означает сломать Semantic Secure систему? 1 Грег генерирует ключ. 2 Стив даёт Грегу сообщения m0 и m1 одинаковой длины. 3 Грег бросает монетку. Если выпала решка, он зашифровывает m0 и даёт криптограмму Стиву, иначе m1 . 4 Стив должен угадать, какое из двух сообщений зашифровал Грег. Для идеально стойкой криптосистемы, у Стива не должно быть шанса угадать сообщение с вероятностью, большей 1 . 2 Для вычислительно стойкой криптосистемы, — эффективного способа угадать с вероятностью существенно большей, чем 1 . 2
  • 23. Если атакующий может только прослушивать сообщения, то Semantic Security — адекватное определение безопасности. Обычно же атакующий может играть активную роль: модифицировать сообщения или отправлять свои собственные.
  • 24. Chosen Plaintext Security ∙ Теперь злоумышленник может попросить зашифровать произвольный текст ∙ 1 Грег генерирует ключ. 2 Стив просит Грега зашифровать произвольное количество текстов и получает их криптограммы. 3 Стив даёт Грегу сообщения m0 и m1 одинаковой длины. 4 Грег бросает монетку. Если выпала решка, он шифрует m0 и отправляет его Стиву, иначе m1 . Назовём эту криптограмму e′ . 5 Стив просит Грега зашифровать произвольное количество текстов, включая m0 и m1 , и получает их криптограммы. 6 Стив должен угадать, какое из двух сообщений зашифровал Грег.
  • 25. Chosen Ciphertext Security ∙ А теперь Стив может давать криптограммы на расшифровку! ∙ 1 Грег генерирует ключ. 2 Стив просит Грега расшифровать любые криптограммы и шифровать любые тексты. 3 Стив даёт Грегу сообщения m0 и m1 одинаковой длины. 4 Грег бросает монетку. Если выпала решка, он шифрует m0 и отправляет его Стиву, иначе m1 . Назовём эту криптограмму e′ . 5 Стив может попросить Грега расшифровать любые криптограммы (кроме e′ ) и шифровать любые тексты. 6 Стив должен угадать, какое из двух сообщений зашифровал Грег.
  • 26. Вопрос ∙ Как добрый Грег отреагирует на некорректные криптограммы Стива и заметит ли Стив его необычную реакцию? ∙ Какую информацию Стив может почерпнуть из реакции Грега, поможет ли она ему "сломать" систему?
  • 27. Chosen Ciphertext Security — очень сильное определение. ∙ Сложно доказать, что система или протокол удовлетворяют ему. ∙ Многие инженеры полагают, что им не нужны такие сильные гарантии столь большими усилиями.
  • 28. Chosen Ciphertext Security — очень сильное определение. ∙ Сложно доказать, что система или протокол удовлетворяют ему. ∙ Многие инженеры полагают, что им не нужны такие сильные гарантии столь большими усилиями.
  • 29. План 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 30. Non-malleability Параллельно с концепцией Chosen Ciphertext Security развивалась концепция Non-malleability, т.е. невозможность модификации криптограммы с предсказуемым результатом. Было формально доказано, что свойство Non-Malleability эквивалентно Chosen Ciphertext Security. Интуитивно: если активный злоумышленник в ходе атаки не получает информации, помогающей расшифровать сообщение, то он не может и изменить сообщение внутри криптограммы предсказуемым образом.
  • 31. Non-malleability Параллельно с концепцией Chosen Ciphertext Security развивалась концепция Non-malleability, т.е. невозможность модификации криптограммы с предсказуемым результатом. Было формально доказано, что свойство Non-Malleability эквивалентно Chosen Ciphertext Security. Интуитивно: если активный злоумышленник в ходе атаки не получает информации, помогающей расшифровать сообщение, то он не может и изменить сообщение внутри криптограммы предсказуемым образом.
  • 32. Non-malleability Параллельно с концепцией Chosen Ciphertext Security развивалась концепция Non-malleability, т.е. невозможность модификации криптограммы с предсказуемым результатом. Было формально доказано, что свойство Non-Malleability эквивалентно Chosen Ciphertext Security. Интуитивно: если активный злоумышленник в ходе атаки не получает информации, помогающей расшифровать сообщение, то он не может и изменить сообщение внутри криптограммы предсказуемым образом.
  • 33. План 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 34. На самом деле достичь свойства Chosen Ciphertext Security можно просто добавив MAC в Chosen Plaintext Secure систему — для систем с закрытым ключом. Definition (MAC) MAC это набор алгоритмов: ∙ Gen — генерирует ключ на основании своего входа ∙ Mac генерирует тэг на основании ключа и сообщения. Бывает рандомизирован. ∙ Vrfy на основании ключа, сообщения и тэга заключает, корректно ли сообщение. Интуитивно: Криптографическая контрольная сумма (как контрольная сумма, но проверить её могут только хорошие парни), или симметричный аналог цифровой подписи.
  • 35. План 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 36. ∙ В 1998 Блайхенбахер[2] выступил с сообщением об уязвимости протоколов, основанных на RSA, являющейся следствием незащищённости RSA от активных атак. ∙ В 2002 году Vaudenay [3] теоретически обосновал несоответствие SSL, IPSEC и некоторых других стандартов определению Chosen Ciphertext Security и предсказал возможность атак на них. ∙ В 2010 году Риззо и Дуонг[4] представили уязвимость шифрования в CBC режиме, которое в большинстве применений не удовлетворяет требованию Chosen Ciphertext Security, и показали практические примеры атак: взлом CAPTCHA, атаки на Apache, Ruby on Rails.
  • 37. План 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 38. Cipher Block Chaining Режим сцепления блоков шифротекста
  • 39. Выравнивание PCKS#5 — распространённый стандарт выравнивания.
  • 43. План 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 44. ∙ Берём первый блок криптограммы (не IV); ∙ Берем IV состоящий из нулей; ∙ Посылаем приложению запрос в виде конкатенации нулевого IV и первого блока криптограммы
  • 46. Инкрементируем последний байт IV до 0xFF, однажды он даст нам верное выравнивание (один последний байт расшифрованного текста равен единице)
  • 47. Как только мы получим корректно сформированную криптограмму (где в расшифровке выравнивание верно), ответ сервера меняется с 500 на 200 (OK). Такие атаки называют Padding Oracle Attack, потому что сервер отвечает на вопрос, правильно ли выравнивание.
  • 48. Совершенно аналогично (зная уже точно последний байт) подберём предпоследний.
  • 49. Подбираем еще шесть байт, финальная итерация будет такой:
  • 50. Мы подобрали первые 8 байт Intermediary value, потратив в среднем 128 попыток на каждый байт. Сложив это значение и исходный IV по модулю 2 получим исходные 8 байт криптограммы. Повторяем всю процедуру со вторым 8-ми байтным блоком криптограммы.
  • 51. План 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 52. CAPTCHA HTTP — stateless protocol; состояние хранится на клиенте в виде зашифрованной строки. В противном случае был бы лёгкий способ организовать DDoS атаки (много незакрытых подключений)
  • 53. План 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 54. Так как Chosen Ciphertext Security == Non-Malleability, нам достаточно защитить сообщения от изменений злоумышленником. Используются Message Authentication Code (MAC), гарантирующие, что сообщение не модифицировано. Chosen Plaintext Security + использование MAC = Chosen Ciphertext Security
  • 55. Так как Chosen Ciphertext Security == Non-Malleability, нам достаточно защитить сообщения от изменений злоумышленником. Используются Message Authentication Code (MAC), гарантирующие, что сообщение не модифицировано. Chosen Plaintext Security + использование MAC = Chosen Ciphertext Security
  • 56. Возможные комбинации || — конкатенация Encrypt-Then-MAC C=E(M), t = MAC(C) Посылаем C||t MAC-Then-Encrypt t = MAC(M), C = E(M||t) Посылаем C Encrypt-And-MAC — небезопасная C = E(M), t = MAC(M) Посылаем C||t
  • 57. Возможные комбинации || — конкатенация Encrypt-Then-MAC C=E(M), t = MAC(C) Посылаем C||t MAC-Then-Encrypt t = MAC(M), C = E(M||t) Посылаем C Encrypt-And-MAC — небезопасная C = E(M), t = MAC(M) Посылаем C||t
  • 58. План 1 Введение Математическая модель Симметричные и асимметричные системы шифрования 2 Определение понятия безопасности Модель Шеннона Совершенная секретность по Шеннону Различные определения безопасности Non-malleability Message Authentification Code 3 Уязвимость в шифровании в режиме CBC Историческая справка Блочное шифрование в режиме CBC Где уязвимость? Примеры использования CBC 4 Как создать Chosen Ciphertext Secure систему? Принципы Практический итог
  • 59. Encryption is not authentication ∙ Если вы шифруете сообщения, это не защищает их от модификации. ∙ Всегда необходима проверка целостности (Integrity check). ∙ Библиотечный примитив для защиты — authenticated encryption.
  • 60. Материалы I Jonathan Katz, Yehuda Lindell Introduction to Modern Cryptography: Principles and Protocols Chapman & Hall, 2007. D. Bleichenbacher Chosen Ciphertext Attacks Against Protocols Based on the RSA Encryption Standart PKCS, 1998. S. Vaudenay Security Flaws Induced by CBC Padding, 2002. J. Rizzo, T. Duong Practical Padding Oracle Attacks, 2010. V. Shoup Why chosen ciphertext security matters , IBM Research Report RZ 3076, November, 1998
  • 61. Материалы II Brian Holyfield (Gotham Digital Security Blog) Automated Padding Oracle Attacks with PadBuster, 2010 http://blog.gdssytecurity.com/l/b/2010/09/14/ automated-padding-oracle-attacks-with-padbuster/
  • 62. Благодарности I ∙ Илья Миронов (Microsoft Research) ∙ Александр Куликов (АУ РАН, Computer Science Center)