Linux에서 GPG 키를 백업 및 복원하는 방법
개인 정보 보호는 점점 더 뜨거운 주제입니다. Linux에서 이 gpg
명령을 사용하면 공개 키 암호화를 사용하여 파일을 암호화할 수 있습니다. 이 경우 암호화 키를 잃으면 재앙이 됩니다. 백업 방법은 다음과 같습니다.
OpenPGP 및 GNU 개인 정보 보호
종이 사본에 비해 전자 파일의 장점 중 하나는 승인된 사람만 액세스할 수 있도록 전자 파일을 암호화할 수 있다는 것입니다. 엉뚱한 손에 넘어가도 문제 없습니다. 귀하와 지정된 수신자만 파일 내용에 액세스할 수 있습니다.
OpenPGP 표준은 공개 키 암호화라는 암호화 시스템을 설명합니다. 이 표준 의 GNU Privacy Guard 구현으로 인해 표준 에 따라gpg
암호화 및 암호 해독을 위한 명령줄 도구 가 만들어졌습니다 .
이 표준은 공개 키 암호화 체계를 설명합니다. 이것을 “공개 키”라고 하지만 두 개의 키가 관련됩니다. 각 사람은 공개 키와 개인 키를 가지고 있습니다. 이름에서 알 수 있듯이 개인 키는 누구와도 공유되거나 공유되지 않습니다. 공개 키를 안전하게 전송할 수 있습니다. 실제로 스키마가 작동하려면 공개 키를 공유해야 합니다.
파일이 암호화되면 보낸 사람의 개인 키와 받는 사람의 공개 키가 암호화 프로세스에 사용됩니다. 그러면 파일이 받는 사람에게 배달될 수 있습니다. 그들은 자신의 개인 키와 보낸 사람의 공개 키를 사용하여 파일을 해독합니다.
공개 및 개인 키는 일치하는 쌍으로 생성되며 특정 식별자에 연결됩니다. 민감한 자료를 다른 사람과 공유하지 않더라도 컴퓨터에서 이를 사용하여 개인 문서에 보안 계층을 추가할 수 있습니다.
암호화는 세계적 수준의 알고리즘과 암호화 기능을 사용합니다. 해당 공개 및 개인 키가 없으면 암호화된 파일에 들어갈 수 없습니다. 그리고 열쇠를 잃어버린 경우에도 마찬가지입니다. 새 키를 생성해도 도움이 되지 않습니다. 파일을 해독하려면 암호화 프로세스 중에 사용된 키가 필요합니다.
말할 필요도 없이 키를 백업하는 것은 키를 복원하는 방법을 아는 것과 마찬가지로 가장 중요합니다. 이러한 작업을 완료하는 방법은 다음과 같습니다.
목록. 그누프
키는 홈 디렉토리의 “.gnupg”라는 디렉토리에 저장됩니다. 이 디렉토리에는 암호화된 파일을 보낸 모든 사람의 공개 키도 저장됩니다. 공개 키를 가져오면 이 디렉토리의 색인화된 데이터베이스 파일에 추가됩니다.
물론 이 디렉토리에는 아무 것도 일반 텍스트로 저장되지 않습니다. GPG 키를 생성할 때 암호를 입력하라는 메시지가 표시됩니다. 암호가 무엇인지 기억하시기 바랍니다. 당신은 그것을 필요로 할 것입니다. “.gnugp” 디렉토리의 항목은 그것 없이는 해독할 수 없습니다.
디렉토리 검색 유틸리티 를 사용 tree
하면 이러한 하위 디렉토리 및 파일 구조를 볼 수 있습니다. tree
컴퓨터에 아직 설치되어 있지 않은 경우 배포의 리포지토리에서 찾을 수 있습니다.
tree. gnupg
디렉토리 트리 내용:
- openpgp-revocs.d: 이 하위 디렉토리에는 해지 인증서가 포함되어 있습니다. 개인 키가 공개되거나 다른 방식으로 손상된 경우 이 정보가 필요합니다. 해지 인증서는 이전 키를 폐기하고 새 키를 수락하는 과정에서 사용됩니다.
- private-keys-v1.d: 이 하위 디렉토리에는 개인 키가 들어 있습니다.
- pubring.kbx: 암호화된 파일. 여기에는 귀하를 포함한 공개 키와 이에 대한 일부 메타데이터가 포함됩니다.
- pubring.kbx~: “pubring.kbx”의 백업입니다. “pubring.kbx”가 변경되기 직전에 업데이트됩니다.
- trustdb.gpg: 자신의 키와 다른 사람에게 속한 허용된 공개 키에 대해 설정한 신뢰 관계를 포함합니다.
어쨌든 숨겨진 파일과 폴더를 포함하여 홈 디렉토리를 정기적으로 자주 백업해야 합니다. 그러면 “.gnupg” 디렉토리가 자동으로 백업됩니다.
그러나 GPG 키가 주기적으로 백업되는지 확인하기에 충분히 중요하다고 생각할 수도 있고, 두 컴퓨터에 키를 둘 수 있도록 데스크탑에서 랩탑으로 키를 복사하고 싶을 수도 있습니다. 결국, 당신은 두 기계 모두에 있습니다.
백업용 키 정의
gpg
GPG 시스템에 어떤 키가 있는지 알려 달라고 요청할 수 있습니다. 우리는 --list-secret-keys
옵션과 --keyid-format LONG
옵션을 사용할 것입니다.
gpg --list-secret-keys --keyid-format LONG
우리는 GPG가 “/home/dave/.gnupg/pubring.kbx” 파일을 보고 있다고 들었습니다.
화면에 표시되는 것은 실제 비밀 키가 아닙니다.
- “sec”(secret) 문자열은 암호화 비트 수(이 예에서는 4096), 키 ID, 키 생성 날짜 및 “[SC]”를 표시합니다. “S”는 디지털 서명에 사용할 수 있는 키를 의미하고 “C”는 인증에 사용할 수 있음을 의미합니다.
- 다음 줄은 키의 지문입니다.
- 문자열 “uid”에는 키 소유자의 ID가 포함됩니다.
- 문자열 “ssb”는 생성된 비밀 하위 키와 “E”를 보여줍니다. “E”는 암호화에 사용할 수 있음을 의미합니다.
다른 ID와 함께 사용하기 위해 여러 키 쌍을 생성한 경우에도 나열됩니다. 이 사용자에 대해 하나의 키 쌍만 백업하면 됩니다. 백업에는 해당 키의 소유자가 수집하고 신뢰하기로 선택한 다른 사람의 공개 키가 포함됩니다.
지원
gpg
모든 ID에 대한 모든 키를 백업 하도록 요청 하거나 단일 ID와 연결된 키를 백업할 수 있습니다. 개인 키, 비밀 키 및 신뢰 데이터베이스 파일을 백업합니다.
공개 키를 백업하려면 --export
옵션을 사용하십시오. 우리는 또한 --export-options backup
옵션을 사용할 것입니다. 이렇게 하면 GPG와 관련된 모든 메타데이터가 포함되어 파일을 다른 컴퓨터로 올바르게 가져올 수 있습니다.
옵션 으로 출력 파일을 지정합니다 --output
. 그렇지 않으면 출력이 터미널 창으로 전송됩니다.
gpg --export --export-options backup --output public.gpg
하나의 ID에 대한 키만 백업하려면 키와 연결된 이메일 주소를 명령줄에 추가합니다. 어떤 이메일 주소인지 기억나지 않으면 --list-secret-keys
위에서 설명한 옵션을 사용하세요.
gpg --export --export-options backup --output public.gpg dave@madeupdomain.com
--export-secret-keys
개인 키를 백업하려면 옵션 대신 옵션 을 사용해야 합니다 --export
. 이것을 다른 파일에 저장했는지 확인하십시오.
gpg --export-secret-keys --export-options backup --output private.gpg
이것은 개인 키이므로 계속하기 전에 GPG로 인증해야 합니다.
암호를 입력하라는 메시지가 표시되지 않습니다. GPG 키를 처음 만들 때 제공한 암호를 입력해야 합니다. 좋은 암호 관리자를 사용하면 보안 메모와 같은 정보를 저장할 수 있습니다. 이것은 그것들을 보관하기에 좋은 장소입니다.
암호가 승인되면 내보내기가 발생합니다.
신뢰 관계를 백업하려면 “trustdb.gpg” 파일에서 설정을 내보내야 합니다. 출력을 “trust.gpg”라는 파일로 보냅니다. 이것은 텍스트 파일입니다. 로 볼 수 있습니다 cat
.
gpg --export-ownertrust > trust.gpg
cat trust.gpg
다음은 우리가 만든 세 개의 파일입니다.
ls -hl *.gpg
우리는 그것들을 다른 컴퓨터로 옮기고 복원할 것입니다. 이렇게 하면 해당 컴퓨터에서 ID가 설정되고 기존 GPG 키를 사용할 수 있습니다.
키를 다른 컴퓨터에 옮기는 것이 아니라 단순히 백업 복사본을 만드는 경우에는 키의 안전성을 이중으로 확인하고 싶기 때문에 다른 매체에 복사하여 안전한 장소에 보관하십시오. 엉뚱한 손에 들어가더라도 공개 키는 여전히 공개되므로 걱정할 필요가 없습니다. 그리고 암호가 없으면 개인 키를 복구할 수 없습니다. 그러나 여전히 백업을 안전하고 비공개로 유지하십시오.
Manjaro 21 컴퓨터에 파일을 복사했습니다.
ls *.gpg
기본적으로 Manjaro 21은 Z 쉘 을 zsh
사용하므로 다르게 보입니다. 그러나 그것은 중요하지 않습니다. 아무 것도 영향을 미치지 않을 것입니다. 우리가 하는 일은 gpg
쉘이 아니라 프로그램에 의해 제어됩니다.
키를 가져오려면 옵션을 사용해야 합니다 --import
.
gpg --import public.gpg
가져올 때 주요 세부 정보가 표시됩니다. “trustdb.gpg” 파일도 생성됩니다. 개인 키를 가져오는 것도 간단합니다. 우리 --import
는 옵션을 다시 사용합니다.
gpg --import private.gpg
암호를 입력하라는 메시지가 표시됩니다.
“암호구” 필드에 입력하고 “Tab” 키를 누른 다음 “Enter”를 누릅니다.
가져온 키의 세부 정보가 표시됩니다. 우리의 경우에는 하나의 키만 있습니다.
신뢰 데이터베이스를 가져오려면 다음을 입력하십시오.
gpg --import-ownertrust trust.gpg
--list-secret-keys
이 옵션을 다시 사용하여 모든 항목을 올바르게 가져왔는지 확인할 수 있습니다 .
gpg --list-secret-keys --keyid-format LONG
이것은 이전에 Ubuntu 시스템에서 본 것과 정확히 동일한 결과를 제공합니다.
개인 정보 보호
GPG 키를 백업하여 안전한지 확인하십시오. 컴퓨터 충돌이 발생했거나 최신 모델로 업그레이드하려는 경우 키를 새 컴퓨터로 전송하는 방법을 알고 있어야 합니다.
답글 남기기