Сбой ASPX-страниц из-за политики безопасности FIPS 140 - PullRequest
3 голосов
/ 18 марта 2011

Я работаю на государственном сайте и у меня возникли проблемы с локальной политикой безопасности, которая мешает моему веб-приложению. На моем сервере включена настройка «Системная криптография: использовать FIPS 140-совместимые криптографические алгоритмы, включая алгоритмы шифрования, хэширования и подписи».

Так как это было включено, большинство моих страниц aspx возвращают ошибку «Эта реализация не является частью проверенных криптографических алгоритмов FIPS платформы Windows». Эти страницы не имеют доступа к каким-либо криптографическим методам. Они общаются с другим сервером базы данных, но это все.

Моя проблема похожа на описанную здесь . Однако у меня нет возможности отключить этот параметр безопасности FIPS.

Я использую .NET 4.0, IIS 7.0 и Windows Server 2008 R2, если это имеет значение. Кто-нибудь сталкивался с этой проблемой раньше?

Обновление

К сожалению, исправление элемента машинного ключа для использования алгоритма, соответствующего FIPS, не полностью решило мою проблему. Я все еще получаю сообщение об ошибке на многих своих страницах.

Я нашел два исправления, которые могут быть связаны. Я попытаюсь установить их и посмотрю, что произойдет.

1 Ответ

2 голосов
/ 18 марта 2011

См. Статью базы знаний Microsoft: KB 811833 - Эффекты включения «Системная криптография: используйте FIPS-совместимые алгоритмы для шифрования, хеширования и подписи ...» .Выдержка:

Приложения Microsoft .NET Framework, такие как Microsoft ASP.NET, допускают использование только тех реализаций алгоритмов, которые сертифицированы NIST для соответствия FIPS 140.В частности, единственные классы криптографических алгоритмов, которые могут быть созданы, - это классы, которые реализуют FIPS-совместимые алгоритмы.Имена этих классов оканчиваются на «CryptoServiceProvider» или «Cng».Любая попытка создать экземпляр других классов криптографических алгоритмов, таких как классы с именами, оканчивающимися на «Managed», вызывает исключение InvalidOperationException.Кроме того, любая попытка создать экземпляр криптографического алгоритма, который не совместим с FIPS, например MD5, также вызывает исключение InvalidOperationException.

По умолчанию ASP.NET хочет использовать алгоритмыкоторые несовместимы с соответствием FIPS. Чтобы решить вашу проблему, вам нужно изменить конфигурацию ASP.NET, чтобы вместо нее использовать совместимый алгоритм.Инструкции по настройке другого алгоритма см. В элементе machineKey .

В этом сообщении на форуме MSDN предлагается, что 3DES должно быть совместимо ... хотяВ документации machineKey, приведенной ранее, говорится об AES (по умолчанию в ASP.NET 4.0) «Этот алгоритм соответствует федеральным стандартам обработки информации США (FIPS) ».

также слышал, что наличие debug="true" в вашем web.config может вызвать ошибку.

...