Logon do cliente com o Active Diretory

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

active

inactive

inactive

inactive

inactive

inactive

inactive

inactive

This document explains how to use the PIV smart card of a Nitrokey 3 for logon with Active Directory. It is available as of firmware version 1.8 and higher.

No futuro, este aprovisionamento manual pode ser automatizado através de um MiniDriver do Windows.

Pré-requisitos

A aplicação PIV da Nitrokey 3 é atualmente considerada instável e não está disponível nas versões estáveis do firmware. Para obter essa funcionalidade, é necessário instalar um firmware de teste. As actualizações subsequentes do firmware podem levar à perda de dados e de chaves criptográficas. Para mais informações, consulte <x id=»290»></x>a documentação de atualização do firmware <x id=»325»></x><x id=»389»></x>__.

  • Windows server (supported versions are Windows Server 2016, 2019, 2022, 2025 in Standard and Enterprise editions)
    • Função ADDS instalada e configurada.

    • Função ADCS instalada e Enterprise-CA com certificado de raiz configurado.
      • Cada Controlador de Domínio (DC) tem de ter um certificado Domain Controller, Domain Controller Authentication e Kerberos Authentication emitido.

      • Se os clientes saírem da rede da empresa, certifique-se de que as listas de revogação de certificados (CRL) completas e delta publicadas são recuperáveis a partir de redes externas.

  • Cliente Windows (as versões suportadas são Windows 10, 11 nas edições Professional e Enterprise)
    • Se os clientes saírem da rede da empresa, certifique-se de que as listas de revogação de certificados (CRL) completas e delta publicadas são recuperáveis a partir de redes externas.

  • Nitrokey 3 with PIV smart card.

Configurar o logon de smartcard para uso com o Active Diretory (AD)

O início de sessão do smartcard requer um modelo de certificado na autoridade de certificação (AC) do domínio. Este modelo define os valores e as restrições dos certificados do utilizador. É utilizado para assinar o pedido de certificado (CSR) durante o aprovisionamento do Nitrokey.

  1. O início de sessão do cartão inteligente requer um modelo de certificado na autoridade de certificação (AC) do domínio. Este modelo define os valores e as restrições dos certificados do utilizador. É utilizado para assinar o pedido de certificado (CSR) durante o aprovisionamento do Nitrokey.

    1. Na Linha de Comando, PowerShell ou Executar, digite certtmpl.msc e pressione Enter.

    2. No painel de detalhes, selecione o modelo Smartcard Logon.

    3. Na barra de menu, clique em Actions → All Tasks → Duplicate Template.

    4. Defina as definições abaixo no modelo, de acordo com o separador mencionado.

      Compatibility
      • Desativar Mostrar alterações resultantes

      • Defina Autoridade de certificação e Destinatário do certificado para os clientes mais antigos do domínio que devem utilizar o início de sessão com cartão inteligente.

        Importante

        Se pretender utilizar chaves de curva elíptica (EC), os seus clientes não devem ser mais antigos do que o Windows Server 2008 e o Windows Vista.

      Geral
      • Arch Linux

      • Definir um nome de apresentação do modelo <x id=»6»></x><x id=»29»></x> .

      Tratamento de pedidos
      • Definir um objetivo de Assinatura e início de sessão com cartão inteligente.

      Criptografia
      • Definir uma categoria de fornecedor de Key Storage Provider.

      • Definir o nome de um algoritmo e o tamanho mínimo da chave.

        Importante

        Microsoft recommends to use the RSA algorithm with a key length of 2048 Bit. If you choose to use Elliptic Curve (EC) keys you need to make additional changes on your client computers.

      Nome do sujeito
      • Definir Abastecimento no pedido.

    5. Definir <x id=»4»></x>Abastecimento no pedido<x id=»27»></x>.

  2. Por predefinição, o Namespace é herdado do utilizador que adiciona o novo utilizador. Apenas os utilizadores sem um Namespace podem escolher um Namespace diferente para os novos utilizadores. O Namespace é utilizado como um prefixo para o nome do utilizador, por exemplo namespace~user. Assim, o mesmo nome de utilizador pode ser utilizado em vários Namespaces.

    1. From the Command Line, PowerShell, or Run, type certmgr.msc and press Enter.

    2. No painel de navegação, expanda a Autoridade de Certificação (AC) e navegue para Modelos de Certificado.

    3. Na barra de menu, clique em Ação → Novo → Modelo de certificado para emitir.

    4. Selecione o modelo de certificado que pretende emitir e confirme com OK.

Provisione o Nitrokey 3 para logon de cartão inteligente com o Active Diretory

The smartcard logon requires to provision a Nitrokey for a user in Active Directory. The provisioning contains the private key and Certificate Singing Request (CSR) generation. The certificate is then written to the Nitrokey.

Aviso

Antes de seguir os passos abaixo, certifique-se de que a conta de utilizador do Active Diretory que pretende utilizar para o início de sessão com cartão inteligente existe. Uma hora de criação do certificado anterior à hora de criação da conta de utilizador conduzirá a uma falha no início de sessão.

  1. Gerar uma chave privada e escrever o CSR num ficheiro com o comando abaixo.

    nitropy nk3 piv --experimental generate-key --key 9A --algo <algorithm> --subject-name <subject-name> --subject-alt-name-upn <subject-alternative-name> --path <file>
    

    The value of <algorithm> is the used algorithm with its key length, e.g. rsa2048. The value of <subject-name> corresponds to the value of the distinguishedName attribute of the Active Directory user account. In most cases it is only necessary to include the common name part of the distinguished name, e.g. CN=John Doe. The value of <subject-alternative-name> corresponds to the value of the userPrincipalName attribute of the Active Directory user account.

  2. O valor de <x id=»13»></x>`<x id=»15»></x><x id=»26»></x>` é o algoritmo utilizado com o respetivo comprimento de chave, por exemplo, <x id=»77»></x>`<x id=»79»></x><x id=»86»></x>`. Os valores de <x id=»104»></x>`<x id=»106»></x><x id=»120»></x>` e <x id=»127»></x>`<x id=»129»></x><x id=»155»></x>` correspondem normalmente ao atributo <x id=»187»></x>`<x id=»189»></x><x id=»199»></x>` e <x id=»206»></x>`<x id=»208»></x><x id=»225»></x>` da conta de utilizador do Active Diretory.

    certreq -attrib CertificateTemplate:<template-name> -submit <file>
    

    O valor de <template-name> é o nome do modelo de certificado para o início de sessão com cartão inteligente. O valor de <file> é o ficheiro de pedido de canto do certificado.

  3. Write the signed certificate to the Nitrokey with the command below.

    nitropy nk3 piv --experimental write-certificate --key 9A --format PEM --path <file>
    

    The value of <file> is the certificate file.

  4. Mapeie o certificado com a conta de utilizador do Active Diretory. Crie os mapeamentos de certificado com o comando abaixo.

    nitropy nk3 piv --experimental get-windows-auth-mapping
    

    Choose one of the offered certificate mappings.

    Dica

    A Microsoft recomenda a utilização do mapeamento X509IssuerSerialNumber.

    Escreva o mapeamento escolhido no atributo altSecurityIdentities do objeto de utilizador do Active Diretory. Pode utilizar a aplicação Utilizadores e Computadores do Active Diretory ou o PowerShell para esta operação.

    1. From the Command Line, PowerShell, or Run, type dsa.msc and press Enter.

    2. In the menu bar click View → Advanced Features.

    3. Selecionar o respetivo objeto do utilizador.

    4. In the menu bar click Action → Properties.

    5. Abrir o separador Editor de atributos.

    6. Selecionar o atributo altSecurityIdentities.

    7. Click on Edit.

    8. Insert the certificate mapping in the text field and click Add.

    9. Aplicar a alteração com um clique em OK.

    Importante

    Se o mapeamento do certificado não estiver corretamente definido, receberá a mensagem de erro Logon screen message: Your credentials could not be verified. ao tentar iniciar sessão. Além disso, verá a mensagem de evento abaixo no registo de eventos do sistema Windows.

    Source

    Kerberos-Key-Distribution-Center
    

    Message

    The Key Distribution Center (KDC) encountered a user certificate that was valid but could not be mapped to a user in a secure way (such as via explicit mapping, key trust mapping, or a SID). Such certificates should either be replaced or mapped directly to the user via explicit mapping. See https://go.microsoft.com/fwlink/?linkid=2189925 to learn more.
    

Revogar o logon de smartcard para uso com o Active Diretory (AD)

Os certificados de início de sessão do utilizador emitidos são listados nos Serviços de Certificados do Active Diretory (ADCS). A partir do ADCS, os certificados podem ser revogados, o que os adiciona à Lista de revogação de certificados (CRL) configurada. Isto é necessário em caso de perda ou avaria do Nitrokey.

Importante

Aconselha-se vivamente a nunca deixar certificados de utilizador não utilizados sem os revogar.

Nota

É possível revogar temporariamente um certificado com o motivo Certificate Hold. Esta revogação pode ser revertida e, por conseguinte, não é permanente.

  1. Na Linha de Comando, PowerShell ou Executar, digite certsrv.msc e pressione Enter.

  2. No painel de navegação, expanda a autoridade de certificação (CA) e navegue para Issued Certificates.

  3. No painel de detalhes, selecione o certificado de utilizador que pretende revogar.

  4. No painel de detalhes, selecione o certificado de utilizador que pretende revogar.

  5. Especificar o motivo da revogação, a data e a hora, e confirmar com Yes.

  6. No painel de navegação, navegue para Certificados revogados.

  7. Na barra de menus, clique em Action → All Tasks → Publish.

  8. Selecione a lista de revogação que pretende publicar e confirme com OK.

Nota

Durante cada tentativa de início de sessão com cartão inteligente, o Windows verifica se o certificado apresentado pelo cartão inteligente consta de uma Lista de Revogação de Certificados (LCR). Se o certificado for encontrado numa LCR, o início de sessão é recusado. Cada LCR contém uma validade que a faz expirar. O Windows armazena em cache a LCR obtida e actualiza-a se a LCR estiver prestes a expirar. Assim, uma revogação não é imediata e depende da expiração da LCR que o cliente possui.

Importar um certificado de smartcard de utilizador para o armazenamento de certificados pessoais

O certificado de utilizador que está armazenado no Nitrokey pode ser importado para o armazenamento de certificados pessoal do utilizador. Em determinadas situações, este é um procedimento necessário.

  1. Certifique-se de que tem sessão iniciada na conta de utilizador a que o certificado corresponde.

  2. Na Linha de Comando, PowerShell ou Executar, digite certsrv.msc e pressione Enter.

  3. No painel de navegação, expanda o armazenamento de chaves Personal e navegue até Certificates.

  4. Na barra de menus, clique em Ação → Todas as tarefas → Importar.

  5. Na barra de menus, clique em <x id=»22»></x>Ação → Todas as tarefas → Importar<x id=»51»></x>.

  6. Depois de concluída a importação, verifique o painel de pormenores do certificado importado. Se o Nitrokey estiver ligado, as propriedades do certificado devem mostrar a mensagem Tem uma chave privada que corresponde a este certificado. indicando que a chave privada no Nitrokey pode ser identificada.