PKCS – zbiór standardów kryptografii klucza publicznego opracowanych i opublikowanych przez firmę RSA Security począwszy od wczesnych lat 90. XX wieku.

Spółka opublikowała standardy, aby promować stosowanie technik kryptograficznych, do których ma (lub miała) patenty, jak na przykład algorytm RSA (patent wygasł z dniem 21 września 2000, a algorytm jest własnością domeny publicznej[1]), schemat identyfikacji Schnorra i inne. Te standardy nie były standardami przemysłowymi, ponieważ firma zachowała nad nimi kontrolę. Jednak w ostatnich latach część z tych standardów została poddana procesom „sankcjonującym” przez organizacje normalizacyjne takie jak IETF czy grupa robocza X.509.

Zestawienie standardów PKCS
Wersja Nazwa Komentarze
PKCS #1 2.1 RSA Cryptography Standard[2] Zobacz RFC 3447 ↓. Definiuje matematyczne własności i strukturę kluczy publicznych i prywatnych RSA.
PKCS #2 wycofany Zawierał szyfrowanie skrótu wiadomości. Został włączony do PKCS #1.
PKCS #3 1.4 Diffie–Hellman Key Agreement Standard[3] Protokół kryptograficzny pozwalający dwóm stronom ustalić wspólny klucz szyfrujący przez niezabezpieczony kanał komunikacyjny.
PKCS #4 wycofany Opisywał składnię klucza RSA. Został włączony do PKCS #1.
PKCS #5 2.1 Password-based Encryption Standard[4] Zobacz RFC 8018 ↓.
PKCS #6 1.5 Extended-Certificate Syntax Standard[5] Definiuje rozszerzenia do specyfikacji certyfikatów X.509 w wersji 1. Zastąpiony przez wersję 3 tej specyfikacji.
PKCS #7 1.5 Cryptographic Message Syntax Standard[6] Zobacz RFC 2315 ↓. Stosowany do podpisywania i/lub szyfrowania wiadomości w PKI. Wykorzystywany również do rozpowszechniania certyfikatów (na przykład jako odpowiedź na wiadomość PKCS #10). Stanowi podstawę dla S/MIME, który jest opisany w RFC 5652 ↓. Często jest stosowany w usłudze pojedynczego logowania.
PKCS #8 1.2 Private-Key Information Syntax Standard[7] Zobacz RFC 5208 ↓. Opisuje składnie klucza prywatnego w formie jawnej i zaszyfrowanej.
PKCS #9 2.0 Selected Attribute Types[8] Zobacz RFC 2985 ↓. Opisuje wybrane typy atrybutów mających zastosowanie w PKCS #6 (rozszerzenia certyfikatów), PKCS #7 (cyfrowo podpisywane wiadomości), PKCS #8 (informacje klucza prywatnego) i PKCS #10 (żądania podpisywania certyfikatów).
PKCS #10 1.7 Certification Request Standard[9] Zobacz RFC 2986 ↓. Struktura wiadomości wysyłanych do urzędu certyfikacji aby zażądać certyfikacji klucza publicznego.
PKCS #11 2.20 Cryptographic Token Interface[10] API definiujące uogólniony interfejs dla tokenów (generatorów kodów). Często jest stosowany w usłudze pojedynczego logowania, kryptografii klucza publicznego i systemach pełnego szyfrowania dysku[11].
PKCS #12 1.0 Personal Information Exchange Syntax Standard[12] Opisuje powszechnie stosowany format pliku do przechowywania kluczy prywatnych z towarzyszącymi certyfikatami klucza publicznego, zabezpieczonych kluczem symetrycznym wyznaczanym na podstawie hasła.
PKCS #13 Elliptic Curve Cryptography Standard[13] (w trakcie opracowywania)[14]
PKCS #14 Pseudo-random Number Generation (w trakcie opracowywania)[14]
PKCS #15 1.1 Cryptographic Token Information Format Standard[15] Opisuje standard pozwalający użytkownikom tokenów (generatorów kodów) potwierdzać swoją tożsamość w aplikacji niezależnie od zastosowanej implementacji (PKCS #11) lub innego API. Od stycznia 2004 część dotycząca kart IC znajduje się w standardzie ISO/IEC 7816-15 i nie jest już rozwijana w PKCS #15[15].

Zobacz też edytuj

Przypisy edytuj

  1. RSA Security Releases RSA Encryption Algorithm into Public Domain. RSA, 2000-09-06. [dostęp 2012-09-21]. [zarchiwizowane z tego adresu (2007-06-21)]. (ang.).
  2. PKCS #1: RSA Cryptography Standard. RSA Laboratories. [dostęp 2013-10-09]. (ang.).
  3. PKCS #3: Diffie-Hellman Key Agreement Standard. RSA Laboratories. [dostęp 2013-10-09]. (ang.).
  4. RFC 8018 ↓.
  5. PKCS #6: Extended-Certificate Syntax Standard. RSA Laboratories. [dostęp 2013-10-09]. (ang.).
  6. PKCS #7: Cryptographic Message Syntax Standard. RSA Laboratories. [dostęp 2013-10-09]. (ang.).
  7. PKCS #8: Private-Key Information Syntax Standard. RSA Laboratories. [dostęp 2013-10-09]. (ang.).
  8. PKCS #9: Selected Attribute Types. RSA Laboratories. [dostęp 2013-10-09]. (ang.).
  9. PKCS #10: Certification Request Syntax Standard. RSA Laboratories. [dostęp 2013-10-09]. (ang.).
  10. PKCS #11: Cryptographic Token Interface Standard. RSA Laboratories. [dostęp 2013-10-09]. (ang.).
  11. Security Token/Smartcard Support. FreeOTFE. [dostęp 2012-09-21]. [zarchiwizowane z tego adresu (2009-04-15)]. (ang.).
  12. PKCS #12: Personal Information Exchange Syntax Standard. RSA Laboratories. [dostęp 2013-10-09]. (ang.).
  13. PKCS #13: Elliptic Curve Cryptography Standard. RSA Laboratories. [dostęp 2013-10-09]. (ang.).
  14. a b What is PKCS?. RSA Laboratories. [dostęp 2013-10-09]. (ang.).
  15. a b PKCS #15: Cryptographic Token Information Format Standard. RSA Laboratories. [dostęp 2013-10-09]. (ang.).

Linki zewnętrzne edytuj