Desenvolvimento de aplicações na Intel SGXApplication development on Intel SGX

A infraestrutura de computação confidencial requer ferramentas e software específicos.Confidential computing infrastructure requires specific tools and software. Esta página discute especificamente conceitos relacionados com o desenvolvimento de aplicações para máquinas virtuais de computação confidencial Azure que estão a decorrer no Intel SGX.This page specifically discusses concepts related to application development for Azure confidential computing virtual machines running on Intel SGX. Antes de ler esta página, leia a introdução de máquinas virtuais e enclaves Intel SGX.Before reading this page, read the introduction of Intel SGX virtual machines and enclaves.

Para aproveitar o poder dos enclaves e ambientes isolados, você precisará usar ferramentas que suportem a computação confidencial.To leverage the power of enclaves and isolated environments, you'll need to use tools that support confidential computing. Existem várias ferramentas que apoiam o desenvolvimento de aplicações do enclave.There are various tools that support enclave application development. Por exemplo, pode utilizar estes quadros de código aberto:For example, you can use these open-source frameworks:

Descrição GeralOverview

Uma aplicação construída com enclaves é dividida de duas maneiras:An application built with enclaves is partitioned in two ways:

  1. Um componente "não-fidedquirso" (o hospedeiro)An "untrusted" component (the host)
  2. Um componente "confiável" (o enclave)A "trusted" component (the enclave)

Programação de aplicações

O hospedeiro é onde a sua aplicação do enclave está em cima e é um ambiente não-fidedquirso.The host is where your enclave application is running on top of and is an untrusted environment. O código do enclave implantado no hospedeiro não pode ser acedido pelo hospedeiro.The enclave code deployed on the host can't be accessed by the host.

O enclave é onde o código de aplicação e os seus dados/memória em cache são executados.The enclave is where the application code and its cached data/memory runs. Devem ocorrer computações seguras nos enclaves para garantir segredos e dados sensíveis, permanecer protegidos.Secure computations should occur in the enclaves to ensure secrets and sensitive data, stay protected.

Durante o design da aplicação, é importante identificar e determinar que parte da aplicação precisa de ser executada nos enclaves.During application design, it's important to identify and determine what part of the application needs to run in the enclaves. O código que escolhe colocar no componente de confiança está isolado do resto da sua aplicação.The code that you choose to put into the trusted component is isolated from the rest of your application. Uma vez que o enclave é inicializado e o código é carregado para a memória, esse código não pode ser lido ou alterado a partir dos componentes não fidedidos.Once the enclave is initialized and the code is loaded to memory, that code can't be read or changed from the untrusted components.

Kit aberto de desenvolvimento de software enclave (OE SDK) Open Enclave Software Development Kit (OE SDK)

Utilize uma biblioteca ou estrutura suportada pelo seu fornecedor se quiser escrever código que funciona num enclave.Use a library or framework supported by your provider if you want to write code that runs in an enclave. O Open Enclave SDK (OE SDK) é um SDK de código aberto que permite a abstração em diferentes hardware confidenciais computação.The Open Enclave SDK (OE SDK) is an open-source SDK that allows abstraction over different confidential computing-enabled hardware.

O OE SDK é construído para ser uma única camada de abstração sobre qualquer hardware em qualquer CSP.The OE SDK is built to be a single abstraction layer over any hardware on any CSP. O OE SDK pode ser usado em cima de máquinas virtuais de computação confidencial Azure para criar e executar aplicações em cima de enclaves.The OE SDK can be used on top of Azure confidential computing virtual machines to create and run applications on top of enclaves.

Quadro confidencial do consórcio (CCF) Confidential Consortium Framework (CCF)

O CCF é uma rede distribuída de nós, cada um com os seus próprios enclaves.The CCF is a distributed network of nodes, each running their own enclaves. A rede de nó de confiança permite-lhe executar um livro de contabilidade distribuído.The trusted node network allows you to run a distributed ledger. O livro-razão fornece componentes seguros e fiáveis para o protocolo a utilizar.The ledger provides secure, reliable components for the protocol to use.

Nónões CCF

Este quadro de código aberto permite uma elevada confidencialidade e uma governação do consórcio para blockchain.This open-source framework enables high throughout, fine-grained confidentiality, and consortium governance for blockchain. Com cada nó usando TEEs, pode garantir um consenso seguro e processamento de transações.With each node using TEEs, you can ensure secure consensus and transaction processing.

Passos seguintesNext steps