Dijital kimlik bilgileri, kullanıcı hakkında bilgi sağlamak, kimliğini doğrulamak veya yetkilendirmek için kullanılabilen, kriptografik olarak doğrulanabilir belgelerdir. Bunlar genellikle mobil sürücü belgeleri, dijital pasaportlar, biniş kartları vb. gibi öğelerdir. Dijital cüzdan adı verilen sanal kapsayıcılarda bulunur ve bunlara nasıl erişileceğini ve bunların nasıl alınacağını belirten bir W3C standardının parçasıdır. Bu standart, web'de W3C Credential Management API ile, Android'de ise Credential Manager'ın DigitalCredential API ile uygulanır.
Dijital kimlik bilgilerini anlama
Fiziksel dünyada bir kişi kimliğini cüzdanında saklayabilir ve istendiğinde talep eden tarafa gösterebilir:
Bu durumda, kullanıcının genellikle tek bir cüzdanı vardır ve talep edilen kimlik bilgilerini cüzdandan alarak talep edene sunar. Cüzdanlar çoğunlukla birbirinin yerine kullanılabilir ve genellikle aynı öğeleri saklayabilir.
Dijital kimlik bilgilerinin birkaç temel farkı vardır:
- Kullanıcıların, çeşitli kimlik bilgilerini içerebilen birden fazla cüzdanı (sahip olarak da bilinir) olması beklenir. Cüzdanlar, hangi kimlik bilgilerinin cüzdanlarda saklanabileceğini belirler.
- İstekte bulunan artık gerçek bir kişi değil, bir uygulamadır ve doğrulayıcı olarak adlandırılır.
- Kimlik bilgisi sunma işlemi yazılımda gerçekleşir. Bu nedenle, bir API yüzeyi kimlik bilgilerini alır ve sunar. Android'de bu, Credential Manager'dır.
Bu nedenle, Credential Manager daha önce kullanıcı tarafından yönetilen çeşitli rolleri üstlenir:
- Android'de, Cüzdanların kimlik bilgisi yöneticisi kullanıcı arayüzünde listelenmesi için kimlik bilgisi meta verilerini CredentialManager'a kaydettirmesi gerekir.
- Kimlik bilgisi yöneticisi, isteğe göre cüzdanlardaki kimlik bilgilerini eşleştirir ve kullanıcının seçebileceği bir liste sunar.
- 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.) işleyecek ve kimlik bilgisini uygulamaya döndürecek olan cüzdanı çağırır.
Bu akış burada gösterilmektedir:
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şimde bulunması gerekir. Seçicinin görünümüne dair bir örneği aşağıda bulabilirsiniz:
Standartlar
Dijital kimlik bilgisi istekleri, OpenID4VP standardı kullanılarak oluşturulur. Örnek istekleri Dijital Kimlik Bilgileri Demo Sitesi'nde görebilirsiniz.
Dijital kimlik bilgisi yanıtları genellikle standart bir kimlik bilgisi biçiminde döndürülür. Bunlar farklı standart kuruluşları tarafından yönetilir ve W3C Verifiable Credentials, sd-jwt ve mdoc'u içerir.
Uygulamanızda standart protokollerden birini kullanmanızı önersek de özel protokoller de kullanılabilir.
Deneyin
Android cüzdan ve web tabanlı doğrulayıcı ile platformlar arası dijital kimlik bilgisi akışını test edebilirsiniz:
- Android telefonunuza CMWallet genel örneğini yükleyin.
Bunu, depodan çekip doğrudan Android Studio'dan yükleyerek veya https://github.com/digitalcredentialsdev/CMWallet/actions adresine gidip en son
app-debug.apkdosyasına erişmek için en son derlemeyi seçerek yapabilirsiniz. - Meta verileri kimlik bilgisi yöneticisine kaydetmek için CMWallet'ı açın. Cihazlarınızın birbirine bağlanabilmesi için Bluetooth'un etkinleştirildiğinden emin olun.
- https://digital-credentials.dev/ adresine gidin ve
Request Credentials (OpenID4VP)simgesini seçin. - Uyarı istemlerini kabul edin ve QR kodunu telefonunuzla tarayın. Ardından "Geçiş anahtarı kullan"ı seçip onaylamaya dokunarak kullanılabilir kimlik bilgilerini gösterin.
- 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 bilgisi istemek için Kimlik Bilgisi Yöneticisi'ni kullanma hakkında daha fazla bilgi edinmek için Kimlik Bilgisi Yöneticisi - Doğrulayıcı API'si sayfasını inceleyin.
- Credential Manager'ı kullanarak dijital cüzdan oluşturma hakkında daha fazla bilgi edinmek için Credential Manager - Holder API sayfasını inceleyin.