Amazon Web Services 한국 블로그
AWS Certificate Manager, 인증서 Certificate Transparency 지원 예정
2018년 4월 30일부터, 구글 크롬은 적어도 2개 이상의 ‘Certificate Transparency‘ 로그 상에서 공식적으로 신뢰된 인증서로 로깅된 인증서를 요구하게 됩니다. 이 기준에 맞지 않는 인증서를 사용하는 환경에서는 구글 크롬 브라우져 상에서 에러 메세지가 표시됩니다. 2018년 4월 24일 부터 Amazon Certificate Manager 서비스는 사용자가 특별히 Certificate Transparency 로깅 설정을 비활성화 하지 않는 한, 모든 신규 혹은 갱신 인증서에 대해 이 기준에 맞추어 적어도 2군데 이상의 로그서버에서 공식적으로 로깅되도록 기능을 지원하기 시작할 예정입니다.
Certificate Transparency 기능을 적용하지 않는다면, 도메인 소유자 입장에서 그들이 관리하는 도메인에 대해 불법적인 인증서가 발급되었다는 사실을 인지하기가 어려울 수 있습니다. 현재 환경에서는, 인증서 발급에 대한 어떠한 형태의 기록도 존재하지 않기 때문에, 도메인 소유자는 사칭하는 인증서를 식별하는 뚜렷한 방법이 없습니다.
이와 같은 상황을 해결하기 위해, Certificate Transparency 기능은 발급되는 각각의 인증서에 대한 암호화된 로깅을 생성합니다. 그리고 도메인 소유자는 실수나 악의를 가지고 발급된 비정상적인 인증서를 식별하기 위해 로그를 조회할 수 있습니다. 또한 이러한 인증서를 발급해준 인증기관 (CA)도 확인할 수 있습니다. 이 글에서는 Certificate Transparency 기능에 대해 좀 더 자세한 내용을 살펴보고 어떻게 준비해야 되는지를 설명하겠습니다.
Certificate Transparency 작동 방식
CA가 공식적으로 신뢰된 인증서를 발급할 때, 해당 CA는 한 개 이상의 Certificate Transparency 로그 서버로 그 인증서를 전송해야 합니다. 이를 받은 Certificate Transparency 로그 서버는 전송된 인증서를 신뢰된 인증서 목록에 등록했음을 확인하는, 서명된 인증서 타임스탬프(SCT)값을 리턴하게 됩니다. 리턴된 SCT값은 인증서에 삽입되어 브라우져에 자동으로 전송됩니다. SCT 값은 해당 인증서가 ‘Certificate Transparency 로그에 포함되었다는 공식적인 영수증의 의미를 지니게 됩니다. 올해 4월 30일 부터, 구글 크롬에서는 해당 인증서가 ‘Certificate Transparency’ 로그에 정상적인 인증서로 등록된 것인지를 확인하기 위해 SCT값을 요구하게 되며, 이 조건이 충족되지 않는다면 오류 메세지를 출력하게 됩니다.
Certificate Transparency 기능 지원을 위한 ACM 작업
Certificate Transparency 는 훌륭한 기능입니다. 이를 통해, AWS고객들은 CA가 발급하지 않은 비인가된 인증서에 대한 식별 수준을 향상시킬 수 있습니다. 2018년 4월 24일 부터, ACM은 고객이 직접 ‘Certificate Transparency 을 비활성화 하지 않는 한, 신규 또는 갱신되는 인증서들을 적어도 2개 이상의 Certificate Transparency 로그 서버에 등록할 것입니다.
인증서 로깅을 원하지 않는 경우가 몇가지 있을 수 있습니다. 예를 들어, 미 발표된 상품을 위한 웹싸이트를 ‘newproduct.example.com’ 같은 서브 도메인으로 등록하고 만든다고 할 때, 해당 서브 도메인에 대한 로깅된 인증서를 생성한다는 것은 신규 제품이 출시 예정이라는 신호를 외부에 줄 수 있습니다. 또한 ‘Certificate Transparency 로깅 기능을 통해 공개하지 말아야 할 서버 호스트 네임이 노출될 수 있습니다. 예를 들면, ‘payments.example.com’ 같은 호스트 네임을 보면 서버의 목적을 유추할 수 있고, 공격자에게 여러분의 내부 환경에 대한 정보를 제공할 수 있습니다. 물론 이러한 로깅에는 인증서의 개인키가 절대 포함되지는 않습니다.
이와 같은 이유로, 여러분들은 ‘Certificate Transparency 로깅을 인증서 별로 비 활성화 처리하기 위해, 2018년 3월 27일 부터 ACM API 혹은 AWS CLI를 이용할 수 있습니다. 이렇게 하게 되면 당연히 구글 크롬상에서는 오류가 발생하게 되지만 의도적인 상황이 됩니다. 다음 글에서는 Certificate Transparency 로깅을 비활성화 처리하는 방식에 대해 소개하도록 하겠습니다.
결론
2018년 4월 24일 부터, ACM은 모든 신규 혹은 갱신 인증서들을 기본적으로 로깅하기 시작할 것입니다. 만일 여러분들이 인증서의 로깅을 원하지 않는다면, AWS API 나 CLI로 예외 처리할 수 있습니다. 그리고 4월 30일 부터는 구글 크롬에서 신뢰된 인증서를 확인하기 위해 인증서에 포함된 SCT 정보를 확인하기 시작할 것입니다.
기존에 발급되어 사용중인 ACM 인증서에 대해서는:
- 여러분들이 별도로 Certificate Transparency 로깅을 비활성시키지 않는다면, 아무런 작업이 필요하지 않습니다.
- 4월 30일 이전에 발급된 인증서들은 로깅될 필요가 없기 때문에, 구글 크롬에서 ‘Certificate Transparency’ 기반의 오류를 생성하지 않습니다.
- ACM 은 기존에 발급된 ACM인증서들은 추가로 로깅하지 않을 것이며, 구글 크롬에서도 오류 메세지 없이 정상적으로 이용하는데 문제가 없을 것입니다.
- 4월 24일 이후로, ACM은 기존 인증서들이 새로 갱신되는 시점에서 ‘Certificate Transparency’ 로깅처리를 개별로 하게 됩니다.
본 공지에 대한 더 자세한 질문은 ACM forum에 해주시기 바랍니다.
– Jonathan;
이 글은 AWS Security Blog의 Preparing for AWS Certificate Manager (ACM) Support of Certificate Transparency의 한국어 번역본으로 임기성 AWS 솔루션즈 아키텍트가 수고해주셨습니다.