КлептографияКлептография (англ. 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]. Примечания
Литература
Ссылки
|