tomaswolf commented on PR #591:
URL: https://github.com/apache/mina-sshd/pull/591#issuecomment-2327379523

   So here's another commit on top of this PR for this single flag. See the 
commit message.
   
   With this, I think you don't need the 
`FIPSBouncyCastleSecurityProviderRegistar` anymore, and the 
`FIPSRegistarInitPlugin` can just do
   ```
   System.setProperty("org.apache.sshd.security.fipsEnabled", "true");
   System.setProperty("org.apache.sshd.security.defaultProvider", "BCFIPS");
   ```
   
   If the flag is set, a number of non-FIPS-approved crypto-algorithms get 
disabled (ed25519, curve25519, curve448, sntrup761, bcrypt, chacha20-poly1305).
   
   Disabling sntrup761 and curve25519 means that this FIPS mode is left without 
any post-quantum key exchange method.
   [FIPS 203](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf) has 
come out recently; it specifies the post-quantum ML-KEM key encapsulation 
method. There is a [draft 
RFC](https://datatracker.ietf.org/doc/html/draft-kampanakis-curdle-ssh-pq-ke-04)
 for incorporating this into SSH as key exchange algorithm. Once OpenSSH has 
support for this and Bouncy Castle also provides these ML-KEM instances, we can 
add them easily. At that point there would be mlkem1024nistp384-sha384 
available as (I believe) FIPS-compliant post-quantum algorithm. When we do have 
that algorithm, I think we should keep it enabled even in FIPS mode.
   
   Can you test that this works for your use case in Jenkins?
   


-- 
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: dev-unsubscr...@mina.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org
For additional commands, e-mail: dev-h...@mina.apache.org

Reply via email to