Dijital kimlik bilgilerine genel bakış

Dijital kimlik bilgileri, bir kullanıcının kimliğini doğrulamak, yetki vermek veya başka bir şekilde bilgi sağlamak için kullanılabilen, kriptografik olarak doğrulanabilir belgelerdir. Bunlar genellikle mobil sürücü belgeleri, dijital pasaportlar, biniş kartları gibi öğelerdir. Dijital cüzdanlar olarak adlandırılan sanal kapsayıcılarda bulunurlar ve bunlara nasıl erişileceğini ve alınacağını belirten bir W3C standardının parçasıdırlar. Bu standart, web kullanım alanları için W3C Credential Management API ile, Android'de ise Kimlik Bilgisi Yöneticisi'nin DigitalCredential API ile uygulanır.

Dijital kimlik bilgilerini anlama

Fiziksel dünyada bir kişi kimliğini cüzdanında saklayabilir ve istendiğinde kimliğini isteyen tarafa sunabilir:

Normal bir cüzdan etkileşiminin akışını gösteren resim
Şekil 1. Fiziksel dünyadaki bir kimlik bilgisi isteğini yerine getirme işlemi. İstekte bulunan kullanıcıdan belirli bir kimlik bilgisi ister. Ardından kullanıcı, kartını fiziksel cüzdanından seçip alır. Son olarak, kullanıcı kimlik bilgisini istek sahibine sağlar.

Bu durumda, kullanıcının genellikle tek bir cüzdanı vardır ve istenen kimlik bilgilerini istek sahibine sunmak için cüzdanında alır. Cüzdanlar genellikle birbirinin yerine kullanılabilir ve genellikle aynı öğeleri saklayabilir.

Dijital kimlik bilgileri arasında birkaç temel fark vardır:

  1. Kullanıcıların, çeşitli farklı kimlik bilgilerini içerebilecek birden fazla cüzdanına sahip olması beklenir. Cüzdanlar, kendi içlerinde hangi kimlik bilgilerinin depolanabileceğini belirler.
  2. Talep eden artık gerçek bir kişi değil, bir uygulamadır ve doğrulayıcı olarak adlandırılır.
  3. Kimlik bilgisi sunumu yazılımda gerçekleşir. Yani bir API yüzeyi, kimlik bilgilerini alır ve sunar. Android'de bu, Kimlik Bilgisi Yöneticisi'dir.

Bu nedenle, Kimlik Bilgisi Yöneticisi daha önce kullanıcı tarafından yönetilen çeşitli rolleri üstlenir:

  1. Android'de Cüzdan'ların, kimlik bilgisi meta verilerini Kimlik Bilgisi Yöneticisi kullanıcı arayüzünde listelenmek üzere Kimlik Bilgisi Yöneticisi'ne kaydettirmesi gerekir.
  2. Kimlik Bilgileri Yöneticisi, isteğe göre cüzdanlardaki kimlik bilgilerini eşleştirir ve kullanıcının seçebileceği bir liste sunar.
  3. Kullanıcı listeden bir kimlik bilgisi seçtiğinde Kimlik Bilgisi Yöneticisi, işlemin geri kalanını (kullanıcı arayüzlerini gösterme vb.) yönetecek ve kimlik bilgisini uygulamaya döndürecek olan cüzdanı çağırır.

Bu akış aşağıda gösterilmiştir:

Dijital kimlik bilgisi etkileşiminin akışını gösteren resim
Şekil 2. Dijital kimlik doğrulaması için etkileşim modeli. Kimlik Bilgisi Yöneticisi, doğrulayıcının isteğiyle eşleştirme yapmak için kullanıcı cüzdanlarındaki önceden kayıtlı kimlik bilgisi meta verilerini kullanır ve kullanıcıdan bir kimlik bilgisi seçmesini ister. Kimlik Bilgisi Yöneticisi, etkinlik akışını işlemin geri kalanını yöneten ve kimlik bilgisini doğrulayıcıya döndüren ilgili cüzdana yönlendirir. Not: Doğrulayıcının, döndürülen kimlik bilgisi yanıtını işlemesi ve doğrulaması gerekir.

Kullanıcı deneyimi

Android akışında gösterildiği gibi, kullanıcının uygun kimlik bilgisini seçmek için Kimlik Bilgisi Yöneticisi kullanıcı arayüzüyle yalnızca bir kez etkileşime geçmesi gerekir. Seçicinin görünümüne dair bir örnek:

Kimlik Bilgisi Yöneticisi'ndeki dijital kimlik bilgileri kullanıcı arayüzünü gösteren resim
Şekil 3. Dijital kimlik bilgileri kullanıcı arayüzü.

Standartlar

Dijital kimlik bilgisi istekleri, OpenID4VP standardı kullanılarak oluşturulur. Örnek istekleri Dijital Kimlik Bilgileri Demo sitesinde görebilirsiniz.

Dijital kimlik yanıtları genellikle standartlaştırılmış bir kimlik biçiminde döndürülür. Bunlar farklı standart kuruluşları tarafından yönetilir ve W3C Doğrulanabilir Kimlik Bilgileri, sd-jwt ve mdoc'u içerir.

Özel protokoller de kullanılabilir ancak uygulamanızda standart protokollerden birini kullanmanızı öneririz.

Deneyin

Android cüzdan ve web tabanlı doğrulayıcı ile platformlar arası dijital kimlik bilgileri akışını test edebilirsiniz:

  1. CMWallet herkese açık örneğini Android telefonunuza yükleyin. Bunu, deposu indirip doğrudan Android Studio'dan yükleyerek veya https://github.com/digitalcredentialsdev/CMWallet/actions adresine gidip en son app-debug.apk dosyasına erişmek için en son derlemeyi seçerek yapabilirsiniz.
  2. Meta verileri Kimlik Bilgisi Yöneticisi'ne kaydetmek için CMWallet'i açın. Cihazlarınızın birbirine bağlanabilmesi için Bluetooth'un etkinleştirildiğinden emin olun.
  3. https://digital-credentials.dev/ adresine gidin ve Request Credentials (OpenID4VP) simgesini seçin.
  4. Uyarı istemlerini kabul edin ve QR kodunu telefonunuzla tarayın. Ardından "Geçiş anahtarını kullan"ı seçin ve mevcut kimlik bilgilerini göstermek için onaylara dokunun.
  5. Tarayıcıya dönmek için CMWallet'tan kimlik bilgisini seçin. Tarayıcı, döndürülen kimlik bilgisini göstermelidir.

Ayrıca bkz.

  • Uygulamanızda dijital kimlik bilgileri istemek için Kimlik Bilgisi Yöneticisi'ni kullanma hakkında daha fazla bilgi edinmek için Kimlik Bilgisi Doğrulayıcı API sayfasını okuyun.
  • Kimlik Bilgisi Yöneticisi'ni kullanarak dijital cüzdan oluşturma hakkında daha fazla bilgi edinmek için Kimlik Bilgisi Sahibi API sayfasını okuyun.