Bir .gpg dosyasının şifresi sadece açılırken nasıl yazılır


17

(Aşağıdakilerin güvenlikle ilgili sonuçlarını anlıyorum ve onlarla iyiyim.)

Kuruluş dizinimde tek bir şifreli dosya var diary.org.gpg. Çalışması için hiçbir zaman özel bir yapılandırma yapmadım, yine de

  1. Dosyayı her ziyaret ettiğimde şifreleme parolasını girmem isteniyor. Hangi harika.
  2. Arabelleği her kaydettiğimde, tekrar iki kez parola girmem isteniyor. Benim sorunum bu .

Bunun çalışması için hiçbir şey yapılandırmadım, bu nedenle aracılar veya anahtarlıklar ile ilgili herhangi bir yanıtın yapılandırma talimatları ile birlikte gelmesi gerektiğini unutmayın.

Parolayı dosyanın içinde yazılı olarak tutmayı düşündüm (başlık veya dosya sonu yorumlarında). Sonra, her kaydettiğimde, Emacs arabellekteki şifreyi okuyabilir ve bana sormak yerine bunu kullanabilirdi. Ama buna bakmaya başladığımda içeride bir yerde tamamen kayboldum epa.el.

S: Arabelleği kaydederken istendiğinde doğrudan Emacs'tan şifreleme sistemine / işlemine nasıl şifre gönderebilirim?

Geri kalan her şey (arabellekteki parolayı bulma) Kendimi anlayabilirim. Emacs'ın gpg ile nasıl etkileşime girdiğini anlamaya çalışırken kayboldum.

Ubuntu, Arch Linux ve Windows'da olduğumu unutmayın. Bu yüzden ilk fikrim emacs merkezli bir çözümdü.
Üzerindeki dosyaya manuel olarak erişebildiğim sürece Windows'ta çalışmayan bir çözümle yaşayabilirim.


Ben düşünüyorum bu: orgmode.org/worg/org-tutorials/encrypting-files.html#sec-5 sen (gpg-agent) istiyoruz.
wvxvw

@wvxvw Belki. Tasarruf hakkında bir şey söylemiyor, bu yüzden denemeliyim.
Malabarba

Dürüst olmak gerekirse, GPG ve ilgili programların kullanıcı arayüzü oldukça kötüdür. Arayüzden veya dokümantasyondan ne yaptıklarını anlamak gerçekten zor. Ama amacı benim anlayış gpg-agentbunun benzer olmasıdır ssh-agentsadece mağazalarda bunu etkinleştirmek kez sahip şifreler. Bu nedenle, ne bir dosyayı açtığınızda ne de kaydettiğinizde (aracı parolayı hatırladığı sürece) parola istenmez, ancak bunun bir tür aptal olan parolaya kadar uzandığını sanmıyorum. , Eğer doğruysa.
wvxvw

Muhtemelen gpg-agentdoğru bir şekilde kurmak istersiniz , böylece anahtarı bir süre önbelleğe alır? :)
Günther Noack

1
@wvxvw Belki de durum böyleydi? Bahsedilen araçların man sayfalarının oldukça ayrıntılı olduğunu gördüm ve (CLI) arayüzü, genellikle terminal tabanlı programlardan beklendiği şeydi.
legends2k

Yanıtlar:


12

Şifre + anahtar kullanarak şifreleme

Bu, şifreyi doğrudan dosyaya kaydetmez, ancak herhangi bir güvenlik riski olmadan benzer bir şey yapar ve istediğinizi elde etmenize yardımcı olur.

  • Parolanızın bir anahtarlıktaki bir e-posta kimliğiyle ilişkilendirilmesi için asimetrik şifreleme kullanmanız gerekir .

  • Aşağıdakileri .gpg dosyanızın en üstüne kaydedin

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

Dosya ilk kaydedildiğinde / oluşturulduğunda parola istenir. Ancak bundan sonra kaydedilen dosyayı her açışınızda parola istenir

Tek yakalama, ~/.gnupg/varsayılan olarak kaydedilen anahtarlık dosyasını kaybetmemenizdir .

GPG Kurulumu

Emacs Kurulumu

Emac'lerde bunun için herhangi bir kurulum yapılması gerekmez.

Sistem kurulumu

Ancak GPG özelliğinin çalışması için sistem ortamınızı birkaç kitaplıkla hazır hale getirmeniz gerekir.

Bunu ayarlarken aşağıdakileri yüklemem gerekti:

  • gpgme-1.5.3
  • libgpg-hatasız 1.17
  • libksba-1.3.2
  • libassuan-2.2.0
  • libgcrypt-1.6.2
  • gnupg-2.0.26
  • pinentry-0.9.0

Yukarıdaki kütüphanelerden birine ya da ikisine ihtiyacım vardı ve diğerlerini de zorunlu ya da isteğe bağlı bağımlılıklar olduğu için kurmaya başladım.

Her şey kurulduktan sonra

> gpg --gen-key

Ve kendiniz için hiç bitmeyen bir anahtar oluşturun ve gerçek adınız ve e-postanızla ilişkilendirin.

Oluşturulan anahtar ~/.gnupg/dizininize kaydedilir .

Anahtarlık yerini değiştirme

Anahtarlık konumunu, öğesini değiştirerek $GNUPGHOME, --homedirveya --keyringseçeneklerini kullanarak değiştirebilirsiniz gpg.

Gönderen man gpg:

--keyring file

Geçerli anahtar kelime listesine dosya ekleyin. Dosya bir yaklaşık işareti ve eğik çizgi ile başlarsa, bunların yerine $ HOME dizini gelir. Dosya adı eğik çizgi içermiyorsa, GnuPG giriş dizininde olduğu varsayılır (--homedir veya $ GNUPGHOME kullanılmıyorsa "~ / .gnupg").

Bunun geçerli listeye bir anahtarlık eklediğini unutmayın. Amaç yalnızca belirtilen anahtarlığı kullanmaksa, --no-default-keyring ile birlikte --keyring kullanın.

GPG'yi emac'lerle kullanma

Emacs'ta, sadece .gpguzantılı bir dosya oluşturursunuz . Örneğin, dosya başlangıçta auth.elolsaydı, yeniden adlandırırsınız auth.el.gpg.

Bu satırı dosyanın en üstüne yerleştirin:

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

;;Burada örnek dosya olarak elisp yorum karakterlerini kullandığımı unutmayın auth.el.gpg.

Anahtar oluşturma sırasında kullandığınız tam e-posta adresini kullanın.

Kaydetmeye çalıştığınızda, emacs bu istemi bir arabellekte gösterir:

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>>

Noktayı tuşun bulunduğu satıra gidin, tuşuna basın m.

[OK]Düğmeye gelin ve düğmesine basın <return>.

Artık dosyayı kaydedebilir ve bu dosya arabelleğini öldürebilirsiniz.

Bir dahaki sefere bu .gpg dosyasını açtığınızda, sizden yalnızca bir kez parola istenir ve ardışık kayıtlar parola istemi gerektirmez.

Daha fazla bilgi


Anahtarlık dosyasını kaybedersem şifrelenmiş dosyayı her zamanki şifreyle açabilir miyim yoksa sonsuza kadar kaybolur mu?
Malabarba

@Malabarba Bunu denemedim ama sonsuza kadar kaybolduğuna inanıyorum. Ancak iyi olan şey, bu dosyanın bir e-posta ve parolayı bir anahtarlık öğesiyle ilişkilendirdiğinizde yalnızca bir kez oluşturulmuş olmasıdır. Daha fazla anahtarlık öğesi (daha fazla şifre + e-posta çifti) eklenene kadar ilk kez değiştirilmez. Bu dosyanın yedeklerini bir USB anahtarında ve Dropbox'ta saklıyorum ve parolanın süper güvenli olduğundan eminim.
Kaushal Modi

Simetrik olarak şifrelenmiş belgeleri taşınabilir olarak test ettim. Linux'ta emacs'ta bir şey şifreledim ve pencereler için mevcut birçok ücretsiz GPG şifre çözücü araçlarından birini kullanarak açtım. Anahtarlık istedi ve Dropbox benim yedekleme işaret etti ve işe yaradı.
Kaushal Modi

Sadece FYI: Evet, anahtar dosyasını kaybetmek şifreli dosyalarınıza da erişimi kalıcı olarak kaybettiğiniz anlamına gelir. Şifrelemeyi kaldırmak için hem şifreye hem de özel anahtar dosyasına ihtiyacınız vardır. Bu, asimetrik şifreleme için GPG güvenlik modelinin bir parçasıdır.
Tyler

Nihayetinde bu cevapla gitmem gerekecek gibi görünüyor. Anahtarlık dosyasının konumunu nasıl değiştirebileceğimi biliyor musunuz?
Malabarba

9

Yapmam gereken tek şey

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

Bu çözüm hem Linux hem de Windows üzerinde çalışıyor ve Ted-Michael'ın help-gnu-emacs'ın izniyle.


Bunun sizin için işe yaradığını bilmek güzel! Yıllardır Emacs yapılandırmamda bu ayar vardı, ancak bir noktada çalışmayı bıraktı. Ben gnome-keyring-daemon benim kullanımı ile ilgili olduğundan şüpheleniyorum (aynı zamanda bir gpg anahtarlık gibi davranır).
kırmızı biber

4
Docstring for epa-file-cache-passphrase-for-symmetric-encryption: "GnuPG 2.0 kullanıyorsanız bu seçeneğin bir etkisi olmadığını unutmayın."
Wilfred Hughes
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.