Алгоритм хеширования, соответствующий требованиям FISMA и других федеральных информационных систем.

Я работаю в организации, которая должна соответствовать требованиям FISMA для систем с поддержкой FIPS. Одна из вещей, которую я пытаюсь сделать, это реализовать алгоритм хеширования для наших паролей. У меня есть выбор: SHA-2, MD5, bcrypt (с Blowfish), RIPE и т. д.

Читая различные публикации NIST, НИЧЕГО не говорится в FISMA о том, что я должен использовать определенный алгоритм для удовлетворения их требований.

Однако FIPS 180-4 указывает, КАКОЙ алгоритм хеширования считается безопасным в соответствии с FISMA, то есть от SHA-1 до SHA-512/256. NIST SP 800-132 также рекомендует использовать PBKDS2.

Значит ли это, что: а). Я ДОЛЖЕН использовать SHA для алгоритма хеширования, чтобы пройти аудит / требования FISMA?

...OR...

б). Я МОГУ использовать любой алгоритм, если он ЛУЧШЕ, чем SHA? т.е. не используйте MD5, но bcrypt или RIPE в порядке.


person striders    schedule 02.01.2013    source источник


Ответы (2)


Да, вы должны использовать SHA. SP 800- 53 повсюду ссылается на FIPS 140-2, подразумевая, что вы должны использовать SHA-256 или SHA-512. (Избегайте SHA-1).

Это четко изложено в МЕМОРАНДУМЕ ДЛЯ ГЛАВ ИСПОЛНИТЕЛЬНЫХ ОРГАНОВ ДЕПАРТАМЕНТЫ И АГЕНТСТВА Администрации Президента:

11. Требуется ли использование публикаций Национального института стандартов и технологий (NIST)?

Да. Для программ и информационных систем, не связанных с национальной безопасностью, агентства должны следовать стандартам и рекомендациям NIST. ...

12. Являются ли рекомендации NIST гибкими?

Да. В то время как агентства обязаны следовать стандартам и рекомендациям NIST в соответствии с политикой OMB, в рекомендациях NIST (особенно в серии 800) существует гибкость в том, как агентства их применяют. Однако федеральные стандарты обработки информации (FIPS) являются обязательными. ...

(И подумайте об этом. NIST не опубликовал SHA в качестве стандарта, чтобы вместо этого вы могли использовать что-то другое...)

Кроме того, SHA и Bcrypt нельзя сравнивать напрямую. SHA — это набор алгоритмов хеширования. Bcrypt — это скорее процесс создания хэша с использованием алгоритма Blowfish в его основе. Эквивалентом FIPS для Bcrypt является PBKDF2, который использует SHA в качестве основного алгоритма.

person indiv    schedule 20.01.2013

Как насчет обоих? Хешируйте/солите свои пароли с помощью bcrypt, чтобы воспользоваться преимуществами его функций фактора работы, чтобы обеспечить защиту от массовых параллельных атак грубой силы в будущем. Затем SHA-512 результат от bcrypt и сохраните его.

Вы получаете защиту от bcrypt и устанавливаете флажок FISMA/FIPS, потому что сохраняете хэш, сгенерированный с помощью их принятого алгоритма.

Даже если кто-то может перебором SHA-512 найти ввод, который генерирует тот же хеш, который вы сохранили в базе данных, этот ввод не является рабочим паролем, который может войти в систему.

person Larry Silverman    schedule 23.04.2013