728x90
1. PGP
PGP는 대칭키 암호화와 비대칭키 암호화를 함께 사용하는 하이브리드 암호 시스템입니다.
1991년 필 짐머만(Phil Zimmermann)이 처음 갭잘한 이후 전세계적으로 널리 사용되고 있습니다.

1) 비대칭키암호화(공개키/개인키)
- 수신자는 공개키(Public Key)를 이메일 발신자에게 제공합니다.
- 발신자는 이 공개키로 이메일을 암호화합니다.
- 수신자는 자신만 가진 개인키(Private Key)로 이메일을 복호화합니다.
2) 대칭키 암호화
- 실제 메시지는 빠른 속도의 대칭키 방식으로 암호화됩니다.
- 이 대칭키 자체를 비대칭키로 다시 암호화하여 함께 전송합니다.
3) 디지털 서명
- 발신자는 메시지의 해시값을 자신의 개인키로 암호화하여 서명을 만듭니다.
- 수신자는 발신자의 공개키로 서명을 검증함으로써, 무결성과 인증을 확보합니다.
PGP 활용
| 기능 | 설명 |
| 암호화 | 이메일 내용과 첨부파일을 암호화하여, 제3자가 볼 수 없도록함 |
| 서명 | 디지털 서명을 통해 이메일이 위조되지 않았음을 검증 |
| 인증 | 공개키 기반 구조를 통해 발신자의 신원을 확인 |
| 무결성 검증 | 메시지가 전송 중 변조되지 않았음을 확인 |
키 관리 방식
PGP는 중앙 인증 기관(CA)를 사용하지 않고 사용자가 서로의 키를 직접 인증하는 웹 오브 트러스트(Web Of Trust) 방식을 사용합니다. 사용자는 자신이 신뢰하는 사람의 키를 서명해줌벼, 이를 통해 간접적인 신뢰구조를 형성합니다.
암호 알고리즘 구성
| 구분 | 용도 | 주요 알고리즘 |
| 대칭키 암호화 | 메시지 암호화 | AES, CAST5, IDEA |
| 비대칭키 암호화 | 세션키 암호화, 디지털 서명 | RSA, DSA, ElGamal |
| 해시 함수 | 서명용 해시 생성 | SHA-2, SHA-1, RIPEMD-160 |
2. PEM
PEM은 원래 이메일을 암호화하고 서명하는 표준으로 제안되었지만 오늘날 주로 인증서, 키, 암호화 데이터를 저장하고 전송하는 형식으로 사용되고 있습니다.
텍스트 기반의 Base64 인코딩 형식을 사용합니다.
Base64 : 바이너리 데이터 -> ASCII 문자로 변환하는 인코딩 기법
-----BEGIN <LABEL>-----
(base64 encoded data)
-----END <LABEL>-----
3. S/MIME

S/MIME(Secure/Multipurpose Internet Mail Extendsions)는 이메일 메시지의 기밀성, 무결성 인증, 부인방지를 보장하는 암호화 및 디지털 서명 표준입니다.
특히 S/MIME은 PGP와 달리 X.509 인증서를 기반으로 동작하며 표준 이메일 ㅍ포맷인 MIME 위에 보안을 덧붙이는 방식 입니다.
Microsoft Outlook, Apple Mail, thunderbird 등 주요 이메일 클라이언트는 S/MIME을 기본적으로 지원하며, 기업은 내부 CA 또는 외부 CA를 통해 인증서를 배포하고 관리합니다.
이메일 MIME 구조
Content-Type: multipart/signed;
protocol="application/pkcs7-signature";
micalg=sha-256;
boundary="----SignedBoundary"
------SignedBoundary
Content-Type: text/plain; charset="utf-8"
안녕하세요, 이 메일은 서명되어 있습니다.
------SignedBoundary
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
MIAGCSqGSIb3DQEHAqCAMIACAQExDjAMBggqhkiG9w0CBQUAMAsG...
(생략된 서명 데이터)
------SignedBoundary--
암호화된 이메일 S/MIME 구조
Content-Type: application/pkcs7-mime; smime-type=enveloped-data;
name="smime.p7m"
Content-Transfer-Encoding: base64
MIIBOwYJKoZIhvcNAQcDoIIBLzCCA...
(암호화된 전체 메시지 - Base64 인코딩)
- 전체 메시지 내용이 암호화된 PKCS#7 형식
- 수신자는 자신의 개인키로 복호화해야 메시지를 볼 수 있음
- 실제 이메일 내용은 복호화 후에만 확인 가능
728x90
'정보보호' 카테고리의 다른 글
| DNS(Domain Name Service)의 개념과 쿼리 과정 (0) | 2025.06.09 |
|---|---|
| 리눅스 작업스케줄러 cron (0) | 2025.06.07 |
| 포트스캐닝 도구 nmap 사용 방법 및 스텔스 스캔 (0) | 2025.06.06 |
| 리눅스 /etc/passwd 파일 및 /etc/shadow 파일에 대한 개념 (0) | 2025.06.03 |
| PKI OSCP(Online Certificate Status Protocol) 개념 (0) | 2025.05.31 |