Предостережение Лектор: аутентификация, забытое, должно быть преобладающим

Опубликовано: 12 Апреля, 2023

Надлежащее шифрование обеспечивает конфиденциальность, но как насчет целостности?
Аутентификация является надлежащим способом решения этой проблемы.


Алиса и Боб – неоднозначная крипто-пара. Неудивительно, что они видели немало сценариев; в конце концов, это самый разрекламированный вымышленный дуэт по эту сторону математики. Однажды они решили установить канал связи, и с их предварительно общим, согласованным симметричным ключом, используя относительно безопасный блочный шифр в приличном режиме конфиденциальности, они начали общаться. Они сделали это, предполагая, что Ева, подслушивающая коллега, обнаружит тот факт, что они общались, но будет ограничена в том, какие именно знания она может получить об этом разговоре. С их предположением о конфиденциальности эти ограничения включают в себя ограничение Евы знанием только того, что они общаются, кто осуществляет общение, сколько времени происходит общение и в какое время они осуществляют все это общение.


MAC — что это такое и что он делает


Алиса и Боб чувствуют себя в относительной безопасности, зная, что их уровень конфиденциальности сводит на нет попытки Евы разгласить их конфиденциальную информацию, но чего они не знают, так это того, что Ева по-прежнему способна совершить монументально разрушительный поступок, для которого конфиденциальность не обеспечивает защиты. – манипулируя их разговором. В своем предполагаемом безопасном канале они не смогли понять, что способность Евы изменить их разговор или нарушить его целостность, вероятно, гораздо более вредна, чем просто возможность пассивно прочитать его или нарушить его конфиденциальность. К счастью, их друг, криптоаналитик Чарли, согласился взглянуть на параметры их безопасного канала и сообщить им, прошел ли он проверку. Как только он замечает, что у них нет механизма аутентификации, он делится знаниями об этой уязвимости с высокой потенциальной незащищенностью с Алисой и Бобом; он рекомендует использовать код аутентификации сообщения или MAC в качестве решения для обеспечения целостности.
Теперь, когда мы создали наш сценарий, давайте приступим к определению общей конструкции MAC и его назначения.
MAC, или код аутентификации сообщения, в основном основан на концепции защиты вашего разговора от несанкционированного доступа; это метод обеспечения целостности сообщений. В то время как конфиденциальность означает, что Ева не может прочитать наш разговор, честность гарантирует, что Ева не сможет изменить наш разговор, что для нас гораздо важнее. В конце концов, хранить секреты — это здорово, но только если мы знаем, от кого храним секрет, и если этот секрет остается нетронутым между Алисой и Бобом. Это то, для чего целостность сообщения призвана гарантировать. MAC, как и симметричный алгоритм, использует секретный ключ, обозначаемый K, в котором уверены и Алиса, и Боб, но не Ева. При передаче сообщения, обозначенного m, Алиса использует секретный ключ K для вычисления кода с общей функцией MAC ( K, m ); во время транзита она отправляет этот вычисленный код вместе с сообщением. Код или «тег» и ключ имеют фиксированную длину, а сообщение — произвольную длину.


Принцип Хортона и пристрастие к аутентификации, а не к шифрованию


Тем не менее, Ева по-прежнему может запускать повторные атаки по своему желанию, поэтому мы можем добавить некоторые дополнительные данные, обозначенные как d, которые содержат такую информацию, как идентификационный номер сообщения, и различную другую информацию, например, откуда отправляются данные и где они находятся. намеревался пойти и так далее. Это всего лишь один из признаков того, что применение MAC не так просто, как вы думаете; есть определенные сложности, которые нужно решить. Сейчас самое подходящее время, чтобы представить простую концепцию, лежащую в основе принципа Хортона. Концепция, предлагаемая этим принципом, просто предлагает: «Эй, как насчет того, чтобы подтвердить подлинность того, что мы имеем в виду, а не того, что мы говорим?»


Может возникнуть ситуация, когда Алиса аутентифицирует сообщение, которое представляет собой конкатенацию нескольких полей данных, а Боб должен знать соответствующую информацию синтаксического анализа, необходимую для разложения этой конкатенации на отдельные поля данных, в противном случае возможна аутентификация незаконных данных путем Несчастный случай Боба или нападение Евы. Итак, чтобы решить эту проблему с помощью принципа Хортона, мы хотим аутентифицировать не только сообщение m, но и информацию для синтаксического анализа для m. Рассматривайте его как средство предоставления семантики для интерпретации данных с предполагаемым контекстом, а не просто отправку и получение общих байтов данных. Это направлено на то, чтобы подтвердить подлинность того, что мы имеем в виду, а не того, что мы говорим.


Приоритет аутентификации над шифрованием и порядок обоих


Ранее мы ясно дали понять, что бывают ситуации, когда манипулирование данными более вредно, чем простое их разглашение, поэтому можно предположить, что аутентификация может иметь определенный приоритет над шифрованием. Интересно, бывает. В этих общих ситуациях аутентификация имеет более важное значение, поэтому мы разрабатываем модель атаки нашей системы с большим вниманием к ней. Итак, как мы можем продемонстрировать эту пристрастность? Аутентификация перед шифрованием. Кроме того, это напрямую поддерживает принцип Хортона, который является одной из наших дизайнерских стратегий, которым мы хотели бы соответствовать. Из-за этой пристрастности мы предпочли бы, чтобы Ева атаковала самый внешний уровень шифрования, а не самый внешний уровень аутентификации.


Конечно, этот порядок не единственная безопасная конфигурация; есть схемы, в которых безопасная система может быть результатом сначала шифрования, а затем аутентификации. Этот подход просто соответствует нашей стратегии проектирования в соответствии с принципом Хортона и концепцией, согласно которой злоупотребление аутентификацией или ее отсутствие более важны для нашей модели универсального безопасного канала; он удовлетворяет этому с упрощенной безопасностью, которую мы желаем в любой конструкции. На самом деле это не обязательно универсальная шляпа; требуется оценка системы на мельчайшем уровне, чтобы прийти к разумному пониманию того, где аутентификация вписывается в вашу модель угроз. Не бойтесь быть консервативным, немного параноиком и принимайте во внимание даже то, что может показаться лишь отдаленной практической угрозой. Но что касается моделей угроз, я открою эту банку с червями позже [в другой статье]; это предшественник этапа проектирования.


Взгляд на вещи с противоположной стороны


Сказав это, я собираюсь полностью развернуться и кратко предложить защиту для случая, когда сначала шифруется, а затем проверяется подлинность. Вот так. Готовый? Хорошо, эти следующие термины соотносятся с криптоаналитической теорией, которая выходит далеко за рамки этой статьи, но они окажутся бесценными для любых ученых, которые могут просмотреть это и найти более подробное описание предмета. Таким образом, учитывая ограничения этой статьи и общую аудиторию, я не буду приводить математическую основу; это зависит от читателя, чтобы исследовать дальше, и я буду более чем рад помочь им в этом.


Составы и понятия безопасности


Итак, без лишних слов, давайте выложим эти условия на стол. Обычно упоминаются три варианта шифрования и аутентификации: аутентификация-затем-шифрование (AtE), шифрование-затем-аутентификация (EtA) и шифрование-и-аутентификация (E&A). Я сосредоточусь только на первых двух: AtE и EtA, где первое — это то, что мы уже обсуждали в основной части этой статьи, а второе — это композиция, с которой я сталкивался во многих случаях, когда анализ системы, является более ответственным выбором. Да, большую часть этой статьи я посвятил отстаиванию принципов, лежащих в основе AtE, и теперь, в конце, я предлагаю, чтобы EtA часто был лучшим и более упрощенным выбором.


С AtE вы должны быть очень дотошными, так как есть уязвимые места, которые не прощают ошибок, и даже самые незначительные изменения могут превратить схему из безопасной в небезопасную. Помните, однако, что нужно быть дотошным при создании экземпляра схемы аутентификации; это само собой разумеющееся - либо с AtE, либо с EtA. Обе композиции можно сделать безопасными и ненадежными; это было продемонстрировано на практике. В конце концов, вы можете обнаружить, что EtA часто является более простым выбором и представляет собой достойную, де-факто, композицию по умолчанию для недавно развернутых систем. На самом деле, на мой взгляд, ответственное предложение, основанное на результатах исследований, состоит в том, чтобы аутентифицировать зашифрованный текст схемы безопасного шифрования IND-CPA с помощью MAC-адреса SUF-CMA; это обеспечивает безопасность IND-CCA2 и достигает INT-CTXT, которые являются желательными свойствами. (Также рассмотрите взаимосвязь между понятиями безопасности, например, последствия между неразличимостью и негибкостью.)


Заключительные слова


Хотя это всего лишь одна самоуверенная философия, от каждого подхода к проектированию безопасного канала исходит одно — вам нужны как конфиденциальность, так и целостность. Если вы обнаружите, что обычно применяете аутентификацию везде, где существует шифрование, то снимаю перед вами шляпу.