<?xml version="1.0" encoding="utf-8"?>
<!-- 
     draft-rfcxml-general-template-standard-00
  
     This template includes examples of the most commonly used features of RFCXML with comments 
     explaining how to customise them. This template can be quickly turned into an I-D by editing 
     the examples provided. Look for [REPLACE], [REPLACE/DELETE], [CHECK] and edit accordingly.
     Note - 'DELETE' means delete the element or attribute, not just the contents.
     
     Documentation is at https://authors.ietf.org/en/templates-and-schemas
-->
<?xml-model href="rfc7991bis.rnc"?>  <!-- Required for schema validation and schema-aware editing -->
<!-- <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> -->
<!-- This third-party XSLT can be enabled for direct transformations in XML processors, including most browsers -->


<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<!-- If further character entities are required then they should be added to the DOCTYPE above.
     Use of an external entity file is not recommended. -->

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="std"
  docName="draft-deng-teep-cvmp-00"
  ipr="trust200902"
  obsoletes=""
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">
<!-- [REPLACE] 
       * docName with name of your draft
     [CHECK] 
       * category should be one of std, bcp, info, exp, historic
       * ipr should be one of trust200902, noModificationTrust200902, noDerivativesTrust200902, pre5378Trust200902
       * updates can be an RFC number as NNNN
       * obsoletes can be an RFC number as NNNN 
-->

  <front>
    <title abbrev="Abbreviated Title">Confidential Virtual Machine Provisioning in Cloud Environment</title>
    <!--  [REPLACE/DELETE] abbrev. The abbreviated title is required if the full title is longer than 39 characters -->

    <seriesInfo name="Internet-Draft" value="draft-deng-teep-cvmp-00"/>
   
    <author fullname="Juan Deng" initials="J" role="editor" surname="Deng">
      <!-- [CHECK]
             * initials should not include an initial for the surname
             * role="editor" is optional -->
    <!-- Can have more than one author -->
      
    <!-- all of the following elements are optional -->
      <organization>Alibaba Cloud Intelligence Group</organization>
      <address>
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street></street>
          <city>Hangzhou</city>
          <region>Zhejiang</region>
          <code></code>
          <country>China</country>
          <!-- Uses two letter country code -->
        </postal>        
        <phone></phone>
        <email>dengjuan.deng@alibaba-inc.com</email>  
        <!-- Can have more than one <email> element -->
        <uri></uri>
      </address>
    </author>
   
    <date year="2023"/>
    <!-- On draft subbmission:
         * If only the current year is specified, the current day and month will be used.
         * If the month and year are both specified and are the current ones, the current day will
           be used
         * If the year is not the current one, it is necessary to specify at least a month and day="1" will be used.
    -->

    <area>General</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <!-- "Internet Engineering Task Force" is fine for individual submissions.  If this element is 
          not present, the default is "Network Working Group", which is used by the RFC Editor as 
          a nod to the history of the RFC Series. -->

    <keyword>keyword</keyword>
    <!-- [REPLACE/DELETE]. Multiple allowed.  Keywords are incorporated into HTML output files for 
         use by search engines. -->

    <abstract>
      <t>Confidential virtual machine (CVM) in the cloud environment is a use case of confidential computing where VM confidentiality is enabled by hardware. A cloud user’s CVM is isolated from the hypervisor provided by its cloud service provider, meaning the cloud service provider cannot access the workload and data in the CVM. This is used in the scenario where a cloud user intends to protect its sensitive workload and data from cloud service provider while at the same time desires to utilize the advantages of cloud technology. This document specifies the CVM provisioning in cloud environment including the provisioning process and protocol, and the security requirements. </t>
    </abstract>
 
  </front>

  <middle>
    
    <section>
      <name>Introduction</name>
      <t>Confidential computing allows for workload and data protection in use leveraging hardware-based security technology. Confidential virtual machine (CVM) in cloud environment is a use case of confidential computing. It allows a cloud user to migrate its sensitive workload and data onto cloud and still protect them from cloud service provider and the hosting environment, such as hypervisor, virtual machine manager, host OS. Moreover, another benefit of using CVM is that no changes are needed for an application to be able to run in a CVM. It has witnessed an increase in the CVM provisioning and deployment in cloud. This document illustrates the provisioning process and protocol of CVM in cloud environment and also the security requirements.</t>
      
      
      <!-- [CHECK] The 'Requirements Language' section is optional -->

    </section>
    
    <section>
      <name>CVM Provisioning in Cloud</name>
	  <section>
		<name> Overview </name>
		<t>For a cloud user to create and manage CVM instance on cloud infrastructure, CVM provision process in cloud consists of the following steps:</t>
		<ul>
			<li>Enabling confidential computing feature for CVM: Configure the firmware to enable the confidential computing feature for CVM. </li>
		</ul>
		<ul>
			<li>Creating CVM instance: Specify the parameters for the CVM instance and create the instance. </li>
		</ul>
		<ul>
			<li>Verifying CVM: Verify whether a running VM is a CVM.</li>
		</ul>
		
		<t>There may be other steps including:</t>
		<ul>
			<li>Reviewing measurements: Check the measured stored in the CVM.</li>
		</ul>
		<ul>
			<li>Retrieving remote attestation report: Check the remote attestation report of the CVM.</li>
		</ul>
		<ul>
			<li>CVM Live Migration: Migrate a live CVM to another instance.</li>
		</ul>
		<t>The rest of the clause in this section describes each step above and the required message exchange between a user side (using a client), resource manager in the cloud, and platform of the server. The following clauses mainly describes what is specific to CVM provision, and normal VM provision involved is not the focus. </t>
		
	  </section>
	  
	  <section>
		<name> Enabling Confidential Computing Feature for CVM </name>
		<t>For a server to be able to host CVM, certain booting parameters need to be configured to support the confidential computing feature for CVM. For example, to create a AMD CVM, the features, memory encryption and secure encrypted virtualization, need to be enabled. The server is then running with these features enabled. </t>
<t>This step is performed by the administrator of the server. 
</t>
      </section>
      
	  <section>
	  <name>Creating CVM Instance</name>
	  
<t>Cloud service providers need to provide to cloud users the option of CVM instance, and the underlying hardware choices supporting CVM. </t>
<t>In creating a CVM, cloud users need to set, among others, the VM type to be a CVM, and choose the hardware on which the CVM to be running. </t>
	  
	  </section>
	  
	  <section>
	  <name> Verifying CVM</name>
	  <t>A cloud user needs to be able to check whether a running VM is a CVM or not. </t>
	  </section>
	  
	  <section><name>Reviewing Measures</name></section>
	  <section><name>Retrieving Remote Attestation Report</name></section>
	   <section><name>Migrating a live CVM</name></section>
	   
	   <section><name>Message Definitions</name></section>

	  

    </section>   
	
	
    
    <section anchor="IANA">
    <!-- All drafts are required to have an IANA considerations section. See RFC 8126 for a guide.-->
      <name>IANA Considerations</name>
      <t>This memo includes no request to IANA. </t>
    </section>
    
    <section anchor="Security">
      <!-- All drafts are required to have a security considerations section. See RFC 3552 for a guide. -->
      <name>Security Considerations</name>
      <t>In addition to the hardware-based isolation of CVM from hypervisor, host OS, virtual machine monitor/manager, other CVMs, a CVM may support:</t>
	  <ul>
			<li>Memory encryption</li>
			<li>Secure boot</li>
			<li>Remote attestation</li>
		</ul>
	  
	  <t>This document should not affect the security of the Internet. </t>
    </section>
    
    <!-- NOTE: The Acknowledgements and Contributors sections are at the end of this template -->
  </middle>

  <back>
    
   
    
 </back>
</rfc>
