PKCS - Public Key Cryptography Standards

Die Public Key Cryptography Standards, von der Firma RSA Data Security entwickelt, sind eine Serie von Standards die hauptsächlich Datenformate für verschiedene Bereiche der Public-Key-Cryptography definieren.

=

PKCS #1 RSA Cryptography Standard

Dieser Standard beinhaltet die Implementierung des RSA-Algorithmus, Schemata für Verschlüsselung und Signatur mit empfohlenen Hash-Verfahren (SHA-1, sowie MD2, MD5) sowie der ASN.1 Syntax für Schlüssel und Schemata. PKCS #2 und PKCS #4 wurden in PKCS #1 integriert

=

PKCS #3 Diffie Hellman Key Agreement Standard

Beschreibt eine Implementierung des Diffie Hellman Schlüsselaustausches.

=

PKCS #5 Password Based Cryptography Standard

Beinhaltet eine Methode zur Verschlüsselung mit einem, mittels Hash-Verfahren von einem Passwort abgeleiteten, Schlüssel.

=

PKCS #6 Extended Certificate Syntax Standard

Beschreibt ein Format für digitale Zertifikate, eine Verallgemeinerung des x.509 Formats.

=

PKCS #7 Cryptographic Message Syntax Standard

Beschreibt ein Format für Signaturen, bzw. für Daten, die verschlüsselt oder signiert werden, inklusive der verwendeten Zertifikate. Deshalb lässt sich PKCS #7 zum Export und Import von Zertifikaten, ohne privaten Schlüssel, aber inklusive aller Zertifikate im Zertifizierungspfad verwenden. PKCS #7-Dateien haben die Dateierweiterungen .cer, .crt, sowie (v.a. bei S/Mime) .p7m, .p7s, .p7c oder .p7z.

=

PKCS #8 Private Key Information Syntax Standard

Dieser Standard beschreibt eine Syntax für einen Private Key und dazugehörige Attribute, ebenso wie für verschlüsselte Private Keys, wobei PKCS #5 dafür angewendet werden kann.

=

PKCS #9 Selected Attribute Types

Beschreibt Attribute für andere PKCS Standards z.B. 7, 8, 10, 12, 15

=

PKCS #10 Certification Request Syntax Standard

Dieser Standard beschreibt eine Syntax für Zertifizierungsanträge. Dieser besteht aus dem öffentlichen Schlüssel, dem Distinguished Name, sowie Attributen, die mit dem privaten Schlüssel signiert wurden. Eine Zertifizierungstelle prüft diese PKCS #10 Datei und erstellt daraus ein X.509 Zertifikat. Es ist nicht definiert, in welchem Format dieses Zertifikat erstellt wird und wie die Übertragung stattfindet, sowie welche weiteren organisatorischen Randbedingungen erfüllt sein müssen. Die Dateiendung lautet in der Regel: .req

=

PKCS #11 Cryptographic Token Interface Standard

Beschreibt eine Cryptoki (sprich “crypto-key”) genannte API für Hardware - Module, die kryptographische Operationen durchführen, wie Smart Cards oder HSMs. Sie soll Applikationen eine allgemeine logische Sicht auf ein Modul, genannt "Cryptographic Token" geben und die Ziele der Hardwareunabhängigkeit und "resource sharing", mehrere Applikationen greifen auf mehrere Token zu, verfolgen.

=

PKCS #12 Personal Information Exchange Syntax

Dieser Standard beschreibt eine Syntax zum Transfer (und Speichern) von persönlicher Identitätsinformation wie private Schlüssel, Zertifikate sowie andere kryptographische Informationen und Erweiterungen. Er kann als aufbauend auf PKCS #8 verstanden werden, wobei die Information auf jeden Fall mit einem Passwort geschützt ist. Die Dateierweiterungen sind für gewöhnlich .p12 oder .pfx

=

PKCS #13 Elliptic Curve Cryptography Standard

Dieser Standard befindet sich ist weiterhin in Entwicklung. Er wird viele Aspekte der elliptic curve cryptography berücksichtigen wie Parameter- und Schlüsselgenerierung und -validierung, digitale Signaturen, Verschlüsselung, ASN.1 syntax sowie Sicherheitsbetrachtungen.Das Dokument wird ähnlich anderer PKCS Standards wie PKCS #1 sein und die Integration von ECC in andere PKCS Standards wie PKCS #11 oder PKCS #7 umfassen.

=

PKCS #14 Pseudo Random Number Generation Standard

Viele fundamentale kryptographische Funktionen verwenden Zufallsdaten. Wenn der Zufall nicht tatsächlich "zufällig" ist, sondern aus vorhersagbar aus einem Satz an Werten, ist auch ein kryptographisches System nicht mehr voll sicher, da die Möglichkeiten eingeschränkt sind. Die Arbeit an diesem Standard wurde aber eingestellt, da auch einige andere Standardorganisationen bzw. deren Arbeitsgruppen wie ASC X9F1 Working Group, NIST und ISO an neuen Standards arbeiten.

=

PKCS #15 Cryptographic Token Information Format Standard

Mittlerweile in ISO/IEC 7816-15 übernommen, ist PKCS #15 eine Beschreibung von Dateien und Datenformaten von Schlüssel, (public, private, secret), Zertifikaten (x509, andere) Authentisierungsinformationen (PIN, biometrisches Template) und allgemeinen Daten, und soll Benutzern ermöglichen, kryptographische Tokens zu benutzen, um sich gegenüber verschiedenen Anwendungen, die diesem Standard entsprechen, zu identifizieren, unabhängig vom verwendeten "Cryptoki" der Applikation.

=