본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Pretty Good Privacy
컴퓨터 파일을 암호화하고 복호화하는 프로그램. 1991년 필립 짐머만이 개발하였으며, 현재 전 세계적으로 이메일 보안의 표준으로 자리잡았다.

이메일 보안 표준

편집 원본 편집
  • IETF에서 채택한 표준은 PEM이지만 PGP가 훨씬 많이 쓰인다.
  • 보안성은 PEM이 더 뛰어나지만 PGP가 구현하기가 훨씬 용이하다.
    • PEM은 엄중한 수준의 보안이 요구되는 군 시설과 같은 제한적인 경우에 사용된다.
  • RFC4880에 메시지 포맷이 정의되어 있다.

PGP 제공 기능

편집 원본 편집

정보보안기사, 사무자동화산업기사 등 각 종 시험문제 빈출

  • 전자서명
  • 압축
  • 단편화와 재조립
  • 암호화

제공하지 않는 기능

  • 권한 관리
  • 대칭키 암호화: 메시지 암호화를 위해 IDEA, CAST, 3DES등을 사용
  • 공개키 암호화: 안전한 키 교환을 위해 RSA 사용
  • 인증서, 전자서명: 인증서를 이용한 전자서명을 지원
  • 압축: ZIP 압축 지원
  • 텍스트 부호화: 호환성을 위해 기수-64(radix-64) 부호화 지원
  • 단편화 조립: 길이가 긴 전자우편 데이터 전송 가능

쓰는 알고리즘

편집 원본 편집

초기 PGP 는 IDEA·RSA·MD5 를 썼고, 지금의 PGP 와 GnuPG 는 IETF 표준 OpenPGP(RFC 4880, 2024년 RFC 9580 으로 개정)를 따른다. OpenPGP 가 정한 알고리즘은 다음과 같다.

용도 알고리즘
메시지 암호화(대칭키, 세션키) IDEA, 3DES, CAST5, Blowfish, AES(128·192·256), Twofish, Camellia. RFC 9580 은 AES-128 을 반드시 구현하게 한다
세션키 전달(공개키) RSA, ElGamal(디피-헬먼 키 교환에 바탕을 둔 방식), 타원 곡선 ECDH·X25519
전자서명 RSA, DSA(DSS), ECDSA, EdDSA
해시 MD5(옛 판), SHA-1, SHA-2(SHA-256 등), SHA-3
압축 ZIP, ZLIB, BZip2
  • PGP 5.x 는 ElGamal 을 Diffie-Hellman 이라는 이름으로 표시했다. 그래서 PGP 가 쓰는 알고리즘으로 RSA·SHA·Diffie-Hellman 을 함께 든다
  • 국내 블록 암호 SEED 는 OpenPGP 알고리즘 목록에 없다. SEED 는 S/MIME(CMS), TLS 의 표준 알고리즘으로 들어갔다
  • 대칭 암호용 일회용 세션키
  • 비대칭 암호용 공개키/개인키
  • 패스문-기반(Passphrase-based) 대칭키

PGP 는 사용자마다 키를 두 개의 키 링(key ring)에 보관한다. 키는 공개키의 하위 64비트인 Key ID 로 찾는다.

키 링 담는 것 항목
개인키 링(private key ring) 자기 공개키/개인키 쌍 타임스탬프, Key ID, 공개키, 암호화된 개인키(패스문에서 만든 키로 암호화해 둔다), 사용자 ID
공개키 링(public key ring) 다른 사용자의 공개키 타임스탬프, Key ID, 공개키, 소유자 신뢰도, 사용자 ID, 키 적법성, 서명, 서명 신뢰도
  • 개인키 링에는 인증서가 들어 있지 않다. 다른 사람의 서명·신뢰 정보는 공개키 링 쪽 항목이다
  • 전자서명에는 DSS(DSA) 또는 RSA 를, 해시에는 SHA 계열을 쓴다
  • 일반적인 Gmail, 네이버 메일 등 우리가 사용하는 메일서비스에서 기본적으로 적용되어 있지 않다.
  • 보안을 신경 쓰는 사람이 텔레그램을 쓰듯, 필요한 사람들은 S/W를 다운받아 이용한다.

공개 및 상용 제품

편집 원본 편집
  • OpenPGP
  • Symantec PGP
  • GnuPG
  • APG(안드로이드)
  • GnuPrivacyGuard(안드로이드)
  • OpenKeychain(안드로이드)
  • iPG Mail(iOS)
  • oPenGP(iOS)