디지털 인증서와 인증 기관

디지털 인증서는 클라이언트나 서버 같은 엔티티의 ID를 확인하기 위해 인증 기관이라는 신뢰할 수 있는 당사자에 의해 발행됩니다.

디지털 인증서는 소유자의 ID를 확인하고 소유자의 공개 키를 사용하는 등, 두 가지 목적에 이용됩니다. 만기일과 함께 발행되며, 만기일 이후에는 인증 기관(CA)이 더 이상 인증서를 보증하지 않습니다.

디지털 인증서를 얻으려면 사용자가 선택하는 CA(예: Verisign 또는 RSA)에 요청을 전송합니다. 요청에는 식별 이름, 공개 키, 서명이 포함됩니다. 식별 이름(DN)은 인증서를 적용하려는 각 사용자 또는 호스트의 고유 ID입니다. CA는 공개 키를 사용하여 사용자의 서명을 검사하고 사용자 ID의 몇 가지 확인 레벨을 수행합니다(CA에 따라 다름). 확인 후, CA가 사용자에게 사용자의 식별 이름과 공개 키, CA의 식별 이름 및 인증 기관의 서명을 포함하는 서명된 디지털 인증서를 전송합니다. 이 서명된 인증서는 키 데이터베이스에 저장합니다.

이 인증서를 수신자에게 보내면 수신자는 2단계를 수행하여 사용자의 ID를 확인합니다.
  1. 인증서에 포함된 공개 키를 사용하여 디지털 서명을 확인합니다.
  2. 인증서를 발행한 CA가 올바르고 신뢰할 수 있는지 확인합니다. 이를 수행하기 위해 수신자는 CA의 공개 키가 필요합니다. 수신자는 해당 키 데이터베이스에서 CA 공개 키의 보장된 사본을 이미 보유하고 있을 수도 있습니다. 하지만 그렇지 않은 경우 수신자는 CA 공개 키를 확보하려면 추가 디지털 인증서가 필요합니다. 이 인증서는 다른 CA의 디지털 인증서에 따라 다를 수 있습니다. 다음 유효성에 따라 여러 CA에서 발행한 인증서의 계층 구조가 존재할 수 있습니다. 그러나 실제로 수신자는 루트 CA의 공개 키가 필요합니다. 루트 CA는 계층 구조의 맨 위에 있는 CA입니다. 루트 CA의 디지털 인증서에 대한 유효성을 신뢰하기 위해 공개 키 사용자는 안전한 방식으로 디지털 인증서를 수신해야 합니다(예: 인증된 서버에서 다운로드하거나, 신뢰할 수 있는 소스에서 수신한 사전로드된 소프트웨어로 또는 안전하게 전달된 디스켓에서 수신).

디지털 인증서를 수신자에게 전송하는 많은 애플리케이션은 자신의 인증서뿐 아니라 루트 CA 인증서까지의 인증서의 계층 구조를 확인하기 위해 필요한 모든 CA 디지털 인증서를 전송합니다.

디지털 인증서를 전적으로 신뢰할 수 있기 위해서는 디지털 인증서의 소유자는 예를 들어, 컴퓨터의 하드 드라이브에서 인증서를 암호화하여 개인 키를 신중하게 보호해야 합니다. 해당 개인 키가 안전하지 않은 경우 공격자가 디지털 인증서를 악용할 수 있습니다.

테스트를 위해 자체 서명된 디지털 인증서를 사용할 수 있습니다. 자체 서명된 디지털 인증서에는 식별 이름, 공개 키, 서명이 포함됩니다.