- Keyhive, merkezi sunucu olmadan çevrimdışıyken de çalışabilen yerel öncelikli bir erişim kontrol sistemi kurmaya yönelik bir araştırma projesi; Signal düzeyindeki güvenliği belge iş birliğine uygulamayı hedefliyor
- Dağıtık ortamlarda da senkronize olabilen yetki devri modeli (Capability Model), grup yönetimi CRDT'si ve nedensellik temelli E2EE (Causal Keys) sayesinde iş birliği sırasında da güvenli veri erişim kontrolü sağlanıyor
- Temel kriptografik protokol BeeKEM, merkezi sunucu olmadan da Forward Secrecy (ileri gizlilik) ve Post-Compromise Security (ihlâl sonrası güvenlik) sağlıyor ve binlerce kişilik grupları destekliyor
- Keyhive'ın senkronizasyon katmanı Beelay, RIBLT tabanlı küme senkronizasyonu ve Sedimentree sıkıştırma yöntemi kullanarak büyük ölçekli yerel belge senkronizasyonunu hızlandırıyor
- Ink & Switch, bu projeyle sunucuya bağımlı olmayan güvenli iş birliği platformları için temel teknoloji ortaya koyuyor ve çevrimdışı öncelikli yazılım ekosistemini genişletmeyi amaçlıyor
Keyhive genel bakış
- Keyhive, bulut sunucuları kullanmadan iş birliği verileri için erişim kontrolünü yerel öncelikli (local-first) bir ortamda gerçekleştirmeye yönelik bir araştırma
- Geleneksel bulut kimlik doğrulaması (OAuth vb.) yetki doğrulaması için merkezi sunuculara dayanırken, yerel öncelikli modelde veri ve yetkinin birlikte taşınması gerekiyor
- Bunun için Keyhive, yetki devri (capability) tabanlı bir tasarım benimsiyor ve dağıtık kimlik doğrulama ve şifreleme katmanı kuruyor
- Amaç, Google Docs ve GitHub benzeri kullanıcı dostu deneyimi korurken tamamen merkeziyetsiz iş birliği güvenliğini hayata geçirmek
Tasarım felsefesi ve bileşenler
- Keyhive, erişim kontrolü katmanının veri katmanından önce gelmesi gerektiği ilkesiyle tasarlanmış
- Bu nedenle depolama ve senkronizasyon yapısı da şifreleme ve yetki yönetimi yaklaşımını takip etmek zorunda
- Üç ana bileşen:
- Convergent Capabilities: CRDT'lere uygun yeni bir yetki modeli; nesneler arası devri kriptografik olarak kanıtlanabilir hale getiriyor
- Group Management CRDT: Merkezi sunucu olmadan gruba ekleme/çıkarma ve yetki geri almayı gerçekleştiriyor
- E2EE with Causal Keys: Belgelerin nedensel yapısına göre anahtarları yöneterek verimli şifreleme sağlıyor
Convergent Capabilities
- Mevcut object-capability ve certificate-capability modellerinin avantajlarını birleştiren bir yaklaşım
- CRDT durumunu da içererek çevrimdışı durumda bile tutarlılığın (convergence) korunmasını sağlıyor
- Açık anahtar tabanlı yetki devri yapısı sayesinde kullanıcı, grup ve belge eşit düzeyde varlıklar olarak ele alınabiliyor
- Örnek: kullanıcılar cihaz grupları oluşturabiliyor, belgeler de ekip düzeyinde yapılandırılarak erişim izni verebiliyor
BeeKEM: grup anahtarı uzlaşma protokolü
- BeeKEM, merkezi sunucu olmadan çalışan bir sürekli grup anahtarı uzlaşma (CGKA) protokolü
- TreeKEM yapısını devralırken yalnızca nedensel sıralama (Causal Order) ile çalışabilecek şekilde geliştirilmiş
- Yalnızca Diffie-Hellman anahtar değişimi ve BLAKE3 hash fonksiyonu kullanarak standart kriptografik temeller üzerine kurulmuş
- Başlıca özellikleri:
- Grup üyesi ekleme/çıkarma, eşzamanlı güncelleme çakışmalarını çözme ve boş düğümleri geri yükleme gibi tüm işlemler dağıtık durumda gerçekleştiriliyor
- Eşzamanlılık çakışmalarında “Conflict Key” birleştirme algoritması ile güvenlik korunuyor
- Tipik durumda logaritmik zaman, en kötü durumda doğrusal performans
Beelay: asgari güvene dayalı senkronizasyon protokolü
- Beelay, Keyhive'ın veri ve yetki bilgilerini senkronize eden RPC tabanlı bir protokol; sunucu yalnızca şifrelenmiş veriyi aktarıyor
- Mesajlar Ed25519 imzaları ile doğrulanıyor ve replay attack ile man-in-the-middle attack (PITM) önlemeleri yerleşik olarak geliyor
- Temel çalışma akışı:
- RIBLT (Rateless Invertible Bloom Lookup Table) kullanarak küme farklarını hesaplıyor ve büyük veri kümelerinde hızlı senkronizasyon sağlıyor
- Üyelik grafiği (grup-belge ilişkileri), belge koleksiyonu durumu ve belge gövdesi sıralı biçimde senkronize ediliyor
- Sedimentree yapısı sayesinde Automerge commit grafiği sıkıştırılıp birleştiriliyor; böylece büyük belgelerde senkronizasyon sırasında bant genişliği tasarrufu sağlanıyor
Senkronizasyon akışı
- Üyelik grafiği senkronizasyonu: Grup ve yetki ilişkileri senkronize edilir
- Belge koleksiyonu senkronizasyonu: Değişen belgeler belirlenir
- CGKA senkronizasyonu: BeeKEM işlemleri birleştirilir
- Belge gövdesi senkronizasyonu: Sedimentree tabanlı sıkıştırılmış aktarım yapılır
- Tipik tek bir değişiklikte yalnızca 2 gidiş-dönüş isteğiyle tüm senkronizasyon tamamlanır
Gelecek planları
- Keyhive şu anda pre-alpha sürümünü yayımlamış durumda; Rust tabanlı uygulama ile WASM/TypeScript binding'leri sunuluyor
- İleride güvenlik doğrulaması ve performans makaleleri yayımlanması planlanıyor; hedef, yerel öncelikli iş birliği sistemleri için güvenlikte standart bir model oluşturmak
Henüz yorum yok.