MSA(Microservice Architecture) 환경에서 서비스 간 인증(Service-to-Service Authentication) 및 권한 부여를 강화하기 위해 Mutual TLS(mTLS)를 도입하려 합니다. mTLS의 동작 방식과 기존 단방향 TLS 대비 이점을 설명하고, 실제 MSA 환경에서 mTLS를 구축할 때 고려해야 할 기술적 과제와 해결 방안은 무엇이 있을까요?
힌트 · mTLS는 클라이언트와 서버 양쪽 모두 인증서를 교환하여 상호 인증합니다. 대규모 MSA 환경에서는 인증서 관리, 배포, 폐기, 그리고 Sidecar Proxy를 통한 정책 적용이 주요 과제입니다.
모범답안
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 / 암호화 면접 질문
- TLS 1.3의 0-RTT(Zero Round-Trip Time) 모드는 초기 연결 설정 성능을 크게 향상시킵니다. 하지만 이 모드가 도입하는 보안상의 주요 위험 요소는 무엇이며, 이를 완화하기 위한 기술적 접근 방식에는 어떤 것들이 있을까요?
- Perfect Forward Secrecy(PFS)가 HTTPS 통신에서 제공하는 핵심 보안 이점은 무엇이며, 이를 구현하기 위해 TLS 핸드셰이크 과정에서 어떤 키 교환 알고리즘(Key Exchange Algorithm)이 사용되어야 하는지 구체적으로 설명해주세요.
- 클라이언트 측에서 서버 인증서의 신뢰성을 강화하기 위한 기법으로 Certificate Pinning이 사용되곤 했습니다. HPKP(HTTP Public Key Pinning)가 왜 권장되지 않고 현재는 거의 사용되지 않는지 설명하고, 이를 대체하거나 보완하는 현대적인 접근 방식(예: Certificate Transparency)은 무엇인지 비교 설명해주세요.
- TLS 구현체는 다양한 Side-Channel Attack에 노출될 수 있습니다. 특정 암호화 모드나 패딩 방식의 취약점을 이용한 Lucky 13, BEAST, CRIME 같은 공격들이 대표적인 예시입니다. 이러한 공격들이 TLS 통신에 어떻게 영향을 미치며, 이를 방어하기 위한 현대적인 TLS 프로토콜 및 구현체의 설계 원칙은 무엇인지 설명해주세요.
- 클라우드 환경에서 로드 밸런서(Load Balancer)나 API 게이트웨이(API Gateway)를 통해 TLS Termination을 수행하는 것이 일반적입니다. 하지만 내부 마이크로서비스 간 통신에 대해 End-to-End Encryption을 유지하기 위해 TLS Re-encryption을 적용해야 하는 경우가 있습니다. TLS Termination, Passthrough, Re-encryption 각각의 장단점과 보안/성능 관점에서의 트레이드오프를 비교 설명해주세요.
- 양자 컴퓨터의 발전은 현재의 공개키 암호화 방식(RSA, ECC)을 무력화할 수 있어 Post-Quantum Cryptography(PQC) 연구가 활발합니다. PQC가 TLS 프로토콜에 통합될 경우, 기존 TLS 핸드셰이크 과정에 어떤 근본적인 변화가 예상되며, 이러한 변화가 성능, 호환성, 배포 전략에 미칠 영향에 대해 논해주세요.