A maior parte das aplicações que dependem de certificados X.509 necessitam de validar o estado dos certificados utilizados ao efectuarem operações de autenticação, assinatura ou encriptação. Esta verificação da validade e revogação dos certificados é efectuada para todos os certificados de uma cadeia de certificados, até ao certificado de raiz. Se o certificado de raiz, ou algum certificado da cadeia, for inválido, os certificados abaixo do certificado inválido na cadeia serão também inválidos.
A validação inclui o seguinte:
-
A assinatura de cada certificado é válida.
-
A data e hora actuais são abrangidas pelo período de validade do certificado.
-
Nenhum certificado está danificado ou mal formado.
Além disso, o estado de revogação de cada certificado da cadeia de certificados é verificado. A verificação da revogação pode ser efectuada utilizando uma lista de revogação de certificados (CRL) ou uma resposta do Protocolo de Estado de Certificado Online (OCSP).
O que é o OCSP?
O Dispositivo de Resposta Online Microsoft implementa o protocolo OCSP, que permite que o destinatário de um certificado submeta um pedido de estado de certificado a um dispositivo de resposta do OCSP utilizando o protocolo HTTP (Hypertext Transfer Protocol). Este dispositivo de resposta do OCSP devolve uma resposta definitiva, assinada digitalmente, indicando o estado do certificado. O volume de dados recuperado para cada pedido é constante, independentemente do número de certificados revogados na AC.
Para mais informações, consulte RFC 2560, "X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP" (
Dispositivo de Resposta Online
A implementação do OCSP (o Dispositivo de Resposta Online) pela Microsoft encontra-se dividida em componentes de cliente e servidor. O componente de cliente está incorporado na biblioteca CryptoAPI 2.0, enquanto o componente de servidor é apresentado como um novo serviço fornecido pela função de servidor dos Serviços de Certificados do Active Directory (AD CS). O processo seguinte descreve a forma como interagem os componentes de cliente e servidor:
-
Quando uma aplicação tenta verificar um certificado que especifica localizações de dispositivo de resposta do OCSP, o componente de cliente procura primeiro na memória e caches em disco locais para encontrar uma resposta de OCSP que contenha os dados de revogação actuais.
-
Se não for encontrada uma resposta em cache aceitável, será enviado um pedido para um Dispositivo de Resposta Online utilizando o protocolo HTTP.
-
O proxy Web do Dispositivo de Resposta Online descodifica e verifica o pedido. Se o pedido for válido, as informações de revogação necessárias para satisfazer o pedido serão procuradas na cache do proxy Web. Se não estiverem disponíveis informações actuais na cache, o pedido será reencaminhado para o serviço Dispositivo de Resposta Online.
-
O serviço Dispositivo de Resposta Online recebe o pedido e verifica uma CRL local, se disponível, e uma cópia em cache da mais recente CRL emitida pela AC.
-
Se o certificado não aparecer nas listas de revogação local ou em cache, o fornecedor de revogação obterá uma CRL actualizada da AC, se disponível, a partir das localizações listadas na configuração de revogação, para verificar o estado do certificado. Por sua vez, o fornecedor devolverá o estado do certificado para o serviço Dispositivo de Resposta Online.
-
Em seguida, o proxy Web codificará e enviará a resposta de volta ao cliente, para o notificar de que o certificado é válido. Colocará também, durante um período de tempo limitado, uma cópia da resposta na cache, para o caso de existirem pedidos adicionais sobre o estado deste certificado.