# PKCS

Em criptografia, PKCS significa "padrões de criptografia de chave pública". Estes são um grupo de padrões criptográficos concebidos e publicados pela RSA security LLC, no início dos anos 1990. A empresa publicou os padrões para promover o uso das técnicas de criptografia para as quais possuía patentes (como o algoritmo RSA, o algoritmo de assinatura Schnorr e vários outros). Embora não sejam padrões da indústria (porque a empresa manteve o controle sobre eles), alguns dos padrões nos últimos anos começaram a se mover para os processos de "padrão da Internet" de organizações de padrões relevantes como o grupo de trabalho IETF e PKIX.
Resumo dos padrões PKCS :
| | Versão | Nome | Comentários |
| PKCS #1 | 2.2 | Padrão de criptografia RSA | Ver RFC 8017. Define as propriedades matemáticas, o formato das chaves RSA pública e privada (ASN.1 - codificado em texto claro), os algoritmos básicos e esquemas de codificação/preenchimento para realizar criptografia RSA, descriptografia, produção e verificação de assinaturas. |
| PKCS #2 | - | Retirado | Não está mais ativo (desde de 2010). Criptografia RSA coberta de resumos de mensagens. Posteriormente fundido com o PKCS #1. |
| PKCS #3 | 1.4 | Padrão de troca de chaves de Diffie–Hellman | Um protocolo criptográfico que permite que duas partes que não têm conhecimento prévio uma da outra estabeleçam em conjunto uma chave secreta compartilhada em um canal de comunicação inseguro. |
| PKCS #4 | - | Retirado | Não está mais ativo (desde de 2010). Sintaxe de chave RSA coberta. Posteriormente fundido com o PKCS #1. |
| PKCS #5 | 2.1 | Padrão de criptografia baseado em senha | Ver RFC 8018 e PBKDF2. |
| PKCS #6 | 1.5 | Padrão de sintaxe de certificado estendido | Define extensões para a antiga especificação de certificado X.509 v1. Obsoleto pela v3 do mesmo. |
| PKCS #7 | 1.5 | Padrão de sintaxe de mensagem criptográfica | Ver RFC 2315. Usado para assinar e/ou criptografar mensagens em uma PKI. Usado também para disseminação de certificado (por exemplo, como uma resposta a uma mensagem PKCS #10). Formou a base para S/MIME, que é Desde 2010 baseado na RFC 5652, um padrão de sintaxe de mensagem criptográfica (CMS) atualizado. Freqüentemente usado para logon único. |
| PKCS #8 | 1.2 | Padrão de sintaxe de informação de chave privada | Ver RFC 5958. Usado para transportar pares de chaves de certificados privados (criptografados ou não criptografados). |
| PKCS #9 | 2.0 | Tipos de atributos selecionados | Ver RFC 2985. Define os tipos de atributos selecionados para uso em certificados estendidos PKCS #6, mensagens assinadas digitalmente PKCS #7, informações de chave privada PKCS #8 e pedidos de assinatura de certificado PKCS #10. |
| PKCS #10 | 1.7 | Padrão de solicitação de certificação | Ver RFC 2986. Formato das mensagens enviadas a uma autoridade de certificação para solicitar a certificação de uma chave pública. Ver solicitação de assinatura de certificado. |
| PKCS #11 | 3.0 | Interface de token criptográfico | Também conhecido como "Cryptoki". Uma API definindo uma interface genérica para tokens criptográficos (veja também módulo de segurança de hardware). Freqüentemente usado em single sign-on, criptografia de chave pública e criptografia de disco. A RSA Security transferiu o desenvolvimento do padrão PKCS #11 para o Comitê técnico OASIS PKCS 11. |
| PKCS #12 | 1.1 | Padrão de sintaxe de troca de informações pessoais | Ver RFC 7292. Define um formato de arquivo comumente usado para armazenar chaves privadas acompanhadas de certificados de chaves públicas, protegido com uma chave simétrica baseada em senha. PFX é um predecessor do PKCS #12. Este formato de contêiner pode conter vários objetos incorporados, como vários certificados. Normalmente protegido/criptografado com uma senha. Pode ser usado como formato para o armazenamento de chaves Java e para estabelecer certificados de autenticação de cliente no Mozilla Firefox. Utilizável por Apache Tomcat. |
| PKCS #13 | – | Padrão de criptografia de curva elíptica | (Aparentemente abandonado, a única referência é uma proposta de 1998.) |
| PKCS #14 | – | Gerador de números pseudoaleatórios | (Aparentemente abandonado, não existem documentos.) |
| PKCS #15 | 1.1 | Padrão de formato de informação de token criptográfico | Define um padrão que permite aos usuários de tokens criptográficos se identificarem para os aplicativos, independentemente da implementação Cryptoki do aplicativo (PKCS #11) ou outro API. A RSA renunciou às partes relacionadas ao cartão IC deste padrão para o ISO/IEC 7816-15. |