Введение

Режим работы аутентифицированного шифрования для блочных шифров. Режим работы с кодовой книгой со смещением (режим OCB) — это режим аутентифицированного шифрования для криптографических блочных шифров. Режим OCB был разработан Филиппом Рогауэем, который отмечает вклад Михира Белларе, Джона Блэка и Теда Кроветца в разработку и комментирование проекта. Он основан на режиме аутентифицированного шифрования с учетом целостности и возможностью параллелизации (IAPM) Чарнджита С. Джутлы. Версия OCB2 была признана небезопасной, в то время как оригинальная OCB1 и OCB3, разработанная в 2011 году, до сих пор считаются безопасными.

Шифрование и аутентификация

Режим OCB был разработан для обеспечения аутентификации сообщений и конфиденциальности. По сути, это схема интеграции кода аутентификации сообщений (MAC) в работу блочного шифра. Таким образом, режим OCB позволяет избежать необходимости использования двух систем: MAC для аутентификации и шифрования для обеспечения конфиденциальности. Это приводит к снижению вычислительных затрат по сравнению с использованием отдельных функций шифрования и аутентификации. Существует три версии OCB: OCB1, OCB2 и OCB3. OCB1 был опубликован в 2001 году. OCB2 улучшает OCB1, позволяя включать связанные данные в сообщение, обеспечивая аутентифицированное шифрование с дополнительными данными (AEAD; то есть данные, которые не шифруются, но должны быть аутентифицированы) и новый метод для генерации последовательности сдвигов. OCB2 был впервые опубликован в 2003 году, первоначально под названием аутентифицированный режим шифрования или расширенный режим шифрования (AEM), и в 2019 году было показано, что он полностью уязвим. OCB3, опубликованный в 2011 году, снова изменяет способ вычисления сдвигов и вводит незначительные улучшения производительности. OCB2 был стандартизирован в ISO/IEC19772:2009 (хотя он был удален из стандарта после публикации атаки) и модифицированный OCB3 в RFC7253. RFC кодирует длину тега во внутренне форматированный одноразовый номер (нонс).

Выступление

Нагрузка на производительность OCB минимальна по сравнению с классическими режимами, не обеспечивающими аутентификацию, такими как цепочка блоков шифрования. OCB требует одной операции блочного шифрования на блок зашифрованного и аутентифицированного сообщения и одной операции блочного шифрования на блок связанных данных. Кроме того, требуется одна дополнительная операция блочного шифрования в конце процесса. Для сравнения, режим CCM, предлагающий схожую функциональность, требует вдвое больше операций блочного шифрования на блок сообщения (связанные данные требуют одной операции, как и в OCB).

Патенты

В то время как OCB сейчас находится в общественном достоянии, Rogaway изначально запатентовал режим OCB, чтобы иметь возможность взимать плату за коммерческие лицензии и попытаться предотвратить использование их разработки в военных проектах. Rogaway намеренно отказался от своих патентов OCB в 2021 году. На режим OCB были выданы два патента США. Эти патенты препятствовали утверждению Национальным институтом стандартов и технологий. Пока режим OCB был запатентован, Rogaway предоставил три лицензии, позволяющие свободно использовать его в программном обеспечении, лицензированном под GNU General Public License (впоследствии – любая лицензия с открытым исходным кодом, сертифицированная Open Source Initiative), в некоммерческих и невоенных проектах, а также в OpenSSL. Поскольку Rogaway подавал заявки на патентную защиту только в США, алгоритм всегда был свободен для использования в программном обеспечении, разрабатываемом и продаваемом за пределами США.

Атаки

Нильс Фергюсон указал на коллизионные атаки на OCB, которые ограничивают объём данных, которые можно безопасно обработать под одним ключом, примерно до 280 терабайт. В октябре 2018 года Иноуэ и Минематсу представили атаку экзистенциальной подделки на OCB2, требующую всего одного предварительного запроса шифрования и практически не требующую вычислительных ресурсов или памяти. Атака не применима к OCB1 или OCB3 и требует, чтобы поле связанных данных в подделанном шифротексте было пустым. Поэттеринг и Ивата улучшили атаку подделки до атаки полного восстановления открытого текста всего через несколько дней. Позже эти четверо авторов опубликовали совместный отчёт.