Digital Credentials Provisioning API üç ana kaynak modeline göre düzenlenir:
| Kaynak | Açıklama |
|---|---|
| Cihaz | Fiziksel cihazın ve kimlik anahtarının benzersiz bir örneği. |
| Gözden geçirme | Kimlik bilgisi vermeden önce kullanıcının kimliğini kanıtlama süreci. |
| Kimlik bilgisi | DC'nin kendisi. |
Kartı veren kuruluş olarak, bu kaynakları bir dijital kartın yaşam döngüsü boyunca oluşturmaktan ve yönetmekten siz sorumlusunuz.
Varsayımlar
Bu API'nin temel varsayımı, cihazın Android Identity Credential API'yi kullanarak ISO/IEC 18013-5 tarafından tanımlanan DC'leri saklamasıdır.
Kaynak modelleri
Cihaz
Digital Credentials Provisioning API modelinde cihaz, kullanıcının Google Cüzdan uygulamasını kullanarak DC'sini yönettiği Android destekli bir cihazı temsil etmez. Bunun yerine, aşağıdakilerin bir kombinasyonu olarak temsil edilir:
- Fiziksel, Android destekli cihaz.
- Ortak/özel anahtar çifti ("kimlik anahtarı" olarak adlandırılır).
- Ortak anahtar, veren kuruluş tarafından bir cihazın kimliğini doğrulamak için kullanılır.
- Özel anahtar, cihazın güvenli depolama alanında saklanır.
API çağrıları yapılırken cihaz ve kimlik bilgisi kombinasyonu, cihaz referans kimliği (deviceReferenceId özelliği) ile tanımlanır.
Bir cihaz, ilk kez bir Kart Veren ile iletişim kurduğunda benzersiz bir nonce verilir (tekrar oynatma saldırılarını önlemek ve güncelliği sağlamak için). Tek kullanımlık sayı, cihazın kimlik anahtarıyla imzalanır ve kimlik anahtarını içeren sertifikaya yerleştirilir. Bundan sonra, sertifika cihazı veren kuruluşla doğrulamak için kullanılabilir.
Sertifika hakkında daha fazla bilgi için Android IdentityCredential belgelerini inceleyin.
Bu kaynağı bir veritabanı tablosu olarak modellerseniz aşağıdaki gibi görünür. identityKey özelliğinin, herkese açık anahtar değeri olacağını unutmayın.
Gözden geçirme
Bir inceleme, aşağıdakilerin birleşimini ifade eder:
- Kullanıcının kimliğini kanıtlamak için sağladığı kanıt
- Sağlanan kanıtlar ışığında Kartı Veren Kuruluş tarafından verilen karar
Doğrulama, kullanıcının istediği kimlik bilgisi türüne özeldir. Bir DC'yi sağlarken kullanıcı, fiziksel kimlik belgesinin fotoğraflarını ve profilinin videosunu gönderir. Video, Google tarafından videodaki kişinin gerçek bir kişi olma olasılığını hesaplamak için kullanılır. Google'ın ihraç eden kuruluşlara sağladığı sonuç "canlılık puanı" olarak adlandırılır. Yeni kimlik türleri desteklendikçe ek doğrulama yöntemleri eklenecektir.
Bir düzeltme için olası durumlar aşağıdaki tabloda listelenmiştir.
| Durum | Açıklama | Son durum |
|---|---|---|
| Beklemede | Kartı veren kuruluş henüz karar vermedi. | Hayır |
| Kabul edildi | Kartı veren kuruluş, kanıtın yeterli olduğuna karar verdi. | Hayır |
| Reddedildi | Kartı veren kuruluş, kanıtın yeterli olmadığına karar verdi. | Evet* |
| Etkilenme | Kartı veren kuruluşun karar verebilmesi için daha fazla bilgiye ihtiyacı var. | Hayır |
| İptal edildi | Kullanıcı, düzeltme işlemini iptal etti. | Evet |
| Sonlandırıldı | Kartı veren kuruluş, doğrulama işlemini iptal etti. | Evet* |
| Süresi Doldu | Kullanıcı, sorgulamayı zamanında tamamlamadı. | Evet |
Yıldız işaretiyle (*) işaretlenen durumlar, bir inceleme uzmanının hata yapıp durumu manuel olarak güncellemesi durumunda nihai olmayabilir.
Aşağıdaki durum diyagramında olası durum akışları açıklanmaktadır:
Bazı durumlarda, ilk kanıtlar göz önüne alındığında Kart Verenler karar veremeyebilir. Karar verme sürecine yardımcı olmak için kullanıcılardan, Kartı Veren Kuruluş'a ek bilgi veya kanıt sunmaları istenebilir. Posta mektuplarına yanıt verme, Düzenleyen Kuruluş'un web sitesini ziyaret etme veya ek kanıt gönderme, zorluklara örnek olarak verilebilir.
Bu kaynağı bir veritabanı tablosu olarak modellerseniz aşağıdaki gibi görünür.
Kimlik bilgisi
Kimlik bilgisi, belirli bir cihazın fiziksel kimlik bilgisinin sanal sürümünü temsil eder. Fiziksel bir cihaza her sanal kimlik sağlandığında kimliğe bir kimlik atanır. Aynı fiziksel kimlik farklı cihazlara sağlanırsa her seferinde farklı bir kimlik kimliği olur. Aynı şekilde, bir kimlik bilgisi bir cihaza sağlanır, silinir ve aynı cihaza tekrar sağlanırsa farklı bir kimlik bilgisi kimliğine sahip olur.
Bir kullanıcının kimlik bilgilerinde değişiklik olduğunda (ör. kimlik belgesinin adresinin değişmesi) bu bilgiler, ilişkili tüm sanal kimlik bilgilerinde güncellenmelidir. Tek bir kimlik belgesinin, bu tür değişikliklere karşılık gelen farklı versiyonları olabilir. Mevcut sürüm, kimlik bilgisi sürüm kimliği kullanılarak izlenir.
Cihazın, güvenen tarafa kimlik bilgisi sunabilmesi için önce veren kuruluştan mobil güvenlik nesnelerini (MSO) alması gerekir. MSO, veren tarafından imzalanmış kimlik bilgilerinin özetlerini içerir. MSO, cihazın kimlik anahtarı tarafından oluşturulan ve imzalanan bir ortak anahtar olan kimlik doğrulama anahtarından oluşturulur. Kimlik doğrulama anahtarı, MSO'yu cihaza etkili bir şekilde bağlar. MSO ve kimlik bilgisi kombinasyonu, kimlik bilgisinin Düzenleyen'den geldiğini güvenen taraflara kanıtlar.
Bir kimlik bilgisi cihaza sağlandıktan sonra cihaz, ProofOfProvisioning nesnesini ihraç edene geri göndermelidir. Bu, kartı veren kuruluşa kimliğin cihaza başarıyla sağlandığını ve cihazın güvenli depolama alanında saklandığını bildirir.
Bir kimlik bilgisi aşağıdaki durumlara sahip olabilir:
| Durum | Açıklama |
| ProvisionPending |
Kimlik bilgisi Google Cüzdan'a eklendi ancak sağlama kanıtı veren kuruluşa geri gönderilmedi. Kimlik bilgileri, kimlik bilgisi sürümü kimliği her değiştiğinde bu duruma taşınır. Bu kimlik bilgisi için MSO yayınlanmayacak. |
| Etkin |
Yeterlilik belgesi Google Cüzdan'a eklenmiş ve sağlama kanıtı, veren kuruluşa geri gönderilmiştir. Kimlik bilgisi için MSO'lar kullanılabilir.
|
| Sonlandırıldı |
Kartı veren kuruluş, kimlik bilgisini kalıcı olarak iptal etti. Bu kimlik bilgisi için MSO yayınlanmayacak. Google Cüzdan bu durumda kimlik bilgisi göstermez. |
| Silindi |
Kullanıcı veya Google Cüzdan, kimlik bilgisini cihazdan kalıcı olarak silmiştir. Bu kimlik bilgisi için MSO yayınlanmayacak. Google Cüzdan bu durumda kimlik bilgisi göstermez. |
Aşağıdaki durum diyagramında olası durum akışları açıklanmaktadır:
Bu kaynağı bir veritabanı tablosu olarak modellerseniz aşağıdaki gibi görünür.