Les PKCS (Public-Key Cryptography Standards), ou standards de cryptographie à clé publique, sont un ensemble de spécifications conçues par les laboratoires RSA en Californie. La société RSA Security est spécialisée dans les solutions de sécurité cryptographiques. Elle est également propriétaire de licences d'exploitations de plusieurs algorithmes (dont RSA avant l'expiration de son brevet le ). C'est pour ces raisons que la société a développé et promu les PKCS, permettant l'implantation des techniques de cryptographie à clé publique.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
La société RSA Security n'est pas un organisme de normalisation, et pourtant, elle contrôle complètement l'élaboration et l'évolution des PKCS. L'appellation des PKCS comme standards au sens strict est donc abusive. Répondant à un réel besoin technique, les PKCS ont néanmoins été très largement adoptés par le milieu informatique. Le groupe de travail PKIX de l'IETF a depuis reformulé certains des PKCS dans des RFC, les standards Internet. L'abus de langage confondant le PKCS au lieu de la RFC correspondante est très répandu.
Décrivait la syntaxe de clé RSA, mais a été intégré dans PKCS#1.
PKCS#5
2.0
Standard de chiffrement par mot de passe
cf. RFC2898[2] (rendu obsolète par la RFC8018[3]) et PBKDF2.
PKCS#6
1.5
Obsolète
Définissait les extensions de l'ancienne spécification de certificat X.509 v1.
PKCS#7
1.5
Standard de syntaxe de message cryptographique
Cf. RFC2315[4]. Utilisé pour signer et/ou chiffrer des messages dans le cadre d'une infrastructure à clés publiques. Sert également à la transmission de certificats (notamment en réponse à un message PKCS#10). À l'origine de S/MIME, qui est désormais décrit sous le nom Cryptographic Message Syntax (CMS) dans la RFC5652[5].
Définit un format de fichier généralement utilisé pour stocker la clé privée et le certificat de clé publique correspondant en les protégeant par un mot de passe.
Standard de format d'information sur les périphériques cryptographiques
Définit un standard permettant aux utilisateurs de périphériques cryptographiques de s'identifier auprès des applications, indépendamment de l'implantation de la cryptoki par l'application (PKCS #11) ou une autre API. La partie de cette spécification concernant les cartes IC a été intégrée dans le standard ISO/IEC 7816-15.