Сторонний проверенный Fips криптоалгоритм в проверенном Fips криптомодуле?
Я собираюсь пройти процедуру проверки FIPS 140-2 моего программного модуля. Я изучил соответствующий материал, но мне все еще не ясна одна вещь, в которой я могу использовать проверенные FIPS сторонние алгоритмы в моем модуле проверки FIPS? или мне нужно написать собственную реализацию утвержденных алгоритмов и получить их сначала из NIST?
Я смущен, потому что; В списке модулей проверки Fips большинство компаний имеют свои собственные проверенные алгоритмы в своем проверенном модуле Fips, что создает у меня впечатление, что сначала нужно получить подтверждение реализации его собственного алгоритма, а затем использовать его для проверки криптомодуля. Это правильно?
Любая помощь будет оценена.
1 ответ
Лаборатория сертификации FIPS не заботится о том, откуда появился этот алгоритм, только то, что ваша реализация соответствует стандарту FIPS 140-2. Если ваша реализация соответствует, то вы получите сертификат для этого.
Например, если вы посмотрите на список сертификации AES, вы увидите, что многие люди используют реализацию AES OpenSSL. Аппаратные реализации, вероятно, используют ядро шифрования от поставщика, а не каждую организацию, повторно внедряющую AES в аппаратном обеспечении.
Тем не менее, вам нужно сделать так, чтобы сторонняя реализация соответствовала стандарту FIPS 140-2. Таким образом, вам, возможно, придется писать самопроверки при включении питания и непрерывные самопроверки и так далее. Возможно, вам даже придется исправить ошибки в реализации, чтобы она прошла сертификационные тесты. Например, реализация OpenSSL RSA до 0.9.7j/0.9.8b (с 2006 года) уязвима для атаки подделки Bleichenbacher RSA, поэтому, если вы использовали эту старую реализацию RSA, вам пришлось бы ее исправить.
Чтобы быть ясным, ваша сторонняя реализация не должна быть предварительно сертифицирована FIPS. Ваша сертификационная лаборатория проверит его как часть вашей реализации и затем сертифицирует.