Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp213767pxj; Fri, 28 May 2021 02:06:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxz37S1o/F6+zSWqwL+uwvCK1EmR6n55t+eD3RDDdljNh6HBUhlzrNhP+fOJ4oIQ9punl+I X-Received: by 2002:aa7:c485:: with SMTP id m5mr3678760edq.275.1622192804985; Fri, 28 May 2021 02:06:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622192804; cv=none; d=google.com; s=arc-20160816; b=wanEWc1sMTMNyFnHZqBnRXnNcKysVO0eZFodqN//Xk1S9tGllz7HX3aE5Xi52MDelW F+3FDEQcWFYTpT7wowl6ajGI9GKdji3/qhzm/YBeJBjZ/K9t3dxW5hd/NzXo2zganpBb WWKQPns+39gDRbDTm4/gkKNZccCpoPm6j5EcR30vzCcsl5fPqM+lzc+DojEfZNYA/hpx G9tpk1sCSCDocsLmpYP75alI7VcghMEUupwQN+0rEIofVGBPSV5KG711mxaZI93vH+BO +SAjnXFCTecbkqEgDBxvUoimNNuDLRofctjEtRfafpMjeH/MfFAGrGTUBix5vCH1V4A7 H68A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=LISupQnOD89b2bD7F+cardxRjUr3VCREm8YoVjVlg9I=; b=vuk0Sm06eI0/x9+QOKakxkeGaXbuSWBJhD0XJ7/V7cNHvvpToO+YmrbEGphLziwLOm DZuxubxBhC3d1K77qUynLQ+Hm6kvCnvnKF2SSkk6drNgxvSJ8iUUCAuKmWW7nA94apkt j6a5ApII0cRXJEknUCcATcYJLM/8DsDKXrqOsKoeOGTIe/0r0sM0VvrGoeqNPZ2/E4Ng l/fm8w8v6rvyISkSvbdWkQUjqq1+4jONe2qA6Zfe9t4ywvnZuCkzOLhJIK+GXoo8F3PF vsSgjZrbfEvJ5MdMH+w3T/h8hmZ8p+FYPX4rYHl8KTUr5EVHnVeIw/cuw3sX6EHbsrlx 4wvQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t7si3096938edw.132.2021.05.28.02.06.21; Fri, 28 May 2021 02:06:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236166AbhE1Hlc (ORCPT + 99 others); Fri, 28 May 2021 03:41:32 -0400 Received: from frasgout.his.huawei.com ([185.176.79.56]:3103 "EHLO frasgout.his.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234485AbhE1Hl3 (ORCPT ); Fri, 28 May 2021 03:41:29 -0400 Received: from fraeml714-chm.china.huawei.com (unknown [172.18.147.206]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4FrxHv0MHgz6N47p; Fri, 28 May 2021 15:33:31 +0800 (CST) Received: from roberto-ThinkStation-P620.huawei.com (10.204.62.217) by fraeml714-chm.china.huawei.com (10.206.15.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Fri, 28 May 2021 09:39:53 +0200 From: Roberto Sassu To: , CC: , , , Roberto Sassu Subject: [PATCH v2 6/7] ima: Define new template evm-sig Date: Fri, 28 May 2021 09:38:11 +0200 Message-ID: <20210528073812.407936-7-roberto.sassu@huawei.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210528073812.407936-1-roberto.sassu@huawei.com> References: <20210528073812.407936-1-roberto.sassu@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.204.62.217] X-ClientProxiedBy: lhreml754-chm.china.huawei.com (10.201.108.204) To fraeml714-chm.china.huawei.com (10.206.15.33) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org With the recent introduction of the evmsig template field, remote verifiers can obtain the EVM portable signature instead of the IMA signature, to verify file metadata. After introducing the new fields to include file metadata in the measurement list, this patch finally defines the evm-sig template, whose format is: d-ng|n-ng|evmsig|xattrnames|xattrlengths|xattrvalues|iuid|igid|imode xattrnames, xattrlengths and xattrvalues are populated only from defined EVM protected xattrs, i.e. the ones that EVM considers to verify the portable signature. xattrnames and xattrlengths are populated only if the xattr is present. xattrnames and xattrlengths are not necessary for verifying the EVM portable signature, but they are included for completeness of information, if a remote verifier wants to infer more from file metadata. Signed-off-by: Roberto Sassu --- Documentation/security/IMA-templates.rst | 1 + security/integrity/ima/ima_template.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Documentation/security/IMA-templates.rst b/Documentation/security/IMA-templates.rst index 6a58760a0a35..5adc22f99496 100644 --- a/Documentation/security/IMA-templates.rst +++ b/Documentation/security/IMA-templates.rst @@ -91,6 +91,7 @@ Below, there is the list of defined template descriptors: - "ima-sig": its format is ``d-ng|n-ng|sig``; - "ima-buf": its format is ``d-ng|n-ng|buf``; - "ima-modsig": its format is ``d-ng|n-ng|sig|d-modsig|modsig``; + - "evm-sig": its format is ``d-ng|n-ng|evmsig|xattrnames|xattrlengths|xattrvalues|iuid|igid|imode``; Use diff --git a/security/integrity/ima/ima_template.c b/security/integrity/ima/ima_template.c index 159a31d2fcdf..be435efe6122 100644 --- a/security/integrity/ima/ima_template.c +++ b/security/integrity/ima/ima_template.c @@ -22,6 +22,9 @@ static struct ima_template_desc builtin_templates[] = { {.name = "ima-sig", .fmt = "d-ng|n-ng|sig"}, {.name = "ima-buf", .fmt = "d-ng|n-ng|buf"}, {.name = "ima-modsig", .fmt = "d-ng|n-ng|sig|d-modsig|modsig"}, + {.name = "evm-sig", + .fmt = "d-ng|n-ng|evmsig|" + "xattrnames|xattrlengths|xattrvalues|iuid|igid|imode"}, {.name = "", .fmt = ""}, /* placeholder for a custom format */ }; -- 2.25.1