Cüzdan Altyapısı ve Güvenlik Modeli
Sektör Arka Planı
Cüzdan sistemleri genellikle özel anahtarları korumak için bir veya daha fazla temel kriptografik yönteme dayanır. Bu yaklaşımları anlamak, bu belgede açıklanan güvenlik modeli için bağlam sağlar.
Shamir's Secret Sharing (SSS)
SSS bir özel anahtarı birden fazla paya böler; orijinali yeniden oluşturmak için minimum bir eşik gerekir. Mükemmel gizlilik sağlar — eşiğin altındaki herhangi bir sayıda pay, anahtar hakkında hiçbir şey ifşa etmez. SSS olgun, iyi araçlanmış ve hızlıdır (20–40 ms imzalama). Ödünleşme şudur: özel anahtarın imzalamak için tamamen yeniden birleştirilmesi gerekir; bu da yeniden oluşturma anında tek bir hata noktası yaratır.
Threshold Signature Schemes (TSS)
TSS (yaygın olarak MPC olarak bilinir), özel anahtarı hiçbir zaman yeniden birleştirmeden birden fazla tarafın birlikte imza üretmesine izin verir. Bu, SSS'nin yeniden oluşturma riskini ortadan kaldırır. Ödünleşme ise olgunluk — ilk verimli iki taraflı ECDSA protokolü yalnızca 2017'de ortaya çıktı — ve performans: her imza ağ gidiş-dönüşleri içerir; bu da birkaç saniyeye varabilen gecikme getirir.
Trusted Execution Environments (TEE)
TEE'ler kriptografik işlemleri donanım enclave'leri içinde yürütür; anahtar materyalinin asla ifşa edilmemesini ve yalnızca yetkili kodun çalışmasını sağlar. İstemciler işlemleri tasdikler aracılığıyla doğrulayabilir. TEE'ler iyi ölçeklenir ve TSS'nin gidiş-dönüş gecikmesinden kaçınır; ancak güvenlikleri enclave bütünlüğüne bağlıdır ve tarihsel olarak yan kanal saldırılarına karşı savunmasız olmuştur.
WebAuthn PRF Uzantısı
WebAuthn PRF (Pseudo-Random Function) uzantısı, kullanıcının passkey donanımından — Apple cihazlarda Secure Enclave, Windows'ta TPM, Android'de Titan chip — deterministik bir sır üretir. Bu sır cihaza ve kullanıcının biyometrisine veya PIN'ine bağlıdır; kimlik doğrulama sırasında cihaz üzerinde hesaplanır ve asla iletilmez. Sunucunun hiç görmediği bir sırla anahtar materyalinin şifrelenebildiği bir cüzdan tasarımları sınıfını mümkün kılar.
Üç Taraf Anahtar Koruması
Genel Bakış
Bu sistemdeki özel anahtarlar asla bütün halde saklanmaz — kullanıcı cihazlarında değil, sunucularımızda değil, hiçbir yerde. Bunun yerine anahtar materyali 3-of-3 secret sharing şeması kullanılarak üç bağımsız taraf arasında kriptografik olarak bölünür. Anahtarı yeniden oluşturmak için üç tarafın da işbirliği yapması gerekir. Üçten azı, özel anahtar hakkında matematiksel olarak sıfır bilgi verir.
Bu hibrit bir modeldir: passkey tabanlı istemci tarafı şifrelemeyi (PRF-as-KEK), secret sharing'i ve izole bir sunucu tarafı enclave'ini tek bir mimaride birleştirir. Sonuçta yapı, Shamir's Secret Sharing ile aynı bilgi-teorik güvenlik garantisini sağlar — eşiğin altındaki hiçbir taraf alt kümesi anahtar hakkında bilgi edinemez — bir payı kullanıcının fiziksel authenticator donanımına bağlayarak yalnızca sunucu tarafı bir ihlalin anahtarı yeniden oluşturamayacağı şekilde.
Bu, tüm modern cihazlar için varsayılan güvenlik modelidir (iOS, macOS, Android ve Windows'ta tüm büyük tarayıcılar).
Üç Taraf
Taraf 1 — Kullanıcının Authenticator'ı
Kullanıcının passkey donanımı, o cihaza ve kullanıcının biyometrisine veya PIN'ine bağlı deterministik bir sır hesaplar. Bu çıktı — PRF output olarak adlandırılır — kimlik doğrulama sırasında cihaz üzerinde üretilir ve hiçbir yere iletilmez. Saklanmaz. Günlüklenmez. Yalnızca imzalama işlemi süresince bellekte bulunur.
Bu sır, anahtar yeniden oluşturmaya kullanıcı katkısıdır. Onsuz diğer iki tarafın kullanılabilir bir özel anahtar üretebilecek hiçbir şeyi yoktur.
Taraf 2 — API
API, kullanıcının anahtar materyalinin şifrelenmiş bir kopyasını saklar. Kullanıcının PRF ile türetilen sırla şifrelenmiştir; API bunu hiç görmemiştir. API erişimi kontrol eder — bu şifrelenmiş yükü yalnızca kullanıcının kayıtlı passkey'i ile imzalanmış geçerli bir WebAuthn assertion sunan bir isteğe verir. Ancak yükün kendisinin şifresini çözemez.
API kimlik doğrulanmış bir teslimat mekanizması olarak davranır, anahtar saklayıcısı değildir.
Taraf 3 — Crypto Enclave
API'den bağımsız çalışan, kendi şifreleme anahtarları ve altyapısına sahip ayrı, izole bir sistem — sunucu tarafı anahtar payını tutar. Bu pay, yalnızca enclave'in bildiği bir sırla beklemeyken şifrelidir. Enclave, şifresi çözülmüş payı yalnızca istek assertion doğrulamasını geçtikten sonra ve yalnızca son imzalama adımında kullanıcı payıyla birleştirilmek üzere serbest bırakır.
Enclave kullanıcının PRF çıktısını, kullanıcının anahtar payını veya birleştirilmiş özel anahtarı asla görmez.
Güvenlik Özellikleri
Tek Hata Noktası Yok
| Senaryo | Sonuç |
|---|---|
| Kullanıcı cihazı çalındı | Saldırgan biyometriyi/PIN'i yeniden üretemez; PRF output elde edilemez |
| API tamamen ihlal edildi | Saldırgan yalnızca hiç görmedikleri bir sırla şifrelenmiş metin elde eder |
| Enclave tamamen ihlal edildi | Saldırgan anahtarın bir payını elde eder; diğer pay ihlal edilmiş sistemlerin hiçbirinde yoktur |
| API ve Enclave birlikte ihlal edildi | Saldırgan şifrelenmiş kullanıcı yükünü ve sunucu payını elde eder — ancak fiziksel authenticator'dan PRF output olmadan kullanıcı yükünün şifresini yine çözemez |
Son senaryo en kritik olanıdır. Tüm sunucu tarafı altyapının tam bir ihlali bile özel anahtarı yeniden oluşturmak için yetersizdir. Kullanıcının authenticator'ı, sunucu tarafı hiçbir ihlalin aşamayacağı kriptografik kapıdır.
Bilgi-Teorik Güvenlik
Hibrit model, Shamir's Secret Sharing ile aynı güvenlik garantisi sınıfını devralır: anahtar bölümü yalnızca hesaplamalı olarak güvenli değil — bilgi-teorik olarak güvenlidir. Üç taraftan herhangi ikisinin materyaline sahip, sınırsız hesaplama gücüne sahip bir saldırgan, özel anahtar hakkında bilgi edinemez. İki tarafın verisi tek başına, ne kadar zaman veya donanım verilirse verilsin anahtarı türetmek için bir algoritma yoktur. Bu, one-time pad ile sağlanan garantiyle aynıdır.
Tasarımda Saklama Dışı
Hem API'yi hem de enclave'i biz işletiyoruz. Buna rağmen, kullanıcı fonlarına tek taraflı erişemeyiz. Kullanıcının PRF output'u eksik parçadır — kullanıcının donanımı içinde üretilir ve asla iletilmez. Fonlara erişemememiz bir politika veya hizmet şartları taahhüdü değildir. İç erişim kontrolleri, düzenleyici baskı veya altyapı ihlali ne olursa olsun geçerli olan matematiksel bir kısıdcır.
Bir İşlem Nasıl İmzalanır
Tüm imzalama kullanıcının cihazında gerçekleşir. Özel anahtar hiçbir sunucuda birleştirilmez.
- Kullanıcı uygulamada bir işlemi onaylar. Cihaz kullanıcıyı biyometri veya PIN ile doğrular.
- Cihaz donanıma bağlı PRF sırrını yerel olarak hesaplar. Bu sır cihazı terk etmez.
- Uygulama API'den şifrelenmiş kullanıcı yükünü ve enclave'den sunucu payını alır. Bu parçaların hiçbiri tek başına kullanılamaz.
- Kullanıcının cihazında, bellekte: donanım sırrı kullanıcı yükünün şifresini çözer ve kullanıcının anahtar payını verir. İki pay tam özel anahtarda birleştirilir.
- Özel anahtar işlemi imzalar — tamamen cihaz üzerinde.
- Özel anahtar bellekten hemen silinir. Önbelleğe alınmaz, kalıcı olarak saklanmaz, günlüklenmez.
Tam özel anahtar yalnızca milisaniyeler süreyle, yalnızca kullanıcının cihazında ve yalnızca imzalama işlemi sırasında mevcuttur. Hiçbir sunucu onu görmez.
Özel Anahtar Dışa Aktarma
Kullanıcı özel anahtarını dışa aktarmayı seçerse — örneğin başka bir cüzdana geçmek için — aynı ilke geçerlidir. Anahtar tamamen kullanıcının cihazında yeniden oluşturulur ve teslim edilir. Sunucu şifrelenmiş payları sağlar; ancak şifre çözme ve birleştirme yerelde yapılır. Dışa aktarma sırasında özel anahtar hiçbir sunucudan geçmez veya herhangi bir sunucuya görünür olmaz.
Passkey Senkronizasyonu ve Cihazlar Arası Erişim
Modern platformlar — Apple'da iCloud Keychain, Android'de Google Password Manager — passkey'leri kullanıcının cihazları arasında senkronize eder. Anahtar yeniden oluşturma için kullanılan donanıma bağlı sır, senkronize passkey materyalinin parçasıdır; yani aynı PRF output kullanıcının senkron grubundaki herhangi bir cihazda yeniden üretilebilir. Bu, üç taraf güvenlik modelini cihazlar arasında korur: senkronize herhangi bir cihaz, sunucu tarafı mimarisinde değişiklik olmadan imzaya katılabilir.
Kullanıcılar passkey'lerinin bulut hesaplarına senkronize edilip edilmediği konusunda bilgilendirilir; böylece cüzdanlarının kurtarılabilirliğine her zaman görünürlükleri olur.
PRF desteği iOS 18+, macOS Sequoia 15.4+, Android 14+ ve YubiKey 5 serisinde mevcuttur. PRF desteği olmayan platformlarda sunucu tarafı imzalama yedek kullanılır.
Geleneksel Cüzdan Güvenliğiyle Karşılaştırma
| Model | Özel anahtar konumu | Fonlara kim erişebilir |
|---|---|---|
| Standart kendi velayet (seed phrase) | Kullanıcı tarafından saklanır | Seed phrase'e sahip olan herkes |
| Borsa / sıcak cüzdan saklama | Operatör tarafından saklanır | Operatör (ve operatörü ihlal eden herkes) |
| Donanım cüzdanı | Cihazda saklanır | Fiziksel cihaza + PIN'e sahip olan herkes |
| Bu sistem | Asla bütün halde saklanmaz | Kullanıcının canlı authenticator'ı + sunucu altyapısı aynı anda gerekir |
Özet
PRF tabanlı istemci tarafı şifreleme, secret sharing ve izole bir enclave'i birleştiren bu hibrit model, güveni üç gerçekten bağımsız taraf arasında böler; böylece iki alt küme özel anahtarı yeniden oluşturamaz ve Shamir's Secret Sharing ile aynı bilgi-teorik güvenlik garantisini sağlar. Kullanıcının biyometriye bağlı donanım sırrı tüm sistemin kriptografik çapasıdır. Ne kadar derinlemesine ihlal edilirse edilsin, sunucu tarafı altyapı, kullanıcının fiziksel katılımı olmadan geçerli bir imza üretemez.