Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use passive entropy source method by default for FIPS build mode #1188

Merged
merged 5 commits into from
Sep 15, 2023

Conversation

torben-hansen
Copy link
Contributor

Issues:

CryptoAlg-1953

Description of changes:

Enables passive entropy method by default. In addition, adds a build-time config that can modify (at build-time) the entropy source method to CPU Jitter.

Call-outs:

Follow-up to #1125.

Testing:

For both entropy methods, ran:

$ valgrind --trace-children=yes ./crypto/crypto_test --gtest_filter=RandTest.*

[...]

ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license.

@torben-hansen torben-hansen requested a review from a team as a code owner September 13, 2023 14:33
@torben-hansen torben-hansen enabled auto-merge (squash) September 13, 2023 14:33
crypto/fipsmodule/FIPS.md Outdated Show resolved Hide resolved
crypto/fipsmodule/FIPS.md Show resolved Hide resolved
crypto/fipsmodule/FIPS.md Show resolved Hide resolved
@torben-hansen torben-hansen merged commit c9314dc into aws:main Sep 15, 2023
torben-hansen added a commit to torben-hansen/aws-lc that referenced this pull request Sep 18, 2023
…#1188)

Enables passive entropy method by default. In addition, adds a build-time config that can modify (at build-time) the entropy source method to CPU Jitter.
skmcgrail pushed a commit that referenced this pull request Sep 20, 2023
* Make PRNG model slightly more readable (#1079)

The way the PRNG model is written looks more complicated than what is actually needed. Attempt to re-write it. This also makes it slightly easier to amend with future potential changes.

* Remove CRNGT (#1112)

CRNGT is not a requirement for FIPS 140-3.

FIPS 140-2 Section 4.9.2 required the execution of the Continuous Randomness Number Generation Test (CRNGT). However, this requirement is not present in FIPS 140-3. In addition, later stages of FIPS 140-2 this test was not mandatory in all cases either (cf. FIPS 140-2 IG 9.8).

Executing this test requires maintaining state, which inevitably introduces complexity. Given CRNGT is redundant with respect to compliance and really provides zero practical value (see, again, FIPS 140-2 IG 9.8), we axe it.

* Abstract fips entropy functions (#1113)

Abstract getting data from the configured entropy source of FIPS. Atm, the configured source is hard-coded in multiple workflows. This allows adding another source more easily.

In addition, add some machinery to configure another source of build-time using the new define FIPS_ENTROPY_SOURCE_JITTER_CPU.

* Implementation passive entropy (#1125)

* Use passive entropy source method by default for FIPS build mode (#1188)

Enables passive entropy method by default. In addition, adds a build-time config that can modify (at build-time) the entropy source method to CPU Jitter.

* Kick CI bots

* Kick CI bots, again
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants