공시 한 판

정보보호론 개념서 · PKI와 블록체인

X.509 인증서 구조와 CRL

설명 영상 X.509 인증서 구조와 CRL · 2:49

핵심 정리

인증서는 전자서명생성정보가 가입자에게 유일하게 속한다는 사실을 확인하고 이를 증명하는 전자적 정보다. 인증서에는 비대칭키 암호 알고리즘에서 사용하는 공개키 정보가 포함된다. X.509는 이 인증서의 형식을 정한 표준이며, 인증서는 발급자·소유자·공개키·유효 기간 등을 정해진 필드에 나누어 담는다. 따라서 각 필드에 담기는 내용을 구별해야 한다.

인증기관은 사용자의 공개키에 전자서명하여 인증서를 생성한다. 인증서에 대한 신뢰는 이 서명에서 비롯된다. X.509 인증서의 발급자 디지털 서명은 인증기관의 개인키로 생성되며, 사용자는 인증기관의 공개키로 이를 검증한다. 웹 브라우저에는 루트 인증서가 미리 설치되어 있어 신뢰의 출발점이 된다. 사용자가 루트 인증서를 제거하거나 사용을 중지하는 경우는 드물다.

인증서의 효력 범위는 유효 기간과 확장 필드가 정한다. X.509 인증서의 Validity 필드에는 유효 기간이 들어가며, 그 기간은 Not Before와 Not After로 표시된다. 확장 필드는 인증서 주체가 CA인지, 키의 용도가 무엇인지 등을 나타낸다. S/MIME은 X.509 버전 3을 따르는 공개키 인증서를 사용한다. 따라서 버전 3 인증서에서 확장 필드의 역할도 알아 두어야 한다.

인증서는 유효 기간 안에서도 효력을 잃을 수 있다. 잘못 발급되었거나 개인키가 손상된 인증서는 폐지된다. 이때 사용하는 목록이 CRL(인증서 폐기 목록)이다. CRL은 해지되었거나 더 이상 유효하지 않은 인증서들의 목록이다. 인증기관은 이 목록을 주기적으로 관리한다. 공개키를 이용하기 전에는 CRL을 조회해 해당 인증서의 유효성을 확인해야 한다. CA의 개인키가 노출되면 CRL 등으로 그 사실을 이용자에게 통지해야 한다.

자세히

CRL의 구성과 관리

CRL은 폐지 정보를 담는 정해진 형식을 갖춘다. CRL의 발행자 이름은 해당 CRL을 발행한 CA를 나타내는 필드다. 반면 CRL 형식에는 인증서 소유자를 나타내는 사용자 이름(Subject name) 필드가 포함되지 않는다. 소유자 정보가 필요하면 인증서 자체를 확인해야 한다. CRL은 시리얼 번호 목록으로 이해하면 된다. 폐지된 인증서 레코드는 CRL의 핵심 구성 요소로, 헤더 뒤에 이어진다. 금번 업데이트 날짜(This update)는 CRL이 발행된 시점을 나타내는 필수 필드다. 이 날짜가 목록의 기준 시점을 정하므로, 이용자는 이 값을 보고 목록이 최신인지 판단한다.

폐지 상태를 확인하는 방법에는 CRL을 받아 목록에서 인증서를 찾는 방식과 개별 인증서의 상태를 온라인으로 묻는 OCSP가 있다. IETF가 승인한 인증서 유효성 점검 방법은 OCSP다. 해지(Revoked)는 인증서가 영구적으로 무효가 된 상태이고, 효력 중지(Hold)는 임시로 무효가 된 상태다. 개인키를 잃어버렸는지 확실하지 않아 효력이 중지된 인증서는 나중에 개인키가 발견되고 다른 누구도 접근하지 않았다면 다시 유효해진다. 이후 발행되는 CRL에는 해당 인증서가 포함되지 않는다.

발급자와 소유자 식별 필드

인증서에는 발급자와 소유자를 구분하는 두 이름 필드가 있다. 발급자 이름(Issuer name)은 인증서를 발급한 인증기관의 이름이다. 소유자 이름(Subject name)은 인증서를 사용하는 주체(소유자)의 식별 정보다. 주체는 소유자를 뜻하므로, 발급자와 소유자를 바꾸어 쓰면 잘못된 설명이 된다.

이어지는 내용

로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 절 읽기