@startuml autonumber hide footbox 'participant actor "User" as user participant "Wallet Instance" as app participant "Device Integrity Service" as aats #springgreen participant "Wallet Provider backend" as bck user->app: Request a new operation that\nrequires a **Wallet Attestation** activate app app->app: Check if **Cryptographic Hardware Keys** is available app->app: Generates an ephemeral key pair **JWK** rnote over app,bck #LIGHTGREEN Check Wallet Provider is part of the Federation and obtain its metadata endrnote app->bck: Get **challenge** activate bck bck->bck: Generate one time use **challenge** bck-->app: **challenge** deactivate bck app->app: Generate **client_data_hash** as SHA256(challenge, public_jwk) app->app: Generate **Cryptographic Hardware Key** PoP\n**hardware_signature** = sign(client_data_hash, wallet_hardware_key_tag) app->aats: generateIntegrityAssertion(client_data_hash) aats-->app: **integrity_assertion** app->app: Generate Wallet Attestation Request with **integrity_assertion**, **hardware_signature**, **challenge**,\n**Cryptographic Hardware Key Tag**, **public_jwk** signed with ephemeral **JWK** app->bck: Send Wallet Attestation Request activate bck rnote over bck,bck #LIGHTGREEN Check if Wallet Instance is initialized and valid using Cryptographic Hardware Key tag and **hardware_signature** endrnote bck->bck: Validate **challenge** bck->bck: Validate **integrity_assertion** bck->bck: Validate **hardware_signature** bck->bck: Validate **JWK** PoP bck->bck: Create **Wallet Attestation** bck-->app: **Wallet Attestation** deactivate bck deactivate app @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
🎉 Discover the future PlantUML Web Editor! 🚀
PNG
SVG
ASCII Art