[Security] 공개키 인증서 완벽 가이드 : 일반인도 쉽게 이해할 수 있는 디지털 신분증 개념부터 활용까지 한 방에 이해하기
2019. 9. 4. 19:58ㆍDev & Tech/Security
반응형
공개키 인증서 개념과 SSL 인증서 종류 비교
인터넷 쇼핑이나 온라인 뱅킹을 할 때 주소창에 자물쇠 아이콘을 본 적이 있으신가요?
그것이 바로 공개키 인증서(SSL/TLS 인증서)가 작동하고 있다는 증거입니다.
이 글에서는 공개키 인증서의 개념부터 공개키·개인키 원리, SSL 인증서 종류 비교, 실생활 활용과 주의사항까지 한 번에 정리합니다.
목차
1. 공개키 인증서란 무엇인가?
2. 공개키와 개인키 작동 원리
3. SSL 인증서 종류와 차이점 비교
4. 일상생활 속 활용과 주의사항
5. 자주 묻는 질문 (FAQ)
#1. 공개키 인증서란 무엇인가?
1) 공개키 인증서의 정의
공개키 인증서(Public Key Certificate)는 디지털 세계의 신분증입니다.
실생활에서 신분증이 "이 사람이 누구다"를 증명하듯이, 공개키 인증서는 "이 웹사이트가 진짜 해당 기업이 운영하는 사이트다"를 전자적으로 증명하는 문서입니다.
흔히 SSL 인증서 또는 TLS 인증서라고도 불리며, 웹 브라우저 주소창의 자물쇠 아이콘으로 확인할 수 있습니다.
· · · · ·
2) 왜 공개키 인증서가 필요한가?
인터넷은 누구나 접속할 수 있는 열린 공간입니다. 이 환경에서는 아래 세 가지 위협이 항상 존재합니다.
① 신원 사칭: 가짜 은행·쇼핑몰 사이트를 만들어 사람들을 속이는 피싱 공격
② 도청: 전송 중인 개인정보·비밀번호가 암호화 없이 노출되는 문제
③ 데이터 변조: 전송 도중 제3자가 내용을 몰래 바꾸는 중간자 공격(MITM)
공개키 인증서는 신원 확인·암호화·무결성 보장 세 가지를 동시에 해결합니다.
· · · · ·
3) 인증서 발급 구조 (CA 신뢰 체계)
공개키 인증서는 아무나 발급할 수 없습니다. 인증 기관(CA, Certificate Authority)이라는 신뢰된 제3자가 검증 후 발급합니다.
① 루트 CA: DigiCert, GlobalSign 등 최상위 인증 기관 — 브라우저에 내장
② 중간 CA: 루트 CA로부터 권한을 위임받아 실제 인증서를 발급
③ 서버 인증서: 웹사이트가 보유하는 최종 인증서 — 사용자 브라우저가 이를 검증
#2. 공개키와 개인키 작동 원리
1) 두 개의 키가 하는 역할
공개키 암호화(비대칭 암호화)는 공개키(Public Key)와 개인키(Private Key), 두 개의 서로 다른 키를 사용합니다.
(1) 공개키 (Public Key)
① 누구에게나 공개되는 키로, 정보를 암호화하는 데 사용합니다.
② 마치 열쇠 없이 무엇이든 넣을 수 있는 자물쇠와 같습니다.
③ 웹사이트는 이 공개키를 인증서에 담아 방문자에게 전달합니다.
(2) 개인키 (Private Key)
① 서버(소유자)만 보유하는 비밀 키로, 공개키로 암호화된 정보를 복호화합니다.
② 자물쇠를 열 수 있는 유일한 열쇠와 같습니다.
③ 개인키가 유출되면 암호화된 모든 통신이 노출될 수 있으므로, 서버에서 절대 외부로 나가면 안 됩니다.
· · · · ·
2) 실생활 비유로 이해하기
카페에 비밀 편지함이 있다고 상상해보세요.
① 편지함(공개키)은 누구나 볼 수 있고, 누구나 편지를 넣을 수 있습니다.
② 그 편지함을 열 수 있는 열쇠(개인키)는 카페 주인만 가지고 있습니다.
③ 손님은 카페 주인에게 비밀 메시지를 전달하기 위해 편지함에 메시지를 넣습니다.
④ 오직 카페 주인만이 개인키로 편지함을 열어 메시지를 읽을 수 있습니다.
인터넷에서도 동일합니다. 사용자는 웹사이트의 공개키로 정보를 암호화해 전송하고, 웹사이트 서버만이 개인키로 복호화합니다.
· · · · ·
3) 공개키 암호화 vs 대칭키 암호화
구분
공개키 암호화 (비대칭)
대칭키 암호화
키 개수
공개키 + 개인키 (2개)
하나의 키 공유
속도
느림
빠름
보안성
높음 (키 노출 위험 낮음)
키 전달 시 노출 위험
주요 용도
인증서, 전자서명, 키 교환
대용량 데이터 암호화
실제 HTTPS
초기 연결 시 세션 키 교환에 사용
이후 실제 데이터 전송에 사용
#3. SSL 인증서 종류와 차이점 비교
1) 검증 수준에 따른 분류
(1) DV 인증서 (Domain Validation, 도메인 유효성 검증)
① 가장 기본적인 인증서로, 도메인 소유권만 확인합니다.
② 발급 속도가 빠르고 무료~저렴하게 이용 가능합니다 (예: Let's Encrypt).
③ 개인 블로그, 소규모 정보 제공 사이트에 적합합니다.
(2) OV 인증서 (Organization Validation, 조직 유효성 검증)
① 도메인 소유권 + 조직의 실제 존재 여부까지 확인합니다.
② 중소기업 웹사이트, B2B 서비스에 적합합니다.
③ 비용은 중간 수준이며 발급에 수일이 소요됩니다.
(3) EV 인증서 (Extended Validation, 확장 유효성 검증)
① 가장 엄격한 검증으로, 법적 존재·물리적 위치·전화번호까지 철저히 확인합니다.
② 과거에는 브라우저 주소창에 기업명이 초록색으로 표시되었으나, 최신 브라우저에서는 인증서 정보 클릭 시 확인 가능합니다.
③ 은행·대형 쇼핑몰·정부 사이트에 적합하며 비용이 높습니다.
· · · · ·
2) 보호 범위에 따른 분류
종류
보호 범위
예시
적합한 경우
단일 도메인
1개 도메인만 보호
example.com
단일 서비스 운영
와일드카드
주 도메인 + 모든 서브도메인
*.example.com
서브도메인이 많은 서비스
멀티 도메인 (SAN)
여러 개의 다른 도메인
a.com, b.com, c.com
여러 도메인을 한 번에 관리
· · · · ·
3) 인증서 유효기간과 갱신
SSL 인증서는 영구적으로 사용할 수 없으며 반드시 갱신이 필요합니다.
① 유료 인증서: 과거 최대 2년 → 현재 구글 정책상 최대 398일(약 13개월)로 제한 (2020년 이후 기준)
② Let's Encrypt 무료 인증서: 90일마다 갱신 필요, 자동 갱신 스크립트로 관리 가능
③ 인증서 만료 시 브라우저에 "연결이 안전하지 않음" 경고가 표시되어 사용자 이탈 발생
※ 출처: CA/Browser Forum 기준 (cabforum.org), 브라우저 정책은 버전에 따라 상이할 수 있음
#4. 일상생활 속 활용과 주의사항
1) 우리 생활 속 SSL 인증서 사용 사례
SSL 인증서는 눈에 보이지 않지만 매일 우리 디지털 생활을 지켜주고 있습니다.
① 온라인 쇼핑: 신용카드 번호·주소 등 결제 정보를 암호화하여 전송
② 인터넷 뱅킹: 계좌번호·거래 내역 암호화, 피싱 사이트 식별
③ SNS·이메일: 로그인 정보 및 개인 메시지 암호화
④ 검색엔진 SEO: 구글은 HTTPS 사이트에 검색 순위 가산점 부여
· · · · ·
2) 브라우저 경고 메시지 의미와 대응
브라우저에서 아래 경고가 뜨면 개인정보 입력 전 반드시 확인이 필요합니다.
① "연결이 안전하지 않음": HTTP 사이트이거나 인증서에 문제가 있는 경우
② "인증서가 만료됨": 서버 관리자가 갱신을 놓친 경우 — 사이트 자체가 사기는 아닐 수 있음
③ "인증서가 신뢰할 수 없음": 공인된 CA가 아닌 곳에서 발급한 경우 (자체 서명 인증서 등)
· · · · ·
3) 피싱 사이트 식별 주의사항
HTTPS = 안전한 사이트가 아닙니다. 피싱 사이트도 무료 DV 인증서를 발급받아 자물쇠 아이콘을 표시할 수 있습니다.
① 자물쇠 아이콘과 함께 URL(도메인 이름)을 반드시 확인하세요
② 공식 사이트와 한 글자만 달라도 완전히 다른 사이트일 수 있습니다 (예: naver.com vs naaver.com)
③ 의심스러운 링크는 직접 주소창에 입력하거나 공식 앱을 통해 접속하세요
#5. 자주 묻는 질문 (FAQ)
1) HTTPS와 HTTP의 차이점은 무엇인가요?
HTTP는 데이터가 암호화 없이 평문으로 전송되는 연결이고, HTTPS는 SSL/TLS 인증서로 암호화된 안전한 연결입니다. 최신 브라우저는 HTTP 사이트에 "안전하지 않음" 경고를 표시합니다.
· · · · ·
2) 인증서가 만료되면 어떻게 되나요?
인증서가 만료되면 브라우저에 경고 화면이 표시되어 사용자가 접속을 꺼리게 됩니다. 사이트 신뢰도 하락과 검색 순위 하락으로 이어질 수 있으므로, 만료 전 자동 갱신 설정을 권장합니다.
· · · · ·
3) 무료 인증서와 유료 인증서 중 어떤 것을 선택해야 하나요?
개인 블로그나 소규모 사이트는 Let's Encrypt 무료 DV 인증서로 충분합니다. 전자상거래·금융·기업 사이트는 OV 또는 EV 유료 인증서가 추가 신뢰와 고객 지원을 제공합니다.
· · · · ·
4) 모든 웹사이트가 HTTPS를 사용해야 하나요?
개인정보를 다루지 않는 단순 정보 제공 사이트도 HTTPS 사용을 강력히 권장합니다. 구글은 HTTPS 사이트에 SEO 가산점을 부여하며, 브라우저들도 HTTP 사이트에 경고를 표시하는 방향으로 정책을 강화하고 있습니다.
· · · · ·
5) 개인키가 유출되면 어떻게 되나요?
개인키가 유출되면 암호화된 통신이 모두 복호화될 수 있습니다. 즉시 해당 인증서를 폐기(Revoke)하고, CA에 요청하여 CRL(인증서 폐기 목록)에 등록 후 새 인증서를 발급받아야 합니다.
· · · · ·
6) Let's Encrypt는 무엇인가요?
Let's Encrypt는 비영리 단체 ISRG가 운영하는 무료 CA입니다. 자동화된 도구(Certbot 등)를 통해 누구나 무료로 DV 인증서를 발급받을 수 있으며, 유효기간 90일 자동 갱신을 지원합니다.
· · · · ·
7) 와일드카드 인증서와 멀티도메인 인증서의 차이는?
와일드카드 인증서(*.example.com)는 동일 도메인의 모든 서브도메인을 보호합니다. 멀티도메인(SAN) 인증서는 서로 다른 여러 도메인을 하나의 인증서로 보호할 수 있습니다.
· · · · ·
8) HTTPS 사이트라도 피싱일 수 있나요?
네, 가능합니다. 피싱 사이트도 무료 DV 인증서를 발급받으면 자물쇠 아이콘이 표시됩니다. HTTPS는 암호화를 보장할 뿐, 사이트 운영자의 신원을 보장하지는 않습니다. 반드시 URL 도메인 이름을 직접 확인하는 습관이 중요합니다.
· · · · ·
9) 인증서 정보는 브라우저에서 어떻게 확인하나요?
① 브라우저 주소창의 자물쇠 아이콘 클릭
② "연결이 안전함" 또는 "인증서" 항목 선택
③ 발급 대상, 발급 기관(CA), 유효 기간, 인증서 유형(DV/OV/EV) 등을 확인할 수 있습니다.
· · · · ·
10) SSL과 TLS, 어떻게 다른가요?
SSL(Secure Sockets Layer)은 구형 프로토콜로, 현재는 보안 취약점으로 인해 사용이 중단되었습니다. TLS(Transport Layer Security)가 SSL의 후속 버전으로, 현재 실제로 사용되는 프로토콜입니다. 다만 업계에서는 여전히 관용적으로 "SSL 인증서"라는 표현을 사용합니다.
마무리
공개키 인증서는 신원 확인·암호화·무결성 보장 세 가지를 동시에 처리하는 인터넷 보안의 핵심 기술입니다.
인증서를 선택할 때는 ① 사이트 규모와 목적 → ② 검증 수준(DV/OV/EV) → ③ 보호 범위(단일/와일드카드/멀티도메인) 순으로 판단하면 됩니다.
다음에 온라인 쇼핑이나 인터넷 뱅킹을 이용할 때, 주소창의 자물쇠 아이콘을 클릭해 인증서 정보를 직접 확인해보세요. HTTPS가 있다고 무조건 안전한 것은 아니며, URL 도메인 확인 습관이 피싱 예방의 첫걸음입니다.