Şifre anahtarlarıyla FIDO kimlik doğrulaması

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Giriş

FIDO (Fast IDentity Online) kimlik doğrulama standardı, kullanıcıların web sitelerine ve uygulamalara erişmesi için hızlı ve güvenli bir kimlik doğrulama mekanizması tanımlar.

Bir dizi kuruluştan temsili olan FIDO Alliance, kullanıcıların web sitelerine ve uygulamalara ortak bir protokol aracılığıyla erişmesini sağlayan açık ve ölçeklenebilir teknik spesifikasyonlar geliştirmektedir. Bu, herhangi bir şirketin güvenli kimlik doğrulama için parolalar gibi teknolojileri uygulamak amacıyla FIDO standartlarını kullanabileceği anlamına gelir.

Passkey, bir kaynağa (web sitesi veya uygulama) ve fiziksel bir cihaza bağlı FIDO giriş kimlik bilgisidir. Şifreler, kullanıcıların kullanıcı adı, şifre girmeleri veya ek kimlik doğrulama faktörleri sağlamak zorunda kalmadan kimlik doğrulaması yapmalarını sağlar. Bu teknoloji, şifrelerin birincil kimlik doğrulama mekanizması olarak değiştirilmesini hedefler.

Güvenli kimlik doğrulama neden önemlidir?

Şifreler, yıllardır kimlik doğrulamada kimlik doğrulaması için kullanılıyor. Bununla birlikte, veritabanlarının güvenliği ihlal edilebildiğinden ve kimlik avına maruz kalınabileceğinden kimlik doğrulama için en güvenli seçenek şifre tabanlı kimlik doğrulama değildir.

Birçok kullanıcı aynı şifreleri kullanarak farklı web sitelerine giriş yapar. Bu, bir web sitesinin ihlal edilmesi durumunda aynı şifreyi kullanan diğer tüm hesapların risk altında olduğu anlamına gelir. Bu nedenle, güvenli bir şifre sistemi oluştursanız bile, tek koruma yöntemi şifre olan kullanıcılar yine de risk altındadır.

Bazı siteler ve uygulamalar SMS, e-posta, uygulama vb. aracılığıyla ikinci bir kimlik bilgisi isteyerek iki adımlı doğrulama ister. Bu yöntem yalnızca bir şifre kullanmaktan daha güvenli olsa da, iki adımlı doğrulama yöntemi kimlik avına karşı hâlâ savunmasızdır, çünkü kullanıcı iki adımlı doğrulama ayrıntılarını kötü amaçlı bir web sitesine girmeye ikna edebilir.

FIDO nasıl daha güçlü güvenlik sağlar?

FIDO tabanlı kimlik doğrulama, şifre tabanlı kimlik doğrulamadan ve geleneksel ikinci adımın kullanıldığı kimlik doğrulamadan kaynaklanan sorunların çoğunu kaldırır. Özellikle:

  • FIDO kimlik doğrulaması, ortak anahtar şifrelemesini kullanır.
  • FIDO, kimlik bilgilerinin kötü amaçlı taraflarla veya kimlik bilgisinin sahibi olmayan diğer taraflarla paylaşılmamasını sağlar

Ortak anahtar kriptografisi, olası veritabanı ihlallerinden kaynaklanan tehdidi azaltır. Kullanıcı, tek bir kaynağa (site veya uygulama) kaydolur. Bu durumda, kullanıcının yetkilendiricisinde (fiziksel bir cihaz) herkese açık özel bir anahtar çifti oluşturulur. Kullanıcının ortak anahtarı kaynak sunucunun deposunda bulunur, ancak bu yalnızca bir saldırgan için yarar sağlamaz. Bir saldırgan, kimlik doğrulamasını tamamlamak için gerekli olan, sunucuda depolanan verilerden kullanıcının özel anahtarını çıkaramaz.

FIDO ile bir web sitesinin veya uygulamanın gerçekten söylediği kişi olduğunu doğrulamaktan kullanıcı sorumlu değildir. Ayrıca, kimlik bilgilerinin yanlış yerlerde kullanılmamasını sağlamaktan kullanıcı sorumlu değildir. FIDO, her kimlik bilgisini belirli bir kaynağa bağlar. Bu durumda, web sitesini veya uygulamayı doğru şekilde tanımlamaktan cihaz (gerçek bir kişi değil) sorumludur.

Örneğin, kullanıcının example.com hesabına giriş yapmaya çalıştığını varsayalım. Kullanıcı phishing-example.com tarihinde example.com hesabına ait kimlik bilgilerini isterse kimlik doğrulayıcı isteği reddeder ve kullanıcıyı korur. Kimlik doğrulama süreci, kimlik avı web sitelerinin veya uygulamalarının diğer kaynaklardan gelen doğrulamaları almasını çok zorlaştırır.

Genel olarak, FIDO ve parolalar, çoğu kullanıcı için hâlâ kullanılabilir ve kolay olan daha güçlü bir kimlik doğrulama dağıtımı yapmanıza olanak tanır.

Demo

Şifre nedir?

passkey, FIDO ve W3C Web Kimlik Doğrulaması (WebAuthn) standartlarına uyan dijital bir kimlik bilgisidir. Benzer şekilde, şifreye benzer şekilde web siteleri ve uygulamalar da bir kullanıcının hesabına erişmek için parola oluşturmasını isteyebilir.

Şifreler, kullanıcının kimliğini doğrulamak için cihazın kilidini açma dikkate alır. Bu, biyometrik sensör (parmak izi veya yüz tanıma gibi), PIN veya desen ile gerçekleştirilebilir. Bir kullanıcının parolasını (herkese açık-özel anahtar çifti) oluşturmak için önce kaynak ile kaydolması gerekir.

Kullanıcı giriş yapmak için web sitesine veya uygulamaya döndüğünde aşağıdaki adımları uygulayabilir:

  1. Uygulamaya gidin.
  2. Oturum aç'ı tıklayın.
  3. Şifrelerini seçin.
  4. Giriş işlemini tamamlamak için cihazın kilidini açın.

Kimlik doğrulayıcı, özel anahtarı kullanarak bir imza oluşturur. Bu imza, ortak anahtar kullanılarak ve özel anahtar gösterilmeden kaynak ve kimlik doğrulayıcı arasındaki giriş kimlik bilgilerini doğrulamak için kullanılır.

Kullanıcılar, şifre kartlarının nerede depolandığından bağımsız olarak bir parola yardımıyla herhangi bir cihazda hizmetlerde oturum açabilir. Örneğin, bir cep telefonunda depolanan şifre, ayrı bir dizüstü bilgisayardaki web sitesinde oturum açmak için kullanılabilir.

Şifrelerin işleyiş şekli

Parolalar, işletim sistemi aracılığıyla oluşturulur ve senkronize edilir. Bazı işletim sistemleri, kullanıcının cihazları arasında (ör. aynı Google hesabında oturum açmış olan Android telefon ve ChromeOS cihaz) anahtarların otomatik olarak senkronize edilmesine izin verebilir.

Parolalar işletim sistemlerine bağlı olsa da kullanıcılar dizüstü bilgisayarlara giriş yaparken telefonlarından parolaları kullanabilir. Şifre anahtarları FIDO ve W3C standartları kullanılarak oluşturulduğundan, tüm tarayıcılar bunları kullanabilir. Örneğin, bir kullanıcı Chromebook'unda site.example adresini ziyaret eder. Bu kullanıcı daha önce iOS cihazında site.example giriş yaptı. Kullanıcıdan iOS cihazda kimliğini onaylaması istenir. Genellikle site.example, kullanıcının Chromebook'u için yeni bir parola oluşturur. Böylece gelecekteki girişlerde telefon gerekmez.

Şifreler uçtan uca şifrelenir. Yani, Google bunları farklı Android cihazlarla senkronize etmekten sorumlu olsa da Google parolayı okuyamaz veya başka hiçbir şekilde bilemez.

Kimlik doğrulama süreci

Kimlik doğrulama penceresinin nasıl görünebileceğine dair bir temsil.

Şifrelerinizi web sitelerine veya uygulamalara uygulamak için aşağıdakileri öğrenmeniz önemlidir:

  • Kimlik doğrulayıcılar, kullanıcının şifrelerini içeren, kullanıcıyı tanımlayan fiziksel cihazlardır.
  • Bağlı taraf, bir ön uç uygulaması ve arka uç sunucusundan oluşan web siteniz veya uygulamanızdır.
    • Kullanıcı arabirimi uygulaması, kimlik doğrulayıcıyla etkileşimde bulunmak ve kimlik doğrulama işlemini başlatmak için API'leri çağırır.
    • Arka uç sunucusu, kimlik doğrulayıcı tarafından üretilen şifreleme nesnelerini alır ve doğrular.

Örneğin, bir kullanıcının shoes.example alanındaki bir mağazadan (bağlı taraf) bir çift ayakkabı satın almak istediğini varsayalım. Kullanıcı, Android telefonunda biyometrik sensör kullanarak bir shoes.example için hesap kaydı yaptı. Kullanıcı, cihazının kilidini açarak Android cihazında shoes.example hesabına giriş yapar. Ardından shoes.example, kullanıcının kimliğinin doğru olduğunu onaylamak amacıyla kullanıcının kriptografik olarak imzalanmış giriş bilgilerini, bilinen ortak anahtarla doğrular.

Kimlik doğrulayıcılar

Kimlik doğrulayıcılar, kullanıcının kimliğini onaylamak için kullanılan, FIDO uyumlu cihazlardır. Buna, özel amaçlı cihazlar (FIDO güvenlik anahtarları), cep telefonları ve kimlik doğrulama gereksinimlerini karşılayan diğer bilgisayarlar dahildir. Kimlik doğrulayıcılar, FIDO ve WebAuthn standartlarında açıklanan şifreleme işlemlerini gerçekleştirir.

Cihazın, kayıt ve kimlik doğrulama olmak üzere iki rolü vardır:

  • Kullanıcı, bağımlı taraf tarafından kaydolduğunda cihaz, benzersiz bir genel-özel anahtar çifti oluşturur. Kullanıcının telefonları ve bilgisayarları buna dahildir.
  • Kullanıcı gelecekte ilişkili tarafa giriş yaptığında cihaz, özel anahtarı kullanarak bir imza oluşturur.

Her iki işlem de kullanıcı kimlik doğrulayıcıya sahip olduğunu kanıtladığında gerçekleştirilir. Bu anahtar çifti belirli bir kaynakta kayıtlıdır ve yalnızca tam kaynak tarafından kullanılabilir. Kullanıcı bir kimlik avı sitesine ulaşırsa kimlik bilgisi kullanılamaz.

FIDO uyumlu cihazlar

En yaygın kimlik doğrulayıcıları şunlardır:

  • Platform kimlik doğrulayıcıları: Bunlar akıllı telefonlarda ve bilgisayarlarda yerleşiktir. Platform kimlik doğrulayıcılar biyometrik sensör (ör. parmak izi sensörü veya yüz tanıma cihazı olan kamera), PIN veya desen kullanır. Kimlik doğrulama etkileşimi cihazın kilidi açılarak tamamlandığından, bu işlem hem kullanıcının cihaza sahip olduğu hem de benzersiz biyometrileriyle kimliğini doğrulayabildiğini kanıtlar.
  • Güvenlik anahtarları: Bunlar genellikle kimlik doğrulamayı belirtmek için düğmeye basılan USB cihazlardır. Güvenlik anahtarları, şifreyle kullanıldığında iki faktörlü kimlik doğrulama için bir sahiplenme faktörü sağlayabilir. Bunun en yaygın örneği, bir Titan Güvenlik Anahtarı veya YubiKey'dir.

Ön Uç

Uygulamalar, kimlik doğrulayıcıyla kullanıcı kimlik bilgileri oluşturmak ve doğrulamak için WebAuthn ve Android için FIDO2 gibi istemci tarafı API'lerini kullanır.

Uygulama, arka uç sunucu tarafından oluşturulan şifreleme sorgulamasını kimlik doğrulayıcıya iletir. Uygulama, kimlik doğrulayıcının doğrulamasını doğrulama için sunucuya gönderir. Bu işlem, bu doğrulamaya göre işlem yapar.

Arka Plan

Sunucu, kullanıcının ortak anahtar kimlik bilgilerini ve hesap bilgilerini depolar.

Kayıt ve kimlik doğrulama sırasında sunucu bir kriptografik zorluk oluşturur. Bu giriş sorgulaması, kimlik doğrulayıcı tarafından verilen imzayı doğrulayarak kullanıcının iddia ettiği kişinin kim olduğunu doğrular.

Sık sorulan sorular (SSS)

Parolaları kimler destekler?

Şifre anahtarları FIDO standartlarını temel aldığından, Android ve Chrome'un yanı sıra Microsoft Windows, Microsoft Edge, MacOS, iOS ve Safari gibi diğer birçok popüler platform ve tarayıcıyla çalışır.

Kullanılabilirlik durumunu onaylamak için bu platformlar tarafından sağlanan dokümanlara bakın.

Android'de 2022'nin sonuna kadar geliştiricilere geçiş desteği sunmayı amaçlıyoruz.

Bir kullanıcı cihazını kaybederse ne olur?

Android'de oluşturulan şifreler, şifrelere yönetici tarafından yedeklendiği gibi aynı Google Hesabında oturum açmış olan Android cihazlarla yedeklenir ve senkronize edilir.

Bu, kullanıcıların cihazlarını değiştirdiklerinde şifrelerin yanınızda olduğu anlamına geliyor. Yeni bir telefonda uygulamalarda oturum açmak için kullanıcıların tek yapmaları gereken telefonlarının kilidini açmak.

Kullanıcı, bir arkadaşınızın cihazında oturum açmak için telefonunda şifre kartı kullanabilir mi?

Evet. Kullanıcılar, oturum açma amacıyla telefonlarıyla başka birinin cihazı arasında "tek seferlik bağlantı" oluşturabilir.

Sonraki adımlar

Codelab'e katılın:

Aşağıdaki konular hakkında daha fazla bilgi edinin:

Güncellemeleri alın: