Cüzdan indirmesini doğrulamak: sağlama toplamları, imzalar ve yeniden üretilebilir derlemeler

·4 dk okuma·Yazar: SSP Editorial Team
SSP Academy kapağı: cüzdan indirmesini doğrulamak

Cüzdan indirmesini doğrulamak: sağlama toplamları, imzalar ve yeniden üretilebilir derlemeler

Bir cüzdan kurduğunuzda, bilgisayarınızdaki dosyanın geliştiricilerin yayınladığı yazılımın ta kendisi olduğuna güvenirsiniz; ele geçirilmiş bir web sitesinden, sahte bir indirme sayfasından gelen değiştirilmiş bir kopya ya da kurcalanmış bir derleme olmadığına. Çoğu kişi için resmi mağazadan kurmak yeterlidir. Ancak güvenmek yerine kontrol etmek isteyenler için açık kaynaklı cüzdanlar giderek güçlenen üç araç sunabilir: sağlama toplamları, imzalar ve yeniden üretilebilir derlemeler.

Her birinin neyi kanıtladığını ve SSP Wallet ile nasıl kullanılacağını aşağıda bulabilirsiniz.

Sağlama toplamları: bu aynı dosya mı?

Sağlama toplamı, SHA-256 gibi bir hash fonksiyonunun ürettiği, dosyanın parmak izidir. Tek bir baytı değiştirdiğinizde parmak izi tamamen değişir. İndirdiğiniz dosyanın sağlama toplamı geliştiricilerin yayınladığıyla eşleşiyorsa, elinizdeki dosya aynıdır.

macOS veya Linux'ta bunu bir terminalde hesaplayabilirsiniz:

shasum -a 256 ssp-wallet-chrome-v2.1.3.zip

Tek başına bir sağlama toplamının bir zayıflığı vardır: indirme sayfasını bir saldırgan kontrol ediyorsa, hem dosyayı hem de yayınlanan sağlama toplamını değiştirebilir. Bir sonraki adımın önemi de buradan gelir.

İmzalar: bunu geliştiriciler mi yayınladı?

İmza, sağlama toplamlarını kimin yayınladığını kanıtlar. Geliştiriciler sağlama toplamı dosyasını özel bir anahtarla imzalar ve eşleşen açık anahtara sahip herkes bu imzayı doğrulayabilir. Dosyayı ya da sağlama toplamlarını değiştiren bir saldırgan, o özel anahtar olmadan geçerli bir imza üretemez.

Doğru yapmanız gereken tek şey açık anahtarın kendisidir. Onu projenin resmi bir kaynağından edinin, parmak izini birden fazla resmi kanalda karşılaştırın ve o andan itibaren her sürüm için aynı anahtarı kullanın.

Yeniden üretilebilir derlemeler: bu dosya gerçekten yayınlanan koddan mı derlendi?

İmzalar bir dosyayı kimin yayınladığını kanıtlar, içinde ne olduğunu değil. Bir geliştiricinin derleme makinesi ele geçirilmiş olabilir ve iyi niyetle kötü amaçlı bir çıktıyı imzalayabilir.

Yeniden üretilebilir, yani deterministik derlemeler bu açığı kapatır. Derleme süreci, aynı kaynak kodun her makinede her zaman bayt bayt aynı dosyayı üretmesi için sabitlenir. Herkes bir sürümü açık koddan yeniden derleyip sağlama toplamlarını karşılaştırabilir. Eşleşiyorlarsa, yayınlanan dosya tam olarak kaynak kodda yazanı içerir, başka hiçbir şeyi değil. Tedarik zinciri saldırıları ve deterministik derlemeler, bunun cüzdanlar için neden bu kadar önemli olduğunu açıklıyor.

SSP Wallet'ı doğrulamak

GitHub'daki (RunOnFlux/ssp-wallet) SSP Wallet sürümleri Chrome ve Firefox için deterministik olarak derlenir ve iki ek dosya içerir: her paketin sağlama toplamını listeleyen SHA256SUMS ve bu listenin GPG imzası olan SHA256SUMS.asc.

1. Sürüm dosyalarını indirin. Sürüm sayfasından tarayıcınıza uygun paketi, yani ssp-wallet-chrome-v2.1.3.zip veya ssp-wallet-firefox-v2.1.3.zip gibi adlandırılmış dosyayı, SHA256SUMS ve SHA256SUMS.asc ile birlikte aynı klasöre indirin.

2. İmzayı kontrol edin. SSP'nin sürüm imzalama açık anahtarı GPG'ye aktarılmış durumdayken:

gpg --verify SHA256SUMS.asc SHA256SUMS

GPG, beklenen anahtardan geçerli bir imza bildirmelidir. Geçersiz bir imza ya da bilinmeyen bir anahtar bildirirse durun.

3. Dosyaları listeyle karşılaştırın.

sha256sum -c SHA256SUMS

macOS'ta shasum -a 256 -c SHA256SUMS aynı işi yapar. İndirdiğiniz her dosya OK sonucunu vermelidir. Liste hem Chrome hem de Firefox paketlerini kapsar; yalnızca birini indirdiyseniz, diğerinin eksik olarak bildirilmemesi için --ignore-missing ekleyin.

4. İsterseniz kendiniz derleyin. Depoyu sürüm etiketinde klonlayın ve deterministik derlemeyi çalıştırın:

git clone https://github.com/RunOnFlux/ssp-wallet.git
cd ssp-wallet
git checkout <release-tag>
yarn build:deterministic

Derleme, sabitlenmiş bir Docker ortamında çalışır ve kendi SHA256SUMS dosyasını yazar. Sağlama toplamlarınız yayınlananlarla eşleşiyorsa, sürümün o kaynak koddan derlendiğini bağımsız olarak doğrulamış olursunuz.

Peki ya tarayıcı mağazaları?

Çoğu kişi SSP Wallet'ı Chrome Web Store veya Firefox Add-ons üzerinden kurar ve bu makul bir seçimdir: mağazadan yapılan kurulumlar otomatik olarak güncellenir ve mağazaların kendi inceleme süreçleri vardır. Yukarıdaki sağlama toplamları GitHub'daki sürüm paketlerini kapsar. Bir mağazadan kuruyorsanız en önemli kontroller daha basittir: mağaza sayfasına resmi web sitesinden ulaşmış olmanız ve yayıncının doğru olması. Sahte cüzdan uygulamalarını tanımak bu adımları anlatıyor, tarayıcı eklentisi hijyeni ise sonrasında tarayıcınızı nasıl güvende tutacağınızı açıklıyor.

Dürüst özet

Sağlama toplamı aynı dosyaya sahip olduğunuzu kanıtlar; imza onu kimin yayınladığını kanıtlar; yeniden üretilebilir derleme ise dosyanın yayınlanan koddan geldiğini kanıtlar. Her adım farklı türde bir güven ihtiyacını ortadan kaldırır.

Çoğu kişi resmi mağazadan kuracaktır ve bu gayet iyidir. Kendiniz doğrulamak isterseniz, SSP Wallet sürümleri size üç aracın hepsini sunar: imzalı bir sağlama toplamı listesi, tek satırlık bir kontrol ve bayt bayt yeniden üretebileceğiniz bir derleme.

Bu makaleyi paylaş

İlgili makaleler