From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CA954C54E41 for ; Fri, 23 Feb 2024 16:43:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=1OqilrImwIEvX2LOclWhHhL+APmTi/ru57Bpi8NvoyU=; b=IZyHSWqt/1bwJQ 42kGivQr3YUOEHXKtx9AO58i/unq50WaNnrvsYOYGIDxDAyapF0GVJa6DOa+d3TTGOQMCOxZyAabj loadUcTnW7ENmzuf+zT15t26CsY9QC/UsGk6I3tidZoybwqF2UM6xESMgPJ5SpEHF+d8ULHgcs1oy F/rLi4Dxbg9GwOTJvTsLo7LNn/MHZQn8WbNx72GM8Yy4q6pqPFPBqf6Jd9O9bh2gpaD1FNPNxNhlL EiQk6lUgCpF5PNdfLymO1Em66f4uDtVj8JCv1kgkjcC0Le/qZv7/E9lU3zdINVqXsYxyjtXdpgRti yiLOO6THUhOGkNdJCktg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rdYdn-0000000AIUm-2QpF; Fri, 23 Feb 2024 16:43:15 +0000 Received: from mail-lf1-f51.google.com ([209.85.167.51]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rdYdZ-0000000AIKN-0uHi for kexec@lists.infradead.org; Fri, 23 Feb 2024 16:43:09 +0000 Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-512be6fda52so714895e87.0 for ; Fri, 23 Feb 2024 08:42:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=google; t=1708706536; x=1709311336; darn=lists.infradead.org; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=qoLuBOTBYwo+qwBs59lcs6973WjeFSpK73YZ5Iw2Km4=; b=MV0OiF59McauT7iiVx6kKnCsFwREE68aQpDLxnbrqQFLio1f2T/H9GGcn+Wg5cVnra fdcOVU3qa0biQ8HsvW4jI3xdls1IX4r0K8KdM0V2pGcT/luthyOJsRWabfT5f6D7Xvrm SzsM7ZMgohkRQd0Io4SKvAys+iK7CL5+gUvvM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708706536; x=1709311336; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qoLuBOTBYwo+qwBs59lcs6973WjeFSpK73YZ5Iw2Km4=; b=FVpuwWNa4ho4qt2wR7+LGF0cR5oMvkf+gxAM/+NEE9ER4j0FidIjK5xtvsIQuxjkgc EQGkaI9rS0zOPJF0QrkZ+u84y5VlrAlrhe5d1yICm8068rm+GvggVevKMhvc48GdPUOu 0p/0Nj00UdrOhppoH6BpYojm/a5KM8jXrubURyQFl+R0gvLdB9UcO02JKhHxkc0EOw8Z WfV/UMOWJXVevBaNxorZQhn8MzqWiXuAsFwscNP2JLPtSKek4Vr5iQuiGoCA4IFvcFXv HePR/akvNwi56ggC3g3gCUQmY2e1gW+BRJGH1un6h9fPpMbFILxTVX8ghzxaOr3EW17B SZYw== X-Forwarded-Encrypted: i=1; AJvYcCXDKD56GMCqnEe1+Kr33bQpoCpjwM/3yBW4OMjg+bo0Mc/ICKV9oVbd6BIcLQ1gzSgAR2wvwW3J5yyguoCe1EBwCzTyh7MoT5+k X-Gm-Message-State: AOJu0YzGOLXUEBLcFKtGVCmlg4++flUysnmBMqJYHfI3+Mb52wXZbxAs eH9LRevgL0+gaZg0N5R3NPjfF2t+FWjz8jFgGz0nK6gDl8N8EzcJu8L3O02dQMM= X-Google-Smtp-Source: AGHT+IFVg0FkzeWFv8VAUtlKSwt788AmJwtS0qsDMb5sOGtHb2BLbj86xPtSi/VfS0UFWwlNIJXZJA== X-Received: by 2002:a05:6512:3b0f:b0:512:be84:f49d with SMTP id f15-20020a0565123b0f00b00512be84f49dmr227672lfv.63.1708706535842; Fri, 23 Feb 2024 08:42:15 -0800 (PST) Received: from [10.80.67.149] (default-46-102-197-194.interdsl.co.uk. [46.102.197.194]) by smtp.gmail.com with ESMTPSA id x4-20020a0ce244000000b0068f2d2f64d1sm8403702qvl.32.2024.02.23.08.42.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 23 Feb 2024 08:42:15 -0800 (PST) Message-ID: <431a0b3a-47e5-4e61-a7fc-31cdf56f4e4c@citrix.com> Date: Fri, 23 Feb 2024 16:42:11 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v8 06/15] x86: Add early SHA support for Secure Launch early measurements Content-Language: en-GB To: Ard Biesheuvel , Andrew Cooper Cc: Ross Philipson , linux-kernel@vger.kernel.org, x86@kernel.org, linux-integrity@vger.kernel.org, linux-doc@vger.kernel.org, linux-crypto@vger.kernel.org, kexec@lists.infradead.org, linux-efi@vger.kernel.org, dpsmith@apertussolutions.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, hpa@zytor.com, dave.hansen@linux.intel.com, mjg59@srcf.ucam.org, James.Bottomley@hansenpartnership.com, peterhuewe@gmx.de, jarkko@kernel.org, jgg@ziepe.ca, luto@amacapital.net, nivedita@alum.mit.edu, herbert@gondor.apana.org.au, davem@davemloft.net, kanth.ghatraju@oracle.com, trenchboot-devel@googlegroups.com, Eric Biggers References: <20240214221847.2066632-1-ross.philipson@oracle.com> <20240214221847.2066632-7-ross.philipson@oracle.com> <98ad92bb-ef17-4c15-88ba-252db2a2e738@citrix.com> <1a8e69a7-89eb-4d36-94d6-0da662d8b72f@citrix.com> From: Andrew Cooper Autocrypt: addr=andrew.cooper3@citrix.com; keydata= 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 6+ahAA== In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240223_084307_214523_2D2B2BB5 X-CRM114-Status: GOOD ( 42.09 ) X-BeenThere: kexec@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kexec" Errors-To: kexec-bounces+kexec=archiver.kernel.org@lists.infradead.org T24gMjMvMDIvMjAyNCA5OjI3IGFtLCBBcmQgQmllc2hldXZlbCB3cm90ZToKPiBPbiBUaHUsIDIy IEZlYiAyMDI0IGF0IDEzOjMwLCBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXgu Y29tPiB3cm90ZToKPj4gT24gMjIvMDIvMjAyNCA5OjM0IGFtLCBBcmQgQmllc2hldXZlbCB3cm90 ZToKPj4+IE9uIFRodSwgMjIgRmViIDIwMjQgYXQgMDQ6MDUsIEFuZHJldyBDb29wZXIgPGFuZHJl dy5jb29wZXIzQGNpdHJpeC5jb20+IHdyb3RlOgo+Pj4+IE9uIDE1LzAyLzIwMjQgODoxNyBhbSwg QXJkIEJpZXNoZXV2ZWwgd3JvdGU6Cj4+Pj4+IE9uIFdlZCwgMTQgRmViIDIwMjQgYXQgMjM6MzEs IFJvc3MgUGhpbGlwc29uIDxyb3NzLnBoaWxpcHNvbkBvcmFjbGUuY29tPiB3cm90ZToKPj4+Pj4+ IEZyb206ICJEYW5pZWwgUC4gU21pdGgiIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29tPgo+ Pj4+Pj4KPj4+Pj4+IFRoZSBTSEEgYWxnb3JpdGhtcyBhcmUgbmVjZXNzYXJ5IHRvIG1lYXN1cmUg Y29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBpbnRvCj4+Pj4+PiB0aGUgVFBNIGFzIGVhcmx5IGFz IHBvc3NpYmxlIGJlZm9yZSB1c2luZyB0aGUgdmFsdWVzLiBUaGlzIGltcGxlbWVudGF0aW9uCj4+ Pj4+PiB1c2VzIHRoZSBlc3RhYmxpc2hlZCBhcHByb2FjaCBvZiAjaW5jbHVkaW5nIHRoZSBTSEEg bGlicmFyaWVzIGRpcmVjdGx5IGluCj4+Pj4+PiB0aGUgY29kZSBzaW5jZSB0aGUgY29tcHJlc3Nl ZCBrZXJuZWwgaXMgbm90IHVuY29tcHJlc3NlZCBhdCB0aGlzIHBvaW50Lgo+Pj4+Pj4KPj4+Pj4+ IFRoZSBTSEEgY29kZSBoZXJlIGhhcyBpdHMgb3JpZ2lucyBpbiB0aGUgY29kZSBmcm9tIHRoZSBt YWluIGtlcm5lbDoKPj4+Pj4+Cj4+Pj4+PiBjb21taXQgYzRkNWI5ZmZhMzFmICgiY3J5cHRvOiBz aGExIC0gaW1wbGVtZW50IGJhc2UgbGF5ZXIgZm9yIFNIQS0xIikKPj4+Pj4+Cj4+Pj4+PiBBIG1v ZGlmaWVkIHZlcnNpb24gb2YgdGhpcyBjb2RlIHdhcyBpbnRyb2R1Y2VkIHRvIHRoZSBsaWIvY3J5 cHRvL3NoYTEuYwo+Pj4+Pj4gdG8gYnJpbmcgaXQgaW4gbGluZSB3aXRoIHRoZSBzaGEyNTYgY29k ZSBhbmQgYWxsb3cgaXQgdG8gYmUgcHVsbGVkIGludG8gdGhlCj4+Pj4+PiBzZXR1cCBrZXJuZWwg aW4gdGhlIHNhbWUgbWFubmVyIGFzIHNoYTI1NiBpcy4KPj4+Pj4+Cj4+Pj4+PiBTaWduZWQtb2Zm LWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+Cj4+Pj4+ PiBTaWduZWQtb2ZmLWJ5OiBSb3NzIFBoaWxpcHNvbiA8cm9zcy5waGlsaXBzb25Ab3JhY2xlLmNv bT4KPj4+Pj4gV2UgaGF2ZSBoYWQgc29tZSBkaXNjdXNzaW9ucyBhYm91dCB0aGlzLCBhbmQgeW91 IHJlYWxseSBuZWVkIHRvCj4+Pj4+IGNhcHR1cmUgdGhlIGp1c3RpZmljYXRpb24gaW4gdGhlIGNv bW1pdCBsb2cgZm9yIGludHJvZHVjaW5nIG5ldyBjb2RlCj4+Pj4+IHRoYXQgaW1wbGVtZW50cyBh biBvYnNvbGV0ZSBhbmQgYnJva2VuIGhhc2hpbmcgYWxnb3JpdGhtLgo+Pj4+Pgo+Pj4+PiBTSEEt MSBpcyBicm9rZW4gYW5kIHNob3VsZCBubyBsb25nZXIgYmUgdXNlZCBmb3IgYW55dGhpbmcuIElu dHJvZHVjaW5nCj4+Pj4+IG5ldyBzdXBwb3J0IGZvciBhIGhpZ2hseSBjb21wbGV4IGJvb3Qgc2Vj dXJpdHkgZmVhdHVyZSwgYW5kIHRoZW4KPj4+Pj4gcmVseWluZyBvbiBTSEEtMSBpbiB0aGUgaW1w bGVtZW50YXRpb24gbWFrZXMgdGhpcyB3aG9sZSBlZmZvcnQgc2VlbQo+Pj4+PiBhbG1vc3QgZnV0 aWxlLCAqdW5sZXNzKiB5b3UgcHJvdmlkZSBzb21lIHJvY2sgc29saWQgcmVhc29ucyBoZXJlIHdo eQo+Pj4+PiB0aGlzIGlzIHN0aWxsIHNhZmUuCj4+Pj4+Cj4+Pj4+IElmIHRoZSB1cHNob3Qgd291 bGQgYmUgdGhhdCBzb21lIHBlb3BsZSBhcmUgc3R1Y2sgd2l0aCBTSEEtMSBzbyB0aGV5Cj4+Pj4+ IHdvbid0IGJlIGFibGUgdG8gdXNlIHRoaXMgZmVhdHVyZSwgdGhlbiBJJ20gbm90IGNvbnZpbmNl ZCB3ZSBzaG91bGQKPj4+Pj4gb2JzZXNzIG92ZXIgdGhhdC4KPj4+PiBUbyBiZSBhYnNvbHV0ZWx5 IGNyeXN0YWwgY2xlYXIgaGVyZS4KPj4+Pgo+Pj4+IFRoZSBjaG9pY2Ugb2YgaGFzaCBhbGdvcml0 aG0ocykgYXJlIGRldGVybWluZWQgYnkgdGhlIE9FTSBhbmQgdGhlCj4+Pj4gcGxhdGZvcm0sIG5v dCBieSBMaW51eC4KPj4+Pgo+Pj4+IEZhaWxpbmcgdG8gKGF0IGxlYXN0KSBjYXAgYSBQQ1IgaW4g YSBiYW5rIHdoaWNoIHRoZSBPRU0vcGxhdGZvcm0gbGVmdAo+Pj4+IGFjdGl2ZSBpcyBhIHNlY3Vy aXR5IHZ1bG5lcmFiaWxpdHkuICBJdCBwZXJtaXRzIHRoZSB1bnNlYWxpbmcgb2Ygc2VjcmV0cwo+ Pj4+IGlmIGFuIGF0dGFja2VyIGNhbiByZXBsYXkgYSBnb29kIHNldCBvZiBtZWFzdXJlbWVudHMg aW50byBhbiB1bnVzZWQgYmFuay4KPj4+Pgo+Pj4+IFRoZSBvbmx5IHdheSB0byBnZXQgcmlkIG9m IHRoZSByZXF1aXJlbWVudCBmb3IgU0hBLTEgaGVyZSBpcyB0byBsb2JieQo+Pj4+IHRoZSBJSFZz L09FTXMsIG9yIHBlcmhhcHMgdGhlIFRDRywgdG8gcHJvZHVjZS9zcGVjIGEgcGxhdGZvcm0gd2hl cmUgdGhlCj4+Pj4gU0hBLTEgYmFua3MgY2FuIGJlIGRpc2FibGVkLiAgVGhlcmUgYXJlIG5vIGtu b3duIHN1Y2ggcGxhdGZvcm1zIGluIHRoZQo+Pj4+IG1hcmtldCB0b2RheSwgdG8gdGhlIGJlc3Qg b2Ygb3VyIGtub3dsZWRnZS4KPj4+Pgo+Pj4gT0ssIHNvIG1haW5saW5lIExpbnV4IGRvZXMgbm90 IHN1cHBvcnQgc2VjdXJlIGxhdW5jaCBhdCBhbGwgdG9kYXkuIEF0Cj4+PiB0aGlzIHBvaW50LCB3 ZSBuZWVkIHRvIGRlY2lkZSB3aGV0aGVyIG9yIG5vdCB0b21vcnJvdydzIG1haW5saW5lIExpbnV4 Cj4+PiB3aWxsIHN1cHBvcnQgc2VjdXJlIGxhdW5jaCB3aXRoIFNIQTEgb3Igd2l0aG91dCwgcmln aHQ/Cj4+IEknZCBhcmd1ZSB0aGF0J3MgYSBzbGlnaHRseSB1bmZhaXIgY2hhcmFjdGVyaXNhdGlv bi4KPj4KPiBGYWlyIGVub3VnaC4gSSdtIGdlbnVpbmVseSB0cnlpbmcgdG8gaGF2ZSBhIHByZWNp c2UgdW5kZXJzdGFuZGluZyBvZgo+IHRoaXMsIG5vdCB0cnlpbmcgdG8gYmUgZGlzbWlzc2l2ZS4K ClN1cmUsIGFuZCBuZWl0aGVyIGFtIEkuwqAgKEFuZCBmcmFua2x5LCBJIHZhc3RseSBwcmVmZXIg dGhpcyByZWFzb25lZApkaXNjdXNzaW9uIHRvIHByaW9yIG9uZXMuKQoKU2VjdXJlIExhdW5jaCB0 ZWNobm9sb2d5IHJlYWxseSBpcyB1c2VkIHRvZGF5IGFzIG91dC1vZi10cmVlIGNvZGUsIGFuZApp dCBoYXMgdGFrZW4gfjE1eSB0byBnZXQgdG8gdGhpcyBwb2ludCBvZiBkb2luZyBpdCBuaWNlbHkg aW4gYW4KZWNvc3lzdGVtIHRoYXQgaXMgd2lkZXIgdGhhbiBqdXN0IExpbnV4LsKgIChOb3QgYSBj cml0aWNpc20sIGp1c3QgYW4Kb2JzZXJ2YXRpb24pCgpXZSdyZSBsb29raW5nIG5vdCB0byBnZXQg YmxvY2tlZCB3aXRoIGEgYnJhbmQgbmV3IG9iamVjdGlvbiB3aGljaAphcHByb3hpbWF0ZXMgdG8g Iml0J3Mgbm93IG5vdCBwZXJmZWN0LCB0aGVyZWZvcmUgeW91IGNhbid0IGhhdmUKc29tZXRoaW5n IHRoYXQncyBzdGlsbCBhIGxvdCBiZXR0ZXIgdGhhbiBub3RoaW5nIi4KCkEgbWFqb3IgcmVhc29u IHdoeSB0aGUgaGFyZHdhcmUgZWNvc3lzdGVtIGlzIG91dCBvZiBkYXRlIGlzIGJlY2F1c2UKYWxt b3N0IG5vLW9uZSB1c2VzIGl0LCBiZWNhdXNlIGl0J3MgaG9ycmlibHkgY29tcGxpY2F0ZWQgdG8g Y29uZmlndXJlLApiZWNhdXNlIGl0J3MgYSBzZXQgb2YgbGFyZ2Ugb3V0LW9mLXRyZWUgcGF0Y2hl IHNlcmllcyBhZ2FpbnN0IHlvdXIKYm9vdGxvYWRlciwgaHlwZXJ2aXNvciBhbmQga2VybmVsLgoK VGhlIGdvYWwgb2YgdGhlIFRyZW5jaGJvb3QgcHJvamVjdCBpcyB0byBtYWtlIGl0IGVhc3kgdG8g dXNlIChpLmUuCnVwc3RyZWFtIHN1cHBvcnQgaW4gdGhlIHJlbGV2YW50IHByb2plY3RzKSwgc28g dGhhdCBtb3JlIHBlb3BsZSBjYW4gdXNlCml0LCBpbiBvcmRlciB0byBkcml2ZSB0aGUgaGFyZHdh cmUgZWNvc3lzdGVtIGZvcndhcmQuCgpWZXJ5IHNlcmlvdXNseSAtIExpbnV4IHRha2luZyB0aGlz IHNlcmllcywgZXZlbiBvZmYgYnkgZGVmYXVsdCBhbmQgd2l0aAphICJTSEEtMSBjb25zaWRlcmVk IGhhemFyZG91cyBmb3IgeW91ciBoZWFsdGgiIHdhcm5pbmcgc29tZXdoZXJlLCB3aWxsCnN0aWxs IGhhdmUgYSBtYXRlcmlhbCBwb3NpdGl2ZSBpbXBhY3QgaW4gZ2V0dGluZyB0aGUgaGFyZHdhcmUg ZWNvc3lzdGVtCnRvIGltcHJvdmUuwqAgSXQgaXMsIGJ5IGZhciBhbmQgYXdheSwgdGhlIGJlc3Qg dGhpbmcgdGhhdCB3ZSAoVHJlbmNoYm9vdCkKY2FuIGRvIGluIG9yZGVyIHRvIG1vdmUgdG93YXJk cyBhIFNIQS0xLWxlc3MgZnV0dXJlLgoKVHJlbmNoYm9vdCBkbyBoYXZlIGEgc3BlY2lmaWMgaW50 ZW50IHRvIGdldCB0byB0aGF0IGZ1dHVyZSwgYW5kIGJleW9uZCwKYnV0IGl0J3MgYSBtdWx0aS15 ZWFyIHRhc2suCgoKPj4gV2Ugd2FudCB0b21vcnJvdydzIG1haW5saW5lIHRvIHN1cHBvcnQgU2Vj dXJlIExhdW5jaC4gIFdoYXQgdGhhdCBlbnRhaWxzCj4+IHVuZGVyIHRoZSBob29kIGlzIGxhcmdl bHkgb3V0c2lkZSBvZiB0aGUgY29udHJvbCBvZiB0aGUgZW5kIHVzZXIuCj4+Cj4gU28gdGhlIGRl YmF0ZSBpcyByZWFsbHkgd2hldGhlciBpdCBtYWtlcyBzZW5zZSBhdCBhbGwgdG8gc3VwcG9ydAo+ IFNlY3VyZSBMYXVuY2ggb24gc3lzdGVtcyB0aGF0IGFyZSBzdHVjayBvbiBhbiBvYnNvbGV0ZSBh bmQgYnJva2VuIGhhc2gKPiBhbGdvcml0aG0uIFRoaXMgaXMgbm90IGh5cGVyYm9sZTogU0hBLTEg aXMgYnJva2VuIHRvZGF5IGFuZCBvbmNlIHRoZXNlCj4gY2hhbmdlcyBoaXQgcHJvZHVjdGlvbiAx LTIgeWVhcnMgZG93biB0aGUgbGluZSwgdGhlIHNpdHVhdGlvbiB3aWxsCj4gb25seSBoYXZlIGRl dGVyaW9yYXRlZC4gQW5kIGFub3RoZXIgMi0zIHllYXJzIGxhdGVyLCB3ZSB3aWxsIGJlIHRoZQo+ IG9uZXMgY2hhc2luZyBvYnNjdXJlIGJ1Z3Mgb24gc3lzdGVtcyB0aGF0IHdlcmUgYWxyZWFkeSBv YnNvbGV0ZSB3aGVuCj4gdGhpcyBzdXBwb3J0IHdhcyBhZGRlZC4KClRoZXJlIGFyZSBpbmRlZWQg Y29sbGlzaW9ucywgYW5kIHRoaXMgd2lsbCBpbmRlZWQgZ2V0IHdvcnNlIG92ZXIgdGltZS4KCkJ1 dCByaWdodCBub3cgaXQgc3RpbGwgdGFrZXMgbmF0aW9uLXN0YXRlIChvciBjZXJ0YWluIGNvcnBv cmF0aW9uKQpyZXNvdXJjZXMgdG8gY2FsY3VsYXRlIGEgY29sbGlzaW9uLCBhbmQgdGhhdCB3b3Vs ZCBoYXZlIHRvIGJlIHNwZWNpZmljCnRvIHRoZSBleGFjdCBmaXJtd2FyZS9zZXR0aW5ncy9oeXBl cnZpc29yL2tlcm5lbC9pbml0cmQgY29uZmlndXJhdGlvbiBvZgp0aGUgdGFyZ2V0IGRldmljZS4K Ckdvb2dsZSBldCBhbCBpbnZlc3RlZCB0aGUgZWZmb3J0IGluIFNIQXR0ZXJlZCBpbiBvcmRlciB0 byBkcml2ZSBjaGFuZ2UKaW4gdGhlIGluZHVzdHJ5LCBidXQgdGhhdCBkb2Vzbid0IG1lYW4gaXQn cyB2aWFibGUgYXMgYSBnZW5lcmFsIGF0dGFjawp5ZXQuwqAgVGhlcmUgYXJlIGZhciBtb3JlIGNv c3QgZWZmZWN0aXZlIG9wdGlvbnMsIGV2ZW4gYSAkNCB3cmVuY2guLi4KCj4gU28gd2hhdCBpcyB0 aGUgdmFsdWUgcHJvcG9zaXRpb24gaGVyZT8gQW4gZW5kIHVzZXIgdG9kYXksIHdobyBpcwo+IG1p bmRmdWwgZW5vdWdoIG9mIHNlY3VyaXR5IHRvIGFjdGl2ZWx5IGludmVzdCB0aGUgZWZmb3J0IHRv IG1pZ3JhdGUKPiB0aGVpciBzeXN0ZW0gZnJvbSBvcmRpbmFyeSBtZWFzdXJlZCBib290IHRvIHNl Y3VyZSBsYXVuY2gsIGlzIHJlYWxseQo+IGdvaW5nIHRvIGRvIHNvIG9uIGEgc3lzdGVtIHRoYXQg b25seSBpbXBsZW1lbnRzIFNIQS0xIHN1cHBvcnQ/CgpPaCBib3RoIEludGVsIGFuZCBBTUQsIHRo ZSBiYXNlIHRlY2hub2xvZ3kgaXMgYXJvdW5kIGluIGFsbCBwbGF0Zm9ybXMKdGhlIHN1cHBvcnQg dmlydC4KCk9uIEludGVsLCBpdCdzIFNLVS1saW1pdGVkIHRvIHZQUk8sIGJ1dCBwbGF0Zm9ybXMg d2l0aCBmVFBNMi4wIGhhdmUgYmVlbgpnZW5lcmFsbHkgU0hBMStTSEEyNTYgY2FwYWJsZSBmb3Ig eWVhcnMgbm93LsKgIEEgc2VjdXJpdHkgY29uc2Npb3VzIGVuZAp1c2VyIHdvdWxkIGp1c3Qgd2Fu dCB0byBjYXAgdGhlIFNIQTEgYmFua3MgYW5kIHJ1biB3aXRoIFNIQTI1Ni4KCkZ1cnRoZXJtb3Jl LCB3aGVuIHRoZSBhdHRlc3RhdGlvbiBpcyBiYXNlZCBvbiBhIFNIQTErU0hBMjU2IG1lYXN1cmVt ZW50LAp0aGUgYXR0ZXN0b3IgY2FuIHNwb3QgYW5kIHJlamVjdCBTSEExIGNvbGxpc2lvbnMsIHNv IHRoaXMgY29uZmlndXJhdGlvbgpyZWFsbHkgc2hvdWxkIGJlIHNhZmUgdG8gdGhlIGNvbmNlcm5z IHJhaXNlZCBoZXJlLgoKT24gQU1ELCBpdCdzIG5vdCBTS1UtbGltaXRlZC7CoCBIb3dldmVyLCB0 aGVpciBmVFBNMi4wIGlzbid0IFNLSU5JVApjb21wYXRpYmxlLCBhbmQgd2Ugd2VyZSBiYXNpY2Fs bHkgdG9sZCAic2hvdyB1cyBwZW9wbGUgdXNpbmcgU0tJTklUCmZpcnN0Ii7CoCBJJ20gbm90IHN1 cmUgaWYgd2UndmUgZ290IGFzIGZhciBhcyB0cnlpbmcgdG8gYW4gTFBDIFRQTSAyLjAgb24KQU1E IHlldC7CoCBFdmVuIGJ1cyBpbnRlcmNlcHRpb24gYXR0YWNrcyBjYW4gYmUgZGVmZW5kZWQgYWdh aW5zdCB3aXRoIFRQTQplbmNyeXB0ZWQgc2Vzc2lvbnMswqAgYnV0IHdlIHB1dCB0aGlzIGluIHRo ZSAibm90IGZvciB2MSIgYnVja2V0LgoKCkl0J3Mgbm90IGEgc2VjcmV0IC0gdGhlIGludGVudCBv ZiBnZXR0aW5nIHRoaXMgdGVjaG5vbG9neSBtb3JlLWdlbmVyYWxseQp1c2FibGUgKGFuZCB0aGVy ZWZvcmUgdXNlZCkgaXMgdG8gYmUgYWJsZSB0byBnbyBiYWNrIHRvIEludGVsIGFuZCBzYXkKImhl eSBub3RpY2UgaG93IEFNRCBnaXZlIHRoaXMgdGVjaG5vbG9neSB0byBldmVyeW9uZSIsIGFuZCB0 byBzYXkgQU1ECiJoZXkgbm90aWNlIGhvdyBJbnRlbCBoYXZlIHRoaXMgd29ya2luZyB3aXRoIFRQ TTIiLsKgIEJvdGggaGF2ZSBiZWVuCnBlcnN1YWRlZCBhbG9uZyB0aGlzIGRpcmVjdGlvbiBieSBN aWNyb3NvZnQgYnkgdmlydHVlIG9mIGluY2x1ZGluZyB0aGUKUGx1dG9uIElQIGJsb2IgaW4gdGhl IG1haW4gQ1BVIHBhY2thZ2UuCgo+Pj4gQW5kIHRoZSBwb2ludCB5b3UgYXJlIG1ha2luZyBoZXJl IGlzIHRoYXQgd2UgbmVlZCBTSEEtMSBub3Qgb25seSB0byBhKQo+Pj4gc3VwcG9ydCBzeXN0ZW1z IHRoYXQgYXJlIG9uIFRQTSAxLjIgYW5kIHN1cHBvcnQgbm90aGluZyBlbHNlLCBidXQgYWxzbwo+ Pj4gdG8gYikgZW5zdXJlIHRoYXQgY3J5cHRvIGFnaWxlIFRQTSAyLjAgd2l0aCBib3RoIFNIQS0x IGFuZCBTSEEtMjU2Cj4+PiBlbmFibGVkIGNhbiBiZSBzdXBwb3J0ZWQgaW4gYSBzYWZlIG1hbm5l ciwgd2hpY2ggd291bGQgaW52b2x2ZQo+Pj4gbWVhc3VyaW5nIHNvbWUgdGVybWluYXRpbmcgZXZl bnQgaW50byB0aGUgU0hBLTEgUENScyB0byBlbnN1cmUgdGhleQo+Pj4gYXJlIG5vdCBsZWZ0IGlu IGEgZGFuZ2xpbmcgc3RhdGUgdGhhdCBtaWdodCBhbGxvdyBhbiBhZHZlcnNhcnkgdG8KPj4+IHRy aWNrIHRoZSBUUE0gaW50byB1bnNlYWxpbmcgYSBzZWNyZXQgdGhhdCBpdCBzaG91bGRuJ3QuCj4+ IFllcy4gIEFsc28gYykgYmVjYXVzZSBpZiB0aGUgZW5kIHVzZXIgd2FudHMgdG8gdXNlIFNIQS0x LCB0aGV5IHNob3VsZCBiZQo+PiBhYmxlIHRvLgo+Pgo+IFRoZSBlbmQgdXNlciBjYW4gZG8gd2hh dGV2ZXIgdGhleSB3YW50LCBvZiBjb3Vyc2UuIFdoZXRoZXIgaXQgYmVsb25ncwo+IGluIHRoZSB1 cHN0cmVhbSBpcyBhbiBlbnRpcmVseSBkaWZmZXJlbnQgbWF0dGVyLCB0aG91Z2gsIGVzcGVjaWFs bHkKPiBiZWNhdXNlIHdlIHdpbGwgZWZmZWN0aXZlbHkgYmUgZm9yY2VkIHRvIHN1cHBvcnQgdGhp cyBmb3JldmVyLgo+Cj4KPj4+IFNvIGNhbiB3ZSBzdXBwb3J0IGIpIHdpdGhvdXQgYSksIGFuZCBp ZiBzbywgZG9lcyBtZWFzdXJpbmcgYW4KPj4+IGFyYml0cmFyeSBkdW1teSBldmVudCBpbnRvIGEg UENSIHRoYXQgaXMgb25seSBtZWFudCB0byBrZWVwIHNlYWxlZAo+Pj4gZm9yZXZlciByZWFsbHkg cmVxdWlyZSBhIFNIQS0xIGltcGxlbWVudGF0aW9uLCBvciBjb3VsZCB3ZSBqdXN0IHVzZSBhbgo+ Pj4gYXJiaXRyYXJ5IChub3QgZXZlbiByYW5kb20pIHNlcXVlbmNlIG9mIDE2MCBiaXRzIGFuZCB1 c2UgdGhhdCBpbnN0ZWFkPwo+PiBhKSBhbmQgYikgYXJlIGluIHByaW5jaXBsZSBpbmRlcGVuZGVu dCwgYnV0IHdlIGNhbm5vdCBzdXBwb3J0IGIpIHdpdGhvdXQKPj4gU0hBLTEuCj4+Cj4+IFRvIGNh cCBhIFBDUiwgdGhlIGV2ZW50IGxvZyBzdGlsbCBuZWVkcyB0byBiZSBrZXB0IGFjY3VyYXRlLCBh bmQgdGhhdCdzCj4+IGF0IGxlYXN0IG9uZSBTSEEtMSBjYWxjdWxhdGlvbi4gIElmIHlvdSB3ZXJl IHRvIHNpbXBseSBleHRlbmQgYSBkdW1teQo+PiB2YWx1ZSwgdGhlIHN5c3RlbSBob3BlZnVsbHkg ZmFpbHMgc2FmZSwgYnV0IHRoZSB1c2VyIGdldHMgInNvbWV0aGluZwo+PiB3ZW50IHdyb25nLCB5 b3UncmUgb24geW91ciBvd24iLCByYXRoZXIgdGhhbiAid2UgaW50ZW50aW9uYWxseSBibG9ja2Vk Cj4+IHRoZSB1c2Ugb2YgU0hBLTEsIGV2ZXJ5dGhpbmcgaXMgZ29vZCIuCj4+Cj4+IEFuZCBmcmFu a2x5LCB5b3UgbmVlZCBTSEEtMSBqdXN0IHRvIHJlYWQgdGhlIGV2ZW50IGxvZywgaWYgYW55IGNv bXBvbmVudAo+PiAoaW5jbHVkaW5nIFRYVCBpdHNlbGYpIHdyb3RlIGEgU0hBLTEgZW50cnkgaW50 byBpdC4KPj4KPj4KPj4gVG8gYmUgYmx1bnQuICBTSEEtMSBzdXBwb3J0IGlzIG5vdCB2aWFibHkg b3B0aW9uYWwgdG9kYXkgYXMgZmFyIGFzCj4+IFNlY3VyZSBMYXVuY2ggaXMgY29uY2VybmVkLiAg SWYgdGhlcmUncyBhIHN1aXRhYmxlIEtjb25maWcgc3ltYm9sIHRvIHVzZQo+PiBmb3IgcGVvcGxl IHdobyB3YW50IGEgY29tcGxldGVseSBTSEEtMS1sZXNzIGtlcm5lbCwgdGhlbiB3ZSBjYW4gbWFr ZQo+PiBTZWN1cmUgTGF1bmNoIGRlcGVuZCBvbiB0aGF0IHVudGlsIHN1Y2ggdGltZSBhcyB0aGUg aGFyZHdhcmUgZWNvc3lzdGVtCj4+IGhhcyBjYXVnaHQgdXAuCj4+Cj4gWWVzLCB0aGlzIGNyb3Nz ZWQgbXkgbWluZCBhcyB3ZWxsLiBUaGVyZSBpcyBhIEtjb25maWcgc3ltYm9sCj4gQ1JZUFRPX1VT RVJfQVBJX0VOQUJMRV9PQlNPTEVURSBJIGFkZGVkIGEgd2hpbGUgYWdvIGZvciBhIHNpbWlsYXIK PiBwdXJwb3NlLgo+Cj4gSSBhbSBzdGlsbCBkaXNhcHBvaW50ZWQgdGhhdCB3ZSBoYXZlIHRvIGdv IGRvd24gdGhpcyBwYXRoLCBidXQgSQo+IHVuZGVyc3RhbmQgdGhlIGNvbmNlcm5zIG5vdyB0aGF0 IHlvdSBoYXZlIGV4cGxhaW5lZCB0aGVtIHRvIG1lIChhZ2FpbikKPiBpbiBtb3JlIGRldGFpbC4K Pgo+IFRoZXNlIGNvbnNpZGVyYXRpb25zIG5lZWQgdG8gYmUgcmVjb3JkZWQgaW4gdGhlIGRvY3Vt ZW50YXRpb24gb3IKPiBjb21taXQgbG9ncyBhcyB3ZWxsLCBzbyB0aGF0IHdlIGNhbiBlYXNpbHkg cmVmZXIgYmFjayB0byB0aGVtIHdpdGhvdXQKPiBoYXZpbmcgdG8gZGlnIHRocm91Z2ggdGhlIG1h aWwgYXJjaGl2ZXMuCgpZZXMsIGFuZCBJIGFncmVlLsKgIFdlJ3JlIG5vdCBsb29raW5nIHRvIHRy eSBhbmQgZm9yY2UgdGhpcyBpbiB3aXRoCnVuZGVyaGFuZCB0YWN0aWNzLgoKQnV0IGEgYmxpbmQg Im5hY2sgdG8gYW55IFNIQS0xIiBpcyBzaW1pbGFybHkgZGFtYWdpbmcgaW4gdGhlIG9wcG9zaXRl CmRpcmVjdGlvbi4KCn5BbmRyZXcKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmtleGVjIG1haWxpbmcgbGlzdAprZXhlY0BsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8va2V4ZWMK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2603712880E for ; Fri, 23 Feb 2024 16:42:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708706540; cv=none; b=sjrCQpHz/io8gek4TGs3+cqVzymMzks7wLyrPGtLAUQ/tm/JsQCu+VFL8lCS/TtHTtiSiHTc+1Ud7JdbSbWki5AG6mhDiIo1qBxDgve5TQh8upGwFsrSuaugbptgMvA2r94CHefVO/wQLtFJEqQMemjd81dktdMMFdhRleo2J70= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708706540; c=relaxed/simple; bh=tzZ5vRou2tzwpiknAbcgvaY03gJD6AH4Ovlu8u2D8nE=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=E9Rqep1RqsAtx7+JE/8D1Ah8P4HxpyWefightJJvT3bkk4bwE9okPIQ2k6LqtR5kV9y69EV8AkR00Xu5qV4adVj0VvQmt5hcUQDNg9EsGhc8wRl61tfhwwoIzAtIcnIwhjd2Cu74oAc3delIM6XbG1bY9a/1qhBEh34sok5FGUc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=citrix.com; spf=pass smtp.mailfrom=cloud.com; dkim=pass (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b=Rnnxl9kS; arc=none smtp.client-ip=209.85.167.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=citrix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cloud.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="Rnnxl9kS" Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-512b29f82d1so831953e87.1 for ; Fri, 23 Feb 2024 08:42:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=google; t=1708706536; x=1709311336; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=qoLuBOTBYwo+qwBs59lcs6973WjeFSpK73YZ5Iw2Km4=; b=Rnnxl9kSa7KrbBm6ey3tFDwIUFl3iGJfUhFX51OlJjp/NL9R+LCjXseVt4sjBDbOQS osAnBZA8jImab66xW4cG3/YUrN4EiBGJnVNmj/yWEvyX7+/q2k+45PCO6z3jumO02XiM ++pi0OAoFJWStxXyzi1xFUSxuFJZd2KisG+AY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708706536; x=1709311336; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qoLuBOTBYwo+qwBs59lcs6973WjeFSpK73YZ5Iw2Km4=; b=DnwN8l7PwUBo2rstJBMqcuElaaoPxMltUc2Zz5L1E5x+EyDy1HyBOllvWZcmZP4hZ1 sL+g4QwszpxbS6NOr2C3+csZ2fbWX284zdz2KwqTlv0ARkvGxEZ7PtBcP+F6eGsGJj1G uIDrZmcgJJoMXF8kTbKPKBPJIa3vZZ2O3szLFoEKj+8AmFSA/60PfKDV03pnVQ02f20l tAbWzigpgT2KJPO0kpFCKFkBUq1kI7opY+5nBah3VthTWfHACqwlOlX4fYs7UPE90QxX sm5S0peQOit6aN5i8K+cASTjwkNhlO+lsSstc2dGnbZphg1rbCLTrocKRiH34ONILIgV Fu4g== X-Forwarded-Encrypted: i=1; AJvYcCW7Zb0OuZ+jG1iF2G/hf0mmujDiEoUDn5jIXE3U5tUNztzjo/8TfRWf+DzkK5mdby0ubr8tiasmcXxtprLnlWkGeRpzrvqK9EfhdQEt X-Gm-Message-State: AOJu0YyapIg23gUN1iXb43Wh1YVXREDH7fWAP7MmnRwVSmX4CUTs2fMr 6/W1rphCavmcuVFFAJacYyF/nv0amnmjwpEAIWjK+sV8IKssy0LFCNYR5SliFqI= X-Google-Smtp-Source: AGHT+IFVg0FkzeWFv8VAUtlKSwt788AmJwtS0qsDMb5sOGtHb2BLbj86xPtSi/VfS0UFWwlNIJXZJA== X-Received: by 2002:a05:6512:3b0f:b0:512:be84:f49d with SMTP id f15-20020a0565123b0f00b00512be84f49dmr227672lfv.63.1708706535842; Fri, 23 Feb 2024 08:42:15 -0800 (PST) Received: from [10.80.67.149] (default-46-102-197-194.interdsl.co.uk. [46.102.197.194]) by smtp.gmail.com with ESMTPSA id x4-20020a0ce244000000b0068f2d2f64d1sm8403702qvl.32.2024.02.23.08.42.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 23 Feb 2024 08:42:15 -0800 (PST) Message-ID: <431a0b3a-47e5-4e61-a7fc-31cdf56f4e4c@citrix.com> Date: Fri, 23 Feb 2024 16:42:11 +0000 Precedence: bulk X-Mailing-List: linux-crypto@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v8 06/15] x86: Add early SHA support for Secure Launch early measurements Content-Language: en-GB To: Ard Biesheuvel , Andrew Cooper Cc: Ross Philipson , linux-kernel@vger.kernel.org, x86@kernel.org, linux-integrity@vger.kernel.org, linux-doc@vger.kernel.org, linux-crypto@vger.kernel.org, kexec@lists.infradead.org, linux-efi@vger.kernel.org, dpsmith@apertussolutions.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, hpa@zytor.com, dave.hansen@linux.intel.com, mjg59@srcf.ucam.org, James.Bottomley@hansenpartnership.com, peterhuewe@gmx.de, jarkko@kernel.org, jgg@ziepe.ca, luto@amacapital.net, nivedita@alum.mit.edu, herbert@gondor.apana.org.au, davem@davemloft.net, kanth.ghatraju@oracle.com, trenchboot-devel@googlegroups.com, Eric Biggers References: <20240214221847.2066632-1-ross.philipson@oracle.com> <20240214221847.2066632-7-ross.philipson@oracle.com> <98ad92bb-ef17-4c15-88ba-252db2a2e738@citrix.com> <1a8e69a7-89eb-4d36-94d6-0da662d8b72f@citrix.com> From: Andrew Cooper Autocrypt: addr=andrew.cooper3@citrix.com; keydata= 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 6+ahAA== In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 23/02/2024 9:27 am, Ard Biesheuvel wrote: > On Thu, 22 Feb 2024 at 13:30, Andrew Cooper wrote: >> On 22/02/2024 9:34 am, Ard Biesheuvel wrote: >>> On Thu, 22 Feb 2024 at 04:05, Andrew Cooper wrote: >>>> On 15/02/2024 8:17 am, Ard Biesheuvel wrote: >>>>> On Wed, 14 Feb 2024 at 23:31, Ross Philipson wrote: >>>>>> From: "Daniel P. Smith" >>>>>> >>>>>> The SHA algorithms are necessary to measure configuration information into >>>>>> the TPM as early as possible before using the values. This implementation >>>>>> uses the established approach of #including the SHA libraries directly in >>>>>> the code since the compressed kernel is not uncompressed at this point. >>>>>> >>>>>> The SHA code here has its origins in the code from the main kernel: >>>>>> >>>>>> commit c4d5b9ffa31f ("crypto: sha1 - implement base layer for SHA-1") >>>>>> >>>>>> A modified version of this code was introduced to the lib/crypto/sha1.c >>>>>> to bring it in line with the sha256 code and allow it to be pulled into the >>>>>> setup kernel in the same manner as sha256 is. >>>>>> >>>>>> Signed-off-by: Daniel P. Smith >>>>>> Signed-off-by: Ross Philipson >>>>> We have had some discussions about this, and you really need to >>>>> capture the justification in the commit log for introducing new code >>>>> that implements an obsolete and broken hashing algorithm. >>>>> >>>>> SHA-1 is broken and should no longer be used for anything. Introducing >>>>> new support for a highly complex boot security feature, and then >>>>> relying on SHA-1 in the implementation makes this whole effort seem >>>>> almost futile, *unless* you provide some rock solid reasons here why >>>>> this is still safe. >>>>> >>>>> If the upshot would be that some people are stuck with SHA-1 so they >>>>> won't be able to use this feature, then I'm not convinced we should >>>>> obsess over that. >>>> To be absolutely crystal clear here. >>>> >>>> The choice of hash algorithm(s) are determined by the OEM and the >>>> platform, not by Linux. >>>> >>>> Failing to (at least) cap a PCR in a bank which the OEM/platform left >>>> active is a security vulnerability. It permits the unsealing of secrets >>>> if an attacker can replay a good set of measurements into an unused bank. >>>> >>>> The only way to get rid of the requirement for SHA-1 here is to lobby >>>> the IHVs/OEMs, or perhaps the TCG, to produce/spec a platform where the >>>> SHA-1 banks can be disabled. There are no known such platforms in the >>>> market today, to the best of our knowledge. >>>> >>> OK, so mainline Linux does not support secure launch at all today. At >>> this point, we need to decide whether or not tomorrow's mainline Linux >>> will support secure launch with SHA1 or without, right? >> I'd argue that's a slightly unfair characterisation. >> > Fair enough. I'm genuinely trying to have a precise understanding of > this, not trying to be dismissive. Sure, and neither am I.  (And frankly, I vastly prefer this reasoned discussion to prior ones.) Secure Launch technology really is used today as out-of-tree code, and it has taken ~15y to get to this point of doing it nicely in an ecosystem that is wider than just Linux.  (Not a criticism, just an observation) We're looking not to get blocked with a brand new objection which approximates to "it's now not perfect, therefore you can't have something that's still a lot better than nothing". A major reason why the hardware ecosystem is out of date is because almost no-one uses it, because it's horribly complicated to configure, because it's a set of large out-of-tree patche series against your bootloader, hypervisor and kernel. The goal of the Trenchboot project is to make it easy to use (i.e. upstream support in the relevant projects), so that more people can use it, in order to drive the hardware ecosystem forward. Very seriously - Linux taking this series, even off by default and with a "SHA-1 considered hazardous for your health" warning somewhere, will still have a material positive impact in getting the hardware ecosystem to improve.  It is, by far and away, the best thing that we (Trenchboot) can do in order to move towards a SHA-1-less future. Trenchboot do have a specific intent to get to that future, and beyond, but it's a multi-year task. >> We want tomorrow's mainline to support Secure Launch. What that entails >> under the hood is largely outside of the control of the end user. >> > So the debate is really whether it makes sense at all to support > Secure Launch on systems that are stuck on an obsolete and broken hash > algorithm. This is not hyperbole: SHA-1 is broken today and once these > changes hit production 1-2 years down the line, the situation will > only have deteriorated. And another 2-3 years later, we will be the > ones chasing obscure bugs on systems that were already obsolete when > this support was added. There are indeed collisions, and this will indeed get worse over time. But right now it still takes nation-state (or certain corporation) resources to calculate a collision, and that would have to be specific to the exact firmware/settings/hypervisor/kernel/initrd configuration of the target device. Google et al invested the effort in SHAttered in order to drive change in the industry, but that doesn't mean it's viable as a general attack yet.  There are far more cost effective options, even a $4 wrench... > So what is the value proposition here? An end user today, who is > mindful enough of security to actively invest the effort to migrate > their system from ordinary measured boot to secure launch, is really > going to do so on a system that only implements SHA-1 support? Oh both Intel and AMD, the base technology is around in all platforms the support virt. On Intel, it's SKU-limited to vPRO, but platforms with fTPM2.0 have been generally SHA1+SHA256 capable for years now.  A security conscious end user would just want to cap the SHA1 banks and run with SHA256. Furthermore, when the attestation is based on a SHA1+SHA256 measurement, the attestor can spot and reject SHA1 collisions, so this configuration really should be safe to the concerns raised here. On AMD, it's not SKU-limited.  However, their fTPM2.0 isn't SKINIT compatible, and we were basically told "show us people using SKINIT first".  I'm not sure if we've got as far as trying to an LPC TPM 2.0 on AMD yet.  Even bus interception attacks can be defended against with TPM encrypted sessions,  but we put this in the "not for v1" bucket. It's not a secret - the intent of getting this technology more-generally usable (and therefore used) is to be able to go back to Intel and say "hey notice how AMD give this technology to everyone", and to say AMD "hey notice how Intel have this working with TPM2".  Both have been persuaded along this direction by Microsoft by virtue of including the Pluton IP blob in the main CPU package. >>> And the point you are making here is that we need SHA-1 not only to a) >>> support systems that are on TPM 1.2 and support nothing else, but also >>> to b) ensure that crypto agile TPM 2.0 with both SHA-1 and SHA-256 >>> enabled can be supported in a safe manner, which would involve >>> measuring some terminating event into the SHA-1 PCRs to ensure they >>> are not left in a dangling state that might allow an adversary to >>> trick the TPM into unsealing a secret that it shouldn't. >> Yes. Also c) because if the end user wants to use SHA-1, they should be >> able to. >> > The end user can do whatever they want, of course. Whether it belongs > in the upstream is an entirely different matter, though, especially > because we will effectively be forced to support this forever. > > >>> So can we support b) without a), and if so, does measuring an >>> arbitrary dummy event into a PCR that is only meant to keep sealed >>> forever really require a SHA-1 implementation, or could we just use an >>> arbitrary (not even random) sequence of 160 bits and use that instead? >> a) and b) are in principle independent, but we cannot support b) without >> SHA-1. >> >> To cap a PCR, the event log still needs to be kept accurate, and that's >> at least one SHA-1 calculation. If you were to simply extend a dummy >> value, the system hopefully fails safe, but the user gets "something >> went wrong, you're on your own", rather than "we intentionally blocked >> the use of SHA-1, everything is good". >> >> And frankly, you need SHA-1 just to read the event log, if any component >> (including TXT itself) wrote a SHA-1 entry into it. >> >> >> To be blunt. SHA-1 support is not viably optional today as far as >> Secure Launch is concerned. If there's a suitable Kconfig symbol to use >> for people who want a completely SHA-1-less kernel, then we can make >> Secure Launch depend on that until such time as the hardware ecosystem >> has caught up. >> > Yes, this crossed my mind as well. There is a Kconfig symbol > CRYPTO_USER_API_ENABLE_OBSOLETE I added a while ago for a similar > purpose. > > I am still disappointed that we have to go down this path, but I > understand the concerns now that you have explained them to me (again) > in more detail. > > These considerations need to be recorded in the documentation or > commit logs as well, so that we can easily refer back to them without > having to dig through the mail archives. Yes, and I agree.  We're not looking to try and force this in with underhand tactics. But a blind "nack to any SHA-1" is similarly damaging in the opposite direction. ~Andrew