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, W3C Credential Management API ile web kullanım alanlarında ve Android'de Kimlik Bilgisi Yöneticisi'nin DigitalCredential API'si 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 istenen kimlik bilgilerini cüzdandan alarak talep edene sunar. Cüzdanlar çoğunlukla birbirinin yerine kullanılabilir ve genellikle aynı öğeleri saklayabilir.
Dijital kimlik bilgilerinin fiziksel dünyadaki kimlik bilgilerinden şu farkları vardır:
- Kullanıcıların, çeşitli farklı kimlik bilgilerini içerebilen birden fazla cüzdanı (kart sahipleri olarak da bilinir) olması beklenir. Cüzdanlar, hangi kimlik bilgilerinin cüzdanlarda saklanabileceğini belirler.
- Erişim izni vermek veya kimliği doğrulamak için kimlik bilgisi isteyen uygulama ya da hizmete doğrulayıcı denir.
- Kimlik bilgisini oluşturan ve konuyla ilgili iddialarda bulunan tüzel kişi (ör. üniversite, devlet veya teknoloji şirketi) veren kuruluş 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, Kimlik Bilgisi Yöneticisi 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 Credential Manager'a kaydetmesi 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:
Doğrulanabilir kimlik bilgileri
Doğrulanabilir kimlik bilgileri, katı standartlara (ör. W3C Doğrulanabilir Kimlik Bilgileri Veri Modeli) tabi olan dijital kimlik bilgilerinin bir alt kümesidir. Bu kimlik bilgileri, kriptografik olarak güvenli hale getirilmiş talepler içerir. Bu sayede, kimlik bilgilerinin üzerinde değişiklik yapılması kolayca anlaşılır ve kimlik bilgilerini tam olarak kimin verdiği kanıtlanır.
Tüm dijital kimlik bilgileri doğrulanabilir kimlik bilgisi değildir ancak tüm doğrulanabilir kimlik bilgileri dijital kimlik bilgisidir.
Bir iddianın doğrulanması ne anlama gelir?
Android Credential Manager API aracılığıyla bir kimlik bilgisi geldiğinde ve içindeki bir talep "doğrulanmış" olarak işaretlendiğinde, veren tarafın söz konusu veri parçası üzerinde kontrol yaptığı anlamına gelir. Ancak bu, verilerin mutlak ve evrensel bir gerçek olduğu anlamına gelmez. "Doğrulanmış" ifadesi, sürecin onaylandığını belirtir ancak güvenin otomatik olarak garanti edildiği anlamına gelmez.
Bu ekosistemin temel felsefesi, güvenin her zaman doğrulayıcıda çözümlenmesidir. Doğrulayıcı (uygulamanız) kriptografik olarak güvenli verileri aldığında ve yayınlayanın bu verileri "doğrulanmış" olarak işaretlediğini gördüğünde, yayınlayanın talebi kendi standartlarına göre doğruladığına güvenip güvenmeyeceğini belirlemelidir.
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 nasıl göründüğüne dair bir örneği aşağıda bulabilirsiniz:
Standartlar
Dijital kimlik bilgisi istekleri, OpenID4VP standardı kullanılarak oluşturulur. Örnek istekleri Digital Credentials Demo sitesinde görebilirsiniz.
Dijital kimlik yanıtları genellikle standart bir kimlik 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.
- Kimlik Bilgisi Yöneticisi'ni kullanarak dijital cüzdan oluşturma hakkında daha fazla bilgi edinmek için Credential Manager - Holder API sayfasını inceleyin.