Share via


디지털 인증서 이해

 

마지막으로 수정된 항목: 2005-05-19

공개 키 암호화를 사용하면 많은 사람이 하나의 키 쌍을 사용하도록 하여 키 관리를 간단하게 할 수 있지만 사용자가 공개 키를 찾고 공개 키의 유효성을 확인할 수 있도록 공개 키를 배포하는 방법이 문제입니다.

S/MIME의 경우 디지털 인증서를 사용하여 이 문제를 해결할 수 있습니다. S/MIME은 디지털 인증서로 인해 경쟁 관계에 있는 여러 메시지 보안 솔루션과 차별화됩니다.

디지털 인증서 및 공개 키 암호화 이해

디지털 인증서는 여권 또는 운전 면허증과 매우 유사한 디지털 형식의 ID입니다. 디지털 인증서는 엔티티의 ID뿐만 아니라 다른 지원 정보도 제공하는 일종의 디지털 자격 증명입니다. 디지털 인증서는 CA(인증 기관)라고 하는 기관에서 발급합니다. 디지털 인증서는 인증 기관이 발급하므로 해당 기관에서 인증서 정보의 유효성을 보장합니다. 또한 디지털 인증서는 지정된 기간에만 유효합니다.

디지털 인증서에는 인증서에 지정된 엔터티의 공개 키가 있으므로 디지털 인증서는 공개 키 암호화를 지원합니다. 인증서는 공개 키를 특정 개인과 연결하며 발급자가 인증서의 신뢰성을 보장하기 때문에 디지털 인증서는 어떻게 사용자의 공개 키를 찾고 유효성을 확인하는가 하는 문제를 해결합니다. 이 문제는 사용자가 디지털 인증서로부터 다른 사용자의 공개 키를 가져옴으로써 해결됩니다. 신뢰할 수 있는 CA(인증 기관)가 인증서를 발급했으므로 사용자는 그 인증서가 유효함을 확신할 수 있습니다.

또한 디지털 인증서는 공개 키 암호화에 기초하여 자체 인증을 수행합니다. 디지털 인증서가 발급되면 인증서 발급 기관은 자체의 개인 키를 가지고 인증서에 서명합니다. 디지털 인증서의 신뢰성을 확인하기 위해 사용자는 해당 인증 기관의 공개 키를 가져와 인증서와 대조하여 그 공개 키가 인증 기관에서 서명한 것인지 판별할 수 있습니다.

디지털 인증서의 구성 이해

디지털 인증서가 유용하기 위해서는 인증서에 포함된 정보를 쉽게 검색하고 이해할 수 있도록 쉽고 신뢰할 수 있는 방식으로 구성되어야 합니다. 예를 들어 여권의 경우 한 번도 본 적이 없는 유형의 여권에 있는 정보도 사람들이 쉽게 이해하도록 유사한 구성을 따릅니다. 마찬가지로 디지털 인증서가 표준화되어 있다면 발급한 기관에 상관없이 그 디지털 인증서를 읽고 이해할 수 있습니다.

S/MIME 표준에서는 S/MIME용 디지털 인증서가 ITU(International Telecommunications Union) X.509 표준을 준수하도록 지정하고 있습니다. S/MIME 버전 3에서는 디지털 인증서가 X.509 버전 3을 준수하도록 명시적으로 요구합니다. S/MIME은 디지털 인증서 구조와 관련하여 규정되고 공인된 표준에 기초하므로 S/MIME 표준은 표준의 성장을 가져오고 따라서 더욱 널리 채택되게 되었습니다.

X.509 표준은 디지털 인증서에 표준화된 정보를 넣도록 명시합니다. 특히 X.509 버전 3 인증서에는 다음 필드가 있습니다.

  • 버전 번호 인증서에서 준수하는 X.509 표준 버전입니다.
  • 일련 번호 인증서를 고유하게 식별하는 숫자로 인증 기관에서 발급합니다.
  • 인증서 알고리즘 식별자 인증 기관에서 디지털 인증서 서명에 사용한 특정 공개 키 알고리즘의 이름입니다.
  • 발급자 이름 인증서를 실제로 발급한 인증 기관의 ID입니다.
  • 유효 기간 디지털 인증서가 유효한 기간이며 시작 날짜와 만료 날짜가 모두 포함되어 있습니다.
  • 주체 이름 디지털 인증서의 소유자 이름입니다.
  • 주체 공개 키 정보 디지털 인증서의 소유자와 관련된 공개 키 및 공개 키와 관련된 특정 공개 키 알고리즘입니다.
  • 발급자 고유 식별자 디지털 인증서의 발급자를 고유하게 식별하는 데 사용되는 정보입니다.
  • 주체 고유 식별자 디지털 인증서의 소유자를 고유하게 식별하는 데 사용되는 정보입니다.
  • 확장 인증서 사용 및 처리와 관련된 추가 정보입니다.
  • 인증 기관의 디지털 서명 인증서 알고리즘 식별자 필드에 지정된 알고리즘을 사용하여 인증 기관의 개인 키로 만들어진 실제 디지털 서명입니다.

S/MIME에는 X.509 v3 인증서가 필요하므로 이 정보는 S/MIME이 특정 인증서에 사용하는 특성도 설명합니다.

중요

X.509 v3 표준은 일반적으로 디지털 인증서를 제어하는 표준으로 S/MIME 인증서 고유의 인증서 표준을 제공하지는 않습니다. S/MIME 고유의 디지털 인증서에 대한 정보는 S/MIME RFC에 설명되어 있습니다.

디지털 인증서는 전자 인증서이지만 표준화되어 있기 때문에 PC뿐만 아니라 수많은 장치에 사용될 수 있습니다. 휴대용 장치, 휴대폰, 스마트 카드라고 하는 휴대용 카드에도 디지털 인증서를 사용할 수 있습니다. 스마트 카드는 다양한 장치에 사용할 수 있으며 어떤 면에서는 디지털 인증서를 이상적으로 활용한 것이라고 할 수 있습니다. 스마트 카드는 디지털 인증서를 기존의 운전 면허증 및 여권처럼 휴대 및 사용이 쉽도록 합니다.

S/MIME RFC 및X.509 버전 3 표준을 통해 S/MIME 인증서를 표준화하면 표준을 따르는 모든 응용 프로그램에서 디지털 인증서를 이해할 수 있게 되므로 이는 S/MIME 성공의 핵심 요소입니다.

디지털 인증서 및 공개 키 인프라

공개 키 암호화의 이점 중 하나는 키 쌍 하나가 수많은 대칭 키를 대신하므로 키 관리가 줄어든다는 것입니다. 공개 키가 배포 및 관리되도록 하는 디지털 인증서를 통해 이러한 이점이 더욱 강화됩니다. 그러나 디지털 인증서는 자체 관리(self-managing)되지 않습니다. 기본적으로 디지털 인증서는 널리 배포되기 때문에 이러한 인증서 관리에서는 이러한 디지털 인증서의 배포 특성을 해결해야 합니다. 디지털 인증서는 사용될 컨텍스트 안에서 인증서를 관리하기 위한 기능적인 인프라를 필요로 합니다. PKI(공개 키 인프라)는 디지털 인증서로부터 분리될 수 없습니다. PKI에서 인증서 발급을 담당하여 디렉터리를 통한 인증서 배포 및 인증서 유효성 확인이 수행됩니다. PKI는 디지털 인증서를 지원하고 디지털 인증서에서 S/MIME과 같은 서비스의 기반이 되는 기능을 제공할 수 있도록 하기 위한 기초 작업을 담당합니다.

PKI는 주제가 광범위하고 복잡하기 때문에 이 설명서에서 다루지 않습니다. 여기서 설명하는 정보는 PKI 및 디지털 인증서가 메시지 보안과 결합하여 작동하는 방식에 초점을 둡니다. PKI를 설명하는 좋은 리소스가 많이 있습니다. PKI 공급업체 문서 및 기타 PKI별 소스에서 PKI에 대한 많은 정보를 얻을 수 있습니다.

PKI와 메시지 보안 방법

PKI는 인증서를 발급하고 디렉터리를 통해 그 인증서에 액세스할 수 있도록 하여 디지털 인증서가 사용될 수 있도록 합니다. 또한 PKI는 인증서의 신뢰성, 유효성, 안정성을 검사하여 디지털 인증서의 유효성을 확인합니다. 디지털 인증서는 타사 인증 기관을 이용하여 배포된 모델에 의존하므로 PKI 서비스는 디지털 인증서에 매우 중요합니다.

디지털 인증서가 발급되어 디렉터리에 게시되는 방법은 PKI 제품 및 구현 방식에 따라 다릅니다. 일반적으로 PKI는 디지털 인증서를 발급하고 다른 응용 프로그램에서 해당 정보에 액세스할 수 있는 디렉터리에 이러한 인증서 관련 정보를 게시합니다. 이 정보의 일부는 디지털 인증서의 유효성 확인에 사용됩니다. 공개 키 암호화 이해의 “공개 키 암호화를 사용한 메시지 보안”에서 설명한 것처럼 메시지 보안 작업을 수행하려면 보낸 사람과 받는 사람 모두의 공개 키에 액세스해야 합니다. 디지털 인증서에서 이 정보를 제공하므로 메시지 보안 시스템에서 사용자의 디지털 인증서에 액세스하는 것이 매우 중요합니다. 디지털 인증서에 대한 액세스를 제공하는 PKI는 수동으로 키를 교환할 필요가 없게 함으로써 간단한 키 관리라는 측면에서 공개 키 암호화가 제공하는 이점을 기반으로 구축됩니다. PKI는 디렉터리를 통해 디지털 인증서를 사용할 수 있도록 만들어 필요 시 응용 프로그램에서 검색할 수 있도록 합니다.

PKI를 통해 인증서의 유효성을 확인하는 과정을 이해하려면 디지털 인증서 발급 시 인증 기관의 역할을 기억하십시오. 이 항목의 앞부분에 나오는 "디지털 인증서 및 공개 키 암호화 이해"에서 설명한 것처럼 발급한 인증 기관에서 ID의 유효성을 보증하며 공개 키를 사용하여 디지털 인증서에 서명함으로써 이를 보여 줍니다. 인증서 신뢰성 검사는 인증 기관의 디지털 서명을 확인해야 함을 의미합니다. PKI는 인증서 발급 기관의 서명을 확인할 수 있도록 하여 인증서의 유효성을 확인합니다. 서명을 확인할 수 없다면 인증서는 신뢰할 수 없는 것으로 간주됩니다.

이 항목의 앞부분에서 언급된 것처럼 완벽한 보안 방법은 없습니다. 주로 개인 키의 유실로 인해 디지털 인증서가 손상될 수 있습니다. 디지털 인증서를 신뢰할 수 있으려면 도난 신용 카드를 취소하듯이 디지털 인증서가 만료되기 전에 취소하거나 “해지”할 방법이 있어야 합니다. 인증서 해지는 디지털 인증서를 지원하기 위해 PKI가 제공하는 또 다른 중요 서비스이며 디지털 인증서를 확인하는 프로세스의 또 다른 부분입니다.

PKI는 디지털 인증서를 신뢰할 수 있도록 해 주므로 디지털 인증서에서 필수적인 부분입니다. PKI 없이는 디지털 서명을 사용할 수 없습니다. Exchange Server 2003은 X.509 v3 인증서를 지원하므로 Exchange 설치를 지원하는 특정 PKI는 Exchange에 사용된 디지털 인증서에 따라 달라집니다. 그러나 메시지 보안의 관점에서 보면 모든 PKI가 디지털 인증서를 지원할 때 이러한 기본 서비스를 제공합니다. PKI별 차이점은 관련 구현 및 설계, 각 PKI 배포에 따른 것입니다.

디지털 인증서를 사용한 메시지 보안

디지털 인증서와 그 공개 키 암호화 지원 방식을 이해한 다음에는 이 정보를 메시지 보안에 적용해야 합니다. 다음 섹션에서는 디지털 인증서에서 디지털 서명 및 메시지 암호화 등의 핵심 보안 서비스를 어떻게 지원하는지 설명합니다.

디지털 인증서를 사용한 디지털 서명 방법

공개 키 암호화 이해의 "공개 키 암호화 및 디지털 서명"에서 설명한 것처럼 사용자의 개인 키와 공개 키 간의 관계를 통해 받는 사람은 보낸 사람의 메시지를 인증하고 검사할 수 있습니다. 디지털 인증서는 신뢰할 만한 공개 키 배포 및 액세스 방법을 제공하여 공개 키 암호화를 지원합니다. 보낸 사람은 메시지에 서명할 때 디지털 인증서에서 사용할 수 있는 공개 키와 관련된 개인 키를 제공합니다. 그런 다음 받는 사람이 메시지에서 디지털 서명을 확인할 때 받는 사람은 보낸 사람의 디지털 인증서를 통해 작업을 수행하기 위해 공개 키를 가져옵니다. 다음 그림은 디지털 인증서의 지원 요소가 추가된 서명 순서를 보여 줍니다.

35451fb8-5e11-4d67-ba6e-e5d4da6febca

  1. 메시지가 캡처됩니다.
  2. 메시지의 해시 값이 계산됩니다.
  3. 보낸 사람의 디지털 인증서에서 보낸 사람의 개인 키가 검색됩니다.
  4. 보낸 사람의 개인 키를 사용하여 해시 값이 암호화됩니다.
  5. 암호화된 해시 값이 디지털 서명으로 메시지에 추가됩니다.
  6. 메시지가 전송됩니다.

다음 그림은 디지털 인증서의 지원 요소가 추가된 확인 순서를 보여 줍니다.

d1b14a27-5cfb-4df2-89f7-990219378716

  1. 메시지가 수신됩니다.
  2. 메시지에서 암호화된 해시 값을 포함한 디지털 서명이 검색됩니다.
  3. 메시지가 검색됩니다.
  4. 메시지의 해시 값이 계산됩니다.
  5. 보낸 사람의 디지털 인증서에서 보낸 사람의 공개 키가 검색됩니다.
  6. 보낸 사람의 공개 키를 사용하여 암호화된 해시 값의 암호가 해독됩니다.
  7. 암호가 해독된 해시 값이 수신 시 생성된 해시 값과 비교됩니다.
  8. 값이 일치하면 메시지가 유효합니다.

이 순서에서 보여 준 것처럼 디지털 인증서는 디지털 서명의 확인을 위해 공개 키에 대한 액세스를 제공합니다.

디지털 인증서를 사용한 메시지 암호화

디지털 인증서는 공개 키를 유효성 확인 프로세스에 사용할 수 있도록 하여 디지털 서명을 지원하듯이 공개 키를 암호화 프로세스에 사용할 수 있도록 하여 메시지 암호화를 지원합니다. 공개 키 암호화 이해의 "공개 키 암호화 및 메시지 암호화"에서 설명한 것처럼 보낸 사람은 받는 사람의 공개 키에 액세스할 수 있습니다. 따라서 보낸 사람은 메시지를 암호화할 수 있으며 받는 사람만 해당 메시지의 암호를 해독할 수 있음을 알 수 있습니다. 이 경우 사람의 디지털 인증서로 인해 암호화가 가능해집니다. 디지털 서명처럼 디지털 인증서의 공개 키를 통해 작업이 가능해집니다. 다음 그림은 디지털 인증서의 지원 요소가 추가된 암호화 순서를 보여 줍니다.

21058391-2d70-42f9-bf25-8ead79705b27

  1. 메시지가 캡처됩니다.
  2. 받는 사람의 디지털 인증서에서 공개 키가 검색됩니다.
  3. 일회성 대칭 세션 키가 생성됩니다.
  4. 세션 키를 사용하여 메시지에서 암호화 작업이 수행됩니다.
  5. 받는 사람의 공개 키를 사용하여 세션 키가 암호화됩니다.
  6. 암호화된 세션 키가 암호화된 메시지에 포함됩니다.
  7. 메시지가 전송됩니다.

다음 그림은 디지털 인증서의 지원 요소가 추가된 암호 해독의 순서를 보여 줍니다.

50f0afca-e520-46b5-8e12-6e295dfe86d9

  1. 메시지가 수신됩니다.
  2. 메시지에서 암호화된 메시지 및 세션 키가 검색됩니다.
  3. 받는 사람의 디지털 인증서에서 받는 사람의 개인 키가 검색됩니다.
  4. 받는 사람의 디지털 인증서에서 받는 사람의 개인 키를 사용하여 세션 키의 암호가 해독됩니다.
  5. 암호가 해독된 세션 키를 사용하여 메시지의 암호가 해독됩니다.
  6. 암호화되지 않은 메시지가 받는 사람에게 반환됩니다.

디지털 인증서를 사용한 디지털 서명 및 메시지 암호화 방법

디지털 서명 및 메시지 암호화는 상호 보완적입니다. 다음 그림은 디지털 서명의 지원 요소가 추가된 서명 및 암호화 순서를 보여 줍니다.

e81cca9b-c780-49d9-a3f9-69cc3c442183

  1. 메시지가 캡처됩니다.
  2. 메시지의 해시 값이 계산됩니다.
  3. 보낸 사람의 디지털 인증서에서 보낸 사람의 개인 키가 검색됩니다.
  4. 받는 사람의 디지털 인증서에서 받는 사람의 공개 키가 검색됩니다.
  5. 보낸 사람의 개인 키를 사용하여 해시 값이 암호화됩니다.
  6. 암호화된 해시 값이 디지털 서명으로 메시지에 추가됩니다.
  7. 일회성 대칭 세션 키가 생성됩니다.
  8. 세션 키를 사용하여 메시지에서 암호화 작업이 수행됩니다.
  9. 받는 사람의 공개 키를 사용하여 세션 키가 암호화됩니다.
  10. 암호화된 세션 키가 암호화된 메시지에 포함됩니다.
  11. 메시지가 전송됩니다.

다음 그림은 추가된 공개 키 암호화 지원 요소를 사용하여 디지털 서명의 암호를 해독하고 확인하는 순서를 보여 줍니다.

97705e57-0a94-4197-99c3-40bb58a9eaa0

  1. 메시지가 수신됩니다.
  2. 메시지에서 암호화된 메시지 및 암호화된 세션 키가 검색됩니다.
  3. 받는 사람의 디지털 인증서에서 받는 사람의 개인 키가 검색됩니다.
  4. 받는 사람의 디지털 인증서에서 가져온 받는 사람의 개인 키를 사용하여 세션 키의 암호가 해독됩니다.
  5. 암호가 해독된 세션 키를 사용하여 메시지의 암호가 해독됩니다.
  6. 메시지에서 암호화된 해시 값이 포함된 디지털 서명이 검색됩니다.
  7. 메시지의 해시 값이 계산됩니다.
  8. 보낸 사람의 디지털 인증서에서 보낸 사람의 공개 키가 검색됩니다.
  9. 보낸 사람의 공개 키를 사용하여 암호화된 해시 값의 암호가 해독됩니다.
  10. 암호가 해독된 해시 값이 수신 시 생성된 해시 값과 비교됩니다.
  11. 값이 일치하면 메시지가 유효합니다.
  12. 암호화되지 않은 메시지가 받는 사람에게 반환됩니다.

디지털 인증서를 통해 공개 키 암호화가 가능해지는 과정 및 디지털 서명 및 메시지 암호화에 대한 기본 보안 서비스를 제공하기 위해 공개 키 암호화가 작동하는 방식을 이해하면 S/MIME 메시지 보안의 작동 방식을 이해할 수 있습니다. 이 개념들은 함께 메시지 보안의 근간을 형성합니다.