Token de Segurança Binário X.509
Um token de segurança binário X.509 é a representação codificada em base64 de um certificado público X.509.
A seguinte tabela descreve o tipo de token X.509.
Tipo de token X.509 | Description |
---|---|
X.509 versão 1 | Contém apenas o certificado público X.509. |
X.509 versão 3 | Contém apenas o certificado público X.509. |
PKIPath | Contém uma lista ordenada de certificados públicos X.509 empacotados em um PKIPath. O tipo de token X509PKIPathv1 pode ser usado para representar um caminho do certificado. |
PKCS7 | Contém uma lista de certificados X.509 e, como opção, as certification revocation lists (CRLs) empacotadas em um wrapper PKCS#7. O token PKCS7 pode ser usado para representar um caminho do certificado. |
Os tokens X.509 são normalmente usados para proteger uma mensagem SOAP com a Assinatura Digital XML ou a Criptografia XML. Apesar de não recomendado, um token X.509 também pode ser usado como um token de autenticação.
Usando Tokens X.509 para Autenticação
Ao autenticar um token, você verifica se o emissor de um token é quem ele diz ser. Você obtém uma informação pública enviada na mensagem, como um ID do usuário, e verifica isso de alguma forma com uma informação privada que somente ela pode fornecer, tal como uma senha.
Como um exemplo muito simples, ao autenticar um UsernameToken, o nome do usuário e a senha são passados na mensagem SOAP e são verificados com relação ao registro de usuário no terminal.
Para um certificado X.509, as informações públicas são a chave/DN pública e as informações privadas são a chave privada. Ao contrário da senha de um UsernameToken, a chave privada não é enviada na mensagem.
- Se a confiança for ativada, o certificado será avaliado com relação ao armazenamento confiável e ao armazenamento de certificados, se configurados. Isso capturará erros de confiança, erros de encadeamento de certificado, erros de revogação, expiração de certificado, etc. Por exemplo, é possível ter DNs específicos no armazenamento confiável para que confie explicitamente em cada certificado ou ter somente o CA raiz para confiar em todos os certificados emitidos a partir deste CA, mas não de outros.
- O tempo de execução verifica se o emissor da mensagem tem a chave privada
associada ao certificado verificando a assinatura. Se a assinatura
não puder ser verificada, então ocorreu uma das seguintes condições:
- A mensagem foi assinada com uma chave privada que não correspondeu à chave pública na mensagem.
- A mensagem foi modificada depois de ser enviada.
Depois de a assinatura ser verificada, você reconhece que o emissor da mensagem é o portador da chave privada; assim, você sabe que ele é quem diz ser.
Se você passar um token X.509 em uma mensagem sem usar sua chave privada para assinar a mensagem, você não executará a etapa 2. Você não verificará se o emissor da mensagem é o portador da chave privada ou se ele é quem diz ser. Ao assinar uma mensagem, você está fazendo algo que somente o portador da chave privada pode fazer.
- Captura de mensagem válida e da substituição de um token X.509 de um invasor na mesma mensagem.
Não é recomendável que um token X.509 não protegido seja enviado em uma mensagem. Se um token X.509 tiver de ser usado para autenticação, recomenda-se que um token X.509 seja enviado na mensagem e que o token X.509 seja usado para Assinatura Digital e autenticação, com uma configuração do responsável pela chamada. A referência de peça de assinatura é usada nas configurações do responsável pela chamada.
A seguinte tabela descreve os tipos de valores do token X.509.
Tipo de token X.509 | Tipo de valor |
---|---|
X.509 Versão 1 | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509 |
X.509 Versão 3 | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 |
PKIPath | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1 |
PKCS7 | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#PKCS7 |