Skip to content

Commit 23e4099

Browse files
hailmo-amznherbertx
authored andcommitted
crypto: aead,cipher - zeroize key buffer after use
I.G 9.7.B for FIPS 140-3 specifies that variables temporarily holding cryptographic information should be zeroized once they are no longer needed. Accomplish this by using kfree_sensitive for buffers that previously held the private key. Signed-off-by: Hailey Mothershead <hailmo@amazon.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
1 parent 571e557 commit 23e4099

File tree

2 files changed

+2
-4
lines changed

2 files changed

+2
-4
lines changed

crypto/aead.c

+1-2
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ static int setkey_unaligned(struct crypto_aead *tfm, const u8 *key,
3636
alignbuffer = (u8 *)ALIGN((unsigned long)buffer, alignmask + 1);
3737
memcpy(alignbuffer, key, keylen);
3838
ret = crypto_aead_alg(tfm)->setkey(tfm, alignbuffer, keylen);
39-
memset(alignbuffer, 0, keylen);
40-
kfree(buffer);
39+
kfree_sensitive(buffer);
4140
return ret;
4241
}
4342

crypto/cipher.c

+1-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@ static int setkey_unaligned(struct crypto_cipher *tfm, const u8 *key,
3434
alignbuffer = (u8 *)ALIGN((unsigned long)buffer, alignmask + 1);
3535
memcpy(alignbuffer, key, keylen);
3636
ret = cia->cia_setkey(crypto_cipher_tfm(tfm), alignbuffer, keylen);
37-
memset(alignbuffer, 0, keylen);
38-
kfree(buffer);
37+
kfree_sensitive(buffer);
3938
return ret;
4039

4140
}

0 commit comments

Comments
 (0)