Jump to content

GNU Privacy Guard

This is a fully translated article. Click here for more information.
From DawoumWiki, the free Mathematics self-learning
GNU Privacy Guard
Original author(s)Werner Koch
Developer(s)GNU Project
Initial release7 September 1999; 24 years ago (1999-09-07)
Stable release(s)
Stable2.3.6 / 25 April 2022; 2 years ago (2022-04-25)
LTS2.2.35 / 25 April 2022; 2 years ago (2022-04-25)
Legacy1.4.23 / 11 June 2018; 6 years ago (2018-06-11)
Repositorydev.gnupg.org/source/gnupg/
Written inC
Operating systemMicrosoft Windows, macOS, RISC OS, Android, Linux
TypeOpenPGP
License2007: GPL-3.0-or-later[a]
1997: GPL-2.0-or-later[b]
Websitegnupg.org

GNU Privacy Guard (GnuPG 또는 GPG)는 시만텍PGP 암호화 소프트웨어 제품군을 대체하는 자유-소프트웨어입니다. 그 소프트웨어는 OpenPGPIETF 표준-트랙 사양, RFC 4880을 준수합니다. 최신 버전의 PGP는 GnuPG와 기타 OpenPGP-호환 시스템과 상호-운용-가능합니다.[1]

GnuPG는 GNU 프로젝트의 일부이고 1999년 독일 정부로부터 주요 자금을 받았습니다.[2]

Installation

데비안 저장소에서 설치할 수 있습니다:

  • sudo apt install gnupg wget ca-certificates lsb-release software-properties-common

Key generation

다음 과정으로 키를 생성할 수 있습니다:

  • gpg --full-generate-key
    • Please select what kind of key you want: ↵ Enter
    • What keysize do you want? 4096 ↵ Enter
    • Key is valid for? (0) ↵ Enter
    • Is this corret? (y/N) y ↵ Enter
    • Read name: 이름을 입력하세요. ↵ Enter
    • Email address: 이메일을 입력하세요. ↵ Enter
    • Comment: 필요하면 입력하세요. ↵ Enter
    • Chang (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O ↵ Enter
  • Passphrase: 생성될 키를 보호하기 위한 문구를 입력하십시오. 가능한 길게 입력하십시오.

이제, 사용자 홈디렉토리 아래에 .gnupg 아래에 키가 만들어지며, 확인을 하기 위해,

  • gpg --list-keys

Private repository signify and public key export

데비안 저장소를 만들고 Release 파일에는 서명을 해야 경고 메시지가 출력되지 않습니다. 다음과 같이 서명할 수 있습니다:

  • cat /var/www/html/debian/dists/bullseye/Release | gpg --default-key key_id -abs > Release.gpg

여기서 key_id는 입력한 이름의 성 또는 이름 또는 이메일 주소를 사용할 수 있습니다.

클라이언트 측에서는 Release와 Release.gpg를 모두 다운로드하고 유효한지 확인을 합니다. 대신에 속도를 높이기 위해 두 파일을 결합하는 세 번째 파일 InRelease를 만들 수 있습니다:

  • cat /var/www/html/debian/dists/bullseye/Release | gpg --default-key key_id -abs --clearsign > InRelease

이제 사용자, 모드를 바꾸고 정해진 위치로 이동시킵니다:

  • sudo chown root:root Release.gpg InRelease
  • sudo chmod 644 Release.gpg InRelease
  • sudo mv Release.gpg InRelease /var/www/html/debian/dists/bullseye/

이제, 공개 키를 배포해야 하는데, 아래와 같이 만들 수 있습니다:

  • gpg --export key_id > dawoum.gpg

이제 소유자, 모드를 바꾸고 배포할 위치로 옮깁니다:

  • sudo chwon root:root dawoum.gpg
  • sudo chmod 644 dawoum.gpg
  • sudo mv dawoum.gpg /var/www/html/debian/

Client key download

사용자는 위에서 배포하는 키를 다운로드받아서, 정해진 위치로 옮겨서 사용할 수 있습니다:

History

GnuPG는 처음에 Werner Koch에 의해 개발되었습니다.[3][4] 첫 번째 제품 버전, 버전 1.0.0은 첫 번째 GnuPG 출시 (버전 0.0.0)로부터 거의 2년 후인 1999년 9월 7일에 출시되었습니다.[5][3] 독일 연방 경제 기술부는 2000년에 문서와 Microsoft Windows로의 이식에 자금을 지원했습니다.[4]

GnuPG는 OpenPGP 표준을 준수하는 시스템이고, 따라서 OpenPGP의 역사가 중요합니다; 그것은 Phil Zimmermann에 의해 처음 설계되고 개발된 이메일 암호화 프로그램, PGP와 상호 운용되도록 설계되었습니다.[6][7]

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

Branches

2021년 10월 버전 2.3.3부터 안정적인 GnuPG 2.3이 출시된 이후, GnuPG의 세 가지 안정적인 가지가 활발하게 유지 관리됩니다:[9]

  • 현재 "안정 가지"는 (2021년 기준) 2.3 가지입니다.
  • "LTS (장기 지원) 가지"는 현재 (2021년 기준) 2.2 분기 (이전에는 2.0 분기와 비교하여 "현대 가지"라고 불렀음)입니다.
  • 이전 "레거시 가지" (이전에는 "클래식 가지"라고 불렀음)는 1.4 가지이고, 앞으로도 계속 유지될 것입니다.

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

  • 2017년 8월 28일 GnuPG 2.2.0 릴리스로 대체된 이전 "stable"(2.0) 분기와 비교하여 타원형 곡선 암호화와 같은 수많은 새로운 기능이 있는 "현대(Modern)" (2.2) 가지.[10] 그것은 2014년 11월 6일에 처음 출시되었습니다.[11]
  • "클래식(Classic)" (1.4), 아주 오래되었지만 여전히 유지되는 독립 실행형 버전으로, 구식 또는 임베디드 플랫폼에 가장 적합합니다. 2004년 12월 16일에 처음 출시되었습니다.[12]

다른 GnuPG 2.x 버전 (예를 들어 2.2와 2.0 가지)은 동시에 설치될 수 없습니다. 어쨌든, 임의의 GnuPG 2.x 버전과 함께 "클래식" GnuPG 버전 (즉, 1.4 가지에서)을 설치할 수 있습니다.[11]

GnuPG 2.2 ("modern") 출시 이전에는 현재 사용되지 않는 "안정" 가지 (2.0)가 2006년 11월 13일에 처음 출시된 일반 용도로 권장되었습니다.[13] 이 가지는 2017년 12월 31일에 수명을 다했습니다;[14] 그것의 마지막 버전은 2.0.31이며, 2017년 12월 29일에 출시되었습니다.[15]

GnuPG 2.0 출시 이전에는 모든 안정적인 출시가 단일 가지에서 시작되었습니다; 즉, 2006년 11월 13일 이전에는 여러 출시 가지가 병렬로 유지되지 않았습니다. 이전의 순차적으로 이어지는 (1.4까지) 출시 가지는 다음과 같습니다:

  • 1.2 가지, 2002년 9월 22일에 처음 출시되었으며,[16] 1.2.6이 마지막 버전으로 2004년 10월 26일에 출시되었습니다.[17]
  • 1.0 가지, 1999년 9월 7일에 처음 출시되었으며,[5] 1.0.7이 마지막 버전으로 2002년 4월 30일에 출시되었습니다.[18]

(GnuPG 2.3.0 출시 이전에 홀수 보조 출시 번호 (예를 들어, 2.1, 1.9, 1.3)를 가진 가지는 "+ 0.1" 더 높은 버전 번호 (예를 들어, 2.2, 2.0, 1.4)를 가진 안정적인 출시 가지로 이어지는 개발 가지였음을 주목하십시오; 따라서 가지 2.2와 2.1은 모두 "현대" 계열에 속하고 2.0과 1.9는 모두 "안정" 계열에 속하며, 가지 1.4와 1.3은 모두 "클래식" 계열에 속합니다.

GnuPG 2.3.0이 출시되면서, 이 명명법은 "현대" 시리즈의 "안정"과 "LTS" 가지와 마지막으로 유지 관리되는 "클래식" 가지인 1.4로 구성되도록 변경되었습니다. 역시, 짝수 또는 홀수 보조 출시 번호는 더 이상 안정 또는 개발 출시 가지를 나타내지 않음을 주목하십시오.)

Vulnerabilities

OpenPGP 표준은 메시지를 디지털적으로 서명하는 여러 방법을 지정합니다. 2003년에, 이러한 방법 중 하나를 더 효율적으로 만들기 위한 GnuPG 변경 오류로 인해, 보안 취약점이 발현되었습니다.[19] 그것은 일부 GnuPG 출시 (1.0.2에서 1.2.3)에 대해서만 메시지를 디지털적으로 서명하는 한 가지 방법에만 영향을 미쳤고, 키 서버에 나열된 1000개 미만의 키가 있었습니다.[20] 대부분의 사람들은 이 방법을 사용하지 않았고, 어떤 경우에도 그렇게 하는 것을 권장하지 않았으므로, (만약에 있었다면, 공개적으로 보고된 적이 없기 때문에) 피해가 최소화된 것으로 보입니다. 이 방법에 대한 지원은 이 발견 이후에 출시된 GnuPG 버전 (1.2.4 이상)에서 제거되었습니다.

2006년 초에 두 가지 추가 취약점이 발견되었습니다; 첫 번째는 서명 확인을 위한 GnuPG의 스크립팅된 사용으로 인해 거짓 양성을 초래할 수 있고,[21] 비-MIME 메시지가 디지털 서명에 의해 덮어쓰이지 않는 데이터 주입에 취약하다는 두 번째는 서명된 메시지의 일부로 보고될 것입니다.[22] 둘 다 경우에서, GnuPG의 업데이트된 버전이 발표 당시에 사용할 수 있었습니다.

2017년 6월에, 취약점(CVE-2017-7526)은 Bernstein, Breitner 등에 의해 Libgcrypt 내에서 발견되었습니다: Libgcrypt는 GnuPG에서 사용하는 라이브러리로 RSA-1024와 RSA-2048 키의 팔분의 1번째 이상에 대해 전체 키 복구를 가능하게 했습니다. 이 부-채널 공격Libgcrypt가 지수 비트의 누출과 전체 키 복구로 이어지는 지수에 대해 슬라이딩 윈도우 방법을 사용했다는 사실을 이용합니다.[23][24] 다시 말하지만, GnuPG의 업데이트된 버전이 발표 당시에 제공되었습니다.

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

2018년 6월경, SigSpoof 공격이 발표되었습니다. 이것들은 공격자에게 디지털 서명을 설득력 있게 스푸핑하는 것을 허용했습니다.[26][27]

2021년 1월에, Libgcrypt 1.9.0이 릴리스되었으며, 여기에는 악용하기 쉬운 심각한 버그가 포함되어 있습니다. 수정 사항은 10일 후 Libgcrypt 1.9.1에서 출시되었습니다.[28]

See also

Notes

  1. ^ GPL-3.0-or-later since 2007-07-04 for 2.x and 2007-10-23 for 1.x.
  2. ^ GPL-2.0-or-later from 1997-11-18 until 2007-07-04 for 2.x and 2007-10-23 for 1.x.

References

  1. ^ "Gnu Privacy Guard". GnuPG.org. Archived from the original on 2015-04-29. Retrieved 2015-05-26.
  2. ^ "Bundesregierung fördert Open Source" (in German). Heise Online. 1999-11-15. Archived from the original on October 12, 2013. Retrieved July 24, 2013.
  3. ^ 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.
  4. ^ 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.
  5. ^ a b "Release Notes". GnuPG. Archived from the original on 2014-02-09. Retrieved 2014-01-30.
  6. ^ "Gnu Privacy Guard". OpenPGP.org. Archived from the original on 2014-02-27. Retrieved 2014-02-26.
  7. ^ "Where to Get PGP". Philzimmermann.com. Archived from the original on 2014-02-26. Retrieved 2014-02-26.
  8. ^ "GnuPG: New web site and infrastructure". goteo.org. Archived from the original on 2014-03-30. Retrieved 2014-03-09.
  9. ^ "GnuPG 2.3.3 released".
  10. ^ 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.
  11. ^ a b 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.
  12. ^ 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.
  13. ^ Koch, Werner (2006-11-13). "[Announce] GnuPG 2.0 released". gnupg.org. Archived from the original on 2014-02-14. Retrieved 2014-01-30.
  14. ^ 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.
  15. ^ "GnuPG 2.0.31". 2017-12-29. Retrieved 2017-12-30.
  16. ^ Koch, Werner (2002-09-06). "[Announce]GnuPG 1.2 released". gnupg.org. Archived from the original on 2014-06-17. Retrieved 2014-11-06.
  17. ^ 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.
  18. ^ 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.
  19. ^ 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.
  20. ^ Koch, Werner (November 27, 2003). "GnuPG's ElGamal signing keys compromised". Archived from the original on March 18, 2004. Retrieved May 14, 2004.
  21. ^ Koch, Werner (February 15, 2006). "False positive signature verification in GnuPG". Archived from the original on June 17, 2006. Retrieved May 23, 2006.
  22. ^ 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.
  23. ^ 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.
  24. ^ "Sliding right into disaster: Left-to-right sliding windows leak" (PDF). Archived (PDF) from the original on 2017-06-30. Retrieved 2017-06-30.
  25. ^ The Return of Coppersmith's Attack: Practical Factorization of Widely Used RSA Moduli Archived 2017-11-12 at the Wayback Machine, Matus Nemec, Marek Sys, Petr Svenda, Dusan Klinec,Vashek Matyas, November 2017
  26. ^ "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.
  27. ^ "Pass gets a fail: Simple Password Store suffers GnuPG spoofing bug". Archived from the original on 2018-06-30. Retrieved 2018-09-07.
  28. ^ "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.

External links