Herkes için GPG ile veri şifreleme

İnternette siber saldırganların cirit attığı bir dönemdeyiz. Siber hırsızlarının meraklı gözleri kişisel verilerimize dikilmiş durumda. İster öğrenci olsun, ister avukat, ister gazeteci herkezin kişisel verilerini korumaya hakkı var. Bu sebeble,

Kişisel güvenliğimiz için olmazsa olmaz şifreleme konusunu bu yazıda masaya yatırıyoruz.

Okuyucularımdan gelen uyarıları da dikkate alarak,  Herkes için GPG ile veri şifreleme başlıklı  yazımızı, konuya çok hakim olmayanların bile anlayabilecekleri şekilde görsellerle  zenginleştiriyorum.

Şifreleme için endüstri standardı belirli araçlar var. Bizim kullanacağımız araç GnuPG. 

GnuPG paketinin içinden gelen uygulamalar alttakiler;

  • Kleopatra: Sertifika yönetimi ve diğer şifreleme işlemleri  için kullanılan arayüz.
  • GPA: Alternatif sertifika yönetim arayüzü
  • GpgOL: Microsoft Outlook 2003/2007/2010/2013  email şifreleme için eklenti
  • GpgEx: Micrososft Explorer için dosya şifreleme eklentisi
  • Claws Mail: Şifreleme desteği olan tam bir  Eposta uygulaması
  • Gpg4win Compendium: Dökümantasyon. (Sadece İngilizce ve Almanca)

GnuPG windows versiyonu olan Gpg4win  Kurulumu

GnuPG  websitesinden Binary kurulum dosyasını indiriyoruz. Ben örneklerimde Windows ile anlatacağım. Arayüzleri aynı. Siz Mac kullanıyorsanız Mac versiyonunu seçmelisiniz.

 

GnuPG programı yükle

 

 

Örneğimizde Windows seçtiğimiz için karşımıza gelen sayfada Gpg4Win  dosyasını indiriyoruz.

GnuPG Windows versiyonun download ediyoruz.

 

Bilgisayarımıza indirdiğimiz programı yüklüyoruz.

 

GnuPG4win bilgisayara yüklenmesi

Yeni sertifika yaratmak (public key & private key)

Next, Next, Next deyip hızlıca kurulumu yaptıktan sonra, Başlat menüsünde Kleopatra ikonu göreceksiniz. Sertifika ve anahtarlar GnuPG programında Kleopatra arayüzünden yönetilmekte.

GnuPG Kleopatra

File sekmesinden New Certificate diyerek  kendimize yeni bir sertifika üretelim. Çıkan ekranda ilk seçeneğe tıklıyoruz.  OpenPGP formatında kişisel anahtarlarımızı yaratacağız.

 

GnuPGP, gpg sertifika yaratma ara yüzü

 

Gelen ekranda  isim bilgilerini ve epostamızı giriyoruz.

 

GnuPGP Kişisel bilgilerinizi girin

 

 

Bilgileri girmemizin ardından ‘Show all details‘  isaretleyerek detaylarıyla sertifika bilgilerini gösteriyor. Son adım olarak  “Create Key” butonuna basarak anahtarları yaratmasını söyleyeceğiz.

GnuPg programı OpenPGP anahtarlarını ayarat

 

Bize iki kere anahtar parolası girmemizi söyleyecek. Bu şifreyi kesinlikle kaybetmemeniz gerekir. Güvenliğiniz için aynı zamanda güçlü bir şifre seçin, şifrenizi girerken kalite ‘nin yeşil olmasına dikkat edin.
GnuPG anahtar şifresi giriş arayüzü

 

 

Private ve Public anahtarlarımız yaratıldı. Anahtarlarınızın yedeğini almak isterseniz ki şiddetle öneririm, “Make a Backup of your KeyPair…” butonuna basmanız yeterli. Bu anahtarlarınızı gizli bir alanda saklayın.

 

GnuPGP gpg anahtarları yaratıldı.

 

Verilerinizi artık imzalayabilir, şifreleyebilir ya da hem imzalayıp hem şifreleyebilirsiniz.  Sertifikanız Kleopatra arayüzüne de düştü.

 

GnuPG sertifikaları listeleme arayüzü

 

Kişisel dosyaları kendi anahtarlarınızla şifrelemek

Üstteki adımlardan sonra kendinize ait kişisel dosyaları rahatlıkla şifreleyebilirsiniz.   Kendime ait dosyayı kendime ait anahtar ile şifreleyeceğim.

Masaüstümüzde veriler.txt isimli dosyamız olsun. Bunu şifrelemek için dosyaya sağ tıklıyoruz

gpg ile veri şifreleme

 

Gelen ekranda Encrypt seçiyoruz.  Kişisel kullanım  için şifrelediğimizden imzalamıyorum sadece şifreliyorum.  Orjinal dosyayı şifreleme işleminden sonra silmek isterseniz en alttaki  Remove unencrypted original file when done’  seçeneğini işaretleyebilirsiniz.

Veri şifreleme

 

Sonraki adımda kendi anahtrarımızı seçip ‘Add‘ butonuna tıklıyoruz ve ‘encrypt’ diyoruz.

gpg ile Veri şifreleme

 

Bu işlem sonrasına  dosya_ismimiz.gpg  adında şifreli yeni bir dosyamız oluşuyor.

Şifrelediğimiz kişisel verilerimizi kendi anahtarlarımızla açmak

Üstte anlatıldığı gibi şifrelediğimiz dosyaları açmak için,  .gpg uzantılı şifreli dosyamıza sağ tıklıyoruz Decrypt & Verify seçeneğine tıklıyoruz.  Gelen ekranda tekrar Decrypt & Verify tıklayadığımızda;

Bize anahtar şifremizi soruyor. Anahtarımızı oluştururken verdğimiz şifremizi giriyoruz.  Dosyamız kendi uzantısıyla açılmış oluyor.

 

Şifreli mesaj almak ve göndermek için; 

Öncelikle, basitçe iki kişinin birbirne şifreli mesaj gönderimi nasıl gerçekleşiyor bundan bahsedelim:

  • A kişisi ile  B kişisi birbirlerine şifreli dosya göndermek istesin;
  • A ve B kişisinin her ikisinde,  private key (gizli  anahtar )  ve  public key (açık anahtar) olmalı.  Bu anahtarlar Gpg4Win ile yarattık.
  • A, B’ye şifreli dosya göndermek isterse, B ‘nin public key ‘i ile dosyayı şifreleyip B ‘ye göndermeli.
  • B kendisine gelen şifreli dosyayı private key’ine ait şifreyi kullanarak açabilir. Bu dosya sadece B’nin private key’i ile açılabilmektedir.

Sonuç olarak insanlardan şifreli veriler almak için onlara PUBLIC KEY ‘inizi göndermelisiniz.  Onlar da sizin public key ‘iniz ile dosyayı şifreleyip size şifreli dosyayı gönderebilirler. Size ait public key ile şifrelenmiş dosya sadece sizin private key’iniz ile açılabildiği için dosyanın şifresini yanlızca siz kaldırabilirsiniz.

Public Key ‘inizi alttaki gibi ASC uzantılı dosya olarak kaydedebilirsiniz. Kleopatra arayüzünde görünen sertifikanız private key ve public key’den oluşan bir sertifikadır.  Sertifikanıza sağ tıklayıp Export Certificate derseniz size sadece public key’inizi verir.

Size şifreli mesaj göndermesini istediğiniz herkese bu anahtarı verebilirsiniz.  Bu dosyanın .asc uzantılı olmasına dikkat edin, ismini istediginizi verebilirsiniz.

Public key export etmek

asc uzantılı dosyanızı karşı tarafa gönderdiniz ve bu anahtar ile bir dosyayı şifreleip size geri gönderdi. Tek yapmanız gereken, üstte kişisel verilerinizi şifresini açmak için yaptığınız adımları gerçekleştirmek. GPG uzantılı şifreli dosyaya sağ tıklayı Decrypt demek.

Gelen ekranda size ait adınızın görndüğü sertifikayı seçerek şifreyi açabilirsiniz.

Siz şifreli mesajı karşı tarafa göndermek istediğinizde;

Şifreli mesaj göndermek istediğiniz  kişinin public key’ini kendisinden istemelisiniz. Ve göndereceiniz kişinin public key’i ile dosyayı şifrelemesiniz.

Size gelen ASC uzantılı public key dosyasını öncelikle import etmelisiniz;  Bunun için asc uzantılı dosyaya sağ tıklayın

More GpgEX options —> Import Keys   tıklayın. Alttaki gibi Public Key’in import edildiğine dair mesaj çıkacak;

 

 

gpg import keys arayüzü

 

Örneğin Oguz Atay isimli kişiye şifreli dosya göndereceğiz.  Public Key’ini bize email ile gönderdi. Public Key’ini yukarıdaki gibi import ettik.  Kleopatra arayüzünde artık ona ait sertifikayı Imported Certificates sekmesinde görebiliriz.

Şifreleyeceğimiz dosyaya sağ tıklıyoruz ve Sign & Encrypt tıklıyoruz.  Gelen ekranda Encrypt seçiyoruz.
Ardından şifreli dosyayı kimin public key’i ile şifreleyeceğimizi seçiyoruz, örneğimizde Oguz Atay;
&nbsp
Key ‘i add deyip Encrypt butonuna tıklıyoruz.  Uyarı verirse continue deyip geçebilirsiniz. Bunu başkasının public key’i ile şifrelediginizi ve o kişiden başka kimsenin sizin dahi açamayacağınızı belirten bir uyarı.

 

Şifreli dosya nasıl gönderilir

 

Hepsi bu kadar.

 

Üstte anlatılanları komut satırından yapmak için

Ekran görüntüleri ile anlatılan her şey komut satırından saniyeler içinde yapılabilir;

Yeni sertifika Yaratma:

C:\Users\fobix>gpg –gen-key

Sertifikaları id’leirile listeleme:
C:\Users\jazzy>gpg –list-keys

————————————————

pub 2048R/87B4B81B 2014-11-04

uid[ son derece ] Fobix Conchis <fobix@tutanota.de>

pub 2048R/3B5BD73E 2014-11-04

uid[ bilinmeyen ] Oguz Atay <oguzatay999@hotmail.com>

 

Public Key Export etme:
C:\Users\fobix>gpg –export -o Fobix_Conchis.asc  87B4B81B

Üstteki export işleminde  -o ile istediğimiz dosya adını veriyoruz 87B4B81B ise public key id ‘miz.
Diğer bazı  komutları  gpg  –help  ile listeleyebilirsiniz.

  • Kamil

    Selam, pc formatlandığında aynı sertifikayı nasıl üretebilirim. Yada başka bir pc daha var mesela, biri evde biri işte, bu ikisinde de aynı sertifikayı nasıl kullanırım.

    • fobix

      Kleopatra’yı açın. Key’inizin üstüne sağ tıklayıp export secret key deyin. gpg uzantisiyla kaydedin ve güvenli bir yerde saklayın örneğin flash diskinizde. Bunu diskinizden silin çöp kutusundan da yok edin. Hatta güvenli silen uygulamalar var onlarla yok edebilirsiniz.

      Bu key’i işyerindeki makinaya goturun. Kleopatrayı açın File – Import Certificates tıklayın.
      flash diskteki dosyayı seçin, size passphrase soracak, private key şifrenizi girin. bu kadar

      Flash diskten key’inizi silin.

      • Kamil

        Ama yine de flash belleğin kaybolması yada başka birinin eline geçmesi durumu risk teşkil ediyor anladığım kadarı ile.
        Key sertifikasının güvenliği yine bize bağımlı…

  • User

    Harika bir sistem bunu sevdim. Bir sorum olacak. Ben sertifikaya mail adresimi girdim ama onun dışında farklı farklı isimler ve mail adresleri de girebiliyorum, başka birisi adına bir sertifika oluşturup kötü amaçlar için kullanabilirim, yada kötü amaçlı birileri araya girerek ulaşmak istediğim kişinin public key i yerine bu fake sertifikanın key ini bana vererek beni avlayabilir gibi duruyor, bu durumun önüne geçmek mümkün mü? Teşekkürler.

    • Fobix

      Güvenli yoldan public key paylasılması için, (ornegin Ali’ye sifreli mesaj gondermek istiyorum) alttaki metodlari kullanmaliyim;

      Ali’den public key’ini fiziksel olarak alabilirim. USB disk, cd, kartvizit gibi..
      Telefon ile okumasını isteyebilirim.
      Verisign gibi bir otoriteden para ile satın alınmış bir sertifika ise zaten güvenilirdir herhangi bir islem gerekmez.

      Guvensiz metodlarla alırsam örnegin;
      Ali’nin web sitesinden indirme durumum
      Eposta olarak bana public key’ini atması durumunda
      Güvenilir olmayan bir PGP key sunucusundan alma durumunda

      Kesin elimdekinin Ali’nin public key’i oldugunu anlamak icin;
      Telefonda key’in hash’ini okuyarak,
      Güvenli bir yoldan edindiğim hash’i check ederek.

      Ornegin benim imzamın altında public key’im ve key’in hash’i bulunur

      http://blog.saklansana.com/fobix.asc

      Bunu download ettikten sonra Kleopatra’dan infosuna bakarsanız show info’da key kısmında

      Key ID olarak ;

      0x685D5F4FCFABF2CE
      ve
      Fingerprint olarak alttakini gorursunuz;

      FB7D 84A B BF 0D 1 118 AAD4 23A 6 68 5D 5 F4F CFAB F2C E

      Bu iki deger bu key’in kesinlikle bana ait oldugunu gosterir ve bunu telefondan da dogrulayabiliriz.

      Yukarda anlattıklarım Ali’den sifreli mesaj almak icinde gecerli. Public key’imi ona fiziksel yollarla gonderip, ya da email ya da websitemden gonderip telefon ya da guvenli bir metodla fingerprint’imi dogrulatarak benim dogru kisi oldugumu garanti edebilirim.

      • User

        Peki bir soru daha; kartvizit ile verebilmek için yada duyacağı şekilde okumak için public key e nasıl erişebilirim, çünkü export ettiğimde bir dosya veriyor bana.

        • Fobix

          Public key’ini vermek icin yada baskasinin public key’ini almak icin karekod kullanılaiblir. Karekod ureten uygulamalar var. Tum public key’i karekod yapmak yerine (cunku 2048 ve ustu bit anahtarlar karekoda sigar mi bilemiyorum) key ‘in hash’i ve key id’si koyulabilir, hatta public key’in indirebilecegi url de koyulabilir..
          https ‘li size ait olan sayfadan public key’inizi indirdikten sonra kisi bu key e ait hashi kartvizitin arkasinda karekode’ta saklanan hash degeriyle dogrular.

      • User

        Sayfamda VeriSign yada farklı bir SSL hizmeti kullanmış olsam, araya girmeyi kesinlikle önlemiş olur muyum? O zaman doğrudan https://…. ile başlayan key adresimi korkmadan paylaşabilir miyim?