loading

프로그래밍

PKCS(공개키 암호 표준)이란?

침착곰 2021. 9. 7. 22:00
반응형

안녕하세요!

이번 포스팅에서는 PKCS(공개키 암호 표준)에 대해서 알아보겠습니다.

 


 

먼저 이런 개념에 대해서 알아볼 때 검색하는 위키백과에 나온 PKCS입니다. PKCS는 Public-Key Cryptography Standard로 RSA 시큐리티에서 정한, 공개 키 암호에 대한 사용 방식에 대한 표준 프로토콜입니다. 공개 키 기반구조, PKI(Public Key Infrastructure)를 기반으로 한 1990년대 초에 RSA Security LLC에서 고안 및 게시판 공개 키 암호화 표준 그룹입니다.

 


현재 15개의 PKCS 기술이 있습니다. 이 중에서 사용하는 표준이 있고, 사용하지 않는 표준이 있습니다.

 

PKCS #1 RSA 암호 표준(RSA Cryptography Standard) Version 2.1

 RFC 3447에 기술되어 있습니다. RSA의 공개 키와 비밀 키(ASN.1 으로 인코딩됨)에 대한 수학적 성질과 규격에 대해 정의하고 있으며, 또한 RSA 암호화와 복호화, 서명 검증을 구현하는 데에 필요한 알고리즘과 인코딩/패딩 등의 규격을 정의합니다.

 

PKCS #2 

현재는 사용하지 않습니다. 메시지 다이제스트를 RSA 암호화하는 부분을 다루고 있었으며, 해당 내용은 PKCS #1으로 합쳐졌습니다.

 

PKCS #3 디피-헬만 키 교환 표준(Diffie-Hellman Key-Agreement Standard) Version 1.4

디피-헬만 키 교환 방법을 이용한 통신에 대해 정의합니다.

 

PKCS #4 

현재는 사용하지 않습니다. RSA 키를 표현하는 규격을 다루고 있었으며, PKCS #1으로 합쳐졌습니다.

 

PKCS #5 비밀번호 기반 암호화 표준(Password-based Encryption Standard) Version 2.0

비밀번호에 기반한 암호 시스템을 구현할 때 고려해야 할 점을 설명한다. RFC 2898에 기술되어 있습니다.

 

PKCS #6 인증서 확장 문법 표준(Extended-Certificate Syntax Standard) Version 1.5

X.509 인증서 규격의 v1을 확장했다. 현재는 X.509 v3가 있어 사용되지 않습니다.

 

PKCS #7 암호 메시지 문법 표준(Cryptographic Message Syntax Standard) Version 1.5

RFC 2315에 기술되었다. 암호화한 데이터를 표현하는 방식에 대한 표준입니다.

 

PKCS #8 개인키 정보 문법 표준(Private-Key Information Syntax Standard) Version 1.2

RFC 5208에 기술되었다. 공개키 암호에서 사용되는 비밀키 값에 대한 문법을 정의합니다.

 

PKCS #9 Selected Attribute Types Version 2.0

다른 PKCS에서 사용하는 속성값들에 대하여 정의합니다.

 

PKCS #10 인증서 요청 표준(Certification Request Standard) Version 1.7

RFC 2986에 기술되었다. 인증기관에 인증서를 요청할 때 사용하는 프로토콜을 정의합니다.

 

PKCS #11 암호 토큰 인터페이스(Cryptographic Token Interface) Version 2.2

Cryptoki라고도 부른다. 암호 토큰에 대한 범용 인터페이스를 정의하는 API입니다. 주로 Single Sign-On, 공개 키 암호 방식, 디스크 암호화 시스템에 사용합니다.

 

PKCS #12 공개 키 인증서 교환 문법 표준(Personal Information exchange syntax standard) Version 1.0

비밀번호로 보호된, 대칭키와 공개 키 인증서에 동봉된 개인 키들을 저장하는 데 일반적으로 사용되는 파일 형식을 정의한다. .pfx는 pkcs #12 파일형식 확장자입니다. 이 파일 형식은 여러 개의 개체(예: 다중 인증서, 다중 키)를 포함할 수 있으며 보통, 비밀번호로 보호되거나 암호화된,. java 키 저장소의 형식으로 사용됩니다.

 

PKCS #13 타원 곡선 암호 표준(Elliptic Curve Cryptography Standard)

버려진 것으로 보입니다.

 

PKCS #14 유사난수 생성기(Pseudo-random Number Generation)

버려진 것으로 보입니다.

 

PKCS #15 암호 토큰 정보 형식 표준(Cryptographic Token Information Format Standard)

응용프로그램의 암호토큰인터페이스(#11)이나 다른 API와 무관하게, 암호 토큰의 사용자가 응용프로그램에서 자신을 식별할 수 있는 표준을 정의합니다. RSA는 이 표준의 IC카드 관련된 부분을 ISO/IEC 7816-15에 넣기를 포기했습니다.

 

위와 같이 PKCS는 제조사간 암호화 프로토콜에 대한 다양한 규격들을 의미합니다. 여기까지 PKCS에 대해서 알아봤습니다. 개념만 정리하려고 했는데 구글링을 하다보니 자세하게 정리를 하게 됐네요. ㅎ

반응형
그리드형

'프로그래밍' 카테고리의 다른 글

SSL과 TLS의 개념  (0) 2021.09.26
L4 스위치란?  (0) 2021.09.26
EDMS(Electronic Document Management System)이란?  (0) 2021.09.07
[Git] Window10 깃 다운로드 및 설치하기  (0) 2021.08.29
Web Server와 WAS의 차이점  (0) 2021.07.10