O show do certificado do usuário “Não é possível encontrar o certificado e a chave privada para descriptografia.” no Windows

0

Ter vários computadores em que os certificados de usuários param de funcionar.

A execução de certutil -silent -user -store my mostra que todos os certificados de usuário do usuário afetado pararam de funcionar.

    my
================ Certificate 0 ================
Serial Number: 2a0000210be8f0775a3a2e2b7200040000210b
Issuer: CN=PROD Issuing CA, DC=somecompany, DC=Com, DC=Au
 NotBefore: 10/01/2017 7:46 AM
 NotAfter: 10/01/2018 7:46 AM
Subject: CN=username, OU=somecompany, OU=Level 1, OU=Laptop Users, OU=Special Group Users, DC=somecompany, DC=Com, DC=Au
Non-root Certificate
Template: 1.3.6.1.4.1.311.21.8.4586432.4805332.10505398.7351119.9274134.0.14270575.7769536
Cert Hash(sha1): cc 3b d0 2c 03 a1 d9 d4 0d 28 31 a7 84 c8 6d cb 6d 97 27 d8
  Key Container = 48fa6c038e897eb98ea252b465308c55_7cc43284-5d87-4ba0-8673-6fb4d4de8f2d
  Provider = Microsoft Enhanced Cryptographic Provider v1.0
Cannot find the certificate and private key for decryption.

================ Certificate 1 ================
Serial Number: 7b4d6131959b5f6cd272
Issuer: CN=Communications Server
 NotBefore: 25/08/2017 10:41 AM
 NotAfter: 25/08/2017 6:41 PM
Subject: [email protected]
Non-root Certificate
Template: 
Cert Hash(sha1): 80 25 75 64 60 77 21 16 35 18 ee 04 4f 87 bc 5f f0 ae b3 2a
  Key Container = [email protected]
  Provider = Microsoft Enhanced Cryptographic Provider v1.0
Cannot find the certificate and private key for decryption.

Verificar a pasta %APPDATA%\Microsoft\Crypto\RSA pode ver os arquivos da chave privada presentes, ou seja, neste caso do primeiro certificado 48fa6c038e897eb98ea252b465308c55_7cc43284-5d87-4ba0-8673-6fb4d4de8f2d .

Quais são as possíveis causas para esse problema? Suspeito que a chave de criptografia da chave privada esteja sendo apagada / modificada; mas pergunto como confirmar se isso está sendo alterado.

Nesse caso, usamos o hash do certificado (sha1) para encontrar o certificado do usuário em %APPDATA%\Microsoft\SystemCertificates\My\Certificates\CC3BD02C03A1D9D40D2831A784C86DCB6D9727D8 , que está presente.

Em seguida, usando o campo do contêiner de chave, encontramos a chave privada em %APPDATA%\Microsoft\Crypto\RSA\S-1-5-21-2091123715-180627453-533688462-45495fa6c038e897eb98ea252b465308c55_7cc43284-5d87-4ba0-8673-6fb4d4de8f2d , que também está presente.

Os arquivos foram modificados:

• Arquivo SystemCertificates CC3BD02C03A1D9D40D2831A784C86DCB6D9727D8 foi modificado pela última vez em 25/08/2017 10:55. Foi quando uma nova chave foi solicitada, ou seja, o usuário relatou um problema antes dessa hora?

• Arquivo de chave privada em %APPDATA%\Microsoft\Crypto\RSA\S-1-5-21-2091123715-180627453-533688462-45495fa6c038e897eb98ea252b465308c55_7cc43284-5d87-4ba0-8673-6fb4d4de8f2d foi modificado pela última vez 10/01/2017 7:56 am (Tempo próximo ao emitido no arquivo de certificado do sistema)

• A chave privada foi criptografada com a chave mestra armazenada em %APPDATA%\Microsoft\Protect\<user SID>\c77f3872-e1e2-4449-9729-cc97e85e4a3c , que foi modificada pela última vez em 25/07/2017 8:19 am

• A pasta Protect contendo a chave mestra usada para descriptografar chaves privadas, tem arquivos modificados pela última vez em 14/08/2017 8:23 am

%APPDATA%\Microsoft\SystemCertificates\My\Certificates tem arquivos de certificado de 0 byte modificados em 12/07/2017 12:00 am - 7:50 am em intervalos diferentes e em 8/06/2017 11:52 pm - 9/06/2017 8:33 am every 8 minutos

Atualmente, estamos usando a auditoria do Windows para procurar modificações na pasta %APPDATA%\Microsoft\SystemCertificates e %APPDATA%\Microsoft\Crypto e %APPDATA%\Microsoft\Protect

No entanto, dado que o certificado e os arquivos de chave privada parecem existir, não tenho certeza se isso identificará a causa.

O log do aplicativo também possui erros para a origem CertificateServicesClient-AutoEnrollment:

Automatic certificate enrollment for domain\username failed (0x8007003a) The specified server cannot perform the requested operation.

Quaisquer etapas recomendadas para identificar a causa raiz de "Não é possível encontrar o certificado e a chave privada para descriptografia". erro?

    
por Malcolm McCaffery 21.11.2017 / 20:36

1 resposta

0

O problema parece ser causado por redefinições de senha remotas. Em um ambiente de teste, o problema foi replicado:

• Controlador de domínio do servidor 2012 R2 com autoridade de certificação configurada com registro automático

• Cliente do Windows 7 x64 associado ao domínio

• Rede isolada que hospeda apenas o DC e o cliente

• Modelo de certificado de usuário com chave privada exportável

  1. Certificado de usuário implantado para o cliente por meio da Política de Grupo de Inscrição Automática
  2. Cliente removido da rede
  3. O usuário confirmado pode exportar a chave privada para o certificado, permitindo exportar usando o certmgr no cliente Windows 7
  4. Cliente reconectado à rede
  5. Redefinir senha do usuário conectado ao cliente a partir do controlador de domínio
  6. Usado "Executar como" para armazenar em cache a senha atualizada no cliente
  7. Cliente desconectado da rede
  8. Desconectado / Conectado desconectado da rede com as credenciais atualizadas em cache
  9. Não é possível exportar a chave privada
  10. Cliente reconectado à rede
  11. Não é possível exportar a chave privada
  12. Fazer logoff / Fazer logon conectado à rede - Agora é possível exportar a chave privada novamente

As chaves privadas são protegidas por criptografia usando chaves mestras armazenadas em% APPDATA% \ Microsoft \ Protect \\ As chaves mestras são criptografadas por uma combinação de itens, incluindo a senha do usuário. Se a chave mestra não puder ser descriptografada, a chave privada não poderá ser usada.

Método de alteração de senha - Ctrl + Alt + Del "Alterar senha" no cliente

O uso do processo de autoridade de segurança local identificado pelo Process Monitor (LSASS.exe) realiza as seguintes ações:

  1. Comunicação com o controlador de domínio pela porta TCP porta 88 (kerberos) e pela porta TCP 464 (kpasswd / kerberos v5)
  2. Atualizar a chave reg em HKLM \ Security \ Cache
  3. Escreva para \ domaincontroller \ PIPE \ protected_storage
  4. Atualizações do Perfil do Usuário HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList \\ RefCount
  5. Atualizar chaves mestras usadas para descriptografar chaves privadas:

% APPDATA% \ Microsoft \ Protect \\

  1. Leia SYNCHIST & Arquivo CREDHIST em% APPDATA% \ Microsoft \ Protect
  2. Atualizar o arquivo% APPDATA% \ Microsoft \ Protect \ SYNCHIST
  3. O processo 1-7 pode ser repetido várias vezes
  4. Atualize C: \ Windows \ debug \ PASSWD.log com a mensagem "Tentando alterar senha server / domain for user

As chaves privadas continuam a funcionar devido aos passos 5 a 7.

Método de alteração de senha - Redefinição remota via Usuários e & Computadores

  1. SYNCHIST & Arquivos de chave mestra não são atualizados automaticamente instantaneamente
  2. Fazer logoff / logon em atualizações de rede arquivos SYNCHIST e chave mestre, os certificados são OK
por 23.11.2017 / 01:18