base : https://en.wikipedia.org/wiki/PKCS / https://fr.wikipedia.org/wiki/Public_Key_Cryptographic_Standards
In cryptography, PKCS stands for « Public Key Cryptography Standards ». These are a group of public-key cryptography standards devised and published by RSA Security LLC, starting in the early 1990s. The company published the standards to promote the use of the cryptography techniques to which they had patents, such as the RSA algorithm, the Schnorr signature algorithm and several others. Though not industry standards (because the company retained control over them), some of the standards in recent years have begun to move into the « standards-track » processes of relevant standards organizations such as the IETF and the PKIX working-group.
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.
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.
1- revenir sur la place de la cryprographie dans dans le cadre plus large de la cryptologie.
2- flash back sur l’histoire de l’entreprise RSA (https://fr.wikipedia.org/wiki/RSA_Security) ( y compris le leak de 2011)
3- faire une lecture croisée de ressources francophones et internationales
Version | Nom | Commentaires | |
---|---|---|---|
PKCS#1 | 2.1 | Standard de cryptographie RSA | RFC 34471. Définit le chiffrement et la signature RSA (notamment les schémas de remplissage OAEP, PSS et PKCS1-v1.5). |
PKCS#2 | – | Obsolète | Décrivait le chiffrement RSA de condensés de message, mais a été intégré dans PKCS#1. |
PKCS#3 | 1.4 | Standard d’échange de clés Diffie-Hellman | |
PKCS#4 | – | Obsolète | 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. RFC 28982 (rendu obsolète par la RFC 80183) 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. RFC 23154. 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 RFC 56525. |
PKCS#8 | 1.2 | Standard de syntaxe d’information de clé privée | Cf. RFC 59586. |
PKCS#9 | 2.0 | Types d’attributs sélectionnés | RFC 29857 |
PKCS#10 | 1.7 | Standard de requête de certificat | Cf. RFC 29868. Format des messages envoyés à une autorité de certification et demandant la signature d’une paire de clés. |
PKCS#11 | 2.20 | Interface de périphérique cryptographique (cryptoki) | Une API définissant une interface générique pour périphérique cryptographique. |
PKCS#12 | 1.0 | Standard de syntaxe d’information personnelle | 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. |
PKCS#13 | – | Standard de Cryptographie sur les courbes elliptiques | (En cours de développement) |
PKCS#14 | – | Générateur de nombres pseudo-aléatoires | (En cours de développement) |
PKCS#15 | 1.1 | 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. [1] [archive] |
#PKCS1 se prête très bien à l’illustration d’un des « standards »