Proteção de dados sensíveis com a
computação confidencial na nuvem
Walter Silvestre Coan
walter.coan@gmail.com – walter.s@univille.br
www.waltercoan.com.br
Walter Silvestre Coan
Microsoft MVP em Azure 2020/2021
Certificações
Azure Solutions Architect
Azure IoT Developer – Specialty
Azure Developer – Associate
Azure Administrator - Associate
Azure Fundamentals
MCT
MCSD – MCSA (C# e Web Apps)
AWS Academy Accredited Educator
AWS Certified Developer – Associate
AWS Certified Cloud Practitioner
Sun Certified Programmer em Java 5.0
Mestre em Ciência da Computação na área de Sistemas
Distribuídos e Redes de Sensores sem Fio - PUCPR
Pós-Graduado em Engenharia de Software - PUCPR
Bacharel em Informática - UNIVILLE
Professor no Bacharelado em Sistemas de Informação e do
Bacharelado em Engenharia de Software da UNIVILLE
walter.coan@gmail.com – walter.s@univille.br – www.waltercoan.com.br
Agenda
Motivação
Em quem você precisa confiar?
Proteção do ciclo de vida dos dados
Computação confidencial
Enclaves
Containers
Azure SQL
Novidades...
Motivação
Controle sobre
o ciclo de vida
dos dados
Prevenir
acesso não
autorizado
Regulações e
conformidades
Serviços
verificáveis
Colaboração
não confiável
Em quem você precisa confiar?
• Fornecedor de Software
• Confio apenas em ambiente on-
premise, ou em software livre ou eu
mesmo construo meu software
• Provedor de Infraestrutura
• Confio no meu provedor de nuvem ou
gerencio meu próprio datacenter
• Fornecedor de Hardware
• Confio apenas em ambiente on-
premise, ou construo meu próprio
hardware
Com o uso de técnicas de computação confidencial, a
ideia é reduzir a necessidade de confiar em:
VM Admin Host Admin Acesso físico
ao hardware
Hypervisor
Host OS Kernel
Proteção do ciclo de vida dos dados
• Proteção de dados em repouso
• Criptografar dados inativos quando
estão armazenados em contas de
armazenamento ou banco de dados.
• Proteção de dados em trânsito
• Criptografar dados que estão
transitando entre redes públicas e
privadas.
• Proteção de dados em uso (novo)
• Criptografar dados em uso enquanto
estão sendo armazenados na memória
RAM.
Casos de uso da computação
confidencial
Proteção da privacidade durante análise de dados
Proteção de pagamento e Criptomoedas
Blockchain Ledgers confidenciais
Gerenciamento seguro de chaves
Bancos de dados seguros
Casos de uso da computação
confidencial
Algoritmo de
Machine Learning
K1
K2
K3
Dados dos
Pacientes
K1
Dados dos
Pacientes
K2
Dados dos
Pacientes
K3
Sistema Operacional Hospedeiro
K1 K2 K3
Enclave
https://docs.microsoft.com/pt-br/azure/confidential-computing/use-cases-scenarios?WT.mc_id=AZ-MVP-5003638
Confidential
Computing
Consortium
O Consórcio de Computação
Confidencial é uma comunidade
focada em projetos de proteção
de dados em uso e aceleração
da adoção de computação
confidencial por meio de
colaboração aberta.
https://confidentialcomputing.io/
Ambientes de execução confiáveis
TEE – Trusted Execution Environment
• Deve ser provido pelo hardware
• Todos fluxo de dado que sai do TEE deve ser criptografado
• Deve ser capaz de verificar e assinar o conteúdo do TEE para produzir evidências verificáveis da
segurança
• Hardware root of trust
• Conjunto de mecanismos implementados no hardware que garantem que todos os
mecanismos de segurança, por exemplo armazenamento de chaves privadas.
• Cada hardware deve possuir uma identidade única
• Hardware específico para realizar operações de criptografia
• Bancos de e-fuses para armazenar chaves privadas para atestar sua integridade e a integridade
do software que será executado
• Isolamento
• Garantir que uma vez que o código verificado seja carregado para o TEE, deverá ser reservado
o acesso aos cores e cache de memória habilitados a trabalhar no TEE.
Ambientes de execução confiáveis
TEE – Trusted Execution Environment
• Atestação
• Mecanismo que da confiança a computação confidencial
• Verificação de um conjunto de medições realizadas no hardware e que são assinadas com
chaves privadas armazenadas no e-fuses
• Verificação da assinatura do hash do código do boot
• Verificação da assinatura do hash do contexto inicial da memória ou de registradores
importantes da CPU
• Após a validação de todas essas informações o serviço de atestação confirma a integridade e
cria um novo conjunto de chaves que será utilizado para a comunicação de serviços externos
com o TEE.
Intel SGX
Software Security Guard Extension
• Novo conjunto de instruções que
permite criar regiões privadas de
memória (enclave). Apenas o código
que roda dentro do enclave, é que
tem acesso a área de memória.
• Dados são visíveis na sua forma
original apenas dentro do enclave, e
são criptografados toda vez que são
armazenados em memória.
Azure DCv2-Series Virtual Machines Host
CPU
Hypervisor
Operating System
App App
Code
Data
Intel SGX
Data
Untrusted Code Trusted Code
1
Create Enclave
2
Call Thrusted
3
Process Secret
4
Return
5
Normal Execution
Privileged System Code OS, VMM, BIOS, SMM
Call
Gate
Azure Sphere
Secured MCUs
Uma nova categoria de
MCU’s chamado Azure
Sphere, produzidos por
empresas parceiras, com
tecnologia de segurança da
Microsoft, que fornece
conectividade, alto
desempenho e
características de segurança
no hardware.
Secured Operating System
Sistema operacional seguro
Azure Sphere OS que
combina as melhores práticas
da Microsoft e da comunidade
Open Source, criando uma
plataforma confiável para uma
nova experiência em IoT.
Secured by our Cloud
Service
Azure Sphere Security Service
protege cada dispositivo e os
clientes, detecta falhas de segurança
e responde de forma proativa.
Azure Sphere
Azure Sphere utiliza a tecnologia ARM’s TrustZone
que permite a criação de ambientes independentes
de execução dentro de um único chip.
• Secure World – alto nível de privilégios
• Normal World – baixo nível de privilégios
Cada ambiente pode executar seu próprio sistema
operacional e aplicações
Azure Sphere Trusted Computing Base (TCB) é
composto por componentes eletrônicos e software
que roda no Secure World.
Parte do TCB está no Pluton Security System e
parte se estende ao Security Monitor que é
executado no Cortex-A7.
Open Enclave SDK
https://openenclave.io/sdk/
VM Server
Open Enclave SDK
Enclave
Code
Data
Cliente
Azure Attestation
Service
1
2
3
4
1 – Cliente solicita chave ao serviço de
atestação do Azure
2 – Serviço faz as verificações
3 – Serviço retorna a chave para
comunicação
4 – Cliente acessa o Enclave
Containers confidenciais
Possibilita que aplicações existentes, que estejam no formato de container,
possam fazer uso da tecnologia de computação confidencial sem alteração
do código fonte.
Computação confidencial em uma
plataforma de saúde
https://docs.microsoft.com/en-us/azure/architecture/example-scenario/confidential/healthcare-inference?WT.mc_id=AZ-MVP-5003638
Azure SQL Database Always
Encrypted With Secure Enclaves
https://techcommunity.microsoft.com/t5/azure-sql/always-encrypted-with-secure-enclaves-in-azure-sql-database/ba-p/2051544?WT.mc_id=AZ-MVP-5003638
Inside Azure Datacenter Architecture with Mark Russinovich - https://youtu.be/69PrhWQorEM?t=4522
Computação confidencial para VM
https://azure.microsoft.com/en-us/blog/azure-and-amd-enable-lift-and-shift-confidential-computing/
AMD SEV-SNP
https://www.amd.com/system/files/TechDocs/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more.pdf
AMD SEV-SNP
VM
Data
Trusted
1
Call Function
2
Process Secret
3
Return
4
Normal Execution
Privileged System Code OS, VMM, BIOS, SMM
Artigo
https://queue.acm.org/detail.cfm?id=3456125

Azure Weekend 2ed - Azure Confidential Computing

  • 1.
    Proteção de dadossensíveis com a computação confidencial na nuvem Walter Silvestre Coan walter.coan@gmail.com – walter.s@univille.br www.waltercoan.com.br
  • 2.
    Walter Silvestre Coan MicrosoftMVP em Azure 2020/2021 Certificações Azure Solutions Architect Azure IoT Developer – Specialty Azure Developer – Associate Azure Administrator - Associate Azure Fundamentals MCT MCSD – MCSA (C# e Web Apps) AWS Academy Accredited Educator AWS Certified Developer – Associate AWS Certified Cloud Practitioner Sun Certified Programmer em Java 5.0 Mestre em Ciência da Computação na área de Sistemas Distribuídos e Redes de Sensores sem Fio - PUCPR Pós-Graduado em Engenharia de Software - PUCPR Bacharel em Informática - UNIVILLE Professor no Bacharelado em Sistemas de Informação e do Bacharelado em Engenharia de Software da UNIVILLE walter.coan@gmail.com – walter.s@univille.br – www.waltercoan.com.br
  • 3.
    Agenda Motivação Em quem vocêprecisa confiar? Proteção do ciclo de vida dos dados Computação confidencial Enclaves Containers Azure SQL Novidades...
  • 4.
    Motivação Controle sobre o ciclode vida dos dados Prevenir acesso não autorizado Regulações e conformidades Serviços verificáveis Colaboração não confiável
  • 5.
    Em quem vocêprecisa confiar? • Fornecedor de Software • Confio apenas em ambiente on- premise, ou em software livre ou eu mesmo construo meu software • Provedor de Infraestrutura • Confio no meu provedor de nuvem ou gerencio meu próprio datacenter • Fornecedor de Hardware • Confio apenas em ambiente on- premise, ou construo meu próprio hardware Com o uso de técnicas de computação confidencial, a ideia é reduzir a necessidade de confiar em: VM Admin Host Admin Acesso físico ao hardware Hypervisor Host OS Kernel
  • 6.
    Proteção do ciclode vida dos dados • Proteção de dados em repouso • Criptografar dados inativos quando estão armazenados em contas de armazenamento ou banco de dados. • Proteção de dados em trânsito • Criptografar dados que estão transitando entre redes públicas e privadas. • Proteção de dados em uso (novo) • Criptografar dados em uso enquanto estão sendo armazenados na memória RAM.
  • 7.
    Casos de usoda computação confidencial Proteção da privacidade durante análise de dados Proteção de pagamento e Criptomoedas Blockchain Ledgers confidenciais Gerenciamento seguro de chaves Bancos de dados seguros
  • 8.
    Casos de usoda computação confidencial Algoritmo de Machine Learning K1 K2 K3 Dados dos Pacientes K1 Dados dos Pacientes K2 Dados dos Pacientes K3 Sistema Operacional Hospedeiro K1 K2 K3 Enclave https://docs.microsoft.com/pt-br/azure/confidential-computing/use-cases-scenarios?WT.mc_id=AZ-MVP-5003638
  • 9.
    Confidential Computing Consortium O Consórcio deComputação Confidencial é uma comunidade focada em projetos de proteção de dados em uso e aceleração da adoção de computação confidencial por meio de colaboração aberta. https://confidentialcomputing.io/
  • 10.
    Ambientes de execuçãoconfiáveis TEE – Trusted Execution Environment • Deve ser provido pelo hardware • Todos fluxo de dado que sai do TEE deve ser criptografado • Deve ser capaz de verificar e assinar o conteúdo do TEE para produzir evidências verificáveis da segurança • Hardware root of trust • Conjunto de mecanismos implementados no hardware que garantem que todos os mecanismos de segurança, por exemplo armazenamento de chaves privadas. • Cada hardware deve possuir uma identidade única • Hardware específico para realizar operações de criptografia • Bancos de e-fuses para armazenar chaves privadas para atestar sua integridade e a integridade do software que será executado • Isolamento • Garantir que uma vez que o código verificado seja carregado para o TEE, deverá ser reservado o acesso aos cores e cache de memória habilitados a trabalhar no TEE.
  • 11.
    Ambientes de execuçãoconfiáveis TEE – Trusted Execution Environment • Atestação • Mecanismo que da confiança a computação confidencial • Verificação de um conjunto de medições realizadas no hardware e que são assinadas com chaves privadas armazenadas no e-fuses • Verificação da assinatura do hash do código do boot • Verificação da assinatura do hash do contexto inicial da memória ou de registradores importantes da CPU • Após a validação de todas essas informações o serviço de atestação confirma a integridade e cria um novo conjunto de chaves que será utilizado para a comunicação de serviços externos com o TEE.
  • 12.
    Intel SGX Software SecurityGuard Extension • Novo conjunto de instruções que permite criar regiões privadas de memória (enclave). Apenas o código que roda dentro do enclave, é que tem acesso a área de memória. • Dados são visíveis na sua forma original apenas dentro do enclave, e são criptografados toda vez que são armazenados em memória. Azure DCv2-Series Virtual Machines Host CPU Hypervisor Operating System App App Code Data
  • 13.
    Intel SGX Data Untrusted CodeTrusted Code 1 Create Enclave 2 Call Thrusted 3 Process Secret 4 Return 5 Normal Execution Privileged System Code OS, VMM, BIOS, SMM Call Gate
  • 14.
    Azure Sphere Secured MCUs Umanova categoria de MCU’s chamado Azure Sphere, produzidos por empresas parceiras, com tecnologia de segurança da Microsoft, que fornece conectividade, alto desempenho e características de segurança no hardware. Secured Operating System Sistema operacional seguro Azure Sphere OS que combina as melhores práticas da Microsoft e da comunidade Open Source, criando uma plataforma confiável para uma nova experiência em IoT. Secured by our Cloud Service Azure Sphere Security Service protege cada dispositivo e os clientes, detecta falhas de segurança e responde de forma proativa.
  • 15.
    Azure Sphere Azure Sphereutiliza a tecnologia ARM’s TrustZone que permite a criação de ambientes independentes de execução dentro de um único chip. • Secure World – alto nível de privilégios • Normal World – baixo nível de privilégios Cada ambiente pode executar seu próprio sistema operacional e aplicações Azure Sphere Trusted Computing Base (TCB) é composto por componentes eletrônicos e software que roda no Secure World. Parte do TCB está no Pluton Security System e parte se estende ao Security Monitor que é executado no Cortex-A7.
  • 16.
  • 17.
    VM Server Open EnclaveSDK Enclave Code Data Cliente Azure Attestation Service 1 2 3 4 1 – Cliente solicita chave ao serviço de atestação do Azure 2 – Serviço faz as verificações 3 – Serviço retorna a chave para comunicação 4 – Cliente acessa o Enclave
  • 18.
    Containers confidenciais Possibilita queaplicações existentes, que estejam no formato de container, possam fazer uso da tecnologia de computação confidencial sem alteração do código fonte.
  • 19.
    Computação confidencial emuma plataforma de saúde https://docs.microsoft.com/en-us/azure/architecture/example-scenario/confidential/healthcare-inference?WT.mc_id=AZ-MVP-5003638
  • 20.
    Azure SQL DatabaseAlways Encrypted With Secure Enclaves https://techcommunity.microsoft.com/t5/azure-sql/always-encrypted-with-secure-enclaves-in-azure-sql-database/ba-p/2051544?WT.mc_id=AZ-MVP-5003638 Inside Azure Datacenter Architecture with Mark Russinovich - https://youtu.be/69PrhWQorEM?t=4522
  • 21.
    Computação confidencial paraVM https://azure.microsoft.com/en-us/blog/azure-and-amd-enable-lift-and-shift-confidential-computing/
  • 22.
  • 23.
    AMD SEV-SNP VM Data Trusted 1 Call Function 2 ProcessSecret 3 Return 4 Normal Execution Privileged System Code OS, VMM, BIOS, SMM
  • 24.