보안 · 심화
TLS 구현체는 다양한 Side-Channel Attack에 노출될 수 있습니다. 특정 암호화 모드나 패딩 방식의 취약점을 이용한 Lucky 13, BEAST, CRIME 같은 공격들이 대표적인 예시입니다. 이러한 공격들이 TLS 통신에 어떻게 영향을 미치며, 이를 방어하기 위한 현대적인 TLS 프로토콜 및 구현체의 설계 원칙은 무엇인지 설명해주세요.
힌트 · Side-Channel Attack은 암호화 작업의 시간, 전력 소모 등 부가 정보를 이용합니다. 이를 방어하기 위해 안전한 패딩 방식, 일정 시간 연산, Side-Channel Resistant 구현 등이 중요합니다.
Side-Channel AttackCBC Padding OracleAEAD (Authenticated Encryption with Associated Data)TLS 1.3Timing Attack
모범답안
TLS 구현체는 Side-Channel Attack에 취약할 수 있습니다. 예를 들어, Lucky 13 공격은 CBC 모드 암호화에서 패딩 오류 처리 시간 차이를 이용해 암호문을 해독합니다. BEAST 공격은 TLS 1.0의 CBC 모드에서 IV 예측 가능성을 악용하고, CRIME 공격은 HTTP 압축을 이용해 쿠키를 탈취합니다.
이러한 공격을 방어하기 위해 현대적인 TLS 프로토콜은 다음과 같은 원칙을 따릅니다. 첫째, AEAD(Authenticated Encryption with Associated Data) 모드를 사용합니다. AEAD는 암호화와 인증을 동시에 수행하여 무결성을 보장하고, 패딩 오라클 공격을 방지합니다. 둘째, TLS 1.3은 안전하지 않은 암호화 방식과 기능을 제거하고, Key Exchange 방식을 개선하여 보안성을 강화했습니다. 셋째, Side-Channel Resistant 구현을 통해 연산 시간을 일정하게 유지하거나, 전력 소모 패턴을 숨기는 등의 기법을 적용합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 HTTPS / TLS / 암호화 면접 질문
- Perfect Forward Secrecy(PFS)가 HTTPS 통신에서 제공하는 핵심 보안 이점은 무엇이며, 이를 구현하기 위해 TLS 핸드셰이크 과정에서 어떤 키 교환 알고리즘(Key Exchange Algorithm)이 사용되어야 하는지 구체적으로 설명해주세요.
- 클라이언트 측에서 서버 인증서의 신뢰성을 강화하기 위한 기법으로 Certificate Pinning이 사용되곤 했습니다. HPKP(HTTP Public Key Pinning)가 왜 권장되지 않고 현재는 거의 사용되지 않는지 설명하고, 이를 대체하거나 보완하는 현대적인 접근 방식(예: Certificate Transparency)은 무엇인지 비교 설명해주세요.
- MSA(Microservice Architecture) 환경에서 서비스 간 인증(Service-to-Service Authentication) 및 권한 부여를 강화하기 위해 Mutual TLS(mTLS)를 도입하려 합니다. mTLS의 동작 방식과 기존 단방향 TLS 대비 이점을 설명하고, 실제 MSA 환경에서 mTLS를 구축할 때 고려해야 할 기술적 과제와 해결 방안은 무엇이 있을까요?
- 클라우드 환경에서 로드 밸런서(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 핸드셰이크 과정에 어떤 근본적인 변화가 예상되며, 이러한 변화가 성능, 호환성, 배포 전략에 미칠 영향에 대해 논해주세요.