İçeriğe geçin
buybitcoinsmart

Sözlük / Geliştirici başvuru kaynağı

SSL imzası

SSL imzası nedir?
SSL imzası, bir PaymentRequest mesajını bir web sunucusunun sertifika anahtarıyla imzalayan baytlara BIP70 tarafından verilen addır ve bu ad yazıldığı anda bile yanlış bir adlandırmaydı.

Tanımlandığı belge: BIP-70.

Bir SSL imzasında hiçbir SSL protokolü yer almaz. Baytlar, serileştirilmiş bir mesaj üzerine bir TLS sunucu sertifikasının özel anahtarıyla yapılmış sıradan bir X.509 imzasıdır ve SSL 3.0 protokolü Haziran 2015'te RFC 7568 ile resmen yasaklanmıştır. Eski Bitcoin belgelerini okuyan herkes bu ifadeyi “sertifika imzası” anlamında almalı ve devam etmelidir.

Nasıl çalışır

Durum: SSL imzası, onu tanımlayan protokol olan BIP70 ile birlikte öldü. Bitcoin Core, BIP70 özelliğini Mart 2014'ten 0.20.0 sürümü onu kaldırana kadar taşıdı ve bugün bakımı sürdürülen hiçbir yazılım bu imzalardan birini üretmiyor ya da kontrol etmiyor. İfade, çoğu kişinin karşılaştığı yer olan Bitcoin.org geliştirici referansında varlığını sürdürüyor.

Algoritma, imzanın kendisi tarafından duyurulmak yerine kardeş bir alan tarafından seçiliyordu. Bir ödeme talebi pki_type alanını none, x509+sha256 veya x509+sha1 olarak bildiriyordu. Bu değer sertifika biçimini ve özet fonksiyonunu adlandırırken, imzalama algoritması satıcının sertifikasında hangi anahtar varsa ondan, uygulamada RSA'dan geliyordu. Bir doğrulayıcı, satıcının imzaladığı baytları birebir yeniden oluşturuyor, bunları adlandırılan özet fonksiyonuyla özetliyor ve sonucu ekli zincirin ilk sertifikasındaki genel anahtarla karşılaştırıyordu.

Üç seçenekten ikisi kötü yaşlandı. x509+sha1 ayarı, BIP70 yayımlanmadan önce bile zayıftı, çünkü NIST, 31 Aralık 2013 tarihinden sonra dijital imza üretmek için SHA-1 kullanımına izin vermemişti. Ocak 2020 itibarıyla araştırmacılar, SHA-1 karşısında yaklaşık $45.000 değerinde kiralık GPU süresiyle seçilmiş önek çakışması (chosen-prefix collision) gösterdi; bu da tam olarak imzalı bir belgenin bir başkasıyla değiştirilmesini sağlayan saldırıdır. NIST o zamandan beri 31 Aralık 2030 tarihini SHA-1 uygulamasının onaylı algoritmalarından tamamen çıktığı nokta olarak belirledi.

Daha derin nokta şu: bu imza ile bir Bitcoin imzası farklı sorulara yanıt verir. Bir Bitcoin işleminin içindeki imza, her düğüm tarafından konsensüs kurallarına göre, secp256k1 eğrisi üzerinde, ECDSA ile veya Taproot 14 Kasım 2021 tarihinde 709.632 numaralı blokta etkinleştiğinden beri BIP340 içinde belirtildiği şekliyle Schnorr ile kontrol edilir. Bir SSL imzası ise tek bir cüzdan tarafından, bir satıcının yönettiği bir sertifika deposuna karşı kontrol ediliyordu. Biri paranın hareketine yetki verir ve hiç kimse tarafından geçersiz kılınamaz. Diğeri ise bunu kimin istediğine dair bir iddiaydı.

Nerede karşılaşırsınız

Sertifika imzaları ortadan kalkmadı, yalnızca BIP70 alan adı kalktı. Tarayıcınız, bir TLS el sıkışması sırasında bir sunucunun sertifika anahtarına sahip olduğunu kanıtlamasını hâlâ izler ve BIP70 özelliğinin ödünç almaya çalıştığı şeyin dürüst hali budur.

Bitcoin tuttuğunuzda önemsemeye değer sürüm, kod imzalamadır. Cüzdan yazılımı ve donanım cüzdanı bellenimi, üreticinin kontrol ettiği anahtarlarla imzalanır ve kurulumdan önce bu imzayı kontrol etmek, kurcalanmış bir indirmeyi yakalayan adımdır. Trezor ve Ledger cihazları bellenim imzalarını cihazın kendisinde doğrular ve kimlik doğrulaması yapamadıkları derlemeleri reddeder veya büyük uyarılarla işaretler. Bu, BIP70 alanının aksine gerçek bir iş yapan bir imzadır, çünkü ödeme sayfasında yazan adı değil, bitcoinlerinizi tutan anahtarları korur.

SSL imzası vs dijital imza

Bir SSL imzası blok zincirinde hiçbir şeye yetki vermiyordu. Bir Bitcoin işlemindeki dijital imza belirli bir çıktının kilidini açar ve binlerce düğüm tarafından bağımsız olarak doğrulanır; BIP70 alanı ise sertifika yetkililerinin listesine karşı tek bir istemci yazılımı tarafından doğrulanıyordu. Anahtarı kaybetmenin sonuçları da aynı ölçüde keskin biçimde farklıdır. Ele geçirilen bir sertifika anahtarı iptal edilir ve aynı öğleden sonra yeniden verilir. Ele geçirilen bir Bitcoin anahtarı ise bitcoinlerin çoktan gittiği anlamına gelir.

Karıştırılmaması gerekenler

Sık sorulan sorular

SSL imzası, Bitcoin imzasıyla aynı şey mi?

Hayır. Bir Bitcoin imzası secp256k1 eğrisi üzerinde yapılır ve bitcoinler hareket etmeden önce her düğüm tarafından konsensüs kurallarına göre kontrol edilir. Bir SSL imzası ise bir ödeme mesajı üzerinde X.509 imzasıydı ve tek bir cüzdan tarafından bir sertifika yetkilisi listesine karşı kontrol ediliyordu.

Hâlâ SSL imzalarını doğrulayan bir cüzdan var mı?

Bakımı sürdürülen hiçbiri yok. Bitcoin Core, 0.20.0 sürümünde BIP70 özelliğini kaldırdı ve ekosistemin geri kalanı da onu izledi, dolayısıyla bugün kurduğunuz hiçbir şey bir ödeme talebini ayrıştırmaz ya da üzerindeki imzayı kontrol etmez.

İlgili terimler

Daha fazlası: Geliştirici başvuru kaynağı

Bu sayfayı İngilizce okuyun