All of lore.kernel.org
 help / color / mirror / Atom feed
From: Herbert Xu <herbert@gondor.apana.org.au>
To: Joachim Vandersmissen <git@jvdsn.com>
Cc: linux-crypto@vger.kernel.org, David Howells <dhowells@redhat.com>,
	Simo Sorce <simo@redhat.com>,
	Stephan Mueller <smueller@chronox.de>,
	Jarkko Sakkinen <jarkko@kernel.org>
Subject: Re: [PATCH v4 2/2] certs: Add ECDSA signature verification self-test
Date: Sun, 12 May 2024 15:16:29 +0800	[thread overview]
Message-ID: <ZkBszYFDttYHph8C@gondor.apana.org.au> (raw)
In-Reply-To: <20240511062354.190688-2-git@jvdsn.com>

On Sat, May 11, 2024 at 01:23:54AM -0500, Joachim Vandersmissen wrote:
> v4: FIPS_SIGNATURE_SELFTEST_ECDSA is no longer user-configurable and will
> be set when the dependencies are fulfilled.
> 
> ---8<---
> 
> Commit c27b2d2012e1 ("crypto: testmgr - allow ecdsa-nist-p256 and -p384
> in FIPS mode") enabled support for ECDSA in crypto/testmgr.c. The
> PKCS#7 signature verification API builds upon the KCAPI primitives to
> perform its high-level operations. Therefore, this change in testmgr.c
> also allows ECDSA to be used by the PKCS#7 signature verification API
> (in FIPS mode).
> 
> However, from a FIPS perspective, the PKCS#7 signature verification API
> is a distinct "service" from the KCAPI primitives. This is because the
> PKCS#7 API performs a "full" signature verification, which consists of
> both hashing the data to be verified, and the public key operation.
> On the other hand, the KCAPI primitive does not perform this hashing
> step - it accepts pre-hashed data from the caller and only performs the
> public key operation.
> 
> For this reason, the ECDSA self-tests in crypto/testmgr.c are not
> sufficient to cover ECDSA signature verification offered by the PKCS#7
> API. This is reflected by the self-test already present in this file
> for RSA PKCS#1 v1.5 signature verification.
> 
> The solution is simply to add a second self-test here for ECDSA. P-256
> with SHA-256 hashing was chosen as those parameters should remain
> FIPS-approved for the foreseeable future, while keeping the performance
> impact to a minimum. The ECDSA certificate and PKCS#7 signed data was
> generated using OpenSSL. The input data is identical to the input data
> for the existing RSA self-test.
> 
> Signed-off-by: Joachim Vandersmissen <git@jvdsn.com>
> ---
>  crypto/asymmetric_keys/Kconfig          |  7 ++
>  crypto/asymmetric_keys/Makefile         |  1 +
>  crypto/asymmetric_keys/selftest.c       |  1 +
>  crypto/asymmetric_keys/selftest.h       |  6 ++
>  crypto/asymmetric_keys/selftest_ecdsa.c | 89 +++++++++++++++++++++++++
>  5 files changed, 104 insertions(+)
>  create mode 100644 crypto/asymmetric_keys/selftest_ecdsa.c

Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

  reply	other threads:[~2024-05-12  7:16 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-11  6:23 [PATCH v4 1/2] certs: Move RSA self-test data to separate file Joachim Vandersmissen
2024-05-11  6:23 ` [PATCH v4 2/2] certs: Add ECDSA signature verification self-test Joachim Vandersmissen
2024-05-12  7:16   ` Herbert Xu [this message]
2024-05-12  7:16 ` [PATCH v4 1/2] certs: Move RSA self-test data to separate file Herbert Xu
2024-05-12 23:11 ` Jarkko Sakkinen
2024-05-13  1:11   ` Joachim Vandersmissen
2024-05-13  1:32     ` Jarkko Sakkinen
2024-05-13  1:43       ` Joachim Vandersmissen
2024-05-13  3:27         ` Jarkko Sakkinen
2024-05-13  3:32           ` Jarkko Sakkinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZkBszYFDttYHph8C@gondor.apana.org.au \
    --to=herbert@gondor.apana.org.au \
    --cc=dhowells@redhat.com \
    --cc=git@jvdsn.com \
    --cc=jarkko@kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=simo@redhat.com \
    --cc=smueller@chronox.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.