.gpg 파일의 비밀번호를 열 때만 입력하는 방법


17

(다음과 같은 보안상의 의미를 이해하고 있습니다.)

내 조직 디렉토리에 하나의 암호화 된 파일이 diary.org.gpg있습니다. 나는 그것이 작동하기 위해 특별한 구성을 한 적이 없다.

  1. 파일을 방문 할 때마다 암호화 암호를 묻는 메시지가 나타납니다. 어느 것이 좋습니다.
  2. 버퍼를 저장할 때마다 암호를 다시 두 번 묻는 메시지가 나타납니다. 어느 것이 내 문제 입니다.

이 작업을 수행하기 위해 아무것도 구성하지 않았으므로 에이전트 또는 키 링에 대한 답변에는 구성 지침이 제공되어야합니다.

파일의 어딘가에 (암호 또는 파일 끝 주석으로) 암호를 유지하려고 생각했습니다. 그런 다음 저장할 때마다 Emacs는 버퍼에서 암호를 읽고 프롬프트 대신 암호를 사용할 수 있습니다. 그러나 이것을 조사하기 시작했을 때, 나는 어딘가에서 완전히 잃어 버렸습니다 epa.el.

Q : 버퍼를 저장하라는 메시지가 표시되지 않고 Emacs에서 암호화 시스템 / 프로세스로 직접 암호를 보내려면 어떻게해야합니까?

나머지는 (버퍼에 비밀번호 찾기) 내가 알아낼 수 있습니다. Emacs가 gpg와 어떻게 인터페이스했는지 이해하려고 할 때 방금 잃었습니다.

Ubuntu, Arch Linux 및 Windows를 사용하고 있습니다. 이것이 저의 첫 번째 아이디어가 이맥스 중심 솔루션 인 이유입니다.
수동으로 파일에 액세스 할 수 있다면 Windows에서는 작동하지 않는 솔루션으로 살 수 있습니다.


나는 이것을 생각 한다 : orgmode.org/worg/org-tutorials/encrypting-files.html#sec-5 는 당신이 원하는 것입니다 (gpg-agent).
wvxvw 2016 년

@wvxvw 아마. 그것은 저축에 대해 아무 말도하지 않으므로 시도해야합니다.
Malabarba

솔직히 말해서, GPG 및 관련 프로그램은 현저하게 나쁜 사용자 인터페이스를 가지고 있습니다. 인터페이스 나 문서에서 그들이하는 일을 이해하기는 정말 어렵습니다. 그러나 목적에 대한 나의 이해는 일단 암호를 활성화하면 암호를 저장하는 gpg-agent것과 비슷하다는 것입니다 ssh-agent. 따라서 파일을 열 때나 파일을 저장할 때 (에이전트가 암호를 기억하는 한) 암호를 입력하라는 메시지가 표시되지 않지만 암호가 암호로 확장되지는 않습니다. , 사실이면.
wvxvw

gpg-agent키를 캐시 하기 위해 올바르게 설정하고 싶 습니까? :)
Günther Noack

1
@wvxvw 아마도 그랬던가? 툴의 매뉴얼 페이지가 상당히 상세하다고 말했고 (CLI) 인터페이스는 일반적으로 터미널 기반 프로그램에서 기대하는 것입니다.
legends2k

답변:


12

비밀번호 + 키를 사용한 암호화

이렇게하면 암호가 파일에 직접 저장되지 않지만 보안 위험없이 비슷한 작업을 수행하여 원하는 것을 달성 할 수 있습니다.

  • 암호가 키링 의 이메일 ID와 연결되도록 비대칭 암호화를 사용해야합니다 .

  • .gpg 파일의 맨 아래에 아래를 저장하십시오

-*- epa-file-encrypt-to: ("your@email.address") -*-

파일을 처음 저장 / 생성 할 때 비밀번호가 프롬프트됩니다. 그러나 그 후에 저장된 파일을 열 때마다 암호가 한 번만 프롬프트됩니다

유일한 캐치는 ~/.gnupg/기본적으로 저장된 키링 파일을 잃어 버리지 않아야한다는 것 입니다.

GPG 설정

이맥스 설정

emacs에서는이 작업을 수행 할 필요가 없습니다.

시스템 설치

그러나 GPG 기능이 작동하려면 라이브러리가 거의없는 시스템 환경을 준비해야합니다.

이것을 설정할 때 다음을 설치해야했습니다.

  • gpgme-1.5.3
  • libgpg-error-1.17
  • libksba-1.3.2
  • 리스본 -2.2.0
  • libgcrypt-1.6.2
  • 그누 그 -2.0.26
  • pinentry-0.9.0

위의 라이브러리 중 하나 또는 두 개가 필요했고 다른 라이브러리는 필수 또는 선택적 종속성이기 때문에 다른 라이브러리를 설치했습니다.

모든 것이 설치되면

> gpg --gen-key

그리고 절대 만료되지 않는 키를 생성 하여 실제 이름 및 이메일과 연결하십시오.

생성 된 키는 ~/.gnupg/디렉토리에 저장됩니다 .

키링 위치 변경

에 대한 $GNUPGHOME, 사용 --homedir또는 --keyring옵션을 변경 하여 키링 위치를 변경할 수 있습니다 gpg.

보낸 사람 man gpg:

--keyring file

현재 키링 목록에 파일을 추가하십시오. 파일이 물결표와 슬래시로 시작하면 $ HOME 디렉토리로 대체됩니다. 파일 이름에 슬래시가 포함되어 있지 않으면 GnuPG 홈 디렉토리에있는 것으로 간주됩니다 (--homedir 또는 $ GNUPGHOME을 사용하지 않는 경우 "~ / .gnupg").

현재 목록에 키링이 추가됩니다. 지정된 키링을 단독으로 사용하려는 경우 --no-default-keyring과 함께 --keyring을 사용하십시오.

emacs와 함께 GPG 사용

emacs에서는 단순히 .gpg확장자를 가진 파일을 만듭니다 . 예를 들어 파일이 원래 파일 인 경우 auth.el이름을로 바꿉니다 auth.el.gpg.

이 줄을 파일 맨 위에 놓으십시오.

;; -*- epa-file-encrypt-to: ("your@email.address") -*-

elisp 주석 문자 ;;를 예제 파일로 사용했습니다 auth.el.gpg.

키 생성시 사용한 정확한 이메일 주소를 사용하십시오.

저장하려고하면, emacs는이 프롬프트를 버퍼에 표시합니다 :

Select recipients for encryption.
If no one is selected, symmetric encryption will be performed.  
- `m' to mark a key on the line
- `u' to unmark a key on the line
[Cancel][OK]

  u <GPG KEY> <YOUR NAME> (<YOUR GPG KEY NAME>) <<YOUR GPG KEY EMAIL>>

키를 포함하는 줄로 점을 탐색하고을 누르십시오 m.

포인트를 [OK]버튼으로 이동 하고를 누르십시오 <return>.

이제 파일을 저장하고 해당 파일 버퍼를 종료 할 수 있습니다.

다음에 해당 .gpg 파일을 열면 암호를 한 번만 묻는 메시지가 표시되고 연속 저장은 암호를 요구하지 않습니다.

더 많은 정보


키링 파일을 잃어버린 경우에도 일반 비밀번호로 암호화 된 파일을 열 수 있습니까?
Malabarba

@ Malabarba 나는 그것을 시도하지는 않았지만 영원히 사라 졌다고 생각합니다. 그러나 전자 메일과 암호를 키 링 요소와 연결할 때 해당 파일이 한 번만 생성된다는 것이 좋습니다. 더 많은 키링 요소를 추가 할 때까지 (더 많은 암호 + 이메일 쌍)이 이후에는 수정되지 않습니다. 해당 파일의 백업을 USB 키와 Dropbox에 보관하고 암호가 안전한지 확인합니다.
Kaushal Modi

대칭 적으로 암호화 된 문서를 휴대용으로 테스트했습니다. Linux에서 emacs로 무언가를 암호화하고 Windows에서 사용할 수있는 많은 무료 GPG 해독 도구 중 하나를 사용하여 열었습니다. 키 링을 요청하고 Dropbox의 백업을 가리키며 작동했습니다.
Kaushal Modi

참고로 그렇습니다. 키 파일이 손실되면 암호화 된 파일도 영구적으로 액세스 할 수 없게됩니다. 암호를 해독하려면 암호와 개인 키 파일이 모두 필요합니다. 이는 비대칭 암호화를위한 GPG 보안 모델의 일부입니다.
Tyler

결국이 답변과 함께 가야 할 것 같습니다. 키링 파일의 위치를 ​​변경하는 방법을 알고 있습니까?
Malabarba

9

내가해야 할 모든 것이 밝혀졌습니다

(setq epa-file-cache-passphrase-for-symmetric-encryption t)

이 솔루션은 Linux와 Windows에서 모두 작동하며 help-gnu-emacs에서 Ted와 Michael의 도움을 받았습니다.


이것이 당신을 위해 작동한다는 것을 알고 반갑습니다! 몇 년 동안 Emacs 설정에서이 설정을 사용했지만 어느 시점에서 작동이 멈췄습니다. 나는 그것이 gnome-keyring-daemon (gpg 키링 역할도 함)을 사용하는 것과 관련이 있다고 생각합니다.
파프리카

4
docstring에서 epa-file-cache-passphrase-for-symmetric-encryption: "GnuPG 2.0을 사용하는 경우이 옵션은 적용되지 않습니다."
Wilfred Hughes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.