FIDO2 Nedir? Passkey Teknolojisinin Arkasındaki Sistem
Passkey kullanıyorsunuz ya da yakında kullanmayı düşünüyorsunuz. Peki bu sistemin altında ne var? Passkey'in çalışmasını sağlayan, onu bir ürün değil bir standart haline getiren mimari FIDO2 adını taşıyor. Google, Apple veya Microsoft'un passkey özelliği açtığında hepsinin aynı temele dayandığı, birbirleriyle uyumlu çalıştığı ve şifresiz kimlik doğrulamayı güvenli biçimde hayata geçirebildiği — bunların tamamının arkasında FIDO2 var.
FIDO2'yi duymamış olmak gayet normal. Çoğu kullanıcı yüzeyde ne gördüğüyle ilgileniyor: parmak iziyle giriş, şifre yok, daha hızlı ve kolay erişim. Ama altta yatan standardı anlamak, passkey'e neden güvenilebildiğini, farklı platformlarda neden aynı şekilde çalıştığını ve bu teknolojinin neden belirli saldırı türlerine yapısal olarak kapalı olduğunu görmek açısından değerli. Standartları anlamak teknik bir zorunluluk değil; bir güvenlik kararını bilinçli vermenin yolu.
Bu yazıda FIDO2'nin ne olduğunu, bileşenlerini, FIDO Alliance ile ilişkisini, passkey öncesindeki kullanım biçimlerini ve passkey'in bu standartta nerede konumlandığını ele alıyoruz.
FIDO2, açık kimlik doğrulama standardı olarak neyi tanımlıyor
FIDO2, kimlik doğrulama işleminin şifre olmadan, güvenli ve birlikte çalışabilir biçimde nasıl gerçekleşeceğini tanımlayan açık bir teknik standart. "Açık" kelimesinin burada özellikle önemi var: FIDO2 belirli bir şirketin ürünü değil. Herhangi bir platform, uygulama veya cihaz üreticisi bu standarda uygun bir kimlik doğrulama sistemi kurabilir ve diğer FIDO2 uyumlu sistemlerle sorunsuz çalışabilir hale gelebilir.
Standardın özünde şu fikir var: kimlik doğrulama süreci, sunucuya gizli bir bilgi (şifre) göndermek yerine kriptografik bir ispata dayanmalı. Kullanıcı kimliğini "bunu biliyorum" yerine "bunu kanıtlayabilirim" yöntemiyle doğruluyor. Özel anahtar cihazı terk etmiyor; sunucu yalnızca imzayı doğruluyor. Bu mimari, şifre tabanlı sistemlerin çoğu zafiyetini — veri tabanı sızıntısı, kimlik avı, tahmin saldırıları — köklü biçimde ortadan kaldırıyor.
FIDO2, iki ayrı teknik spesifikasyonun birleşiminden oluşuyor: Web Authentication (WebAuthn) ve Client to Authenticator Protocol (CTAP). Bu ikisi birlikte çalışarak tarayıcı ile kimlik doğrulama cihazı arasındaki iletişimi standart hale getiriyor. Kullanıcı ne görüyor? Parmak izi taraması veya PIN. Arka planda ne oluyor? Kriptografik anahtar çifti oluşturma, imzalama ve doğrulama.
FIDO Alliance bu standardı hangi ihtiyacı karşılamak için oluşturdu
FIDO Alliance, 2012 yılında PayPal, Lenovo, Nok Nok Labs ve birkaç başka şirketin öncülüğünde kuruldu. Kuruluşun motivasyonu net bir gözlemden kaynaklanıyordu: şifreler her ölçekte başarısız oluyordu. Kullanıcılar şifreleri yeniden kullanıyor, platformlar şifreleri düz metin ya da zayıf şifreli biçimde saklıyor, kimlik avı saldırıları şifreleri kolayca ele geçirebiliyordu. Güvenli kimlik doğrulama için ortak bir temel oluşturulması gerekiyordu.
Alliance, 2014'te FIDO U2F ve FIDO UAF standartlarını yayımladı. U2F, fiziksel güvenlik anahtarlarının ikinci faktör olarak kullanılmasını tanımlıyordu; UAF ise biyometrik kimlik doğrulamayı aygıt düzeyinde standartlaştırıyordu. 2018'de bu iki standart FIDO2 çatısı altında birleştirildi ve W3C (World Wide Web Consortium) WebAuthn'u bir web standardı olarak kabul etti. Bu adımla FIDO2, tarayıcı entegrasyonu sayesinde geniş bir platforma yayılma imkânı buldu.
Bugün FIDO Alliance'ın üyeleri arasında Google, Apple, Microsoft, Amazon, Meta, Samsung, Intel ve yüzlerce başka şirket var. Bu geniş üyelik tabanı, standardın tek bir şirketin stratejisine bağlı olmadığını ve uzun vadeli devamlılığının güvence altında olduğunu gösteriyor. Passkey'in neden güvenilir kabul edildiğinin bir kısmı bu çok taraflı yapıdan geliyor.
WebAuthn FIDO2'nin tarayıcı ve platform tarafını üstleniyor
WebAuthn, FIDO2'nin iki ana bileşeninden biri. W3C tarafından yönetilen bu API, web uygulamalarının ve tarayıcıların kimlik doğrulama cihazlarıyla nasıl iletişim kuracağını tanımlıyor. Bir siteye passkey ile giriş yaptığınızda, o sitenin arka ucunda WebAuthn API çalışıyor. Tarayıcı bu API üzerinden işletim sistemiyle, işletim sistemi de doğrulayıcı (authenticator) ile konuşuyor.
WebAuthn'un önemi, platform bağımsız olmasında yatıyor. Chrome, Safari, Firefox veya Edge fark etmeksizin aynı standart geçerli. Windows Hello, iCloud Anahtarlık veya Google Şifre Yöneticisi fark etmeksizin aynı kriptografik süreç işliyor. Bu birlikte çalışabilirlik, kullanıcının hangi cihaz veya tarayıcıyı tercih ettiğinden bağımsız olarak tutarlı bir deneyim sunuyor.
CTAP ise ikinci bileşen. Client to Authenticator Protocol, bir cihazın (bilgisayar ya da telefon) harici bir kimlik doğrulayıcıyla — örneğin fiziksel bir USB güvenlik anahtarıyla — nasıl haberleşeceğini belirliyor. Passkey kullanımında CTAP genellikle arka planda çalışıyor ve kullanıcıya görünmüyor; ama donanım tabanlı kimlik doğrulayıcıların entegrasyonunu mümkün kılan katman bu.
WebAuthn'un getirdiği pratik sonuç şu: bir web sitesi FIDO2/WebAuthn desteği eklediğinde, ayrıca iOS mu Android mi, Chrome mu Safari mi gibi sorularla uğraşmak zorunda kalmıyor. Standart bu uyumu zaten tanımlıyor. Geliştirici açısından bakıldığında bu büyük bir kolaylık; kullanıcı açısından bakıldığında ise platform kilitlenmesi riskini azaltan bir güvence.
Passkey öncesinde FIDO2 donanım anahtarlarıyla hayata geçmişti
Passkey kelimesini duymadan çok önce FIDO2 zaten kullanımdaydı — ama farklı bir biçimde. Fiziksel güvenlik anahtarları, FIDO2'nin ilk ve en yaygın tüketici uygulamasıydı. YubiKey bu kategorinin en tanınan örneği. USB-A, USB-C veya NFC üzerinden bağlanan bu küçük donanım parçaları, FIDO2 standardına göre kimlik doğrulama yapıyordu.
Kurumsal güvenlik ekiplerinde, gazetecilerde, aktivistlerde ve yüksek hedefli hesapların sahiplerinde fiziksel güvenlik anahtarı kullanımı yaygınlaştı. Google 2018'de tüm çalışanlarına donanım anahtarı dağıtıp şifresiz giriş zorunluluğu getirdi ve ardından kimlik avı kaynaklı hesap ihlali sayısının sıfıra düştüğünü açıkladı. Bu sonuç FIDO2'nin gerçek dünya koşullarındaki etkinliğini somut olarak ortaya koydu.
Donanım anahtarlarının sınırlılığı açıktı: fiziksel bir nesne taşımayı gerektiriyor, kaybolabiliyordu, her cihaza takılması gerekiyordu ve çoğu sıradan kullanıcı için erişim bariyeri yüksekti. Passkey bu bariyeri ortadan kaldırdı. Telefon veya bilgisayar zaten herkesin yanında; biyometrik doğrulama zaten cihazda var. Passkey, FIDO2'nin kurumsal dünyada donanım anahtarlarıyla sağladığı güvenliği, sıradan kullanıcılar için ek bir cihaz gerektirmeden sunmayı başardı.
Authenticator uygulamalarıyla karşılaştırıldığında da FIDO2 tabanlı yöntemlerin farkı belirgin. Authenticator uygulamaları TOTP (Time-based One-Time Password) kullandığı için gerçek zamanlı kimlik avına karşı tam koruma sağlamıyor; kod ele geçirilebilir. FIDO2'nin kriptografik yapısı ise bu senaryoyu mümkün kılmıyor çünkü her doğrulama domain'e özgü ve tekrarlanamaz.
Passkey, FIDO2 standardının geniş kitleye açılan uygulama biçimi
Passkey yeni bir standart değil. FIDO2'nin senkronize edilebilir kimlik bilgisi (synced credential) olarak hayata geçirilmiş biçimi. Aradaki en kritik fark depolama ve taşınabilirlik. Donanım anahtarlarındaki FIDO2 kimlik bilgisi o anahtarda kalıyordu; kaybedilirse geri alınamıyordu. Passkey ise iCloud Anahtarlık, Google Şifre Yöneticisi veya uyumlu bir şifre yöneticisi aracılığıyla buluta senkronize edilerek cihazlar arasında taşınabiliyor.
Bu senkronizasyon özelliği FIDO Alliance'ın 2022'de Apple, Google ve Microsoft ile birlikte duyurduğu bir genişleme. Üç büyük platform aynı anda passkey desteğini hayata geçirmeyi taahhüt etti ve bu taahhüt kısa sürede ürünlere yansıdı. iOS 16, Android 9+, macOS Ventura ve Windows 10/11 bu genişlemenin ilk platformları oldu. Passkey kurulumu artık bu cihazlarda standart güvenlik ayarlarının bir parçası.
FIDO2 standardı değişmedi; passkey onun üzerine eklenen bir kullanılabilirlik katmanı. Kriptografik altyapı aynı: asimetrik anahtar çifti, özel anahtarın cihazı terk etmemesi, domain'e özgü kimlik doğrulama. Passkey bu temeli korurken senkronizasyon ve kullanım kolaylığı ekliyor. Sonuç olarak bir passkey, FIDO2 protokolüne göre oluşturulmuş ve yönetilen bir kimlik bilgisi — ama artık onu saklamak için fiziksel bir donanım parçasına gerek yok.
Standartların önemi pratikte şöyle ortaya çıkıyor: iPhone'da oluşturulan bir passkey, Android cihazda çalışmayabilir — ama bu standardın değil, platform senkronizasyon sınırlarının bir sonucu. FIDO2 standardı her iki platformu da destekliyor. İki platform arasında geçiş yapılırken passkey'in çalışıp çalışmayacağı, kullanılan şifre yöneticisinin ve platformun bu birlikte çalışabilirliği ne ölçüde uyguladığına bağlı. Standart mümkün kılıyor; uygulama sınırları çiziyor.
FIDO2'yi bilmek, passkey güvenliğine duyulan güveni rastgele bir şirkete ya da ürüne değil, açık ve denetlenebilir bir teknik standarda dayandırmayı mümkün kılıyor. Kimlik avı saldırılarına karşı neden yapısal bir koruma sağladığı, neden cihazlar arasında güvenle çalışabildiği ve neden uzun vadede sağlam bir seçenek olarak değerlendirilebildiği — bu soruların tamamı FIDO2'nin mimarisinde yanıt buluyor. Yüzeyin altına bakmak her zaman isteğe bağlı; ama bakıldığında görünen tablo güven verici.