2012년 2월, 파이어폭스로 유명한 모질라 재단 (Mozilla Foundation) 은 각 CA기관에 이메일을 보내 트래픽 관리 등의 목적을 위해 하위 CA (Subordinate CA) 인증서를 MITM에 사용하는 것을 엄격히 금지 할 것을 당부했습니다. 만약 이렇게 발행된 하위 CA 인증서가 있다면 바로 만료시켜야 하며 만약 MITM에 악용되는 것이 확인 될 경우 루트 CA기관으로서의 지위가 박탈 될 것이라고 전했습니다.
We made it clear that this practice remains unacceptable even when the intended deployment of such a certificate is restricted to a closed network
인증서가 비록 폐쇄망에서 제한적으로 사용된다고 하더라도 모질라 재단은 이것을 금지함을 분명히 합니다
— Johnathan Nightingale, Senior Director of Firefox Engineering
모질라 재단은 모질라 루트 프로그램 (모질라 재단에서 만든 브라우저 파이어폭스에서 신뢰 할 수 있는 루트 인증기관을 지정하는 프로그램) 에 참여하는 모든 CA 인증기관에 위와 같이 당부했습니다.
이 메일은 지난 2012년 2월에 발생한 트러스트 웨이브 (Trustwave) CA기관이 DLP장비에서 트래픽을 복호화 하여 검증할 목적으로 트러스트웨이브에서 발행한 Subordinate CA 인증서를 특정기업에게 발행하였습니다. 하여 Subordinate CA인증서는 DLP장비에서 MITM의 역활로 사용되었으며 모질라 재단은 여기에 문제가 있음을 재기하게 된 것이죠.
하위 인증기관 (Subordinate CA)
Subordinate CA 란 루트 인증기관 (Root CA) 이 위임한 하위 CA 인증기관 입니다. 루트 인증기관이 소유한 인증서는 최종 인증서로써 인증서가 유출되거나 악용되었을 경우 인증서를 만료시키거나 하여 인증서를 제어하기가 매우 까다롭기 때문에 하위 CA기관에 Subordinate CA 인증서를 발행하여 인증기관의 역활을 위임시켜 줍니다. 위임된 Subordinate CA 인증서는 루트 기관이 할 수 있는 역활 (특정 도메인에 대한 인증서 발행 및 사인 등) 을 모두 할 수 있습니다.
만약 Subordinate CA 인증서가 해킹당하거나 문제가 발생되는 경우루트 인증기관 (Root CA)은 발행한 Subordinate CA 인증서를 만료시켜 버리면 됩니다
트러스트 웨이브 Subordinate 루트 인증서를 MITM으로 허용
2012년 2월, 트러스트웨이브 (Trustwave) 는 Subordinate CA 인증서 발급에 대한 이슈에 휘말렸는데요. 트러스트웨이브는 모기업에 Subordinate CA 인증서를 발행하고 이 기업은 DLP 시스템에 트래픽 검증을 목적으로 Subordinate CA인증서를 활용하면서 문제가 발생하였습니다.
일반적으로 자체적으로 생성한 사설 CA를 통하여 발행한 인증서를 발행 한 후, 이 인증서를 DLP 또는 SSL Decryption 전용장비에 설정하여 암호화된 트래픽을 매니지 하게 되는데, 이 때 사설 인증서가 브라우저에 신뢰 할 수 있는 인증서로 등록되어 있지 않는 경우 브라우저에서는 SSL/TLS 통신이 안전하지 않다고 표시하게 됩니다. 하여 모기업에서는 이를 방지할 목적으로 공인된 Subordinate CA인증서를 인스톨하여 MITM으로 사용하여 문제가 된 것입니다. 공인된 Subordinate CA인증서는 이미 브라우저에서 신뢰하고 있기 때문에 브라우저에서 안전하지 않다고 경고메시지를 뿌리지 않기 때문인 것이죠.
이와 같이 Subordinate CA 인증서가 여기저기 유출되거나 사용될 경우 공인된 인증서 체인에 문제가 발생하게 되는데요. 예를 들어 DigiNotar 사건 처럼 Subordinate CA인증서를 이용하여 google.com에 대한 인증서를 마구 발행해버리고 브라우저는 이를 신뢰할 수 있는 사이트로 표시 할 수도 있는 것이지요. (DigiNotar 의 google 인증서 발행 사건 참조)
트러스트 웨이브를 루트 인증기관에서 제외 될 뻔
모질라 재단은 트러스트웨이브가 모든 도메인에 대해서 공인된 인증서를 발급 할 수 있는 Subordinate CA 인증서를 고객에게 발급 한 것과 이것이 MITM (Man in the Middle) 에 사용된 것에 대해서 모질라 정책을 크게 위반한 것이라고 규정했습니다. 따라서 트러스트웨이브를 모질라의 루트 인증서 프로그램에서 루트 인증기관으로서의 지위를 박탈 할 것을 논의 했던 것이지요.
참고 : Remove Trustwave Certificate(s) from trusted root certificates
트러스트웨이브는 즉각 이러한 인증서들을 만료시켰고 이러한 문제가 있는 인증서 발행에 대해서 인정했습니다. 다행히 트러스트웨이브는 루트 인증기관의 지위를 박탈당하지는 않았습니다 사업을 저을 뻔 했죠.
이와 같이 Subordinate CA 인증서가 암호화 트래픽 관리를 목적으로 MITM에 사용되는 것을 구글 그룹스에서도 심각하게 토론이 진행되었는데, 이는 전체적인 CA 아키텍쳐와 신뢰를 손상시킬 수 있으므로 기업들은 자체적으로 구축한 내부 CA를 이용하여 암호화 트래픽을 관리 할 것을 권고했습니다.
참고 : Subordinate-CAs from trusted roots for ‘managing encrypted traffic’
결론
모질라 재단 등에서 운영하는 CA 아키텍쳐는 신뢰를 기반으로 철저하게 관리 운영되고 있습니다. 따라서 모질라 재단의 루트 인증서 프로그램에 참여하는 CA기관에 대하여 인증서 발급 및 관리 절차를 철저히 해 줄 것을 요구하고 있는데, 위와 같이 잘못된 하위 기관 인증서 발급 등은 전체 아키텍쳐의 신뢰를 무너뜨려 버리는 결과를 가져오기 때문입니다.
하여 모질라 재단 등은 내부 직원들의 암호화 트래픽을 관리하기 위한 목적으로 공인된 하위 기관 인증서 (Surbodinate CA 인증서) 를 보안장비에 인스톨하여 MITM 을 수행하는 것을 철저히 제한하고 있습니다. 문제가 발생 할 경우 루트 인증기관으로서의 지위가 박탈당하고 사업을 접어야 할 수도 있는거죠.
따라서 방화벽 등 보안장비에서 SSL Decrypt을 수행하게 될 때는 내부 인프라에서 직접 구축한 사설 CA에서 발행한 Subordinate CA 인증서를 이용하여 수행 할 것을 권고하고 있습니다. Subordinate 인증서에 대해서 갑자기 궁금해져서 찾아보다가 포스팅 까지 해버렸네요 ;; 혹시 잘못된 점이 있으면 댓글 부탁 드립니다~
감사합니다.