GNU Privacy Guard(GPG)는 암호화와 디지털 서명을 제공하는 강력한 오픈소스 툴로, 안전한 통신과 데이터 보호를 위해 널리 사용됩니다.
본 포스팅에서는 키 생성, 관리, 백업/복원, 암호화/복호화, 서명 검증까지 GPG의 전반적인 사용법을 정리합니다.
gpg --full-gen-key
gpg --full-gen-key 명령어는 새로운 공개키(Public Key)/개인키(Private Key) 쌍을 생성할 때 사용됩니다.
실행하면 다음과 같은 절차를 거칩니다.
키 종류 선택
키 길이 선택
4096 비트 선택키 유효기간 설정
1y, 2y 형태로 설정 가능사용자 정보 입력
패스프레이즈(Passphrase) 설정
키 생성 완료
생성 후 확인:
gpg --list-keys
gpg --list-secret-keys
gpg --armor --export <이메일>
다른 사람과 공유할 수 있음. 암호화 및 서명 검증에 사용.
gpg --armor --export-secret-keys <이메일>
안전한 보관 필수. 외부 유출 시 전체 보안 무력화 가능.
gpg --delete-secret-keys <이메일>
gpg --delete-keys <이메일>
개인키를 내보내 백업 파일로 저장합니다.
gpg --armor --export-secret-keys <이메일> > backup.key
백업한 키를 다시 가져올 수 있습니다.
gpg --import backup.key
수신자의 공개키로 파일을 암호화합니다.
gpg --encrypt --recipient <이메일> confidential_message.txt
→ 결과: confidential_message.txt.gpg
수신자는 자신의 개인키로 복호화합니다.
gpg --decrypt confidential_message.txt.gpg
gpg --sign document.txt
또는 ASCII Armor 서명:
gpg --clearsign document.txt
gpg --verify document.txt.gpg
공개키/개인키 쌍
암호화 과정
서명 과정
gpg --full-gen-key: 공개키/개인키 쌍 생성gpg --armor --export: 공개키 내보내기gpg --armor --export-secret-keys: 개인키 백업gpg --import: 백업된 키 복원gpg --encrypt / gpg --decrypt: 파일 암호화·복호화gpg --sign / gpg --verify: 디지털 서명·검증👉 GPG는 보안 통신·파일 보호·신뢰성 검증에 필수적인 도구입니다.
개인 또는 조직에서 안전한 협업을 위해 반드시 익혀 두어야 할 보안 기본기입니다.