> 환경 및 유틸리티 > gpg

gpg: OpenPGP 암호화 및 서명 도구

gpg(GNU Privacy Guard)는 OpenPGP 표준을 구현한 암호화 도구입니다. 파일을 암호화하고 복호화하며, 디지털 서명을 생성하고 검증하는 데 사용됩니다. 이 도구는 통신 보안과 데이터 무결성을 보장하는 데 필수적입니다.

개요

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]

동일 카테고리 명령어