패스잇
보안 · 중급

HTTPS 통신 시 클라이언트와 서버 간의 TLS 핸드셰이크 과정에서 주요 단계와 각 단계의 목적을 설명해 주세요. 특히 대칭키와 비대칭키가 어떻게 활용되는지 포함하여 설명해 주세요.

힌트 · 클라이언트 헬로, 서버 헬로, 인증서 교환 및 검증, 키 교환, Finished 메시지 순서로 대칭키 생성 및 교환 과정을 설명합니다.

ClientHelloServerHello인증서 검증대칭키 암호화비대칭키 암호화

모범답안

HTTPS 통신 시 TLS 핸드셰이크는 클라이언트와 서버가 안전하게 통신하기 위한 초기 과정입니다.

먼저, 클라이언트가 ClientHello 메시지를 보내 지원하는 TLS 버전, 암호화 스위트 등을 알립니다. 서버는 ServerHello 메시지로 사용할 TLS 버전과 암호화 스위트를 선택하고, 자신의 인증서를 클라이언트에게 보냅니다.

클라이언트는 서버 인증서의 유효성을 검증하고, 이 인증서에 포함된 서버의 공개키를 사용하여 통신에 사용할 대칭키를 생성합니다. 이 대칭키를 서버의 공개키로 암호화하여 서버에게 전송합니다.

서버는 자신의 개인키로 암호화된 대칭키를 복호화하고, 클라이언트와 동일한 대칭키를 생성합니다. 마지막으로, 클라이언트와 서버는 각각 Finished 메시지를 보내 핸드셰이크가 성공적으로 완료되었음을 확인합니다. 이후 모든 통신은 이 대칭키를 사용하여 암호화됩니다.

이 과정에서 비대칭키는 인증서 검증과 대칭키 교환에 사용되어 보안을 강화하고, 대칭키는 실제 데이터 암호화에 사용되어 빠른 통신을 가능하게 합니다.

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

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

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

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