x.509 인증서와pkicfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 ·...

33
X.509 인증서와 PKI 1 공개키 배포의 문제점 공개키 배포의 문제점 2

Upload: others

Post on 14-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

X.509 인증서와 PKI

1

공개키 배포의 문제점공개키 배포의 문제점

2

Page 2: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

인증서의 구성인증서의 구성

Arami’s IDArami’s Public Key유효기간유효기간발급기관 Certificate Authority의 디지털 서명(CA의 비밀키로 서명됨)

3

표준 및 용도표준 및 용도

•표준표준– ITU-T X.509 v3

IETF PKIX– IETF PKIX

•용도–전자메일전자메일

–SSL전자지불–전자지불

–소프트웨어 코드서명– IPSec

4

Page 3: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

인증서의 종류

• 사용자 인증서

인증서의 종류

• 루트 인증서

5

인증서 기반의 공개키 암호화 전송절차(1)인증서 기반의 공개키 암호화 전송절차( )

6

Page 4: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

인증서 기반의 공개키 암호화 전송절차(2)인증서 기반의 공개키 암호화 전송절차(2)

7

X.509인증서의 형식X.509인증서의 형식

8

Page 5: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

X.509인증서의 형식X.509인증서의 형식

• 버전 : X.509 인증서 형식의 버전으로, 현재 v1-v3까지 있음• 일련번호 : CA에서 인증서를 발행할 때 마다 할당되는 유일한 번호• 알고리즘 식별자 : CA가 사용한 서명 알고리즘의 OID.

sha1withRSAEncryption의 OID는 1 2 840 113549 1 1 5sha1withRSAEncryption의 OID는 1.2.840.113549.1.1.5• 발행자 : 인증서를 발행한 CA의 이름• 유효 개시 기간(Validity from) : 인증서가 유효한 최초 시간• 유효 만기 시간(Validity to) : 인증서가 유효한 마지막 시간• 주체 : 인증서의 증명대상의 DN(Distinguished Name). 사람뿐만 아니라 서버도 해당만 아니라 서버도 해당

• 주체 공개키 정보 : 암호용 또는 서명용 공개키, 키가 사용될 알고리즘의 종류, 키 길이 등 정보로 구성

• 알고리즘 : 공개키 알고리즘의 OID• 공개키 : 주체의 공개키 값서명 CA의 서명 값• 서명 : CA의 서명 값

9

X.509인증서의 형식X.509인증서의 형식

<버전 2에서 추가된 영역>인증 기관 고유 식별자 : 한 주체에 대해 둘 이상의 인증기관으로부터 인증서가 발급된 경우, 인증기관 구분주체 고유 식별자 : 주체를 식별하는 값 예를 들어 같은 회사에 동명주체 고유 식별자 : 주체를 식별하는 값, 예를 들어 같은 회사에 동명이인이 있는 경우 구분하기 위해 사용

<버전 3에서 추가된 영역>인증기관 키 식별자 : 하나의 인증기관이 여러 개의 비밀키로 인증서를 발급한 경우, 서명 검증용 공개키를 식별하기 위해 사용. SHA-1 를 발급한 경우, 서명 검증용 공개키를 식별하기 위해 사용. SHA 1 해시 값인 KeyIdentifier, 발행기관 이름, 일련 번호로 구성주체 키 식별자 : 한 주체가 여러 키 쌍에 대해 발급받은 인증서를 가지고 있을 때 인증서에 포함된 공개키를 구별하는데 사용지고 있을 때, 인증서에 포함된 공개키를 구별하는데 사용키 용도 : 해당 공개키가 암호용인지 서명용인지를 해당 비트로 표시

10

Page 6: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

X.509인증서의 형식X.509인증서의 형식

• 비밀키 사용기간 : 인증서의 유효기간과 서명용 비밀키의 사용시간이 다를 때 사용이 다를 때 사용

• 확장 키 사용 : Key usage 항목으로 표시할 수 없는 세부적인 추가용도를 OID 형태로 표시. TLS 웹 서버 인증용, TLS 웹 클라이언가용 형태 시 웹 서버 증용, 웹 클라이트 인증용, 코드 서명용, 전자 우편용, IPSec 용 등을 지시

• CRL 배포 지점 : 폐기한 인증서의 리스트가 저장되어있는 곳의URLURL

• 주체 대체 이름 : DNS 이름, IP 주소, 메일 주소, 커버로스 이름 등주체 이름에 대한 또 다른 이름

• 발행자 대체 이름 : CA의 또 다른 이름• 기본 제한 : {CA 플래그, pathLenConstraint로 구성}기관 정보 액세스 인증기관이 제공하는 인증서 관련 서비스에 접근• 기관 정보 액세스 : 인증기관이 제공하는 인증서 관련 서비스에 접근할 수 있는 URL이나 프로토콜 관련 정보

• 주체 정보 액세스 : 인증서 주체가 제공할 수 있는 정보와 서비스에접근하는 방법 제공, 주로 CA의 루트 인증서에 사용

11

인증기관 키 식별자의 예인증기관 키 식별자의 예

해당 CA로 부터 입수한해당 CA로 부터 입수한루트인증서가 여러 개 일때,이들 중에서 신속하게이들 중에서 신속하게찾을 수 있도록 함

12

Page 7: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

키 용도키 용도

해당 공개키가 암호용인지 서명용인지 표시함

13

키 용도키 용도

• digitalSignature : keyCertSign, cRLSign을 제외한 서명용도의 공개키도의 공개키

• nonRepudiation : 부인방지를 위한 서명용 공개키• keyEncipherment : 공유 비밀키를 암호화할 때 사용하는 공개• keyEncipherment : 공유 비밀키를 암호화할 때 사용하는 공개키

• dataEncipherment : 데이터 암호용 공개키• keyAgreement : 키 분배 프로토콜에 사용할 공개키• keyCertSign : 루트 인증서의 서명용 공개키• cRLSign : CRL 서명용 공개키• cRLSign : CRL 서명용 공개키• encipheronly : keyAgreement 비트가 1일 때, 암호 전용 공개키 임을 지시

• dncipheronly : keyAgreement 비트가 1일 때, 복호 전용 공개키 임을 지시

14

Page 8: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

확장 키 사용의 예확장 키 사용의 예

공개키의 추가용도 표시기능(예: 코드서명용,IPSec용…)

15

CRL배포지점의 예CRL배포지점의 예

CRL(Certification Revocation List)

폐기되는 인증서의 보관장소 지시

16

Page 9: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

주체 대체 이름의 예주체 대체 이름의 예

17

기본 제한영역의 예기본 제한영역의 예

사용자 용사용자 용

CA flag : 인증서가 CA용인지 최종 사용자용인지 표시

18

pathLenConstraint : 이 인증서로부터 확대 가능한 인증 경로의 길이

Page 10: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

signKorea CA용 인증서의 기본제한영역 내용signKorea CA용 인증서의 기본제한영역 내용

Subject Type = CAflagj yp g

19

signKorea CA용 인증서의 인증경로signKorea CA용 인증서의 인증경로

20

Page 11: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

KISA인증서(최상위 인증기관)KISA인증서(최상위 인증기관)

21

KISA인증서의 기본제한영역 내용KISA인증서의 기본제한영역 내용

22

Page 12: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

기본 제한 영역의 예(최종 사용자용)기본 제한 영역의 예(최종 사용자용)

23

기관 정보 액세스 (Authority Information Access)기관 정 액세 ( y )

24

Page 13: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

인증서의 예인증서의 예

인증서 확인창 / 루트 인증서의 예인증서 확인창 / 루트 인증서의 예

25

개인 인증서의 예개인 인증서의 예

26

Page 14: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

개인 인증서의 예(계속)개인 인증서의 예(계속)

손도장: 서명을 포함한 인증서 전체에 대한 해시값

27

손도장의 활용손도장의 활용

CA_B CA_A

B A인증서 CA B서명B A인증서 CA_B서명

손도장값계산손도장값계산손도장값계산

확인요청 -> 일치되면 변조되지 않았음을 인증함

28

Page 15: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

국내 공인 인증기관국내 공인 인증기관

29

인증서 발급철차인증서 발급철차

• 등록• 사용자 인증 및 발급신청

– 등록기관(은행 등)에서 대면 확인 후 CA(yessign 등)에 신청

발급정보 제공• 발급정보 제공– CA가 발급정보(참조번호+인가코드)를 등록기관에 제공, 사용자에게 전달

• 발급요청– 사용자가 직접Web에서 등록(발급정보사용)사용자 PC에서 자동적으로 개인키+공개키 쌍 생성– 사용자 PC에서 자동적으로 개인키+공개키 쌍 생성

– 개인키 보관– 공개키 전송(인증서 발급요청 양식 활용)( )

• 인증서 확보• 인증서 활용

30

Page 16: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

X.509인증서의 폐기X.509인증서의 폐기

31

인증서의 활용 : 소프트웨어 배포 인증인증서의 활용 웨어 배 인증

32

Page 17: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

코드서명된 프로그램의 검증 절차코드서명된 프로그램의 검증 절차

33

인증서를 활용한 상호인증의 예인증서를 활용한 상호인증의 예

34

Page 18: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

인증서의 ASN.1 형식인증서의 ASN.1 형식

Certificate ::= SEQUENCE {tbsCertificate TBSCertificate, signatureAlgorithm AlgorithmIdentifiersignatureAlgorithm AlgorithmIdentifier,signatureValue BIT STRING

}-- To Be Signed CertificateTBSCertificate ::= SEQUENCE {

version [0] EXPLICIT Version DEFAULT v1,[ ] ,serialNumber CertificateSerialNumber,signature AlgorithmIdentifier, --signatureAlgorithm영역과 동일한 값임issuer Name,validity Validity,subject Name,subjectPublicKeyInfo SubjectPublicKeyInfo,issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL, subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL, extensions [3] EXPLICIT Extensions OPTIONAL

}i 0 2 3 2Version ::= INTEGER { v1(0), v2(1), v3(2) }

Validity ::= SEQUENCE {notBefore Time,notAfter Time

}SubjectPublicKeyInfo :: SEQUENCE {SubjectPublicKeyInfo ::= SEQUENCE {

algorithm AlgorithmIdentifier,subjectPublicKey BIT STRING

}Extension ::= SEQUENCE {

extnID OBJECT IDENTIFIERextnID OBJECT IDENTIFIER,critical BOOLEAN DEFAULT FALSE,extnValue OCTET STRING

}35

ASN.1ASN.1

• ASN.1(Abstract Syntax Notation One)– 구현에 관계없이 표준을 정의하는 언어– ITU-T 권고안 X.209 및 X.690에 정의되어 있음

"형식" 정의– "형식" 정의– "모듈" 정의 및 표시 방법– INTEGER 정의INTEGER 정의– BOOLEAN 정의– "구조체 형식" 정의– 특정 키워드(예: BEGIN, END, IMPORT, EXPORT,

EXTERNAL 등)의 의미특정 표준 인코딩 방법 프로그래밍 언어 또는 하드웨어 플랫폼– 특정 표준, 인코딩 방법, 프로그래밍 언어 또는 하드웨어 플랫폼에 관계없이 적용되며, 단순히 표준을 정의하는 언어

36

Page 19: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

인증서 파일의 16진 형식의 예인증서 파일의 16진 형식의 예

0000 : 30 82 03 de 30 82 03 47 a0 03 02 01 02 02 04 01 ; 0...0..G........

*.der파일

;0010 : 73 f9 71 30 0d 06 09 2a 86 48 86 f7 0d 01 01 05 ; s.q0.....H......0020 : 05 00 30 48 31 0b 30 09 06 03 55 04 06 13 02 6b ; ..0H1.0...U....k0030 : 72 31 10 30 0e 06 03 55 04 0a 13 07 79 65 73 73 ; r1.0...U....yess0040 : 69 67 6e 31 13 30 11 06 03 55 04 0b 13 0a 4c 69 ; ign1.0...U....Lig0050 : 63 65 6e 73 65 64 43 41 31 12 30 10 06 03 55 04 ; censedCA1.0...U.0060 : 03 13 09 79 65 73 73 69 67 6e 43 41 30 1e 17 0d ; ...yessignCA0...0070 : 30 34 30 31 33 30 31 35 30 30 30 30 5a 17 0d 30 ; 040130150000Z..00080 : 34 30 35 31 36 31 34 35 39 30 30 5a 30 65 31 0b ; 40516145900Z0e1.0090 : 30 09 06 03 55 04 06 13 02 6b 72 31 10 30 0e 06 ; 0...U....kr1.0..00a0 : 03 55 04 0a 13 07 79 65 73 73 69 67 6e 31 11 30 ; .U....yessign1.000b0 : 0f 06 03 55 04 0b 13 08 70 65 72 73 6f 6e 61 6c ; ...U....personal00c0 : 31 0c 30 0a 06 03 55 04 0b 13 03 4b 4d 42 31 23 ; 1.0...U....KMB1.00d0 : 30 21 06 03 55 04 03 0c 1a ec 9b 90 ec a2 85 ed ; 0...U...........00e0 : 95 84 28 29 30 30 30 34 2d 31 39 34 31 34 38 39 ; ....0004.194148900f0 : 39 30 34 30 81 9e 30 0d 06 09 2a 86 48 86 f7 0d ; 9040..0.....H...

37

인증서 내용의 분석인증서 내용의 분석

30 82 03 de{ // Seq (Certificate)30 82 03 47{ // Seq (TBSCertificate)30 82 03 47{ // Seq (TBSCertificate)//versiona0 03 02 01 02; version[0] = Integer 2 v3//serialNumber02 04 01 73 f9 71 ; serialNumber = 0x0173 f971//Signature30 0d { //Seq06 09 2a 86 48 86 f7 0d 01 01 05; OID = 1 2 840 113549 1 1 506 09 2a 86 48 86 f7 0d 01 01 05; OID = 1.2.840.113549.1.1.5 SignatureAlgorithm = (sha1withRSAEncryption)= sha1RSA

05 00 ; NULL}//Issuer30 48 { //Seq31 0b{ …SET30 09{ Seq30 09{ …….Seq06 03 55 04 06 ; OID = 2.5.4.6 = C //Country13 02 6b 72 ; PrintableString = ‘kr’

}}…

38

Page 20: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

인증서 관련 프로토콜인증서 관련 프로토콜

CRMF : Certificate Request Message FormatCMS : Certificate Message SyntaxCMP : Certificate Management ProtocolgCMC : Certificate Management Message over CMS

39

인증서 요청 메시지 형식인증서 요청 메시지 형식

• PKCS#10– 사용자가 새로운 인증서 발급을 요청하거나 인증서를 내려 받고자 할때 사용하는 요청 메시지 형식 정의

요청자의 distinguished name(DN) 공개키 등을 수납하고– 요청자의 distinguished name(DN), 공개키 등을 수납하고비밀키로 서명된 서명 영역을 포함

• Certificate Request Message Format(CRMF)– 인증서 요청 메시지 형식 규정

• 인증서가 수납된 응답 메시지의 형식인증서 발급 요청에 대해 C 는 CS /C S의– 인증서 발급 요청에 대해 CA는 PKCS#7/CMS의signedData 메시지 형식에 인증서를 수납하여 전송

40

Page 21: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

인증서 요청 및 응답 절차 프로토콜인증서 요청 및 응답 절차 프로토콜

• RFC2510 Certificate Management Protocols(CMP)– CA와 사용자 또는 CA와 CA사이에서 사용될 수 있는 인증서 발급 요청 응답 절차 및 이와 관련된 메시지들을 규정급 요청, 응답 절차 및 이와 관련된 메시지들을 규정

• RFC 2797 Certificate Management Messages • RFC 2797 Certificate Management Messages over CMS(CMC)– CMP와 마찬가지로 PKCS#10과 CRMF 인증서 요청 형식을모두 수용하며, 이에 대한 응답 절차 규정

41

PKCS#10 Certificate Request Syntax (CRS)q y ( )

CertificationRequest ::= SEQUENCE {certificationRequestInfo CertificationRequestInfocertificationRequestInfo CertificationRequestInfo,signatureAlgorithm SignatureAlgorithmIdentifier,signature Signature

}}

CertificationRequestInfo ::= SEQUENCE {version Versionversion Version,subject Name,subjectPublicKeyInfo SubjectPublicKeyInfo,attributes [0] IMPLICIT Attributes

전송 메시지 형식 : HTTP나 SMTP의 MIME 형식으로 인코딩되어 CA에

attributes [0] IMPLICIT Attributes } //PKCS#10 인증서 요청 형식의 ASN.1 형식

전송 메시지 형식 : HTTP나 SMTP의 MIME 형식 인 딩되어 CA에전송MIME 헤더 정보– Content-Type: application/pkcs10; name=smime.p10

C t t T f E di b 64– Content-Transfer-Encoding: base64– Content-Disposition: attachment; filename=smime.p10

42

Page 22: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

PKCS#10 인증서발급요청메시지의 활용PKCS#10 인증서발급요청메시지의 활용

43

PKCS#7과 CMSPKCS#7과 CMS

• CA가 인증서를 처리할 때, 어떻게 처리되었는지 명시하고, 필요한 경우 암호화 방식이나 키 정보 등을 수납하기위한 공통의 메시지 형식 필요

• PKCS#7전송할 내용에 대한 암호화 는 디지털 서명에 사용할 수 있는– 전송할 내용에 대한 암호화 또는 디지털 서명에 사용할 수 있는메시지 encapsulation 형식 정의

– RFC 2315를 개선하여 RFC 2630 CMS(Cryptographic RFC 2315를 개선하여 RFC 2630 CMS(Cryptographic Syntax Notation) 발표

– 최근 다시 개선된 RFC 3369, RFC 3370 발표

44

Page 23: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

PKCS#7과 CMSPKCS#7과 CMS

45

[ContentInfo의 기본구성과 content type의 종류]

Content 형식의 종류Content 형식의 종류

content– data : 평문 데이터 수납– signed-data : 본문과 이에 대한 서명값 수납

enveloped data : Content Encryption Key(CEK)로 암호화– enveloped-data : Content-Encryption Key(CEK)로 암호화된 데이터와 이 데이터를 암호화할 때 사용된 CEK를 RSA 공개키 방식으로 암호화하여 수납

– digested-data : 데이터와 메시지 다이제스트 값을 수납하여, 데이터 무결성 제공

– encrypted-data : 대칭키로 암호화된 데이터 수납. Enveoped-encrypted data : 대칭키로 암호화된 데이터 수납. Enveopeddata 형식과 달리, CEK가 수납되지 않기 때문에 이 키는 다른방법, 즉, 공유 패스워드 등에서 추출

th ti t d d t 평문 데이터와 이에 대한 무결성 용– authenticated-data :평문 데이터와 이에 대한 무결성 용MAC코드, 이 MAC코드 생성시 사용된 키의 암호화된 값을 수납. 즉, {data || MAC || encrypted authencation key}로 구성

46

Page 24: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

Signed-data형식의 구성Signed data형식의 구성

평문과 디지털서명으로 구성됨(서명용 인증서도 포함됨)(서명용 인증서도 포함됨)

47

SignedData형식SignedData형식

ContentInfo ::= SEQUENCE {contentType ContentType (signedData형식의 경우 OID 1 2 840 113549 1 7 2)contentType ContentType, (signedData형식의 경우 OID=1.2.840.113549.1.7.2)

content [0] EXPLICIT ANY DEFINED BY contentType }

SignedData ::= SEQUENCE {version CMSVersion -- 1digestAlgorithms DigestAlgorithmIdentifiers,g g g g ,encapContentInfo EncapsulatedContentInfo,-- 필요한 데이터 수납 공간

certificates [0] IMPLICIT CertificateSet OPTIONAL,-- 인증서crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,--인증서취소목록[ ]signerInfos SignerInfos – 서명자 정보

}

EncapsulatedContentInfo ::= SEQUENCE {eContentType ContentType,eContent [0] EXPLICIT OCTET STRING OPTIONAL

}}

48

Page 25: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

Enveloped-data 형식Enveloped data 형식

암호화되는 contentInfo영역과암호화시 사용된 Key(CEK)정보 수납암호화시 사용된 Key(CEK)정보 수납

4가지의 CEK 암호화 방법49

Enveloped-data 형식Enveloped data 형식

1. 송신자는 content-encryption key(CEK)를 임의로 생성2. 다음 중 한가지로 CEK 암호화① Key TransRecepientInfo : CEK를 수신자 RSA 공개키로 암호화② Key AgreeRecepientInfo : D-H 방식에 의해 설정된 공유키로 CEK를 암y g p

호화

③ KEKRecepientInfo : 사전에 약속된 대칭키인 KEK로 CEK를 암호화④ PasswordRecepientInfo :공유 패스워드로부터 생성된 KEK로 CEK를 암

호화

3. 암호화된 CEK와 수신자 정보를 RecepientInfo로 설정4 전송할 content를 CEK로 암호화4. 전송할 content를 CEK로 암호화5. RecepientInfo 값과 암호화된 content 영역 등을

EnvelopdedData 형식에 수납하여 전송

50

Page 26: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

Digested-data형식Digested data형식

평문 + 해시값

51

Encrypted-data형식의 구성Encrypted data형식의 구성

암호문 수납용(단, CEK는 없음)

52

Page 27: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

Authenticated-data형식의 구성Authenticated data형식의 구성

HMAC 데이터 인증용

53

Certificate Management Messages over CMS(CMC)g g ( )

54

Page 28: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

Certificate Management Messages over CMS(CMC)g g ( )

55

CMC의 Nested 암호화 방법CMC의 Nested 암호화 방법

56

Page 29: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

On-line certificate status checkingOn line certificate status checking

※(OCSP RFC 2560)

57

※(OCSP, RFC 2560)

인증서의 import/export형식인증서의 import/export형식

58

Page 30: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

인증서의 import/export형식인증서의 import/export형식

• Personal Information Exchange(PKCS#12) – 인증서와 대응하는 비밀키를 다른 컴퓨터나 플래시 메모리에 옮길때 사용하는 방식으로, 인증서 파일의 확장자는 “*.pfx”나“* p12”.p12

• PKCS#7/CMS– 인증서를 다른 컴퓨터나 플래시 메모리에 옮길때 사용하는 방식인증서를 다른 컴퓨터나 플래시 메 리에 옮길때 사용하는 방식으로, 인증서 파일의 확장자는 “*.p7b”

• DER Encoded Binary X.509– DER 형식으로 인코딩된 인증ㅇ서 파일로 *.cer 확장자를 가짐

• Base 64 Encoded X.509인 서 용 인 딩한 형식– DER 인증서를 MIME 용 Base 64 인코딩한 형식으로 *.cer

확장자를 가짐

59

DER Encoded Binary X.509형식DER Encoded Binary X.509형식

DER로 인코딩 된 인증서 파일 생성 방법의 예생성파일명은 *.cer임.생성파일명은 .cer임.

60

Page 31: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

MIME (Base 64)으로 인증서를 인코딩하여 파일로 저장하는 방법

•Base 64로 인코딩되어 HTTP나 e-mail로 전송 가능

61

Signed-data PKCS#7형식으로 인증서를 저장하는 방법g 형식 인증서를 저장하는 방법

62

Page 32: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

인증서 불러오는 방법의 예인증서 불러오는 방법의 예

63

Public Key Infrastructure (PKI)Public Key Infrastructure (PKI)

64

Page 33: X.509 인증서와PKIcfs8.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · X.509인증서의형식 • 버전: X.509 인증서형식의버전으로, 현재v1-v3까지있음

윈도우 2000의 인증서 서비스윈도우 2000의 인증서 서비스

•지원하는 CA의 종류지원하는 CA의 종류–엔터프라이즈 CA

• Active Directory필요• Active Directory필요•윈도우 도메인내에서 동작

St d l CA–Stand-alone CA• Active Directory 불필요•윈도우 도메인과 별개로 동작 가능

•인증서 보관소–Active Directory

65