Клептография
Клептография (англ. 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 2 3 4 A. Young, M. Yung, 2004, с. 211—264.
- ↑ A. Young, M. Yung, 1996, с. 89—103.
- ↑ Simmons, 1984, с. 51—67.
- ↑ Simmons, 1985, с. 364—378.
- ↑ Simmons, 1993, с. 218—232.
- ↑ 1 2 3 Esslinger, 2013, с. 1—2.
- ↑ Young, Adam Cryptovirology FAQ . Cryptovirology.com (2006). Дата обращения: 12 декабря 2018. Архивировано 9 мая 2017 года.
- ↑ Easttom, 2018, с. 1664—1669.
- ↑ F. Zagórski, M. Kutyłowski, 2006, с. 496—499.
- ↑ 1 2 A. Juels, J. Guajardo, 2002, с. 13—19.
- ↑ Esslinger, Bernhard Die dunkle Seite der Kryptografie — Kleptografie bei Black-Box-Implementierungen . archive.org (2010). Архивировано из оригинала 21 июля 2011 года.
- ↑ JCrypTool 1.0 . cryptool.org. Дата обращения: 15 декабря 2018. Архивировано 15 ноября 2018 года.
- ↑ Zetter, Kim Заявление RSA Security о наличии бэкдора в Dual_EC_DRBG . wired.com (2013). Дата обращения: 18 декабря 2018. Архивировано 31 октября 2018 года.
- ↑ 1 2 Иванов, 2011, с. 68—69.
Литература
[править | править код]- Иванов М.А. Разрушающие программные воздействия : [рус.]. — НИЯУ МИФИ, 2011. — 328 с. — ISBN 978-5-7262-1503-7.
- Simmons, Gustavus. The Prisoners' Problem and the Subliminal Channel (англ.) // Plenum Press. — In Proceedings of Crypto '83, 1984.
- Simmons, Gustavus. The Subliminal Channel and Digital Signatures (англ.) // Springer-Verlag. — In Proceedings of Eurocrypt '84, 1985.
- Simmons, Gustavus. Subliminal Communication is Easy Using the DSA (англ.) // Springer-Verlag. — In Proceedings of Eurocrypt '93, 1993.
- A. Young, M. Yung. The Dark Side of Black-Box Cryptography, or: Should we trust Capstone? (англ.) // Springer-Verlag. — Proceedings of Crypto '96, 1996.
- Esslinger, Bernhard. The Dark Side of Cryptography: Kleptography in Black-Box Implementations (англ.) // Infosecurity Magazin. — 2013.
- Easttom, Chuck. A Study of Cryptographic Backdoors in Cryptographic Primitives (англ.). — Iranian Conference on Electrical Engineering, 2018.
- A. Young, M. Yung. Malicious Cryptography: Exposing Cryptovirology : [англ.]. — John Wiley & Sons, 2004. — 416 с. — ISBN 978-0-764-54975-5.
- F. Zagórski, M. Kutyłowski. Kleptographic Attacks on E-Voting Schemes (англ.). — Emerging Trends in Information and Communication Security, 2006.
- A. Juels, J. Guajardo. RSA Key Generation with Verifiable Randomness (англ.) // Springer-Verlag. — 4th International Workshop on Practice and Theory in Public Key Cryptosystems, 2002.
- A. Young, M. Yung. Space-Efficient Kleptography Without Random Oracles (англ.) // Springer-Verlag. — 9th International Workshop, Saint Malo, France, 2007. — P. 112—129. — ISBN 978-3-540-77369-6.
- Wobst, Reinhard. Cryptology Unlocked : [англ.]. — John Wiley & Sons, 2007. — 554 с. — ISBN 0470060646.
Ссылки
[править | править код]- JCrypTool 1.0 . Дата обращения: 12 декабря 2018. Архивировано 12 декабря 2020 года. (англ.)
- Matthew Green. Dual EC DRBG . — Множественные изъяны в Dual EC DRBG. Дата обращения: 12 декабря 2018. Архивировано 30 ноября 2018 года. (англ.)
- Алгоритм реализации бэкдора в Dual_EC_DRBG . habr.com (2013). Дата обращения: 18 декабря 2018. Архивировано 15 декабря 2018 года. (рус.)