개요
gpg는 공개 키 암호화 방식을 사용하여 데이터를 보호합니다. 개인 키와 공개 키 쌍을 생성하고 관리하며, 이를 통해 파일, 이메일 등의 내용을 안전하게 주고받을 수 있습니다. 강력한 암호화 알고리즘을 지원하며, 다양한 운영체제에서 사용 가능합니다.
주요 기능
- 공개/개인 키 쌍 생성 및 관리
- 파일 및 메시지 암호화/복호화
- 디지털 서명 생성 및 검증
- 키 서버를 통한 공개 키 공유
주요 옵션
gpg 명령어는 다양한 작업을 수행하기 위한 많은 옵션을 제공합니다. 다음은 자주 사용되는 주요 옵션들입니다.
키 관리
암호화 및 복호화
서명 및 검증
생성된 명령어:
명령어를 조합해 보세요.
설명:
`gpg` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
gpg를 사용하여 키를 생성하고, 파일을 암호화 및 복호화하며, 서명을 생성하고 검증하는 몇 가지 일반적인 예시입니다.
새로운 키 쌍 생성
gpg --gen-key
대화형 프롬프트를 따라 키 유형, 크기, 만료일, 사용자 이름, 이메일 등을 설정합니다.
공개 키 목록 보기
gpg --list-keys
현재 키링에 저장된 모든 공개 키 정보를 확인합니다.
파일 암호화 (수신자 지정)
gpg --encrypt --recipient Alice secret.txt
지정된 수신자(예: 'Alice')의 공개 키를 사용하여 'secret.txt' 파일을 암호화합니다. 결과는 'secret.txt.gpg' 파일로 생성됩니다.
파일 복호화
gpg --decrypt secret.txt.gpg
암호화된 'secret.txt.gpg' 파일을 복호화합니다. 개인 키 암호가 필요하며, 결과는 표준 출력으로 나옵니다. `--output` 옵션으로 파일에 저장할 수 있습니다.
파일에 디지털 서명 추가
gpg --sign document.txt
'document.txt' 파일에 서명을 추가합니다. 서명된 파일은 'document.txt.gpg'로 생성됩니다.
서명된 파일 검증
gpg --verify document.txt.gpg
'document.txt.gpg' 파일의 서명을 검증합니다. 서명자의 공개 키가 키링에 있어야 합니다.
공개 키 내보내기 (ASCII Armor)
gpg --export --armor Alice > alice_pubkey.asc
사용자 ID 'Alice'의 공개 키를 ASCII Armor 형식으로 내보내 'alice_pubkey.asc' 파일에 저장합니다.
설치
gpg는 대부분의 리눅스 배포판에 기본으로 설치되어 있거나, 표준 저장소에서 쉽게 설치할 수 있습니다. 다음은 주요 배포판별 설치 명령어입니다.
Debian/Ubuntu
sudo apt update && sudo apt install gnupg
APT 패키지 관리자를 사용하여 gpg를 설치합니다.
RHEL/CentOS/Fedora
sudo dnf install gnupg
YUM 또는 DNF 패키지 관리자를 사용하여 gpg를 설치합니다.
Arch Linux
sudo pacman -S gnupg
Pacman 패키지 관리자를 사용하여 gpg를 설치합니다.
팁 & 주의사항
gpg를 안전하고 효율적으로 사용하기 위한 팁과 주의사항입니다. 키 관리와 암호 보안에 특히 유의해야 합니다.
안전한 암호 사용
키 생성 시 강력하고 기억하기 쉬운 암호(passphrase)를 사용하세요. 암호는 개인 키를 보호하는 핵심 요소입니다.
- 강력한 암호: 최소 12자 이상, 대소문자, 숫자, 특수문자 조합
개인 키 백업
개인 키는 매우 중요하므로 안전한 오프라인 저장소(예: USB 드라이브, 암호화된 외장 하드)에 백업해 두는 것이 좋습니다. 키를 잃어버리면 암호화된 데이터를 복구할 수 없습니다.
- 백업 방법: gpg --export-secret-keys --armor [USER_ID] > private_key.asc
키 취소 인증서 생성
키를 생성한 직후 키 취소 인증서(revocation certificate)를 생성하여 안전하게 보관하세요. 키가 손상되거나 분실되었을 때 해당 키를 무효화하는 데 사용됩니다.
- 취소 인증서 생성: gpg --gen-revoke [USER_ID]
키 서버 활용
공개 키를 키 서버에 업로드하여 다른 사람들이 쉽게 찾고 사용할 수 있도록 할 수 있습니다. 이는 공개 키 교환을 용이하게 합니다.
- 키 서버 업로드: gpg --send-keys [USER_ID]