보안 · 기초
공개키(Public Key)와 개인키(Private Key)는 각각 무엇이며, HTTPS 통신에서 이 두 키가 어떻게 상호작용하며 사용되는지 설명해주세요.
힌트 · 공개키는 누구나 접근 가능하며 암호화나 서명 검증에 사용되고, 개인키는 소유자만 가지며 복호화나 서명 생성에 사용됩니다.
공개키 암호화비대칭 키인증서TLS/SSL 핸드셰이크암호화/복호화
모범답안
공개키와 개인키는 비대칭 키 암호화 방식의 핵심입니다. 공개키는 이름 그대로 누구나 접근할 수 있으며, 데이터를 암호화하거나 디지털 서명을 검증하는 데 사용됩니다. 반면 개인키는 오직 소유자만이 안전하게 보관해야 하며, 공개키로 암호화된 데이터를 복호화하거나 디지털 서명을 생성하는 데 사용됩니다.
HTTPS 통신에서는 이 두 키가 TLS/SSL 핸드셰이크 과정에서 중요한 역할을 합니다. 클라이언트(브라우저)가 서버에 접속하면, 서버는 자신의 공개키가 포함된 인증서를 클라이언트에게 전달합니다. 클라이언트는 이 공개키를 이용해 통신에 사용할 대칭키를 암호화하여 서버로 보냅니다. 서버는 자신의 개인키로 이 대칭키를 복호화하여 얻고, 이후부터는 이 대칭키를 이용해 빠르고 효율적으로 데이터를 암호화하여 통신합니다. 이를 통해 통신의 기밀성과 서버의 신뢰성을 보장합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 HTTPS / TLS / 암호화 면접 질문
- TLS 핸드셰이크 과정의 주된 목적은 무엇이며, 이 과정을 통해 어떤 정보들이 교환되나요?
- HTTPS 통신에서 서버 인증서(Server Certificate)는 어떤 역할을 하며, 왜 필요한가요?
- CA(Certificate Authority)는 무엇이며, 인터넷 환경에서 CA가 제공하는 신뢰 모델은 어떻게 동작하나요?
- HTTPS 통신 시 클라이언트와 서버 간의 TLS 핸드셰이크 과정에서 주요 단계와 각 단계의 목적을 설명해 주세요. 특히 대칭키와 비대칭키가 어떻게 활용되는지 포함하여 설명해 주세요.
- 웹 브라우저가 서버의 SSL/TLS 인증서를 신뢰하는 과정에서 CA(인증기관)의 역할은 무엇이며, 신뢰 체인(Trust Chain)은 어떻게 동작하는지 설명해 주세요.
- HTTPS에서 Perfect Forward Secrecy(PFS)가 무엇인지 설명하고, 이를 제공하기 위해 어떤 키 교환 알고리즘이 사용되는지 예시를 들어 설명해 주세요. PFS의 중요성은 무엇인가요?