Учебники

Атаки на криптосистемы

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

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

Пассивные атаки

Основная цель пассивной атаки – получить несанкционированный доступ к информации . Например, такие действия, как перехват и прослушивание в канале связи, могут рассматриваться как пассивная атака.

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

Пассивные атаки

Активные атаки

Активная атака включает в себя изменение информации каким-либо образом путем проведения некоторого процесса обработки информации. Например,

  • Изменение информации несанкционированным способом.

  • Инициирование непреднамеренной или несанкционированной передачи информации.

  • Изменение данных аутентификации, таких как имя отправителя или отметка времени, связанная с информацией

  • Несанкционированное удаление данных.

  • Отказ в доступе к информации для законных пользователей (отказ в обслуживании).

Изменение информации несанкционированным способом.

Инициирование непреднамеренной или несанкционированной передачи информации.

Изменение данных аутентификации, таких как имя отправителя или отметка времени, связанная с информацией

Несанкционированное удаление данных.

Отказ в доступе к информации для законных пользователей (отказ в обслуживании).

Активные атаки

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

Предположения атакующего

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

Окружающая среда вокруг криптосистемы

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

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

Детали Схемы Шифрования

Конструкция криптосистемы основана на следующих двух алгоритмах криптографии:

  • Общедоступные алгоритмы – с помощью этой опции все детали алгоритма находятся в общественном достоянии, известном каждому.

  • Запатентованные алгоритмы – детали алгоритма известны только разработчикам системы и пользователям.

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

Запатентованные алгоритмы – детали алгоритма известны только разработчикам системы и пользователям.

В случае проприетарных алгоритмов безопасность обеспечивается за счет неясности. Частные алгоритмы не могут быть самыми сильными алгоритмами, поскольку они разрабатываются собственными силами и не могут быть тщательно исследованы на предмет их слабости.

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

Таким образом, первое предположение о среде безопасности состоит в том, что алгоритм шифрования известен злоумышленнику .

Наличие зашифрованного текста

Мы знаем, что после шифрования открытого текста в зашифрованный текст он передается по незащищенному общедоступному каналу (скажем, по электронной почте) для передачи. Таким образом, злоумышленник может предположить, что он имеет доступ к зашифрованному тексту, сгенерированному криптосистемой .

Наличие открытого текста и шифротекста

Это предположение не так очевидно, как другие. Однако могут быть ситуации, когда злоумышленник может иметь доступ к открытому тексту и соответствующему зашифрованному тексту . Некоторые такие возможные обстоятельства –

  • Атакующий влияет на отправителя для преобразования открытого текста по своему выбору и получает зашифрованный текст.

  • Получатель может непреднамеренно разглашать открытый текст злоумышленнику. Атакующий имеет доступ к соответствующему зашифрованному тексту, собранному с открытого канала.

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

Атакующий влияет на отправителя для преобразования открытого текста по своему выбору и получает зашифрованный текст.

Получатель может непреднамеренно разглашать открытый текст злоумышленнику. Атакующий имеет доступ к соответствующему зашифрованному тексту, собранному с открытого канала.

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

Криптографические атаки

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

Следовательно, он прикладывает максимум усилий для обнаружения секретного ключа, используемого в криптосистеме. Как только злоумышленник сможет определить ключ, атакованная система считается сломанной или скомпрометированной .

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

  • Атаки только зашифрованным текстом ( COA). В этом методе злоумышленник имеет доступ к набору зашифрованного текста. У него нет доступа к соответствующему тексту. COA считается успешным, когда соответствующий открытый текст может быть определен из заданного набора зашифрованного текста. Иногда ключ шифрования может быть определен из этой атаки. Современные криптосистемы защищены от атак только зашифрованным текстом.

  • Известная атака открытого текста (KPA). В этом методе злоумышленник знает открытый текст для некоторых частей зашифрованного текста. Задача состоит в том, чтобы расшифровать остальную часть зашифрованного текста, используя эту информацию. Это может быть сделано путем определения ключа или с помощью другого метода. Лучший пример этой атаки – линейный криптоанализ против блочных шифров.

  • Выбранная атака открытым текстом (CPA) – в этом методе злоумышленник имеет зашифрованный текст по своему выбору. Таким образом, у него есть пара шифртекст-открытый текст по своему выбору. Это упрощает его задачу определения ключа шифрования. Примером этой атаки является дифференциальный криптоанализ, применяемый как к блочным шифрам, так и к хеш-функциям. Популярная криптосистема с открытым ключом, RSA, также уязвима для атак с использованием открытого текста.

  • Атака по словарю – эта атака имеет много вариантов, каждый из которых включает в себя составление «словаря». В простейшем методе этой атаки злоумышленник создает словарь зашифрованных текстов и соответствующих открытых текстов, которые он выучил за определенный период времени. В будущем, когда злоумышленник получает зашифрованный текст, он обращается к словарю, чтобы найти соответствующий открытый текст.

  • Атака грубой силы (BFA). В этом методе злоумышленник пытается определить ключ, пытаясь использовать все возможные ключи. Если длина ключа составляет 8 бит, то число возможных ключей составляет 2 8 = 256. Злоумышленник знает зашифрованный текст и алгоритм, теперь он пытается все 256 ключей по одному для расшифровки. Время завершения атаки будет очень большим, если ключ длинный.

  • Атака на день рождения – это атака методом грубой силы. Он используется против криптографической хэш-функции. Когда учеников в классе спрашивают об их днях рождения, ответом является одна из возможных 365 дат. Предположим, что день рождения первого студента – 3 августа. Затем, чтобы найти следующего студента, чья дата рождения – 3 августа, нам нужно запросить 1,25 * √365 ≈ 25 студентов.

    Аналогично, если хеш-функция выдает 64-битные хеш-значения, возможные хеш-значения составляют 1,8×10 19 . При многократной оценке функции для разных входов ожидается, что один и тот же выход будет получен после примерно 5,1 × 10 9 случайных входов.

    Если злоумышленник может найти два разных входа, которые дают одинаковое хеш-значение, это коллизия, и эта хеш-функция считается нарушенной.

  • Атака «Человек посередине» (MIM) . Целями этой атаки являются в основном криптосистемы с открытыми ключами, в которых обмен ключами происходит до установления связи.

    • Хост A хочет связаться с хостом B , поэтому запрашивает открытый ключ B.

    • Злоумышленник перехватывает этот запрос и отправляет свой открытый ключ.

    • Таким образом, что бы ни отправлял хост A на хост B , злоумышленник может читать.

    • Чтобы поддерживать связь, злоумышленник повторно зашифровывает данные после прочтения с помощью своего открытого ключа и отправляет B.

    • Злоумышленник отправляет свой открытый ключ как открытый ключ A, так что B принимает его так, как если бы он брал его у A.

  • Атака по боковому каналу (SCA) – этот тип атаки не направлен против какого-либо конкретного типа криптосистемы или алгоритма. Вместо этого он запускается, чтобы использовать слабость в физической реализации криптосистемы.

  • Атаки по времени – они используют тот факт, что разные вычисления требуют разного времени для вычислений на процессоре. Измеряя такие моменты времени, можно узнать о конкретном вычислении, которое выполняет процессор. Например, если шифрование занимает больше времени, это означает, что секретный ключ длинный.

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

  • Анализ ошибок. Атаки. В этих атаках в криптосистеме возникают ошибки, и злоумышленник изучает полученные данные для получения полезной информации.

Атаки только зашифрованным текстом ( COA). В этом методе злоумышленник имеет доступ к набору зашифрованного текста. У него нет доступа к соответствующему тексту. COA считается успешным, когда соответствующий открытый текст может быть определен из заданного набора зашифрованного текста. Иногда ключ шифрования может быть определен из этой атаки. Современные криптосистемы защищены от атак только зашифрованным текстом.

Известная атака открытого текста (KPA). В этом методе злоумышленник знает открытый текст для некоторых частей зашифрованного текста. Задача состоит в том, чтобы расшифровать остальную часть зашифрованного текста, используя эту информацию. Это может быть сделано путем определения ключа или с помощью другого метода. Лучший пример этой атаки – линейный криптоанализ против блочных шифров.

Выбранная атака открытым текстом (CPA) – в этом методе злоумышленник имеет зашифрованный текст по своему выбору. Таким образом, у него есть пара шифртекст-открытый текст по своему выбору. Это упрощает его задачу определения ключа шифрования. Примером этой атаки является дифференциальный криптоанализ, применяемый как к блочным шифрам, так и к хеш-функциям. Популярная криптосистема с открытым ключом, RSA, также уязвима для атак с использованием открытого текста.

Атака по словарю – эта атака имеет много вариантов, каждый из которых включает в себя составление «словаря». В простейшем методе этой атаки злоумышленник создает словарь зашифрованных текстов и соответствующих открытых текстов, которые он выучил за определенный период времени. В будущем, когда злоумышленник получает зашифрованный текст, он обращается к словарю, чтобы найти соответствующий открытый текст.

Атака грубой силы (BFA). В этом методе злоумышленник пытается определить ключ, пытаясь использовать все возможные ключи. Если длина ключа составляет 8 бит, то число возможных ключей составляет 2 8 = 256. Злоумышленник знает зашифрованный текст и алгоритм, теперь он пытается все 256 ключей по одному для расшифровки. Время завершения атаки будет очень большим, если ключ длинный.

Атака на день рождения – это атака методом грубой силы. Он используется против криптографической хэш-функции. Когда учеников в классе спрашивают об их днях рождения, ответом является одна из возможных 365 дат. Предположим, что день рождения первого студента – 3 августа. Затем, чтобы найти следующего студента, чья дата рождения – 3 августа, нам нужно запросить 1,25 * √365 ≈ 25 студентов.

Аналогично, если хеш-функция выдает 64-битные хеш-значения, возможные хеш-значения составляют 1,8×10 19 . При многократной оценке функции для разных входов ожидается, что один и тот же выход будет получен после примерно 5,1 × 10 9 случайных входов.

Если злоумышленник может найти два разных входа, которые дают одинаковое хеш-значение, это коллизия, и эта хеш-функция считается нарушенной.

Атака «Человек посередине» (MIM) . Целями этой атаки являются в основном криптосистемы с открытыми ключами, в которых обмен ключами происходит до установления связи.

Хост A хочет связаться с хостом B , поэтому запрашивает открытый ключ B.

Злоумышленник перехватывает этот запрос и отправляет свой открытый ключ.

Таким образом, что бы ни отправлял хост A на хост B , злоумышленник может читать.

Чтобы поддерживать связь, злоумышленник повторно зашифровывает данные после прочтения с помощью своего открытого ключа и отправляет B.

Злоумышленник отправляет свой открытый ключ как открытый ключ A, так что B принимает его так, как если бы он брал его у A.

Атака по боковому каналу (SCA) – этот тип атаки не направлен против какого-либо конкретного типа криптосистемы или алгоритма. Вместо этого он запускается, чтобы использовать слабость в физической реализации криптосистемы.

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

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

Анализ ошибок. Атаки. В этих атаках в криптосистеме возникают ошибки, и злоумышленник изучает полученные данные для получения полезной информации.

Практичность атак

Атаки на криптосистемы, описанные здесь, носят академический характер, так как большинство из них происходит из академического сообщества. Фактически, многие академические атаки включают в себя довольно нереалистичные предположения об окружающей среде, а также о возможностях атакующего. Например, при атаке с использованием выбранного зашифрованного текста злоумышленнику требуется непрактичное количество преднамеренно выбранных пар открытого текста и зашифрованного текста. Это может быть не совсем практично.

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