Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp1090464ybh; Wed, 18 Mar 2020 14:55:41 -0700 (PDT) X-Google-Smtp-Source: ADFU+vv4TMUy24B7xreNZTUL+VfCD2R/Ys9xNTJp8zpYmjW/251Z8S0x3YREqao3ifpY2j58og18 X-Received: by 2002:a9d:2f26:: with SMTP id h35mr5452430otb.246.1584568541321; Wed, 18 Mar 2020 14:55:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584568541; cv=none; d=google.com; s=arc-20160816; b=btQhSkY/5//8+5ZM7eAug3KcVdc40UeVhWeqyHWBI2erjlYJdU9K0cdnxhekZGp/81 ZB1BD0GlwtfTuy4SsCK3B3h7ioT9H9OCH5cEboTXt15ZQJuxDyippgUkkGAz7w3UEATq QI2Uy7n9tYcbi04L2ORf7OCkziweibO6X0bIxVs9HhmgrMdlQlAa4cvfvV1in+DemIrY Qmwe5mfBhNgDzHuln5VwIgBEvMbkMlcWhrCEwCLoJIISZxSXxqMqZKcbmqWpkKOYGnFQ nhXx5Wl1kGTYREI891vLZUt+qUIbXMJmURQlICU0xqngBIELQipjH24tfJL3j82RhADw XH5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:content-transfer-encoding :mime-version:references:in-reply-to:date:cc:to:from:subject; bh=H4aHkw0+9QyWOxry6HRni22nFUM7+4T6BazrZzg8oHo=; b=N+BIoidxhk2JdCjWb81Ag+/1qezuX61LRS+tkEJTR84vcvc4qICQmnSn36urnVD1zw ifJ3bYrSH7oB2qjuoeR0d9Xo9f5aTrtr1MMNYCEf4Z4d37HcnefCVPGNmFp5B3FrJtQO kXCYBrG03QrXru3eTmOOQqBQcWs3nJhPwz735kOucDRWuTsxv1p/RXWVxlEDA4G0J0H3 AqJhJtHSjRMrtH7eggFCiVAi8RU6vULmFjV75LvfFqjh3E50nRK1Vzspdtz6Dsy4SjT7 4E9n1F5lO0pU5mUGSwj3zQjThDgh+5tqTDvhXeZTV0PsackFIXlcC4/IzOqL+NqA6iMe y8mQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l25si3819598oii.205.2020.03.18.14.55.28; Wed, 18 Mar 2020 14:55:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727137AbgCRVzB (ORCPT + 99 others); Wed, 18 Mar 2020 17:55:01 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:10772 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726647AbgCRVzB (ORCPT ); Wed, 18 Mar 2020 17:55:01 -0400 Received: from pps.filterd (m0098417.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 02ILWbm4119017 for ; Wed, 18 Mar 2020 17:54:59 -0400 Received: from e06smtp01.uk.ibm.com (e06smtp01.uk.ibm.com [195.75.94.97]) by mx0a-001b2d01.pphosted.com with ESMTP id 2yua2be9a8-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 18 Mar 2020 17:54:59 -0400 Received: from localhost by e06smtp01.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 18 Mar 2020 21:54:57 -0000 Received: from b06avi18626390.portsmouth.uk.ibm.com (9.149.26.192) by e06smtp01.uk.ibm.com (192.168.101.131) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Wed, 18 Mar 2020 21:54:55 -0000 Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com [9.149.105.232]) by b06avi18626390.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 02ILrrgZ39649772 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 18 Mar 2020 21:53:53 GMT Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2C0BD5204E; Wed, 18 Mar 2020 21:54:54 +0000 (GMT) Received: from localhost.localdomain (unknown [9.85.207.40]) by d06av21.portsmouth.uk.ibm.com (Postfix) with ESMTP id 4565352051; Wed, 18 Mar 2020 21:54:53 +0000 (GMT) Subject: Re: [PATCH v3 7/8] ima: Calculate and extend PCR with digests in ima_template_entry From: Mimi Zohar To: Roberto Sassu , "James.Bottomley@HansenPartnership.com" , "jarkko.sakkinen@linux.intel.com" Cc: "linux-integrity@vger.kernel.org" , "linux-security-module@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Silviu Vlasceanu Date: Wed, 18 Mar 2020 17:54:52 -0400 In-Reply-To: References: <20200210100418.22049-1-roberto.sassu@huawei.com> <1583208222.8544.168.camel@linux.ibm.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.5 (3.20.5-1.fc24) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 x-cbid: 20031821-4275-0000-0000-000003AEABFD X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 20031821-4276-0000-0000-000038C3D8E2 Message-Id: <1584568492.5188.200.camel@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138,18.0.645 definitions=2020-03-18_07:2020-03-18,2020-03-18 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 clxscore=1015 phishscore=0 priorityscore=1501 adultscore=0 bulkscore=0 spamscore=0 mlxscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003180090 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2020-03-18 at 12:42 +0000, Roberto Sassu wrote: > > -----Original Message----- > > From: owner-linux-security-module@vger.kernel.org [mailto:owner-linux- > > security-module@vger.kernel.org] On Behalf Of Mimi Zohar > > Sent: Tuesday, March 3, 2020 5:04 AM > > To: Roberto Sassu ; > > James.Bottomley@HansenPartnership.com; > > jarkko.sakkinen@linux.intel.com > > Cc: linux-integrity@vger.kernel.org; linux-security-module@vger.kernel.org; > > linux-kernel@vger.kernel.org; Silviu Vlasceanu > > > > Subject: Re: [PATCH v3 7/8] ima: Calculate and extend PCR with digests in > > ima_template_entry > > > > On Mon, 2020-02-10 at 11:04 +0100, Roberto Sassu wrote: > > > > > @@ -219,6 +214,8 @@ int ima_restore_measurement_entry(struct > > ima_template_entry *entry) > > > > > > int __init ima_init_digests(void) > > > { > > > + u16 digest_size; > > > + u16 crypto_id; > > > int i; > > > > > > if (!ima_tpm_chip) > > > @@ -229,8 +226,17 @@ int __init ima_init_digests(void) > > > if (!digests) > > > return -ENOMEM; > > > > > > - for (i = 0; i < ima_tpm_chip->nr_allocated_banks; i++) > > > + for (i = 0; i < ima_tpm_chip->nr_allocated_banks; i++) { > > > digests[i].alg_id = ima_tpm_chip->allocated_banks[i].alg_id; > > > + digest_size = ima_tpm_chip->allocated_banks[i].digest_size; > > > + crypto_id = ima_tpm_chip->allocated_banks[i].crypto_id; > > > + > > > + /* for unmapped TPM algorithms digest is still a padded > > SHA1 */ > > > + if (crypto_id == HASH_ALGO__LAST) > > > + digest_size = SHA1_DIGEST_SIZE; > > > + > > > + memset(digests[i].digest, 0xff, digest_size); > > > > Shouldn't the memset here be of the actual digest size even for > > unmapped TPM algorithms. > > This is consistent with ima_calc_field_array_hash(), so that a verifier > will always pad the SHA1 digest with zeros to obtain the final PCR value. > > I can set all bytes if you prefer. My concern is with violations.  The measurement list will be padded with 0's, but the value being extended into the TPM will only partially be 0xFF's.  When verifying the measurement list, replacing all 0x00's with all 0xFF's is simpler. Mimi