티스토리 뷰

Security/Architecture&Tech

Mutual TLS

jacobbaek Jacob_baek 2020. 10. 11. 16:58

Mutual TLS 란?

Mutual TLS 에 대하여 알아보자.
우선 Mutual 이란 뜻을 보면 상호간, 양방향 이라는 뜻으로 풀이될수 있다. 즉, 단순 서버의 인증서만을 검증하는 일반적인 과정에서 optional 하게 사용할수 있는 Client Certificate 도 검증을 같이 하는 것이다.

좀더 자세히 알아보기 위해 먼저 일반적인 TLS handshake 과정을 알아보자.

위와 같이 Server Certificate 에 대한 검증을 Client에서 수행한다. 하지만 Server측에서의 Client에 대한 검증과정은 별도로 존재하지 않는다. 이에 대한 검증과정이 추가된것이 Mutual TLS라 보면 된다.

즉, 위 그림의 과정중 3~4 사이에 Client의 Certificate(Certificate Request Message를 통해)를 Server측에서 검증하는 과정이 추가된것이라 보면 된다.

RFC 문서 상에 나온 내용이 있을거라 생각했지만 OAUTH 2.0에 언급된 내용외에는 찾지 못하였다.

NGINX 를 이용힌 Mutual TLS 예제

실제 NGINX의 설정을 통해 mTLS를 사용해 볼 수 있다.

ssl_client_certificate 설정을 추가하여 client 에서도 certificate 를 Server로 전송하도록 할수 있다.
잘 정리된 동영상과 예제들이 있어 이를 링크한다.

결과적으로 NGINX에서는 Server의 Certificate 를 전송하여 client에서 검증하게 하고 ssl_client_certificate 설정을 추가하여 Server에서 Client를 검증하기 위해 Client의 Certificate를 요청하도록 할수 있다.
또한 정상적으로 client에서 server의 자원(web page)를 이용하기 위해서는 client의 crt를 같이 전송해야만 한다.

참고사이트

'Security > Architecture&Tech' 카테고리의 다른 글

Mutual TLS  (0) 2020.10.11
cryptograph  (0) 2013.10.29
댓글
댓글쓰기 폼
공지사항
최근에 달린 댓글
Total
48,538
Today
6
Yesterday
103
링크
«   2020/10   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함