lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c1d9b82d-94a4-f2a2-fb39-6ae6b0729dc0@arm.com>
Date:   Thu, 2 Mar 2023 19:02:36 +0000
From:   Suzuki K Poulose <suzuki.poulose@....com>
To:     "Dr. David Alan Gilbert" <dgilbert@...hat.com>
Cc:     linux-coco@...ts.linux.dev, linux-kernel@...r.kernel.org,
        kvm@...r.kernel.org, kvmarm@...ts.linux.dev,
        linux-arm-kernel@...ts.infradead.org,
        Alexandru Elisei <alexandru.elisei@....com>,
        Andrew Jones <andrew.jones@...ux.dev>,
        Catalin Marinas <catalin.marinas@....com>,
        Chao Peng <chao.p.peng@...ux.intel.com>,
        Christoffer Dall <christoffer.dall@....com>,
        Fuad Tabba <tabba@...gle.com>,
        James Morse <james.morse@....com>,
        Jean-Philippe Brucker <jean-philippe@...aro.org>,
        Joey Gouly <Joey.Gouly@....com>, Marc Zyngier <maz@...nel.org>,
        Mark Rutland <mark.rutland@....com>,
        Oliver Upton <oliver.upton@...ux.dev>,
        Paolo Bonzini <pbonzini@...hat.com>,
        Quentin Perret <qperret@...gle.com>,
        Sean Christopherson <seanjc@...gle.com>,
        Steven Price <steven.price@....com>,
        Thomas Huth <thuth@...hat.com>, Will Deacon <will@...nel.org>,
        Zenghui Yu <yuzenghui@...wei.com>,
        kvmarm@...ts.cs.columbia.edu,
        Gareth Stockwell <Gareth.Stockwell@....com>
Subject: Re: [RFC] Support for Arm CCA VMs on Linux

On 02/03/2023 16:46, Dr. David Alan Gilbert wrote:
> * Suzuki K Poulose (suzuki.poulose@....com) wrote:
>> Hi Dave
>>
>> Thanks for your response, and apologies for the delay. Response, in line.
>>
>> On 14/02/2023 17:13, Dr. David Alan Gilbert wrote:
>>> * Suzuki K Poulose (suzuki.poulose@....com) wrote:
>>>> We are happy to announce the early RFC version of the Arm
>>>> Confidential Compute Architecture (CCA) support for the Linux
>>>> stack. The intention is to seek early feedback in the following areas:
>>>>    * KVM integration of the Arm CCA
>>>>    * KVM UABI for managing the Realms, seeking to generalise the operations
>>>>      wherever possible with other Confidential Compute solutions.
>>>>      Note: This version doesn't support Guest Private memory, which will be added
>>>>      later (see below).
>>>>    * Linux Guest support for Realms
>>>>
>>>> Arm CCA Introduction
>>>> =====================
>>>>
>>>> The Arm CCA is a reference software architecture and implementation that builds
>>>> on the Realm Management Extension (RME), enabling the execution of Virtual
>>>> machines, while preventing access by more privileged software, such as hypervisor.
>>>> The Arm CCA allows the hypervisor to control the VM, but removes the right for
>>>> access to the code, register state or data that is used by VM.
>>>> More information on the architecture is available here[0].
>>>>
>>>>       Arm CCA Reference Software Architecture
>>>>
>>>>           Realm World    ||    Normal World   ||  Secure World  ||
>>>>                          ||        |          ||                ||
>>>>    EL0 x-------x         || x----x | x------x ||                ||
>>>>        | Realm |         || |    | | |      | ||                ||
>>>>        |       |         || | VM | | |      | ||                ||
>>>>    ----|  VM*  |---------||-|    |---|      |-||----------------||
>>>>        |       |         || |    | | |  H   | ||                ||
>>>>    EL1 x-------x         || x----x | |      | ||                ||
>>>>            ^             ||        | |  o   | ||                ||
>>>>            |             ||        | |      | ||                ||
>>>>    ------- R*------------------------|  s  -|---------------------
>>>>            S             ||          |      | ||                ||
>>>>            I             ||          |  t   | ||                ||
>>>>            |             ||          |      | ||                ||
>>>>            v             ||          x------x ||                ||
>>>>    EL2    RMM*           ||              ^    ||                ||
>>>>            ^             ||              |    ||                ||
>>>>    ========|=============================|========================
>>>>            |                             | SMC
>>>>            x--------- *RMI* -------------x
>>>>
>>>>    EL3                   Root World
>>>>                          EL3 Firmware
>>>>    ===============================================================
>>>> Where :
>>>>    RMM - Realm Management Monitor
>>>>    RMI - Realm Management Interface
>>>>    RSI - Realm Service Interface
>>>>    SMC - Secure Monitor Call
>>>
>>> Hi,
>>>     It's nice to see this full stack posted - thanks!
>>>
>>> Are there any pointers to information on attestation and similar
>>> measurement things?  In particular, are there any plans for a vTPM
>>
>> The RMM v1.0 provides attestation and measurement services to the Realm,
>> via Realm Service Interface (RSI) calls.
> 
> Can you point me at some docs for that?
> 

It is part of the RMM specification [1], linked below.
Please see "Chapter A7. Realm Measurement and Attestation"

[1] https://developer.arm.com/documentation/den0137/latest

>> However, there is no support
>> for partitioning the Realm VM with v1.0. This is currently under
>> development and should be available in the near future.
>>
>> With that in place, a vTPM could reside in a partition of the Realm VM along
>> side the OS in another. Does that answer your question ?
> 
> Possibly; it would be great to be able to use a standard vTPM interface
> here rather than have to do anything special.  People already have this
> working on AMD SEV-SNP.

Ok.

> 
> Dave

...

>>>>
>>>> [1] RMM Specification Latest
>>>>       https://developer.arm.com/documentation/den0137/latest


Suzuki



>>>>
>>>> [2] RMM v1.0-Beta0 specification
>>>>       https://developer.arm.com/documentation/den0137/1-0bet0/
>>>>
>>>> [3] Trusted Firmware RMM - TF-RMM
>>>>       https://www.trustedfirmware.org/projects/tf-rmm/
>>>>       GIT: https://git.trustedfirmware.org/TF-RMM/tf-rmm.git
>>>>
>>>> [4] FVP Base RevC AEM Model (available on x86_64 / Arm64 Linux)
>>>>       https://developer.arm.com/Tools%20and%20Software/Fixed%20Virtual%20Platforms
>>>>
>>>> [5] Trusted Firmware for A class
>>>>       https://www.trustedfirmware.org/projects/tf-a/
>>>>
>>>> [6] Linux kernel support for Arm-CCA
>>>>       https://gitlab.arm.com/linux-arm/linux-cca
>>>>       Host Support branch:	cca-host/rfc-v1
>>>>       Guest Support branch:	cca-guest/rfc-v1
>>>>
>>>> [7] kvmtool support for Arm CCA
>>>>       https://gitlab.arm.com/linux-arm/kvmtool-cca cca/rfc-v1
>>>>
>>>> [8] kvm-unit-tests support for Arm CCA
>>>>       https://gitlab.arm.com/linux-arm/kvm-unit-tests-cca  cca/rfc-v1
>>>>
>>>> [9] Instructions for Building Firmware components and running the model, see
>>>>       section 4.19.2 "Building and running TF-A with RME"
>>>>       https://trustedfirmware-a.readthedocs.io/en/latest/components/realm-management-extension.html#building-and-running-tf-a-with-rme
>>>>
>>>> [10] fd based Guest Private memory for KVM
>>>>      https://lkml.kernel.org/r/20221202061347.1070246-1-chao.p.peng@linux.intel.com
>>>>
>>>> Cc: Alexandru Elisei <alexandru.elisei@....com>
>>>> Cc: Andrew Jones <andrew.jones@...ux.dev>
>>>> Cc: Catalin Marinas <catalin.marinas@....com>
>>>> Cc: Chao Peng <chao.p.peng@...ux.intel.com>
>>>> Cc: Christoffer Dall <christoffer.dall@....com>
>>>> Cc: Fuad Tabba <tabba@...gle.com>
>>>> Cc: James Morse <james.morse@....com>
>>>> Cc: Jean-Philippe Brucker <jean-philippe@...aro.org>
>>>> Cc: Joey Gouly <Joey.Gouly@....com>
>>>> Cc: Marc Zyngier <maz@...nel.org>
>>>> Cc: Mark Rutland <mark.rutland@....com>
>>>> Cc: Oliver Upton <oliver.upton@...ux.dev>
>>>> Cc: Paolo Bonzini <pbonzini@...hat.com>
>>>> Cc: Quentin Perret <qperret@...gle.com>
>>>> Cc: Sean Christopherson <seanjc@...gle.com>
>>>> Cc: Steven Price <steven.price@....com>
>>>> Cc: Thomas Huth <thuth@...hat.com>
>>>> Cc: Will Deacon <will@...nel.org>
>>>> Cc: Zenghui Yu <yuzenghui@...wei.com>
>>>> To: linux-coco@...ts.linux.dev
>>>> To: kvmarm@...ts.linux.dev
>>>> Cc: kvmarm@...ts.cs.columbia.edu
>>>> Cc: linux-arm-kernel@...ts.infradead.org
>>>> To: linux-kernel@...r.kernel.org
>>>> To: kvm@...r.kernel.org
>>>>
>>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ