O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve o Simple Certificate Enrollment Protocol (SCEP), um protocolo usado para a inscrição e outras operações de Public Key Infrastructure (PKI).
O SCEP foi originalmente desenvolvido pela Cisco e está documentado em um rascunho da Internet Engineering Task Force (IETF).
As suas principais características são:
A inscrição e o uso do SCEP geralmente seguem este fluxo de trabalho:
O SCEP usa o certificado CA para proteger a troca de mensagens para o CSR. Consequentemente, é necessário obter uma cópia do certificado CA. A operação GetCACert é usada.
A solicitação é enviada como uma solicitação HTTP GET. Uma captura de pacote para a solicitação é semelhante a esta:
GET /cgi-bin/pkiclient.exe?operation=GetCACert
A resposta é simplesmente o certificado CA codificado em binário (X.509). O cliente precisa validar se o certificado CA é confiável por meio de um exame da impressão digital/hash. Isso deve ser feito por meio de um método fora de banda (uma chamada telefônica para um administrador do sistema ou uma pré-configuração da impressão digital dentro do ponto de confiança).
A solicitação de inscrição é enviada como uma solicitação HTTP GET. Uma captura de pacote para a solicitação é semelhante a esta:
/cgi-bin/pkiclient.exe?operation=PKIOperation&message=
MIIHCgYJKoZIhvcNAQcCoIIG%2BzCCBvcCAQExDjA......<snip>
A resposta à solicitação de inscrição do SCEP é um dos três tipos:
Antes da expiração do certificado, o cliente precisa obter um novo certificado. Há uma pequena diferença comportamental entre renovação e rollover. A renovação ocorre quando o certificado de ID do cliente se aproxima da expiração e sua data de expiração não é a mesma (anterior) da data de expiração do certificado CA. A sobreposição ocorre quando o certificado de ID se aproxima da expiração e sua data de expiração é a mesma que a data de expiração do certificado da AC.
À medida que a data de expiração de um certificado de ID se aproxima, um cliente SCEP pode querer obter um novo certificado. O cliente gera um CSR e passa pelo processo de inscrição (como definido anteriormente). O certificado atual é usado para assinar o SignedData PKCS#7, que, por sua vez, prova a identidade para a CA. Ao receber o novo certificado, o cliente exclui imediatamente o certificado atual e o substitui pelo novo, cuja validade começa imediatamente.
Rollover é um caso especial em que o certificado CA expira e um novo certificado CA é gerado. A AC gera um novo certificado CA que se torna válido quando o certificado CA atual expira. Geralmente, a CA gera esse certificado "CA invisível" algum tempo antes do tempo de transferência, pois ele é necessário para gerar certificados "ID sombra" para os clientes.
Quando o certificado de ID do cliente SCEP se aproxima da expiração, o cliente SCEP consulta a CA para o certificado "CA sombra". Isso é feito com a operação GetNextCACert, como mostrado aqui:
GET /cgi-bin/pkiclient.exe?operation=GetNextCACert
Quando o cliente SCEP tiver o certificado "CA sombra", ele solicitará um certificado "ID da sombra" após o procedimento normal de inscrição. A AC assina o certificado "Shadow ID" com o certificado "Shadow CA". Ao contrário de uma solicitação de renovação normal, o certificado "Shadow ID" retornado se válido no momento da expiração do certificado CA (rollover). Como resultado, o cliente precisa manter uma cópia dos certificados anteriores e posteriores à substituição para a CA e o certificado de ID. No momento da expiração da CA (rollover), o cliente SCEP exclui o certificado CA e o certificado de ID atuais e os substitui pelas cópias "Sombra".
Essa estrutura é usada como os blocos de construção do SCEP.
Note: PKCS#7 e PKCS#10 não são específicas do SCEP.
PKCS#7 é um formato de dados definido que permite que os dados sejam assinados ou criptografados. O formato de dados inclui os dados originais e os metadados associados necessários para executar a operação criptográfica.
O envelope assinado é um formato que transporta dados e confirma que os dados encapsulados não são alterados em trânsito através de assinaturas digitais. Inclui estas informações:
SignedData ::= SEQUENCE {
version CMSVersion,
digestAlgorithms DigestAlgorithmIdentifiers,
encapContentInfo EncapsulatedContentInfo,
certificates [0] IMPLICIT CertificateSet OPTIONAL,
crls [1] IMPLICIT RevocationInfoChoices OPTIONAL,
signerInfos SignerInfos }
Os dados encapsulados não estão criptografados ou ofuscados. Esse formato simplesmente fornece proteção contra a mensagem que é alterada.
O formato Dados Envelopados transporta dados criptografados e só podem ser descriptografados pelos destinatários especificados. Inclui estas informações:
EnvelopedData ::= SEQUENCE {
version CMSVersion,
originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
recipientInfos RecipientInfos,
encryptedContentInfo EncryptedContentInfo,
unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL }
PKCS#10 descreve o formato de um CSR. Um CSR contém as informações que os clientes solicitam para serem incluídos em seus certificados:
Aqui está um exemplo de CSR:
Certificate Request:
Data:
Version: 0 (0x0)
Subject: CN=scepclient
Subject Public Key Info:
Public Key Algorithm: rsaEncryption Public-Key: (1024 bit)
Modulus:
00:cd:46:5b:e2:13:f9:bf:14:11:25:6d:ff:2f:43:
64:75:89:77:f6:8a:98:46:97:13:ca:50:83:bb:10:
cf:73:a4:bc:c1:b0:4b:5c:8b:58:25:38:d1:19:00:
a2:35:73:ef:9e:30:72:27:02:b1:64:41:f8:f6:94:
7b:90:c4:04:28:a1:02:c2:20:a2:14:da:b6:42:6f:
e6:cb:bb:33:c4:a3:64:de:4b:3a:7d:4c:a0:d4:e1:
b8:d8:71:cc:c7:59:89:88:43:24:f1:a4:56:66:3f:
10:25:41:69:af:e0:e2:b8:c8:a4:22:89:55:e1:cb:
00:95:31:3f:af:51:3f:53:ad
Exponent: 65537 (0x10001)
Attributes:
challengePassword :
Requested Extensions:
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Subject Alternative Name:
DNS:webserver.example.com
Signature Algorithm: sha1WithRSAEncryption
8c:d6:4c:52:4e:c0:d0:28:ca:cf:dc:c1:67:93:aa:4a:93:d0:
d1:92:d9:66:d0:99:f5:ad:b4:79:a5:da:2d:6a:f0:39:63:8f:
e4:02:b9:bb:39:9d:a0:7a:6e:77:bf:d2:49:22:08:e2:dc:67:
ea:59:45:8f:77:45:60:62:67:64:1d:fe:c7:d6:a0:c3:06:85:
e8:f8:11:54:c5:94:9e:fd:42:69:be:e6:73:40:dc:11:a5:9a:
f5:18:a0:47:33:65:22:d3:45:9f:f0:fd:1d:f4:6f:38:75:c7:
a6:8b:3a:33:07:09:12:f3:f1:af:ba:b7:cf:a6:af:67:cf:47: 60:fc
As solicitações são enviadas com um HTTP GET do formulário:
GET CGI-path/pkiclient.exe?operation=operation&message=message HTTP/version
Where:
Com o método GET, a parte da mensagem é de texto simples ou PKCS#7 codificado com Distinguished Encoding Rules (DER) convertido para Base64. Se o método POST for suportado, o conteúdo que seria enviado na codificação Base64 com GET pode ser enviado no formato binário com POST.
Valores possíveis para operações e seus valores de mensagem associados:
PKIOperation
:
As respostas SCEP são retornadas como conteúdo HTTP padrão, com um Content-Type que depende da solicitação original e do tipo de dados retornados. O conteúdo DER é retornado como binário (não na base64 como a solicitação). O conteúdo do PKCS#7 pode ou não conter dados criptografados/com envelope assinado; se não o fizer (contém apenas um conjunto de certificados), será referido como degenerate PKCS#7.
Valores possíveis para Content-Type:
application/x-pki-message:
application/x-x509-ca-cert:
application/x-x509-ca-ra-cert:
application/x-x509-next-ca-cert:
2.16.840.1.113733.1.9.2 scep-messageType
2.16.840.1.113733.1.9.3 scep-pkiStatus
2.16.840.1.113733.1.9.4 scep-failInfo
2.16.840.1.113733.1.9.5 scep-senderNonce
2.16.840.1.113733.1.9.6 scep-recipientNonce
2.16.840.1.113733.1.9.7 scep-transId
2.16.840.1.113733.1.9.8 scep-extensionReq