WebAuthn
WebAuthn, açık anahtarla giriş için tarayıcı API’sidir. Tarayıcıdan gelen yanıt, giriş kabul edilmeden önce sunucuda kontrol edilmelidir.
Tarayıcıda açık anahtar kullanmak
WebAuthn, açık anahtarlı kriptografik giriş bilgilerinin kaydı ve kullanımı için tarayıcı API’sidir. Passkey’ler webde bu arayüzü kullanır. Kayıt navigator.credentials.create(), sonraki giriş ise navigator.credentials.get() üzerinden yapılır. API güvenli bir bağlam gerektirir; normal web işletiminde bu genellikle HTTPS’tir.
Sunucu kontrolü girişin parçasıdır
Kurgusal bir proje portalı her giriş denemesi için yeni, rastgele bir challenge üretir. Tarayıcı bu istek için imzalı yanıt oluşturulmasını sağlar. rpId tanımlayıcısı işlemi hedef hizmete bağlar. Portal sunucusu, diğer kontrollerin yanında kayıtlı açık anahtarla imzayı, beklenen challenge değerini ve hizmet bağlantısını kontrol eder. Sitenin protokol, ana makine adı ve portundan oluşan beklenen origin de kontrole dahildir.
Bu nedenle tarayıcının döndürdüğü nesne tek başına portala başarılı erişim anlamına gelmez. Uygulama girişi ancak sunucudaki kontrolden sonra kabul eder. Bu portalda iptal edilen iletişim kutusu onaylanmış giriş oluşturmaz; arayüz bu durumu anlaşılır biçimde göstermelidir.
WebAuthn, cihazlar arası eşitlemeyi veya kayıp hesap erişiminin kurtarılmasını düzenlemez. Bu akışlar ayrıca kararlaştırılmalıdır. Başarılı girişten sonra da sunucu, hesabın hangi projeleri açabileceğini veya değiştirebileceğini kontrol eder.
Kaynaklar
İlgili terimler
- PasskeyPasskey, belirli bir hizmete bağlı anahtar çiftiyle giriş sağlar. Cihaz değişimi, hesabı kurtarma ve hesap yetkileri ayrıca ele alınmalıdır.
- HttpOnly çereziHttpOnly, sayfa betiklerinin çereze doğrudan erişmesini engeller. Çerez uygun isteklerle gönderilebilir; oturum ve yetki kontrolleri yine gereklidir.
- Same-Origin PolicyAynı köken politikası, tarayıcıda farklı kökenler arasındaki erişimi sınırlar. Yalnız sayfa yolunun değişmesi yeni bir köken oluşturmaz.
- En az ayrıcalık ilkesiEn az ayrıcalık, yetkiyi gerekli görev ve veri kapsamıyla sınırlar. Gerekli iş yapılabilir kalır; gereksiz haklar kaldırılır.
- Öznitelik tabanlı erişim kontrolüABAC erişimi tanımlı özellikler ve kurallarla değerlendirir. Bu özelliklerin kaynağı ve güncelliği de tasarımın parçasıdır.
- Rol tabanlı erişim kontrolüRBAC izinleri rollere bağlar ve kişileri bu rollere atar. Rol adının yanında erişilebilecek veri kapsamı da açık olmalıdır.
Projeniz ASES ile
Projenizi bize anlatın. İlk değerlendirmemizle size dönelim.