Ana içeriğe atla
Güvenlik

Zero-Knowledge Şifreleme Nedir? (Basit Bir Anlatım)

Zero-knowledge şifreleme, kullandığınız hizmetin verilerinizi okuyamaması demek. Nasıl çalışır ve sır paylaşırken neden önemlidir.

A sealed envelope inside a transparent box with eyes unable to see inside
İllüstrasyon · AbsentKey editöryal ŞEK. 01

Zero-knowledge şifreleme, verilerinizi saklayan hizmetin onları okuyamaması demektir. “Okumuyor” değil. Okuyamıyor. Verileriniz çıkmadan önce cihazınızda şifrelenir ve anahtarlar sizde kalır. Sunucu yalnızca şifrelenmiş anlamsız veriyi görür.

Peki “zero-knowledge” gerçekten ne anlama gelir?

Bir hizmet “zero-knowledge şifreleme” kullandığını söylüyorsa, bunun anlamı çok belirlidir: hizmeti yürüten şirketin verilerinizin içeriğine dair sıfır bilgisi vardır. Onu göremezler. Çözemezler. Anahtarlar onlarda yoktur.

Bu bir politika kararı değildir, “dosyalarınıza bakmayacağımıza söz veriyoruz” değildir. Bakmanın imkânsız olduğu teknik bir mimaridir. Şirketin, şifrelenmiş verilerinizi okunabilir biçime geri çevirme matematiksel yetisi yoktur. İsteseler bile yoktur. Mahkeme emir verse bile yoktur. Birisi sunucularına girip ellerindeki her veritabanını çalsa bile yoktur.

Asıl önemli olan da bu son kısımdır. İhlaller olur. Sunucular ele geçirilir. Çalışanlar yoldan çıkar. Hükümetler celp gönderir. Zero-knowledge bir sistemde bunların hiçbiri gerçek verilerinizi açığa çıkarmaz. Sunucudaki her şeyi alan bir saldırgan, anahtarınız olmadan işe yaramaz şifrelenmiş veri yığınlarıyla baş başa kalır.

Hızlı bir terminoloji notu: “zero-knowledge proofs” (sıfır bilgi ispatları), ilgili ama farklı bir kavramdır (bir şeyi bildiğinizi, bilmediğinizi açıklamadan kanıtlamanın yolu). İnsanlar uygulama ve hizmet bağlamında “zero-knowledge şifreleme” ya da “zero-knowledge mimari” derken kastettikleri şudur: hizmet sağlayıcı verileriniz hakkında hiçbir şey bilmez.

Basit hâliyle

Bir kiralık depo tesisi düşünün. Bir bölme kiralarsınız, değerli eşyalarınızı içine koyarsınız ve kendi asma kilidinizle kilitlersiniz. Depo şirketi binayı tutar. Bölmenize kadar yürüyebilirler. Ama asma kilidinizin anahtarı onlarda yoktur. Birisi tesise girerse, açamayacağı kilitli bir bölmeyle karşılaşır. Depo şirketine bir mahkeme emri gelirse, bölmeyi teslim edebilirler, ama içindeki şey hâlâ kilitli kalır.

Zero-knowledge özetle budur. Hizmet kabı tutar. Tek anahtar sizdedir.

Zero-knowledge'da güveni siz vermezsiniz; mimari güveni gereksiz kılar, yükü matematik taşır.
Zero-Knowledge Şifreleme Nedir? (Basit Bir Anlatım)

Zero-knowledge olmayan hâli? Depo şirketi bölmenize kendi kilidini takar ve size anahtarın bir kopyasını verir. Tabii, içeri girebilirsiniz. Ama onlar da girebilir. Şirketin ana anahtar zincirini ele geçiren herkes binadaki her bölmeye girebilir.

Çoğu bulut hizmeti bu ikinci sürüm gibi çalışır. Şirket verilerinizi şifreler ama şifreleme anahtarlarını da o tutar. “Durağan halde” ve “aktarım sırasında” şifrelerler; bu, belirli saldırılara karşı koruma sağlar, ama şirketin kendisine, çalışanlarına ya da anahtar altyapısını ele geçiren herkese karşı korumaz.

Nasıl çalışır (matematiksiz)

Akış şöyle. Zero-knowledge bir hizmette bir hesap oluşturursunuz. Kurulum sırasında cihazınızda kriptografik bir anahtar üretilir. Bu anahtar seçtiğiniz bir şifreden, uygulamanın oluşturduğu bir kurtarma ifadesinden ya da bunların bir kombinasyonundan gelebilir. Önemli olan: bu anahtar yerelde oluşturulur ve saklanır. Asla sunucuya gönderilmez.

Veri sakladığınızda, şifreleme cihazınızda hiçbir şey çıkmadan önce gerçekleşir. Telefonunuz düz metni alır, yerel anahtarınızla şifreler ve şifrelenmiş sonucu sunucuya gönderir. Sunucu o şifrelenmiş veri yığınını saklar. İçinde ne olduğundan haberi yoktur.

zero-knowledge flow

# Setup: key is generated and kept on the device. const key = derive(passphrase) // stays local

# Store: encrypt locally, upload only ciphertext. const blob = encrypt(plaintext, key) upload(blob) “server sees gibberish”

# Read: server returns the same blob; phone decrypts. const plain = decrypt(download(), key)

Geri alma işlemi tersinedir. Sunucu şifrelenmiş veri yığınını cihazınıza geri gönderir. Cihazınız onu, hiç ayrılmamış olan anahtarı kullanarak yerelde çözer.

Sunucunun rolü depolama ve teslimattır; şifrelenmiş veriyi tutar ve taşır, ama hiçbirini anlamlandırmak için ihtiyaç duyduğu şeye sahip değildir. Bunu, sunucunun hem şifrelemeyi hem de anahtar yönetimini yaptığı geleneksel şifrelemeyle karşılaştırın; bu da sunucunun (ve onu ele geçirenin) verilerinizi istediği zaman okuyabilmesi anlamına gelir.

Yine de gerçek bir tercih var. Hizmet anahtarınızı tutmadığı için, kaybederseniz size yardım edemez. Şifrelenmiş verilere erişimi geri getiren bir “şifremi unuttum” akışı yoktur. Anahtarınız gittiyse, verileriniz de gitmiştir. Bu bir hata değil; mimarinin doğru çalışmasının matematiksel sonucudur.

Kimler zero-knowledge şifreleme kullanıyor

Zero-knowledge mimari yeni ya da egzotik değildir. En saygın güvenlik araçlarının bazıları üzerine kurulmuştur.

Signal mesajları uçtan uca şifreler. Signal’ın sunucuları şifrelenmiş mesajları iletir ama onları okuyamaz. FBI Signal’a celp gönderdiğinde, şirket esasen yararlı hiçbir şey teslim etmedi, çünkü ellerinde yararlı hiçbir şey yoktu.

Proton Mail aynı fikri e-postaya uygular. Gelen kutunuz, Proton’un asla görmediği şifrenizden türetilen anahtarlarla şifrelenir. Şeffaflık raporları, yasal taleplere yanıt olarak ne kadar az veri sağlayabildiklerini tam olarak gösterir.

1Password ve Bitwarden birer zero-knowledge şifre yöneticisidir. Kasanız, ana şifrenizden türetilen bir anahtarla yerelde şifrelenir. Şirketler şifrelenmiş kasaları saklar ama onları çözemezler.

AbsentKey sır paylaşımı için zero-knowledge şifreleme kullanır. Sırlarınız yüklenmeden önce telefonunuzda şifrelenir. Sunucu şifrelenmiş veri yığınlarını saklar. AbsentKey de sakladıklarınızı okuyamaz.

Asıl soru
”Şifrelenmiş” kelimesi tek başına size çok şey söylemez. Asıl soru şu: anahtarları kim tutuyor? 2024’e kadar Google Drive dosyaları sunucularında şifreliyordu, ama anahtarları Google tutuyordu. Bu şifreleme dış saldırganlara karşı korurdu, ama Google’ın kendisine karşı korumazdı.

Yine de “şifreleme” reklamı yapan her hizmet zero-knowledge değildir. Yıllarca Google Drive dosyaları sunucularında şifredi ve Google anahtarları tuttu. İçeriklere erişebiliyor (ve eriştiler) idi. O şifreleme dış saldırganlara karşı korudu, ama Google’ın kendisine karşı korumadı.

“Şifrelenmiş” kelimesi tek başına size çok şey söylemez. Asıl soru şu: anahtarları kim tutuyor?

AbsentKey zero-knowledge şifrelemeyi nasıl kullanıyor

AbsentKey bir zero-knowledge sistem olarak temelden inşa edildi. (Tüm güvenlik modeline daha derin bakmak için, AbsentKey Güvenli mi? yazımıza bakın.) Pratikte böyle görünüyor.

Bir hesap oluşturduğunuzda, uygulama cihazınızda 12 kelimelik bir kurtarma ifadesi üretir. Bu ifade ana anahtarınızdır. Telefonunuzdan asla ayrılmaz, AbsentKey sunucularına asla gönderilmez. Cihazınızda ve yedeklemeyi seçtiğiniz herhangi bir yerde bulunur.

AbsentKey, o 12 kelimelik ifadeden, standart bir anahtar türetme fonksiyonu olan HKDF-SHA256’yı kullanarak şifreleme anahtarlarınızı türetir. Bu, uygulamaya verilerinizi şifrelemek ve çözmek için ihtiyaç duyduğu kriptografik malzemeyi verir; hepsi o tek ifadeden türetilir.

Bir sır oluşturduğunuzda, uygulama bunu cihazınızda XSalsa20-Poly1305, NaCl/libsodium ailesinden bir kimliği doğrulanmış şifreleme algoritmasıyla şifreler. Buradaki “kimliği doğrulanmış”, şifrelemenin yalnızca veriyi gizlemekle kalmayıp aynı zamanda hiçbir şeye dokunulmadığını da garanti ettiği anlamına gelir. Birisi şifrelenmiş veri yığınının tek bir bitini bile değiştirirse, çözme bozuk veri döndürmek yerine başarısız olur.

Birisiyle bir sır mı paylaşıyorsunuz? AbsentKey, iki kişinin de özel anahtarlarını ağ üzerinden göndermeden ortak bir sır türetmesine izin veren X25519 anahtar değişimini (Curve25519 üzerinde Diffie-Hellman) kullanır. Cihazınız ile alıcının cihazı, matematik aracılığıyla ortak bir şifreleme anahtarı üzerinde anlaşır. Sunucu değişime aracılık eder, ama ortak anahtarı asla öğrenmez.

Sonuç: AbsentKey’in sunucuları şifrelenmiş veri yığınlarını saklar ve erişim kontrol meta verilerini (kim ne talep edebilir, hangi zamanlayıcılar ayarlandı) yönetir. Ama hiçbir sırrın gerçek içeriğini asla görmezler. Göremezler. Anahtarları yok.

Mobil istemci GitHub’da kaynak kodlu olarak yayımlanır, böylece şifreleme kodunu kendiniz okuyabilir ve düz metnin asla ağa çıkmadığını teyit edebilirsiniz.

Sır paylaşımı için bunun neden önemi var

İnsanların dijital miras planlarının bir parçası olarak AbsentKey gibi hizmetler aracılığıyla neler paylaştığını düşünün. Banka hesaplarına şifreler. Gerçek paraya değer kripto para seed phrase’leri. İş kimlik bilgileri. Bir ihlalin yalnızca bir rahatsızlık değil, finansal kayıp, kimlik hırsızlığı ya da daha kötüsü anlamına geldiği türde bilgiler.

Şimdi bunu, okuyabilen bir hizmet aracılığıyla paylaştığınızı hayal edin. Veritabanına erişimi olan her çalışana güveniyorsunuz. Güvenlik ekiplerinin asla hata yapmayacağına güveniyorsunuz. Hiçbir hükümetin onları veri teslim etmeye zorlamayacağına güveniyorsunuz. Hiçbir saldırganın altyapılarını asla ihlal etmeyeceğine güveniyorsunuz.

En hassas bilgilerinizi tutan bir hizmet için bu çok fazla güvendir.

Zero-knowledge bu denklemi tersine çevirir. Kriptografi, hizmetin güvenilirliğini verilerinizin güvenliği için ilgisiz hâle getirir. AbsentKey’in sunucuları yarın tamamen ele geçirilse, saldırgan şifrelenmiş veri yığınları alır; yalnızca kullanıcıların cihazlarında var olan anahtarlar olmadan, çözmek hesaplama açısından mümkün değildir.

Ana şifrelerinizi ya da kurtarma ifadelerinizi dijital mirasınızı hazırlamak için bir paylaşım hizmetine koyuyorsanız, o hizmetin onları okuyamaması gerekir. Veri bu kadar hassasken “bize güvenin” yetmez. Tek kabul edilebilir cevap “okuyamayız” olur.

Sık Sorulan Sorular

Zero-knowledge hizmetler şifremi kaybedersem verilerimi kurtarabilir mi?

Hayır. Tercihi budur. Hizmette şifreleme anahtarlarınız yoktur, dolayısıyla şifrelenmiş verilere erişimi geri getiren bir “şifre sıfırlama” mekanizması yoktur. Anahtarınızı kaybederseniz, verilerinize kalıcı olarak erişilemez. Bu yüzden AbsentKey gibi hizmetler 12 kelimelik bir kurtarma ifadesi üretir ve bunu güvenli bir yere yazmanızı ister. Hizmet size yardım edemez, çünkü en başta verilerinizi çözebilme yeteneğine sahip olmamıştır.

Zero-knowledge şifreleme uçtan uca şifreleme ile aynı şey mi?

Yakından ilişkili ama özdeş değil. Uçtan uca şifreleme (E2EE), verinin gönderenin cihazında şifrelendiği ve yalnızca alıcının cihazında çözüldüğü anlamına gelir. Zero-knowledge daha geniş bir mimari ilkedir; hizmet sağlayıcının kullanıcı verisi hakkında hiçbir bilgisi yoktur. Çoğu zero-knowledge hizmet uygulamasının bir parçası olarak E2EE kullanır, ama tam zero-knowledge olmadan da E2EE’ye sahip olabilirsiniz (hizmet hâlâ belirli meta verileri topluyorsa) ve “uçtan uca” çerçevesi olmadan zero-knowledge depolama da olabilir (paylaşımı olmayan kişisel bir kasa). Bir hizmet her ikisi olduğunda en güçlü kombinasyon ortaya çıkar.

AbsentKey’de kurtarma ifademi kaybedersem ne olur?

12 kelimelik kurtarma ifadenizi kaybeder ve cihazınıza erişiminizi de yitirirseniz, sırlarınız kalıcı olarak kilitlenir. AbsentKey onları kurtaramaz. Bu, AbsentKey’e özgü bir kısıtlama değil; zero-knowledge sistemlerin temel bir özelliğidir. Kurtarma ifadesi, tüm şifreleme anahtarlarınızın türetildiği köktür. Onsuz matematik işlemez. Bu yüzden AbsentKey kurulum sırasında bunu yazmanızı ve cihazınızdan ayrı bir yerde saklamanızı ister.

Güven gerektirmeyen şifreleme

Zero-knowledge şifrelemenin bütün amacı, güveni denklemden çıkarmaktır. Şirkete, çalışanlarına ya da sunucu güvenliklerine güvenmek zorunda değilsiniz. İşi matematik halleder.

Hassas bilgileri herhangi bir hizmet aracılığıyla paylaşacaksanız, o hizmetin paylaştığınız şeyi okuyamadığından emin olun. “Bakmamaya söz veriyor” değil. Bakamıyor.

AbsentKey bu ilke üzerine kuruludur. Sırlarınız telefonunuzda, telefonunuzdan asla ayrılmayan anahtarlarla şifrelenir. Sunucu çözemediği veriyi saklar. Paylaşmayı seçtiğiniz kişilerden başka kimse sırlarınızı okuyamaz.

AbsentKey’i indirin, almak ücretsiz, iOS ve Android’de mevcut.

AbsentKey
Editöryal · Ürün

AbsentKey ekibinden şifreleme, miras ve dijital mahremiyetin yumuşak kenarları üzerine yazılar. AbsentKey sırların için ücretsiz bir kasadır: açık kaynak istemci, uçtan uca şifreleme, bulut hesabı gerekmez.