Internet DRAFT - draft-yang-teep-ccican
draft-yang-teep-ccican
Internet Engineering Task Force P. Yang
Internet-Draft M. Chen
Intended status: Informational L. Su
Expires: 3 September 2022 China Mobile
March 2022
architecture of confidential computing in computing aware network
draft-yang-teep-ccican-00
Abstract
Confidential Computing is the protection of data in use by performing
computation in a hardware-based Trusted Execution Environment.
Especially in virtualization environments, confidential computing
could protect data and applications from access or tampering by
hypervisor or other privileged users. In Computing-Aware network,
computing resource is an essential element to provide computing
services for network users' applications. Introducing confidential
computing in Computing-Aware network could mitigate the distrust of
computing resource efficiently. This document provides the
architecture of confidential computing in Computing-Aware network
management plane to provide confidentiality and integrity for
applications.
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 2 September 2022.
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved.
Yang, et al. Expires 3 September 2022 [Page 1]
Internet-Draft ccican March 2022
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
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Motivation and Scope . . . . . . . . . . . . . . . . . . . . 3
2.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. General Architecture of Confidential Computing in
Computing-Aware Network . . . . . . . . . . . . . . . . . 4
4. Environment Provisioning . . . . . . . . . . . . . . . . . . 6
5. Remote Attestation . . . . . . . . . . . . . . . . . . . . . 7
6. Use Case . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7. Security Considerations . . . . . . . . . . . . . . . . . . . 9
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
10.1. Normative References . . . . . . . . . . . . . . . . . . 9
10.2. Informative References . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction
The Confidential Computing Consortium defined the concept of
confidential computing as "Confidential Computing is the protection
of data in use by performing computation in a hardware-based Trusted
Execution Environment"[CCC-White-Paper]. In detail, CPU with
confidential computing feature could generate an isolated hardware-
protected area, in which processing data or running code will be
protected from any illegal access or tampering. In cloud computing
scenario, CPU with confidential computing feature could be used to
protect users' applications and data from access or tampered by
hypervisor, privileged users or other attackers in the cloud
platform. In hardware industry, Intel, AMD, ARM and other chip
venders have already released their confidential computing CPU
series.
In Computing-Aware network, cloud-based computing resource prepared
for applications is from different places like edge or data center.
If the edge or data center is outsourced or even distributed in
Yang, et al. Expires 3 September 2022 [Page 2]
Internet-Draft ccican March 2022
different security domains, not only the network administrator but
also the application owner cannot trust the computing environment.
The potential leakage of secret data or intellectual property will
restrict the range of applications. With the protection of
confidential computing, users could trust the computing environment
and make sure their sensitive data and intellectual property will not
be leaked.
This document introduces confidential computing to Computing-Aware
network and illustrates the general architecture in network
management plane. Computing-Aware network designers and users could
use this document as a information reference to enhance their
security.
1.1. Terminology
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].
CC: Confidential Computing
CCR: Confidential Computing Resource
TEE: Trust Execution Environment
CCM: Confidential Computing Management
CCI: Confidential Computing Instance
TEEP: Trust Execution Environment Provisioning
TAM: Trusted Application Management
2. Motivation and Scope
2.1. Motivation
In Computing-Aware network, there is a suspicion about how to protect
users' application and data efficiently. Computing resource in
Computing-Aware network is more decentralized and ambiguous than
regular cloud computing. The network may distribute users'
applications in different computing platforms maintained by different
administrators. If the computing platform is malicious, secret data
and application intellectual property could be easily stolen or
tampered. Confidential computing provides a new security model in
where network users only need to trust the confidential computing
hardware, firmware and the applications provided by users themselves,
Yang, et al. Expires 3 September 2022 [Page 3]
Internet-Draft ccican March 2022
any other hypervisor or software in computing platform do not have to
be trusted.
2.2. Scope
This document mainly focuses on the unique features of confidential
computing in network management plane. Other network planes like
control/forwarding/data which have no direct interaction with
confidential computing features will be ignored.
3. General Architecture of Confidential Computing in Computing-Aware
Network
Targeting
+--> Environment
| +-------------+ +----------+
| | Application | +->| APP Owner|<--+
| +-------------+ | +----------+ |
| | Middleware |<-+ |
| +-------------+ |
| | TEEP Agent |<-----+ |
| +-------------+ | |
| | |
| +--------------------+------+ |
| | Hypervisor TEEP Broker |<--+ |
| +---------------------------+ | |
| | CPU/Firmware Attesting | | |
| | Environment| | |
| +---------------------+-----+ | |
| | | |
+------------------------+ | |
| |
+--------------------+--+-+
| TAM & Middleware Repo |
| M/OC |
+-------------------------+
Figure 1: Architecture of Confidential Computing in Computing-
Aware Network
Figure 1 shows the basic architecture of confidential computing in
Computing-Aware Network. This architecture refers to RATs
[I-D.ietf-rats-architecture] arch and
TEEP[I-D.ietf-teep-architecture] arch for remote attestation and
trust execution environment provisioning. Confidential computing
needs the support of CPU, in which MUST have the function of
generating isolated execution environment and attesting environment.
The layer of Hypervisor is for virtualization.
Yang, et al. Expires 3 September 2022 [Page 4]
Internet-Draft ccican March 2022
(1) Targeting Environment
Targeting Environment is the computing environment e.g. virtual
machine, process that could provide confidentiality and integrity for
applications. When used for remote attestation, the Targeting
Environment will be attested by application owner. Targeting
environment includes Application, Middleware, and TEEP Agent.
(2) Application
Application which runs in Computing-Aware network.
(3) Middleware
Middleware in CC has two functions: enable remote attestation and
environment provisioning; provide a user-friendly environment. Some
confidential computing CPU like SGX needs to use middleware to
provide a environment in where applications don't have to change
their source code, e.g. Enarx [Enarx] and Occlum [Occlum].
(4) TEEP Agent
TEEP Agent is a module for provisioning middleware and application in
Targeting Environment.
(5) TEEP Broker
TEEP Broker is only for communication between TEEP Agent and TAM, it
doesn't have to know any confidential information.
(6) Attesting Environment
Attesting Environment is hardware based component, like Intel Quote
SGX, AMD SEV-SP, etc. This component is a part of TCB, and is used
to collect targeting environment evidence for remote attestation.
(7) M/OC
M/OC is the manage and orchestration console of Computing-Aware
Network.
(8) TAM
Trust Application Management, this entity is for provisioning of
application and relevant middleware.
(9) Middleware Repository
Yang, et al. Expires 3 September 2022 [Page 5]
Internet-Draft ccican March 2022
This repository keeps a variety of middleware packages, which is for
TAM to access based on Application type and confidential computing
hardware type.
4. Environment Provisioning
When deploying applications in Computing-Aware network, TAM will
choose confidential computing environment and relevant Middleware to
fit their applications. Meanwhile, Computing-Aware Network needs to
provide the secure procedure of provisioning middleware and
applications. This document uses TEEP as reference to provision
Middleware and applications in Computing-Aware network.
Targeting
Environment
+-------------+ +----------+
| Application | | App Owner|<--+
+-------------+ +----------+ |
| Middleware | |
+-------------+ |
| TEEP Agent |<-----+ |
+-------------+ |3 |
| |
+--------------------+------+ |1
| Hypervisor TEEP Broker |<--+ |
+---------------------------+ | |
| CPU/Firmware Attesting | | |
| Environment| |2 |
+---------------------+-----+ | |
| |
| |
| |
+--------------------+--+-+
| TAM & Middleware Repo |
| M/OC |
+-------------------------+
Figure 2: Application and Middleware Provisioning in Computing-
Aware Network
The Provisioning steps in Computing-Aware Network are illustrated
below.
(1) First, Application owner requests for confidential computing
resource in Computing-Aware Network. Second, based on the
request and confidential computing resource type, TAM will chose
appropriate middleware.
Yang, et al. Expires 3 September 2022 [Page 6]
Internet-Draft ccican March 2022
(2) TAM establishes connections with TEEP Broker to transfer
provisioning information.
(3) TEEP Broker triggers the confidential computing platform to
create Targeting Environment with TEEP Agent. Then TEEP Broker
establishes connections with TEEP agent. TEEP agent receives
the provisioning information and unpacks it as Middleware.
Need to clarify that at this stage the Middleware dosen't contain any
secret information. The secret information of application should be
provisioned after remote attestation. The specific mechanism of
building targeting environment is based on specific CPU and is out of
scope of this document.
5. Remote Attestation
In Computing-Aware Network, remote attestation is used for
application owner to appraise if the Targeting Environment is
trusted. Only after remote attestation, application owner could
trust the confidential computing environment and deploy secret
information. The general architecture of remote attestation in
Computing-Aware Network is shown below.
Targeting
+--> Environment
| +-------------+ 1/4 +----------+
| | Application | +->| APP Owner|<--+
| +-------------+ | +----------+ |
| | Middleware |<-+ |
| +-------------+ |
| | TEEP Agent | |
| +-------------+ |
|2 |3
| +--------------------+------+ |
| | Hypervisor TEEP Broker |<--+ |
| +---------------------------+ | |
| | CPU/Firmware Attesting | | |
| | Environment| | |
| +---------------------+-----+ | |
| | | |
+------------------------+ | |
| |
+--------------------+--+-+
| TAM & Middleware Repo |
| M/OC |
+-------------------------+
Figure 3: Remote Attestation in Computing-Aware Network
Yang, et al. Expires 3 September 2022 [Page 7]
Internet-Draft ccican March 2022
The remote attestation steps in Computing-Aware Network are shown
below. After appraising the remote attestation evidence, the
application owner could deploy secret data in Targeting Environment.
(1) Application owner establishes secure connection with middleware
and launches remote attestation request with certain parameters
like nonce.
(2) Targeting Environment launches evidence collection by
Middleware. Middleware sends request to Attesting Environment
for remote attestation evidence. After generating evidence by
Attesting Environment, the evidence will be sent back to
Middleware.
(3) The Application Owner requests for TEEP agent and middleware
source code to generate reference value and appraise the remote
attestation evidence.
(4) The Targeting Environment sends the evidence to Application
Owner. After appraising, Application Owner sends its
application and private data to Targeting Environment.
6. Use Case
Confidential computing provides confidentiality and integrity of data
and applications in the running stage. This document depicts the
abstract architecture of confidential computing from the perspective
of Computing-Aware Network. The following are some use cases of
confidential computing in Computing-Aware Network.
VR/AR Application: Users wants to use Computing-Aware Network to host
VR communication and interaction with other user. They don't want
their conversation to be awared by the network. And it is hard to
encrypt all the VR context because of unacceptable cost. So, the
users choose confidential computing to protect their privacy. After
the remote attestation of computing environment, the users could
transfer and process private information in Computing-Aware Network.
Medical Imaging Aalysis: A medical institute wants to use Computing-
Aware Network to share and process medical images in different
branches. One primary concern is that they don't want the patients'
medical images to be leaked. So they choose confidential computing
to process these images.
Yang, et al. Expires 3 September 2022 [Page 8]
Internet-Draft ccican March 2022
7. Security Considerations
The root of trust of confidential computing is the CPU hardware.
Application Owner could use the certificate or signature in remote
attestation information to verify the identity of CPU. The
connections between Application Owner and their applications are
protected by security protocols like TLS.
8. Acknowledgements
The author would like to thank Eric Voit, Mike Bursul and Dave Thaler
in CCC group who have provided valuable supports and suggestions.
9. IANA Considerations
This memo includes no request to IANA.
10. References
10.1. Normative References
[I-D.ietf-rats-architecture]
Birkholz, H., Thaler, D., Richardson, M., Smith, N., and
W. Pan, "Remote Attestation Procedures Architecture", Work
in Progress, Internet-Draft, draft-ietf-rats-architecture-
15, 8 February 2022, <https://www.ietf.org/archive/id/
draft-ietf-rats-architecture-15.txt>.
[I-D.ietf-teep-architecture]
Pei, M., Tschofenig, H., Thaler, D., and D. Wheeler,
"Trusted Execution Environment Provisioning (TEEP)
Architecture", Work in Progress, Internet-Draft, draft-
ietf-teep-architecture-16, 28 February 2022,
<https://www.ietf.org/archive/id/draft-ietf-teep-
architecture-16.txt>.
[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>.
10.2. Informative References
Yang, et al. Expires 3 September 2022 [Page 9]
Internet-Draft ccican March 2022
[CCC-White-Paper]
Confidential Computing Consortium, "Confidential
Computing: Hardware-Based Trusted Execution for
Applications and Data", 2021,
<https://confidentialcomputing.io/wp-
content/uploads/sites/85/2021/03/
confidentialcomputing_outreach_whitepaper-8-5x11-1.pdf>.
[Enarx] Profian, Inc., "Enarx", 2022,
<https://enarx.dev/docs/Technical/Introduction>.
[Occlum] Occlum, "Occlum", 2022, <https://occlum.io/>.
Authors' Addresses
Penglin Yang
China Mobile
Email: yangpenglin@chinamobile.com
Meiling Chen
China Mobile
Email: chenmeiling@chinamobile.com
Li Su
China Mobile
Email: suli@chinamobile.com
Yang, et al. Expires 3 September 2022 [Page 10]