보안 · 심화
클라이언트 측에서 서버 인증서의 신뢰성을 강화하기 위한 기법으로 Certificate Pinning이 사용되곤 했습니다. HPKP(HTTP Public Key Pinning)가 왜 권장되지 않고 현재는 거의 사용되지 않는지 설명하고, 이를 대체하거나 보완하는 현대적인 접근 방식(예: Certificate Transparency)은 무엇인지 비교 설명해주세요.
힌트 · HPKP는 실수로 인한 서비스 중단 위험이 커서 권장되지 않습니다. Certificate Transparency는 모든 발급된 인증서를 공개적으로 로깅하여 CA의 오발행을 감시하는 방식으로 신뢰성을 강화합니다.
HPKP위험성Certificate Transparency (CT)유연성자동화
모범답안
HPKP는 클라이언트가 특정 서버의 인증서 또는 공개키를 미리 저장해두고 연결 시 이를 검증하는 방식입니다. 보안은 강화되지만, 설정 오류나 키 변경 실패 시 서비스 장애를 유발할 위험이 컸습니다. 키를 잃어버리거나 잘못된 키를 고정했을 경우 복구가 매우 어려웠죠.
반면 Certificate Transparency (CT)는 인증서 발급 내역을 공개적으로 로깅하여 감시하는 방식입니다. CA가 잘못된 인증서를 발급하더라도 빠르게 탐지할 수 있고, 도메인 소유자는 자신의 도메인에 대한 인증서 발급 내역을 쉽게 확인할 수 있습니다. HPKP처럼 서비스 중단 위험 없이 인증서 생태계 전반의 신뢰도를 높이는 데 기여합니다. CT는 자동화된 모니터링과 유연한 대응이 가능하다는 장점도 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 HTTPS / TLS / 암호화 면접 질문
- SNI(Server Name Indication)가 HTTPS에서 어떤 문제를 해결하기 위해 도입되었으며, 어떻게 동작하는지 설명해 주세요.
- TLS 1.3의 0-RTT(Zero Round-Trip Time) 모드는 초기 연결 설정 성능을 크게 향상시킵니다. 하지만 이 모드가 도입하는 보안상의 주요 위험 요소는 무엇이며, 이를 완화하기 위한 기술적 접근 방식에는 어떤 것들이 있을까요?
- Perfect Forward Secrecy(PFS)가 HTTPS 통신에서 제공하는 핵심 보안 이점은 무엇이며, 이를 구현하기 위해 TLS 핸드셰이크 과정에서 어떤 키 교환 알고리즘(Key Exchange Algorithm)이 사용되어야 하는지 구체적으로 설명해주세요.
- MSA(Microservice Architecture) 환경에서 서비스 간 인증(Service-to-Service Authentication) 및 권한 부여를 강화하기 위해 Mutual TLS(mTLS)를 도입하려 합니다. mTLS의 동작 방식과 기존 단방향 TLS 대비 이점을 설명하고, 실제 MSA 환경에서 mTLS를 구축할 때 고려해야 할 기술적 과제와 해결 방안은 무엇이 있을까요?
- 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 각각의 장단점과 보안/성능 관점에서의 트레이드오프를 비교 설명해주세요.