370 likes | 890 Views
ch14 – 2. 인증프로토콜 (2) - 공개키 인증서 -. 목 차. 1. 공개키 인증 개요. 2. 공개키 인증서. 3. 인증서 발급 및 취소. 4. PKI 운영과 관리. 송신자의 개인키로 서명. 공개키 인증 필요성. 송신자의 서명 부분을 자신의 서명으로 바꾸어 전송. 도청자. Internet. 송신자 A. 수신자. A 의 공개키로 서명 확인. 공개키 등록. 공개키 디렉토리. 공개키 인증 필요성. 공개키 암호 시스템 자신의 공개키 공표 , 개인키 비밀간직
E N D
목 차 1 공개키인증 개요 2 공개키 인증서 3 인증서 발급 및 취소 4 PKI 운영과 관리 2
송신자의 개인키로 서명 공개키 인증 필요성 송신자의 서명 부분을 자신의 서명으로 바꾸어 전송 도청자 Internet 송신자 A 수신자 A의 공개키로 서명 확인 공개키 등록 공개키 디렉토리 3
공개키 인증 필요성 • 공개키 암호 시스템 • 자신의 공개키 공표, 개인키 비밀간직 • 파일 전송 프로토콜, WWW, 기타 security application은 공개키 알고리즘에 바탕 • 공개키 암호 시스템을 사용하려면 • 공개키 기반 구조 구축이 필요 • 공개키 인증서에 바탕으로 함 • 인증서의 필요성 • 공개키의 무결성 제공 • 공개키의 인증성 제공 • 모든 사용자가 믿을 수 있는 인증기관이 공개키에 대한 인증성을 제공함 4
공개키 기반 구조 정의 • PKI:Public-key Infrastructure • 협의의 공개키 기반구조 • 인증기관이 인증서를 발행하고, 분배하며, 취소하는 절차와 규정 • 인증기관, 사용자의 키의 분배 및 인증서의 전달 이를 위한 체계가 공개키 기반구조 (PKI의 주요 기능) • 광의의 공개키 기반구조 • PKI 기본 정책 설정 • 루트 인증기관의 지정 및 역할 정의 • 인증기관 간의 상호연동/상호인증 체계 구축 • 인증서/인증서 취소목록 정의 및 발행/취소 절차 • 인증서 정책 관리/유지, 법적/제도적 지원 5
루트-CA 사용자 제2계층 - CA 제 3계층 -CA 공개키 기반 구조의 방식 • 순수계층 구조 6
공개키 기반 구조의 방식 • 순수 계층 방식 • 최상위 인증 기관인 root CA에 바탕을 둠 • 최상위 계층의 root CA • 전반적인 PKI 정책을 수립 • 제 2계층 CA를 인증 • 제 2계층 CA • 루트 CA에 의해 설정된 정책 하에 자신의 정책을 수립 • 제 3계층 CA를 인증 • 제 3계층 CA • 사용자를 인증 • 하부의 CA간의 상호 인증은 원칙적으로 배제 • 루트 CA간의 상호인증을 통한 국제간 상호 제공 7
개별 기반구조 사용자 공개키 기반 구조의 방식 • 네트워크 구조 • 모든 구조가 평면적으로 구성 • 모든 CA간에 상호인증을 허용 • 상호인증의 수가 대폭 증가하는 단점이 있다. 8
1 PAA (최종 개체) 3 2 PCA PCA Alice 5 CA Cross Certificate 공개키 기반 구조의 방식 • 혼합형 인증 구조 9
(인증서 발급/갱신/폐기) 디렉토리 서버 인증기관(CA) (신원확인/폐기) (인증서/폐기 목록관리) 등록기관 (RA) 고객 인증서 서버 인증서 고객 인증서 서버 인증서 디지털서명 서버 사용자 PKI 구성요소 • PKI의 구성요소 • 정책승인기관; 정책인증기관; 조직등록기관 • 인증기관; 등록기관; 디렉터리; 사용자 10
PKI 구성요소 • 정책 승인 기관(PAA:Policy Approving Authority) • 전반적인 PKI 정책(인증서 정책)을 설정하고 관리하는 기관 • 정부 PKI의 경우 단 한 개만 존재 • 다른 나라의 PAA들과의 상호 연동을 위한 협정을 체결함 • 정책 인증 기관(PCA:Policy Certification Authority) • 특정 조직 혹은 공동 사회에서 사용될 보안 정책을 설정 • 암호키 생성 주체, 인증서 유효기간, CRL 관리 방법 등을 결정함 • 보안 정책을 설정하는 정부 부처마다 존재함: 미국 국방성, 법무성 11
PKI 구성요소 • 인증기관 (CA: Certification Authority) • 최종 개체에게 인증서를 발급하는 제삼의 신뢰 기관 • 인증서 취소목록(CRL:Certificate Revocation List)을 유지; 사용자에 인증서 발행; 상호인증 기능 • 등록기관 (RA: Registration Authority) • CA의 기능 중 사용자 신분 확인 기능을 대신하여 수행함 • 사용자 신원확인; 인증 요구 정보 전달; 발급된 인증서 전달 • 최종개체 (End Entity)--사용자 • 인증서 발급을 요구 • 디렉토리 (Directory) • 인증서 및 CRL 저장소 12
2.신원확인 및 인증서 발급 공인인증기관 4.인증기관 인증서 및 인증서 취소 목록 요구 5.인증서 및 인증서 취소 목록 전송 1.인증서 발급 신청 6.취소목록 검증 7.상대방인증서 검증 8.디지털서명 검증 3.디지털서명 생성 및 전송 (전자문서 + 디지털서명 + 인증서) 사용자A 사용자B 인증서 발급절차 13
공개키 인증서 • ITU에 의해 제안된 인증서의 기본형식을 정의한 규격 • 인증서 데이터 형식 • 인증서를 이용한 공개키의 효율적인 분배 방법을 정의 • X.509 v1, v2 • 인증서 취소 목록(CRL:Certificate Revocation List)를 포함 • X.509 v3 • 인증서를 정의하는 다양한 환경에 맞는 조건과 서명 알고리즘들의 선택이 가능하도록 확장영역을 추가 14
공개키 인증서 • X.509 v11988년 발표, CA의 개인키로 서명 • 인증 경로 • 인증서의 폐기 • X.509 v2 : X.509 v1 형식과 거의 비슷 • 두 개의 옵션을 추가 • 발급자 고유 ID (issuer unique identifier) • 주체 고유 ID (subject unique identifier) • X.509 v3 새로운 개념이 많이 도입 • 확장자 도입 • 키 및 정책 확장자 • 주체와 발급자에 대한 속성 정보 • 인증서 경로 규제 정보 15
X.509 인증서 16
공개키 인증서 • 인증서 형식: X. 509 v1,v2,v3 17
공개키 인증서 • 기본 필드 (1) • 버전(version) version): 인증서의 버전 (V3를 정수 2로 표현) • 일련번호(serial number): 인증서에 부여되는 유일한 양의 정수 • 서명 알고리즘 (signature): 인증서 생성시에 사용한 알고리즘에 대한 식별정보로 OID를 사용하여 표현 • 발급자(issuer): 인증서를 발급한 인증기관의 명칭을 DN 형식으로 표현 • 한글을 사용하는 경우에는 UTF8 형식으로 표현 • 유효기간(validity): 인증서의 상태를 인증기관이 보증해 주는 기간 • GMT로 표현, 2049년까지는 UTC Time 형식, 2050년부터는 Generalized Time 형식 사용 18
공개키 인증서 • 기본 필드 (2) • 소유자(subject): 인증서 소유자의 명칭을 DN 형식으로 표현 • 한글을 사용하는 경우에는 UTF8 형식으로 표현 • 소유자 공개키 정보(subject public key info.) • 하위 필드 algorithm에 알고리즘의 OID 표현 • 하위필드 subjectPublicKey에 공개키 정보 표현 • 발급자 고유식별자 (issuer unique identifier) • 하나의 DN에 대해 서로 다른 발급자가 사용하는 경우에 이를 식별 • 소유자 고유식별자(subject unique identifier) • 하나의 DN에 대해 서로 다른 소유자가 사용하는 경우에 이를 식별 • 본 표준을 준용하는 시스템은 이 필드 사용금지 19
공개키 인증서 • 확장 필드 (1) 인증서 정책, 인증서 정책 매핑 필드, 대체 이름 필드, 개체 디렉토리 속성 필드, 인증 경로 제한 속성 필드 등을 포함 • 소유자 공개키 식별자(Subject Key Identifier) • Definition • 인증기관으로부터 인증 받는 공개키를 식별 • KeyIdentifier 사용 • 기본 필드의 subjectPublicKey 정보를 해쉬하여 저장(160비트) • Recommendation • Non-critical 20
공개키 인증서 • 확장 필드 (2) • 키 사용목적(Key Usage) • Definition • 소유자의 공개키가 사용되는 목적을 명시 • Recommendation • 공인인증기관 인증서 : keyCertSign, cRLSign • 사용자 인증서 : digitalSignature, non-repudiation 21
공개키 인증서 • 인증서 소유자 : X.500 DN Root RDN = KR 한국 미국 RDN = SCH 순천향대 정부 정부 IBM RDN = K.D.Hong 홍길동 속 성 DN : {C=KR, O=SCH, CN=K.D.Hong } CN : K.D.Hong 전화번호 : 0418-542-8819 전자우편 주소 : kdhong@netsec.cbnu.ac.kr 직위 : 연구원 22
인증서 발급 및 취소 (1) 초기 등록 및 인증: • 등록/인증 초기화, 사용자에 대한 메시지 인증, 사용자를 위한 공개키의 생성, 사용자 인증 과정 등을 포함 (2) 개인키 소유 증명(POP, Proof of Possession) • CA/RA는 사용자가 공개키에 대응하는 개인키를 소지하고 있다는 사실을 확신해야 한다. • 키의 유형에 따라 각각 다른 방법으로 수행될 수 있다. (3) 루트 CA 키 갱신 • 루트 CA가 자신의 키 쌍을 갱신하는 절차 • CA는 새로운 공개키를 이전의 개인키를 이용하여 보호한다. (4) 인증서 취소 요구 및 처리 • 키 손상 및 문제 발생; 키 손상에 대한 복구; CRL 획득 절차; 키 생성 및 재인증 23
인증서 발급 및 취소 • 인증서 취소 • 인증서 발행 조직에서의 탈퇴 • 비밀키의 손상 • 비밀키 유출의 의심 • 인증서 취소 메커니즘 • X.509에 정의된 CRL 메커니즘 • 인증서 취소 목록의 기본 영역 • 서명 알고리즘: CRL에 서명한 서명 알고리즘 ID 및 관련 데이터 • 발급자 : 발급자 CA의 X.509 이름 • 최근 수정 일자: 최근 수정 일자(UTC Time) • 차후 수정 일자: 다음 수정 일자(UTC Time) • 취소 인증서 목록: 취소된 인증서 목록들 • CRL확장자: CRL 확장자 유무 및 내용 • 발급자 서명문: 발급자의 서명문 24
인증서 발급 및 취소 25
PKI 운영 프로토콜 • 인증서 및 CRL의 상태를 저장소로부터 조회하기 위한 프로토콜 • LDAP(Lightweight Directory Access Protocol) • FTP(File Transfer Protocol) • 인증서 온라인 상태의 유효성을 검증 • OCSP(Online Certificate Status Protocol) • PKI 운영 프로토콜의 기본 모델 • 사용자 • CA • 저장소 LDAP나 FTP를 이용하여 저장소로부터 인증서나 CRL들을 검색 26
2.2 사용자 인증서 • 인증서에서의 표기법 • CA<<A>> = CA{V, SN, AI, CA, TA, A, AP} Y<<X>> : 인증기관 Y에 의하여 발행된 사용자 X의 인증서 Y{I} : Y에 의한 I의 서명 • 인증서 요청 처리 절차 • 인증서 요청은 CA로부터 서명을 받고자 하는 개인 사용자에 의하여 시작됨 • 인증서 요청(사용자 이름, 전자우편주소, 공개키 등의 정보를 포함함)은 개인키로 암호화되어 CA에게 전달됨 • CA는 사용자 이름과 공개키를 추출하여 공개키가 요청자의 것인지를 확인하여 인증서를 발행하여 요청자에게 전달함 27
2.2 사용자 인증서 • 사용자의 인증서 획득 • CA에 의해 생성된 사용자 인증서의 특성 • CA의 공개키에 접근하는 모든 사용자는 확인된 사용자 공개키를 검증할 수 있음 • 인증기관 이외의 누구도 발각되지 않고 인증서를 수정할 수 없음 • CA의 계층 구조(그림 14.4) • 상위 계층이 하위 계층을 신뢰하는 개념 • 임의의 A는 두 가지 형태의 인증서를 가짐(예 : CA X) • 순방향 인증서 : 다른 CA에 의하여 생성된 X의 인증서 • 역방향 인증서 : X에 의하여 생성된 다른 CA의 인증서 28
2.2 사용자 인증서 • 사용자의 인증서 획득 • 사용자 A의 B에 대한 인증서 경로를 만들기 위한 인증서 획득 순서 • X<<W>>W<<V>>V<<Y>>Y<<Z>>Z<<B>> • A는 이 인증서 경로를 이용하여 B의 공개키를 얻고 B의 공개키를 이용하여 암호화된 메시지를 B에게 전달 B가 A이 공개키를 필요로 하면 • Z<<Y>>Y<<V>>V<<W>>W<<X>>X<<A>> 의 인증서 경로를 이용하여 획득함 29
2.2 사용자 인증서 • 사용자의 인증서 취소 • 인증서는 신용카드와 유사한 유효기간을 가지고 있음. 인증서는 다음 이유 중 한가지 때문에 취소하는 것이 바람직 할 때가 있음 • 사용자의 개인키가 손상된 것으로 간주될 때 • 사용자가 이 CA에 의해 더 이상 인증되지 않을 때 • CA의 인증서가 손상된 것으로 간주될 때 • CA는 취소된 인증서의 목록을 관리하여야 함(그림 14.3b) 30
2.3 사용자 인증 • 일방향 인증 (One-Way Authentication) • 단방향 인증은 A로부터 B로 정보의 전달이 한 번 이루어짐 • A에 대한 신원 확인과 메시지가 A에 의해 생성되었음 • 메시지가 B에게 전송 • A의 확인만 가능 31
2.3 사용자 인증 • Two-Way Authentication • 일방향의 인증의 세가지 요소에 다음과 같은 요소를 추가 • A에 대한 신원 확인과 응답 메시지 생성되었음 • 메시지가 A에게 전송 • 양방향 상호 인증 32
2.3 사용자 인증 • Three-Way Authentication • 임시비표의 서명을 A에서 B로 전달 • 타임 스탬프의 문제점 해결 (동기화 문제) 33
정부 국내 PKI 체계 정보통신부 • 정보통신부 • NPKI 기본 정책 결정 • 인증관리센터(KISA) • 공인인증기관에 대한 인증서 발행 • 인증서정책 관리/유지 공개키기반구조 정책 한국정보보호센터루트 인증기관 일반전자거래 (정보인증) 은행분야 (금결원) 증권분야 (증권전산) 공공분야 (전산원) 전자거래 (전자인증) 무역 (정보통신) 등록기관(RA) 가입자 34