Belgelerin Şifrelenmesi ve Şifresinin Çözülmesi
Önceki Linux'ta GPG Kullanımı Sonraki
Belgelerin Şifrelenmesi ve Şifresinin Çözülmesi
Genel ve gizli anahtarların her biri belgelerin şifrelenmesi ve şifrelerinin çözülmesinde kendilerine özel rollere sahiptir. Bir genel anahtar açık güvence olmak niyetinde olabilir. İlgili kişi bir belgeyi bir genel anahtar kullanarak şifrelediğinde belge kasaya konmuş, kasa kapatılmış ve anahtar defalarca döndürülerek kilitlenmiştir. Karşılığı olan gizli anahtarın rolü ise kasayı yeniden açmak ve belgeyi almaktır. Başka bir deyişle, bir genel anahtarla şifrelenmiş bir belge, sadece bu genel anahtarın karşılığı olan gizli anahtarı bulunduran kişi tarafından okunabilir.
Belgelerin şifrelenmesi ve şifrelerinin çözülmesi süreci bu düşünce modeli ile basitleşmiştir. Murat'a göndereceğiniz bir mesajı şifrelemek isterseniz, onu Murat'ın genel anahtarını kullanarak şifrelersiniz ve Murat'da onu kendi özel anahtarını kullanarak çözüp okur. Eğer, Murat size bir şifreli mesaj göndermek isterse, mesajı sizin genel anahtarınızı kullanarak şifreler ve siz bu mesajı kendi özel anahtarınızla çözüp okursunuz.
Bu iki işlem için önemli bir ortak nokta vardır. Eğer sistemde birden fazla özel anahtar yüklüyse işlemin hangi kullanıcı olarak yapıldığını belirtmek gerekir. Belirtilmezse, işlemi yapan kullanıcı öntanımlı kullanıcıdır. Belirtme işlemi bir seçenektir -u kullanici_adi şeklinde yapılır.
Şifreleme
Bir belgeyi şifrelemek için --encrypt komut satırı seçeneği kullanılır. Elinizde şifreli belge göndermek istediğiniz alıcıların genel anahtarları olmalıdır. Yazılım, şifrelenecek belgenin girdi olarak verilmesini bekler; eğer verilmezse standart girdiyi okur. Şifrelenmiş belge ya standart çıktıya konur ya da --output seçeneği verilmişse onun argümanı olarak belirtilen dosyaya konur. Belge şifrelemeye ek olarak güvenliği arttırmak için sıkıştırılır.
$ gpg --output belge.gpg --encrypt --recipient anh-kiml belge
--recipient komut satırı seçeneği her alıcı için bir kere kullanılır ve argüman olarak belgeyi şifrelemekte kullanılacak genel anahtarı alır. Şifreli belge sadece alıcıların genel anahtarlarının karşılığı olan özel anahtarlarla çözülebilir. Özellikle, kendiniz şifrelediğiniz bir belgenin şifresini çözebilmeyi istiyorsanız, kendi genel anahtarınızı da alıcılar listesine eklemelisiniz (ya da belgeyi imzalamalısınız, imzalama genel anahtarınızı devreye sokar).
Bu komut ile anh-kiml anahtar kimlikli alıcının genel anahtarı bu komutun girildiği sistemde mevcutken, anh-kiml anahtar kimlikli alıcının özel anahtarını kullanarak açabileceği şifrelenmiş ve sıkıştırılmış veriyi gpg uzantılı bir dosyaya yazar. Ayrıca, herhangi birisinin şifrelediğiniz bu verinin kendisi tarafından gönderildiğini iddia etme riskini ortadan kaldırmak için bu veriyi kendi özel anahtarınızla imzalamalısınız. Bu işin tamamını aşağıdaki komut ile yapabilirsiniz, bu komut çıktısını asc uzantılı bir dosyaya yazar:
$ gpg -u gönderen -r alıcı --armor --sign --encrypt belge
Not
-u seçeneğini kullanmazsanız, veri sistemdeki öntanımlı özel anahtar ile imzalanır. Eğer sistemde birden fazla özel anahtar varsa, gönderen yerine bu anahtarlardan kullanmak istediğinizin anahtar kimliğini yazarak, imzalama işlemini gerçekleştirebilirsiniz. Hatırlayacağınız gibi, anahtar kimliklerini görmek için gpg --list-keys çıktısından faydalanabilirsiniz.
Örnek 7.1.
$ gpg --output cikti_dosyasi --export farukesk
Bu komut farukesk isimli kullanıcının ortak anahtarını ikili biçimde cikti_dosyasi isimli dosyaya yazar.
Örnek 7.2.
$ echo "Merhaba, bu mesajı zyariz gonderdi :)" | gpg -u farukesk -r meren -ea | ¬
mail [email protected]
Bu komut "Merhaba, bu mesajı zyariz gonderdi:)" mesajını farukesk kullanıcısı olarak ascii kipte meren kullanıcısı için şifreler, çıktısını da adresine postalar.
Şifre Çözme
Bir mesajın şifresini çözmek için --decrypt komut satırı seçeneği kullanılır. Bunun için mesajın şifrelendiği genel anahtarın karşılığı olan gizli anahtara ihtiyacınız vardır. Şifreleme işlemine benzer olarak şifresi çözülecek belge girdi olarak alınır ve çözülmüş belge çıktılanır.
$ gpg --output belge --decrypt belge.gpg
Genel anahtarınıza sahip birisinin, onu kullanarak yalnızca sizin açmanız için şifrelediği veriyi deşifre etmenizi sağlar. Seçeneksiz kullanımda çıktısını standart çıktıya yazar. --output belge seçeneği eklenirse çıktı belge dosyasına yazılır. Bu komut belge.gpg isimli dosya içerisindeki şifreli veriyi özel anahtarınızın parolasını istedikten sonra deşifreler ve çıktıyı belge dosyasına yazar.
Simetrik Şifre ile Şifreleme
Belgeler genel anahtar kriptografisi kullanılmadan da şifrelenebilir. Bunun yerine belgeyi şifrelemekte simetrik şifre de kullanabilirsiniz. Simetrik şifreyi sürmede kullanılan anahtar, belge şifrelenirken belirtilen paroladan üretilir ve iyi bir güvenlik için bu parola gizli anahtarınızı korumakta kullandığınız anahtar parolası olmamalıdır. Simetrik şifreleme başkaları ile haberleşirken parolaya ihtiyaç duyulmadığında belge güvenliğini sağlamak için elverişlidir. Bir belgeyi simetrik şifre ile şifrelemek için --symmetric komut satırı seçeneği kullanılır.
$ gpg --output belge.gpg --symmetric belge
Anahtar parolasını girin:
Önceki Üst Ana Başlık Sonraki
Anahtar Kullanımı Başlangıç İmzalama ve Doğrulama
Bir Linux Kitaplığı Sayfası