Влияет ли ошибка шифрования XML на безопасность на основе сертификатов WCF X.509?

#xml #wcf #encryption

#xml #wcf #шифрование

Вопрос:

Была продемонстрирована «практическая атака на режим цепочки блоков шифрования XML (CBC)»:

http://www.informationweek.com/news/security/vulnerabilities/231901532

Мой вопрос заключается в следующем: влияет ли это на безопасность на уровне сообщений на основе сертификатов WCF X.509?

Заранее спасибо.

Ответ №1:

WCF использует XMLDSIG для шифрования своих сообщений (см. http://msdn.microsoft.com/en-us/library/ms229744.aspx ). Итак, если вы используете шифрование WCF с любым блочным шифром в режиме CBC, вы будете уязвимы.

Сэди, режим CBC является режимом по умолчанию для WCF (см. http://msdn.microsoft.com/en-us/library/system.security.cryptography.xml.encryptedxml.mode.aspx ).

Комментарии:

1. Смотрите также crypto.stackexchange.com/questions/1042 /.

2. Согласно приведенному здесь анализу, это происходит потому, что серверы отвечают достаточной информацией о проблеме, чтобы оказаться полезной для злоумышленника. Предоставляет ли WCF эту информацию также по умолчанию?

3. Кроме того, что насчет этого ? В нем говорится: «Похоже, что процесс работает только тогда, когда шифрование AES используется в режиме CBC, поэтому, если для кодификации используются ключи RSA или сертификаты X.509, концепция атаки неэффективна». Поскольку сертификат используется только для обмена ключом, это не имеет значения, или это можно прочитать, чтобы сказать, что, поскольку симметричный ключ должен быть установлен перед использованием, атака не имеет значения?

4. Прочитайте фактический документ, и, насколько я могу судить, злоумышленнику будет возвращено достаточно данных, и использование сертификата X.509 не помешает этому. Спасибо за все ссылки, которые позволили мне ознакомиться с этой проблемой.

5. @zimdanen, я изучаю тот же вопрос. Из прочтения статьи и некоторых материалов по crypto.stackexchange.com Я думаю, что все шифрование сообщений WCF компримировано. Reflector сообщает, что все наборы алгоритмов, определенные в System.ServiceModel.Security.SecurityAlgorithmSuite use CBC, а не только стандартный AES 256 (он же Basic256) для .NET 4. MSDN указывает, что .NET 4.5 (по состоянию на 4.11.2011) здесь не изменился.

Ответ №2:

Я задал этот самый вопрос службе поддержки MS. Вопросы и ответы http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/a1e74f4b-9469-43bb-9e91-4d524bee6ceb . Прокрутите до конца, где я смог заручиться поддержкой людей, чтобы конкретно ответить публично.

Короткий ответ — НЕТ, метод, описанный в документе, НЕ влияет на безопасность на уровне сообщений на основе сертификатов X.509.

Действительно, стек WCF специально защищен от атаки, поскольку невозможно зашифровать только трафик. Уязвимость влияет только на шифрование, но не влияет на шифрование и подпись. Описание в http://msdn.microsoft.com/en-us/library/system.net.security.protectionlevel.aspx описывает, что позволяет MS WCF. WCF даже не будет принимать зашифрованный трафик.

Хотя, по-видимому, проблема с базовой спецификацией шифрования W3C заключается в том, что она недостаточно жесткая, я думаю, что реальная уязвимость in-our-face находится в пространстве Axis2, где возможно только шифрование.

Я бы хотел, чтобы MS разрешила шифрование WCF через AES-GCM вместо AES-CBC. Учитывая успех атаки CBC, кажется, что дни CBC в производственных системах должны быть сочтены.