Bir sayısal imza, bir paketin gerçekten özgün geliştiricileri tarafından üretildiğini ve üzerinde sonradan bir değişiklik yapılmadığını anlamak için kullanılır.
Aşağıda bunun neden önemli olduğunu ve indirdiğiniz bir Tor Browser kopyasının bizim tarafımızdan oluşturulmuş ve bazı saldırganlar tarafından değiştirilmemiş olduğundan nasıl emin olacağınızı anlatacağız.
İndirme sayfasındaki tüm dosyalar için paket ile aynı adı taşıyan ".asc" uzantılı bir "imza" dosyası bulunur. These .asc files are OpenPGP signatures. Bu .asc dosyaları OpenPGP imzalarıdır.
Bu imzalar, indirdiğiniz dosyanın tam olarak almanızı istediğimiz dosya olduğunu doğrulamanızı sağlar.
Bu işlem tarayıcınıza göre değişebilir. Ancak genellikle bu dosyayı "imza" bağlantısı üzerine sağ tıklayıp "farklı kaydet" üzerine tıklayarak indirebilirsiniz.
Örneğin,tor-browser-windows-x86_64-portable-13.0.1.exe
dosyası için tor-browser-windows-x86_64-portable-13.0.1.exe.asc
dosyası vardır.
Bunlar örnek dosya adlarıdır ve indirdiğiniz dosya adlarıyla birebir aynı olmaz.
Şimdi size, indirdiğiniz bir dosyanın sayısal imzasını farklı işletim sistemleri üzerinde nasıl doğrulayabileceğinizi anlatacağız.
İmza dosyası tarihinin, paketin imzalandığı tarih ile aynı olduğunu görebilirsiniz.
Yani her yeni paket dosyası yüklendiğinde, farklı bir tarihi olan yeni bir imza oluşturulur.
İmzayı doğruladığınız sürece, belirtilen tarihin değişmesi önemli değildir.
GnuPG kurmak
İmzaları doğrulayabilmeniz için öncelikle GnuPG uygulaması kurulmuş olmalıdır.
Windows kullanıcıları için:
Windows kullanıyorsanız, Gpg4win uygulamasını indirip kurucuyu çalıştırın.
İmzayı doğrulamak için cmd.exe
windows komut satırında bir kaç komut yazmanız gerekir.
macOS kullanıcıları için:
macOS kullanıyorsanız GPGTools uygulamasını kurabilirsiniz.
İmzayı doğrulamak için Terminal ("Uygulamalar altında") üzerinden bir kaç komut yazmanız gerekir.
GNU/Linux kullanıcıları için:
GNU/Linux kullanıyorsanız, çoğu GNU/Linux dağıtımında önceden kurulmuş olduğundan büyük olasılıkla sisteminizde GnuPG vardır.
İmzayı doğrulamak için uçbirim üzerinden bir kaç komut yazmanız gerekir. Bunu nasıl yapacağınız dağıtımınızın özelliklerine bağlıdır.
Tor geliştiricilerinin anahtarlarını almak
Tor Browser sürümlerini Tor Browser Ekibi imzalar.
Tor Browser Geliştiricilerinin imzalama anahtarını içe aktarın (0xEF6E286DDA85EA2A4BA7DE684E2C6E8793298290):
gpg --auto-key-locate nodefault,wkd --locate-keys torbrowser@torproject.org
Bunun sonucunda şöyle bir şey görmelisiniz:
gpg: key 4E2C6E8793298290: public key "Tor Browser Developers (signing key) <torbrowser@torproject.org>" imported
gpg: Total number processed: 1
gpg: imported: 1
EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
uid [ unknown] Tor Browser Developers (signing key) <torbrowser@torproject.org>
NOTE: Your output may deviate somewhat from the above (eg. expiration dates), however you should see the key correctly imported.
Bir hata iletisi görürseniz bir şeyler ters gitmiş demektir ve sorunun ne olduğunu anlayana kadar ilerleyemezsiniz. Bunun yerine Çözüm (bir genel anahtar kullanmak) bölümünü kullanarak anahtarı içe aktarabilirsiniz.
Anahtarı içe aktardıktan sonra bir dosyaya kaydedebilirsiniz (buradaki parmak izi ile tanımlayarak):
gpg --output ./tor.keyring --export 0xEF6E286DDA85EA2A4BA7DE684E2C6E8793298290
Bu komut sonucunda anahtar, örneğin geçerli klasör içinde ./tor.keyring
yolunda bulunan bir dosyaya kaydedilir.
Bu komutu yürüttükten sonra ./tor.keyring
klasörü yoksa, bir şeyler ters gitmiş demektir ve sorunu anlayana kadar ilerleyemezsiniz.
İmzayı doğrulamak
İndirdiğiniz paketin imzasını doğrulamak için kurucu dosyasının yanında ilgili ".asc" imza dosyasını da indirmeniz gerekir. Ardından bir GnuPG komutu yazarak indirdiğiniz dosyanın imzasını doğrulayabilirsiniz.
Aşağıdaki örnek komutlar bu iki dosyayı Downloads klasörüne indirdiğinizi varsayarak yazılmıştır.
Bu komutların örnek dosya adları kullandığını ve sizin dosyanızın farklı olabileceğini unutmayın: Örnek dosya adlarını, indirdiğiniz dosyaların tam adlarıyla değiştirmeniz gerekir.
Windows kullanıcıları için (32 bit paketi kullanıyorsanız x86_64 yerine i686 yazın):
gpgv --keyring .\tor.keyring Downloads\tor-browser-windows-x86_64-portable-13.0.1.exe.asc Downloads\tor-browser-windows-x86_64-portable-13.0.1.exe
macOS kullanıcıları için:
gpgv --keyring ./tor.keyring ~/Downloads/tor-browser-macos-13.0.1.dmg.asc ~/Downloads/tor-browser-macos-13.0.1.dmg
GNU/Linux kullanıcıları için (32 bit paketi kullanıyorsanız x86_64 yerine i686 yazın):
gpgv --keyring ./tor.keyring ~/Downloads/tor-browser-linux-x86_64-13.0.1.tar.xz.asc ~/Downloads/tor-browser-linux-x86_64-13.0.1.tar.xz
Komutun sonucunda şunlar bulunmalıdır:
gpgv: Good signature from "Tor Browser Developers (signing key) <torbrowser@torproject.org>"
'Dosya ya da klasör bulunamadı' şeklinde hata iletileri alırsanız ya önceki adımlarda bir şeyler yanlıştır ya da örnek dosya adlarını sizin durumunuza uyan dosya adları ile değiştirmemişsinizdir.
PGP anahtarını yenilemek
Anahtar sunucusundan yerel anahtarlığınızdaki Tor Browser Geliştiricileri imzalama anahtarını yenilemek için şu komutu çalıştırın. Bu aynı zamanda yeni alt anahtarları da getirir.
gpg --refresh-keys EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
Çözüm (herkese açık bir anahtar kullanarak)
Çözemediğiniz sorunlar ile karşılaşıyorsanız bunun yerine herkese açık anahtarı indirip kullanmaktan çekinmeyin. Alternatif olarak şu komutu kullanabilirsiniz:
curl -s https://openpgpkey.torproject.org/.well-known/openpgpkey/torproject.org/hu/kounek7zrdx745qydx6p59t9mqjpuhdf |gpg --import -
Tor Browser geliştiricilerinin anahtarı keys.openpgp.org üzerinde de bulunabilir ve https://keys.openpgp.org/vks/v1/by-fingerprint/EF6E286DDA85EA2A4BA7DE684E2C6E8793298290 adresinden indirilebilir.
MacOS veya GNU/Linux kullanıyorsanız, anahtarı aşağıdaki komutu yürüterek de alabilirsiniz:
gpg --keyserver keys.openpgp.org --search-keys EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
GnuPG hakkında ayrıntılı bilgi almak için buraya tıklayabilirsiniz.