Введение
Режим работы аутентифицированного шифрования для блочных шифров. Режим работы с кодовой книгой со смещением (режим OCB) — это режим аутентифицированного шифрования для криптографических блочных шифров. Режим OCB был разработан Филиппом Рогауэем, который отмечает вклад Михира Белларе, Джона Блэка и Теда Кроветца в разработку и комментирование проекта. Он основан на режиме аутентифицированного шифрования с учетом целостности и возможностью параллелизации (IAPM) Чарнджита С. Джутлы. Версия OCB2 была признана небезопасной, в то время как оригинальная OCB1 и OCB3, разработанная в 2011 году, до сих пор считаются безопасными.
Offset codebook mode (OCB mode) is an authenticated encryption mode of operation for cryptographic block ciphers. OCB mode was designed by Phillip Rogaway, who credits Mihir Bellare, John Black, and Ted Krovetz with assistance and comments on the designs. It is based on the integrity aware parallelizeable mode (IAPM) of authenticated encryption by Charanjit S. Jutla. The OCB2 version was proven insecure, while the original OCB1 as well as OCB3 from 2011 are still considered secure.
Шифрование и аутентификация
Режим 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 и требует, чтобы поле связанных данных в подделанном шифротексте было пустым. Поэттеринг и Ивата улучшили атаку подделки до атаки полного восстановления открытого текста всего через несколько дней. Позже эти четверо авторов опубликовали совместный отчёт.