Paylaşılan imza şeması (TSS), anahtar üretimi ve dağıtılmış imzalar için bir kriptografik şemadır. TSS’nin blockchain istemcilerinde kullanılması, özellikle güvenlik açısından birçok fayda sağlayabilecek yeni bir örnektir. Daha geniş anlamda, TSS, anahtar yönetim sistemlerinin (kripto cüzdanları gibi) tasarımını etkileyebilir ve DeFi kullanım senaryoları için platform tabanlı desteğin önünü açabilir.
Bununla birlikte, TSS hala yeni bir teknolojidir, bu nedenle riskler eninde sonunda dikkate alınmalıdır. Bu makale, TSS’nin ne olduğunu, blockchain dünyasına getirilebilecek faydaları, blockchain pazarında nasıl yapılacağını, Shamir paylaşılan sırrından ve Multisig’den nasıl farklı olduğunu, paylaşmak için TSS kullanmanın avantajlarının neler olduğunu açıklıyor. kontrol ve son olarak, dikkate almamız gereken riskler ve sınırlamalar.
Kriptografinin Gücü
TSS’yi anlamak için önce bazı temel şifreleme bilgilerini edinmeliyiz. 1970’lerden bu yana, giderek daha fazla sayıda İnternet sistemi (TLS ve PGP gibi), genel anahtar şifrelemesi (PKC) olarak da bilinen asimetrik kriptografiyi kullandı. PKC iki anahtar kullanır: bir genel anahtar ve bir özel anahtar. Genel anahtar özel değildir ve herkes tarafından yayınlanabilir veya kullanılabilir. Gizli anahtar, sistemin güvenliğini temsil eden gizli bir bilgidir. Şifreleme ve dijital imzalar, PKC’nin en yaygın kullanımlarıdır.
Hem şifreleme şemaları hem de dijital imzalar, üç algoritma kümesine dayanır. Birincisi özel ve genel anahtarların üretilmesi, ikincisi şifreli metin/imzanın oluşturulması ve üçüncüsü deşifreleme/kimlik doğrulamadır. Dijital imzalar söz konusu olduğunda, imza algoritmaları, benzersiz bir imza oluşturmak için yalnızca sahibi tarafından bilinen özel bir anahtar gerektirir. Bir mesaja, ortak anahtara sahip herkesin mesajın gerçekliğini doğrulayabilmesi için bir imza eklenir.
Blockchain
Blockchain şüphesiz çok güçlü bir teknolojidir. Blockchain, işlemleri kaydeden ve koordine eden bir sözleşme katmanına sahiptir. Bu tür kaynaklar bize hükümet olmadan bile ekonomiyi kurabilecek gücü veriyor. Şaşırtıcı bir şekilde, blok zinciri blok zincirleri oluşturmak için gereken kriptografi yalnızca dijital imzalara dayanabilir. Blockchain söz konusu olduğunda, özel anahtarlar bireyleri temsil ederken, imzalar bir kişi tarafından yapılan genel beyanlar veya beyanlardır.
Blockchain bu ifadeleri ister ve belirli kurallara göre doğrular. Bu, diğer şeylerin yanı sıra imzanın kopyalanamamasını sağlar ve aynı zamanda iyidir.
Modern kriptografi, blok zincirinde yaygın olarak kullanılan kriptografi türlerine kıyasla sihir numarasına benzeyen bazı özelliklere sahiptir: sıfır kanıt, homomorfik şifreleme ve çok taraflı bilgi işlem, bunlardan birkaçıdır. Son on yılda gördüğümüz gibi, blockchain, kriptografide önemli bir şekilde kullanılmış ve yukarıdaki ve diğer birçok alanda önemli ilerlemelere yol açmıştır.
Bu yazıda böyle bir gelişmeye odaklanacağız: Aktif Eşik Güvenlik İmzaları (TSS).
MPC ve Eşik Değerli İmzalar Düzeni (TSS)
Çok partili bilgi işlem (MPC), yaklaşık 40 yıl önce Andrew C. Yao’nun harika çalışmasıyla başlayan bir kriptografi dalıdır. MPC’de, birbirine güvenmeyen taraflar girdiye dayalı görevleri hesaplamak ve girdiyi gizli tutmak için birlikte çalışır.
Örneğin bir şirkette çalışanlar kendi maaşlarını açıklamadan en yüksek maaşı veren kişiyi bulmaya çalışıyor diyelim. Burada gizli girdi maaş, çıktı ise en yüksek ücretli çalışanın adıdır. MPC ile bu hesaplama yapıldığında hesaplama sırasında tek bir maaş bile gösterilmeden bu isme ulaşılabilir.
MPC’nin iki ana özelliği doğruluk ve gizliliktir:
- Doğru: Algoritmanın sonucu doğrudur (beklendiği gibi).
- Gizlilik: Bir kişinin sahip olduğu gizli giriş verileri başkalarının eline geçmez.
Dijital imzaları dağıtılmış bir şekilde hesaplamak için MPC kullanacağız. Yukarıdaki özelliklerin imzaya nasıl eklenebileceğini görelim. Hatırlarsanız, üç imza düzeyimiz var:
- Anahtar Aşama: İlk aşama aynı zamanda en karmaşık olanıdır. Gelecekte imzaları doğrulamak için açılacak ve kullanılacak bir anahtar oluşturmamız gerekiyor. Fakat her grup için private key diyeceğimiz bir private key oluşturacağız. Kimlik doğrulama ve gizlilik açısından, proje tüm taraflar için bir ortak anahtar ve her taraf için ayrı bir özel anahtar üretecektir. Bu nedenle: (1) gizlilik: başkaları arasında hiçbir özel paylaşım verisi paylaşılmaz ve (2) orijinallik: genel anahtar, özel paylaşımın bir işlevidir.
- İmza: Bu adım, imza oluşturma işini içerir. Her partideki bir giriş, grubun gizli kısmıdır ve önceki adımın (dağıtılmış imza oluşturma) bir sonucu olarak oluşturulur. Net bir etkisi var, bu mesaj kaydedilecek ve herkes biliyor. Sonuç, gizli paylaşımın montaj sırasında açığa çıkmamasını sağlayan bir dijital imza ve gizli bir kimlik olacaktır.
- Destek: Destek algoritması düzendekiyle aynı kalır. Tek anahtarlı bir imzaya uymak için, ortak anahtarı bilen herkesin imzayı doğrulayabilmesi ve doğrulayabilmesi gerekir. Bu tam olarak blockchain’in mutabakat istatistiklerinin yaptığı şeydir.
Dağıtılmış İmza Şeması (TSS), Dağıtılmış İmza Üretimi (DKG) ve dağıtılmış imzalara verilen isimdir.
TSS’i Blockchainlerle Birleştirmek
TSS’yi blok zincirinde kullanmanın en standart yolu, blok zinciri istemcisini TSS kullanarak anahtarlar ve imzalar oluşturacak şekilde değiştirmektir. Burada, tam bir düğümle tamamlanan tüm işlemlere atıfta bulunmak için bir blockchain istemcisi kavramını kullanıyoruz. Uygulamada, TSS teknolojisi, şifreleme ve dağıtılmış hesaplama ile ilgili tüm işlemleri değiştirmemize izin verir.
Bunu detaylı bir şekilde anlatmak için klasik blockchain modelinde yeni adres nasıl oluşturulur kısaca anlatacağız. Temel olarak, özel bir anahtar oluşturarak yeni bir adres oluşturabilir ve ardından özel anahtarı temel alarak genel anahtarı hesaplayabiliriz. Son olarak, genel adresi genel anahtardan alabiliriz. TSS kullanıldığında, ortak anahtar, her biri özel anahtarın özel bir kısmına sahip olan n tarafça paylaşılır (kendi kısmını başkalarıyla paylaşmaz).
Bir genel anahtar kullanarak, özel bir sistem olarak bir genel adres elde edebiliriz, böylece blok zincirini adresin nasıl oluşturulduğundan bağımsız hale getiririz. Buradaki avantaj, her grubun bir madeni parası olduğu için gizli anahtarın artık tek bir arıza noktası olmamasıdır.
Aynı şey bir işletmeyi kaydederken de yapılabilir. Bu durumda, bir kişi özel anahtarla imzalamak yerine, birden çok taraf arasında bir imza oluşturulur. Dolayısıyla, yeterince insan dürüst davrandığı sürece, herhangi bir grup iyi bir imza oluşturabilir. Burada da yerel hesaplamalar (tek bırakma noktaları) yerine korelasyon hesaplamaları kullanılır.
Daha da önemlisi, dağıtılmış imza oluşturma işlemi, farklı erişim türlerine izin verecek şekilde gerçekleştirilebilir: t veya n’nin genel sisteminde, t, güvenlikten ödün vermeden anahtar gizliliğini içeren işlemlerde yanlış hatalarla başa çıkabilir.
TSS ve Multisig Kıyaslaması
Bazı blok zincirleri, TSS’yi yazılımın entegre bir parçası veya programı olarak sunar. Bu özelliğe multisig veya çoklu imza denir. Farklılıkları daha iyi anlamak için TSS ve blok zincirinin uygulama katmanı gibi çoklu imzaları düşünebiliriz.
Başka bir deyişle, TSS’deki birçok imza benzer hedeflere ulaşmayı amaçlar, ancak TSS kriptografi kullandığından, farklı imzalar bağlanır. Bununla birlikte, blok zincirinin çok paydaşlı kodlamayı içermesi için bir yola ihtiyaç vardır. Erişim yapısı (imzalayanların sayısı) blok zincirinde açığa çıktığı için gizliliği de tehlikeye atabilir. Farklı imza sahiplerinin bilgilerinin blok zincirinde paylaşılması gerektiğinden, çoklu imza işlemleri daha pahalıdır.
TSS’de, imzalayan bilgileri standart bir format kullanılarak saklanarak maliyetleri düşürür ve gizliliği korur. Öte yandan, birden fazla imza da tutarsız olabilir. Bu, farklı katkıda bulunanlar arasında karmaşık iletişim yürütme sorununu ortadan kaldırır. Temel fark, çoklu imzanın blok zincirine özgü olması ve herhangi bir blok zincirinde sıfırdan kopyalanabilmesidir.
Bazı durumlarda, çoklu imzalar hiç desteklenmez. Buna karşılık, TSS yalnızca şifrelemeye dayanır, bu da yedeklenebileceği anlamına gelir. Resimdeki farkı açıklayan güzel bir yazıya buradan ulaşabilirsiniz.
TSS ve Shamir Kendini Paylaşan Yapıların Karşılaştırılması
Shamir Paylaşımlı Gizli Sistem (SSSS), özel anahtarları dağıtılmış bir şekilde depolamak için bir yol sağlar. Bu nedenle, gizli anahtar birçok yerde saklanır ve durur. SSSS ve TSS arasında iki fark vardır:
- Anahtar üretimi: SSSS’de, “dağıtım” adı verilen ve gizli anahtarın üretilmesinden sorumlu olan bir kısım vardır. Bu, anahtar üretimi sırasında gizli anahtarın bir yerde üretildiği ve dağıtım yoluyla farklı yerlere dağıtıldığı anlamına gelir. TSS’de distribütör yoktur çünkü hizmet, özel anahtar tek bir yerde olmayacak şekilde dağıtılır.
- Oturum Açma: SSSS’de üyeler imzalamak için tüm özel anahtarları yenilemelidir. Bu, her imza gerektiğinde tek bir başarısızlık noktasıyla sonuçlanır. TSS’de imzalama, kişisel paylaşım yeniden yapılandırması olmadan dağıtılmış bir şekilde yapılır.
Gördüğünüz gibi, TSS’de gizli anahtar (sistem güvenliğini temsil eder) tüm varlığı boyunca tek bir yerde değildir.
Eşik Değerli Cüzdanlar
TSS teknolojisine dayalı cüzdanlar, geleneksel kripto para cüzdanlarından biraz farklıdır. Geleneksel bir cüzdan, bir ifade oluşturur ve adresi doğru bir şekilde çıkarmak için bu ifadeyi kullanır.
- Genel cüzdan adresleriyle eşleşen özel anahtarlar elde etmek ve bunlarla işlemlere girmek ve
- Bir tohum parolası kullanarak tüm cüzdan anahtarlarını çoğaltmak için hiyerarşik deterministik (HD) bir yöntem kullanır.
Portal portföyü daha karmaşıktır. HD yapıları oluşturmak mümkün olsa da, bu yeniden oluşturma işlemi diğer herhangi bir MPC işlemi gibi dağıtılmış bir şekilde hesaplanmalıdır. Ekip daha sonra hangi anahtarın kullanılacağına karar vermek için birlikte çalışmalıdır. Başka bir deyişle, her parçanın kendi tohum cümlesi vardır. Birbirinden farklı cümleler oluşur, birleştirilmezler. Bu nedenle, özel anahtar tohumun kendisinden türetilemez.
TSS tabanlı cüzdanın ayrıca ilginç bir güvenlik özelliği vardır: blok zinciri adresine karşılık gelen genel anahtarı değiştirmeden özel anahtarların transferine izin vermek. Gizli paylaşım olarak da bilinen gizli anahtar aktarımı, gizli paylaşımları girdi olarak kullanan ve buradan yeni gizli paylaşım kalıpları üreten başka bir MPC tekniğidir. Eski şifreler silinebilir ve yenileri aynı şekilde kullanılabilir.
Böyle bir yapı, güvenliğe bir zaman bileşeni ekler ve bir saldırganın bir cüzdana saldırmak için aynı anda birden çok yerde olmasını gerektirir. Özel paylaşımların aktarımdan önce ve sonra birleştirilmesi, saldırgana artık sahte imza oluşturma gücü vermez. Bu tür cüzdanların dezavantajı, şifreleri olmadığı için tek anahtarlı cüzdan sistemleriyle uyumlu olmamasıdır. Bu nedenle gizli pozisyonlara sahip üyelerin tespit edilmesi önemlidir.
Çoğu bina şunları yapabilir:
- Harici TSS hizmeti: kullanıcı, hesaplamaları gerçekleştirmek için “n” numaralı sunucuları yetkilendirdi. Anahtar oluşturma, yönetim ve imza, hizmet sağlayıcıları herhangi bir varlığa sahip olmadan bırakır, ancak belirli teşvik edici durumlarda güvenlik sağlar.
- Cihaz Kullanımı: Kullanıcılar, sahip oldukları cihazlarda TSS’yi kullanır. Örneğin, bir parça IoT cihazı olurken, başka bir parça kullanıcının cep telefonu olur, başka bir parça dizüstü bilgisayar vb. olur.
- Hibrit: TSS, bazı bölümlerin harici servis sağlayıcılar tarafından, diğerlerinin ise kullanıcının cihazı tarafından kontrol edileceği şekilde kullanılır.
İlk yöntem, kullanıcının müşteri tarafındaki toplam TSS ağırlığının yükünü azaltır. Öte yandan, operatör hile yapabilir ve kullanıcının varlıklarını çalabilir (aynı anda saldırmanın yeterli olmadığını düşünüyoruz, ancak pratikte gerçekten hacklenebilirler).
İkinci yöntem kullanıcıya tam kontrol sağlar, ancak bağlanmak ve toplam TSS’ye katılmak için çok sayıda cihaz gerektiğinden işlemi zorlaştırır. Üçüncü seçenek, her iki taraf için de en iyi seçenek olarak kabul edilir, çünkü kullanıcıya yalnızca kolay ve hızlı bir alışveriş yolu sağlamakla kalmaz, aynı zamanda kullanıcının izni olmadan işlem yapılmasına da izin vermez.
TSS ve Akıllı Kontratlar
Yıllar geçtikçe, araştırmacılar dijital imzalar için pek çok kullanım alanı keşfettiler ve bunların bazıları önemsiz değil. Daha önce de belirttiğimiz gibi, TSS güvenliği artırabilen bir gizlilik politikasıdır. Blockchain açısından bakıldığında birçok hizmetin yerini TSS tabanlı kriptografinin alabileceğini söylemek mümkün. Kırılmamış cihaz, 2. TSS sisteminin üzerine katman işleme çözümleri, atom takasları, dereceler, entegrasyon ve diğerleri inşa edilebilir.
Bu, sonunda pahalı ve riskli akıllı zincir sözleşmelerini daha ucuz ve daha güvenilir alternatiflerle değiştirebilir. Birkaç örnek: çok sekmeli kilit, Bitcoin hafif ağına ve daha güvenli ve özel bir ödeme ağına alternatif olarak kullanılabilen iki taraflı imzaların akıllıca kullanılmasını sağlar. ShareLock, Ethereum için ucuz bir zincir üstü hashing çözümü olabilir ve tek yönlü imza doğrulamasına dayanır.
Riskler
Son birkaç yılda, TSS uygulamalarında önemli bir artış olmuştur. Ancak TSS yeni bir teknoloji olduğu için hala bazı zayıflıkları ve zorlukları var. Açık anahtar şifrelemesiyle karşılaştırıldığında, TSS sistemleri karmaşık olabilir ve yine de kapsamlı testler gerektirebilir. TSS genellikle basit dijital imzalara kıyasla daha zayıf olan diğer şifreleme kavramlarını gerektirir.
Sonuç olarak, geleneksel stratejilerde görülmeyen kripto saldırı vektörleri ortaya çıkmaya başlıyor (Breaking Bitcoin Konferansı 2019’dan bu sunuma bakın). Güvenlik mühendisleri ve kripto test uzmanları, sisteminize TSS eklemenize yardımcı olabilir.
Son fikirler
Bu makalede, blok zinciri kullanma şeklimizi önemli ölçüde değiştirebilecek kritik bir şifreleme ilkesi olan Eşik İmza Türü’nün (TSS) temellerini sunduk.
Yazıda Binance Chain ve Bitcoin’de kullanılabilen ECDSA Eşiği incelenmediği için merak edenler aşağıdaki yazı listesine göz atabilirler.
Ayrıca, bazı TSS uygulamalarını denemek isterseniz Binance Chain İki Taraflı Cüzdan kodunu burada bulabilir veya Binance Chain İki Taraflı Cüzdan için güvenli bir hibrit sistem sunan ZenGo Wallet’ı deneyebilirsiniz.
Bu post hakkında tartışma