맨위로가기

GNU 프라이버시 가드

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

GNU 프라이버시 가드(GnuPG)는 베르너 코흐가 개발한 오픈 소스 암호화 프로그램이다. 1999년 9월에 첫 버전이 출시되었으며, OpenPGP 표준을 준수하여 PGP와 호환된다. GnuPG는 2.3, 2.2, 1.4의 세 가지 주요 계열로 나뉘며, 최신 안정 버전은 2.3이다. GnuPG는 명령줄 인터페이스를 기본으로 제공하지만, 그래픽 사용자 인터페이스(GUI)를 통해 사용이 가능하다. 다양한 플랫폼에서 사용 가능하며, 이메일 클라이언트 및 다른 응용 프로그램과 통합되어 사용되기도 한다. GnuPG는 RSA, ElGamal, AES 등 다양한 암호화 알고리즘을 지원하며, 보안 취약점 및 공격에 대한 보고가 있었으며, 지속적으로 업데이트를 통해 개선되고 있다.

더 읽어볼만한 페이지

  • 프라이버시 소프트웨어 - I2P
    I2P는 2003년 Freenet에서 분기된 익명 P2P 분산 통신 계층으로, IP 주소 노출을 방지하며 다양한 소프트웨어와 익명성 응용 프로그램을 지원하고, 기부금으로 운영되며 6~8주마다 릴리스를 진행한다.
  • 프라이버시 소프트웨어 - PGP (소프트웨어)
    PGP는 필 짐머만이 개발한 암호화 소프트웨어로, 수출 규제와 회사 인수를 거쳐 현재는 상용 버전으로 제공되며, 공개 표준인 OpenPGP를 통해 디지털 서명으로 파일과 메시지의 안전한 전달과 발신자 확인을 보장한다.
  • 리눅스 보안 소프트웨어 - AppArmor
    AppArmor는 리눅스 보안 모듈로, 프로그램의 정상적인 동작을 정의하는 프로필을 통해 비정상적인 행위를 차단하며 SELinux의 대안으로 제시되었으나 보안 취약점, 성능, 설정, 호환성 등에 대한 논란도 있다.
  • 리눅스 보안 소프트웨어 - 카스퍼스키 안티바이러스
    카스퍼스키 안티바이러스는 악성 코드 탐지 및 제거 기능을 제공하는 소프트웨어이며, 2022년 구독 비즈니스 모델로 전환되어 다양한 운영 체제를 지원하고 보안 관련 논란이 있었다.
  • 자유 보안 소프트웨어 - 클램윈
    클램윈은 ClamAV 엔진 기반의 오픈 소스 백신 소프트웨어로, 트로이 목마, 바이러스, 멀웨어 등 다양한 악성 위협 분석 자료를 제공하며 예약 검사, 수동 검사, 컨텍스트 메뉴 통합 등의 기능을 지원하지만 실시간 감시 기능은 제공하지 않는다.
  • 자유 보안 소프트웨어 - OpenSSL
    OpenSSL은 1998년에 설립된 암호화 도구 프로젝트로, 다양한 암호화 알고리즘과 프로토콜을 지원하며, 아파치 라이선스를 채택했고, 보안 문제와 API 호환성 문제 등의 비판을 받았다.
GNU 프라이버시 가드 - [IT 관련 정보]에 관한 문서
기본 정보
GNU 프라이버시 가드 시스템 다이어그램
GNU 프라이버시 가드 시스템 다이어그램
유형암호 소프트웨어
라이선스GNU 일반 공중 사용 허가서
웹사이트GNU 프라이버시 가드 공식 웹사이트
개발
개발자베르너 코흐
개발 기관GNU 프로젝트
프로그래밍 언어C
지원 운영체제마이크로소프트 윈도우
macOS
RISC OS
안드로이드
리눅스
릴리스
첫 릴리스1999년 9월 7일
안정 버전2.4.6
안정 버전 출시일2024년 1월 25일
LTS 버전2.2.42
LTS 버전 출시일2023년 10월 25일
레거시 버전1.4.26
레거시 버전 출시일2017년 2월 6일
미리보기 버전2.5.1
미리보기 버전 출시일2024년 2월 22일
기타 정보
장르OpenPGP
표준RFC 9580
RFC 4880

2. 역사

GnuPG는 붸르너 코흐(Werner Koch)가 처음 개발했으며, 1999년 9월 7일에 1.0.0 버전이 배포되었다.[10][8] 2000년, 독일 연방 경제 기술부(German Federal Ministry of Economics and Technology)는 GnuPG의 문서화와 마이크로소프트 윈도우(Microsoft Windows) 버전 개발을 재정적으로 지원했다.[9] GnuPG는 오픈PGP 표준을 준수하며, 필 짐머만(Phil Zimmermann)이 개발한 PGP와 호환되도록 설계되었다.[11][12]

2006년 11월 13일에는 2.0 버전이 배포되었고,[54] 2014년 11월에는 타원 곡선 암호 지원 등 새로운 OpenPGP 규격을 준수한 2.1 계열이 출시되었다. 2021년 4월 8일, 2.3 버전이 출시되면서, 안정적인 세 개의 브랜치(2.3, 2.2, 1.4)가 활발히 유지 관리되고 있다. 2.2 브랜치는 장기 지원(LTS) 브랜치이며, 2024년 12월 31일에 지원이 종료될 예정이다.

2014년 2월 7일에는 GnuPG 크라우드 펀딩이 종료되었으며, 새로운 웹사이트 및 인프라 개선을 위해 36732EUR가 모금되었다.[13]

2. 1. 개발

베르너 코흐(Werner Koch)가 GnuPG를 처음 개발했다.[8][9] 1.0.0 버전은 1999년 9월 7일에 배포되었다.[10][8] 2000년에 독일 연방 경제 기술부(German Federal Ministry of Economics and Technology)는 문서화와 마이크로소프트 윈도우(Microsoft Windows) 버전 개발에 재정지원을 했다.[9] GnuPG는 오픈PGP 표준을 준수하여 필 짐머만(Phil Zimmermann)이 개발한 PGP와 호환되도록 설계되었다.[11][12]

GnuPG 개발은 베르너 코흐가 시작했으며, 현재는 David Shaw와 Timo Schulz도 개발에 참여하고 있다. g10 Code는 Werner Koch와 Timo Schulz를 자금적으로 지원하고 있다.

2006년 11월 13일에 2.0 버전이 배포되었다. 1.x 계열은 GnuPG 2 버전들과 병행하여 개발되었는데, 이는 모든 목적에 부합하는 프로그램 설계에 중요한 변화가 있었기 때문이다.[54]

버전 기록은 다음과 같다.

버전출시일
1.0.01999년
1.2.02002년
1.4.02004년
1.9S/MIME 기능 도입을 목적으로 한 별도 개발판
2.02006년 11월 23일
2.12014년 11월 (타원 곡선 암호 지원 등 새로운 OpenPGP 규격 준수)



1.4 계열은 2.2/2.1 계열 또는 2.0 계열과 동시에 설치하여 독립적으로 운용할 수 있다. 2.2/2.1 계열과 2.0 계열을 동시에 설치하는 것은 불가능하다.

2014년 2월 7일, GnuPG 크라우드 펀딩이 종료되었으며, 새로운 웹사이트 및 인프라 개선을 위해 36732EUR가 모금되었다.[13]

2. 2. 계열

2022년 8월 현재, GnuPG에는 세 가지 주요 계열이 존재한다.[14]

계열설명첫 릴리스최신 버전
Stable (2.3)최신 안정 버전2021년 4월 8일[37]
LTS (2.2)장기 지원 버전. 2017년 8월 28일에 2.2.0으로 새로운 안정 버전이 됨.[38]2014년 11월 6일[39]2024년 12월 31일 지원 종료 예정
Legacy (1.4)구형 시스템이나 임베디드 용도에 적합한 구형 스탠드얼론 버전2004년 12월 16일[40]



이미 지원이 종료된 계열은 다음과 같다.[14]

계열첫 릴리스마지막 버전
2.02006년 11월 13일[41]2016년 3월 31일 릴리스된 2.0.30[42]
1.22002년 9월 22일[43]2004년 10월 26일 릴리스된 1.2.6[44]
1.01999년 9월 7일[45]2002년 4월 30일 릴리스된 1.0.7[46]


3. 작동 방식

GnuPG는 속도를 위해 대칭키 암호화 방식과 안전한 키 교환을 위해 공개 키 암호 방식을 결합한 혼합 암호 시스템을 사용한다. 일반적으로 수신자의 공개 키를 사용하여 한 번만 사용되는 세션 키를 암호화한다. 이러한 방식은 OpenPGP 표준의 일부이며 PGP의 첫 버전부터 포함되어 있다.

GnuPG는 사용자가 개별적으로 생성한 비대칭 키 쌍을 사용하여 메시지를 암호화한다. 공개 키는 인터넷 키 서버와 같은 다양한 방법으로 다른 사용자와 교환될 수 있다. 공개 키와 소유자 신원 대응 관계가 손상되어 신원 도용을 당하지 않도록 항상 신중하게 교환해야 한다. 메시지 무결성 및 발신자를 확인하기 위해 암호화된 디지털 서명을 메시지에 추가할 수도 있다.

4. 지원 알고리즘

GnuPG는 특허로 제한된 알고리즘을 사용하지 않는다.[6] 2.3 및 2.2 버전에서 지원하는 알고리즘은 다음과 같다.

종류알고리즘
공개 키RSA, ElGamal, DSA, ECDH (cv25519, cv448, nistp256, nistp384, nistp521, brainpoolP256r1, brainpoolP384r1, brainpoolP512r1, secp256k1), ECDSA (nistp256, nistp384, nistp521, brainpoolP256r1, brainpoolP384r1, brainpoolP512r1, secp256k1), EdDSA (ed25519, ed448)
대칭 키3DES, IDEA (하위 호환성을 위해), CAST5, Blowfish, 투피쉬, AES-128, AES-192, AES-256, Camellia-128, -192 및 -256
해시MD5, SHA-1, RIPEMD-160, SHA-256, SHA-384, SHA-512, SHA-224
압축압축 안 함, ZIP, ZLIB, BZIP2



과거에는 IDEA를 사용하기 위해 플러그인이 필요했지만, IDEA 특허 만료[47] 후 1.4.13/2.0.20부터 기본적으로 지원한다.[48][49] RSA는 2000년에 특허가 만료되어 1.0.3부터 포함되었다.[51] Camellia는 1.4.10/2.0.12부터 포함되었다.[52] 2.1 계열 이후에서는 타원 곡선 암호 (타원 곡선 DSA, 타원 곡선 디피-헬만 키 교환, 에드워드 곡선 디지털 서명 알고리즘)를 지원한다.[39]

5. 플랫폼 및 인터페이스

GnuPG는 다양한 운영체제(OS)에서 사용할 수 있다. 기본적인 GnuPG 프로그램은 명령줄 인터페이스를 가지고 있지만, 프런트엔드를 통해 그래픽 사용자 인터페이스(GUI)로 사용할 수 있다. GnuPG 암호화 지원은 KMail, Evolution 등 다양한 이메일 클라이언트에 통합되어 있다.

Psi와 같은 인스턴트 메시징 애플리케이션은 GnuPG가 설치 및 구성되면 메시지를 자동으로 보호할 수 있다. Horde와 같은 웹 기반 소프트웨어도 이를 활용한다. 크로스 플랫폼 확장 기능인 Enigmail은 Mozilla Thunderbird 및 SeaMonkey에 GnuPG를 지원한다. 마찬가지로 Enigform은 Mozilla Firefox에 GnuPG를 지원한다. FireGPG는 2010년 6월 7일에 중단되었다.[25]

5. 1. GUI 프런트 엔드

GnuPG는 기본적으로 명령줄 인터페이스를 사용하지만, 다양한 그래픽 사용자 인터페이스(GUI) 프런트엔드를 통해 GUI 환경에서 사용할 수 있다. 예를 들어, KDE와 GNOME 데스크톱 환경에서 사용되는 KMail과 Evolution 같은 이메일 클라이언트에 GnuPG 암호화 기능이 통합되어 있다. 또한, GNOME용 Seahorse, KDE용 KGpg 및 Kleopatra와 같은 독립적인 GUI 프런트엔드도 존재한다.[24]

다음은 GnuPG를 지원하는 GUI 프런트엔드 및 소프트웨어의 예시이다.

분류소프트웨어운영체제비고
GUI 프런트엔드WinPT윈도우
GnuPG ShellLinux/윈도우
KGpgLinux
SeahorseLinux
이메일 클라이언트EnigmailLinux/macOS/윈도우Mozilla Thunderbird 및 SeaMonkey용 확장 기능
KMailLinux
EvolutionLinux
통합 패키지Gpg4win윈도우GnuPG, GUI 프런트엔드, Outlook용 플러그인 등 포함[26]
GPGToolsmacOSGnuPG, GPG Keychain, GPG Mail, GPG Services 등 포함[24]


5. 2. 통합 패키지

Gpg4win은 윈도우GnuPG, GNU 개인 정보 도우미, Windows 탐색기Outlook용 GnuPG 플러그인을 포함하는 소프트웨어 모음이다.[26] 이러한 도구는 표준 Windows 설치 프로그램으로 묶여 있어 Windows 시스템에서 GnuPG를 더 쉽게 설치하고 사용할 수 있게 한다.[26]

GPGTools는 macOS용 설치 프로그램 패키지를 통해 암호화 및 키 관리의 OS 통합과 GnuPG 설치를 위한 여러 프런트엔드를 제공한다.[24] GPG Suite는 GnuPG 기반 암호화를 사용하기 위해 모든 관련 OpenPGP 애플리케이션(GPG Keychain), 플러그인 (GPG Mail) 및 종속성(MacGPG)과 함께 GPG Services(macOS 서비스 메뉴에 통합)를 설치한다.[24]

6. 취약점

2003년, GnuPG 변경 사항에서 디지털 서명 방식 관련 오류로 인해 보안 취약점이 발생했다.[27] 이는 디지털 서명 메시지의 한 가지 방법에만 영향을 미쳤으며, GnuPG의 일부 릴리스(1.0.2 ~ 1.2.3)에만 해당되었고, 키 서버에 등록된 해당 키는 1000개 미만이었다.[28] 이 방법 지원은 이 발견 이후 릴리스된 GnuPG 버전(1.2.4 이상)에서 제거되었다.

2006년 초, 두 가지 추가적인 취약점이 발견되었다. 첫 번째는 서명 검증을 위해 GnuPG를 스크립트로 사용하면 거짓 양성 및 거짓 음성이 발생할 수 있다는 것이었고,[29] 두 번째는 비-MIME 메시지가 디지털 서명에 포함되지 않은 데이터 주입에 취약하며, 서명된 메시지의 일부로 보고될 것이라는 점이었다.[30] 두 경우 모두 발표 당시에 GnuPG의 업데이트된 버전이 제공되었다.

2017년 6월, GnuPG에서 사용하는 라이브러리인 Libgcrypt에서 취약점(CVE-2017-7526)이 발견되었다. 이 취약점은 RSA-1024 키의 전체 복구와 RSA-2048 키의 약 1/8 이상에 대해 가능하게 했다. 이 부채널 공격은 Libgcrypt가 지수 계산에 슬라이딩 윈도우 방식을 사용하여 지수 비트가 누출되고 전체 키를 복구할 수 있다는 사실을 악용했다.[31][32] 역시 발표 당시에 GnuPG의 업데이트된 버전이 제공되었다.

2017년 10월, PGP/GPG와 함께 자주 사용되는 YubiKey 4 토큰에서 생성된 RSA 키에 영향을 미치는 ROCA 취약점이 발표되었다. 많은 공개된 PGP 키가 취약한 것으로 밝혀졌다.[33]

2018년 6월경, SigSpoof 공격이 발표되었다. 이를 통해 공격자는 디지털 서명을 설득력 있게 위조할 수 있었다.[34][35]

2021년 1월, Libgcrypt 1.9.0이 출시되었는데, 악용하기 쉬운 심각한 버그가 포함되어 있는 것으로 밝혀졌다. 10일 후 Libgcrypt 1.9.1에서 수정 사항이 릴리스되었다.[36]

참조

[1] 웹사이트 RFC 9580 OpenPGP https://www.rfc-edit[...] IETF 2024-07-01
[2] 웹사이트 Gnu Privacy Guard https://www.gnupg.or[...] GnuPG.org 2015-05-26
[3] 웹사이트 A schism in the OpenPGP world https://lwn.net/Arti[...] Linux Weekly News 2023-12-09
[4] 웹사이트 Bundesregierung fördert Open Source http://www.heise.de/[...] Heise Online 1999-11-15
[5] 웹사이트 '[Announce] The maybe final Beta for GnuPG 2.1' https://lists.gnupg.[...] 2019-03-28
[6] 웹사이트 GnuPG Features https://www.gnupg.or[...] 2009-10-01
[7] 간행물 GnuPG 1.4.13 released http://lists.gnupg.o[...] gnupg-users 2012-12-21
[8] 뉴스 The World's Email Encryption Software Relies on One Guy, Who is Going Broke https://www.propubli[...] ProPublica 2015-02-05
[9] 뉴스 Germany Awards Grant for Encryption http://partners.nyti[...] 1999-11-19
[10] 웹사이트 Release Notes https://gnupg.org/do[...] GnuPG 2014-01-30
[11] 웹사이트 Gnu Privacy Guard https://web.archive.[...] OpenPGP.org 2014-02-26
[12] 웹사이트 Where to Get PGP https://philzimmerma[...] Philzimmermann.com 2014-02-26
[13] 웹사이트 GnuPG: New web site and infrastructure http://goteo.org/pro[...] goteo.org 2014-03-09
[14] 웹사이트 '[Announce] GnuPG 2.3.3 released' https://lists.gnupg.[...]
[15] 간행물 '[Announce] GnuPG 2.2.0 released' https://lists.gnupg.[...] 2017-08-28
[16] 웹사이트 '[Announce] GnuPG 2.1.0 "modern" released' http://lists.gnupg.o[...] gnupg.org 2014-11-06
[17] 웹사이트 '[Announce] GnuPG stable 1.4 released' http://lists.gnupg.o[...] gnupg.org 2004-12-16
[18] 웹사이트 '[Announce] GnuPG 2.0 released' http://lists.gnupg.o[...] gnupg.org 2006-11-13
[19] 웹사이트 '[Announce] GnuPG 2.1.18 released' https://lists.gnupg.[...] gnupg.org 2017-01-23
[20] 웹사이트 GnuPG 2.0.31 https://dev.gnupg.or[...] 2017-12-29
[21] 웹사이트 '[Announce]GnuPG 1.2 released' http://lists.gnupg.o[...] gnupg.org 2002-09-06
[22] 웹사이트 '[Announce] GnuPG 1.2.6 released' http://lists.gnupg.o[...] gnupg.org 2004-08-26
[23] 웹사이트 '[Announce] GnuPG 1.0.7 released' http://lists.gnupg.o[...] gnupg.org 2002-04-30
[24] 웹사이트 GPG Suite https://gpgtools.org[...] GPGTools 2017-12-24
[25] 웹사이트 FireGPG's developers blog http://blog.getfireg[...] 2010-06-07
[26] 웹사이트 Gpg4win – About Gpg4win https://www.gpg4win.[...] 2021-03-23
[27] 웹사이트 Can We Trust Cryptographic Software? Cryptographic Flaws in GNU Privacy Guard v1.2.3. https://www.di.ens.f[...] 'EUROCRYPT 2004: 555–570' 2019-08-23
[28] 웹사이트 GnuPG's ElGamal signing keys compromised http://lists.gnupg.o[...] 2003-11-27
[29] 웹사이트 False positive signature verification in GnuPG http://lists.gnupg.o[...] 2006-02-15
[30] 웹사이트 GnuPG does not detect injection of unsigned data http://lists.gnupg.o[...] 2006-03-09
[31] 웹사이트 Breaking Libgcrypt RSA via a side channel https://lwn.net/Arti[...] 2017-07-05
[32] 웹사이트 Sliding right into disaster: Left-to-right sliding windows leak https://eprint.iacr.[...] 2017-06-30
[33] 문서 The Return of Coppersmith's Attack: Practical Factorization of Widely Used RSA Moduli https://web.archive.[...] 2017-11-12
[34] 웹사이트 Decades-old PGP bug allowed hackers to spoof just about anyone's signature https://arstechnica.[...] 2018-06-14
[35] 웹사이트 Pass gets a fail: Simple Password Store suffers GnuPG spoofing bug https://www.theregis[...] 2018-09-07
[36] 웹사이트 Severe bug in Libgcrypt – used by GPG and others – is a whole heap of trouble, prompts patch scramble https://www.theregis[...]
[37] 웹사이트 '[Announce] GnuPG 2.3.0 released' https://lists.gnupg.[...] gnupg.org 2021-04-08
[38] 웹사이트 '[Announce] GnuPG 2.2.0 released' https://lists.gnupg.[...] gnupg.org 2017-08-28
[39] 웹사이트 '[Announce] GnuPG 2.1.0 "modern" released' http://lists.gnupg.o[...] gnupg.org 2014-11-06
[40] 웹사이트 '[Announce] GnuPG stable 1.4 released' http://lists.gnupg.o[...] gnupg.org 2006-11-13
[41] 웹사이트 '[Announce] GnuPG 2.0 released' http://lists.gnupg.o[...] gnupg.org 2006-11-13
[42] 웹사이트 '[Announce] GnuPG 2.0.29 released' https://lists.gnupg.[...] gnupg.org 2016-04-01
[43] 웹사이트 '[Announce]GnuPG 1.2 released' http://lists.gnupg.o[...] gnupg.org 2002-09-06
[44] 웹사이트 '[Announce] GnuPG 1.2.6 released' http://lists.gnupg.o[...] gnupg.org 2004-08-26
[45] 웹사이트 Release Notes http://gnupg.org/dow[...] GnuPG null
[46] 웹사이트 '[Announce] GnuPG 1.0.7 released' http://lists.gnupg.o[...] gnupg.org 2002-04-30
[47] 문서 欧州および日本:2011年5月16日、アメリカ合衆国:2012年1月7日
[48] 웹사이트 '[Announce] GnuPG 1.4.13 released' http://lists.gnupg.o[...] Werner Koch 2012-12-20
[49] 웹사이트 '[Announce] Libgcrypt 1.5.2 released' http://lists.gnupg.o[...] Werner Koch 2013-04-18
[50] 웹사이트 GnuPG 1.4.13 released http://lists.gnupg.o[...] Werner Koch 2012-12-21
[51] 웹사이트 GnuPG 1.0.3 released http://lists.gnupg.o[...] Werner Koch 2000-09-20
[52] 웹사이트 GnuPG 1.4.10 released http://lists.gnupg.o[...] Werner Koch 2009-09-02
[53] 서적 Selected FAQs on Using GnuPG http://dx.doi.org/10[...] Elsevier 2013
[54] 뉴스 GnuPG-2.0 released http://lists.gnupg.o[...] 2006-11-13



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com