Атаки на криптосистемы
В современную эпоху не только бизнес, но и почти все аспекты человеческой жизни зависят от информации. Следовательно, стало необходимо защищать полезную информацию от злонамеренных действий, таких как атаки. Рассмотрим типы атак, которым обычно подвергается информация.
Атаки обычно классифицируются в зависимости от действий, выполняемых злоумышленником. Таким образом, атака может бытьpassive или же active.
Пассивные атаки
Основная цель пассивной атаки - получить unauthorized access to the information. Например, такие действия, как перехват и прослушивание канала связи, можно рассматривать как пассивную атаку.
Эти действия носят пассивный характер, поскольку не влияют на информацию и не нарушают канал связи. Пассивная атака часто рассматривается как кража информации. Единственная разница в краже физических товаров и информации заключается в том, что кража данных по-прежнему оставляет эти данные в руках владельца. Таким образом, пассивная информационная атака более опасна, чем кража товаров, поскольку кража информации может остаться незамеченной владельцем.
Активные атаки
Активная атака включает в себя изменение информации каким-либо образом путем выполнения некоторой обработки информации. Например,
Несанкционированное изменение информации.
Инициирование непреднамеренной или несанкционированной передачи информации.
Изменение данных аутентификации, таких как имя отправителя или метка времени, связанная с информацией
Несанкционированное удаление данных.
Отказ в доступе к информации законным пользователям (отказ в обслуживании).
Криптография предоставляет множество инструментов и методов для реализации криптосистем, способных предотвратить большинство атак, описанных выше.
Предположения атакующего
Давайте посмотрим на преобладающую среду вокруг криптосистем, а затем на типы атак, используемых для взлома этих систем -
Окружающая среда вокруг криптосистемы
При рассмотрении возможных атак на криптосистему необходимо знать среду криптосистем. Предположения злоумышленника и знания об окружающей среде определяют его возможности.
В криптографии делаются следующие три предположения о среде безопасности и возможностях злоумышленника.
Подробная информация о схеме шифрования
Дизайн криптосистемы основан на следующих двух алгоритмах криптографии:
Public Algorithms - С этой опцией все детали алгоритма находятся в открытом доступе, известны всем.
Proprietary algorithms - Детали алгоритма известны только разработчикам системы и пользователям.
В случае собственных алгоритмов безопасность обеспечивается за счет неизвестности. Частные алгоритмы могут быть не самыми сильными алгоритмами, поскольку они разрабатываются собственными силами и не могут тщательно исследоваться на предмет слабых мест.
Во-вторых, они позволяют общаться только между закрытой группой. Следовательно, они не подходят для современного общения, когда люди общаются с большим количеством известных или неизвестных сущностей. Кроме того, согласно принципу Керкхоффа, предпочтительнее, чтобы алгоритм был открытым, а надежность шифрования заложена в ключе .
Таким образом, первое предположение о среде безопасности состоит в том, что encryption algorithm is known to the attacker.
Доступность зашифрованного текста
Мы знаем, что после того, как открытый текст зашифрован в зашифрованный текст, он передается по незащищенному общедоступному каналу (например, по электронной почте) для передачи. Таким образом, злоумышленник явно может предположить, чтоaccess to the ciphertext generated by the cryptosystem.
Доступность открытого и зашифрованного текста
Это предположение не так очевидно, как другие. Однако могут возникнуть ситуации, когда злоумышленник можетaccess to plaintext and corresponding ciphertext. Вот некоторые из таких возможных обстоятельств -
Злоумышленник побуждает отправителя преобразовать открытый текст по своему выбору и получает зашифрованный текст.
Получатель может непреднамеренно раскрыть злоумышленнику открытый текст. Злоумышленник имеет доступ к соответствующему зашифрованному тексту, полученному из открытого канала.
В криптосистеме с открытым ключом ключ шифрования находится в открытом домене и известен любому потенциальному злоумышленнику. Используя этот ключ, он может генерировать пары соответствующих открытых текстов и зашифрованных текстов.
Криптографические атаки
Основная цель злоумышленника - взломать криптосистему и найти открытый текст из зашифрованного текста. Чтобы получить открытый текст, злоумышленнику нужно только узнать секретный ключ дешифрования, поскольку алгоритм уже находится в открытом доступе.
Следовательно, он прилагает максимум усилий для выяснения секретного ключа, используемого в криптосистеме. Как только злоумышленник может определить ключ, атакованная система считается сломанной или скомпрометированной .
В зависимости от используемой методологии атаки на криптосистемы подразделяются на следующие категории:
Ciphertext Only Attacks (COA)- В этом методе злоумышленник имеет доступ к набору зашифрованных текстов. У него нет доступа к соответствующему открытому тексту. COA считается успешным, если соответствующий открытый текст может быть определен из заданного набора зашифрованного текста. Иногда ключ шифрования может быть определен с помощью этой атаки. Современные криптосистемы защищены от атак с использованием только зашифрованного текста.
Known Plaintext Attack (KPA)- В этом методе злоумышленник знает открытый текст для некоторых частей зашифрованного текста. Задача состоит в том, чтобы расшифровать остальную часть зашифрованного текста, используя эту информацию. Это можно сделать путем определения ключа или каким-либо другим способом. Лучший пример этой атаки - линейный криптоанализ против блочных шифров.
Chosen Plaintext Attack (CPA)- В этом методе злоумышленник зашифровывает текст по своему выбору. Таким образом, у него есть пара шифртекст-открытый текст по своему выбору. Это упрощает ему задачу определения ключа шифрования. Примером этой атаки является дифференциальный криптоанализ, применяемый как к блочным шифрам, так и к хеш-функциям. RSA, популярная криптосистема с открытым ключом, также уязвима для атак с использованием выбранного открытого текста.
Dictionary Attack- У этой атаки много вариантов, каждый из которых включает составление «словаря». В простейшем методе этой атаки злоумышленник создает словарь зашифрованных текстов и соответствующих открытых текстов, которые он изучил за определенный период времени. В будущем, когда злоумышленник получает зашифрованный текст, он обращается к словарю, чтобы найти соответствующий открытый текст.
Brute Force Attack (BFA)- В этом методе злоумышленник пытается определить ключ, перебирая все возможные ключи. Если длина ключа 8 бит, то количество возможных ключей равно 2 8 = 256. Злоумышленник знает зашифрованный текст и алгоритм, теперь он пытается все 256 ключей один за другим для дешифрования. Время завершения атаки будет очень большим, если ключ длинный.
Birthday Attack- Эта атака является разновидностью техники грубой силы. Он используется против криптографической хеш-функции. Когда учеников в классе спрашивают об их днях рождения, ответ - одна из 365 возможных дат. Допустим , дата рождения первого студента является 3 - го августа Тогда , чтобы найти следующий студент , чья дата рождения является 3 - го августа, мы должны спросить 1,25 * ?? √365 ≈ 25 студентов.
Точно так же, если хеш-функция создает 64-битные хеш-значения, возможные хеш-значения составляют 1,8x10 19 . При многократном оценивании функции для разных входов ожидается, что тот же результат будет получен после примерно 5,1x10 9 случайных входов.
Если злоумышленник может найти два разных входа, которые дают одно и то же значение хеш-функции, это collision и эта хеш-функция называется неработающей.
Man in Middle Attack (MIM) - Целями этой атаки в основном являются криптосистемы с открытым ключом, в которых происходит обмен ключами до того, как произойдет обмен данными.
Хост хочет общаться принимающим B , следовательно , требует открытого ключа B .
Злоумышленник перехватывает этот запрос и вместо этого отправляет свой открытый ключ.
Таким образом, все, что хост A отправляет на хост B , злоумышленник может прочитать.
Для того , чтобы поддерживать связь, злоумышленник повторно шифрует данные после прочтения его открытым ключом и посылает B .
Атакующий посылает свой открытый ключ в качестве A открытого ключа «s так , что B принимает его , как будто он принимает его от A .
Side Channel Attack (SCA)- Этот тип атаки не направлен против какого-либо конкретного типа криптосистемы или алгоритма. Вместо этого он запускается, чтобы использовать слабые места в физической реализации криптосистемы.
Timing Attacks- Они используют тот факт, что для разных вычислений на процессоре требуется разное время. Измеряя такие моменты времени, можно узнать о конкретном вычислении, которое выполняет процессор. Например, если шифрование занимает больше времени, это означает, что секретный ключ длинный.
Power Analysis Attacks - Эти атаки аналогичны атакам по времени, за исключением того, что количество потребляемой мощности используется для получения информации о характере лежащих в основе вычислений.
Fault analysis Attacks - В этих атаках в криптосистеме возникают ошибки, и злоумышленник изучает полученный результат для получения полезной информации.
Практичность атак
Описанные здесь атаки на криптосистемы носят академический характер, поскольку большинство из них исходят от академического сообщества. Фактически, многие академические атаки предполагают совершенно нереалистичные предположения об окружающей среде, а также о возможностях злоумышленника. Например, при атаке с выбранным зашифрованным текстом злоумышленнику требуется непрактичное количество намеренно выбранных пар открытый текст-зашифрованный текст. Это может оказаться непрактичным.
Тем не менее, тот факт, что существует какая-либо атака, должен вызывать беспокойство, особенно если метод атаки имеет потенциал для улучшения.