PGP & GPG

agnusdei·2025년 9월 3일

CTF

목록 보기
90/185

PGP & GPG

1️⃣ 개요

  • PGP (Pretty Good Privacy)

    • 1991년 Phil Zimmermann이 개발한 데이터 암호화 및 인증 시스템
    • 이메일, 파일, 메시지 등을 안전하게 전송하는 데 사용
    • 제공 기능: 기밀성(Confidentiality), 무결성(Integrity), 인증(Authentication)
  • GPG (GNU Privacy Guard)

    • PGP의 오픈소스 구현체
    • GNU 프로젝트에서 개발, 무료 사용 가능, PGP와 호환
    • 동일 기능 제공: 메시지/파일 암호화, 디지털 서명, 키 관리

2️⃣ 특징

특징PGPGPG
공개 여부상용/부분 무료오픈소스, 무료
키 관리Web of Trust 기반Web of Trust + 공개 키 서버(Key Server)
암호화 방식하이브리드 암호화 (대칭 + 비대칭)동일, 오픈소스 검증 가능
인증디지털 서명디지털 서명, 메시지 무결성
호환성PGP 프로토콜 준수PGP와 완전 호환 가능

3️⃣ 기술적 동작 원리

① 하이브리드 암호화

  1. 대칭키 생성

    • 메시지 내용을 빠르게 암호화하는 대칭키(Symmetric Key) 생성
  2. 대칭키 암호화

    • 수신자의 **공개키(Public Key)**로 대칭키를 암호화 → 안전한 키 전송
  3. 메시지 전송

    • 암호화된 메시지 + 암호화된 대칭키 전송
  4. 복호화

    • 수신자는 개인키(Private Key)로 대칭키 복호화
    • 복호화된 대칭키로 메시지 복원

② 디지털 서명

  1. 송신자 A가 메시지 해시(Hash) 생성
  2. 개인키(Private Key)로 해시 암호화 → 디지털 서명 생성
  3. 수신자 B가 송신자 공개키(Public Key)로 서명 검증
  4. 메시지 무결성 + 송신자 인증 확인

4️⃣ 흐름도

[송신자 A]
  ├─ 메시지 내용
  ├─ 대칭키 생성 → 메시지 암호화(AES)
  └─ 대칭키를 수신자 공개키로 암호화
         |
         v
[암호화된 메시지 + 암호화된 대칭키 전송]
         |
         v
[수신자 B]
  ├─ 개인키로 대칭키 복호화
  └─ 대칭키로 메시지 복호화

디지털 서명 추가 흐름

[송신자 A]
  ├─ 메시지 해시 생성
  ├─ 개인키로 해시 암호화 → 디지털 서명 첨부
  └─ 메시지 + 암호화된 대칭키 + 디지털 서명 전송

[수신자 B]
  ├─ 개인키로 대칭키 복호화
  ├─ 대칭키로 메시지 복호화
  └─ 송신자 공개키로 서명 검증 → 무결성 & 인증 확인

5️⃣ 기술사 수준 포인트

  1. 키 관리

    • Private Key는 절대 유출 금지, HSM 또는 안전한 저장소 사용
    • 공개키는 Web of Trust 또는 Key Server를 통해 배포
  2. 실무 활용

    • 이메일 암호화: Outlook/Gmail + PGP/GPG 플러그인
    • 파일 암호화: 중요 문서, 백업, 전송 파일
    • 디지털 서명: 코드 서명, 전자 문서 무결성 확인
  3. 보안 설계 관점

    • 하이브리드 암호화로 성능 + 보안 최적화
    • 공개키 인증과 서명으로 기밀성 + 무결성 + 인증 확보
    • 오픈소스(GPG) 사용 시 검증 가능성 제공

6️⃣ 요약

  • PGP: 데이터 기밀성, 무결성, 인증 제공, 하이브리드 암호화 사용, Web of Trust 기반

  • GPG: PGP 오픈소스 구현, 무료, 검증 가능, 동일 기능

  • 핵심 포인트:

    1. 대칭키 + 비대칭키 하이브리드 구조
    2. 디지털 서명으로 무결성과 인증 제공
    3. 키 관리 + Web of Trust 또는 Key Server 활용

profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글