From: Mat Martineau <mathew.j.martineau@linux.intel.com>
To: Tadeusz Struk <tadeusz.struk@intel.com>
Cc: Mat Martineau <mathew.j.martineau@linux.intel.com>,
dhowells@redhat.com, herbert@gondor.apana.org.au,
smueller@chronox.de, linux-api@vger.kernel.org,
marcel@holtmann.org, linux-kernel@vger.kernel.org,
keyrings@vger.kernel.org, linux-crypto@vger.kernel.org,
dwmw2@infradead.org, davem@davemloft.net
Subject: Re: [PATCH v8 6/6] crypto: AF_ALG - add support for key_id
Date: Wed, 6 Jul 2016 12:38:56 -0700 (PDT) [thread overview]
Message-ID: <alpine.OSX.2.20.1607061211410.2149@mjmartin-mac01.local> (raw)
In-Reply-To: <e011a955-70c1-0419-9e2d-dea75d319da3@intel.com>
On Tue, 5 Jul 2016, Tadeusz Struk wrote:
> Hi Mat,
> On 06/29/2016 11:43 AM, Mat Martineau wrote:
>>> + ret = verify_signature(key, &sig);
>>> + if (!ret) {
>>> + req->dst_len = sizeof(digest);
>>
>> I think you fixed the BUG_ON() problem but there's still an issue with
>> the handling of the digest. Check the use of sig->digest in
>> public_key_verify_signature(), it's an input not an output. Right now it
>> looks like 20 uninitialized bytes are compared with the computed digest
>> within verify_signature, and then the unintialized bytes are copied to
>> req->dst here.
>>
>> With some modifications to public_key_verify_signature you could get the
>> digest you need, but I'm not sure if verification with a hardware key
>> (like a key in a TPM) can or can not provide the digest needed. Maybe
>> this is why the verify_signature hook in struct asymmetric_key_subtype
>> is optional.
>>
>>> + scatterwalk_map_and_copy(digest, req->dst, 0, req->dst_len, 1);
>>> + }
>
> So it looks like the only thing that we need to return to the user in
> this case is the return code. Do you agree?
The way verify_signature is implemented today, the only output is the
return code. For verify, maybe no read is required (just sendmsg() and
check the return code).
But this isn't the extent of the problem: verify_signature needs both the
signature to be verified and the expected hash as inputs. How is the
expected hash provided? Would you include it as a cmsg header?
ALG_OP_VERIFY should have consistent inputs and outputs whether the key
was set with ALG_SET_KEY_ID or ALG_SET_KEY.
--
Mat Martineau
Intel OTC
next prev parent reply other threads:[~2016-07-06 19:39 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-23 22:55 [PATCH v8 0/6] crypto: algif - add akcipher Tadeusz Struk
2016-06-23 22:55 ` [PATCH v8 1/6] crypto: AF_ALG -- add sign/verify API Tadeusz Struk
2016-06-23 22:55 ` [PATCH v8 2/6] crypto: AF_ALG -- add setpubkey setsockopt call Tadeusz Struk
2016-06-23 22:55 ` [PATCH v8 3/6] crypto: AF_ALG -- add asymmetric cipher interface Tadeusz Struk
2016-06-23 22:55 ` [PATCH v8 4/6] crypto: algif_akcipher - enable compilation Tadeusz Struk
2016-06-23 22:55 ` [PATCH v8 5/6] crypto: algif_akcipher - add ops_nokey Tadeusz Struk
2016-06-23 22:55 ` [PATCH v8 6/6] crypto: AF_ALG - add support for key_id Tadeusz Struk
2016-06-24 1:01 ` kbuild test robot
2016-06-29 18:43 ` Mat Martineau
2016-07-05 20:27 ` Tadeusz Struk
2016-07-06 19:38 ` Mat Martineau [this message]
2016-07-08 15:21 ` Tadeusz Struk
2016-07-08 16:38 ` Mat Martineau
2016-07-08 17:26 ` Tadeusz Struk
2016-06-24 6:07 ` [PATCH v8 0/6] crypto: algif - add akcipher Stephan Mueller
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=alpine.OSX.2.20.1607061211410.2149@mjmartin-mac01.local \
--to=mathew.j.martineau@linux.intel.com \
--cc=davem@davemloft.net \
--cc=dhowells@redhat.com \
--cc=dwmw2@infradead.org \
--cc=herbert@gondor.apana.org.au \
--cc=keyrings@vger.kernel.org \
--cc=linux-api@vger.kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcel@holtmann.org \
--cc=smueller@chronox.de \
--cc=tadeusz.struk@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®