Bağlı taraflar için geçiş anahtarı geliştirici kılavuzu

Ş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.

Kayıt akışı

Geçiş anahtarını nasıl oluşturacağınızı ve kaydedeceğinizi ayrıntılı olarak öğrenin:

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.

Kimlik doğrulama akışı

Geçiş anahtarıyla kimlik doğrulama işlemini nasıl yapacağınızı ayrıntılı olarak öğrenin:

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:

İ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.

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:

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:

kullanıcı deneyimi

Geçiş anahtarı kullanıcı deneyimi önerilerini öğrenin: