Übersicht

Die Digital Credentials Provisioning API ist in drei Hauptressourcenmodelle unterteilt:

Ressource Beschreibung
Gerät Eine eindeutige Instanz eines physischen Geräts und Identitätsschlüssels.
Korrektur Das Verfahren zum Nachweisen der Identität eines Nutzers, bevor ein Ausweisdokument ausgestellt wird.
Anmeldedaten Das DC selbst.

Als Aussteller sind Sie dafür verantwortlich, diese Ressourcen zu erstellen und während des gesamten Lebenszyklus einer digitalen Karte zu verwalten.

Annahmen

Die primäre Annahme dieser API ist, dass die Android Identity Credential API vom Gerät zum Speichern von DCs gemäß ISO/IEC 18013-5 verwendet wird.

Ressourcenmodelle

Gerät

Im Modell der Digital Credentials Provisioning API stellt ein Gerät nicht einfach nur ein Android-Gerät dar, auf dem ein Nutzer seine digitalen Anmeldedaten mit der Google Wallet App verwaltet. Stattdessen wird es als Kombination aus Folgendem dargestellt:

  • Dem physischen Android-Gerät.
  • Einem öffentlichen/privaten Schlüssel, der als „Identitätsschlüssel“ bezeichnet wird.
    • Der öffentliche Schlüssel wird vom Aussteller verwendet, um die Identität eines Geräts zu überprüfen.
    • Der private Schlüssel wird im sicheren Speicher des Geräts aufbewahrt.

Bei API-Aufrufen wird eine Kombination aus Gerät und Ausweisdokument durch eine Gerätereferenz-ID (Attribut deviceReferenceId) identifiziert.

Wenn ein Gerät zum ersten Mal mit einem Aussteller kommuniziert, erhält es eine eindeutige Nonce, um Replay-Angriffe zu verhindern und die Datenaktualität zu gewährleisten. Die Nonce wird vom Identitätsschlüssel des Geräts signiert und in das Zertifikat eingebettet, das den Identitätsschlüssel enthält. Zukünftig kann das Zertifikat verwendet werden, um das Gerät beim Aussteller zu verifizieren.

Weitere Informationen zum Zertifikat finden Sie in der Android-Dokumentation für IdentityCredential.

Wenn Sie diese Ressource als Datenbanktabelle modellieren, sieht sie in etwa so aus: Das Attribut identityKey wäre der Wert des öffentlichen Schlüssels.

Beispiel-Datenbanktabelle für eine Geräteressource.

Proofing

Proofing ist eine Kombination aus folgenden Elementen:

  • Nachweise, die von einem Nutzer zur Bestätigung seiner Identität erbracht wurden
  • Die vom Aussteller getroffene Entscheidung anhand der gelieferten Nachweise

Das Proofing ist spezifisch für die Art von Ausweisdokument, das der Nutzer anfordert. Bei der Bereitstellung eines DC reicht ein Nutzer Fotos seines analogen Ausweisdokuments und ein Video seines Profils ein. Anhand des Videos berechnet Google die Wahrscheinlichkeit, dass im Video eine echte Person zu sehen ist. Das Ergebnis, das Google den Ausstellern zur Verfügung stellt, wird als „Liveness Score“ bezeichnet. Zusätzliche Proofingmethoden werden hinzugefügt, sobald neue Arten von Ausweisdokumenten verfügbar sind.

Die möglichen Status für ein Proofing sind in der folgenden Tabelle aufgeführt.

Status Beschreibung Endgültiger Zustand
Ausstehend Der Aussteller hat noch keine Entscheidung getroffen. Nein
Akzeptiert Der Aussteller hat entschieden, dass der Nachweis zufriedenstellend ist. Nein
Abgelehnt Der Aussteller hat entschieden, dass der Nachweis nicht zufriedenstellend ist. Ja*
Herausforderung Der Aussteller benötigt weitere Informationen, um eine Entscheidung treffen zu können. Nein
Abgebrochen Der Nutzer hat das Proofing abgebrochen. Ja
Beendet Der Aussteller hat das Proofing widerrufen. Ja*
Abgelaufen Der Nutzer hat die Sicherheitsaufgabe nicht rechtzeitig ausgeführt. Ja

Mit einem Sternchen (*) gekennzeichnete Status können in Fällen, in denen ein menschlicher Prüfer einen Fehler macht und den Status manuell aktualisiert, nicht endgültig sein.

Im folgenden Diagramm werden die Abläufe für die verschiedenen Status beschrieben:

Unter Umständen können Aussteller anhand der eingereichten Nachweise keine Entscheidung treffen. In solchen Fällen können sie Nutzer auffordern, zusätzliche Informationen oder Nachweise an den Aussteller zu senden. Beispiele sind das Antworten auf eine E-Mail, das Besuchen der Website eines Ausstellers oder das Einreichen zusätzlicher Nachweise.

Wenn Sie diese Ressource als Datenbanktabelle modellieren, sieht sie in etwa so aus:

Beispiel-Datenbanktabelle für eine Proofing-Ressource.

Anmeldedaten

Ein Ausweisdokument ist die digitale Version des physischen Ausweisdokuments für ein bestimmtes Gerät. Immer, wenn ein digitales Ausweisdokument für ein physisches Gerät bereitgestellt wird, wird eine Ausweisdokument-ID zugewiesen. Wenn dasselbe Ausweisdokument für verschiedene Geräte bereitgestellt wird, wird jeweils eine andere Ausweisdokument-ID zugewiesen. Wenn auf einem Gerät ein Ausweisdokument bereitgestellt, gelöscht und noch einmal auf demselben Gerät bereitgestellt wird, unterscheidet sich die Ausweisdokument-ID.

Wenn sich die Details eines Nutzers ändern (z. B. eine Adressänderung für ein Ausweisdokument), müssen diese Details auch bei allen verknüpften digitalen Ausweisdokumenten aktualisiert werden. Ein Ausweisdokument kann aufgrund derartiger Änderungen unterschiedliche Versionen haben. Die aktuelle Version wird anhand der Versionsnummer des Ausweisdokuments erfasst.

Um ein digitales Ausweisdokument vorzeigen zu können, muss das Gerät zuerst MSOs (Mobile Security Objects) vom Aussteller abrufen. Ein MSO enthält vom Aussteller signierte Digests des Ausweisdokuments. Es wird aus einem öffentlichen Authentifizierungsschlüssel generiert und vom Identitätsschlüssel des Geräts signiert. Der Authentifizierungsschlüssel bindet das MSO an das Gerät. Anhand der Kombination aus MSO und Ausweisdokument kann belegt werden, dass das Ausweisdokument vom Aussteller stammt.

Sobald ein Ausweisdokument auf einem Gerät bereitgestellt wurde, muss vom Gerät ein ProofOfProvisioning-Objekt an den Aussteller zurückgesendet werden. Dadurch wird der Aussteller darüber informiert, dass das Ausweisdokument erfolgreich auf dem Gerät bereitgestellt und im sicheren Speicher des Geräts aufbewahrt wurde.

Ein Ausweisdokument kann folgende Status haben:

Status Beschreibung
ProvisionPending

Das digitale Ausweisdokument wurde für Google Wallet freigegeben, aber es wurde noch kein Nachweis über die Bereitstellung an den Aussteller zurückgegeben. Ein Ausweisdokument wird immer in diesen Status versetzt, wenn sich die Versionsnummer des Dokuments ändert.

Für dieses Ausweisdokument werden keine MSOs generiert.

Aktiv

Das digitale Ausweisdokument wurde für Google Wallet freigegeben und ein Nachweis über die Bereitstellung wurde an den Aussteller zurückgegeben.

MSO-Dokumente sind für das Ausweisdokument verfügbar.

Beendet

Der Aussteller hat das Ausweisdokument dauerhaft widerrufen.

Für dieses Ausweisdokument werden keine MSOs generiert.

Google Wallet zeigt ein Ausweisdokument mit diesem Status nicht an.

Gelöscht

Der Nutzer oder Google Wallet hat das Ausweisdokument dauerhaft vom Gerät gelöscht.

Für dieses Ausweisdokument werden keine MSOs generiert.

Google Wallet zeigt ein Ausweisdokument mit diesem Status nicht an.

Im folgenden Diagramm werden die Abläufe für die verschiedenen Status beschrieben:

Wenn Sie diese Ressource als Datenbanktabelle modellieren, sieht sie in etwa so aus:

Eine Beispiel-Datenbanktabelle für eine Ausweisdokument-Ressource.