본문 바로가기
cryptology

PKCS란? 공개키 암호표준이란?? PKCS의 종류에 대해 알아보자

by jinhyuk._.c 2022. 10. 25.

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

PKCS는 Public-Key Cryptography Standard로 RSA 시큐리티에서 정한, 공개 키 암호의 사용 방식에 대한 표준 프로토콜입니다. 즉 공개키 암호의 통신 규약입니다. 공개 키 기반구조, PKI(Public Key Infrastructure)를 기반으로 한 1990년대 초에 RSA Security LLC에서 고안 및 게시판 공개 키 암호화 표준 그룹입니다.

 

PKCS는 여러가지 종류가 있는데 현재까지 나온 종류는 15가지가 있습니다. 하지만 그중에서 사용하는 표준이 있고 사용하지 않는 표준이 있습니다.

 

 

다음에서 하나씩 알아보도록 하겠습니다.

 

 

 

PKCS #1 RSA Cryptography Standard Version 2.1 ( 기술 되어있는곳 -  RFC 2313,3447) 

- RSA 암호 표준

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

 

PKCS #2 

- X (철회됨)
메시지 다이제스트를 RSA 암호화하는 부분을 다루고 있었으며, PKCS #1으로 흡수되었습니다. 현재는 사용하지 않습니다.

 

PKCS #3 Diffie-Hellman Key Agreement Standard Version 1.4 

- 디피헬먼 키 교환 표준
디피헬먼 키분배 알고리즘의 구현을 위한 방법에 대해 정의, OSI의 전송 및 네트워크 계층에서의 안전한 전송채널 구축을 위한 프로토콜에 사용 되는 것을 목적으로 합니다.

 

PKCS #4

- X (철회됨)
RSA 키를 표현하는 규격을 다루고 있었으며, PKCS #1으로 흡수되었습니다. 현재는 사용하지 않습니다.

 

PKCS #5 Password-based Cryptography Specification Version 2.0 (기술 되어있는곳 - RFC 2898)

- 비밀번호 기반 암호화 표준
개인키 정보를 사용자의 패스워드에 기반하여 암호화하는 방법을 정의한 패스워드 기반 암호표준입니다. 외부에서 개인키를 생성하여 당사자에게 전송시킬 때 개인키를 암호화 하는 것을 목적으로 합니다. 개인키를 특정기기나 개인이 사용하기 위해 복호화하기 위해서는 패스워드가 필요합니다.

 

PKCS #6 Extended-Certificate Syntax Standard 

- 인증서 확장 문법 표준
X.509 인증서의 version 1을 확장했지만, 현재는 X.509 Version 3가 있어 사용하지 않습니다.

 

PKCS #7 Cryptographic Message Syntax Version 1.5(기술 되어있는 곳 - RFC 3369) 

- 암호 메세지 문법 표준
암호화한 데이터를 표현하는 방식에 대한 표준입니다.

 

PKCS #8 Private-Key Information Syntax Specification Version 1.2( 기술 되어있는 곳 - RFC 5208)

- 개인키 정보 문법 표준
개인 키 정보 구문 표준으로 개인 키와 속성 정보를 포함한 암호화된 개인키를 위한 구문을 정의합니다.

 

 

 

 

 

 

PKCS #9 Selected Object Classes and Attribute Types

- Selected Attribute Types(선택된 속성 형식)
선택된 속성 형식 표준으로 PKCS #6 확장 인증서 구문 표준의 확장 인증서, PKCS #7의 전자서명 메세지와 PKCS #8 개인키 정보에서 사용되는 속성 유형들을 정의합니다.

 

PKCS #10 Certification Request Syntax Specification v1.7 (기술 되어있는곳 - RFC 2986)

- 인증서 요청 표준
인증 요청 구문 표준으로 인증서 발급 요청서를 위한 구문을 정의합니다. 인증서 발급 요청서는 사용자 식별 명칭, 공개 키, 옵션 속성들로 구성되어 사용자가 인증서 발생을 요구하기 위하여 인증 기관에 요청하는 구문입니다.

 

PKCS #11 Cryptographic  Token Interface Standard

- 암호 토큰 인터페이스
Cryptoki 라고 부르며 스마트카드와 같은 암호화 장비를 위한 암호 토큰에 대한 범용 인터페이스를 정의하는 API 입니다.

Single Sign-On, 공개 키 암호 방식, 디스크 암호화[2] 시스템에 사용합니다.

 

PKCS #12 Personal Informatioin Exchange Syntax Standard

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

 

PKCS #13 Elliptic Curve Cryptography Standard

- 타원 곡선 암호 표준
타원 곡선 암호에 기반한 공개 키를 암호화하고 서명하는 매커니즘을 설명합니다.

 

PKCS #14 Pseudo-random Number Generation

- 유사난수 생성기
블록 암호, 해시 함수 등 다양한 방법의 의사 난수 생성 설명합니다.

 

PKCS #15 Cryptographic Token Information Format Standard

- 암호 토큰 정보 형식 표준
암호화 토큰에 저장된 암호화 인증서의 포맷을 위한 표준을 설명합니다.

 

 

 

위의 설명들을 정리하면 PKCS는 제조사간 암호화 프로토콜에 대한 규격들을 의미합니다.

즉, 공개키 암호에 대한 통신 규약 및 약속입니다. 다음시간에는 PKCS#1~15 까지 사용되는곳이나 자세한 것들에 대해 알아보겠습니다.

 

다음은 통신 프로토콜에 대한 정리인데 참고하시면 좋을듯 합니다.

2022.10.28 - [개발/개발에 관련된 정보] - 프로토콜(Protocol) 이란?? 프로토콜의 간단 정리~!!

 

 

프로토콜(Protocol) 이란?? 프로토콜의 간단 정리~!!

프로토콜(Protocol) 이란?? 프로토콜의 의미 통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메세지를 주고 받는 양식과 규칙의 체계입니다. 통신 프로토콜은 신호 체계. 인

daily.from-my-daily.com

 

반응형

'cryptology' 카테고리의 다른 글

공인인증서 및 공동인증서 로그인의 원리  (0) 2022.10.11
Hash 란? hash 암호화란?  (0) 2022.09.17
단방향 암호화란? MD5 암호화란?  (0) 2022.09.17
양자암호란?  (0) 2022.09.13
전자서명이란?  (0) 2022.09.13

댓글