Клептография — это изучение кражи информации безопасным и подсознательным способом. Этот термин был введен Адамом Янгом и Моти Юнгом в Proceedings of Advances in Cryptology – Crypto '96. [1] Клептография — это подраздел криптовирусологии и естественное расширение теории подсознательных каналов , которая была впервые предложена Гасом Симмонсом во время работы в Национальной лаборатории Сандия . [2] [3] [4] Клептографический бэкдор синонимично именуется асимметричным бэкдором. Клептография охватывает безопасные и скрытые коммуникации через криптосистемы и криптографические протоколы. Это напоминает, но не то же самое, что стеганография , которая изучает скрытые коммуникации через графику, видео, цифровые аудиоданные и т. д.
Клептографическая атака — это атака, которая использует асимметричную криптографию для реализации криптографического бэкдора . [5] Например, одна из таких атак может заключаться в тонком изменении того, как пары открытого и закрытого ключей генерируются криптосистемой, так что закрытый ключ может быть получен из открытого ключа с использованием закрытого ключа злоумышленника. В хорошо продуманной атаке выходные данные зараженной криптосистемы будут вычислительно неотличимы от выходных данных соответствующей незараженной криптосистемы. [6] [7] Если зараженная криптосистема представляет собой реализацию черного ящика , такую как аппаратный модуль безопасности , смарт-карта или модуль доверенной платформы , успешная атака может остаться совершенно незамеченной.
Обратный инженер может быть в состоянии обнаружить бэкдор, вставленный злоумышленником, и если это симметричный бэкдор, даже использовать его самостоятельно. [5] Однако по определению клептографический бэкдор асимметричный, и обратный инженер не может его использовать. Клептографическая атака (асимметричный бэкдор) требует закрытого ключа, известного только злоумышленнику, чтобы использовать бэкдор. В этом случае, даже если бы обратный инженер был хорошо профинансирован и получил полное знание бэкдора, для него было бы бесполезно извлекать открытый текст без закрытого ключа злоумышленника. [5]
Клептографические атаки могут быть построены как криптотроян , который заражает криптосистему и открывает бэкдор для злоумышленника, [ требуется ссылка ] или могут быть реализованы производителем криптосистемы. Атака не обязательно должна раскрывать весь вывод криптосистемы; более сложная техника атаки может чередоваться между созданием незараженного вывода и небезопасных данных с наличием бэкдора. [8]
Клептографические атаки были разработаны для генерации ключей RSA , обмена ключами Диффи-Хеллмана , алгоритма цифровой подписи и других криптографических алгоритмов и протоколов. [8] Протоколы SSL , SSH и IPsec уязвимы для клептографических атак . [9] В каждом случае злоумышленник может скомпрометировать конкретный криптографический алгоритм или протокол, проверив информацию, в которой закодирована информация бэкдора (например, открытый ключ, цифровая подпись, сообщения обмена ключами и т. д.), а затем эксплуатируя логику асимметричного бэкдора, используя свой секретный ключ (обычно закрытый ключ).
A. Juels и J. Guajardo [10] предложили метод (KEGVER), с помощью которого третья сторона может проверить генерацию ключа RSA. Это разработано как форма распределенной генерации ключа, в которой секретный ключ известен только самому черному ящику . Это гарантирует, что процесс генерации ключа не был изменен и что закрытый ключ не может быть воспроизведен посредством клептографической атаки. [10]
Четыре практических примера клептографических атак (включая упрощенную атаку SETUP против RSA) можно найти в JCrypTool 1.0 [11] , платформенно-независимой версии проекта CrypTool с открытым исходным кодом . [12] Демонстрация предотвращения клептографических атак с помощью метода KEGVER также реализована в JCrypTool.
Предполагается, что криптографический псевдослучайный генератор чисел Dual_EC_DRBG из NIST SP 800-90A содержит клептографический бэкдор. Dual_EC_DRBG использует эллиптическое кривое шифрование , и АНБ, как полагают, хранит закрытый ключ, который вместе с ошибками смещения в Dual_EC_DRBG позволяет АНБ расшифровывать SSL-трафик между компьютерами, используя, например, Dual_EC_DRBG . [13] Алгебраическая природа атаки следует структуре повторяющейся Dlog-клептограммы в работе Янга и Юнга .