토픽 127 / 147·네트워크 응용 및 고급 프로토콜
mTLS (Mutual TLS / 상호 TLS)
mTLS (Mutual TLS / 상호 TLS)
클라이언트와 서버가 서로의 인증서를 검증하여 양방향 인증을 수행하는 TLS 확장으로, 일반 TLS(서버만 인증)와 달리 클라이언트도 인증서를 제시하여 Zero Trust 환경과 서비스 간 통신 보안에 활용
목적: 양방향 인증, Zero Trust 구현, 서비스 간 보안, API 보안, 클라이언트 신원 확인
특징: 상호 인증, 인증서 기반, 암호화+인증, PKI 필요, 서비스 메시 필수 요소
동작 과정
구성요소
- •CA (Certificate Authority): 인증서 발급, 신뢰 체인, 내부 CA(사설) 또는 공인 CA
- •서버 인증서: 서버 신원 증명, 도메인/IP 바인딩
- •클라이언트 인증서: 클라이언트 신원 증명, 서비스/사용자 식별
- •CRL/OCSP: 인증서 폐기 확인, 유효성 검증
일반 TLS vs mTLS
- •TLS: 서버만 인증, 클라이언트는 익명, 웹 브라우저
- •mTLS: 양방향 인증, 클라이언트도 인증서 제시, 서비스 간 통신
장점: 강력한 인증(양방향), Zero Trust 구현, API 보안, 클라이언트 신원 확인, 중간자 공격 방지
단점: 인증서 관리 복잡(발급/갱신/폐기), PKI 인프라 필요, 성능 오버헤드, 디버깅 어려움
적용사례: 서비스 메시(Istio, Linkerd), 마이크로서비스, API Gateway, IoT, 금융 시스템
기술요소: TLS 핸드셰이크, X.509 인증서, CA, PKI, CRL, OCSP, SPIFFE/SPIRE
비교: mTLS(양방향 인증) vs TLS(서버만 인증) vs API Key(토큰 기반) vs OAuth(위임 인증)
연관: TLS, PKI, Zero Trust, Service Mesh, SPIFFE, X.509, 인증서 관리