728x90
🔐 공인인증서 인증 방식 이해하기
공인인증서로 로그인할 때 비밀번호(PIN)를 입력하면 뭔가 처리되긴 하는데,
과연 어떤 방식으로 "내가 진짜 주인"임을 증명할 수 있는 걸까요?
"내 비밀번호가 서버에 저장되는 걸까?"
"공인인증서 파일이 유출되면 위험한 걸까?"
"공개키, 개인키는 대체 뭐야?"
이 글에서는 이러한 궁금증을 비전공자도 이해할 수 있도록 쉽게 풀어 설명하고,
실제 사용하는 암호화 방식과 보안 구조까지 하나하나 짚어보겠습니다.
🧾 공인인증서란 무엇인가?
공인인증서는 다음과 같은 구성요소로 이루어져 있습니다:
- 개인키 (Private Key)
- 오직 나만 가지고 있어야 하는 비밀 정보
- 전자서명(서버 인증)에 사용됨
- 공개키 (Public Key)
- 누구나 볼 수 있음
- 서버가 서명이 진짜인지 확인하는 데 사용됨
- 인증서 (Certificate)
- 공개키 + 사용자 정보 + 인증기관(CA)의 전자서명 포함
- "이 공개키는 이 사람 것!"이라는 걸 보장해주는 디지털 신분증 역할
🔐 공인인증서 인증 흐름 (공개키/개인키 기반)
① 사용자: 인증서 선택 + PIN 입력
- 사용자가 인증서 파일을 선택하고 비밀번호(PIN)를 입력합니다.
- 이 PIN은 인증서 내부에 암호화된 개인키를 복호화하는 열쇠 역할을 합니다.
- 개인키는 사용자 PC 내부에서만 복호화 및 사용되며, 서버로 전송되지 않습니다.
② 서버: 난수(Challenge)를 전송
- 서버는 임의의 숫자(난수)를 사용자에게 보냅니다.
- 이는 **"이걸 개인키로 서명해봐. 진짜 주인이면 가능하겠지?"**라는 의미의 문제입니다.
③ 사용자: 개인키로 전자서명 수행
- 내 컴퓨터 안에서 복호화된 개인키로 난수에 대해 전자서명을 생성합니다.
- 그 결과와 함께 내 인증서(공개키 포함)를 서버로 보냅니다.
④ 서버: 공개키로 서명 검증
- 서버는 내가 보낸 인증서 안의 공개키로 전자서명 결과를 검증합니다.
- 또한, CA의 전자서명을 확인해 인증서가 신뢰할 수 있는 기관에서 발급된 것인지 검사합니다.
- 서명 검증이 통과되면 → "이 사람은 진짜 인증서 주인이다"라고 판단합니다.
⑤ 인증 완료
- 검증에 성공하면 로그인, 본인확인, 전자서명 등이 완료됩니다.
- 이 과정에서 개인키나 비밀번호가 절대로 서버로 전송되지 않기 때문에 매우 안전합니다.
🔑 PIN은 대칭키, 인증은 비대칭키!
이해를 돕기 위해 중요한 개념을 정리해보면 다음과 같습니다:
구분 | 방식 | 설명 |
PIN 비밀번호 | 🔐 대칭키 암호 | 개인키를 복호화하기 위한 열쇠 (AES 등 사용) |
전자서명 인증 | 🔐 비대칭키 암호 | 개인키로 서명, 공개키로 검증 (RSA 등 사용) |
- 개인키는 PIN으로 보호되어 암호화되어 있고,
- 인증 과정에서는 공개키-개인키 쌍을 활용한 비대칭키 기반 전자서명이 사용됩니다.
🔒 실제로 사용하는 암호화 알고리즘
1. 개인키 보호 (대칭키 암호)
- 인증서 파일 내부의 개인키는 AES, 3DES 같은 대칭키 암호로 암호화되어 있습니다.
- PIN은 이 암호화에 사용되는 비밀키 역할을 합니다.
2. 전자서명 수행 (비대칭키 암호)
- 전자서명은 주로 RSA, SHA256withRSA 같은 조합이 사용됩니다:
- 데이터(예: 난수)에 SHA-256 해시 함수를 적용하고
- 그 해시값을 개인키로 서명
➡ 서버는 인증서 안의 공개키로 이 서명을 검증하게 됩니다.
🛡️ 전자서명 위조 공격은 어떻게 막을까?
전자서명은 다음과 같은 구조로 위조를 방지합니다:
- 매번 다른 난수로 Challenge 요청
→ 이전에 도청한 값을 재사용하는 재전송 공격 방지 - 공개키로만 검증 가능, 역산은 불가능
→ 공개키로 개인키를 유추하는 건 수학적으로 불가능 - CA 서명 검증으로 위조된 인증서 차단
→ 인증기관의 신뢰 체계를 통해 위조된 인증서 사용 불가 - 개인키는 서버에 노출되지 않음
→ 인증 과정은 로컬에서만 이루어져, 유출 위험이 현저히 낮음
✅ 전체 요약
항목 | 설명 |
인증 구조 | 공개키/개인키 기반 전자서명 방식 |
PIN 역할 | 개인키 복호화를 위한 대칭키 암호의 키 |
개인키 위치 | 사용자 PC 내부, 외부 전송 없음 |
인증 과정 | 서버의 난수 → 개인키로 서명 → 공개키로 검증 |
보안성 | 전자서명 위조, 리플레이 공격, 인증서 위조 모두 방어 구조 확보 |
✍️ 대칭키와 비대칭키를 결합한 정교한 보안 메커니즘
공인인증서 인증 방식은 단순히 비밀번호를 입력하는 것처럼 보이지만,
그 안에는 대칭키와 비대칭키를 결합한 정교한 보안 메커니즘이 작동하고 있습니다.
개인키를 안전하게 보호하면서도, 서버는 그 키를 절대 알지 않고
"이 사람이 진짜 인증서 주인이다"를 확인할 수 있는 것 —
바로 이게 **공개키 기반구조(PKI)**의 핵심입니다.
이제 공인인증서 인증 방식의 흐름이 한결 선명하게 보이시죠?
여러분의 디지털 보안 이해에 도움이 되셨길 바랍니다. 😊
728x90
'정보보안' 카테고리의 다른 글
주파수 신호 재전송 공격 보안, 롤링코드란 무엇인가? 🧐 (0) | 2025.07.09 |
---|---|
스마트폰 보안: 모바일 기기 보호 팁 10가지 (0) | 2025.05.30 |
해커가 가장 자주 사용하는 공격 기법과 방어 전략 (0) | 2025.05.30 |
크롬 확장 프로그램을 위장한 인포스틸러 공격 분석 (0) | 2025.05.14 |
LLM DOS 공격 방어 (0) | 2025.04.29 |