Клептография

Клептография (англ. Kleptography) — раздел криптовирологии, который исследует безопасные и скрытые коммуникации через криптосистемы и криптографические протоколы и асимметричные бэкдоры в криптографических алгоритмах (генерации ключей, цифровой подписи, обмене ключами, генераторах псевдослучайных чисел, алгоритмах шифрования) с целью совершения клептографической атаки[1]. Термин был введён Адамом Янгом и Моти Юнгом на конференции Advances in Cryptology—Crypto '96[2]

Клептография является естественным продолжением теории подсознательных каналов[3][4][5], которая была впервые применена Гусом Симмонсом во время работы в Национальной Лаборатории Сандиа[1].

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

Определение

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

Обратной разработкой можно обнаружить вставленный злоумышленником бэкдор и, когда он является симметричным, даже воспользоваться им самому[6]. Однако, по определению, клептографический бэкдор асимметричен, и реверс-инженер не сможет его использовать. Клептографическая атака (асимметричный бэкдор) требует наличия закрытого ключа, известного только для злоумышленника, для использования бэкдора. В этом случае, даже если реверс-инженер был хорошо профинансирован и получил полное знание бэкдора, для него было бы бесполезно извлекать открытый текст без секретного ключа злоумышленника[6].

Реализация

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

Клептографические атаки были разработаны для генерации ключей RSA, обмена ключами Диффи-Хеллмана, алгоритма цифровой подписи и других криптографических алгоритмов и протоколов. SSL, SSH и IPsec уязвимы для клептографических атак[9]. В каждом случае злоумышленник может скомпрометировать конкретный криптографический алгоритм или протокол. Он проверяет информацию, в которую закодирован бэкдор (например, открытый ключ, цифровая подпись, сообщения обмена ключами и т. д.), а затем использует этот асимметричный бэкдор, применив свой секретный ключ (обычно это закрытый ключ)[1].

Ари Джуэлс и Хосе Гуахардо[10] предложили метод (KEGVER), через который третье лицо может проверить генерацию ключей RSA. Он разработан как форма распространения распределенного ключа, в которой секретный ключ известен только самому чёрному ящику. Это гарантирует, что процесс генерации ключей не был изменён и что закрытый ключ не может быть воспроизведен с помощью клептографической атаки[10].

Примеры

Четыре практических примера клептографических атак (включая упрощенную атаку SETUP против RSA) можно найти в JCrypTool 1.0, независимую от платформы версию проекта CrypTool с открытым исходным кодом[11]. В JCrypTool также реализована демонстрация предотвращения клептографических атак с помощью метода KEGVER[12].

Клептографический бэкдор используется в криптографически стойком генераторе псевдослучайных чисел Dual_EC_DRBG из NIST SP 800-90A. Dual_EC_DRBG применяет эллиптическую криптографию, и, как считается, NSA владеет закрытым ключом, который вместе с ошибками смещения в Dual_EC_DRBG позволяет NSA расшифровывать SSL-трафик между компьютерами, используя, например, Dual_EC_DRBG[13].

Защита от клептографических атак

Существует общие рекомендации по защите от клептографических атак, такие как проведение комплексного анализа структуры криптосистемы с привлечением специалистов в области криптографии и композиция (каскадирование) криптопреобразований, имеющих происхождение из различных источников[14]. Использование коммерческих криптографических средств, как аппаратных, так и программных приводит к тому, что рядовой пользователь или даже фирма среднего размера не в состоянии удостовериться в «чистоте» используемых технологий. Программы, как правило, стараются максимально защитить от дизассемблирования, а анализ внутренней структуры аппаратных решений сам по себе весьма трудоемок и дорог, даже если производитель не применяет специальных защитных мер[14].

Примечания

  1. A. Young, M. Yung, 2004, с. 211—264.
  2. A. Young, M. Yung, 1996, с. 89—103.
  3. Simmons, 1984, с. 51—67.
  4. Simmons, 1985, с. 364—378.
  5. Simmons, 1993, с. 218—232.
  6. Esslinger, 2013, с. 1—2.
  7. Young, Adam Cryptovirology FAQ. Cryptovirology.com (2006). Дата обращения: 12 декабря 2018.
  8. Easttom, 2018, с. 1664—1669.
  9. F. Zagórski, M. Kutyłowski, 2006, с. 496—499.
  10. A. Juels, J. Guajardo, 2002, с. 13—19.
  11. Esslinger, Bernhard Die dunkle Seite der Kryptografie — Kleptografie bei Black-Box-Implementierungen (недоступная ссылка). archive.org (2010). Архивировано 21 июля 2011 года.
  12. JCrypTool 1.0. cryptool.org. Дата обращения: 15 декабря 2018.
  13. Zetter, Kim Заявление RSA Security о наличии бэкдора в Dual_EC_DRBG. wired.com (2013). Дата обращения: 18 декабря 2018.
  14. Иванов, 2011, с. 68—69.

Литература

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.