GPG Anahtarlarınızı Linux'ta Yedekleme ve Geri Yükleme
Yayınlanan: 2022-08-18 Gizlilik giderek daha sıcak bir konu. Linux'ta gpg
komutu, kullanıcıların açık anahtarlı şifreleme kullanarak dosyaları şifrelemesine olanak tanır; bu durumda şifreleme anahtarlarınızı kaybetmek felaket olur. Bunları nasıl yedekleyeceğiniz aşağıda açıklanmıştır.
OpenPGP ve GNU Gizlilik Koruması
Elektronik dosyaların basılı kopyalara göre avantajlarından biri, elektronik dosyaları yalnızca yetkili kişilerin erişebileceği şekilde şifreleyebilmenizdir. Yanlış ellere geçerlerse, önemli değil. Dosyaların içeriğine yalnızca siz ve hedeflenen alıcı erişebilir.
OpenPGP standardı, açık anahtarlı şifreleme adı verilen bir şifreleme sistemini tanımlar. Bu standardın GNU Privacy Guard uygulaması, standarda göre şifreleme ve şifre çözme için bir komut satırı aracı olan gpg
ile sonuçlandı.
Standart, bir genel anahtar şifreleme şemasını özetlemektedir. “Genel anahtar” olarak adlandırılsa da, ilgili iki anahtar vardır. Her kişinin bir ortak anahtarı ve bir özel anahtarı vardır. Özel anahtarlar, adından da anlaşılacağı gibi asla ifşa edilmez veya başkasına iletilmez. Genel anahtarlar güvenle paylaşılabilir. aslında, planın çalışması için ortak anahtarların paylaşılması gerekir.
Bir dosya şifrelendiğinde, kodlama işleminde gönderenin özel anahtarı ve alıcının genel anahtarı kullanılır. Dosya daha sonra alıcıya teslim edilebilir. Dosyanın şifresini çözmek için kendi özel anahtarını ve gönderenin genel anahtarını kullanırlar.
Genel ve özel anahtarlar, eşleşen bir çift olarak oluşturulur ve belirli bir kimliğe bağlanır. Hassas materyalleri başkalarına iletmeseniz bile, özel belgelere ekstra bir koruma katmanı eklemek için bunları kendi bilgisayarınızda kullanabilirsiniz.
Şifreleme, birinci sınıf algoritmalar ve kriptografik işlevler kullanır. Uygun genel ve özel anahtarlar olmadan şifrelenmiş dosyalara giremezsiniz. Ve anahtarlarınızı kaybederseniz, bu sizin için de geçerli. Yeni anahtarlar oluşturmak yardımcı olmaz. Dosyalarınızın şifresini çözmek için şifreleme işleminde kullanılan anahtarlara ihtiyacınız vardır.
Anahtarlarınızı yedeklemenin, onları nasıl geri yükleyeceğinizi bilmek kadar büyük önem taşıdığını söylemeye gerek yok. İşte bu görevleri nasıl gerçekleştireceğiniz.
.gnupg Dizini
Anahtarlarınız, ana dizininizde “.gnupg” adlı bir dizinde saklanır. Bu dizin ayrıca size şifrelenmiş dosyalar gönderen herkesin ortak anahtarlarını da saklayacaktır. Genel anahtarlarını içe aktardığınızda, bu dizindeki dizine alınmış bir veritabanı dosyasına eklenirler.
Bu dizindeki hiçbir şey elbette düz metin olarak saklanmaz. GPG anahtarlarınızı oluşturduğunuzda, bir parola girmeniz istenir. Umarım, bu parolanın ne olduğunu hatırlamışsınızdır. Buna ihtiyacın olacak. “.gnugp” dizinindeki girişler onsuz çözülemez.
Dizine bakmak için tree
yardımcı programını kullanırsak, bu alt dizin ve dosya yapısını göreceğiz. tree
, bilgisayarınızda zaten yoksa, dağıtımınızın depolarında bulacaksınız.
ağaç .gnupg
Dizin ağacının içeriği şunlardır:
- openpgp-revocs.d : Bu alt dizin, iptal sertifikanızı içerir. Özel anahtarınız ortak bilgi haline gelirse veya başka bir şekilde tehlikeye girerse buna ihtiyacınız olacak. İptal sertifikanız, eski anahtarlarınızın kullanımdan kaldırılması ve yeni anahtarların kabul edilmesi sürecinde kullanılır.
- private-keys-v1.d : Bu alt dizin, özel anahtarlarınızı saklar.
- pubring.kbx : Şifreli bir dosya. Sizinki de dahil olmak üzere genel anahtarları ve bunlarla ilgili bazı meta verileri içerir.
- pubring.kbx~ : Bu, “pubring.kbx” dosyasının yedek kopyasıdır. “pubring.kbx” üzerinde değişiklik yapılmadan hemen önce güncellenir.
- trustdb.gpg : Bu, kendi anahtarlarınız ve diğer kişilere ait kabul edilen genel anahtarlar için kurduğunuz güven ilişkilerini içerir.
Gizli dosya ve klasörler de dahil olmak üzere, ana dizininizin düzenli ve sık yedeklemelerini yapmalısınız. Bu, tabii ki “.gnupg” dizinini yedekleyecektir.
Ancak GPG anahtarlarınızın, kendilerine ait periyodik bir yedeklemeyi garanti edecek kadar önemli olduğunu düşünebilirsiniz veya belki de anahtarlarınızı masaüstünüzden dizüstü bilgisayarınıza kopyalamak ve böylece her iki makinede de bulunmasını isteyebilirsiniz. Sonuçta her iki makinede de sensin.
Hangi Anahtarların Yedekleneceğini Belirleme
GPG sisteminizde hangi anahtarların olduğunu bize söylemesini gpg
isteyebiliriz. --list-secret-keys
seçeneklerini ve --keyid-format LONG
seçeneklerini kullanacağız.
gpg --list-secret-keys --keyid-format UZUN
GPG'nin “/home/dave/.gnupg/pubring.kbx” dosyasının içine baktığı söylendi.
Ekranda görünenlerin hiçbiri gerçek gizli anahtarınız değil.
- "sec" (gizli) satırı, şifrelemedeki bit sayısını (bu örnekte 4096), anahtar kimliğini, anahtarın oluşturulduğu tarihi ve "[SC]"yi gösterir. "S", anahtarın dijital imzalar için kullanılabileceği ve "C", sertifika için kullanılabileceği anlamına gelir.
- Bir sonraki satır, anahtar parmak izidir.
- "uid" satırı, anahtarın sahibinin kimliğini tutar.
- "ssb" satırı, oluşturulduğunda gizli alt anahtarı ve "E"yi gösterir. “E” şifreleme için kullanılabileceğini gösterir.
Farklı kimliklerle kullanmak için birden fazla anahtar çifti oluşturduysanız, bunlar da listelenir. Bu kullanıcı için yedeklenecek yalnızca bir anahtar çifti var. Yedek, bu anahtarın sahibinin topladığı ve güvenmeye karar verdiği diğer kişilere ait tüm ortak anahtarları içerecektir.
Yedekleme
gpg
tüm kimlikler için tüm anahtarları yedeklemesini veya tek bir kimlikle ilişkili anahtarları yedeklemesini isteyebiliriz. Özel anahtarı, gizli anahtarı ve güven veritabanı dosyasını yedekleyeceğiz.
Genel anahtarları yedeklemek için --export
seçeneğini kullanın. Ayrıca --export-options backup
seçeneklerini de kullanacağız. Bu, dosyaların başka bir bilgisayarda doğru şekilde içe aktarılmasını sağlamak için tüm GPG'ye özgü meta verilerin dahil edilmesini sağlar.
--output
seçeneği ile bir çıktı dosyası belirleyeceğiz. Bunu yapmasaydık, çıktı terminal penceresine gönderilirdi.
gpg --export --export-options backup --output public.gpg
Anahtarları yalnızca tek bir kimlik için yedeklemek istiyorsanız, anahtarlarla ilişkili e-posta adresini komut satırına ekleyin. Hangi e-posta adresini hatırlamıyorsanız, yukarıda açıklandığı gibi --list-secret-keys
seçeneğini kullanın.
gpg --export --export-options backup --output public.gpg [email protected]
Özel anahtarlarımızı yedeklemek için --export seçeneği yerine --export
--export-secret-keys
seçeneğini kullanmamız gerekiyor. Bunu farklı bir dosyaya kaydettiğinizden emin olun.
gpg --export-secret-keys --export-options backup --output private.gpg
Bu sizin özel anahtarınız olduğundan, devam etmeden önce GPG ile kimlik doğrulamanız gerekir.
Parolanızın sorulmadığını unutmayın . Girmeniz gereken şey, GPG anahtarlarınızı ilk oluşturduğunuzda verdiğiniz paroladır. İyi şifre yöneticileri, bu gibi bilgileri güvenli notlar olarak tutmanıza izin verir. Onları saklamak için iyi bir yer.
Parola kabul edilirse dışa aktarma gerçekleşir.
Güven ilişkilerinizi yedeklemek için, “trustdb.gpg” dosyanızdaki ayarları dışa aktarmamız gerekiyor. Çıktıyı “trust.gpg” adlı bir dosyaya gönderiyoruz. Bu bir metin dosyasıdır. cat
kullanılarak görüntülenebilir.
gpg --export-ownertrust > trust.gpg
kedi güveni.gpg
İşte oluşturduğumuz üç dosya.
ls -hl *.gpg
Bunları başka bir bilgisayara taşıyacağız ve geri yükleyeceğiz. Bu, o makinede kimliğimizi belirleyecek ve mevcut GPG anahtarlarımızı kullanmamıza izin verecek.
Anahtarları başka bir bilgisayara taşımıyorsanız ve güvenli olduklarından iki kat emin olmak için yedekliyorsanız, başka bir ortama kopyalayın ve güvenli bir şekilde saklayın. Yanlış ellere geçseler bile, genel anahtarınız yine de herkese açıktır, bu yüzden orada bir zararı yoktur. Ve parolanız olmadan özel anahtarınız geri yüklenemez. Ancak yine de yedeklerinizi güvende ve gizli tutun.
Dosyaları bir Manjaro 21 bilgisayarına kopyaladık.
ls *.gpg
Varsayılan olarak Manjaro 21, Z kabuğunu kullanır, zsh
, bu yüzden farklı görünür. Ama bu önemli değil, hiçbir şeyi etkilemeyecek. Yaptığımız şey kabuk tarafından değil, gpg
programı tarafından yönetiliyor.
Anahtarlarımızı içe aktarmak için --import
seçeneğini kullanmamız gerekiyor.
gpg --import public.gpg
Anahtarın ayrıntıları içe aktarılırken görüntülenir. “trustdb.gpg” dosyası da bizim için oluşturulmuştur. Özel anahtarı içe aktarmak da aynı derecede kolaydır. --import
seçeneğini tekrar kullanıyoruz.
gpg --import private.gpg
Parolayı girmemiz istenir.
"Parola" alanına yazın, "Sekme" tuşuna basın ve "Enter" tuşuna basın.
İçe aktarılan anahtarların ayrıntıları görüntülenir. Bizim durumumuzda, sadece bir anahtarımız var.
Güven veritabanımızı içe aktarmak için şunu yazın:
gpg --import-ownertrust trust.gpg
--list-secret-keys
seçeneğini bir kez daha kullanarak her şeyin düzgün bir şekilde içe aktarıldığını kontrol edebiliriz.
gpg --list-secret-keys --keyid-format UZUN
Bu bize daha önce Ubuntu bilgisayarımızda gördüğümüz çıktının aynısını verir.
Gizliliğinizi koruyun
Yedekleyerek GPG anahtarlarınızın güvende olduğundan emin olun. Bir bilgisayar felaketiniz varsa veya daha yeni bir modele yükseltme yapıyorsanız, anahtarlarınızı yeni makineye nasıl aktaracağınızı bildiğinizden emin olun.
İLGİLİ: Linux Sisteminizi rsync ile Nasıl Yedeklersiniz?