Skip to main content

TEEP Usecase for Confidential Computing in Network
draft-ietf-teep-usecase-for-cc-in-network-04

Document Type Active Internet-Draft (teep WG)
Authors Penglin Yang , Meiling Chen , Li Su , Ting Pang
Last updated 2023-07-05
Replaces draft-yang-teep-usecase-for-cc-in-network
RFC stream Internet Engineering Task Force (IETF)
Intended RFC status (None)
Formats
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd (None)
IESG IESG state I-D Exists
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-teep-usecase-for-cc-in-network-04
TEEP Working Group                                               P. Yang
Internet-Draft                                                   M. Chen
Intended status: Informational                                     L. Su
Expires: 5 January 2024                                     China Mobile
                                                                 T. Pang
                                              Huawei Technology Co.,Ltd.
                                                             4 July 2023

           TEEP Usecase for Confidential Computing in Network
              draft-ietf-teep-usecase-for-cc-in-network-04

Abstract

   Confidential computing is the protection of data in use by performing
   computation in a hardware-based Trusted Execution Environment.
   Confidential computing could provide integrity and confidentiality
   for users who want to run applications and process data in that
   environment.  When confidential computing is used in scenarios which
   need network to provision user data and applications in the TEE
   environment, TEEP architecture[I-D.ietf-teep-architecture] and
   protocol [I-D.ietf-teep-protocol] could be used.  This document
   focuses on using TEEP to provision Network User data and applications
   in confidential computing.  This document is a use case and extension
   of TEEP and could provide guidance for cloud computing, [MEC] and
   other scenarios to use confidential computing in network.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 5 January 2024.

Copyright Notice

   Copyright (c) 2023 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Yang, et al.             Expires 5 January 2024                 [Page 1]
Internet-Draft       teep usecase for CC in network            July 2023

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Terms . . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.2.  Requirements Language . . . . . . . . . . . . . . . . . .   4
   3.  Notional Architecture of using confidential computing in
           network . . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . .   4
     4.1.  Case 1: UA, TA and PD are bundled as a package  . . . . .   5
     4.2.  Case 2: PD is a separate package, TA and UA are
           integrated  . . . . . . . . . . . . . . . . . . . . . . .   6
     4.3.  Case 3: TA and PD are bundled as a package, with or without
           UA  . . . . . . . . . . . . . . . . . . . . . . . . . . .   7
     4.4.  Case 4: TA and PD are separate packages, with or without
           UA  . . . . . . . . . . . . . . . . . . . . . . . . . . .   7
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   9
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     8.1.  Normative Reference . . . . . . . . . . . . . . . . . . .   9
     8.2.  Informative Reference . . . . . . . . . . . . . . . . . .   9
   Appendix A.  Submodules in TEEP Agent . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  11

1.  Introduction

   The Confidential Computing Consortium defined the concept of
   confidential computing as the protection of data in use by performing
   computation in a hardware-based Trusted Execution Environment
   [CCC-White-Paper].  In detail, computing unit with confidential
   computing feature could generate an isolated hardware-protected area,
   in which data and applications will be protected from illegal access
   or tampering.  When using network to provision confidential computing
   environment, users need to attest and deploy their data and
   applications in the TEE environment inside confidential computing
   device by network.  This network could be a cloud, MEC or other
   network that provide confidential computing resource to users.  For
   example in MEC, the autonomous vehicles could deploy private

Yang, et al.             Expires 5 January 2024                 [Page 2]
Internet-Draft       teep usecase for CC in network            July 2023

   applications and data on confidential computing device to calculate
   on-vehicle and destination road information without knowing by MEC
   platform.

   The TEEP WG defined the standardization of an architecture and
   protocol for managing the lifecycle of trusted applications running
   inside a TEE.  In confidential computing, the TEE can also be
   provisioned and managed by TEEP architecture and protocol.

   This document illustrates how a network user uses the TEEP protocol
   to provision its private data and applications in confidential
   computing device.  The intended audiences for this use case are
   network users and operators who are interested in using confidential
   computing in network.

2.  Terminology

2.1.  Terms

   The following terms are used in this document.

   *  Network Management/Orchestration Center(Network M/OC): M/OC exists
      in the management and orchestration layer of network.  Network
      User uses the M/OC to request for computing resource.  The TAM is
      inside the M/OC to provide management function to TEEP Agent via
      TEEP broker.

   *  Network User: Network User possesses personalization data and
      applications that need to be deployed on confidential computing
      device.

   *  Confidential Computing Device: Confidential Computing Device is
      connected by the network and can provide confidential computing
      service to Network User.

   *  Package: Package is a unit that is owned by Network User and could
      be deployed on TEE/REE or treated as application data.  TA
      (Trusted Application) in confidential computing could be an
      application, or packaged with other components like library, TEE
      shim or even Guest OS.  The specific package of confidential
      computing could refers to the white paper of
      [CCC_Common_Terminology] by CCC.

   *  Personalization Data(PD): Data that holds by Network User and
      needs to be protected by TEE during processing.  Other terms like
      TAM, TEE, REE, TA will reuse the term definition defined in
      [I-D.ietf-teep-architecture].

Yang, et al.             Expires 5 January 2024                 [Page 3]
Internet-Draft       teep usecase for CC in network            July 2023

2.2.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

3.  Notional Architecture of using confidential computing in network

   Figure 1 is the architecture of confidential computing in network.
   Two new components Network User and Network M/OC are introduced in
   this document.  The connection between Network User and M/OC depends
   on the implementation of specific network.  The connection between
   network user and UA (Untrusted Application) or TA depends on the
   implementation of application.  The connection between TAM, TEEP
   Broker and TEEP Agent refers to the TEEP protocol.  Interactions of
   all components in this scenario are described in the Usecase section.

         +--------------------------------------+
         | Confidential Computing Device        |
         |                       +--------+     |   +------------+
         |  +-------------+      |        |     |   |Network M/OC|
         |  | TEE         |      | TEEP   |     |   | +-------+  |
         |  | +--------+  |  +---> Broker <----------->       |  |
         |  | | TEEP   |  |  |   |        |     |   | |  TAM  |  |
         |  | | Agent  |<----+   |        |     |   | |       |  |
         |  | +--------+  |      |        <--+  |   | +---^---+  |
         |  |             |      +--------+  |  |   +-----|------+
         |  | +--------+  |                  |  |         |
         |  | |   TA   |  |      +-------+   |  |         |
         |  | |        |<-------->       |<--+  |         |
         |  | +--------+  |      |  UA   |      |   +-----V------+
         |  +-------------+      |       |<--------->Network User|
         |                       +-------+      |   | (Package)  |
         +--------------------------------------+   +------------+

    Figure 1: notional architecture of confidential computing in network

4.  Use Cases

   The basic process of how a Network User utilizes confidential
   computing is shown below.  At present, the main instances types exist
   in industry of confidential computing are confidential process,
   confidential container and confidential VM.  The following use cases
   are possible packaging models.

Yang, et al.             Expires 5 January 2024                 [Page 4]
Internet-Draft       teep usecase for CC in network            July 2023

4.1.  Case 1: UA, TA and PD are bundled as a package

   In this case, UA, TA and PD are bundled as a package.  If Network
   User provides this package, the process of TEEP is as follow.

   1.  Network User requests for confidential computing resource to
       Network M/OC.

   2.  M/OC orchestrates confidential computing device to undertake the
       request.

   3.  TAM requests remote attestation to TEEP Agent, TEEP Agent then
       sends the evidence to TAM.  TAM works as Verifier in [RFC9334].

   4.  After verification, Network User works as Relying Party to
       receive the attestation result.  If positive, Network User
       establishes secure channel [NIST-Special-Publication-800-133-V2]
       with TEEP Agent, and transfers this package to TEEP Agent.

   5.  TEEP Agent deploys TA and personalization data in TEE, then
       deploy UA in REE.

   As for informing Network Users to develop their applications and
   data, the mapping of UA, TA and implementations are shown in figure
   2.  This document gathers the main hardware architectures that
   support confidential computing, which include [TrustZone], [SGX],
   [SEV-SNP], [CCA] and [TDX].  The brace means the operation steps to
   deploy packages.  The arrow means deploy package to a destination.
   The "att" means attestation challenge for the target.

   +-------------+--------------------------------------------------+
   |Package Mode |                Case 1 (UA, TA, PD)               |
   +-------------+----------------+----------------+----------------+
   |             |  Confidential  |  Confidential  |                |
   |  Instance   |   Process in   |  Container in  |  Confidential  |
   |    Type     |   Physical or  |  Physical or   |       VM       |
   |             | Virtual Machine| Virtual Machine|                |
   +-------------+----------------+----------------+----------------+
   |  Hardware   |   TrustZone,   |  TrustZone,SGX,|                |
   | Architecture|      SGX       |  SEV-SNP, CCA, | SEV-SNP,CCA,TDX|
   |             |                |      TDX       |                |
   +-------------+----------------+----------------+----------------+
   |             |{att TEEP Agent,|{att TEEP Agent,|{att TEEP Agent,|
   |    Load     |  (UA,TA,PD)->  |  (UA,TA,PD)->  |  (UA,TA,PD)->  |
   |  Sequence   |  Confidential  |  Confidential  |  Confidential  |
   |             |    Process,    |   Container,   |       VM,      |
   |             |    UA->REE}    |    UA->REE}    |    UA->REE}    |
   +-------------+----------------+----------------+----------------+

Yang, et al.             Expires 5 January 2024                 [Page 5]
Internet-Draft       teep usecase for CC in network            July 2023

                  Figure 2: TEEP Implementation of Case 1

4.2.  Case 2: PD is a separate package, TA and UA are integrated

   In this use case, PD is a separate package, the UA and TA are
   integrated as a package.  If Network User provides packages like
   this, the process of TEEP is as follow.

   1.  Network User requests for confidential computing resource to
       Network M/OC.

   2.  M/OC orchestrates confidential computing device to undertake the
       request.

   3.  Network User transfers UA and TA to confidential computing device
       via TAM.  TAM then deploys these two applications in REE and TEE
       respectively.  (In SGX, UA must be deployed first, then let UA to
       load TA in SGX.)

   4.  TAM requests remote attestation to TEEP Agent, TEEP Agent then
       sends the evidence to TAM.  TAM works as Verifier in RATs
       architecture.

   5.  After verification, Network User works as Relying Party to
       receive the attestation result.  If positive, Network User
       establishes secure channel with TA, and deploys personalization
       data to TA.

   The mapping of UA, TA and implementations are shown in figure 3.

   +-------------+--------------------------------------------------+
   |Package Mode |               Case 2 (UA, TA) (PD)               |
   +-------------+----------------+----------------+----------------+
   |             |  Confidential  |  Confidential  |                |
   |  Instance   |   Process in   |  Container in  |  Confidential  |
   |    Type     |   Physical or  |  Physical or   |       VM       |
   |             | Virtual Machine| Virtual Machine|                |
   +-------------+----------------+----------------+----------------+
   |  Hardware   |    TrustZone,  | TrustZone, SGX,|                |
   | Architecture|      SGX       |  SEV-SNP, CCA, |   SEV,CCA,TDX  |
   |             |                |      TDX       |                |
   +-------------+----------------+----------------+----------------+
   |             |   {UA->REE,    |    {UA->REE,   |   {UA->REE,    |
   |             |TA->Confidential|TA->Confidential|TA->Confidential|
   |    Load     |    Process,    |   Container,   |       VM,      |
   |  Sequence   | att TEEP Agent,| att TEEP Agent,| att TEEP Agent,|
   |             |    PD->TA}     |    PD->TA}     |     PD->TA}    |
   +-------------+----------------+----------------+----------------+

Yang, et al.             Expires 5 January 2024                 [Page 6]
Internet-Draft       teep usecase for CC in network            July 2023

                  Figure 3: TEEP Implementation of Case 2

4.3.  Case 3: TA and PD are bundled as a package, with or without UA

   In this case, the process of TEEP is as follow.

   1.  Network User requests for confidential computing resource to
       Network M/OC.

   2.  TAM in M/OC orchestrates confidential computing device to
       undertake the request.

   3.  If there has UA, Network User deploys UA in REE.

   4.  TAM requests remote attestation to TEEP Agent, TEEP Agent then
       sends the evidence to TAM.  The TAM works as Verifier in RATs
       architecture.

   5.  After verification, Network User works as Relying Party to
       receive the attestation result.  If positive, Network User
       establishes secure channel with TEEP Agent and transfers TA and
       PD package to TEEP Agent.

   +-------------+--------------------------------------------------+
   |Package Mode |      Case 3 (TA, PD) (UA) or (TA, PD)            |
   +-------------+----------------+----------------+----------------+
   |             |  Confidential  |  Confidential  |                |
   |  Instance   |   Process in   |  Container in  |  Confidential  |
   |    Type     |   Physical or  |  Physical or   |       VM       |
   |             | Virtual Machine| Virtual Machine|                |
   +-------------+----------------+----------------+----------------+
   |  Hardware   |    TrustZone,  | TrustZone, SGX,|                |
   | Architecture|      SGX       |  SEV-SNP, CCA, |   SEV,CCA,TDX  |
   |             |                |      TDX       |                |
   +-------------+----------------+----------------+----------------+
   |             |   {UA->REE,    |    {UA->REE,   |    {UA->REE,   |
   |    Load     | att TEEP Agent,| att TEEP Agent,| att TEEP Agent,|
   |  Sequence   |   (TA,PD)->    |   (TA,PD)->    |    (TA,PD)->   |
   |             |  Confidential  |  Confidential  |  Confidential  |
   |             |   Process}     |   Container}   |       VM}      |
   +-------------+----------------+----------------+----------------+

                  Figure 4: TEEP Implementation of Case 3

4.4.  Case 4: TA and PD are separate packages, with or without UA

   In this case, Network User provides TA and PD as separate packages
   with or without UA.  The process of TEEP in this case is as follow.

Yang, et al.             Expires 5 January 2024                 [Page 7]
Internet-Draft       teep usecase for CC in network            July 2023

   1.  Network User requests for confidential computing resource to
       Network M/OC.

   2.  TAM in M/OC orchestrates confidential computing device to
       undertake the request.

   3.  Network User transfers UA to TAM, then TAM deploys UA in REE.

   4.  Network User transfers TA to TAM, then TAM transfers TA to TEEP
       Agent.

   5.  TAM requests remote attestation to TEEP Agent, TEEP Agent then
       sends the evidence to TAM.  TAM works as Verifier in RATs
       architecture.

   6.  After verification, Network User works as Relying Party to
       receive the attestation result.  If positive, Network User
       establishes secure channel with TA and transfers PD to it.

   +-------------+--------------------------------------------------+
   |Package Mode |        Case 4 (TA),(PD) or (TA),(PD),(UA)        |
   +-------------+----------------+----------------+----------------+
   |             |  Confidential  |  Confidential  |                |
   |  Instance   |   Process in   |  Container in  |  Confidential  |
   |    Type     |   Physical or  |  Physical or   |       VM       |
   |             | Virtual Machine| Virtual Machine|                |
   +-------------+----------------+----------------+----------------+
   |  Hardware   |    TrustZone,  | TrustZone, SGX,|   SEV,CCA,TDX  |
   | Architecture|      SGX       |  SEV, CCA, TDX |                |
   +-------------+----------------+----------------+----------------+
   |    Load     |    {UA->REE,   |    {UA->REE,   |   {UA->REE,    |
   |  Sequence   |TA->Confidential|TA->Confidential|TA->Confidential|
   |             |    Process,    |    Container   |       VM,      |
   |             | att TEEP Agent,| att TEEP Agent,| att TEEP Agent,|
   |             |    PD->TA}     |    PD->TA}     |    PD->TA}     |
   +-------------+----------------+----------------+----------------+

                  Figure 5: TEEP Implementation of Case 6

5.  IANA Considerations

   This document does not require actions by IANA.

6.  Security Considerations

   Besides the security considerations in TEEP architecture, there is no
   more security and privacy issues in this document.

Yang, et al.             Expires 5 January 2024                 [Page 8]
Internet-Draft       teep usecase for CC in network            July 2023

7.  Acknowledgements

   TBD

8.  References

8.1.  Normative Reference

   [I-D.ietf-teep-architecture]
              Pei, M., Tschofenig, H., Thaler, D., and D. M. Wheeler,
              "Trusted Execution Environment Provisioning (TEEP)
              Architecture", Work in Progress, Internet-Draft, draft-
              ietf-teep-architecture-19, 24 October 2022,
              <https://datatracker.ietf.org/doc/html/draft-ietf-teep-
              architecture-19>.

   [I-D.ietf-teep-protocol]
              Tschofenig, H., Pei, M., Wheeler, D. M., Thaler, D., and
              A. Tsukamoto, "Trusted Execution Environment Provisioning
              (TEEP) Protocol", Work in Progress, Internet-Draft, draft-
              ietf-teep-protocol-15, 3 July 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-teep-
              protocol-15>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC9334]  Birkholz, H., Thaler, D., Richardson, M., Smith, N., and
              W. Pan, "Remote ATtestation procedureS (RATS)
              Architecture", RFC 9334, DOI 10.17487/RFC9334, January
              2023, <https://www.rfc-editor.org/info/rfc9334>.

8.2.  Informative Reference

   [CCA]      ARM, "Arm Confidential Computing Architecture", March
              2022, <https://www.arm.com/architecture/security-features/
              arm-confidential-compute-architecture>.

   [CCC-White-Paper]
              Confidential Computing Consortium, "Confidential
              Computing: Hardware-Based Trusted Execution for
              Applications and Data", January 2021,
              <https://confidentialcomputing.io/white-papers-reports/>.

Yang, et al.             Expires 5 January 2024                 [Page 9]
Internet-Draft       teep usecase for CC in network            July 2023

   [CCC_Common_Terminology]
              Confidential Computing Consortium, "Common Terminology for
              Confidential Computing", October 2022,
              <https://github.com/confidentialcomputing/governance/blob/
              main/terminology/commonterminology.md>.

   [MEC]      ETSI, "Multi-access Edge Computing (MEC);Framework and
              Reference Architecture", March 2022,
              <https://www.etsi.org/deliver/etsi_gs/
              MEC/001_099/003/03.01.01_60/gs_MEC003v030101p.pdf>.

   [NIST-Special-Publication-800-133-V2]
              NIST, "Recommendation for Cryptographic Key Generation",
              June 2020,
              <https://nvlpubs.nist.gov/nistpubs/SpecialPublications/
              NIST.SP.800-133r2.pdf>.

   [SEV-SNP]  Advanced Micro Devices, "AMD SEV-SNP: Strengthening VM-
              isolation-with-integrity-protection-and-more", January
              2020, <https://www.amd.com/system/files/TechDocs/SEV-SNP-
              strengthening-vm-isolation-with-integrity-protection-and-
              more.pdf>.

   [SGX]      Intel, "Overview of Intel Software Guard Extension", June
              2016,
              <https://www.intel.com/content/www/us/en/developer/tools/
              software-guard-extensions/overview.html>.

   [TDX]      Intel, "Intel Trust Domain Extensions", August 2021,
              <https://www.intel.com/content/www/us/en/developer/
              articles/technical/intel-trust-domain-extensions.html>.

   [TrustZone]
              HUAWEI Technologies, "Kunpeng BoostKit for Confidential
              Computing TrustZone Kit", January 2022,
              <https://www.hikunpeng.com/document/detail/en/
              kunpengcctrustzone/overview/kunpengcctrustzone.html>.

Appendix A.  Submodules in TEEP Agent

   The original design of TEEP only includes TEEP Agent and TA inside
   TEE.  While in confidential computing implementation, other
   submodules may also be involved in the TEE.  In TEEP, these
   submodules could be covered by TEEP Agent.

   In SGX based confidential computing, submodule could provide
   convenient environment or API in which TA does not have to modify its
   source code to fit into SGX instructions.  Submodules like Gramine

Yang, et al.             Expires 5 January 2024                [Page 10]
Internet-Draft       teep usecase for CC in network            July 2023

   and Occlum .etc are examples that could be included in TEEP Agent.
   If there is no submodule in TEEP Agent, the TA and UA need to be
   customized applications which fit into the SGX architecture.

   In SEV and other architectures that support whole guest VM as a TEE,
   TEEP Agent doesn't have to use extra submodule to work as a
   middleware or API.  However with some submodules like Enarx which
   works as a runtime JIT compiler, TA could be deployed in a hardware
   independent way.  In this scenario, TA could be deployed in different
   hardware architecture without re-compiling.

Authors' Addresses

   Penglin Yang
   China Mobile
   32 Xuanwumen West Street, Xicheng District
   Beijing
   100053
   China
   Email: yangpenglin@chinamobile.com

   Meiling Chen
   China Mobile
   32 Xuanwumen West Street, Xicheng District
   Beijing
   100053
   China
   Email: chenmeiling@chinamobile.com

   Li Su
   China Mobile
   32 Xuanwumen West Street, Xicheng District
   Beijing
   100053
   China
   Email: suli@chinamobile.com

   Ting Pang
   Huawei Technology Co.,Ltd.
   127 Jinye Road, Yanta District
   Xi'an
   710077
   China
   Email: pangting@huawei.com

Yang, et al.             Expires 5 January 2024                [Page 11]