목요일, 6월 09, 2016

SSL 인증의 새로운 대안 Let's Encrypt

개요
Let's Encrypt 기존의 루트CA 인증기관을 대체하는 새로운 인증 플렛폼으로  Chrome, cisco, mozilla, akamai 다수의 기업들의 후원을 등에 업고 있으며, 2015123 공용베타 서비스를 시작하고 있다.

Let's Encrypt x.509 기반의 TLS 인증서를 무료로 제공하고 있으며, 기존 CA 인증서 발급에 필요로 했던 복잡한 발급 절차, 서명, 그리고 검증과 설치 재설치 작업에 필요한 수작업을 제거 하는등 자동화된 프로세스로 수월하게 인증서를 발급받을 있는 새로운 인증기간이라 있다.

Let's Encrypt - How it works
인증서는 2 단계로 이루어 진다.
CA 웹서버 도메인 검증
도메인에 대한 인증서 요청/갱신/해지

도메인 유효성점검(Domain Validation)
  1. Let's Encrypt 서버 관리자를 공개키로 식별한다.
  2. let's encrypt 에이전트가 Let's Encrypt CA 연결하고, Let's Encrypt CA 검증 받을 도메인에 대해 개인키/공개키를 생성 한다.

Example.com 도메인을 예로 들면 다음과 같다.

 example.com let's encrypt CA 검증 요청을 한다.






원본 위치 <https://letsencrypt.org/howitworks/technology/>
Ca 도메인 인증을 위해 해당 도메인의 url 특정파일을 집어 넣는다.

에이전트는 다음과 같은 과정을 통해 해당 도메인 example.com 특정경로에 파일을 생성할 뿐만 아니라, 또한 서명을 개인키로 암호화하여 CA 전송한다.

CA 서명을 확인하고 웨서버의 파일을 다운로드 받아 값을 확인하고 하여 서버를 인증한다.














같은 과정이 정상적으로 완료되면, 에이전트는 example.com 대한 식별된 공개키를  인증서에 탑재하여 발급한다.

고려사항
  1. 이상 Let's Encrypt 살펴보았고, 에이전트가 대부분의 작업을 자동으로 대신하니,  CA 부터 인증서 발급절차가 거의 필요하지 않고, 쉽게 인증서를 발급받을 있고 게다가 무료이다.
, 현재 베타버전으로 이를 사용하면서 나타나는 버그는 감수 해야 한다.
따라서, 테스트 환경 또는, 베타 서비스에서는 사용하는 것은 좋다고 생각되나
운영환경에서 사용하기에는 이런 장점에 불구하고 아직 이르다고 생각된다.

수정(2016/5/12)
Let's Encrypt 배타 버전에서 벗어나서 정식 서비스를 시작하고 있다.
서버환경에 적용하길 망설였다면, 이제는 충분히 사용할 있는 시점 내지는 적극 검토할 만한 단계라 본다
참고로, 고객사 내부 시스템 환경에 이를 적용한 결과 한번의 CMD 명령어로 직관적이고, 쉽게 공개키 인증서를 설치할 있어 편의성에 다시 한번 놀랐다.

그리고 윈도우 기반일 경우 windows 2008 또는 2008R2 서버는 기본적으로 tls 1.2 활성화되어 있지 않다
아래, 참조 문서를 참고하여 강력한 보안 프로토콜인 tls1.2 사용하라.

우분투 리룩스 환경에서 사용했을 때는 이러한 제약 없이 매우 높은 수준의 암호화 통신을 사용할 있다.



참조
  1. IIS 에서의 Let's Encrypt 구현
https://www.youtube.com/watch?v=SVUY7ygbGm8
http://weblog.west-wind.com/posts/2016/Feb/22/Using-Lets-Encrypt-with-IIS-on-Windows

주의)let's encrypt 인증서를 생성하고 해당 도메인을 인증할 , 확장자 없는 url 파일을 생성하는데, 기본적으로 IIS 7.0/7.5 이를 허용하지 않아, 인증이 실패할 것이다.
따라서, IIS 사이트 속성의 처리기에서 staticFile 항목을 Extenstionless url보다 우선하도록 순서를 조정한다.

Windows 2008 2008R2 Server TLS 1.2 구성
http://www.derekseaman.com/2010/06/enable-tls-12-aes-256-and-sha-256-in.html
https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx

https://support.quovadisglobal.com/kb/a433/how-to-enable-tls-1_2-on-windows-server-2008-r2.aspx

댓글 없음: