BLOG

AWS에서 개인 인증서 인프라 전체를 관리하고 호스팅하기
작성일: 2019년 7월 29일

AWS Certificate Manager(ACM) 사설 인증 기관(CA)은 이제 온라인 루트 CA 및 전체 온라인 PKI 계층을 관리하는 옵션을 제공합니다. 따라서 이제 사용자는 AWS에서 조직의 전체 개인 인증서 인프라를 호스팅하고 관리할 수 ​​있습니다. 전체 계층 구조를 지원하게 되면 AWM 인증서 관리자(ACM)의 사설 인증 기관 기능이 확장되기 때문입니다.

 

CA 관리자는 ACM 사설 CA를 사용하여 외부 CA가 필요 없는 루트 CA 및 하위 CA를 포함한 완벽한 CA 계층 구조를 만들 수 있습니다. 사용자는 온프레미스 CA 인프라를 구축 및 유지하지 않고도 ACM Private CA가 사용 가능한 AWS 지역이면 어느 곳이든 안전하고 가용성이 뛰어난 CA를 만들 수 있습니다. ACM 사설 CA는 내부 규정 준수 규칙 및 보안 모범 사례에 따라 CA를 운영하는 데 필수적인 보안을 제공합니다. ACM 사설 CA는 AWS에서 관리하는 하드웨어 보안 모듈(HSM)로 보호되므로 사용자는 운영 및 비용 부담을 줄일 수 있게 됩니다.

 

 

CA 계층 구조의 개요

 

인증서는 ID 및 보안 연결을 설정하는 데 사용됩니다. 리소스는 ID를 확인하기 위해 서버에 인증서를 제공합니다. 인증서가 유효하고 인증서에서 신뢰할 수 있는 루트 CA로 체인을 구성할 수 있는 경우, 서버는 리소스를 확실하게 식별하고 신뢰할 수 있습니다.

 

CA 계층 구조는 트러스트 체인의 최상단에서 가장 신뢰할 수 있는 루트 CA에 대해 강력한 보안 및 제한적인 액세스 제어를 제공하는 동시에, 체인의 하위 CA에 대해 관대한 액세스 허용과 대량 인증서 발급을 허용합니다.

 

루트 CA는 인증서를 발급 할 수 있는 암호화 빌딩 블록 (트러스트의 루트)입니다. 이는 인증서 서명 (발급)을 위한 개인 키와 루트 CA를 식별하고, 개인 키를 CA 이름에 바인딩하는 루트 인증서로 구성되어 있습니다. 루트 인증서는 환경의 각 엔티티 신뢰 저장소에 배포됩니다. 리소스가 서로 연결을 시도하면 그들은 각 엔터티가 제공하는 인증서를 확인합니다. 인증서가 유효하며 인증서가 신뢰 저장소에 설치된 루트 인증서로 체인을 구성 할 수 있는 경우, 암호적으로 각 엔티티의 ID를 상대방에게 증명하는 리소스 사이에 “악수”가 발생합니다. 이로써 암호화된 커뮤니케이션 채널(TLS/SSL)이 만들어집니다.

 

 

ACM 개인 CA로 CA 계층을 구성하는 방법

 

루트 CA를 사용하여 외부 루트 CA가 필요 없는 CA 계층 구조를 만들고 인증서를 발급하여 조직 내의 리소스를 식별 할 수 있습니다. 요구 사항에 맞게 CA 구조를 정의하거나 기존 CA 구조를 복제하는 등 원하는 거의 모든 구성에서 루트 및 하위 CA를 만들 수 있습니다.

 

ACM 개인 CA 콘솔, API 및 CLI를 사용하여 루트 CA 및 종속 CA를 만들고 하위 CA에서 인증서를 발급 하는 것으로 구성을 시작합니다.

 

그림 1: 루트 CA 생성

 

 

ACM 사설 CA 콘솔 마법사를 통해 10분 이내에 ACM 콘솔을 사용하여 2단계 CA 계층을 만들 수 있고, 이 과정은 사용자를 루트 및 하위 CA를 생성하는 단계로 안내합니다. 하위 CA를 만들면 하위 CA를 상위 CA에 연결하라는 메시지가 나타납니다.

 

그림 2: “하위 CA 인증서 설치” 페이지

 

 

새 루트 CA를 만든 후에는 서버 운영 체제 및 브라우저의 신뢰 저장소에 새 루트를 배포해야 합니다. 개발 및 테스트를 위한 간단한 1단계 CA 계층 구조가 필요한 경우, 루트 인증 기관을 만들고 루트 CA에서 직접 개인 인증서를 발급 할 수 있습니다.

 

참고사항: 이 방법의 장단점은 루트 CA 인증서가 신뢰 저장소에 설치되어 있기 때문에 루트 CA 인증서를 해지할 수 없다는 것입니다. 이 시나리오에서 루트 CA를 효과적으로 “untrust”하려면 신뢰 저장소의 루트 CA를 새 루트 CA로 바꿔야 합니다.

 

 

오프라인 루트 CA vs 온라인 루트 CA

 

일부 조직 및 모든 공용 CA는 실제 볼트에서 루트 CA를 오프라인 상태(네트워크와의 연결이 끊어진 상태)로 유지합니다. 이와는 대조적으로 대부분의 조직에서는 체인의 하위 CA 인증서에 서명할 때만 네트워크에 연결되는 루트 CA를 가지고 있습니다. 예를 들어, 고객은 20년의 수명을 가진 루트 CA를 만들 수 있으며, 관리자 권한이 있는 사용자가 CA 인증서에 서명할 경우를 제외하고는 일반 CA를 사용하지 못하도록 정상적인 환경에서는 사용을 중지할 수 있습니다. 루트 CA를 사용하여 인증서를 발급하는 경우는 드물지만, 이는 신중하게 제어되는 작업이기 때문에, 사용자는 루트 CA를 사용하여 인증서를 발급할 때 로그를 모니터링하고 보고서를 감사하며 이를 알리는 알림을 생성합니다. 하위 발급 CA는 계층 구조에서 가장 낮습니다. 일반적으로 장치 및 리소스를 식별하는 대량 인증서 발급에 사용됩니다. 하위 발급 CA는 일반적으로 수명이 짧고(1~2년) 정책 제어 및 모니터가 적습니다.

 

ACM 사설 CA를 사용하면 평생 10년 이상 신뢰할 수 있는 루트 CA를 만들 수 있습니다. 모든 CA 사설 키는 FIPS 140-2레벨 3 HSM에 의해 보호됩니다. AWS CloudTrail 로그 및 감사 보고서를 검토함으로써 CA가 인증된 용도로만 사용되는지 확인할 수 있습니다. CA에 대한 액세스를 제한하는 AWS ID 및 액세스 관리(IAM) 권한을 구성하여 발급을 방지 할 수 있습니다. ACM 사설 CA를 사용하면 CA에서 발급한 인증서를 해지하고, ACM 사설 CA에서 생성한 인증서 해지 목록(CRL)을 이용해 해지 정보를 클라이언트에 제공 할 수 있습니다. 이 과정을 통해 구성 및 배치가 단순해집니다.

 

 

루트 CA 계층 구조에 대한 고객 사용 사례

 

루트 CA 계층 구조에는 세 가지 정도의 일반적인 사용 사례가 있습니다.

가장 보편적인 사용 사례는 고급 PKI 사용자로서 이미 HSM으로 보호되는 오프라인 루트 CA가있는 고객입니다. 그러나 개발 및 네트워크 준비 단계에 있어 사용자는 동일한 루트 CA 및 인증서를 사용하고 싶지 않아 합니다. 이때 새로운 루트 CA 계층 구조 기능을 이용하면 사용자는 프로덕션과 유사한 테스트 환경을 위해 PKI를 쉽게 세울 수 있고 이 경우 새로운 신뢰 루트를 사용하게 됩니다.

 

두 번째 사용 사례는 사설 CA 사용에 관심이 있지만, PKI 지식이 없거나 HSM에 투자하지 않은 고객입니다. 이러한 고객은 OpenSSL을 사용하여 루트 CA를 생성합니다. 루트 CA 계층 구조를 제공함으로써 이제는 HSM에 의해 보호되며 IAM 액세스 정책에 의해 제한되는 ACM 사설 CA 내에 루트 CA를 세울 수 있습니다. 이렇게 하면 계층 구조의 보안이 강화되고 배포가 단순해집니다.

 

세 번째 사용 사례는 내부 PKI를 평가하고 오프라인 HSM을 관리하고자 하는 고객입니다. 이러한 고객은 필요한 전체 인프라를 뒷받침하기 위해 상당한 프로세스, 관리, 비용 및 교육 투자가 필요하다는 것을 인지하고 있습니다. 이때 AWS에서 조직의 전체 개인 인증서 인프라를 관리함으로 이러한 비용을 없앨 수 있습니다.

 

 

시작하기

 

ACM 사설 CA 루트 CA 계층 구조 기능을 통해 사용자는 PKI 계층 구조를 만들고 ID에 대한 개인 인증서 발급 및 TLS 통신 보안 유지를 시작할 수 있습니다. 이를 시작하기 위해선 먼저 ACM 개인 CA 콘솔을 열어 주십시오. 그 뒤의 자세한 내용은 AWS 인증서 관리자로 시작하기와 ACM 개인 CA 사용 설명서에서 시작하기부분을 살펴봐 주십시오.

 

AWS Security의 소식 및 기능에 대해 더 알고 싶으시다면,트위터를 팔로우해 주세요!

 

 

 

원문 URL: https://aws.amazon.com/ko/blogs/security/how-to-host-and-manage-an-entire-private-certificate-infrastructure-in-aws/

 

** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.