상세 컨텐츠

본문 제목

PKI (Public Key Infrastructure) 맛보기 20221006

보안

by MustThanks 2022. 10. 6. 17:33

본문

반응형

   인증서 표준 및 용도

   * 인증서 국제 표준
     ITU-T,X.509,PKIX

   * 용도
     전자 메일(PGP,S/MEME)
     SSL 인증서
     SET 인증서
     코드서명 인증서
     IPSec 인증서

PKI  (Public Key Infrastructure) 공개키 기반 구조

PKCS(Public Key Cryptography Standards) : Private Key를 저장하는 문법에 관한 표준
   PKCS#1,PKCS#8,PKCS#12 등을 사용

CRL(Certificate Revocation List), OCSP(Online Certificate Status Protocol) : 인증서 유효성 점검을 위한 표준/방법
  Revocation : 해지

CA(Certificate Authority) :  root 인증기관

X.509 : 공개키 인증서와 인증 알고리즘을 사용하기 위한 PKI 표준

ASN.1(Abstract Syntax Notation One) : 추상 구문 기법, 네트워크상의 데이터 교환을 정의한 프로토콜

RSA(Rivest-Shamir-Adleman)  : 공개키 암호 시스템중의 하나
ECDSA(Elliptic Curve Digital Signature Alogrithm) :타원 곡선을 이용한 전자서명 알고리즘


Expressed as ASN.1

ANS.1 sturcture
 OID : Object Identifiers
 AI   : Algorithm Identifiers
 DS  : x.509 text information
 DN  : x.509 hierarchy Name
 GN  : x.509 certificate Name

Certificate File Format
 PEM : Private Enhanced Mail - Base64 encoded certificate
 DER : Distinguished Encoding Representation - binary encoded certificate
 PFX : personal Information Exchange 
 PI2  : PKCS #12 file format

인코딩에 따른 분류
* DER(Distiguished Encoding Representation)  :  확장자 .der
 - ASN.1을 표현하는 방식의 종류.(바이너리로 저장됨)

* PEM(Privacy Enhanced Mail) : 확장자 .pem
 - Base64로 인코딩된 ASCII코드  
 - 표준으로 많이 사용

내용에 따른 분류
* Private Key : 확장자 .key
 - 개인키

* Certificate : 확장자 .cer (windows에서 주로사용)  .crt(Linux,Unix등에서 자로사용)
 - 인증서

*PKCS #12 : 확장자 .p12 .pfx 
 - 하나의 파일에 개인키, 인증서 등을 같이 저장하는 방식에 대한 표준

*Certificate Signing Request : 확장자 .csr
 - 인증서 발급을 위해 내 개인키 서명을 CA에게 보내기 위한 파일

*Serial : 확장자 .srl
 - CA가 인증서를 발급할 때 serial을 관리하기 위한 파일



OpenSSL 명령어

*Private Key 생성
  - 명령어
     openssl genrsa -out key.pem 2048

  - 사용가능 옵션
     -des, -seed, -aes256  등  해당하는 방식으로 키 암호화 사용하지 않으면 암호화를 하지 않는다.
     -passout  pass:PASSWORD:  키를 암호화할 경우 암호 지정. 사용하지 않으면 프롬프트가 나옴
     -f4 (0x10001), -3: E value 지정. 기본값: -f4
     1024, 2048, 3072, 4096, ...: Private Key Bit 크기

*CSR 생성
  - 명령어
    openssl req -new -key key.pem -out my.csr

  - 사용가능 옵션
    -md5, -sha1, -sha256, ...: 서명에 사용할 Digest. 기본값은 버전마다 다르고 적당히 sha256 사용.
    -subj: 인증서 주제 설정. 미사용시 입력 프롬프트 표시
    예시) -subj "/C=KR/O=sho/CN=SHO Certificate"

참고 : https://blog.iolate.kr/276



관련글 더보기

댓글 영역