보안

PKCS#12 / .p12

MDanderson 2024. 12. 9. 16:12

PKCS#12.p12 파일은 사실상 같은 것을 의미합니다. PKCS#12는 Public-Key Cryptography Standards #12의 약자로, 개인 키와 공개 키(또는 인증서)를 함께 안전하게 저장하고 전송하기 위한 파일 형식표준입니다. .p12는 PKCS#12 파일 형식의 파일 확장자입니다.

주요 내용 및 차이점

  1. PKCS#12
    • 표준의 이름으로, 암호화된 컨테이너 형식을 정의.
    • 개인 키, 인증서(공개 키), 중간 CA 인증서 등을 포함.
    • 암호화되어 있으며, 이를 열기 위해 **암호(PIN)**가 필요.
    • 다양한 운영 체제 및 애플리케이션에서 지원.
  2. .p12 파일
    • PKCS#12 형식의 파일을 저장한 실제 파일.
    • 파일 확장자로 .p12 또는 .pfx를 사용.
    • PKCS#12 표준에 따라 구조화된 내용을 담고 있음.

PKCS#12의 주요 특징

  1. 구성 요소:
    • 개인 키(Private Key).
    • 인증서(공개 키 인증서).
    • 중간 CA 인증서(필요 시).
    • 루트 인증서(필요 시).
    • 기타 속성 정보(옵션).
  2. 암호화:
    • 파일 자체가 암호화되어 있어 안전하게 저장 가능.
    • 개인 키는 절대 평문으로 저장되지 않음.
  3. 범용성:
    • 다양한 시스템에서 사용 가능 (Windows, Linux, macOS 등).
    • SSL/TLS를 설정하거나 클라이언트 인증에 널리 사용.
  4. 확장자:
    • .p12 또는 .pfx 파일로 저장됨.
    • 두 확장자는 동일한 형식을 나타내며, 이름만 다를 뿐 차이가 없음.

PKCS#12 파일의 주요 사용 사례

  1. SSL/TLS 인증서 설치:
    • 웹 서버(Nginx, Apache, IIS 등)에 SSL/TLS 인증서를 설정할 때 개인 키와 인증서를 함께 제공.
    • 서버는 PKCS#12 파일에서 개인 키와 인증서를 추출해 사용.
  2. 클라이언트 인증:
    • 사용자가 클라이언트 인증을 위해 개인 키와 인증서를 보유해야 할 때.
    • 예: 기업 내부 네트워크, VPN 접속 등.
  3. 키와 인증서의 안전한 저장 및 전송:
    • 개인 키와 인증서를 하나의 암호화된 파일에 묶어 안전하게 전송.

 

.p12파일 생성 예시

openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt -certfile ca_bundle.crt

 

 

PKCS#12 vs PKCS#11: 주요 차이점

특징

                                                       PKCS#12                                                                               PKCS#11

정의 개인 키와 인증서를 안전하게 저장하고 전송하는 파일 형식 표준. 보안 장치(HSM, 스마트카드 등)와 상호작용하는 API 표준.
주요 목적 개인 키와 인증서를 암호화하여 파일로 저장 및 공유. 보안 장치 내에서 암호화 작업 및 키 관리 수행.
구현 방식 파일 기반. 하드웨어와 소프트웨어 간의 인터페이스(API).
구성 요소 개인 키, 인증서, CA 체인 등을 포함하는 암호화된 컨테이너. 암호화 키, 인증서, 보안 토큰 등이 보안 장치 내부에 저장됨.
사용 사례 SSL/TLS 인증서 저장 및 배포, 클라이언트 인증. HSM, 스마트카드와 통신하여 암호화 작업 수행.
암호화 작업 수행 파일 내용 암호화 및 보호. 암호화, 복호화, 디지털 서명, 키 생성 등을 HSM 내부에서 처리.
의존성 파일 형식으로 동작하므로 특정 하드웨어에 의존하지 않음. HSM, 스마트카드, USB 보안 토큰 등 보안 장치가 필요.
파일 확장자 .p12, .pfx 파일이 아닌 인터페이스(API) 표준이므로 확장자가 없음.
암호화 키 보관 위치 암호화된 파일 내부. 보안 장치 내부에서만 키 관리 및 사용.

PKCS#12와 PKCS#11의 사용 사례 비교

사용 사례

                                                           PKCS#12                                                                       PKCS#11

SSL/TLS 인증서 설정 웹 서버에서 SSL/TLS 인증서를 설치하기 위해 사용. 웹 서버가 HSM에서 키를 안전하게 사용하도록 지원.
클라이언트 인증 클라이언트 장치에 개인 키와 인증서를 저장하여 인증 수행. 클라이언트가 HSM 또는 스마트카드 기반 인증 수행.
디지털 서명 생성 개인 키를 파일에서 읽어 디지털 서명 생성. HSM에서 개인 키를 사용해 디지털 서명 생성.
암호화 키 관리 개인 키와 인증서를 암호화된 파일로 저장. 암호화 키가 장치 내부에서만 관리되고 사용.
보안성 암호화된 파일 수준의 보안. 키가 장치 외부로 유출되지 않으므로 높은 보안성.

 

'보안' 카테고리의 다른 글

데이터 기밀성  (1) 2024.12.11
인증서  (1) 2024.12.11
자동차 보안 용어  (0) 2024.12.09
PKCS#11  (0) 2024.12.09
SSL/TLS  (2) 2024.12.06