Certificados Digitais

Certificados fornecem uma maneira de autenticar usuários. Em vez de exigir que cada participante em um aplicativo autentique todos os usuários, a autenticação de terceiros confia no uso de certificados digitais.

Um certificado digital é equivalente a um RG eletrônico. O certificado tem duas finalidades:

Os certificados são emitidos por partes confiáveis, chamadas CAs (Autoridades de Certificação). Essas autoridades podem ser ser organizações comerciais ou entidades locais, dependendo dos requisitos de seus aplicativos. Independente disso, a CA é de confiança para autenticar adequadamente os usuários antes de emitir certificados. Uma CA emite certificados com assinaturas digitais. Quando um usuário apresenta um certificado, o destinatário do certificado faz sua validação utilizando a assinatura digital. Se a assinatura digital validar o certificado, este é reconhecido como intacto e autêntico. Os participantes em um aplicativo precisam apenas validar certificados; eles não precisam autenticar usuários. O fato do usuário poder apresentar um certificado válido prova que o CA autenticou o usuário. O descritor, terceiro confiável, indica que o sistema confia nas CAs.

Conteúdo de um Certificado Digital

Um certificado contém várias partes de informações, incluindo informações sobre o proprietário do certificado, e o CA autenticador. Especificamente, um certificado inclui:
  • O nome distinto (DN) do proprietário. Um DN é um identificador exclusivo, um nome completo incluindo não apenas o CN (nome comum) do proprietário, mas também a organização do proprietário e outras informações características.
  • Chave pública do usuário.
  • A data em que o certificado foi emitido.
  • A data de expiração do certificado.
  • O nome distinto da CA emitente.
  • A assinatura digital do CA emissor. A função de compilação de mensagens cria uma assinatura com base em todos os campos listados anteriormente.

A principal idéia de um certificado é que uma CA utiliza a chave pública do proprietário, assina a chave pública com sua chave privada e retorna as informações ao proprietário como um certificado. Quando o proprietário distribui o certificado para outra parte, ele assina o certificado com sua chave privada. O receptor pode extrair o certificado que contém a assinatura da CA com a chave pública do proprietário. Utilizando a chave pública da CA e a assinatura da CA no certificado extraído, o receptor pode validar a assinatura da CA. Se for válida, a chave pública utilizada para extrair o certificado será considerada confiável. A assinatura do proprietário é validada e, se a validação for bem-sucedida, o proprietário será autenticado com êxito para o receptor.

As informações adicionais em um certificado ajudam um aplicativo a decidir se aceita o certificado. Com a data de expiração, o aplicativo poderá determinar se o certificado ainda é válido. Como o nome da CA emissora, o aplicativo pode verificar se a CA é considerada confiável pelo site.

Um processo que utiliza certificados deve fornecer seu certificado pessoal, aquele que contém sua chave pública, e o certificado da CA que assinou seu certificado, chamado de certificado do signatário. Em casos nos quais cadeias de confiança são estabelecidas, vários certificados de signatários podem estar envolvidos.

Pedido de certificados

Para obter um certificado, envie um pedido de certificado à CA. O pedido de certificado inclui:
  • O nome distinto do proprietário ou o usuário para o qual o certificado foi solicitado.
  • Chave pública do usuário.
  • A assinatura digital do proprietário.

A função de compilação de mensagens cria uma assinatura com base em todos os campos listados anteriormente.

O CA verifica a assinatura com a chave pública no pedido para assegurar que o pedido esteja intacto e que seja autêntico. Em seguida, a CA autentica o proprietário. O conteúdo exato da autenticação depende de um acordo anterior entre o CA e a organização solicitadora. Se o proprietário no pedido for autenticado com êxito, a CA emitirá um certificado para esse proprietário.

Utilizando Certificados: Cadeia de Confiança e Certificado Auto-assinado

Para verificar a assinatura digital de um certificado, você deve ter a chave pública do CA emissor. Como as chaves públicas são distribuídas, você deve ter um certificado para o CA emissor assinado pelo emissor. Um CA pode certificar outros CAs, para que uma cadeia de CAs possa emitir certificados para outros CAs, dos quais você precisa de todas as chaves públicas. Finalmente, você alcança uma CA raiz que emite a si própria um certificado auto-assinado. Para validar um certificado de usuário, você precisa de certificados para todos os participantes intermediários até a CA raiz. Você terá então as chaves públicas de que precisa para validar cada certificado, incluindo o certificado de usuário.

Um certificado auto-assinado contém a chave pública do emissor e é assinado com a chave privada. A assinatura digital é validada como qualquer outra e, se o certificado for válido, a chave pública que ele contém é utilizada para verificar a validade de outros certificados emitidos pela CA. No entanto, qualquer um pode gerar um certificado auto-assinado. De fato, você pode provavelmente gerar certificados auto-assinados para fins de teste antes de instalar certificados de produção. O fato de um certificado auto-assinado conter uma chave pública válida não significa que o emissor é uma autoridade de certificados confiável. Para assegurar que os certificados auto-assinados sejam emitidos por CAs confiáveis, esses certificados devem ser distribuídos por meios seguros, entregues em mãos por meio de disquetes, por download de sites seguros etc).

Os aplicativos que utilizam certificados armazenam estes certificados em um arquivo de armazenamento de certificados. Esse arquivo geralmente contém os certificados pessoais necessários, seus certificados de assinatura e sua chave privada. A chave privada é utilizada pelo aplicativo para criar assinaturas digitais. Os servidores sempre têm certificados pessoais em seus arquivos keystore. Um cliente requer certificado pessoal somente se o cliente precisar se autenticar para o servidor quando a autenticação mútua estiver ativada.

Para permitir que um cliente se autentique para um servidor, um arquivo keystore de servidor contém a chave privada e o certificado do servidor e os certificados de sua CA. Um arquivo truststore de cliente precisa conter os certificados signatários das CAs de cada servidor para o qual o cliente deve se autenticar.

Se for necessária autenticação mútua, o arquivo keystore do cliente precisa conter a chave privada e o certificado do cliente. O arquivo truststore do servidor requer uma cópia do certificado da CA do cliente.

Conceitos relacionados
Criptografia de Chave Pública
Assinaturas Digitais
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009. Todos os Direitos Reservados.
Última atualização : 2009-02-13 15:33:14

ac55140_