1. 전자문서와 전자상거래의 문제점 해결
- 전자문서의 한계: 물리적 특성으로 위변조를 식별할 수 있는 종이와 달리, 전자문서는 위변조가 쉽고(무결성 위협), 누가 작성했는지 입증하기 어려움 (부인방지 위협)
- 전자상거래의 위협: 비대면 환경이라 거래 상대방의 신원 확인이 곤란하고(사용자 인증 위협), 네트워크 전송 내용의 비밀 유지가 어려움 (기밀성 위협)
이를 극복하기 위한 전자서명의 4가지 요건은 다음과 같습니다.
- 위조 불가 (Not forgeable): 합법적인 개인키 소유자(행위자) 외에는 서명 생성이 불가함을 증명해야 함
- 변경 불가 (Unalterable): 서명한 문서의 내용이나 서명 자체가 변경되지 않음을 증명해야 함
- 부인 불가 (Non-Repudiation): 서명은 오직 본인 이외에는 불가능하므로 사후에 부인할 수 없음을 증명함
- 재사용 불가 (Not Reusable): 해당 서명을 복사해 다른 전자문서의 서명으로 사용할 수 없음을 증명해야 함
2. 공개키를 이용한 전자서명 원리
전자서명에서 개인키는 서명자 본인의 '인감도장' 역할을 하고, 공개키는 서명을 확인하는 '인감증명서' 역할을 합니다.
- 전송할 평문의 메시지 다이제스트(해시값) 계산
- 계산된 다이제스트를 송신자의 개인키로 암호화 [전자서명]
- 메시지와 전자서명을 함께 수신자에게 전송
- 수신자는 받은 메시지에서 직접 메시지 다이제스트 계산
- 송신자로부터 온 전자서명을 송신자의 공개키로 복호화
- 복호화하여 나온 해시값과 4번에서 직접 계산한 해시값을 비교하여, 일치하면 문서의 무결성과 송신자의 신원을 확신할 수 있음
3. 하이브리드 암호 시스템: 전자봉투 (Digital Envelope)
전자봉투 방식은 처리 속도가 빠른 대칭키 암호와, 키 관리가 편한 공개키 암호의 장점을 모두 결합해 '서명'과 '기밀성'을 동시에 달성합니다.
- 송신자는 난수를 생성하여 이를 통신에 쓸 대칭키(비밀키/세션키)로 지정
- 용량이 큰 본문 메시지는 속도가 빠른 이 대칭키로 암호화
- 128비트짜리 대칭키 자체는 수신자의 1024비트 공개키로 암호화 이렇게 키를 암호화한 패키지를 '전자봉투'라고 부름
- 송신자는 전자봉투와 암호화된 메시지를 수신자에게 함께 전송
- 수신자는 자신의 개인키로 전자봉투를 열어(복호화) 128비트 대칭키를 획득하고, 이 대칭키로 암호 메시지를 복호화하여 평문을 읽음
4. PKI 구성요소와 X.509 인증서
위의 모든 시스템이 동작하려면 서명을 검증할 때 사용하는 '공개키'가 정말 그 사람의 것인지 믿을 수 있어야 합니다. 이를 위해 공인된 기관이 보증을 서주는 체계가 PKI입니다.
- 인증서의 정의: 개인키와 한 쌍인 공개키가 특정 자연인 또는 법인의 소유임을, 인증기관이 자신의 개인키로 전자서명하여 증명하는 전자적 정보 (현실의 인감증명서 역할)
- X.509 (RFC 2459): 인증서의 국제 표준 포맷으로, 약 1KB 정도의 바이너리 데이터로 이루어져 있음
- 내부에는 확장 항목 외에 서명 전 인증서 내용(tbsCertificate), 메시지 다이제스트 및 공개키 알고리즘 명세, 인증기관 정보 등이 필수로 포함
- 인증서 발행: 사용자가 공개키를 인증기관에 등록하면, 기관은 이를 자신의 개인키로 서명하여 발행
📌 PKI의 핵심 구성 기관
- CA (Certificate Authority): 루트 CA 및 공인인증기관으로, 인증서를 발행하는 주체
- RA (Registration Authorities): 사용자의 신원을 대면 혹은 온라인으로 확인하고 등록 업무를 수행하는 기관
- CRL (Certificate Revocation List): 유효기간이 지나기 전 개인키가 유출되는 등의 이유로 폐지된 인증서들의 블랙리스트(폐지 목록)
- 인증 서버는 통신 전 이 CRL을 참조하여 인증서의 유효성 검증