id: Гость   вход   регистрация
текущее время 00:43 20/04/2024
Владелец: unknown (создано 02/07/2012 11:48), редакция от 04/07/2012 12:02 (автор: unknown) Печать
Категории: криптография, инфобезопасность, drm, управление ключами, хард, аппаратное шифрование, атаки, побочные каналы
http://www.pgpru.com/Новости/2012/ПлохоеВремяДляИндустрииКриптографическихТокенов
создать
просмотр
редакции
ссылки

02.07 // Плохое время для индустрии криптографических токенов


Исследователь Мэтью Грин опубликовал в своём блоге интересный обзор по состоянию дел с криптографическими токенами.


Токен (18 Кб)

Незадолго до конференции CRYPTO 2012 стал известен список принятых публикаций. Помимо того, что это показывает, что rump-сессия будет небольшой, интересно обратить внимание на работу, связанную с атаками на криптооборудование, известное как криптографические токены.


В работе Bardou, Focardi, Kawamoto, Simionato, Steel и Tsay fileEfficient Padding Oracle Attacks on Cryptographic Hardware за скромным академическим названием скрывается весьма элегантный результат.


Используя далеко не новые криптографические уязвимости, атакующий может извлекать ключи из популярных криптографических токенов. Это плохая новость для тех, кто полагается на эти устройства для обеспечения своей повседневной безопасности.


В таблице галкой отмечены уязвимые устройства:


Уязвимые токены (42 Кб)

Поскольку компьютеры считаются небезопасными устройствами, в случае уязвимостей в ПО возможны утечки ключевого материала, такого как TLS-ключи серверов, ключи подписей сертификатов, аутентификационные ключи. По причине того, что стандартизировать защиту комьютеров достаточно сложно, в качестве популярного решения стало использование хранения ключей на отдельных защищённых устройствах. Такие криптопроцессоры называются аппаратными модулями защиты, а если они являются съёмными и предназначенными для массовых потребителей, то их называют токенами.


Токены должны сохранять безопасность и при компрометации компьютера и при физическом доступе в результате похищения. Несмотря на большие инвестиции производителей в эти задачи, исследования Bardou и др. показывают, что токены всё ещё уязвимы к атакам, которые были известны ещё в девяностые годы.


Более ранние тривиальные атаки из числа последних основаны на нарушении спецификации PKCS#11 Cryptographic Token Interface Standard. Спецификация говорит, что ключи шифрования могут быть (a) использованы для шифрования/расшифрования данных ИЛИ (b) для оборачивания (зашифрования) других секретных ключей. Но НИКОГДА для того И другого одновременно. Если пользователю разрешить обе операции, то он может:


  1. Запросить токен зашифровать секретный ключ K и экспортировать его как шифртекст.
  2. Запросить токен расшифровать данный шифртекст и выдать результат.
  3. Результатом является ключ K.

Сложно поверить, что такая глупая атака работает, но для некоторых токенов это так. В 2010 Bortolozzo, Focardi, Centenaro и Steel fileавтоматизировали процесс поиска схожих багов в API, позволяющих осуществить "взлом" за один шаг. Производители токенов рекомендовали исследователям не публиковать результаты. Но даже после публикации, во многих случаях проблема не исправлена до сих пор.


Однако, существуют атаки и на реализацию криптоалгоритмов симметричного шифрования в режиме CBC и асимметричного шифрования RSA с дополнением PKCS #1v1.5, которые также позволяют извлечь ключи из токена, посылая ему серию запросов.


Атака Vaudenay 2002 года, аналогичная по реализации данной атаке, позволяет повторно импортировать на токен зашифрованный ключ, предварительно изменив его дополнение и по времени отклика на расшифрования подобрать его по частям. В работе Bardou и др. показано, что большинство токенов уязвимы к данной атаке.


Тоже самое касается и атаки на RSA. Устаревший тип дополнения RSA-PKCS#1v1.5, используемый для экономии в токенах, уязвим к атаке Bleichenbacher, известной с 90-х годов. Производители долгое время игнорировали этот факт, утверждая, что проведение тысяч запросов к токену — это малореалистичный сценарий, т.к. он медленно выполняет этот асимметричный алгоритм. В ответ на это Bardou и др. оптимизировали эту атаку таким образом, что токену достаточно послать порядка сотен запросов и получить из него RSA ключ за несколько десятков минут.


Интересен опыт исследователей с ID-картой эстонских властей, которая является обязательным аутентификационным документом (паспортом) для всех граждан данной страны старше 15 лет и регулярно проживающих. Ключи в карте могут использоваться для взаимной аутентификации по протоколу TLS/SSL, а также для подписи и шифрования электронной почты S/MIME. С января 2011 года карты содержат ключи RSA 2048-бит, но имеют хождение и выданные ранее карты c ключами RSA-1024.


С помощью оптимизированной атаки исследователям удалось посылкой 28 300 запросов расшифровать корректный шифртекст за 27 часов для 2048-бит и за 11 часов 30 минут для 1024-бит. Большее число запросов требуется на подделку подписи, что должно занять 103 часа для 2048-бит карты и 48-часов для 1024-бит.


Таблица с результатами атак против реальных токенов:


Время взлома (32 Кб)

Если вашего токена или криптопроцессора нет в таблице — это не значит, что он безопасен. Исследователи скорее всего не смогли получить его образец.


Таблица сравнения оригинальной и оптимизированной атаки:


Оптимизация атаки (43 Кб)

Для защиты от атак против реализаций симметричных алгоритмов производителям токенов следовало бы использовать режимы шифрования с аутентификацией или дополнять все шифртексты кодами аутентификации сообщений (MAC). Для защиты RSA-ключей необходимо использовать RSA-OAEP, хотя это и затратно, и не защищает от атак в полной мере. В условиях доступа к аппаратной реализации в реальном времени проектирование защищённых систем — сложная задача. Даже ничтожные разницы во времени исполнения алгоритмов могут давать утечку о ключе, позволяя легко его извлечь, не вскрывая сам токен физически.


Но типичной реакцией производителей криптооборудования является ответ: "это очередная атака с миллионом сообщений. Нет способа, чтобы кто-то мог бы выполнить её против нашей системы."


Если Брюс Шнайер часто повторяет, что "атаки никогда не становятся хуже, а только лучше", то автор этого обзора, Мэттью Грин, отмечает, что атаки будут прицельно совершенствоваться именно против систем, авторы которых полагают, что наличие непрактичных уязвимостей в криптоалгоритме или протоколе — это не повод полностью от него отказываться.


Источник: A Few Thoughts on Cryptographic Engineering


 
— SATtva (02/07/2012 13:38)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Некоторые вендоры уже заявляют, что атаки, конечно же, чисто теоретические.
— Гость (02/07/2012 13:49)   <#>
Кто проверит для рутокена?
— Гость (02/07/2012 14:00)   <#>
последние несколько лет, банки усердно продвигают использование клиентами в платежных программах токены. и как тут быть? при таких то делах..
— unknown (02/07/2012 14:11)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Потому что без токенов на обычном зоопарке троянов на клиентском компьютере уровень безопасности совсем никакой.
— Makovod (02/07/2012 19:54)   профиль/связь   <#>
комментариев: 15   документов: 5   редакций: 0
Хм... только собрался покупать себе OpenPGP card 2.0, RSA-PKCS smart card и к ним USB читалки, чтобы перейти на хранение SSL и GPG ключей на карте. Видимо, не момент деньги тратить на это барахло, пусть ключи пока остаются на компьютере и резервные копии на флешке в шкафу ;)
— unknown (05/07/2012 15:24)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Поскольку отсылки к новости плавно растеклись по некоторым темам, следует дать некоторые комментарии здесь, во избежание возможных неверных толкования.

Токен по этой технологии взламывается чисто программно. Ему даже не обязательно попадать в руки злоумышленника. Если он долго подключен к компьютеру, то фоновые запросы может незаметно посылать и троян (за исключением токенов с экраном и ручной перепечаткой символов).

Оправдания со стороны производителей строятся на двух пунктах:

  1. Токены чаще используются не для шифрования/подписи статичного текста, а для аутентификации посредством сертификата в TLS-соединении с некоторым онлайн-сервисом. При этом злоумышленнику будет недостаточно вренемени для извлечения ключа до истечения TLS-сессии.
  2. Если злоумышленник может посылать серии запросов посредством трояна, то ему действительно проще заставить подписать токен некий подставной файл/запрос.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3