GNU 프라이버시 가드

GNU Privacy Guard
GNU 프라이버시 가드
The GNU Privacy Guard logo
GPG keys generation.png
Unix 터미널 에뮬레이터에서의 키쌍 생성 프로세스
원저작자베르너 코흐
개발자GNU 프로젝트
초기 릴리즈1999년 9월 7일, 22년 전(1999-09-07)
안정된 릴리스
안정적인.2[1].3.7 / 2022년 7월 11일
LTS2.2.36[2] / 2022년 7월 6일
레거시1.4.23[3] / 2018년 6월 11일
저장소dev.gnupg.org/source/gnupg/
기입처C
운영 체제Microsoft Windows, macOS, RISC OS, Android, Linux
유형OpenPGP
면허증.2007: GPL-3.0 이후[a]
1997년 : GPL-2.0 이후[b]
웹 사이트gnupg.org

GNU Privacy Guard(Gnu Privacy Guard 또는 GPG)는 Symantec의 PGP 암호화 소프트웨어 스위트를 대체하는 프리 소프트웨어입니다.이 소프트웨어는 OpenPGPIETF 표준 트랙 사양인 RFC 4880에 준거하고 있습니다.최신 버전의 PGP는 GnuPG 및 기타 OpenPGP 준거 [4]시스템과 상호 운용할 수 있습니다.

GnuPG는 GNU 프로젝트의 일부이며 1999년 [5]독일 정부로부터 대규모 자금을 지원받았다.

개요

GnuPG는 하이브리드 암호화 소프트웨어 프로그램으로, 속도를 높이기 위해 기존의 대칭암호화와 안전한 키 교환을 위한 공개암호화를 조합하여 사용하며, 일반적으로 수신자의 공개 키를 사용하여 한 번만 사용되는 세션 키를 암호화합니다.이 동작 모드는 OpenPGP 표준의 일부이며 첫 번째 버전부터 PGP의 일부였습니다.

GnuPG 1.x 시리즈는 통합 암호화 라이브러리를 사용하는 반면 GnuPG 2.x 시리즈는 이를 Libgcrypt로 대체합니다.

GnuPG는 GnuPG 사용자가 개별적으로 생성한 비대칭을 사용하여 메시지를 암호화합니다.생성된 공용 키는 인터넷서버 등 다양한 방법으로 다른 사용자와 교환할 수 있습니다.공용 키 ↔ "소유자" ID 서신을 손상시켜 ID 스푸핑을 방지하려면 항상 신중하게 교환해야 합니다.또한 메시지에 암호화 디지털 서명을 추가할 수도 있습니다.이것에 의해, 의존하는 특정의 서신이 파손되지 않은 경우, 메시지의 정합성과 송신자를 확인할 수 있습니다.

GnuPG 또한 대칭 암호화 알고리즘을 지원한다.기본적으로 GnuPG AES대칭 알고리즘 이후 버전 2.1,[6]CAST5 이전 버전에 사용되었습니다를 사용한다.GnuPG하거나 제한된 특허 소프트웨어 또는 알고리즘을 사용하지 않습니다.대신에, GnuPG 다른,non-patented 알고리즘을 이용한다.[7]

오랫동안, 그것은 IDEA암호화 알고리즘은 PGP에 사용되는 것을 지지하지 않았다.그것은 사실 GnuPG에서 플러그 다운로드하여, 하지만, 이러한 상황에서 IDEA특허를 얻은 국가에서 일부 용도를 위한 면허 요구할 수 있IDEA를 사용하는 것이 가능했다.때문에인 IDEA의 마지막 특허 2012년에 끝났다 버전 1.4.13과 2.0.20부터 GnuPG IDEA을 지원한다.IDEA의 지원은 의도한"를 사람들 GnuPG거나 인터넷에서 오래 된 자료 또는 이동하는 키를 해독하려고 노력하는 것에서 모든 문제를 제거하기 위해"[8] 있었고, 그래서 규칙적인 사용에게 권장되지 않습니다.

GnuPG 2.x의 보다 최근에 나오("현대"과 지금을 비난했다"안정적인"시리즈)가장 암호화 기능 및 타원 곡선 암호(EllipticCurveDiffie-Hellman, EllipticCurveDigitalSignatureAlgorithm과 EdDSA)[9]의"현대"시리즈(즉 이후 GnuPG 2.1)에 지원을 포함하여 Libgcrypt(그것의 암호화 도서관)를 제공한다 알고리즘을 폭로했다.

알고리즘

2.3또는 2.2버전의 GnuPG:아래 알고리즘을 지원한다.

공공 키
RSA, ElGamal, DSA, EllipticCurveDiffie-Hellman(cv25519, cv448[c], nistp256, nistp384, nistp521, brainpoolP256r1, brainpoolP384r1,brainpoolP512r1,secp256k1), EllipticCurveDigitalSignatureAlgorithm(nistp256, nistp384, nistp521, brainpoolP256r1, brainpoolP384r1,brainpoolP512r1,secp256k1), EdDSA(ed25519, ed448[c]).
암호
또한 IDEA(호환성을 위해), CAST5, 조리, 투피쉬, AES-128, AES-192, AES-256, Camellia-128, -192과 -256.
해시
MD5, SHA-1, RIPEMD-160, 임의, SHA-384, SHA-512, SHA-224.
압축
비압축, ZIP, ZLIB, BZIP2

역사

GnuPG는 처음에 Werner Koch[10][11]의해 개발되었다.첫 번째 프로덕션 버전인 버전 1.0.0은 첫 번째 GnuPG 출시(버전 0.0.0)[12][10]로부터 거의 2년 후인 1999년 9월 7일에 출시되었습니다.독일 연방 경제 기술부는 2000년에 [11]문서와 Microsoft Windows에 대한 포트에 자금을 지원했습니다.

GnuPG는 OpenPGP 표준에 준거한 시스템입니다.따라서 OpenPGP의 역사는 매우 중요합니다.PGP는 Phil Zimmermann[13][14]의해 최초로 설계 및 개발된 이메일 암호화 프로그램입니다.

2014년 2월 7일, GnuPG 크라우드 펀딩 작업이 종료되어 새로운 웹 사이트 및 인프라 [15]개선을 위해 36,732유로를 모금했습니다.

나뭇가지

2021년 10월 버전 2.3.3을 시작으로 안정적인 GnuPG 2.3이 출시된 이후, GnuPG의 세 가지 안정적인 브랜치가 활발하게 [16]유지되고 있습니다.

  • 현재 (2021년 기준) 2.3 지점인 "안정 지점"입니다.
  • 현재 (2021년 현재) 2.2 지점인 "LTS(장기 지원)" 지점(2.0 지점과 비교하여 "현대 지점"이라고 불림)입니다.
  • 기존의 「레거시 브랜치」(이전의 「클래식 브랜치」)는, 1.4 브랜치이며, 앞으로도 계속 됩니다.

GnuPG 2.3 이전에는 GnuPG의 두 가지 안정적인 브랜치가 활발하게 유지되었습니다.

  • 2017년 [17]8월 28일 GnuPG 2.2.0 출시로 대체된 이전의 "안정적"(2.0) 지점에 비해 타원 곡선 암호화와 같은 수많은 신기능을 갖춘 "모던"(2.2)이다.2014년 [9]11월 6일에 발매되었습니다.
  • "클래식" (1.4), 매우 오래되었지만 여전히 스탠드 아론 버전을 유지하고 있으며 오래된 플랫폼 또는 임베디드 플랫폼에 가장 적합합니다.초판 [18]발매일은 2004년 12월 16일.

다른 GnuPG 2.x 버전(2.2 및 2.0 브랜치 등)은 동시에 설치할 수 없습니다.단, 모든 GnuPG 2.x [9]버전과 함께 "클래식" GnuPG 버전(1.4 브랜치)을 설치할 수 있습니다.

GnuPG 2.2 ("현대")가 출시되기 전에, 현재는 더 이상 사용되지 않는 "안정적" 브랜치(2.0)는 [19]2006년 11월 13일에 처음 출시되었습니다.이 지점은 2017년 [20]12월 31일 종료되었으며, 마지막 버전은 2.0.31로 2017년 [21]12월 29일에 출시되었습니다.

GnuPG 2.0이 출시되기 전에는 모든 안정적인 릴리스가 단일 브랜치에서 생성되었습니다.즉, 2006년 11월 13일 이전에는 여러 릴리스 브랜치가 병렬로 유지되지 않았습니다.이전의 연속적인 릴리스 브랜치(최대 1.4)는 다음과 같습니다.

  • 2002년 [22]9월 22일에 처음 출시된 1.2 브랜치.마지막 버전은 1.2.6으로 2004년 [23]10월 26일에 출시되었습니다.
  • 1999년 [12]9월 7일에 처음 출시된 1.0 브랜치.마지막 버전은 1.0.7로 2002년 [24]4월 30일에 출시되었습니다.

(GnuPG 2.3.0이 출시되기 전에는 마이너 릴리스 번호가 홀수인 브랜치(예: 2.1, 1.9, 1.3)는 "+ 0.1" 높은 버전 번호를 가진 안정적인 릴리스 브랜치(예: 2.2, 2.0, 1.4)로 이어지는 개발 브랜치였다.따라서 브랜치 2.2와 2.1은 모두 "현대" 시리즈에 속해 있다.s 1.4 및 1.3은 둘 다 "syslog" 시리즈에 속합니다.

GnuPG 2.3.0의 출시와 함께, 이 명명법은 "현대" 시리즈의 "안정적"과 "LTS" 분기로 구성되고, 마지막으로 유지된 "클래식" 분기로서 1.4로 변경되었다.또한 짝수 또는 홀수 마이너릴리즈 번호는 안정 릴리스 브랜치 또는 개발 릴리스 브랜치를 나타내지 않습니다).

플랫폼

기본 GnuPG 프로그램은 명령줄 인터페이스를 가지고 있지만 그래픽 사용자 인터페이스를 제공하는 다양한 프런트 엔드가 존재합니다.예를 들어, GnuPG 암호화 지원은 KDEGNOME에서 수 있는 그래픽 이메일 클라이언트인 KMail과 Evolution에 통합되었습니다.그래픽 GnuPG 프런트 엔드도 있습니다. 예를 들어 GNOME과 KGPGSeahorse와 KDE의 Kleoptra가 있습니다.

GPGTools는 OS의 암호화 및 키 관리 통합 및 MacOS용 설치[25] 패키지를 통한 GnuPG 설치를 위한 많은 프런트 엔드를 제공합니다.GPG Suite는[26] 관련된 모든 OpenPGP 애플리케이션(GPG 키체인), 플러그인(GPG 메일), 의존관계(MacGPG)를 GPG 서비스(macOS 서비스 메뉴로의 통합)와 함께 설치하여 GnuPG 기반 암호화를 사용합니다.

Psi나 Fire와 같은 인스턴트 메시징 애플리케이션은 GnuPG 설치 및 구성 시 자동으로 메시지를 보호할 수 있습니다.Horde와 같은 웹 기반 소프트웨어도 그것을 사용한다.크로스 플랫폼 확장 EnigmailMozilla Thunderbird 및 SeaMonkey위한 GnuPG를 지원합니다.마찬가지로 Enigform은 Mozilla Firefox에 대한 GnuPG 지원을 제공합니다.FireGPG는 2010년 [27]6월 7일에 종료되었습니다.

2005년, g10 Code GmbH와 Integration GmbH는 GnuPG for Windows, GNU Privacy Assistant GnuPG 플러그인을 포함한 소프트웨어 스위트인 Gpg4win을 출시했습니다.이러한 툴은 표준 Windows [28]instra에 포함되어 있기 때문에 Windows 시스템에 GnuPG를 쉽게 설치하고 사용할 수 있습니다.

취약성

OpenPGP 표준에서는 메시지에 디지털 서명하는 몇 가지 방법이 규정되어 있습니다.2003년에는 이러한 방법 중 하나를 보다 효율적으로 만들기 위한 GnuPG 변경 오류로 인해 보안 취약성이 [29]도입되었습니다.GnuPG의 일부 릴리스(1.0.2~1.2.3)에서만 메시지에 디지털 서명하는 한 가지 방법에만 영향을 [30]미쳤으며 키 서버에는 이러한 키가 1000개 미만만 나열되었습니다.대부분의 사람들은 이 방법을 사용하지 않았고 어떤 경우에도 그렇게 하는 것을 권장하지 않았기 때문에 (만약 있다면, 공개적으로 보고된 것이 없기 때문에) 야기된 피해는 미미했던 것으로 보인다.이 메서드에 대한 지원은 이 검색 이후 출시된 GnuPG 버전(1.2.4 이상)에서 제거되었습니다.

2006년 초에 두 가지 취약성이 추가로 발견되었습니다.첫 번째는 시그니처 검증에 GnuPG를 스크립트로 사용한 경우 false [31]positive가 발생할 수 있다는 점입니다.두 번째는 MIME 이외의 메시지는 디지털서명의 대상이 아니지만 서명된 [32]메시지의 일부로 보고되는 데이터 주입에 취약하다는 것입니다.두 경우 모두 GnuPG 업데이트 버전은 발표 시점에 제공되었습니다.

2017년 6월 Bernstein, Breitner 등에 의해 Libgcrypt에서 취약성(CVE-2017-7526)이 발견되었습니다.이 라이브러리는 RSA-1024의 전체 키 복구와 RSA-2048 키의 약 1/8 이상을 가능하게 하는 GnuPG에서 사용되었습니다.사이드 채널 공격은 Libgcrypt가 지수 비트의 누출과 완전한 키 [33][34]회복으로 이어지는 인덱스에 슬라이딩 윈도 방식을 사용했다는 사실을 이용합니다.GnuPG의 업데이트 버전은 발표 시점에 제공되었습니다.

2017년 10월 PGP/GPG에서 자주 사용되는 YubiKey 4 토큰에 의해 생성된 RSA 키에 영향을 주는 ROCA 취약성이 발표되었습니다. 게시된 PGP 키 중 상당수는 [35]취약한 것으로 확인되었습니다.

2018년 6월경에 SigSpoof 공격이 발표되었습니다.이를 통해 공격자는 디지털 [36][37]서명을 확실하게 스푸핑할 수 있습니다.

2021년 1월에 Libgcrypt 1.9.0이 출시되었습니다.이 릴리스에는 부정 이용하기 쉬운 중대한 버그가 포함되어 있는 것이 판명되었습니다.10일 후 Libgcrypt 1.9.[38]1에서 수정이 릴리스되었습니다.

「 」를 참조해 주세요.

메모들

  1. ^ 2.x의 경우 2007-07-04 이후 GPL-3.0 이후, 1.x의 경우 2007-10-23 이후
  2. ^ 2.x의 경우 1997-11-18부터2007-07-04까지, 1.x의 경우2007-10-23까지 GPL-2.0 이후
  3. ^ a b 2.3에서만 사용 가능

레퍼런스

  1. ^ "GnuPG 2.3.7 released". 11 July 2022. Retrieved 12 July 2022.
  2. ^ "NEWS".
  3. ^ "GnuPG 1.4.23 released (2018-06-11) important". 11 June 2018. Retrieved 20 June 2018.
  4. ^ "Gnu Privacy Guard". GnuPG.org. Archived from the original on 2015-04-29. Retrieved 2015-05-26.
  5. ^ "Bundesregierung fördert Open Source" (in German). Heise Online. 1999-11-15. Archived from the original on October 12, 2013. Retrieved July 24, 2013.
  6. ^ "[Announce] The maybe final Beta for GnuPG 2.1". Archived from the original on 2019-05-02. Retrieved 2019-03-28.
  7. ^ "GnuPG Features". Archived from the original on October 4, 2009. Retrieved October 1, 2009.
  8. ^ Koch, Werner (2012-12-21). "GnuPG 1.4.13 released" (Mailing list). gnupg-users. Archived from the original on 2013-02-12. Retrieved 2013-05-19.
  9. ^ a b c Koch, Werner (2014-11-06). "[Announce] GnuPG 2.1.0 "modern" released". gnupg.org. Archived from the original on 2014-11-06. Retrieved 2014-11-06.
  10. ^ a b Angwin, Julia (5 February 2015). "The World's Email Encryption Software Relies on One Guy, Who is Going Broke". ProPublica. Archived from the original on 6 February 2015. Retrieved 6 February 2015.
  11. ^ a b Wayner, Peter (19 November 1999). "Germany Awards Grant for Encryption". The New York Times. Archived from the original on 25 August 2014. Retrieved 2014-08-08.
  12. ^ a b "Release Notes". GnuPG. Archived from the original on 2014-02-09. Retrieved 2014-01-30.
  13. ^ "Gnu Privacy Guard". OpenPGP.org. Archived from the original on 2014-02-27. Retrieved 2014-02-26.
  14. ^ "Where to Get PGP". Philzimmermann.com. Archived from the original on 2014-02-26. Retrieved 2014-02-26.
  15. ^ "GnuPG: New web site and infrastructure". goteo.org. Archived from the original on 2014-03-30. Retrieved 2014-03-09.
  16. ^ "GnuPG 2.3.3 released".
  17. ^ Koch, Werner (2017-08-28). "[Announce] GnuPG 2.2.0 released". gnupg-announce (Mailing list). Archived from the original on 2017-08-29. Retrieved 2017-09-21.
  18. ^ Koch, Werner (2004-12-16). "[Announce] GnuPG stable 1.4 released". gnupg.org. Archived from the original on 2005-01-03. Retrieved 2004-12-16.
  19. ^ Koch, Werner (2006-11-13). "[Announce] GnuPG 2.0 released". gnupg.org. Archived from the original on 2014-02-14. Retrieved 2014-01-30.
  20. ^ Koch, Werner (2017-01-23). "[Announce] GnuPG 2.1.18 released". gnupg.org. Archived from the original on 2017-02-11. Retrieved 2017-02-04.
  21. ^ "GnuPG 2.0.31". 2017-12-29. Retrieved 2017-12-30.
  22. ^ Koch, Werner (2002-09-06). "[Announce]GnuPG 1.2 released". gnupg.org. Archived from the original on 2014-06-17. Retrieved 2014-11-06.
  23. ^ Koch, Werner (2004-08-26). "[Announce] GnuPG 1.2.6 released". gnupg.org. Archived from the original on 2014-06-17. Retrieved 2014-11-06.
  24. ^ Koch, Werner (2002-04-30). "[Announce] GnuPG 1.0.7 released". gnupg.org. Archived from the original on 2014-06-17. Retrieved 2014-11-06.
  25. ^ "GPG Suite". GPGTools. Retrieved 2017-12-24.
  26. ^ "GPG Suite". GPGTools. Retrieved 2021-02-16.
  27. ^ "FireGPG's developers blog". Archived from the original on July 27, 2013. Retrieved July 24, 2013.
  28. ^ "Gpg4win - About Gpg4win". www.gpg4win.org. Retrieved 2021-03-23.
  29. ^ Nguyen, Phong Q. "Can We Trust Cryptographic Software? Cryptographic Flaws in GNU Privacy Guard v1.2.3". EUROCRYPT 2004: 555–570. Archived from the original on 2017-12-04. Retrieved 2019-08-23.
  30. ^ Koch, Werner (November 27, 2003). "GnuPG's ElGamal signing keys compromised". Archived from the original on March 18, 2004. Retrieved May 14, 2004.
  31. ^ Koch, Werner (February 15, 2006). "False positive signature verification in GnuPG". Archived from the original on June 17, 2006. Retrieved May 23, 2006.
  32. ^ Koch, Werner (March 9, 2006). "GnuPG does not detect injection of unsigned data". Archived from the original on May 5, 2006. Retrieved May 23, 2006.
  33. ^ Edge, Jake (5 July 2017). "Breaking Libgcrypt RSA via a side channel". LWN.net. Archived from the original on 28 July 2017. Retrieved 28 July 2017.
  34. ^ "Sliding right into disaster: Left-to-right sliding windows leak" (PDF). Archived (PDF) from the original on 2017-06-30. Retrieved 2017-06-30.
  35. ^ The Return of Coppersmith's Attack: 널리 사용되는 RSA Moduli Archived 2017-11-12, Matus Nemec, Marrek Sys, Petr Svenda, Dusan Klinec, Vashek Matyas, 2017년 11월
  36. ^ "Decades-old PGP bug allowed hackers to spoof just about anyone's signature". 14 June 2018. Archived from the original on 2018-09-07. Retrieved 2018-09-07.
  37. ^ "Pass gets a fail: Simple Password Store suffers GnuPG spoofing bug". Archived from the original on 2018-06-30. Retrieved 2018-09-07.
  38. ^ "Severe bug in Libgcrypt – used by GPG and others – is a whole heap of trouble, prompts patch scramble". Archived from the original on 2021-02-21.

외부 링크