본문 바로가기
Infra & Security Eng/Network & Security

전자서명과 전자봉투: 신뢰와 기밀성을 만드는 암호 메커니즘

by 엔지니어 E 2026. 3. 19.
반응형
메시지 M에 해시 함수 H(M)을 적용하여 고정된 길이의 해시값 h를 생성하는 과정


해쉬 함수의 핵심 원리 

1. 입력 메시지 (Message, M)
- 길이 제한 없음: 아주 작은 데이터부터 테라바이트급 대용량 파일까지 어떤 크기든 들어갈 수 있음

2. 과정: 해시 함수(H)



메시지(M)를 해시 함수(H)에 넣어서 계산 결과값(h)을 뽑아내는 과정
단방향성:M으로 h를 만드는 건 쉽지만, h만 보고 M을 알아내는 것은 불가능함

3. 메시지 다이제스트 (Message Digest, h)
고정된 길이 (Fixed Length): 입력 데이터(M)가 아무리 길거나 짧아도, 결과물인 h 항상 정해진 크기로 똑같이 나온다

 

안전한 해시 함수(Hash Function)의 6가지 필수 요구 조건

1. 효율성
- 크기 무제한: 어떤 용량의 메시지(M)도 입력 가능 
- 고정 크기: 결과값(h)은 항상 일정한 길이 
- 계산 용이: M을 넣으면 h가 아주 빠르게 나옴 

2. 보안성(공격 방어)
- 일방향성(One-way): h만 보고 M을 찾는 건 불가능(역추적 불가)
- 약한 충돌 회피: 특정 M과 해시값이 다른 M'을 찾는 건 불 가능(위조 방지) 
- 강한 충돌 회피: 해시값이 값은 아무 쌍(M,M')이나 찾는 건 불가능(생일 공격 방어) 

 

전자 서명과 PKI(=공개키 기반구조)

1. 배경 및 목적
- 배경: 종이 문서에서 디지털 문서로 변정됨에 따라 온라인상의 신뢰 확인 수단이 필요해짐
- 목적: 신뢰성 확보(내용이 안 바뀌었는지, 보낸 사람이 맞는지 확인)

2. 3대 필수 서비스
- 데이터 무결성: 내용이 위, 변조 되지 않았음
- 사용자 인증: 서명한 사람이 본인이 맞음
- 부인 방지: 나중에 "내가 서명 안 했다"고 발뺌할 수 없음

3. 개념적 정의
- 역사: 1976년 디피와 헬만이 처음 제안함
- 공식: 전자서명 = 사용자 인증 + 메시지 인증   

 

종이 문서 vs 전자 문서 비교

구분종이문서전자문서

 

전자문서 및 전자상거래의 취약점

1. 위, 변조 용이함: 원본과 수정본의 구분이 불가능함(무결성 결여)
2. 신원확인 곤란: 상대방이 누구인지 증명하기 어려움(사용자 인증 필요)
3. 부인(발뺌 가능): 문서 작성이나 거래 사실을 나중에 부정할 수 있음(부인방지 필요)
4. 비밀 유지 곤란: 전송 데이터가 노출될 위험이 있음(기밀성 결여)

 

전자서명의 5대 필수 조건 

1. 서명자 신원확인: 서명자가 누구인지(개인키 소유자) 확실히 증명함.
2. 위조 불가: 합법적인 서명자 외에는 서명을 절대 만들 수 없음.
3. 변경 불가: 서명 후 문서 내용이나 서명 자체를 수정할 수 없음.
4. 부인 불가: "내가 안 했다"고 사후에 부정하는 것이 불가능함.
5. 재사용 불가: 한 번 만든 서명을 잘라내어 다른 문서에 붙여 쓸 수 없음.

 

전자서명의 구현 방식 

암호 알고리즘에 따른 두 가지 접근법 이다 

1. 대칭키 기반 (중재된 서명): 서명과 검증을 위해 반드시 믿을 수 있는 **제3자(중재자)**가 개입해야 함

2. 공개키 기반 (현대적 방식):
- 메시지 복원형: 서명 값에서 원래의 메시지를 직접 추출해내는 방식.
- 메시지 부가형: 메시지에 별도의 서명 값을 덧붙여 전송하는 방식 (가장 널리 쓰임)

 

전자서명과 공개키 암호 관계

1. 키(Key)의 역할 비유
- 개인키 = 나만의 인감 도장: 서명자 본인만 가지고 있으며, 서명을 생성할 때 사용함
- 공개키 = 인감 증명서: 누구나 볼 수 있으며, 찍힌 도장이 진짜인지 검증할 때 사용함

2. 전자서명 생성 및 검증
생성(서명자 A): 메시지 다이제스트 + A의 개인키 = 전자서명 
* 나만 가진 키로 지문을 암호화하여 "내가 썼다"는 표식을 만듦)
검증(수신자 B): 전자서명 + A의 공개키 = 메시지 다이제스트
* 모두에게 공개된 A의 키로 서명을 풀어보니 원래 지문이 나옴 -> A가 쓴게 맞음 

 

전자서명 프로세스와 전자봉투 프로세스 




전사서명과 전자봉투의 목적성
전자서명: 메시지의 무결성과 누가 보냈는지를 확인하는 용도
전자봉투: 메시지의 내용을 아무도 못 보게(기밀성) 숨겨서 보내는 용도

 

공인인증서(디지털 인증서)

1. 인증서의 본질: 신분증
인증서는 온라인상에서 특정 공개키가 특정 **소유자(개인 또는 법인)**의 것이 맞음을 제3의 신뢰 기관(인증기관, CA)이 보증해 주는 전자 신분증 이다

2. 구성 및 작동 원리
- 귀속 관계 증명: "이 공개키는 홍길동의 것이다"라는 연결 고리를 확정함
- 인증기관의 서명: 인증기관(CA)이 위 내용을 확인한 뒤, 기관의 개인키로 전자서명을 하여 위조를 방지함
- 데이터 무결성: 인증서가 발급된 후 내용이 조금이라도 수정되면 인증기관의 서명이 깨지므로 신뢰할 수 없게 됨

3. 유효기간 관리 (Security Best Practice)
권장 기간: 보안 강화를 위해 보통 6개월~1년 정도의 짧은 유효기간을 권장

짧은 주기의 이유
- 키 탈취 대비: 개인키가 유출되었을 때 피해가 지속되는 기간을 최소화함
- 알고리즘 업데이트: 해킹 기술 발전에 맞춰 더 강력한 암호화 알고리즘으로 갱신하기 위함
- 상태 점검: 소유자의 자격 유지 여부(퇴사, 폐업 등)를 정기적으로 확인합함

 

인증서 구조 (X.509 v3)

1. 인증서 3대 구성 요소
 - tbsCertificate (본체): '서명 전 인증서'. 사용자 정보, 공개키, 유효기간 등 필수 데이터 집합
- 서명 알고리즘: 다이제스트(MD5, SHA 등)와 공개키 암호(RSA 등) 조합 정보
- 인증기관 서명: 본체(tbs)를 인증기관(CA)의 개인키로 암호화한 최종 증명값

 

인증 관리 체계 (PKI) 핵심 역할

인증서의 발급부터 폐기까지 관리하는 시스템

- CA (인증기관): 인증서를 실제로 발급 및 서명하는 최상위 기관
- RA (등록기관): 사용자 신원을 확인하고 등록을 대행하는 접수 창구 (발급 권한은 없음)  ex. 은행
- CRL (폐지 목록): 유효기간 만료 전이라도 키 유출 등으로 취소된 인증서의 블랙리스트

 
전자서명이 뭔지, 인증서가 뭔지 정확히 개념을 알고 있어야 한다