ASP.NET 2.0 алгоритма шифрования RijndaelManaged по сравнению с FIPS

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

Для JavaScript это выглядит так:

function magicFunction (targetArray, indexFrom, indexTo) { 

    targetElement = targetArray[indexFrom]; 
    magicIncrement = (indexTo - indexFrom) / Math.abs (indexTo - indexFrom); 

    for (Element = indexFrom; Element != indexTo; Element += magicIncrement){ 
        targetArray[Element] = targetArray[Element + magicIncrement]; 
    } 

    targetArray[indexTo] = targetElement; 

}

Check

http://www.gloommatter.com/DDesign/programming/moving-any-array-elements-universal-функция. HTML

7
задан SwDevMan81 5 August 2009 в 17:46
поделиться

7 ответов

Относительно Вашего 2-го вопроса: Возможно, этот Статья MSDN помогает.

Согласно документам можно настроить алгоритм шифрования как это:

<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>

Для проверки, можно использовать одно из следующего: [SHA1 | MD5 | 3DES | AES]

Для дешифрования, можно использовать одно из следующего te: [Автоматический | DES | 3DES | AES]

Поэтому, чтобы быть совместимым FIPS, Вы могли бы использовать 3DES (хотя AFAIK, теоретически менее безопасный).

2
ответ дан 7 December 2019 в 01:28
поделиться

необходимо будет также сделать это на поле

, Осуществляющем Сертифицированную FIPS Криптографию

1
ответ дан 7 December 2019 в 01:28
поделиться

Мы попробовали machineKey, который Вы предлагаете. Этому помогают с некоторыми веб-приложениями (при соединении с), который является большим, но не весь из них, который печален.

я пропускаю что-то, но danged, если я могу сказать что.

0
ответ дан 7 December 2019 в 01:28
поделиться

Еще раз проверьте, нет ли в вашем Web.config. Когда установлена ​​отладочная компиляция, .NET использует хеш MD5 для некоторой внутренней бухгалтерии. MD5 несовместим с FIPS, поэтому вы получаете эту ошибку.

5
ответ дан 7 December 2019 в 01:28
поделиться

Некоторые сайты, такие как сайты SharePoint, имеют машинный ключ SHA1 уже в веб-конфигурации, поэтому проверьте, есть ли там алгоритм, если он есть, удалите его и добавьте выше.

0
ответ дан 7 December 2019 в 01:28
поделиться

Source: http://blogs.msdn.com/b/shawnfa/archive/2008/03/14/disabling-the-fips-algorithm-check.aspx

Вы можете добавить следующее в ваш web.config или machine.config, чтобы ваши приложения ASP.Net перестали выходить из строя из-за проверок соответствия FIPs.

<configuration>   

  <runtime>
        <enforceFIPSPolicy enabled="false"/>
    </runtime>

Ваш machine.config можно найти здесь: \Microsoft.NET\Framework\\\config\machine.config

Если вы измените свой machine.config, может потребоваться iisreset, чтобы настройки вступили в силу. Примечание: изменение конфигурации maching.config повлияет на все приложения .NET в системе.


Чтобы добиться совместимости приложения с FIPs без необходимости отключения FIPs, можно попробовать следующее:

1) Настройте машинный ключ на использование 3DES для расшифровки и SHA1 для проверки.

EDIT (2018-04-05): В новом STIG для IIS8.5 говорится, что вы должны установить настройки машинного ключа на Validation: HMACSHA256, Шифрование: Auto.

<configuration>
<system.web>
    <authentication mode="Windows" />
    <machineKey decryption="3DES" decryptionKey="AutoGenerate,IsolateApps" validation="SHA1" validationKey="AutoGenerate,IsolateApps" />
</system.web>
</configuration>

ПРИМЕЧАНИЕ: если вы используете среду веб-фермы, вы можете использовать IIS GUI и перейти к разделу конфигурации машинных ключей, чтобы сгенерировать набор ключей и использовать одни и те же ключи в веб-ферме.

2) Убедитесь, что ваша компиляция debug="false", а все директивы страницы имеют debug="false". Установка значения debug в true также запустит проверку соответствия FIPs.

2
ответ дан 7 December 2019 в 01:28
поделиться

Ключ машины viewstate и проблемы конфигурации compilation = "debug" являются наиболее частыми причинами этой проблемы из того, что я видел. Насколько мне известно, в .NET 2.0 алгоритм 3DES для проверки / шифрования состояния просмотра - ЕДИНСТВЕННЫЙ алгоритм, совместимый с FIPS. Так что параметры SHA1, MD5 и AES там работать не будут.

Также важно понимать, что если в коде есть ссылка на ЛЮБОЙ алгоритм, не соответствующий требованиям FIPS, даже если он фактически никогда не использовался / не был доступен, вызовет ошибку соответствия FIPS. Например, простое объявление переменной MD5CryptoServiceProvider без ее создания вызовет ошибку. Сюда входят и другие сборки .NET, на которые есть ссылки, поэтому убедитесь, что никакие библиотеки DLL, на которые есть ссылки, возможно, также не используют алгоритмы, несовместимые с FIP.

Вот удобный сайт, на котором перечислены все алгоритмы FIPS и не-FIPS в .NET. http://blog.aggregatedintelligence.com/2007/10/fips-validated-cryptographic-algorithms.html

0
ответ дан 7 December 2019 в 01:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: