Soluciones de código abierto para compilar aplicaciones de enclave
En este artículo se indican las soluciones de código abierto para compilar aplicaciones que usan enclaves de aplicaciones. Antes de leerlo, asegúrese de leer la página conceptual de las aplicaciones de enclave.
Herramientas compatibles con Intel SGX
Azure ofrece enclaves de aplicaciones mediante máquinas virtuales confidenciales con Intel Software Guard Extensions (SGX) habilitado. Después de implementar una máquina virtual de Intel SGX, necesitará herramientas especializadas para que la aplicación sea "compatible con el enclave". De este modo, puede compilar aplicaciones que tengan partes de código de confianza y que no sean de confianza.
Por ejemplo, puede usar estos marcos de código abierto:
- El kit de desarrollo de software de Open Enclave (OE) (SDK)
- El SDK de EGo
- El SDK de Intel SGX
- El marco del consorcio confidencial (CCF)
- Módulos de optimización en la nube de Intel® para Kubeflow
Si no quiere escribir código de aplicación nuevo, puede encapsular una aplicación en contenedores mediante habilitadores de contenedor confidenciales.
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. 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.
OE SDK se compila como una única capa de abstracción en cualquier hardware de cualquier 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. Microsoft mantiene el repositorio de Open Enclave.
Kit de desarrollo de software de EGo
EGo es un SDK de código abierto que permite ejecutar aplicaciones escritas en el lenguaje de programación Go dentro de los enclaves. EGo se basa en el SDK de OE y viene con una biblioteca de Go en el enclave para la atestación y el sellado. Muchas aplicaciones de Go existentes se ejecutan en EGo sin modificaciones.
Kit de desarrollo de software de Intel SGX
El SDK de Intel SGX lo desarrolla y mantiene el equipo de SGX en Intel. El SDK es una herramienta de recopilación que permite a los desarrolladores de software crear y depurar aplicaciones habilitadas para Intel SGX en C y C++.
Marco de trabajo del Consorcio de Computación Confidencial (CCF)
El Marco de consorcio confidencial (CCF) es un ejemplo de un marco de cadena de bloques distribuido. El CCF se basa en la computación confidencial de Azure. Con el impulso de Microsoft Research, este marco usa la eficacia de los entornos de ejecución de confianza (TEE) para crear una red de enclaves remotos para la atestación. Los nodos se pueden ejecutar sobre máquinas virtuales de Azure Intel SGX y aprovechar la infraestructura del enclave. Mediante los protocolos de atestación, los usuarios de la cadena de bloques pueden comprobar la integridad de un nodo de CCF y comprobar de manera eficaz toda la red.
En el Consorcio de Computación Confidencial, el libro de contabilidad descentralizado se compone de cambios registrados en un almacén de clave-valor que se replica en todos los nodos de la red. Cada uno de estos nodos ejecuta un motor de transacciones que pueden desencadenar los usuarios de la cadena de bloques sobre TLS. Cuando se desencadena un punto de conexión, se muta el almacén de clave-valor. Antes de que el cambio cifrado se registre en el libro de contabilidad descentralizado, se debe acordar en más de un nodo para llegar a un consenso.
Módulos de optimización en la nube de Intel® para Kubeflow
Los módulos de optimización en la nube de Intel® para Kubeflow proporcionan una canalización de Kubeflow de aprendizaje automático optimizada mediante XGBoost para predecir la probabilidad de un préstamo predeterminado. La arquitectura de referencia aprovecha las máquinas virtuales de Intel® Software Guard Extensions seguras y confidenciales en un clúster de Azure Kubernetes Services (AKS). También permite el uso de optimizaciones de Intel® para XGBoost e Intel® daal4py para acelerar el entrenamiento y la inferencia del modelo en una canalización completa de aprendizaje automático de un extremo a otro.