У моей компании есть проект, созданный с помощью ASP.NET в .NET Framework 3.5 и веб-сервере Windows 2008 R2 принять проект.Как обеспечить выполнение FIPS в коде asp.net (эта реализация не является частью криптографических алгоритмов проверки подлинности Windows Platform FIPS.)
В веб-сервере, мы включили настройку «Системная криптография: совместимые алгоритмы использовать FIPS для шифрования, хеширования и подписывания»
После после того, что приложение не запускается. он показывает следующую ошибку
Parser Error Message: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
трассировки стека:
[InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.]
System.Security.Cryptography.RijndaelManaged..ctor() +7715396
System.Web.Configuration.MachineKeySection.ConfigureEncryptionObject() +232
System.Web.Configuration.MachineKeySection.EnsureConfig() +156
System.Web.Configuration.MachineKeySection.GetEncodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32& length) +37
System.Web.UI.ObjectStateFormatter.Serialize(Object stateGraph) +166
System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Serialize(Object state) +4
System.Web.UI.Util.SerializeWithAssert(IStateFormatter formatter, Object stateGraph) +37
System.Web.UI.HiddenFieldPageStatePersister.Save() +79
System.Web.UI.Page.SavePageStateToPersistenceMedium(Object state) +105
System.Web.UI.Page.SaveAllState() +236
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1099
Мы ищем решения для этого. Большинство решений, которые мы нашли в Интернете, предлагают отключить проверку FIPS, отключив параметр «Системная криптография: используйте алгоритмы, совместимые с FIPS для шифрования, хэширования и подписания». Или добавив эти две строки в web.config.
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>
<enforceFIPSPolicy enabled="false"/>
Но мы не хотим отключать проверку FIPS для нашего кода в целях безопасности. Вместо этого мы хотим скорректировать наш код или настройку сервера, чтобы он применял политику FIPS в проекте с интерпретацией его функциональных возможностей.
Может ли кто-нибудь дать мне какие-либо идеи по этому поводу?
«Реализация утвержденного криптографического алгоритма считается совместимым с FIPS только в том случае, если она была отправлена и прошла сертификацию Национального института стандартов и технологий (NIST)». См. [Здесь] (https://blogs.technet.microsoft.com/secguide/2014/04/07/why-were-not-recommending-fips-mode-anymore/). Я предполагаю, что ваши алгоритмы не были отправлены, подтверждены и подписаны? – Basic
Используете ли вы управляемые версии .Net Реализованные алгоритмы хеширования? В этой ссылке указано, что полные .net Реализованные версии не соответствуют FIPS, в основном, методам, заканчивающимся «Управляемым». https://blogs.technet.microsoft.com/secguide/2014/04/07/why-would-not-recommending-fips-mode-more/ – Bearcat9425
@basic: просматривая код, я понимаю, что код просто использует криптографический алгоритм по умолчанию в System.Security.Cryptography , – monjuri