0Pricing
Cryptology Academy · 강의

비대칭 파일 암호화를 위한 GPG

GPG를 사용해 특정 수신자를 위한 파일 암호화, 콘텐츠 서명, GPG 키 모음 관리를 수행합니다.

비대칭 파일 암호화를 위한 GPG은(는) CoddyKit의 무료 Cryptology Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cryptology Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

GPG 개요 및 목적

GNU Privacy Guard(GPG)는 비대칭 파일 암호화와 디지털 서명을 위해 OpenPGP 표준(RFC 4880)을 구현합니다. GPG를 사용하면 두 가지 기본 작업을 수행할 수 있습니다. 의도한 수신자만 파일을 복호화할 수 있도록 파일을 암호화하는 작업과, 다른 사람이 파일의 진위와 무결성을 확인할 수 있도록 파일에 서명하는 작업입니다. GPG는 안전한 파일 전송과 소프트웨어 출시 서명을 위한 표준 도구입니다.

GPG 키 생성

GPG 키 생성은 gpg --gen-key를 사용하여 대화형으로 수행하거나 gpg --quick-gen-key를 사용하여 스크립트로 자동화할 수 있습니다. 최신 GPG는 서명에 ed25519를, 암호화에 cv25519(Curve25519)를 기본값으로 사용하여 기본 서명 키와 암호화용 하위 키를 생성합니다. --full-gen-key 옵션을 사용하면 사용자 지정 설정이 필요한 경우 키 유형, 크기, 만료 날짜를 완전히 제어할 수 있습니다.

GPG 키 유형 비교

RSA 4096비트 GPG 키는 모든 OpenPGP 구현과 호환되며 강력한 보안을 제공합니다. Curve25519를 사용하는 ECDSA(서명에는 Ed25519, 암호화에는 Cv25519)는 비슷한 수준의 보안을 유지하면서 더 작은 키와 더 빠른 작업을 제공합니다. 레거시 DSA 키는 오래된 구현에서 SHA-1 다이제스트로 제한되므로 사용해서는 안 됩니다. 새 키에는 Curve25519 기반 유형을 사용해야 합니다.

공개 키 내보내기 및 공유

키 쌍을 생성한 후 배포를 위해 공개 키를 내보내십시오. gpg --armor --export your@email.com 명령은 ASCII 아머 형식의 공개 키 블록을 출력합니다. 사용자를 대상으로 파일을 암호화하거나 사용자의 서명을 확인해야 하는 사람과 이 파일을 공유하십시오. 수신자는 gpg --import publickey.asc를 사용하여 공개 키를 가져온 후에 파일을 암호화하거나 서명을 확인할 수 있습니다.

수신자를 위한 파일 암호화

특정 수신자를 위해 파일을 암호화하려면 다음 명령을 사용하십시오. gpg --encrypt --recipient recipient@email.com --output secret.gpg plaintext.txt. GPG는 수신자의 공개 키로 파일 세션 키를 암호화하고, AES-256(또는 협상된 암호)으로 파일을 암호화합니다. 일치하는 개인 키를 가진 수신자만 파일 세션 키를 복호화하여 평문을 복원할 수 있습니다.

분리된 서명 만들기

분리된 서명(gpg --detach-sign --armor file.tar.gz)을 만들면 서명이 포함된 별도의 .asc 파일이 생성됩니다. 원본 파일은 변경되지 않습니다. 수신자는 gpg --verify file.tar.gz.asc file.tar.gz를 사용하여 확인합니다. 분리된 서명은 소프트웨어 출시의 표준 방식이며, 배포된 파일을 복호화하거나 수정하지 않고도 서명을 확인할 수 있게 합니다.

서명 확인

서명 확인을 통해 파일이 주장된 키로 서명되었고 서명 이후 수정되지 않았는지 확인할 수 있습니다. gpg --verify signature.asc file 명령은 키 지문, 사용자 ID, 서명이 유효한지 여부를 출력합니다. 보안 수준은 서명자의 공개 키를 올바르게 신뢰하는지에 달려 있습니다. 신뢰하지 않거나 확인되지 않은 키에서 나온 유효한 서명은 확실한 보장을 거의 제공하지 않습니다.

암호 문구로 보호되는 개인 키

GPG는 개인 키를 저장하기 전에 암호 문구에서 파생된 대칭 암호로 개인 키를 암호화합니다. 암호 문구가 없으면 개인 키 파일을 획득한 공격자도 이를 사용할 수 없습니다. GPG는 키 파생 함수를 사용하여 암호 문구에서 암호화 키를 파생합니다. 모든 암호화된 파일이 이 암호 문구로 보호되므로 암호 문구는 길고 기억하기 쉬워야 하며 다른 곳에서 사용해서는 안 됩니다.

GPG 키 서버 작업

GPG 키 서버는 공개 키를 검색할 수 있도록 호스팅합니다. gpg --send-keys KEYID --keyserver hkps://keys.openpgp.org를 사용하면 공개 키가 업로드됩니다. 다른 사용자는 gpg --recv-keys KEYID를 사용하여 키를 검색하고 가져올 수 있습니다. 키 서버는 서로 동기화되어 전 세계에서 키를 사용할 수 있게 합니다. keys.openpgp.org와 같은 최신 키 서버는 게시 전에 이메일 확인을 요구하여 키 스팸 공격을 방지합니다.

키 만료 및 폐기

키에 만료 날짜를 설정하면 폐기 인증서를 만들지 않아도 키에 대한 통제력을 잃었을 때 자동으로 보호할 수 있습니다. 키가 만료되면 GPG는 해당 키를 대상으로 암호화하는 사용자에게 경고합니다. 키가 손상되었다면 즉시 폐기 인증서(키 생성 시 만들어 둔 인증서)를 키 서버에 게시하십시오. gpg --import revocation.cert 및 gpg --send-keys를 사용하면 됩니다. 이렇게 하면 손상된 키로 더 이상 암호화할 수 없게 됩니다.

자동화된 작업 흐름에서의 GPG

GPG는 --batch 및 --yes 플래그를 사용하고, 파일 설명자에서 읽도록 --passphrase-fd를 제공하여 스크립트에서 비대화형으로 작동할 수 있습니다. GPG 에이전트(gpg-agent)는 설정 가능한 기간 동안 암호 문구를 캐시하여 자동으로 다시 사용할 수 있게 합니다. CI/CD 작업 흐름에서는 키 자료를 소스 코드나 환경 변수에 저장하지 말고 비밀 관리 시스템에 저장해야 합니다.

GPG 파일 암호화 명령

특정 수신자의 공개 키를 사용해 파일을 암호화하는 GPG 명령은 무엇입니까?

GPG 파일 암호화 요약

GPG 요약: 키 쌍을 생성하고(가급적 Curve25519 사용), 공개 키를 내보내고 공유하며, 수신자의 공개 키로 암호화하고(--encrypt --recipient), 분리된 서명으로 파일을 별도로 서명하고(--detach-sign), --verify로 서명을 확인하고, 암호 문구로 개인 키를 보호하고, 만료 날짜를 설정하고 폐기 인증서를 준비하며, 공개 키 검색과 배포에 키 서버를 사용하십시오.

자주 묻는 질문

“비대칭 파일 암호화를 위한 GPG” 강의는 무료인가요?

네 — “비대칭 파일 암호화를 위한 GPG” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cryptology Academy 강의 전체를 잠금 해제할 수 있습니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“비대칭 파일 암호화를 위한 GPG”에서 뭘 배우나요?

GPG를 사용해 특정 수신자를 위한 파일 암호화, 콘텐츠 서명, GPG 키 모음 관리를 수행합니다. 브라우저에서 직접 실행하는 실습 코드로 Cryptology Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cryptology Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cryptology Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“비대칭 파일 암호화를 위한 GPG” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cryptology Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cryptology Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 비대칭 파일 암호화를 위한 GPG
  2. age 암호화 도구: 현대적인 GPG 대안
  3. VeraCrypt로 암호화된 컨테이너 만들기
  4. 안전한 삭제와 키 폐기
← Cryptology Academy(으)로 돌아가기