Пока еще очень рано, но я начал переходить с OpenSSL 1.0.2 на 3.0.2. (Виндовс)
После сборки OpenSSL 3.0.2 для завершения установки необходимо запустить приложение командной строки fipsinstall.
Я сделал это, используя эту команду, как было предложено:
C:\WORK\c89f702a343c78ef949c71865ebdfc637541b638\bin\openssl.exe fipsinstall -out C:\WORK\c89f702a343c78ef949c71865ebdfc637541b638\fipsmodule.cnf
-module C:\WORK\c89f702a343c78ef949c71865ebdfc637541b638\lib\ossl-modules\fips.dll
HMAC: (Module_Integrity): Пройти SHA1: (KAT_Digest): Пройти SHA2: (KAT_Digest): Пройти SHA3: (KAT_Digest): Пройти TDES: (KAT_Cipher): Пройти AES_GCM: (KAT_Cipher): Пройти AES_ECB_Decrypt: (KAT_Cipher): Пройти RSA: (KAT_Signature): RNG: (Continuous_RNG_Test): Пройдено Пройдено ECDSA: (PCT_Signature): Пройдено ECDSA: (PCT_Signature): Пройдено DSA: (PCT_Signature): Пройдено TLS13_KDF_EXTRACT: (KAT_KDF): Пройдено TLS13_KDF_EXPAND: (KAT_KDF2) _F: Пройдено TLS1: (KAT_KDF): Пройдено PBKDF2: (KAT_KDF): Пройдено SSHKDF: (KAT_KDF): Пройдено KBKDF: (KAT_KDF): Пройдено HKDF: (KAT_KDF): Пройдено SSKDF: (KAT_KDF): Пройдено X963KDF: (KAT_KDF): Пройдено X942KDF: ( KAT_KDF): Пройти HASH: (DRBG): Пройти CTR: (DRBG): Пройти HMAC: (DRBG): Пройти DH: (KAT_KA): Пройти ECDH: (KAT_KA): Пройти RSA_Encrypt: (KAT_AsymmetricCipher): Пройти RSA_Decrypt: (KAT_AsymmetricCipher ): Передать RSA_Decrypt:(KAT_AsymmetricCipher): пройти УСТАНОВИТЬ ПРОШЛО
который создал этот файл конфигурации fipsmodule.cnf
[fips_sect]
activate = 1
install-version = 1
conditional-errors = 1
security-checks = 1
module-mac = 3A:EC:2E:53:3F:92:44:F9:50:13:70:6E:FD:38:37:08:8B:F2:68:56:CC:B4:ED:5F:A1:52:1B:93:15:37:0B:8C
install-mac = 41:9C:38:C2:8F:59:09:43:2C:AA:2F:58:36:2D:D9:04:F9:6C:56:8B:09:E0:18:3A:2E:D6:CC:69:05:04:E1:11
install-status = INSTALL_SELF_TEST_KATS_RUN
Однако предостережение об OpenSSL 3.0 гласит:
Вы не должны копировать выходные данные файла конфигурации модуля FIPS с одного компьютера на другой.
Вот макет папки, содержащей файлы, необходимые для правильного создания файла конфигурации.
C:\WORK\c89f702a343c78ef949c71865ebdfc637541b638>tree /f /a
Folder PATH listing
Volume serial number is 448B-63A8
C:.
| conaninfo.txt
| conanmanifest.txt
| fipsmodule.cnf
|
+---bin
| c_rehash.pl
| openssl.exe
|
+---include
| \---openssl
| aes.h
| asn1.h
| asn1err.h
| asn1t.h
| asn1_mac.h
| async.h
| asyncerr.h
| bio.h
| bioerr.h
| blowfish.h
| bn.h
| bnerr.h
| buffer.h
| buffererr.h
| camellia.h
| cast.h
| cmac.h
| cmp.h
| cmperr.h
| cmp_util.h
| cms.h
| cmserr.h
| comp.h
| comperr.h
| conf.h
| conferr.h
| configuration.h
| conftypes.h
| conf_api.h
| core.h
| core_dispatch.h
| core_names.h
| core_object.h
| crmf.h
| crmferr.h
| crypto.h
| cryptoerr.h
| cryptoerr_legacy.h
| ct.h
| cterr.h
| decoder.h
| decodererr.h
| des.h
| dh.h
| dherr.h
| dsa.h
| dsaerr.h
| dtls1.h
| ebcdic.h
| ec.h
| ecdh.h
| ecdsa.h
| ecerr.h
| encoder.h
| encodererr.h
| engine.h
| engineerr.h
| err.h
| ess.h
| esserr.h
| evp.h
| evperr.h
| e_os2.h
| fipskey.h
| fips_names.h
| hmac.h
| http.h
| httperr.h
| idea.h
| kdf.h
| kdferr.h
| lhash.h
| macros.h
| md2.h
| md4.h
| md5.h
| mdc2.h
| modes.h
| objects.h
| objectserr.h
| obj_mac.h
| ocsp.h
| ocsperr.h
| opensslconf.h
| opensslv.h
| ossl_typ.h
| params.h
| param_build.h
| pem.h
| pem2.h
| pemerr.h
| pkcs12.h
| pkcs12err.h
| pkcs7.h
| pkcs7err.h
| proverr.h
| provider.h
| prov_ssl.h
| rand.h
| randerr.h
| rc2.h
| rc4.h
| rc5.h
| ripemd.h
| rsa.h
| rsaerr.h
| safestack.h
| seed.h
| self_test.h
| sha.h
| srp.h
| srtp.h
| ssl.h
| ssl2.h
| ssl3.h
| sslerr.h
| sslerr_legacy.h
| stack.h
| store.h
| storeerr.h
| symhacks.h
| tls1.h
| trace.h
| ts.h
| tserr.h
| txt_db.h
| types.h
| ui.h
| uierr.h
| whrlpool.h
| x509.h
| x509err.h
| x509v3.h
| x509v3err.h
| x509_vfy.h
| __DECC_INCLUDE_EPILOGUE.H
| __DECC_INCLUDE_PROLOGUE.H
|
+---lib
| | libcrypto.lib
| | libssl.lib
| |
| +---cmake
| | conan-official-openssl-variables.cmake
| |
| +---engines-3
| \---ossl-modules
| fips.dll
| legacy.dll
|
\---licenses
| LICENSE.txt
|
\---external
\---perl
\---Text-Template-1.56
LICENSE
Вопрос
Поскольку OpenSSL 3.0.2 развернут на многих машинах, требуется ли теперь также распространять вышеуказанные файлы и запускать установку fips для создания файла конфигурации для конкретного сервера? Кажется странным иметь весь этот дополнительный багаж, а не просто копировать файл конфигурации на разные машины. Почему бы не использовать ту же конфигурацию (возможно, зависит от MAC-адреса)? Зачем вообще нужен этот конфиг?
Решение проблемы
Файл конфигурации модуля OpenSSL 3.0 FIPS
Обратите внимание, что в файле конфигурации есть две контрольные суммы. Один из них — контрольная сумма модуля FIPS, а другой — контрольная сумма конфигурации. Вы можете скопировать файл между машинами, если он не имеет контрольной суммы конфигурации — это означает, что самотестирование будет выполняться всегда при загрузке модуля FIPS (т. е. поставщика fips).
Вы не можете скопировать файл, если в нем присутствует контрольная сумма конфигурации, потому что это означает, что самопроверка не будет выполняться на машинах, на которые вы копируете файл конфигурации. Это противоречило бы руководству по внедрению FIPS, которое требует запуска самотестирования хотя бы один раз после установки.
Похоже, что openssl.cnf можно копировать между машинами, если это определено без install-mac и install-status:
config_diagnostics = 1
openssl_conf = openssl_init
[openssl_init]
providers = provider_sect
[provider_sect]
fips = fips_sect
base = base_sect
[base_sect]
activate = 1
[fips_sect]
activate = 1
install-version = 1
conditional-errors = 1
security-checks = 1
module-mac = 3A:EC:2E:53:3F:92:44:F9:50:13:70:6E:FD:38:37:08:8B:F2:68:56:CC:B4:ED:5F:A1:52:1B:93:15:37:0B:8C
fipsmodule.cnf имеет следующий формат:
[fips_sect]
activate = 1
install-version = 1
conditional-errors = 1
security-checks = 1
module-mac = 3A:EC:2E:53:3F:92:44:F9:50:13:70:6E:FD:38:37:08:8B:F2:68:56:CC:B4:ED:5F:A1:52:1B:93:15:37:0B:8C
install-mac = 41:9C:38:C2:8F:59:09:43:2C:AA:2F:58:36:2D:D9:04:F9:6C:56:8B:09:E0:18:3A:2E:D6:CC:69:05:04:E1:11
install-status = INSTALL_SELF_TEST_KATS_RUN
Комментариев нет:
Отправить комментарий