공개 키 인프라
공개 키 암호화(비대칭 키 암호화라고도 함)는 키 쌍을 사용하여 콘텐츠를 암호화하고 암호를 해독합니다. 키 쌍은 하나의 공용 키와 수학적으로 관련된 하나의 프라이빗 키로 구성됩니다. 다른 사용자와 안전하게 통신하려는 개인은 공개 키를 배포할 수 있지만 프라이빗 키 는 비밀로 유지해야 합니다. 키 중 하나를 사용하여 암호화된 콘텐츠는 다른 키를 사용하여 해독할 수 있습니다. 예를 들어 Bob이 Alice에게 보안 전자 메일 메시지를 보내려고 하는 경우를 가정합니다. 이 작업은 다음과 같은 방식으로 수행할 수 있습니다.
- Bob과 Alice는 모두 고유한 키 쌍을 가지고 있습니다. 그들은 자신의 개인 키를 자신에게 안전하게 유지하고 서로에게 직접 공개 키를 보냈습니다.
- Bob은 Alice의 공개 키를 사용하여 메시지를 암호화하고 그녀에게 보냅니다.
- Alice는 프라이빗 키를 사용하여 메시지의 암호를 해독합니다.
이 간소화된 예제에서는 Bob이 메시지를 암호화하는 데 사용한 공개 키에 대해 하나 이상의 명백한 우려를 강조합니다. 즉, 암호화에 사용한 키가 실제로 Alice에 속한다는 것을 확실하게 알 수 없습니다. Bob과 Alice 간의 통신 채널을 모니터링하는 다른 당사자가 다른 키를 대체한 것일 수 있습니다.
공개 키 인프라 개념은 이 문제 및 기타 문제를 해결하는 데 도움이 되도록 발전했습니다. PKI(공개 키 인프라)는 신뢰할 수 있는 타사에서 공개 키의 무결성 및 소유권을 설정하는 데 사용할 수 있는 소프트웨어 및 하드웨어 요소로 구성됩니다. CA( 인증 기관 )라고 하는 신뢰할 수 있는 당사자는 일반적으로 인증서 주체의 ID를 확인하고 인증서에 포함된 공개 키에 해당 ID를 바인딩하는 서명된(암호화된) 이진 인증서를 발급하여 이를 수행합니다. CA는 프라이빗 키를 사용하여 인증서에 서명합니다. 자체 서명된 CA 인증서의 모든 이해 관계자에게 해당 공개 키를 발급합니다. CA를 사용하는 경우 위의 예제를 다음과 같은 방식으로 수정할 수 있습니다.
- CA가 공개 키가 포함된 서명된 디지털 인증서를 발급했다고 가정합니다. CA는 인증서의 공개 키에 해당하는 프라이빗 키를 사용하여 이 인증서에 자체 서명합니다.
- Alice와 Bob은 CA를 사용하여 ID를 확인하는 데 동의합니다.
- Alice는 CA에서 공개 키 인증서를 요청합니다.
- CA는 자신의 ID를 확인하고, 인증서를 구성하는 콘텐츠의 해시를 계산하고, 게시된 CA 인증서의 공개 키에 해당하는 프라이빗 키를 사용하여 해시에 서명하고, 인증서 콘텐츠와 서명된 해시를 연결하여 새 인증서를 만들고, 새 인증서를 공개적으로 사용할 수 있도록 합니다.
- Bob은 인증서를 검색하고, CA의 공개 키를 사용하여 서명된 해시의 암호를 해독하고, 인증서 콘텐츠의 새 해시를 계산하고, 두 해시를 비교합니다. 해시가 일치하면 서명이 확인되고 Bob은 인증서의 공개 키가 실제로 Alice에 속한다고 가정할 수 있습니다.
- Bob은 Alice의 확인된 공개 키를 사용하여 그녀에게 메시지를 암호화합니다.
- Alice는 프라이빗 키를 사용하여 Bob의 메시지 암호를 해독합니다.
요약하자면, 인증서 서명 프로세스를 통해 Bob은 전송 중에 공개 키가 변조되거나 손상되지 않았는지 확인할 수 있습니다. 인증서를 발급하기 전에 CA는 자체 프라이빗 키를 사용하여 콘텐츠를 해시하고, 해시를 서명(암호화)하고, 발급된 인증서에 암호화된 해시를 포함합니다. Bob은 CA 공개 키로 해시를 해독하고, 인증서 콘텐츠의 별도 해시를 수행하고, 두 해시를 비교하여 인증서 콘텐츠를 확인합니다. 일치하는 경우 Bob은 인증서와 인증서에 포함된 공개 키가 변경되지 않았다고 합리적으로 확신할 수 있습니다.
일반적인 PKI는 다음 요소로 구성됩니다.
요소 | 설명 |
---|---|
인증 기관 |
공개 키 인프라에서 신뢰의 루트 역할을 하며 네트워크에서 개인, 컴퓨터 및 기타 엔터티의 ID를 인증하는 서비스를 제공합니다. |
등록 기관 |
루트 CA가 루트에서 허용하는 특정 용도로 인증서를 발급하도록 인증됩니다. Microsoft PKI에서 RA(등록 기관)를 일반적으로 하위 CA라고 합니다. |
인증서 데이터베이스 |
CA 또는 RA에서 인증서 요청 및 발급 및 해지된 인증서 및 인증서 요청을 저장합니다. |
인증서 저장소 |
로컬 컴퓨터에서 발급된 인증서 및 보류 중 또는 거부된 인증서 요청을 저장합니다. |
키 보관 서버 |
손실 후 복구를 위해 인증서 데이터베이스에 암호화된 프라이빗 키를 저장합니다. |
인증서 등록 API를 사용하면 인증 및 등록 기관에 인증서 및 주요 보관 요청을 제출하고 발급된 인증서를 로컬 컴퓨터에 설치할 수 있습니다. 인증서 데이터베이스 또는 인증서 저장소를 직접 조작할 수 없습니다.
다음 topics Microsoft 공개 키 인프라에 대해 자세히 설명합니다.