Миронов, Евгений Витальевич
- 1 year ago
- 0
- 0
Клептография ( англ. Kleptography ) — раздел криптовирологии , который исследует безопасные и скрытые коммуникации через криптосистемы и криптографические протоколы и асимметричные бэкдоры в криптографических алгоритмах (генерации ключей , цифровой подписи , обмене ключами, генераторах псевдослучайных чисел , алгоритмах шифрования ) с целью совершения клептографической атаки . Термин был введён Адамом Янгом и на конференции Advances in Cryptology—Crypto '96
Клептография является естественным продолжением теории , которая была впервые применена во время работы в .
Клептографическая атака использует асимметричную криптографию для реализации криптографического бэкдора . Например, одной из таких атак может быть искусное изменение того, как криптосистема генерирует ключевую пару , чтобы закрытый ключ мог быть получен из открытого ключа с использованием закрытого ключа злоумышленника. В хорошо продуманном нападении выходы зараженной криптосистемы будут от выходов неинфицированной . Если зараженная криптосистема представляет собой реализацию черного ящика , такую как , смарт-карта или , успешная атака может остаться незамеченной .
Обратной разработкой можно обнаружить вставленный злоумышленником бэкдор и, когда он является симметричным, даже воспользоваться им самому . Однако, по определению, клептографический бэкдор асимметричен, и реверс-инженер не сможет его использовать. Клептографическая атака (асимметричный бэкдор) требует наличия закрытого ключа, известного только для злоумышленника, для использования бэкдора. В этом случае, даже если реверс-инженер был хорошо профинансирован и получил полное знание бэкдора, для него было бы бесполезно извлекать открытый текст без секретного ключа злоумышленника .
Клептографические атаки могут быть построены как криптотроян , который заражает криптосистему и открывает бэкдор для злоумышленника, или могут быть реализованы производителем криптосистемы. Атака не обязательно должна раскрывать весь вывод криптосистемы; более сложная техника атаки заключается в чередовании между получением неинфицированных выходных данных и небезопасных данных при наличии бэкдора .
Клептографические атаки были разработаны для генерации ключей RSA , обмена ключами Диффи-Хеллмана , алгоритма цифровой подписи и других криптографических алгоритмов и протоколов. SSL , SSH и IPsec уязвимы для клептографических атак . В каждом случае злоумышленник может скомпрометировать конкретный криптографический алгоритм или протокол. Он проверяет информацию, в которую закодирован бэкдор (например, открытый ключ, цифровая подпись, сообщения обмена ключами и т. д.), а затем использует этот асимметричный бэкдор, применив свой секретный ключ (обычно это закрытый ключ) .
Ари Джуэлс и Хосе Гуахардо предложили метод (KEGVER), через который третье лицо может проверить генерацию ключей RSA. Он разработан как форма распространения распределенного ключа, в которой секретный ключ известен только самому чёрному ящику. Это гарантирует, что процесс генерации ключей не был изменён и что закрытый ключ не может быть воспроизведен с помощью клептографической атаки .
Четыре практических примера клептографических атак (включая упрощенную атаку SETUP против RSA) можно найти в JCrypTool 1.0, независимую от платформы версию проекта CrypTool с открытым исходным кодом . В JCrypTool также реализована демонстрация предотвращения клептографических атак с помощью метода KEGVER .
Клептографический бэкдор используется в криптографически стойком генераторе псевдослучайных чисел Dual_EC_DRBG из NIST SP 800-90A . Dual_EC_DRBG применяет эллиптическую криптографию , и, как считается, NSA владеет закрытым ключом, который вместе с ошибками смещения в Dual_EC_DRBG позволяет NSA расшифровывать SSL-трафик между компьютерами, используя, например, Dual_EC_DRBG .
Существует общие рекомендации по защите от клептографических атак, такие как проведение комплексного анализа структуры криптосистемы с привлечением специалистов в области криптографии и композиция (каскадирование) , имеющих происхождение из различных источников . Использование коммерческих криптографических средств, как аппаратных, так и программных приводит к тому, что рядовой пользователь или даже фирма среднего размера не в состоянии удостовериться в «чистоте» используемых технологий. Программы, как правило, стараются максимально защитить от дизассемблирования , а анализ внутренней структуры аппаратных решений сам по себе весьма трудоемок и дорог, даже если производитель не применяет специальных защитных мер .