Şifre anahtarlarını hizmetinize nasıl entegre edebileceğinizi öğrenin.
Geçiş anahtarı sisteminin anatomisi
Geçiş anahtarı sistemi birkaç bileşenden oluşur:
- Bağlı taraf: Geçiş anahtarı bağlamında bağlı taraf (kısaca RP), geçiş anahtarı vermeyi ve kimlik doğrulamayı yönetir. RP, bir istemci (geçiş anahtarları oluşturan veya geçiş anahtarlarıyla kimlik doğrulayan bir web sitesi veya uygulama) ve istemcideki geçiş anahtarları tarafından oluşturulan kimlik bilgilerini kaydetmek, depolamak ve doğrulamak için bir sunucu işletmelidir. Geçiş anahtarı mobil uygulaması, işletim sistemi tarafından sağlanan Dijital Öğe Bağlantıları gibi bir ilişkilendirme mekanizması kullanılarak bir RP sunucusu alanına bağlanmalıdır.
- Authenticator: İşletim sisteminin sunduğu ekran kilidi özelliğini kullanarak geçiş anahtarları oluşturup doğrulayabilen cep telefonu, tablet, dizüstü bilgisayar veya masaüstü bilgisayar gibi bir bilgi işlem cihazı.
- Şifre yöneticisi: Son kullanıcının cihazlarında yüklü olan ve geçiş anahtarlarını sunan, depolayan ve senkronize eden Google Şifre Yöneticisi gibi yazılımlardır.
Kayıt akışı
Yeni bir geçiş anahtarı oluşturmak ve kaydetmek için web sitesinde WebAuthn API'yi veya bir Android uygulamasında Kimlik Bilgisi Yöneticisi kitaplığını kullanın.
Yeni bir geçiş anahtarı oluşturmak için sağlamanız gereken birkaç temel bileşen vardır:
- RP ID: Bağlı tarafın kimliğini web alanı biçiminde sağlayın.
- Kullanıcı bilgileri: Kullanıcının kimliği, kullanıcı adı ve görünen adı.
- Hariç tutulacak kimlik bilgileri: Kayıtların yinelenmesini önlemek için, önceden depolanan geçiş anahtarlarıyla ilgili bilgiler.
- Geçiş anahtarı türleri: Cihazın kendisini ("platform kimlik doğrulayıcı") bir kimlik doğrulayıcı olarak mı yoksa çıkarılabilir bir güvenlik anahtarı ("platformlar arası / dolaşım kimlik doğrulayıcı") olarak mı kullanacağınız. Buna ek olarak, arayanlar kullanıcının oturum açmak için bir hesap seçebilmesi için kimlik bilgilerinin bulunabilir olup olmayacağını belirtebilir.
Bir RP geçiş anahtarı oluşturma isteğinde bulunduğunda ve kullanıcı bunu ekran kilidiyle doğruladıktan sonra yeni bir geçiş anahtarı oluşturulur ve ortak anahtar kimlik bilgisi döndürülür. Bunu sunucuya gönderin ve kimlik bilgisi kimliği ile ortak anahtarı gelecekteki kimlik doğrulama işlemleri için saklayın.
Geçiş anahtarını nasıl oluşturacağınızı ve kaydedeceğinizi ayrıntılı olarak öğrenin:
- Web'de: Şifresiz girişler için geçiş anahtarı oluşturma
- Android'de: Kimlik Bilgisi Yöneticisi API'sini kullanarak geçiş anahtarlarıyla uygulamalarınıza sorunsuz kimlik doğrulama olanağı sunma
Kimlik doğrulama akışı
Kayıtlı bir geçiş anahtarıyla kimlik doğrulamak için web sitesinde WebAuthn API'yi veya Android uygulamasında Kimlik Bilgisi Yöneticisi kitaplığını kullanın.
Geçiş anahtarıyla kimlik doğrulamak için sağlanması gereken birkaç temel bileşen vardır:
- RP ID: Bağlı tarafın kimliğini web alanı biçiminde sağlayın.
- Görev: Tekrar oynatma saldırılarını önleyen, sunucu tarafından oluşturulan bir sorgulama.
Bir RP, geçiş anahtarıyla kimlik doğrulama isteğinde bulunduğunda ve kullanıcı bunu ekran kilidiyle doğruladığında, ortak anahtar kimlik bilgisi döndürülür. Bunu sunucuya gönderin ve depolanan ortak anahtarla imzayı doğrulayın.
Geçiş anahtarıyla kimlik doğrulama işlemini nasıl yapacağınızı ayrıntılı olarak öğrenin:
- Web'de: Formları otomatik doldurma özelliği aracılığıyla geçiş anahtarıyla oturum açma
- Android'de: Kimlik Bilgisi Yöneticisi API'sini kullanarak geçiş anahtarlarıyla uygulamalarınıza sorunsuz kimlik doğrulama olanağı sunma
Sunucu tarafı entegrasyonlar
Geçiş anahtarı oluşturulduktan sonra sunucunun; giriş sorgulaması, kullanıcı bilgileri, hariç tutulacak kimlik bilgisi kimlikleri gibi anahtar parametreleri sağlaması gerekir. Daha sonra, istemciden gönderilen, oluşturulan ortak anahtar kimlik bilgisini doğrular ve ortak anahtarı veritabanında saklar. Geçiş anahtarıyla kimlik doğrulamak için sunucunun kimlik bilgisini dikkatli bir şekilde doğrulaması ve kullanıcının oturum açabilmesi için imzayı doğrulaması gerekir.
Ancak geçiş anahtarı sunucusunu tek başınıza oluşturmak zaman açısından verimli değildir ve kritik bir güvenlik olayına yol açabilecek hatalara neden olabilir. Mevcut açık kaynak kitaplıklardan birini veya geçiş anahtarlarını entegre etmeyi hızlandırmanıza yardımcı olabilecek bir çözüm kullanmanızı öneririz.
Açık kaynak kitaplıkların listesini bulmak için passkeys.dev'in Kitaplıklar bölümüne veya WebAuthn kitaplıklarının kitle kaynaklı listesine göz atın. Çözüm bulmak için FIDO Alliance'ın sertifikalı FIDO2 sunucularından oluşan bir listesi vardır.
Mevcut (eski) kimlik doğrulama sistemleri
Mevcut hizmetinizde geçiş anahtarlarını desteklediğinizde, şifreler gibi eski kimlik doğrulama mekanizmasından şifre anahtarlarına geçiş bir gün içinde gerçekleşmez. Zayıf kimlik doğrulama yöntemini mümkün olduğunca kısa süre içinde kaldırmak isteyeceğinizi biliyoruz, ancak bu durum kullanıcıların kafasını karıştırabilir veya bazı kullanıcıları geride bırakabilir. Şimdilik mevcut kimlik doğrulama yöntemini kullanmaya devam etmenizi öneririz.
Bunun birkaç nedeni vardır:
- Geçiş anahtarı uyumlu olmayan bir ortamda kullanıcılar var: Geçiş anahtarı desteği, birden fazla işletim sisteminde ve tarayıcıda geniş bir yelpazeye yayılıyor ancak eski sürümleri kullananlar henüz geçiş anahtarı kullanamamaktadır.
- Geçiş anahtarı ekosistemi henüz olgunlaşmadı: Geçiş anahtarı ekosistemi gelişiyor. Farklı ortamlar arasındaki kullanıcı deneyimi ayrıntıları ve teknik uyumluluk iyileştirilebilir.
- Kullanıcılar henüz geçiş anahtarıyla yaşamaya hazır olmayabilir: Yeni bir şeyler seçmekten çekinen kişiler vardır. Geçiş anahtarı ekosistemi olgunlaştıkça geçiş anahtarlarının işleyiş şekli ve kendileri için neden faydalı olduğu konusunda bir fikir edinirler.
Mevcut kimlik doğrulama mekanizmanızı yeniden gözden geçirin
Geçiş anahtarları, kimlik doğrulama işleminizi daha basit ve daha güvenli hale getirse de eski sistemleri korumak boşluk bırakmak gibidir. Mevcut kimlik doğrulama mekanizmalarınızı tekrar gözden geçirmenizi ve iyileştirmenizi öneririz.
Şifreler
Güçlü şifreler oluşturmak ve bunları her web sitesi için yönetmek, kullanıcılar için zor bir görevdir. Sistemde yerleşik veya bağımsız bir şifre yöneticisi kullanmanız önemle tavsiye edilir. Web siteleri ve uygulamalar, oturum açma formunda ufak bir ayarlama yaparak güvenliklerinde ve oturum açma deneyiminde büyük fark yaratabilir. Bu değişiklikleri nasıl yapabileceğinize göz atın:
- Oturum açma formuyla ilgili en iyi uygulamalar (Web)
- Kayıt formuyla ilgili en iyi uygulamalar (Web)
- Kimlik Bilgisi Yöneticisi ile kullanıcınızda oturum açma (Android)
İki faktörlü kimlik doğrulama
Şifre yöneticisi kullanmak kullanıcıların şifreleri işlemesine yardımcı olsa da tüm kullanıcılar bunları kullanmaz. Tek kullanımlık şifre (OTP) adı verilen ek bir kimlik bilgisi istemek bu tür kullanıcıları korumak için yaygın bir uygulamadır. OTP'ler genellikle e-posta, SMS mesajı veya Google Authenticator gibi bir kimlik doğrulayıcı uygulama aracılığıyla sağlanır. OTP'ler genellikle yalnızca sınırlı bir süre için dinamik olarak oluşturulan ve sınırlı bir süre için geçerli olan kısa metinler olduğundan hesabın ele geçirilme ihtimali azalır. Bu yöntemler, geçiş anahtarı kadar güçlü olmasa da kullanıcılara yalnızca şifre bırakmaktan çok daha iyidir.
OTP gönderme yöntemi olarak SMS'i seçerseniz OTP'yi girmek için kullanıcı deneyimini kolaylaştırmak için aşağıdaki en iyi uygulamalara göz atın.
Kimlik federasyonu
Kimlik federasyonu, kullanıcıların güvenli ve kolay bir şekilde oturum açmasına olanak tanıyan başka bir seçenektir. Kimlik federasyonu sayesinde web siteleri ve uygulamalar, kullanıcıların üçüncü taraf bir kimlik sağlayıcıdan alınan kullanıcı kimliğini kullanarak oturum açmasına izin verebilir. Örneğin Google ile oturum açma, geliştiricilerin harika dönüşümler elde etmesini sağlar ve kullanıcılar şifre tabanlı kimlik doğrulamayı daha kolay ve tercih eder. Kimlik federasyonu, şifre anahtarlarını tamamlar. Web sitesi veya uygulama, kullanıcının temel profil bilgilerini tek bir adımda elde edebileceğinden kaydolmak için idealdir. Geçiş anahtarları yeniden kimlik doğrulamayı kolaylaştırmak için idealdir.
Chrome'un 2024'te üçüncü taraf çerezlerini kullanımdan kaldırmasının ardından, bazı kimlik federasyon sistemlerinin oluşturulma biçimlerine bağlı olarak bu durumdan etkilenebileceğini unutmayın. Etkiyi azaltmak için Federated Credential Management API (kısaca FedCM) adlı yeni bir tarayıcı API'si geliştiriliyor. Bir kimlik sağlayıcı işletiyorsanız ayrıntıları inceleyin ve FedCM'yi kullanmaya ihtiyacınız olup olmadığını öğrenin.
- Federated Credential Management API (Web, FedCM)
- Web için Google ile oturum açma özelliğine genel bakış (Web, Google ile oturum açma)
- Android'de One Tap ile oturum açmaya genel bakış (Android, One Tap ile oturum açma)
"Sihirli Bağlantılar"
Sihirli bağlantı ile oturum açma, bir hizmetin e-posta üzerinden giriş bağlantısı dağıttığı bir kimlik doğrulama yöntemidir. Kullanıcılar bu bağlantıyı tıklayarak kendi kimliklerini doğrulayabilir. Bu yöntem, kullanıcıların şifre hatırlamadan oturum açmasına yardımcı olsa da tarayıcı/uygulama ile e-posta istemcisi arasında geçiş yapmak zor olur. Ayrıca, kimlik doğrulama mekanizması e-postaya dayalı olduğundan e-posta sağlayıcısının zayıf güvenliği, kullanıcı hesaplarını riske atabilir.
Eğitici kaynaklar
Web
Geçiş anahtarlarını web sitenize entegre etmek için Web Authentication API (WebAuthn) kullanın. Daha fazla bilgi için aşağıdaki kaynaklara göz atın:
- Şifresiz girişler için geçiş anahtarı oluşturma: Kullanıcıların web siteleri için geçiş anahtarı oluşturmasına nasıl izin verileceğini açıklayan bir makale.
- Form otomatik doldurma aracılığıyla geçiş anahtarıyla oturum açma: Geçiş anahtarlarıyla şifresiz oturum açma özelliğinin, mevcut şifre kullanıcıları için de uygun şekilde tasarlanması gerektiğini açıklayan bir makale.
- Web uygulamasında form otomatik doldurma özelliğiyle geçiş anahtarlarını uygulama: Daha basit ve daha güvenli bir oturum açma deneyimi oluşturmak için geçiş anahtarlarını web uygulamasında otomatik form doldurma özelliğiyle nasıl uygulayacağınızı öğrenmenizi sağlayan bir codelab.
- Web uygulamasında otomatik form doldurma özelliğiyle geçiş anahtarlarını nasıl uygulayacağınızı öğrenin: Daha kolay ve daha güvenli bir oturum açma deneyimi sunmak amacıyla geçiş anahtarlarını web uygulamasına otomatik form doldurma özelliğiyle entegre etmek için codelab'i gösteren bir atölye videosu Web uygulamasında form otomatik doldurma özelliğiyle geçiş anahtarlarını uygulayın.
- İlk WebAuthn uygulamanızı oluşturun: Web sitenizde bir geçiş anahtarıyla basit bir yeniden kimlik doğrulama işlevini nasıl oluşturacağınızı öğrenmenizi sağlayan bir codelab.
Android
Geçiş anahtarlarını Android uygulamanıza entegre etmek için Kimlik Bilgisi Yöneticisi kitaplığını kullanın. Daha fazla bilgi için aşağıdaki kaynaklara göz atın:
- Sign in your user with Credential Manager (Kimlik Bilgisi Yöneticisi ile kullanıcınızda oturum açma): Kimlik Bilgisi Yöneticisi'nin Android'e nasıl entegre edileceğini anlatan bir makale. Kimlik Bilgisi Yöneticisi, tek bir API'de kullanıcı adı ve şifre, geçiş anahtarları ve birleşik oturum açma çözümleri (ör. Google ile oturum açma) gibi çoklu oturum açma yöntemlerini destekleyen bir Jetpack API'dir
- Credential Manager API'sini kullanarak geçiş anahtarlarıyla uygulamalarınıza sorunsuz kimlik doğrulama sağlama: Android'de Kimlik Bilgisi Yöneticisi aracılığıyla geçiş anahtarlarını nasıl entegre edeceğinizi açıklayan bir makale.
- Android uygulamanızda Credential Manager API'yi kullanarak kimlik doğrulama süreçlerini nasıl basitleştireceğinizi öğrenin: Uygulamanızda geçiş anahtarları veya şifre kullanarak sorunsuz ve güvenli kimlik doğrulama sağlamak için Credential Manager API'yi nasıl uygulayacağınızı öğrenin.
- Kimlik Bilgisi Yöneticisi Örnek Uygulaması: Geçiş anahtarlarını barındıran Kimlik Bilgisi Yöneticisi'ni çalıştıran örnek bir kod.
- Kimlik Bilgisi Yöneticisi'ni, kimlik bilgisi sağlayıcı çözümünüzle entegre etme | Android Developers
kullanıcı deneyimi
Geçiş anahtarı kullanıcı deneyimi önerilerini öğrenin: