Skip to content

Commit

Permalink
update wording
Browse files Browse the repository at this point in the history
  • Loading branch information
toidiu committed Oct 24, 2024
1 parent 680cb9a commit a686d92
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ s2n-tls avoids implementing rarely used options and extensions, as well as featu
The security of TLS and its associated encryption algorithms depends upon secure random number generation. s2n-tls provides every thread with two separate random number generators. One for "public" randomly generated data that may appear in the clear, and one for "private" data that should remain secret. This approach lessens the risk of potential predictability weaknesses in random number generation algorithms from leaking information across contexts.
##### Modularized encryption
s2n-tls has been structured so that different encryption libraries may be used. Today s2n-tls supports OpenSSL (versions 1.0.2, 1.1.1 and 3.0.x), LibreSSL, BoringSSL, AWS-LC, and the Apple Common Crypto framework to perform the underlying cryptographic operations. s2n-tls only supports FIPS mode when built with AWS-LC-FIPS.
s2n-tls has been structured so that different encryption libraries may be used. Today s2n-tls supports AWS-LC, OpenSSL (versions 1.0.2, 1.1.1 and 3.0.x), LibreSSL, and BoringSSL to perform the underlying cryptographic operations. Check the [libcrypto build documentation](docs/BUILD.md#building-with-a-specific-libcrypto) for a list of libcrypto-specific features.
##### Timing blinding
s2n-tls includes structured support for blinding time-based side-channels that may leak sensitive data. For example, if s2n-tls fails to parse a TLS record or handshake message, s2n-tls will add a randomized delay of between 10 and 30 seconds, granular to nanoseconds, before responding. This raises the complexity of real-world timing side-channel attacks by a factor of at least tens of trillions.
Expand Down
10 changes: 4 additions & 6 deletions api/s2n.h
Original file line number Diff line number Diff line change
Expand Up @@ -249,13 +249,11 @@ typedef enum {
/**
* Determines whether s2n-tls is operating in FIPS mode.
*
* s2n-tls enters FIPS mode on initialization when the linked libcrypto has FIPS mode enabled.
* s2n-tls only supports FIPS mode when built with AWS-LC-FIPS or AWS-LC-FIPS-2022. AWS-LC-FIPS
* and AWS-LC-FIPS-2022 have FIPS mode enabled by default.
* s2n-tls enters FIPS mode on initialization when linked with a FIPS validated version of AWS-LC.
*
* s2n-tls MUST be linked to a FIPS libcrypto and MUST be in FIPS mode in order to comply with FIPS
* requirements. Applications desiring FIPS compliance should use this API to ensure that s2n-tls
* has been properly linked with a FIPS libcrypto and has successfully entered FIPS mode.
* s2n-tls MUST be linked to a FIPS validated libcrypto and MUST be in FIPS mode in order to comply
* with FIPS requirements. Applications desiring FIPS compliance should use this API to ensure that
* s2n-tls has been properly linked with a FIPS libcrypto and has successfully entered FIPS mode.
*
* @param fips_mode Set to the FIPS mode of s2n-tls.
* @returns S2N_SUCCESS on success. S2N_FAILURE on failure.
Expand Down
6 changes: 4 additions & 2 deletions docs/BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,15 +112,17 @@ s2n-tls has a dependency on a libcrypto library. A supported libcrypto must be l
- [AWS-LC](https://github.com/aws/aws-lc)
- Limited ["Sandboxing"](https://github.com/aws/aws-lc/blob/main/SANDBOXING.md) is only supported and tested with AWS-LC.
- [PQ key exchange](https://aws.github.io/s2n-tls/usage-guide/ch15-post-quantum.html) is only supported with AWS-LC.
- s2n-tls enters FIPS mode when linked to AWS-LC-FIPS. AWS-LC-FIPS can be built by first checking out the FIPS tagged
commit from the official AWS-LC repo (eg. [AWS-LC-FIPS-2.0.17](https://github.com/aws/aws-lc/tree/AWS-LC-FIPS-2.0.17))
- FIPS mode is supported when s2n-tls is linked with a FIPS validated version of [AWS-LC](https://github.com/aws/aws-lc/blob/main/crypto/fipsmodule/FIPS.md).
- [OpenSSL](https://www.openssl.org/) (versions 1.0.2 - 3.0)
- ChaChaPoly is not supported before Openssl-1.1.1.
- RSA-PSS is not supported before Openssl-1.1.1.
- RC4 is not supported with Openssl-3.0 or later.
- FIPS mode is not supported with Openssl.
- [BoringSSL](https://boringssl.googlesource.com/boringssl)
- OCSP features are not supported with BoringSSL.
- FIPS mode is not supported with BoringSSL.
- [LibreSSL](https://www.libressl.org/)
- FIPS mode is not supported with LibreSSL.

By default, s2n-tls will attempt to find a system libcrypto to link with when building. However, this search can be overridden to any of the above libcryptos by specifying the install directory with the `CMAKE_PREFIX_PATH` flag.

Expand Down

0 comments on commit a686d92

Please sign in to comment.