Page-1 Rectangle Sheet.2 1- l’application démarre 1- l’application démarre Sheet.3 L’utilisateur lance l’application du développeur, Véfie d’abo... L’utilisateur lance l’application du développeur, Véfie d’abord la licence localement en utilisant : Sheet.5 Application du développeur sur l’appareil Application du développeur sur l’appareil Multi-Line Multi-Line.8 Sheet.8 SDK FingerPrintThis (local) SDK FingerPrintThis (local) Sheet.9 Backend du développeur Backend du développeur Multi-Line.18 Sheet.11 Service FingerPrintThis Service FingerPrintThis Multi-Line.49 Sheet.13 fpt_sdk.validate_token_locally(jeton) fpt_sdk.validate_token_locally(jeton) Rectangle.51 Sheet.15 2- Vérification locale du jeton 2- Vérification locale du jeton Sheet.16 Vérifie la signature et l’échéance. Retourne l’état à l’appli... Vérifie la signature et l’échéance. Retourne l’état à l’application :Autorisé | Besoin de validation en ligne Sheet.19 Vérification locale Vérification locale Multi-Line.56 Sheet.21 Autorisé (mode hors ligne OK) Autorisé (mode hors ligne OK) Sheet.23 Nécessite une validation en ligne Nécessite une validation en ligne Rectangle.60 Sheet.25 3- Construire la charge utile de validation 3- Construire la charge utile de validation Sheet.26 L’application appelle le SDK : L’application appelle le SDK : Sheet.27 fpt_sdk.build_validation_payload(licence_id) fpt_sdk.build_validation_payload(licence_id) Sheet.28 -> inclut une empreinte matérielle récente, le device_id, le ... -> inclut une empreinte matérielle récente, le device_id, le jeton, une preuve, etc ... Rectangle.67 Sheet.31 4- Reprendre l’empreinte & signer 4- Reprendre l’empreinte & signer Sheet.32 Relit un instantané du matériel Relit un instantané du matériel Sheet.33 Signe éventuellement un nonce avec la clé de l’appareil (TPM,... Signe éventuellement un nonce avec la clé de l’appareil (TPM, Keystore) Multi-Line.72 Sheet.36 Construit la charge utile Construit la charge utile Multi-Line.74 Sheet.38 Charge utile Charge utile Multi-Line.76 Sheet.40 Envoyer la charge utile Envoyer la charge utile Sheet.41 Dev app → Dev backend: validation_charge_utile Dev app → Dev backend: validation_charge_utile Rectangle.79 Sheet.43 5- Le backend du développeur reçoit 5- Le backend du développeur reçoit Sheet.44 Logique d’affaires + journalisation Logique d’affaires + journalisation Sheet.45 POST / fpt/validate (…) POST / fpt/validate (…) Rectangle.83 Sheet.47 7- Le backend du développeur répond 7- Le backend du développeur répond Sheet.48 Traduit en résultat compréhensible pour l’application et envo... Traduit en résultat compréhensible pour l’application et envoie le nouveau jeton s’il est présent Rectangle.87 Sheet.51 6- Vérifier & décider 6- Vérifier & décider Sheet.52 Vérifie le device_id, l’empreinte, le jeton, le lien avec la ... Vérifie le device_id, l’empreinte, le jeton, le lien avec la licence et Retourne l’état et éventuellement un nouveau jeton Multi-Line.92 Sheet.56 Vers fingerprintthis Vers fingerprintthis Multi-Line.94 Sheet.58 Status + raison + nouveau jeton ? Status + raison + nouveau jeton ? Multi-Line.96 Sheet.60 Backend du développeur →App du developpeur: résultat + nouvea... Backend du développeur →App du developpeur: résultat + nouveau jeton Multi-Line.98 Sheet.62 Installer le nouveau jeton Installer le nouveau jeton Rectangle.100 Sheet.64 8- Installer le nouveau jeton 8- Installer le nouveau jeton Sheet.65 fpt_sdk.install_token(nouveau_jeton) fpt_sdk.install_token(nouveau_jeton) Multi-Line.58