All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
To: Mimi Zohar <zohar@linux.ibm.com>,
	Vitaly Chikunov <vt@altlinux.org>,
	linux-integrity@vger.kernel.org,
	Jia Zhang <zhang.jia@linux.alibaba.com>
Subject: Re: [PATCH ima-evm-utils v2] ima-evm-utils: Support SM2 algorithm for sign and verify
Date: Wed, 26 May 2021 16:34:36 +0800	[thread overview]
Message-ID: <610b0d3a-1fd0-cda5-2b86-bbfeb387361b@linux.alibaba.com> (raw)
In-Reply-To: <c4c8e4dc150440de6d6b97c8bb06cea367d98bad.camel@linux.ibm.com>



On 2/18/21 10:06 PM, Mimi Zohar wrote:
> Hi Tianjia,
> 
> On Thu, 2021-02-11 at 13:22 +0800, Tianjia Zhang wrote:
>> The combination of SM2 and SM3 algorithms has been implemented in the
>> kernel. At present, the ima-evm-utils signature tool does not support
>> this combination of algorithms. Because in the current version of
>> OpenSSL 1.1.1, the SM2 algorithm and the public key using the EC
>> algorithm share the same ID 'EVP_PKEY_EC', and the specific algorithm
>> can only be distinguished by the curve name used. This patch supports
>> this feature.
>>
>> Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
>> ---
>>   src/libimaevm.c | 20 ++++++++++++++++++++
>>   1 file changed, 20 insertions(+)
>>
>> diff --git a/src/libimaevm.c b/src/libimaevm.c
>> index fa6c278..589dd09 100644
>> --- a/src/libimaevm.c
>> +++ b/src/libimaevm.c
>> @@ -518,6 +518,16 @@ static int verify_hash_v2(const char *file, const unsigned char *hash, int size,
>>   		return -1;
>>   	}
>>   
>> +#ifdef EVP_PKEY_SM2
>> +	/* If EC key are used, check whether it is SM2 key */
>> +	if (EVP_PKEY_id(pkey) == EVP_PKEY_EC) {
>> +		EC_KEY *ec = EVP_PKEY_get0_EC_KEY(pkey);
>> +		int curve = EC_GROUP_get_curve_name(EC_KEY_get0_group(ec));
>> +		if (curve == NID_sm2)
>> +			EVP_PKEY_set_alias_type(pkey, EVP_PKEY_SM2);
>> +	}
>> +#endif
>> +
> 
> Suppose a file is signed on one system and verified on another.  What
> happens if EVP_PKEY_SM2 is defined on one system, but not the other?
> Since the signing/verifying code do exactly the same thing, a
> sign_verify test wouldn't detect the problem.   In anycase, please
> define a sign_verify test.
> 
> thanks,
> 
> Mimi
> 
> 

Sorry for the late reply.

This will cause verify to fail, I will add some sm2 tests in the next patch.

Best regards,
Tianjia

      reply	other threads:[~2021-05-26  8:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-11  5:22 [PATCH ima-evm-utils v2] ima-evm-utils: Support SM2 algorithm for sign and verify Tianjia Zhang
2021-02-18 14:06 ` Mimi Zohar
2021-05-26  8:34   ` Tianjia Zhang [this message]

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=610b0d3a-1fd0-cda5-2b86-bbfeb387361b@linux.alibaba.com \
    --to=tianjia.zhang@linux.alibaba.com \
    --cc=linux-integrity@vger.kernel.org \
    --cc=vt@altlinux.org \
    --cc=zhang.jia@linux.alibaba.com \
    --cc=zohar@linux.ibm.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 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.