I simplified the script not to use cmp: rC3c8b6c4a9cad: fips: Fix gen-note-integrity.sh script not to use cmp utility.
And I clarified the semantics of the integrity check.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Feb 18 2022
Feb 17 2022
Ah, right, I can get that added to the containers tomorrow.
I located the cause:
../../src/gen-note-integrity.sh: line 78: cmp: command not found
Feb 16 2022
That only seems to work in some configurations: https://gitlab.com/redhat-crypto/libgcrypt/libgcrypt-mirror/-/pipelines/472626834
I pushed the change: rCa340e9803882: fips: More portable integrity check.
It uses .note.fdo.integrity section, not loaded onto memory.
It simplifies the logic, and switches to dladdr (from dladdr1).
Pushed the change which fixes the build with ld.gold.
rC9dcf9305962b: fips: Integrity check improvement, with only loadable segments.
Thank you for your suggestions, @werner.
I agree that we should not put much effort to develop our own methodology here; Too much effort may introduce possibility of unmaintainable code, which should be avoided for the particular purpose of "integrity".
Feb 15 2022
Folks, you are opening a can of worms. The only secure why to sign a file is to have a detached signature. That is often non-practical and thus putting the signature/MAC at one certain position and exempt just this one position from hashing is the next best alternative. Any more complicated rules will inevitably introduce security flaws. If a binary is stripped, it is a different binary than a non-stripped one, if it is linked with another linker, it is a different one. And that binary will even be able to figure this out and change behavior. Please keep it simple.
Thanks! Maybe it would be simpler to use dl_iterate_phdr(3) for this. I wasn't aware of the function, but a colleague just implemented a proof-of-concept of what you're proposing in https://gitlab.com/dueno/integrity-notes.
I am going to apply https://gitlab.com/redhat-crypto/libgcrypt/libgcrypt-mirror/-/commit/64ccc25c4b4a2c8c4e13e7e37ff1c8c60a3d8401
And consider adding the code to limit hashing content (from start of the file to end of data section).
Feb 10 2022
It was addressed in rC04f325d8917d: released 1.1.4 as "(obsolete)" feature, in Aug 2001.
Feb 9 2022
Instead, let us remove the feature.
Feb 8 2022
Tested on a big endian machine.
$ uname -a Linux perotto 5.15.0-2-powerpc64 #1 SMP Debian 5.15.5-2 (2021-12-18) ppc64 GNU/Linux
Feb 7 2022
Feb 2 2022
it will be but we first prefer to do some final tests with that version. Feel free to also test. Either this or the next micro version will eventually be announced.
Hi there, is this the new stable version of libgcrypt? Apologies if this is the wrong place to ask; I just couldn’t find any other release announcement for 1.10.0.
Feb 1 2022
Thanks, Werner. This was originally reported by Alejandro Masino.
Jan 31 2022
Thanks
Jan 29 2022
Jan 28 2022
Jan 27 2022
@jukivili , thank you for your comment.
Jan 26 2022
I planned to reply to your email on mailing-list, but I just have too little time.
Jan 25 2022
For the record, there is a new report on the mailing list about this module on MacOS:
Thank you, applied both of two patches.
Jan 24 2022
Thanks. Looks good to me.
struct thread_creation {
void (*compute) (void *arg);
void *arg;
void (*create_done) (gcry_kdf_handle_t *hd, void *tid);
};Jan 22 2022
Jan 20 2022
Test cases are recovered in rC535a4d345872: fips: Recover test cases for selftest, add skipping in FIPS mode..
Jan 19 2022
Sorry, it's my misunderstanding.
_gcry_fips_run_selftest can be run by GCRYCTL_SELFTEST.
I was confused by the function name. Perhaps, it is good to change the name of function to _gcry_run_selftest.
@werner Those removed tests are selftests which are only invoked by FIPS mode for its requirement of selftests.
AFAICS, the last commit removes some tests. We should never remove a test just because FIPS does not allow it. The old tests need to be run in non-fips mode.
Pushed the change in rC76aad97dd312: fips: Reject shorter key for HMAC in FIPS mode..
Jan 18 2022
And we need to fix selftest for shorter keys.
@pmgdeb : IIUC, what we need is:
diff --git a/cipher/md.c b/cipher/md.c index 34336b5c..4f4fc9bf 100644 --- a/cipher/md.c +++ b/cipher/md.c @@ -903,6 +903,9 @@ prepare_macpads (gcry_md_hd_t a, const unsigned char *key, size_t keylen) { GcryDigestEntry *r;
Jan 17 2022
In T5512#153650, @Jakuje wrote:This is my draft for the FIPS indicator KDF. I think we do not need to keep the original GCRYCTL_FIPS_SERVICE_INDICATOR if we replace it also in the tests. This will also need some tests and documentation update.
libgcrypt-fips-indicator-kdf.patch3 KBDownload
I'm not completely sure but it might be convenient to mark HMAC keys with lengths less that 112 as non-approved in FIPS mode for both generation and verification. It could be easily implemented by adding a check using cipher/mac-hmac.c:hmac_get_keylen() or at the algo level. What do you think?
Thank you, applied.
Also, add another change.
Jan 12 2022
Jan 11 2022
I went through the documentation related to FIPS and updated some wording to match reality. It will probably require still some more work.
This is my draft for the FIPS indicator KDF. I think we do not need to keep the original GCRYCTL_FIPS_SERVICE_INDICATOR if we replace it also in the tests. This will also need some tests and documentation update.
Yes, we should introduce an INDICATOR_KDF thing.
Thank you.
Applied.
Patch applied, doc updated.
No change of FSM diagram.
I pushed the change: rC383866f014f2: cipher: Keep original behavior of Key Unwrap when not extended.
Jan 10 2022
The previous comment should have come to the T5600. Sorry for the noise.
Sorry for resurrecting the done task, but I got a message from @pmgdeb who noticed there is mismatch between parenthesis in the --with-fips-module-version help string. The attached patch fixes the issue and add proper help text.
Sorry for resurrecting the done task, but I got a message from @pmgdeb who noticed there is mismatch between parenthesis in the --with-fips-module-version help string. The attached patch fixes the issue and add proper help text.