lhotari commented on PR #26155:
URL: https://github.com/apache/pulsar/pull/26155#issuecomment-4902674779

   One more bit of history that may help scope PIP-489: FIPS / 
BouncyCastle-FIPS support in Pulsar has been partial and handled case by case 
in the past, rather than as a coherent, tested capability -- which is a big 
part of why a proper end-to-end FIPS design is worth doing.
   
   Two concrete examples:
   
   1. Pulsar has never actually used BouncyCastle's JSSE (TLS) provider. A 
pulsar-site correction (https://github.com/apache/pulsar-site/pull/974) removed 
a docs statement that implied otherwise, noting "Pulsar does not implement 
bouncy castle jsse; there is no dependency on bc jsse in Pulsar." So even with 
the BC-FIPS jars on the classpath, the TLS transport did not route through a 
BouncyCastle/FIPS TLS provider -- the FIPS story for the transport itself was 
never wired.
   
   2. On the message-encryption side, 
https://github.com/apache/pulsar/pull/23122 switched AES-GCM in MessageCryptoBc 
from the BouncyCastle provider to SunJCE for performance. In reviewing it 
(https://github.com/apache/pulsar/pull/23122#pullrequestreview-2218133922) I 
raised the FIPS concern -- when the FIPS library is enabled, SunJCE should not 
become the default -- and the finding was that the existing code already 
ignored the presence of BouncyCastleFipsProvider. In other words FIPS 
compliance was already a separate, not-fully-handled concern rather than 
something the crypto paths consistently respected.
   
   The takeaway is that FIPS support in Pulsar has been incomplete and 
piecemeal: the TLS transport was never routed through a FIPS provider, and the 
crypto paths didn't consistently honor the FIPS provider when it was present. 
That's exactly the gap worth closing, and it splits naturally: PIP-478 covers 
the TLS-transport slice (a configurable engine plus any JCA provider via 
TlsPolicy.jcaProvider, and the PulsarTlsFactory plugin for HSM-backed / FIPS 
140-3 Level 3 cases), and PIP-489 can cover the broader FIPS-mode concerns -- 
FIPS-approved algorithms in message encryption and authentication, packaging, 
and a fail-fast validation switch -- so the crypto paths consistently respect 
FIPS rather than silently falling back to non-validated providers.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to