패스잇
보안 · 심화

MSA(Microservice Architecture) 환경에서 서비스 간 인증(Service-to-Service Authentication) 및 권한 부여를 강화하기 위해 Mutual TLS(mTLS)를 도입하려 합니다. mTLS의 동작 방식과 기존 단방향 TLS 대비 이점을 설명하고, 실제 MSA 환경에서 mTLS를 구축할 때 고려해야 할 기술적 과제와 해결 방안은 무엇이 있을까요?

힌트 · mTLS는 클라이언트와 서버 양쪽 모두 인증서를 교환하여 상호 인증합니다. 대규모 MSA 환경에서는 인증서 관리, 배포, 폐기, 그리고 Sidecar Proxy를 통한 정책 적용이 주요 과제입니다.

Mutual AuthenticationCertificate Authority (CA)인증서 관리성능 오버헤드인증서 갱신

모범답안

MSA 환경에서 서비스 간 인증 강화를 위해 mTLS를 도입하는 것은 좋은 선택입니다. mTLS는 기존 단방향 TLS와 달리, 클라이언트와 서버 모두 인증서를 제시하여 서로를 인증하는 방식입니다. 이를 통해 서비스 위조를 방지하고, 보안을 더욱 강화할 수 있습니다.

기존 TLS 대비 mTLS의 가장 큰 이점은 상호 인증을 통해 신뢰할 수 있는 서비스만 통신하도록 보장한다는 점입니다.

실제 MSA 환경에서 mTLS를 구축할 때 몇 가지 고려해야 할 기술적 과제가 있습니다. 첫째, 인증서 관리입니다. 서비스가 많아질수록 인증서 발급, 배포, 갱신, 폐기 관리가 복잡해집니다. 이를 해결하기 위해 자동화된 인증서 관리 시스템(예: HashiCorp Vault)을 구축하고, 인증서 갱신 주기를 자동화하는 것이 중요합니다.

둘째, 성능 오버헤드입니다. mTLS는 암호화 연산이 추가되므로 서비스 성능에 영향을 줄 수 있습니다. Sidecar Proxy(예: Istio)를 사용하여 mTLS를 구현하면 서비스 코드 변경 없이 트래픽 암호화 및 인증을 처리할 수 있지만, Proxy 자체의 성능도 고려해야 합니다. 성능 테스트를 통해 적절한 설정 값을 찾아야 합니다.

마지막으로, 인증서 폐기 문제입니다. 서비스에 문제가 발생했을 때 해당 서비스의 인증서를 즉시 폐기하고, 폐기된 인증서를 사용하는 서비스의 접근을 차단해야 합니다. CRL(Certificate Revocation List) 또는 OCSP(Online Certificate Status Protocol)를 사용하여 인증서 폐기 상태를 관리할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 HTTPS / TLS / 암호화 면접 질문

← HTTPS / TLS / 암호화 면접 질문 전체 보기