공개 키 암호 표준(Public-Key Cryptography Standard, PKCS)은 RSA 시큐리티에서 정한, 공개 키 암호에 대한 사용 방식에 대한 표준 프로토콜이다.
약어 | 버전 | 이름 | 설명 |
---|---|---|---|
PKCS #1 | 2.1 | RSA 암호 표준(RSA Cryptography Standard) | RFC 3447에 기술되어 있다. RSA의 공개 키와 비밀 키(ASN.1으로 인코딩됨)에 대한 수학적 성질과 규격에 대해 정의하고 있으며, 또한 RSA 암호화와 복호화, 서명 검증을 구현하는 데에 필요한 알고리즘과 인코딩/패딩 등의 규격을 정의한다. |
PKCS #2 | - | (철회됨) | 현재는 사용하지 않는다. 메시지 다이제스트를 RSA 암호화하는 부분을 다루고 있었으며, 해당 내용은 PKCS #1으로 합쳐졌다. |
PKCS #3 | 1.4 | 디피-헬만 키 교환 표준(Diffie-Hellman Key-Agreement Standard) | 디피-헬만 키 교환 방법을 이용한 통신에 대해 정의한다. |
PKCS #4 | - | (철회됨) | 현재는 사용하지 않는다. RSA 키를 표현하는 규격을 다루고 있었으며, PKCS #1으로 합쳐졌다. |
PKCS #5 | 2.0 | 비밀번호 기반 암호화 표준(Password-based Encryption Standard) | 비밀번호에 기반한 암호 시스템을 구현할 때 고려해야 할 점을 설명한다. RFC 2898에 기술되어 있다. |
PKCS #6 | 1.5 | 인증서 확장 문법 표준(Extended-Certificate Syntax Standard) | X.509 인증서 규격의 v1을 확장했다. 현재는 X.509 v3가 있어 사용되지 않는다. |
PKCS #7 | 1.5 | 암호 메시지 문법 표준(Cryptographic Message Syntax Standard) | RFC 2315에 기술되었다. 암호화한 데이터를 표현하는 방식에 대한 표준이다. |
PKCS #8 | 1.2 | 개인키 정보 문법 표준(Private-Key Information Syntax Standard) | RFC 5208에 기술되었다. 공개키 암호에서 사용되는 비밀키 값에 대한 문법을 정의한다. |
PKCS #9 | 2.0 | Selected Attribute Types | 다른 PKCS에서 사용하는 속성값들에 대하여 정의한다. |
PKCS #10 | 1.7 | 인증서 요청 표준(Certification Request Standard) | RFC 2986에 기술되었다. 인증 기관에 인증서를 요청할 때 사용하는 프로토콜을 정의한다. |
PKCS #11 | 2.20 | 암호 토큰 인터페이스(Cryptographic Token Interface)[1] | Cryptoki라고도 부른다. 암호 토큰(Hardware Security Module 참고)에 대한 범용 인터페이스를 정의하는 API이다. 주로 Single Sign-On, 공개 키 암호 방식, 디스크 암호화[2] 시스템에 사용한다. |
PKCS #12 | 1.0 | 공개 키 인증서 교환 문법 표준(Personal Information exchange syntax standard) | 비밀번호로 보호된, 대칭키와 공개 키 인증서에 동봉된 개인 키들을 저장하는 데 일반적으로 사용되는 파일 형식을 정의한다. .pfx는 pkcs #12 파일형식 확장자이다.
이 파일 형식은 여러 개의 개체(예: 다중 인증서, 다중 키)를 포함할 수 있으며 보통, 비밀번호로 보호되거나 암호화된,. java 키 저장소의 형식으로 사용된다. |
PKCS #13 | – | 타원 곡선 암호 표준(Elliptic Curve Cryptography Standard) | (버려진 것으로 보인다) |
PKCS #14 | – | 유사난수 생성기(Pseudo-random Number Generation) | (버려진 것으로 보인다. 관련 문서가 존재하지 않음) |
PKCS #15 | 1.1 | 암호 토큰 정보 형식 표준(Cryptographic Token Information Format Standard) | 응용프로그램의 암호토큰인터페이스(#11)이나 다른 API와 무관하게, 암호 토큰의 사용자가 응용프로그램에서 자신을 식별할 수 있는 표준을 정의한다.
RSA는 이 표준의 IC카드 관련된 부분을 ISO/IEC 7816-15에 넣기를 포기했다. |