Greetings,
                   We are currently investigating the usage of OpenSSL 3.0.0 on 
our side, especially for FIPS usage, but it seems that for OpenSSL 3.0.0 the 
providers, especially the FIPS provider, will be loaded dynamically, my main 
worry is that this will easily permit some kind of attacks on the cryptographic 
layer, for example:

1. Replacing the provider by a tampered provider by replacing the 
shared/dynamic library. This can partially be protected by the caller verifying 
the hash of the provider before calling it, will OpenSSL 3.0.0 do this, or will 
need to be done at integrator level?
2. Having the provider entry points made public because they are dynamic will 
easily permit MITM attack or modification such as through hooking, have you 
thought of protection mechanisms to protect against this kind of attack?

With FIPS 2.0, from my understanding, it was statically linked, hence these 
risks would be lessened. Of course it required more work as it required a 
special linker script to add the hash value and with new NIST requirements, the 
FIPS mode needed to be enabled by default at premain, but my feeling as that it 
was more secure.

Thanks for your guidance!
Carl Eric Codere

Reply via email to