Chrome masaüstündeki geçiş anahtarları için Signal API

Yayınlanma tarihi: 13 Kasım 2024

Chrome 132'den itibaren Chrome masaüstü (macOS, Windows, Linux ve ChromeOS), geçiş anahtarı sağlayıcılardaki geçiş anahtarlarını güvenen tarafın sunucusundaki herkese açık anahtar kimlik bilgilerine uygun tutabilen Signal API'yi destekler.

Bir geçiş anahtarı (bulunabilir bir kimlik bilgisi) oluşturulduğunda, kullanıcı adı ve görünen ad gibi meta veriler, özel anahtarla birlikte geçiş anahtarı sağlayıcısına (ör. şifre yöneticisi) kaydedilir. Ortak anahtar kimlik bilgisi ise güvenen tarafın (RP) sunucusuna kaydedilir. Kullanıcı adı ve görünen ad kaydedildiğinde, kullanıcıdan oturum açarken geçiş anahtarı seçmesi istendiğinde hangi geçiş anahtarını kullanacağını belirlemesi kolaylaşır. Bu, özellikle farklı geçiş anahtarı sağlayıcılardan ikiden fazla geçiş anahtarı olduğunda yararlıdır.

Ancak geçiş anahtarı sağlayıcıdaki geçiş anahtarı listesi ile sunucudaki kimlik bilgisi listesi arasındaki farklılıkların kafa karışıklığına neden olabileceği birkaç durum vardır.

İlk durum, kullanıcının geçiş anahtarı sağlayıcısındaki geçiş anahtarına dokunmadan sunucuda bir kimlik bilgisini silmesidir. Kullanıcı geçiş anahtarıyla oturum açmaya çalıştığında geçiş anahtarı sağlayıcısı, geçiş anahtarını kullanıcıya sunmaya devam eder. Ancak sunucu, silinen herkese açık anahtarla doğrulama yapamayacağı için oturum açma denemesi başarısız olur.

İkinci durum, kullanıcının sunucudaki kullanıcı adını veya görünen adını güncellemesidir. Kullanıcı bir sonraki oturum açmaya çalıştığında, geçiş anahtarı sağlayıcısındaki geçiş anahtarı, sunucu üzerinde güncellenmiş olsa bile eski kullanıcı adını ve görünen adı göstermeye devam eder. İdeal olarak senkronize olmalıdırlar.

Signal API

WebAuthn Signal API, RP'lerin mevcut kimlik bilgilerini bağlı geçiş anahtarı sağlayıcılarına göndermesine olanak tanır. Bu sayede, destekleyen geçiş anahtarı sağlayıcı, sunucuyla tutarlı olması için yanlış veya iptal edilmiş geçiş anahtarlarını depolama alanından güncelleyebilir ya da kaldırabilir.

Örneğin, bir kullanıcı RP sunucusunda ilişkili kimlik bilgisi artık mevcut olmadığı için bir RP'de oturum açamadığında RP, Signal API'yi kullanarak silinen kimlik bilgisinin artık geçiş anahtarı sağlayıcısı için geçerli olmadığını işaretleyebilir. Böylece geçiş anahtarı sağlayıcı, ilişkili geçiş anahtarını silebilir.

Başka bir örnek de, bir kullanıcı RP'nin ayarlar sayfasına gidip mevcut kimlik bilgisini sildiğinde RP'nin, mevcut kimlik bilgilerinin listesini geçiş anahtarı sağlayıcıya bildirmek için Signal API'yi kullanmasıdır. Böylece geçiş anahtarı sağlayıcı, ilişkili geçiş anahtarlarını senkronize tutabilir.

Chrome'daki Google Şifre Yöneticisi'nden bir geçiş anahtarı silindiğinde görüntülenen iletişim kutusu.
Chrome'daki Google Şifre Yöneticisi'nden bir geçiş anahtarı silindiğinde görüntülenen iletişim kutusu.

Ayrıca, aynı kullanıcı için depolanan geçiş anahtarı meta verilerinin güncellenebilmesi amacıyla güncellenmiş kullanıcı adını ve görünen adı da gösterebilir.

Örneğin, bir kullanıcı RP'de kullanıcı adını veya görünen adını güncellediğinde RP, güncellenen kullanıcı bilgilerini geçiş anahtarı sağlayıcıya bildirmek için Signal API'yi kullanabilir. Böylece geçiş anahtarı sağlayıcı, ilişkili geçiş anahtarlarının kullanıcı bilgilerini senkronize tutabilir.

Chrome'daki Google Şifre Yöneticisi'nde geçiş anahtarı meta verileri güncellendiğinde görüntülenen iletişim kutusu.
Chrome'daki Google Şifre Yöneticisi'nde geçiş anahtarı meta verileri güncellendiğinde görüntülenen iletişim kutusu.

Chrome masaüstündeki Google Şifre Yöneticisi, Signal AP'yi uygular. Chrome uzantısı tabanlı geçiş anahtarı sağlayıcılar, sinyali yansıtıp yansıtmayacaklarına kendileri karar verir.

Signal API'yi gelecekte Android Chrome'da desteklemeyi planlıyoruz.

WebAuthn Signal API'yi nasıl entegre edeceğinizi öğrenmek için Signal API'yi kullanarak geçiş anahtarlarının listesini sunucuyla senkronize etme başlıklı makaleyi okuyun.