Atestado de chave de TPM

Aplica-se a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 e Windows Server 2012

Autor: Justin Ltd, engenheiro sênior de escalonamento de suporte com o grupo Windows de dados

Observação

Este documento foi criado por um engenheiro de atendimento ao cliente da Microsoft e é destinado a administradores e arquitetos de sistemas experientes que procuram explicações técnicas mais profundas para recursos e soluções no Windows Server 2012 R2 do que aquelas geralmente oferecidas em tópicos do TechNet. No entanto, ele não passou pelas mesmas etapas de edição que eles, por isso a linguagem pode parecer que menos refinada do que a geralmente encontrada no TechNet.

Visão geral

Embora o suporte para chaves protegidas por TPM existe desde o Windows 8, não havia mecanismos para as AAs atestarem criptograficamente que a chave privada do solicitante de certificado é realmente protegida por um TPM (Trusted Platform Module). Essa atualização permite que uma AC execute esse atestado e reflita esse atestado no certificado emitido.

Observação

Este artigo pressupo que o leitor está familiarizado com o conceito de modelo de certificado (para referência, consulte Modelos de certificado). Ele também pressupo que o leitor está familiarizado com como configurar CAs corporativas para emitir certificados com base em modelos de certificado (para referência, consulte Checklist: Configure CAsto Issue and Manage Certificates ).

Terminologia

Termo Definição
Ek Chave de endosso. Essa é uma chave assimétrica contida dentro do TPM (injetada no momento da fabricação). O EK é exclusivo para cada TPM e pode identificá-lo. O EK não pode ser alterado ou removido.
EKpub Refere-se à chave pública do EK.
EKPriv Refere-se à chave privada do EK.
EKCert Certificado EK. Um certificado emitido pelo fabricante do TPM para EKPub. Nem todos os TPMs têm EKCert.
TPM Trusted Platform Module. Um TPM foi projetado para fornecer funções relacionadas à segurança baseadas em hardware. Um chip TPM é um processador de criptografia seguro projetado para desempenhar as operações de criptografia. O chip inclui vários mecanismos de segurança física para torná-lo resistente a adulterações nas funções de segurança do TPM por software mal-intencionado.

Tela de fundo

Começando com Windows 8, um Trusted Platform Module (TPM) pode ser usado para proteger a chave privada de um certificado. A KSP (Microsoft Platform Crypto Provider Key Armazenamento Provider) habilita esse recurso. Havia duas preocupações com a implementação:

  • Não havia nenhuma garantia de que uma chave é realmente protegida por um TPM (alguém pode facilmente forcar um KSP de software como um KSP do TPM com credenciais de administrador local).

  • Não foi possível limitar a lista de TPMs que têm permissão para proteger certificados emitidos pela empresa (caso o Administrador de PKI queira controlar os tipos de dispositivos que podem ser usados para obter certificados no ambiente).

Atestado de chaves do TPM

O atestado de chave do TPM é a capacidade da entidade solicitar um certificado para provar criptograficamente para uma AC que a chave RSA na solicitação de certificado é protegida por "a" ou "o" TPM em que a AC confia. O modelo de confiança do TPM é mais discutido na seção Visão geral da implantação mais adiante neste tópico.

Por que o atestado de chave do TPM é importante?

Um certificado de usuário com uma chave Atestada pelo TPM fornece maior garantia de segurança, com backup por não exportabilidade, antilização e isolamento de chaves fornecidas pelo TPM.

Com o atestado de chave do TPM, um novo paradigma de gerenciamento agora é possível: um administrador pode definir o conjunto de dispositivos que os usuários podem usar para acessar recursos corporativos (por exemplo, VPN ou ponto de acesso sem fio) e tem fortes garantias de que nenhum outro dispositivo pode ser usado para acessá-los. Esse novo paradigma de controle de acesso é forte porque está vinculado a uma identidade de usuário vinculada a hardware, que é mais forte do que uma credencial baseada em software.

Como funciona o atestado de chave TPM?

Em geral, o atestado de chave do TPM baseia-se nos seguintes pilares:

  1. Cada TPM é feito com uma chave assimétrica exclusiva, chamada de EK (Chave de Endosso), que é destituida pelo fabricante. Nos referimos à parte pública dessa chave como EKPub e à chave privada associada como EKPriv. Alguns chips TPM também têm um certificado EK emitido pelo fabricante para o EKPub. Nós nos referimos a esse certificado como EKCert.

  2. Uma AC estabelece confiança no TPM por meio de EKPub ou EKCert.

  3. Um usuário prova à AC que a chave RSA para a qual o certificado está sendo solicitado está criptograficamente relacionada ao EKPub e que o usuário é proprietário do EKpriv.

  4. A AC emite um certificado com um OID de política de emissão especial para indicar que a chave agora foi atestada para ser protegida por um TPM.

Visão geral da implantação

Nesta implantação, supõe-se que uma AC Windows Server 2012 R2 enterprise está configurada. Além disso, os clientes (Windows 8.1) são configurados para se registrar nessa AC corporativa usando modelos de certificado.

Há três etapas para implantar o atestado de chave do TPM:

  1. Planeje o modelo de confiança do TPM: A primeira etapa é decidir qual modelo de confiança do TPM usar. Há três maneiras com suporte para fazer isso:

    • Confiança com base na credencial do usuário: A AC corporativa confia no EKPub fornecido pelo usuário como parte da solicitação de certificado e nenhuma validação é executada além das credenciais de domínio do usuário.

    • Confiança com base em EKCert: A AC corporativa valida a cadeia EKCert fornecida como parte da solicitação de certificado em uma lista gerenciada pelo administrador de cadeias de certificadoSK aceitáveis. As cadeias aceitáveis são definidas por fabricante e são expressas por meio de dois armazenamentos de certificado personalizados na AC em emissão (um armazenamento para o intermediário e outro para certificados de AC raiz). Esse modo de confiança significa que todos os TPMs de um determinado fabricante são confiáveis. Observe que, nesse modo, os TPMs em uso no ambiente devem conter EKCerts.

    • Confiança com base em EKPub: A AC corporativa valida que o EKPub fornecido como parte da solicitação de certificado aparece em uma lista gerenciada pelo administrador de EKPubs permitidos. Essa lista é expressa como um diretório de arquivos em que o nome de cada arquivo neste diretório é o hash SHA-2 do EKPub permitido. Essa opção oferece o nível de garantia mais alto, mas requer mais esforço administrativo, pois cada dispositivo é identificado individualmente. Nesse modelo de confiança, somente os dispositivos que tiveram o EKPub do TPM adicionado à lista permitida de EKPubs têm permissão para se registrar para um certificado atestado pelo TPM.

    Dependendo de qual método é usado, a AC aplicará uma OID de política de emissão diferente ao certificado emitido. Para obter mais detalhes sobre OIDs de política de emissão, consulte a tabela OIDs da Política de Emissão na seção Configurar um modelo de certificado neste tópico.

    Observe que é possível escolher uma combinação de modelos de confiança do TPM. Nesse caso, a AC aceitará qualquer um dos métodos de atestado e as OIDs da política de emissão refletirão todos os métodos de atestado bem-sucedidos.

  2. Configure o modelo de certificado: A configuração do modelo de certificado é descrita na seção Detalhes da implantação neste tópico. Este artigo não abrange como esse modelo de certificado é atribuído à AC corporativa ou como o acesso de registro é dado a um grupo de usuários. Para obter mais informações, consulte Checklist: Configure CAs to Issue and Manage Certificates.

  3. Configurar a AC para o modelo de confiança do TPM

    1. Confiança com base na credencial do usuário: Nenhuma configuração específica é necessária.

    2. Confiança com base em EKCert: O administrador deve obter os certificados de cadeia EKCert de fabricantes TPM e importá-los para dois novos armazenamentos de certificados, criados pelo administrador, na AC que executa o atestado de chave TPM. Para obter mais informações, consulte a seção configuração da AC neste tópico.

    3. Confiança com base em EKPub: O administrador deve obter o EKPub para cada dispositivo que precisará de certificados atestados por TPM e adicioná-los à lista de EKPubs permitidos. Para obter mais informações, consulte a seção configuração da AC neste tópico.

    Observação

    • Esse recurso requer Windows 8.1/Windows Server 2012 R2.
    • Não há suporte para o atestado de chave TPM para KSPs de cartão inteligente de terceiros. O KSP do Provedor de Criptografia da Microsoft Platform deve ser usado.
    • O atestado de chave TPM funciona apenas para chaves RSA.
    • O atestado de chave TPM não tem suporte para uma AC autônoma.
    • O atestado de chave do TPM não dá suporte ao processamento de certificado não persistente.

Detalhes da implantação

Configurar um modelo de certificado

Para configurar o modelo de certificado para o atestado de chave do TPM, faça as seguintes etapas de configuração:

  1. Guia Compatibilidade

    Na seção Compatibilidade Configurações:

    • Verifique Windows Server 2012 R2 está selecionado para a Autoridade de Certificação.

    • Verifique se Windows 8.1/Windows Server 2012 R2 está selecionado para o Destinatário do certificado.

    Captura de tela que realça a lista destinatário do certificado.

  2. Guia Criptografia

    Verifique se o provedor Armazenamento chave está selecionado para a Categoria do Provedor e se RSA está selecionado para o Nome do algoritmo. Verifique se Solicitações devem usar um dos provedores a seguir está selecionado e se a opção Provedor de Criptografia da Plataforma microsoft está selecionada em Provedores.

    Captura de tela que realça as listas categoria do provedor e nome do algoritmo.

  3. Guia Atestado de Chave

    Esta é uma nova guia para Windows Server 2012 R2:

    Captura de tela que mostra a guia Atestado de Chave.

    Escolha um modo de atestado entre as três opções possíveis.

    Captura de tela que mostra os modos de atestado.

    • Nenhum: Implica que o atestado de chave não deve ser usado

    • Obrigatório, se o cliente for capaz de: Permite que os usuários em um dispositivo que não dá suporte ao atestado de chave do TPM continuem se registrando nesse certificado. Os usuários que podem executar o atestado serão diferenciados com uma OID de política de emissão especial. Alguns dispositivos podem não conseguir executar o atestado devido a um TPM antigo que não dá suporte ao atestado de chave ou o dispositivo não tem um TPM.

    • Obrigatório: O cliente deve executar o atestado de chave TPM, caso contrário, a solicitação de certificado falhará.

    Em seguida, escolha o modelo de confiança do TPM. Há novamente três opções:

    Captura de tela que mostra os modelos de confiança do TPM.

    • Credenciais do usuário: Permitir que um usuário autenticador autententidade de um TPM válido especificando suas credenciais de domínio.

    • Certificado de endosso: O EKCert do dispositivo deve ser validado por meio de certificados de AC intermediários TPM gerenciados pelo administrador para um certificado de AC raiz gerenciado pelo administrador. Se você escolher essa opção, deverá configurar os armazenamentos de certificados EKCA e EKRoot na AC em emissão, conforme descrito na seção configuração da AC neste tópico.

    • Chave de endosso: O EKPub do dispositivo deve aparecer na lista gerenciada pelo administrador da PKI. Essa opção oferece o nível de garantia mais alto, mas requer mais esforço administrativo. Se você escolher essa opção, deverá configurar uma lista EKPub na AC em emissão, conforme descrito na seção configuração da AC neste tópico.

    Por fim, decida qual política de emissão mostrar no certificado emitido. Por padrão, cada tipo de imposição tem um OID (identificador de objeto) associado que será inserido no certificado se ele passar esse tipo de imposição, conforme descrito na tabela a seguir. Observe que é possível escolher uma combinação de métodos de imposição. Nesse caso, a AC aceitará qualquer um dos métodos de atestado e a OID da política de emissão refletirá todos os métodos de atestado que foram bem-sucedidos.

    OIDs de política de emissão

    OID Tipo de atestado de chave Descrição Nível de garantia
    1.3.6.1.4.1.311.21.30 Ek "EK Verificado": para lista gerenciada pelo administrador de EK Alto
    1.3.6.1.4.1.311.21.31 Certificado de endosso "Certificado EK Verificado": quando a cadeia de certificados EK é validada Médio
    1.3.6.1.4.1.311.21.32 Credenciais de usuário "EK Confiável no Uso": para EK atestado pelo usuário Baixo

    Os OIDs serão inseridos no certificado emitido se Incluir Políticas de Emissão estiver selecionado (a configuração padrão).

    Atestado de chave de TPM

    Dica

    Um possível uso de ter o OID presente no certificado é limitar o acesso à REDE VPN ou sem fio a determinados dispositivos. Por exemplo, sua política de acesso poderá permitir a conexão (ou o acesso a uma VLAN diferente) se o OID 1.3.6.1.4.1.311.21.30 estiver presente no certificado. Isso permite limitar o acesso a dispositivos cujo TPM EK está presente na lista EKPUB.

Configuração da AC

  1. Configurar armazenamentos de certificadoS EKCA e EKROOT em uma AC em emissão

    Se você escolheu Certificado de Endosso para as configurações de modelo, faça as seguintes etapas de configuração:

    1. Use Windows PowerShell para criar dois novos armazenamentos de certificados no servidor de AC (autoridade de certificação) que executará o atestado de chave TPM.

    2. Obtenha os certificados de AC intermediários e raiz dos fabricantes que você deseja permitir em seu ambiente empresarial. Esses certificados devem ser importados para os armazenamentos de certificados criados anteriormente (EKCA e EKROOT), conforme apropriado.

    O script Windows PowerShell seguir executa ambas as etapas. No exemplo a seguir, o fabricante do TPM Fabrikam forneceu um certificado raiz FabrikamRoot.cer e um certificado de AC em emissão Fabrikamca.cer.

    PS C:>\cd cert:
    PS Cert:\>cd .\\LocalMachine
    PS Cert:\LocalMachine> new-item EKROOT
    PS Cert:\ LocalMachine> new-item EKCA
    PS Cert:\EKCA\copy FabrikamCa.cer .\EKCA
    PS Cert:\EKROOT\copy FabrikamRoot.cer .\EKROOT
    
  2. Configurar a Lista EKPUB se estiver usando o tipo de atestado EK

    Se você escolher Chave de Endosso nas configurações do modelo, as próximas etapas de configuração serão criar e configurar uma pasta na AC em emissão, contendo arquivos de 0 byte, cada um nomeado para o hash SHA-2 de um EK permitido. Essa pasta serve como uma "lista de permissão" de dispositivos que têm permissão para obter certificados atestados de chave do TPM. Como você deve adicionar manualmente o EKPUB para cada dispositivo que requer um certificado atestado, ele fornece à empresa uma garantia dos dispositivos autorizados a obter certificados atestados de chave TPM. A configuração de uma AC para esse modo requer duas etapas:

    1. Crie a entrada do Registro EndorsementKeyListDirectories: Use a ferramenta de linha de comando Certutil para configurar os locais de pasta em que os EKpubs confiáveis são definidos, conforme descrito na tabela a seguir.

      Operação Sintaxe de comando
      Adicionar locais de pasta certutil.exe -setreg CA\EndorsementKeyListDirectories +" "
      Remover locais de pasta certutil.exe -setreg CA\EndorsementKeyListDirectories -" "

      O Comando EndorsementKeyListDirectories no certutil é uma configuração do Registro, conforme descrito na tabela a seguir.

      Nome do valor Tipo Dados
      EndorsementKeyListDirectories REG_MULTI_SZ <caminho LOCAL ou UNC para lista(s) de >

      Exemplo:

      \\blueCA.contoso.com\ekpub

      \\bluecluster1.contoso.com\ekpub

      D:\ekpub

      HKLM\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\

      EndorsementKeyListDirectories conterá uma lista de caminhos UNC ou do sistema de arquivos local, cada um apontando para uma pasta à que a AC tem acesso de Leitura. Cada pasta pode conter zero ou mais entradas de lista de permitir, em que cada entrada é um arquivo com um nome que é o hash SHA-2 de um EKpub confiável, sem nenhuma extensão de arquivo. Criar ou editar essa configuração de chave do Registro requer uma reinicialização da AC, assim como as definições de configuração do Registro de AC existentes. No entanto, as edições para a definição de configuração terão efeito imediatamente e não exigirão que a AC seja reiniciada.

      Importante

      Proteja as pastas na lista contra adulteração e acesso não autorizado configurando permissões para que somente administradores autorizados tenham acesso de Leitura e Gravação. A conta de computador da AC requer acesso somente leitura.

    2. Preencha a lista EKPUB: Use o seguinte cmdlet Windows PowerShell para obter o hash de chave pública do TPM EK usando Windows PowerShell em cada dispositivo e, em seguida, envie esse hash de chave pública para a AC e armazene-o na pasta EKPubList.

      PS C:>\$a=Get-TpmEndorsementKeyInfo -hashalgorithm sha256
      PS C:>$b=new-item $a.PublicKeyHash -ItemType file
      

Solução de problemas

Os campos de atestado de chave não estão disponíveis em um modelo de certificado

Os campos atestado de chave não estarão disponíveis se as configurações de modelo não atenderem aos requisitos de atestado. Os motivos comuns são:

  1. As configurações de compatibilidade não estão configuradas corretamente. Certifique-se de que eles estão configurados da seguinte forma:

    1. Autoridade de Certificação: Windows Server 2012 R2

    2. Destinatário do certificado: Windows 8.1/Windows Server 2012 R2

  2. As configurações de criptografia não estão configuradas corretamente. Certifique-se de que eles estão configurados da seguinte forma:

    1. Categoria do provedor: provedor Armazenamento chave

    2. Nome do algoritmo: RSA

    3. Provedores: Provedor de Criptografia da Plataforma Microsoft

  3. As configurações de tratamento de solicitação não estão configuradas corretamente. Certifique-se de que eles estão configurados da seguinte forma:

    1. A opção Permitir que a chave privada seja exportada não deve ser selecionada.

    2. A opção de chave privada de criptografia da entidade de arquivo morto não deve ser selecionada.

Verificação do dispositivo TPM para atestado

Use o cmdlet Windows PowerShell, Confirm-CAEndorsementKeyInfo, para verificar se um dispositivo TPM específico é confiável para atestado por AC. Há duas opções: uma para verificar o EKCert e a outra para verificar um EKPub. O cmdlet é executado localmente em uma AC ou em CAs remotas usando a Windows PowerShell remota.

  1. Para verificar a confiança em um EKPub, faça as duas etapas a seguir:

    1. Extraia o EKPub do computador cliente: O EKPub pode ser extraído de um computador cliente por meio de Get-TpmEndorsementKeyInfo. Em um prompt de comando com elevado, execute o seguinte:

      PS C:>\$a=Get-TpmEndorsementKeyInfo -hashalgorithm sha256
      
    2. Verifique a confiança em um EKCert em um computador de AC: Copie a cadeia de caracteres extraída (o hash SHA-2 do EKPub) para o servidor (por exemplo, por email) e passe-a para o cmdlet Confirm-CAEndorsementKeyInfo. Observe que esse parâmetro deve ter 64 caracteres.

      Confirm-CAEndorsementKeyInfo [-PublicKeyHash] <string>
      
  2. Para verificar a confiança em um EKCert, faça as duas etapas a seguir:

    1. Extraia o EKCert do computador cliente: O EKCert pode ser extraído de um computador cliente por meio de Get-TpmEndorsementKeyInfo. Em um prompt de comando com elevado, execute o seguinte:

      PS C:>\$a=Get-TpmEndorsementKeyInfo
      PS C:>\$a.manufacturerCertificates|Export-Certificate -filepath c:\myEkcert.cer
      
    2. Verifique a confiança em um EKCert em um computador de AC: Copie o EKCert extraído (EkCert.cer) para a AC (por exemplo, por email ou xcopy). Por exemplo, se você copiar o arquivo de certificado da pasta "c:\diagnose" no servidor de AC, execute o seguinte para concluir a verificação:

      PS C:>new-object System.Security.Cryptography.X509Certificates.X509Certificate2 "c:\diagnose\myEKcert.cer" | Confirm-CAEndorsementKeyInfo
      

Consulte Também

Visão geral Trusted Platform Module tecnologia do Trusted Platform Module Recurso Externo: Trusted Platform Module