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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 28104C05027 for ; Thu, 26 Jan 2023 10:58:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236951AbjAZK6z (ORCPT ); Thu, 26 Jan 2023 05:58:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49852 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229674AbjAZK6y (ORCPT ); Thu, 26 Jan 2023 05:58:54 -0500 Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A3A4B771; Thu, 26 Jan 2023 02:58:52 -0800 (PST) Received: from lhrpeml500005.china.huawei.com (unknown [172.18.147.200]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4P2czQ66XDz67bVM; Thu, 26 Jan 2023 18:54:42 +0800 (CST) Received: from localhost (10.81.202.191) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 26 Jan 2023 10:58:48 +0000 Date: Thu, 26 Jan 2023 10:58:47 +0000 From: Jonathan Cameron To: Samuel Ortiz CC: Lukas Wunner , "Dr. David Alan Gilbert" , Greg Kroah-Hartman , "Reshetova, Elena" , "Shishkin, Alexander" , "Shutemov, Kirill" , "Kuppuswamy, Sathyanarayanan" , "Kleen, Andi" , "Hansen, Dave" , "Thomas Gleixner" , Peter Zijlstra , "Mika Westerberg" , "Michael S. Tsirkin" , Jason Wang , "Poimboe, Josh" , "aarcange@redhat.com" , "Cfir Cohen" , Marc Orr , "jbachmann@google.com" , "pgonda@google.com" , "keescook@chromium.org" , "James Morris" , Michael Kelley , "Lange, Jon" , "linux-coco@lists.linux.dev" , Linux Kernel Mailing List , Subject: Re: Linux guest kernel threat model for Confidential Computing Message-ID: <20230126105847.00001b97@Huawei.com> In-Reply-To: References: <20230125215333.GA18160@wunner.de> Organization: Huawei Technologies Research and Development (UK) Ltd. X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; x86_64-w64-mingw32) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.81.202.191] X-ClientProxiedBy: lhrpeml100001.china.huawei.com (7.191.160.183) To lhrpeml500005.china.huawei.com (7.191.163.240) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 26 Jan 2023 10:24:32 +0100 Samuel Ortiz wrote: > Hi Lukas, > > On Wed, Jan 25, 2023 at 11:03 PM Lukas Wunner wrote: > > > [cc += Jonathan Cameron, linux-pci] > > > > On Wed, Jan 25, 2023 at 02:57:40PM +0000, Dr. David Alan Gilbert wrote: > > > Greg Kroah-Hartman (gregkh@linuxfoundation.org) wrote: > > > > Great, so why not have hardware attestation also for your devices you > > > > wish to talk to? Why not use that as well? Then you don't have to > > > > worry about anything in the guest. > > > > > > There were some talks at Plumbers where PCIe is working on adding that; > > > it's not there yet though. I think that's PCIe 'Integrity and Data > > > Encryption' (IDE - sigh), and PCIe 'Security Prtocol and Data Model' - > > > SPDM. I don't know much of the detail of those, just that they're far > > > enough off that people aren't depending on them yet. > > > > CMA/SPDM (PCIe r6.0 sec 6.31) is in active development on this branch: > > > > https://github.com/l1k/linux/commits/doe > > Nice, thanks a lot for that. > > > > > The device authentication service afforded here is generic. > > It is up to users and vendors to decide how to employ it, > > be it for "confidential computing" or something else. > > > > Trusted root certificates to validate device certificates can be > > installed into a kernel keyring using the familiar keyctl(1) utility, > > but platform-specific roots of trust (such as a HSM) could be > > supported as well. > > > > This may have been discussed at LPC, but are there any plans to also > support confidential computing flows where the host kernel is not part > of the TCB and would not be trusted for validating the device cert chain > nor for running the SPDM challenge? There are lots of possible models for this. One simple option if the assigned VF supports it is a CMA instance per VF. That will let the guest do full attestation including measurement of whether the device is appropriately locked down so the hypervisor can't mess with configuration that affects the guest (without a reset anyway and that is guest visible). Whether anyone builds that option isn't yet clear though. If they do, Lukas' work should work there as well as for the host OS. (Note I'm not a security expert so may be missing something!) For extra fun, why should the device trust the host? Mutual authentication fun (there are usecases where that matters) There are way more complex options supported in PCIe TDISP (Tee Device security interface protocols). Anyone have an visibility of open solutions that make use of that? May be too new. Jonathan > > Cheers, > Samuel. >