Her ciddi günlükçü eninde sonunda aynı ana çarpar. Aylardır dizüstünde yazıyorsundur — dürüstçe, ancak başka kimsenin okumayacağından emin olunca yazdığın gibi — sonra bir gün trendesindir, ya da bekleme odasındasındır, ya da gece 2'de elinde telefonla uykusuz yatıyorsundur ve tam şimdi yazılması gereken düşünce gelir. Günlüğün de öbür makinededir.
Dijital günlüğün tarihi boyunca bu anın tam iki çıkışı oldu ve ikisi de sana bir bedel ödetti.
Kimsenin Adını Koymadığı Üçlem
Her günlük uygulaması üç köşesi olan bir üçgenin içinde bir yere oturmak zorunda: gizlilik, senkronizasyon, kolaylık. Uzun süre en fazla iki köşeye sağlam basabildin.
Yalnızca-yerel uygulamalar gizlilikle sadeliği seçti. Girişlerin tek bir cihazdaki dosyalarda yaşıyordu; hiçbir sunucuya dokunmadıkları için hiçbir sunucu okuyamıyordu. Bu sahiden güvenli — ve sahiden dar. Günlüğün tek bir makineye zincirli. Cihazı kaybedersen arşivi kaybedersin. Onsuz yola çıkarsan trende gelen düşünce yazılmadan kalır ki bir günlük pratiği için bu, sessiz bir başarısızlık biçimi.
Buluta senkronize uygulamalar senkronizasyonla kolaylığı seçti — ve burada hakkaniyetli olmakta fayda var. Çoğunun girişleri sunucuda okunabilir tutmasının nedeni özensizlik ya da kötü niyet değil. Okunabilir girişler, her yerden gir, günlüğün belirsin özelliğini çalıştırmanın kolay yolu. Sunucu verini okuyabiliyorsa, doğru hesap bilgilerini gösteren her cihaza onu verebilir. Arama anında çalışır, parola sıfırlamak zahmetsizdir, destek sana yardım edebilir. Sunucu tarafında okunabilirlik, en az mühendislik direncinin yolu; düz metin not araçlarından, sunucuda şifreleyip anahtarı kendinde tutan uygulamalara kadar neredeyse bütün sektör o yoldan yürüdü. Derecesi değişiyor ama sonuç türce aynı: gizliliğin matematiğe değil bir politikaya yaslanıyor — bakmayacağız politikasına. Özel günlük uygulamalarını asıl neyin ayırdığını daha önce yazmıştık; ayrım çizgisi tam burada: bakmayız ile bakamayız.
O halde dürüst soru hangi uygulama kötü değil; bir mühendislik sorusu. Üç köşeye birden basılabilir mi? Bir günlük, onu saklayan şirket için matematiksel olarak okunmaz olup yine de sahip olduğun her cihazda açılabilir mi — hem de senden, casus romanındaki bir kurye gibi anahtar dosyalarını elde taşımanı istemeden?
Basılabilir. Tekniğin adı zarf şifrelemesi; onu görmezden gelen uygulamaların çoğundan daha eski ve daha çok sınanmış. Ürünümüzü hiç kullanmasan bile anlamaya değer, çünkü bir kez anladıktan sonra senkronize etmek için verini okumamız gerekiyor cümlesini bir daha doğa kanunu diye kabul etmezsin.
Önce Anahtar Sorunu — Kelimenin Tam Anlamıyla
Sıfır-bilgi bir günlüğün tek cihazda nasıl çalıştığından başlayalım. Hesabını açtığında cihazın rastgele 256-bitlik bir anahtar üretir. Yazdığın her giriş, cihazdan ayrılmadan önce o anahtarla şifrelenir — gizli bilgiler için güvenilen standart olan AES-256-GCM ile. Sunucuya giden şey şifreli metin. Sunucunun sakladığı şey şifreli metin. Anahtar cihazında kalır; yani sunucuyu işleten şirket yazdığın tek kelimeyi okuyamaz. Okumamayı seçiyor değil. Okuyamıyor.
Bu mimarinin bir ünlü, bir de daha sessiz sonucu var. Ünlü olanı: anahtarını kaybedersen kimse seni kurtaramaz — gerçek gizliliğin hem bedeli hem kanıtı bu. Sessiz olanı ise senkronizasyon sorunu: anahtar yalnızca dizüstünde duruyorsa, şifreli girişlerinin kusursuz bir kopyasını taşıyan telefonun, okuyamadığı bir dilde kitap taşıyor demektir. Şifreli metni senkronize etmek çocuk oyuncağı. Onu okuyabilme yetisini senkronize etmek — bütün mesele bu.
Naif çözüm — anahtarı sunucuya gönder, o da öbür cihazlarına iletsin — her şeyi yerle bir eder. Anahtar kullanılabilir halde sunucuda durduğu anda, sıradan bulut günlüğünü birkaç fazladan adımla yeniden kurmuş olursun. Şirket girişlerini yine okuyabilir; matematiği bir vaatle takas etmişsindir.
Zarf şifrelemesi, naif olmayan çözüm.
Zarf Şifrelemesi, Sade Dille
Fikrin tamamı şu: anahtar da veridir, veri de şifrelenebilir.
Günlük anahtarını fiziksel bir anahtar gibi düşün — yazdığın her şeyi tutan kasayı açan tek anahtar. O anahtarın telefonunda belirmesi gerekiyor. Açıktan postalayamazsın, çünkü postane (yani sunucu) onu yolda kopyalayıp sonsuza dek elinde tutabilir.
Bu yüzden anahtarı kilitli bir kutuya koyarsın. Kutuyu ikinci bir anahtar mühürler: yalnızca senin aklında duran özel bir paroladan türetilen bir anahtar. Artık kutuyu postaneye gönül rahatlığıyla verebilirsin. Saklasınlar, taşısınlar, yedeklesinler, yıllarca tutsunlar. Onlar için işe yaramaz. Açamadıkları bir kutu; içinde de açamadıkları bir kasanın anahtarı. İki katman yapamaz — ve iki katman da matematik.
Telefonundan oturum açtığında sunucu kutuyu teslim eder. Özel parolanı yazarsın — telefonda, yerel olarak — telefon parolandan açma anahtarını türetir, kutuyu bellekte açar ve günlük anahtarın ikinci cihazına adımını atar. Baştan beri okunmaz şifreli metin olarak serbestçe senkronize olan bütün geçmişin, okunması gereken tek yerde okunur hale gelir: senin önünde.
Bütün bunlar olurken sunucu neye tanık oldu, bak: hiçbir şeye. Parolanı görmedi, o cihazdan hiç çıkmaz. Açma anahtarını görmedi, o paroladan yerel olarak türer. Günlük anahtarını açıkta görmedi, yalnızca mühürlü kutuyu gördü. Sunucunun rolü kalıcı olarak kelimelerinin güvenilir bekçisinden, içine bakamadığı kutuların kuryesine indi. Asıl başarı da o rütbe indirimi.
Pratikte Bunun Hissettirdiği
İyi kriptografinin en çarpıcı yanı, onunla yaşamanın ne kadar sıkıcı olduğu. The Architect'te bütün bu düzenek tek bir isteğe bağlı ayar: özel bir parola seçersin, o andan itibaren günlüğün iPhone'unda da masaüstünde de açılır. Gece 2 düşüncesi telefonda yakalanır. Uzun pazar girişi masada yazılır. Seninle birlikte okuyan mentor iki parça değil, kesintisiz tek bir hayat görür — martta dizüstünde fark ettiği kalıp, temmuzda telefondan yazarken hâlâ görüş alanında; çünkü o tek bir günlük, her yerde, ve sen olmayan herkes için hâlâ okunmaz.
Bir tasarım kararı ilk bakışta göründüğünden önemli: özel parola, hesap girişinden ayrı. Girişin sunucuya kim olduğunu kanıtlar. Özel parolan günlüğüne kim olduğunu kanıtlar — ve sunucu onu asla öğrenmez. Ayrım bilinçli. Hesap girişi, sunucunun doğrulaması gereken, dolayısıyla hakkında bir şey bilmesi gereken bir şey. Özel parola ise sunucunun asla doğrulayamaması, bilememesi ve sıfırlayamaması gereken bir şey; çünkü sunucunun sıfırlayabildiği her şeyi, sunucu fiilen açabilir.
Sıfır-Bilginin Dürüst Sınırı
Kendi küçük harflerini saklayan bir gizlilik yazısı pazarlamadır; bizimki o yüzden tam burada. The Architect'te sıfır-bilgi, depolamayı tanımlar: yazılan her şey, hatırlanan her şey, saklanırken bizim çözemediğimiz şifreli metin. Mentorun cevabı üretme anını kapsamaz. Mentor bir girişe cevap verirken o girişin metni, cevabın üretildiği anda modele gider — bir model okuyamadığı kelimeler üzerine düşünemez. O düz metin cevabı üretmek için kullanılır, tutulmaz ve hiçbir modelin eğitimine girmez. Bir ürün sana yapay zekasının şifreli günlüğünü düz metne hiç dokunmadan okuduğunu söylüyorsa şüphelen; bugünün teknolojisiyle o iddia, tam da buradaki gibi bir adımı gizliyordur. Biz adımı gizlemektense adını koymayı yeğliyoruz: saklanırken sıfır-bilgi, eğitimde kullanım yok, döngüde asla insan yok — ve buradaki hiç kimse, mimari olarak, yazdıklarına göz atamaz.
En Derin Katman Hâlâ Kurtarma Anahtarı
Peki özel parolayı unutursan? Tasarım önceliklerini tam burada gösterir. Parola değiştirilebilir ya da özellik kapatılabilir — senin tarafından, günlüğünün zaten açık olduğu bir cihazdan — ama sıfırlama e-postası yok; çünkü özel parolanı sıfırlayabilen bir şirket, maymuncuk taşıyan bir şirket olurdu ve bütün mesele öyle bir anahtarın var olmaması.
Her şeyin altında, çoklu cihaz açılışından da eski bir katman durur: kurtarma anahtarın — günlük anahtarının insanın okuyabileceği hâli; başladığın gün cihazında üretildi, yalnızca sende. Zarf, anahtarı yolculuğa çıkarır; kurtarma anahtarı ise ona sahip olduğunun kanıtı. Onu bir parola yöneticisinde ya da bir çekmecede basılı tut; hiçbir unutulmuş parola, kaybolmuş telefon ya da batmış şirket arşivini senden alamaz. Kullanım koşullarıyla değil matematikle icra edilen sahiplik, işte bu.
Üçlem yıllarca, dürüst yazmak isteyen herkesten sessizce vergi aldı: ya gizlilikle öde ya erişimle. Zarf şifrelemesi bu vergiyi emekliye ayırıyor. Kutu yolculuk eder, anahtar sende kalır, günlük de sadece oradadır — trende, masada, gece 2'de — ve hâlâ başka hiç kimsenin değildir.