공개키와 개인키란 무엇인가?
본 문서에서는 공개키와 개인키의 핵심적인 차이(암호화/복호화, 공개성/비밀성)를 분석하고, RSA/ECC 알고리즘 기반의 생성 논리, SSL 인증서와 전자서명에서의 실제 적용 시나리오를 상세히 설명하며, 공개키 기반 구조(PKI)를 통해 데이터 전송 보안을 보장하는 방식을 설명합니다.
공개키 개요
공개키(Public Key)는 공개 암호키의 줄임말로, 데이터를 암호화하는 데 사용되는 큰 수치이며 공개키 암호화의 키 쌍 중 하나의 키입니다. 공개키는 소프트웨어 프로그램으로 생성되며, 신뢰할 수 있는 지정 기관(예: 인증 기관(CA))에서 제공할 수도 있고, 공개적으로 접근 가능한 저장소나 디렉터리를 통해 모든 사람이 사용할 수 있도록 제공됩니다. 공개키는 보통 공개키 소유자만 알고 있는 개인키에 대응됩니다. 공개키는 주로 데이터를 암호화하고 전자서명을 검증하는 데 사용됩니다.
개인키 개요
개인키(Private Key)는 비공개 암호키의 줄임말로, 암호학에서 데이터를 암호화하고 복호화하는 데 사용되는 변수이며 공개키/개인키 쌍의 다른 한 쪽 키입니다. 개인키는 보통 길이가 긴 무작위 또는 의사 무작위로 생성된 비트 시퀀스로, 키 생성자 또는 데이터 복호화 권한이 있는 당사자와만 공유할 수 있습니다. 개인키는 주로 데이터를 복호화하고 전자서명을 생성하는 데 사용됩니다.
공개키와 개인키의 차이
| 공개키 | 개인키 | |
|---|---|---|
| 접근성 | 공개 누구나 획득 가능 | 비밀 유지 소지자만 알 수 있음 |
| 키 유형 | 비대칭 | 비대칭 |
| 생성 | 개인키와 함께 생성 | 공개키와 함께 생성 |
| 기반 알고리즘 | RSA, ECC 등 암호 알고리즘 기반 | 공개키와 동일한 알고리즘 기반 |
| 기능 역할 | 데이터 암호화, 전자서명 검증 | 데이터 복호화, 전자서명 생성 |
| 보안 요건 | 특별한 요건 없음 | 유출 방지를 위해 반드시 고도로 비밀 유지 |
| 저장 위치 | 디지털 인증서, 발신 이메일 및 실행 파일에 저장 | 인증된 기기 및 비공개 서버에 저장 |
| 일반적인 사용 사례 | SSL 인증서, 블록체인 | 보안 거래, 본인 인증 |