Conteúdo do atestado do NitroTPM
Um atestado é gerado pelo NitroTPM e assinado pelo Hipervisor Nitro. Ele inclui uma série de valores de registros de configuração de plataforma (PCR) relativos a uma instância do Amazon EC2. Os seguintes PCRs são incluídos no atestado:
Importante
PCR0 e PCR1 geralmente são usados para medir o código de inicialização inicial, que é controlado pela AWS Para permitir atualizações seguras do código de inicialização inicial, esses PCRs sempre conterão valores constantes.
-
PCR0: código executável do firmware do sistema principal -
PCR1: dados do firmware do sistema principal -
PCR2: código executável estendido ou conectável -
PCR3: dados de firmware estendidos ou conectáveis -
PCR4: código do gerenciador de inicialização -
PCR5: configuração de código e dados do gerenciador de inicialização e tabela de partição do GPT -
PCR6: especificações do fabricante da plataforma host -
PCR7: política de Secure Boot -
PCR8 - 15: definido para uso pelo sistema operacional estático -
PCR16: depuração -
PCR23: compatibilidade com aplicação
O PCR4 e o PCR7 são usados especificamente para validar se uma instância foi iniciada usando uma AMI atestável. O PCR4 pode ser usado para validar com uma inicialização padrão e o PCR7 pode ser usado para validar com Secure Boot.
-
PCR4 (código do gerenciador de inicialização): quando uma instância é iniciada, o NitroTPM cria hashes criptográficos de todos os binários executados pelo ambiente UEFI. Com as AMIs atestáveis, esses binários de inicialização incorporam hashes que evitam o carregamento futuro de binários que não tenham os hashes correspondentes. Dessa forma, o hash binário de inicialização única pode descrever exatamente qual código uma instância executará.
-
PCR7 (política de inicialização segura): os binários de inicialização UEFI podem ser assinados com uma chave de assinatura de inicialização segura UEFI. Quando a Secure Boot UEFI está habilitada, a UEFI impede a execução de binários de inicialização UEFI que não atendam à política configurada. O PCR7 contém um hash da política de Secure Boot UEFI da instância.
Se precisar manter uma política única do KMS que persista nas atualizações da instância, você poderá criar uma política que seja validada em relação ao PCR7 para validar um certificado de Secure Boot UEFI. Durante a criação de uma AMI atestável, você pode assinar o binário de inicialização com seu certificado e instalá-lo como o único certificado permitido nos dados UEFI da AMI. Lembre-se de que esse modelo exige que você ainda gere um novo certificado, instale-o em sua política e atualize as AMIs se quiser evitar que instâncias iniciadas de AMIs antigas (não confiáveis) passem pela política do KMS.