3 puan yazan GN⁺ 2025-10-29 | Henüz yorum yok. | WhatsApp'ta paylaş
  • 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:
    1. Convergent Capabilities: CRDT'lere uygun yeni bir yetki modeli; nesneler arası devri kriptografik olarak kanıtlanabilir hale getiriyor
    2. Group Management CRDT: Merkezi sunucu olmadan gruba ekleme/çıkarma ve yetki geri almayı gerçekleştiriyor
    3. 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ışı

  1. Üyelik grafiği senkronizasyonu: Grup ve yetki ilişkileri senkronize edilir
  2. Belge koleksiyonu senkronizasyonu: Değişen belgeler belirlenir
  3. CGKA senkronizasyonu: BeeKEM işlemleri birleştirilir
  4. 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.

Henüz yorum yok.