Passkey: var olmayan şifre

Yayınlanma yazan David Carrero

Bütün şifre hikâyeleri aynı yerde biter: birinin elinde senin sırrın vardı, bir yerde saklıyordu ve onu kaybetti.

Yıl fark etmez. Başlangıçta sır, ortak kullanılan bir bilgisayarda düz metin bir dosyada duruyordu ve sisteme “şunu bir yazdırır mısın” demek yetiyordu. 1979’da Morris ve Thompson, çalınan bir listenin anında bir şifre listesine dönüşmemesi için hash hesabının nasıl tuzlanacağını ve nasıl pahalılaştırılacağını anlattı; bu devasa bir iyileştirmeydi. Sonra da bize sonuna bir sembol koyduran kompozisyon kuralları geldi. Ama bunca zamanda sorunun şekli bir milim bile kımıldamadı: bir sır var, sen onu biliyorsun, sunucu onu doğrulayabiliyor, dolayısıyla sunucunun kaybedecek bir şeyi var.

O günden beri yaptığımız her şey, bu sırrı daha uzun, daha tuhaf, daha tuzlu, kırılması daha yavaş hale getirmekten ibaret. Kimse bir önceki soruyu sormadı: ya ortak bir sır hiç olmasaydı?

1976 bir sırrın iki yarısı olabileceği fikri

1976’da Whitfield Diffie ve Martin Hellman New Directions in Cryptography makalesini yayımladı. Fikir o kadar basitti ki neredeyse hakaret gibiydi: bir anahtar, birbirinin yerine geçmeyen iki parçaya bölünebilir. Birini dört bir yana dağıtırsın; öteki evinden dışarı çıkmaz. Özel anahtarla imzaladığın şey açık anahtarla doğrulanır, ama açık anahtar hiçbir şey imzalamaya yaramaz.

Şimdi bunu bir sunucuyu düşünerek tekrar oku: site artık içeri girmeye yarayan bir şey saklamak zorunda değil. Elinde yalnızca hiçbir kapıyı açmayan yarısı kalıyor.

Bu fikrin bankanın ekranına ulaşması için yarım yüzyıla yakın süre geçmesi, sektörümüz adına pek iç açıcı bir şey söylemiyor. İstemci sertifikaları vardı ve çalışıyordu; olmayan şey, onları kullanmak için mühendislik diploması gerektirmeyen bir yoldu. Kriptografi çözülmüştü. Kullanılabilirlik çözülmemişti.

2013 bir değişiklik olsun diye birileri anlaşıyor

2013’te, ilan edilmiş ve hiç de mütevazı olmayan tek bir hedefi olan endüstriyel bir konsorsiyum doğdu: FIDO Alliance. Şifrelere olan bağımlılığı azaltmak. Önemli olan teknoloji değildi —o zaten vardı— asıl önemli olan, üreticilerin, tarayıcıların ve servislerin oturup aynı protokolde anlaşmasıydı. Kulağa bürokrasi gibi geliyor ama eksik olan tam da buydu: yalnızca tek bir tarayıcıda ve tek bir serviste çalışan bir kimlik doğrulama yöntemi, yöntem değildir; olsa olsa bir anekdottur.

2019 tarayıcı kriptografi yapmayı öğreniyor

Mart 2019’da WebAuthn, W3C tavsiyesi hâline geldi. Türkçesi: artık herhangi bir sayfa, tarayıcıdan —standart bir API ile, eklentisiz, sürücüsüz— bir anahtar çifti üretmesini ve onunla imza atmasını isteyebiliyordu.

Akış, süsü püsü olmadan şöyle. Kaydolduğunda cihazın o siteye özel yepyeni bir anahtar çifti üretir. Açık anahtarı gönderir. Özel anahtarı kendinde tutar; cihazın kendisi saklar, parmak izin, yüzün ya da cihazın PIN’i korur. Geri döndüğünde site sana rastgele bir meydan okuma yollar, cihazın onu imzalar, site de imzayı elindeki açık anahtarla doğrular.

Şimdi de olmayan şeye dikkat et: ortada yolculuk eden hiçbir sır yok. Sunucu senin özel anahtarını hiçbir zaman eline almadı, dolayısıyla onu kaybedemez. Yarın bütün veritabanı sızdırılsa, ele geçen şey bir açık anahtar listesi olur — aşağı yukarı telefon rehberi çalmak gibi. GPU’dan geçirilecek hash yok, denenecek sözlük yok. Mesele zor olması değil: orada değeri olan hiçbir şey yok.

Yan etki, fikrin kendisinden daha büyük

Cihazın o anahtar çiftini üretirken onu alan adına bağlar. bankan.com.tr için sakladığı anahtar yalnızca bankan.com.tr sitesine sunulur. Bu bir politika değil, bir uyarı değil, adres çubuğunda kırmızı bir ikaz değil: bankan-guvenlik.com için bir anahtar yok, öyle bir şey hiç var olmadı. Tarayıcı onu bulamıyor çünkü hiçbir zaman üretilmedi.

Bu, oltalamayı öldürür. Azaltmaz: mekanizmasız bırakır. Oltalamanın bütün ticareti senin şifreni yanlış siteye yazabiliyor olmana dayanır ve biz bunu yıllardır kullanıcı eğitimiyle, farkındalık kampanyalarıyla düzeltmeye çalışıyoruz. Hepsi semptomu tedavi etmekti. Senin gözün benzer bir adrese kanar; telefonun kanmaz. O okumuyor: dizgi karşılaştırıyor.

Bu arada, diğer büyük günahı da yanında götürüyor: aynı şifreyi her yerde kullanmayı. Her sitenin kendi anahtar çifti var. İstesen bile tekrar kullanabileceğin bir şey yok.

2022 sözü geçen üçlü barışı imzalıyor

Mayıs 2022’de Apple, Google ve Microsoft ortak bir açıklamayla FIDO kimlik bilgileri —yani passkey’ler— için desteği kendi platformlarında ve tarayıcılarında genişleteceklerini duyurdu.

İşte bunu teknik bir dipnottan, annene anlatabileceğin bir şeye çeviren şey buydu. O güne kadar WebAuthn neredeyse her zaman fiziksel bir USB anahtar demekti: mükemmel, ama üç kişi için. Passkey ise zaten elinde tuttuğun telefonun içinde yaşıyor ve yüzünle açılıyor.

Düzeltmedikleri

Şimdi de küçük puntolu kısım, çünkü sektör önümüzdeki yılları onun var olmadığını varsayarak geçirecek.

Kurtarma hâlâ yumuşak karın. Boşluk yok olmadı: yer değiştirdi. Cihazını kaybedersen birinin senin sen olduğuna karar vermesi gerekiyor ve bu karar neredeyse her zaman e-postayla, SMS’le ya da çağrı merkezindeki bir insanla konuşarak veriliyor. O insan, eskiden olduğunun tam olarak aynı hedefi. Ön kapıyı çelikledin, arka kapı yerli yerinde duruyor.

Senkronizasyon seni bir ekosisteme bağlıyor. Passkey’ler rahat, çünkü platformun onları cihazların arasında kopyalıyor. Bu da anahtarlarının belirli bir şirketin anahtarlığında yaşadığını söylemenin başka bir yolu. Oradan çıkmak imkânsız değil ama tek düğmelik bir iş de değil. Hatırlama sorununu, ait olma sorunuyla değiştirdin.

Ve telefonunu kaybedersen yine de girmen gerekiyor. Bu da pratikte şu demek: neredeyse hiçbir site şifreyi kaldırmadı; sadece bir “giriş yapamıyor musunuz?” bağlantısının arkasına sakladı. O bağlantı var oldukça şifre de var ve her zamanki kadar kötü. Zincir, sunduğun en zarif yöntemden değil, kabul ettiğin en zayıf yöntemden kopar.

Bu arada ne yapmalı

Passkey’i sana sunan her yerde etkinleştir ve düşerse en çok canını yakacak olandan başla: e-posta, banka, diğerlerine girmek için kullandığın hesap. Üstelik bu, sana iş çıkarmak yerine iş azaltan o birkaç güvenlik iyileştirmesinden biri.

Ve kendini kandırma: yıllarca, hiç değilse B planı olarak, şifrelerin olmaya devam edecek. Bari uzun olsunlar, her sitede farklı olsunlar ve bir parola yöneticisinde dursunlar. Kafandan çıkmayacak bir tane istiyorsan üretici burada; elindekinin bir şeye dayanıp dayanmadığını merak ediyorsan kontrol aracından geçir.

Nöbetçinin o eski sorusunun —bizden misin?— nihayet farklı bir cevabı var. Onlarca yıl boyunca, duyulabilecek bir kelime söyleyerek cevap verdik. Şimdi ise yalnızca senin cihazının atabileceği bir imzayla cevap veriyoruz; o kelime hiç var olmadan. İlk kez kelimeyi değil, sorunun kendisini değiştiriyoruz.


Kaynaklar: W. Diffie ve M. Hellman, “New Directions in Cryptography”, IEEE Transactions on Information Theory, 1976 · R. Morris ve K. Thompson, “Password Security: A Case History”, Communications of the ACM, 1979 · FIDO Alliance, 2013’te kuruldu · “Web Authentication: An API for accessing Public Key Credentials”, W3C tavsiyesi, Mart 2019 · Apple, Google ve Microsoft’un passkey desteğine dair ortak duyurusu, Mayıs 2022.

← Bloga dön