Desarrollo de aplicaciones en Intel SGXApplication development on Intel SGX

La infraestructura de computación confidencial requiere herramientas y software específicos.Confidential computing infrastructure requires specific tools and software. En esta página se habla de manera específica de los conceptos relacionados con el desarrollo de aplicaciones para máquinas virtuales de computación confidencial de Azure que se ejecutan en Intel SGX.This page specifically discusses concepts related to application development for Azure confidential computing virtual machines running on Intel SGX. Antes de leer esta página, lea la introducción sobre las máquinas virtuales y los enclaves de Intel SGX.Before reading this page, read the introduction of Intel SGX virtual machines and enclaves.

Para aprovechar la eficacia de los enclaves y los entornos aislados, deberá usar herramientas que admitan la computación confidencial.To leverage the power of enclaves and isolated environments, you'll need to use tools that support confidential computing. Hay varias herramientas que admiten el desarrollo de aplicaciones de enclave.There are various tools that support enclave application development. Por ejemplo, puede usar estos marcos de código abierto:For example, you can use these open-source frameworks:

Información generalOverview

Una aplicación compilada con enclaves se divide en dos sentidos:An application built with enclaves is partitioned in two ways:

  1. Un componente que no es de confianza (el host)An "untrusted" component (the host)
  2. Un componente que es de confianza (el enclave)A "trusted" component (the enclave)

Desarrollo de aplicaciones

El host es donde se ejecuta la aplicación de enclave y es un entorno que no es de confianza.The host is where your enclave application is running on top of and is an untrusted environment. El host no puede acceder al código del enclave implementado en el host.The enclave code deployed on the host can't be accessed by the host.

El enclave es el lugar en el que se ejecuta el código de aplicación y sus datos o memoria en caché.The enclave is where the application code and its cached data/memory runs. Los cálculos seguros deben realizarse en los enclaves para garantizar que los secretos y los datos confidenciales estén protegidos.Secure computations should occur in the enclaves to ensure secrets and sensitive data, stay protected.

Durante el diseño de la aplicación, es importante identificar y determinar qué parte de la aplicación debe ejecutarse en los enclaves.During application design, it's important to identify and determine what part of the application needs to run in the enclaves. El código que elija incluir en el componente de confianza está aislado del resto de la aplicación.The code that you choose to put into the trusted component is isolated from the rest of your application. Una vez que se inicializa el enclave y el código se carga en la memoria, ese código no se puede leer ni cambiar desde los componentes que no son de confianza.Once the enclave is initialized and the code is loaded to memory, that code can't be read or changed from the untrusted components.

Open Enclave Software Development Kit (OE SDK) Open Enclave Software Development Kit (OE SDK)

Use una biblioteca o un marco de trabajo compatible con el proveedor si quiere escribir código que se ejecute en un enclave.Use a library or framework supported by your provider if you want to write code that runs in an enclave. Open Enclave SDK (OE SDK) es un SDK de código abierto que permite la abstracción sobre diferente hardware habilitado para la computación confidencial.The Open Enclave SDK (OE SDK) is an open-source SDK that allows abstraction over different confidential computing-enabled hardware.

OE SDK se compila como una única capa de abstracción en cualquier hardware de cualquier CSP.The OE SDK is built to be a single abstraction layer over any hardware on any CSP. OE SDK se puede usar sobre las máquinas virtuales de computación confidencial de Azure para crear y ejecutar aplicaciones a partir de los enclaves.The OE SDK can be used on top of Azure confidential computing virtual machines to create and run applications on top of enclaves.

Marco de trabajo del Consorcio de Computación Confidencial (CCF) Confidential Consortium Framework (CCF)

El CCF es una red distribuida de nodos, cada uno de los cuales ejecuta sus propios enclaves.The CCF is a distributed network of nodes, each running their own enclaves. La red de nodos de confianza le permite ejecutar un libro de contabilidad distribuida.The trusted node network allows you to run a distributed ledger. El libro de contabilidad proporciona componentes seguros y de confianza para el protocolo que se va a usar.The ledger provides secure, reliable components for the protocol to use.

Nodos de CCF

Este marco de código abierto habilita una elevada confidencialidad específica global y una gobernanza de consorcio para la cadena de bloques.This open-source framework enables high throughout, fine-grained confidentiality, and consortium governance for blockchain. Debido a que cada nodo usa TEE, puede garantizar un consenso y un procesamiento de transacciones seguros.With each node using TEEs, you can ensure secure consensus and transaction processing.

Pasos siguientesNext steps