Skip to content

Commit 431b5c3

Browse files
kaleb-himesCopilot
andauthored
Update wolfSSL-FIPS-FAQ/src/section02.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 1104cd9 commit 431b5c3

1 file changed

Lines changed: 17 additions & 17 deletions

File tree

wolfSSL-FIPS-FAQ/src/section02.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -443,23 +443,23 @@ So the module is behaving correctly.
443443

444444
Best practices to mitigate this in long-running applications:
445445

446-
1) Initialize the WC_RNG instance once globally and protect it with a mutex rather than
447-
creating and destroying a new WC_RNG for each operation in every thread.
448-
Initializing and freeing the RNG on every call dramatically increases the
449-
rate at which you will encounter a false positive (the CRNGT runs during
450-
wc_InitRng, so fewer calls to wc_InitRng means fewer opportunities to hit
451-
a false positive).
452-
453-
2) If a DRBG continuous test failure does occur, the application can recover by restarting
454-
the executable (or the process using the wolfCrypt shared library). On a modern OS,
455-
unloading and reloading the shared object is equivalent to a power cycle of the module
456-
from the FIPS perspective. A full device power cycle is NOT required when using a shared object.
457-
458-
3) wolfSSL strongly recommends that persistent connections be shut down and a new
459-
handshake performed at least once every 24 to 48 hours. Re-negotiating ephemeral keys
460-
every 8 - 10 minutes (complete shutdown and fresh handshake) is ideal, do
461-
not leave a TLS/DTLS session active for 24, 48, 72... hours or more, this will
462-
increase your chances of hitting a false positive as well.
446+
1. Initialize the WC_RNG instance once globally and protect it with a mutex rather than
447+
creating and destroying a new WC_RNG for each operation in every thread.
448+
Initializing and freeing the RNG on every call dramatically increases the
449+
rate at which you will encounter a false positive (the CRNGT runs during
450+
wc_InitRng, so fewer calls to wc_InitRng means fewer opportunities to hit
451+
a false positive).
452+
453+
2. If a DRBG continuous test failure does occur, the application can recover by restarting
454+
the executable (or the process using the wolfCrypt shared library). On a modern OS,
455+
unloading and reloading the shared object is equivalent to a power cycle of the module
456+
from the FIPS perspective. A full device power cycle is NOT required when using a shared object.
457+
458+
3. wolfSSL strongly recommends that persistent connections be shut down and a new
459+
handshake performed at least once every 24 to 48 hours. Re-negotiating ephemeral keys
460+
every 8 - 10 minutes (complete shutdown and fresh handshake) is ideal, do
461+
not leave a TLS/DTLS session active for 24, 48, 72... hours or more, this will
462+
increase your chances of hitting a false positive as well.
463463

464464
NOTE: The upcoming v7.0.0 FIPS module will replace the legacy CRNGT with the newer
465465
Repetition Count Test (RCT) and Adaptive Proportion Test (APT) as defined in SP800-90B.

0 commit comments

Comments
 (0)