Amazon Web Services 한국 블로그

AWS Certificate Manager, 사설 인증 (Private CA) 기능 출시

오늘 AWS Certificate Manager(ACM)를 위한 새로운 기능인 사설 인증 기관(Private Certificate Authority)을 출시합니다.

이 기능은 ACM을 통해 사설 종속 CA 역할을 수행할 수 있습니다. 이전에는 고객이 사설 인증서를 사용하려는 경우 특수 인프라와 보안 전문성이 필요했으며 이는 유지와 운영에 많은 비용이 소요되었습니다. ACM의 기존 인증서 기능을 바탕으로 구축된 ACM 사설 CA는 종량 요금제 방식으로 사설 인증서의 수명 주기를 쉽게 안전하게 관리할 수 있게 해 줍니다. 이 기능을 사용하면 개발자가 간단한 몇 개의 API 호출로 인증서를 프로비저닝할 수 있으며 관리자는 중앙 CA 관리 콘솔을 사용하고 세부적인 IAM 정책을 통해 섬세한 제어를 수행할 수 있습니다.

ACM 사설 CA 키는 FIPS 140-2 레벨 3 보안 표준을 준수하는 AWS 관리형 하드웨어 보안 모듈(HSM)에 안전하게 저장됩니다. ACM 사설 CA는 Amazon Simple Storage Service(S3)에서 자동으로 인증서 취소 목록(CRL)을 유지하며 관리자는 AIP 또는 콘솔을 통해 인증서 생성에 대한 감사 보고서를 생성할 수 있습니다. 이 서비스는 다양한 기능을 포함하고 있으므로 바로 CA를 프로비저닝해 보겠습니다.

사설 인증 기관(CA) 프로비저닝

먼저 제 리전의 ACM 콘솔로 이동하여 사이드바에서 새로운 Private CAs(사설 CA) 섹션을 선택하겠습니다. 여기에서 Get Started(시작하기)를 클릭하여 CA 마법사를 시작하겠습니다. 이제부터는 종속 CA를 프로비저닝하는 옵션만 제공되므로 해당 옵션을 선택하고 매우 안전한 제 데스크톱을 루트 CA로 사용하고 Next(다음)를 클릭하겠습니다. 프로덕션 환경에서는 이렇게 하지 않겠지만 이 사설 CAT의 테스트 목적으로는 충분하겠습니다.

이제 일반적인 세부 정보 몇 가지를 사용하여 CAT를 구성하겠습니다. 여기에서 가장 중요한 항목은 Common Name(일반 이름)이며 이 이름은 내부 도메인을 가리키는 secure.internal 로 설정하겠습니다.

이제 키 알고리즘을 선택해야 합니다. ECDSA(Elliptic Curve Digital Signature)는 새롭게 등장한 기술로서 키 크기를 대폭 줄여주지만 기존의 스탠바이 RSA만큼 성능이나 호환성이 뛰어나지는 않습니다. 여러분의 필요 사항에 따라 가장 적합한 알고리즘을 선택해야 하지만 ACM의 경우 현재 최대 2개의 RSA CA까지 체인화되는 인증서만 관리할 수 있는 제한 사항이 있다는 점을 참고하십시오. 여기에서는 RSA 2048 비트를 선택하고 Next(다음)를 클릭하겠습니다.

다음 화면에서는 인증서 취소 목록(CRL)을 구성할 수 있습니다. CRL은 인증서가 인증서 만료 전에 훼손된 경우 클라이언트에 이를 알리기 위해 반드시 필요합니다. ACM은 취소 목록을 유지해 줄 것이며 저에게는 S3 버킷을 사용자 지정 도메인으로 라우팅할 수 있는 옵션이 제공됩니다. 여기에서는 CRL을 저장할 새로운 S3 버킷을 생성하고 Next(다음)를 클릭하겠습니다.

마지막으로 오타가 없는지 세부 정보를 확인하고 Confirm and create(확인 및 생성)를 클릭합니다.

수 초 후에 인증 기관이 프로비저닝되었다는 화면이 표시됩니다. 성공이네요! 그러나 아직 끝난 것은 아닙니다. 인증서 서명 요청(CSR)을 생성하고 루트 CA로 서명하여 CA를 활성화해야 합니다. Get started(시작하기)를 클릭하여 이 과정을 시작하겠습니다.

이제 CSR을 복사하거나 루트 CA에 대한 액세스 권한이 있는 서버 또는 데스크톱(또는 클라이언트를 위해 신뢰할 수 있는 루트에 체인화되는 다른 종속 컴퓨터)에 다운로드하겠습니다.

이제 openssl 같은 도구를 사용하여 인증서를 서명하고 인증서 체인을 생성할 수 있습니다.


$openssl ca -config openssl_root.cnf -extensions v3_intermediate_ca -days 3650 -notext -md sha256 -in csr/CSR.pem -out certs/subordinate_cert.pem
Using configuration from openssl_root.cnf
Enter pass phrase for /Users/randhunt/dev/amzn/ca/private/root_private_key.pem:
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
stateOrProvinceName   :ASN.1 12:'Washington'
localityName          :ASN.1 12:'Seattle'
organizationName      :ASN.1 12:'Amazon'
organizationalUnitName:ASN.1 12:'Engineering'
commonName            :ASN.1 12:'secure.internal'
Certificate is to be certified until Mar 31 06:05:30 2028 GMT (3650 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

그런 다음 subordinate_cert.pem 및 인증서 체임을 콘솔로 다시 복사한 다음 그런 다음 Next(다음)를 클릭합니다.

마지막으로 모든 정보를 검토하고 Confirm and import(확인 및 가져오기)를 클릭하겠습니다. 아래와 같이 CA가 성공적으로 활성화되었음을 나타내는 화면이 표시됩니다.

이제 사설 CA가 생겼으므로 ACM 콘솔로 돌아가 새 인증서를 생성하여 사설 인증서를 프로비저닝할 수 있습니다. 새 인증서 생성을 클릭한 후 Request a private certificate(사설 인증서 요청) 라디오 버튼을 선택한 다음 Request a certificate(인증서 요청)을 클릭하겠습니다.

여기서부터는 ACM에서 일반 인증서를 프로비저닝하는 것과 비슷합니다.

이제 사설 인증서를 ELB, CloudFront 배포, API 게이트웨이 등에 바인딩할 수 있습니다. 또한 임베디드 기기 또는 ACM 관리 환경 외부에서 사용하기 위해 인증서를 내보낼 수도 있습니다.

지금 이용 가능
ACM 사설 CA는 그 자체가 하나의 완전하 서비스로 블로그 게시글 하나로는 다룰 수 없을 정도로 다양한 기능을 포함하고 있습니다. 관심있는 독자는 개발자 안내서를 참조하시고 인증서 기반 보안에 대한 지식을 강화하시기 바랍니다. ACM 사설 CA는 미국 동부(버지니아 북부), 미국 동부(오하이오), 미국 서부(오레곤), 아시아 태평양(싱가포르), 아시아 태평양(시드니), 아시아 태평양(도쿄), 캐나다(중부), EU(프랑크푸르트) 및 EU(아일랜드)에서 사용할 수 있습니다.

사설 CA의 비용은 각 사설 CA 당 월 $400입니다(비례 할당 계산). ACM에서 생성 및 유지되는 인증서에는 요금이 부과되지 않지만 ACM 외부에서 내보내거나 생성된 프라이빗 키에 대한 액세스 권한이 있는 인증서에는 요금이 부과됩니다. 인증서 당 요금은 단계별로 적용되어 최초 1,000개 인증서에 대한 인증서 당 $0.75에서 시작하여 10,000개 인증서 이후부터 적용되는 인증서당 $0.001까지 내려갑니다.

관리자와 개발자 모두 이 새로운 서비스를 적극 활용해 보시기 바랍니다. 평소와 마찬가지로 이 서비스에 대한 의견이 있으시면 Twitter 또는 아래의 의견란을 통해 공유해 주십시오

Randall