Jetons de paiement hors ligne pour agents de mobile money
Aperçu
En quoi consiste ce défi.
Construisez une bibliothèque en Python nommée « jeton-hors-ligne » qui produit et vérifie des jetons de transaction hors ligne, plus un outil en ligne de commande de démonstration. La bibliothèque doit dériver une clé propre à chaque agent et à chaque période à partir d'une clé maîtresse unique, en utilisant la fonction de dérivation de clés HKDF (HMAC-based Key Derivation Function, décrite dans la RFC 5869 fournie) ; chiffrer et authentifier le contenu du jeton avec du chiffrement authentifié avec données associées (AEAD — Authenticated Encryption with Associated Data, par exemple ChaCha20-Poly1305 de la RFC 8439 fournie) ; et rejeter tout rejeu grâce à un compteur monotone par agent. Le format du jeton et les contraintes terrain (taille, canal de transmission, tolérance d'horloge) sont décrits dans la spécification fournie. Vous validerez votre implémentation sur le jeu de transactions d'agents fourni, qui contient délibérément des rejeux et des compteurs incohérents : votre vérificateur doit les repérer tous sans rejeter d'opération légitime. La réussite, c'est une bibliothèque que l'équipe plateforme de l'opérateur pourrait brancher telle quelle sur son service de synchronisation.
Le brief
Ce que vous ferez, et ce que vous démontrerez.
Comment garantir qu'une opération de retrait enregistrée hors ligne par un agent ne puisse être ni falsifiée ni encaissée deux fois, alors que le jeton voyage par un canal texte très court et n'est vérifié qu'à la reconnexion ?
Earning criteria — what you'll demonstrate
- Mettre en œuvre correctement un schéma de chiffrement authentifié avec données associées (AEAD) et justifier le choix du mode et de la gestion des nonces
- Construire une hiérarchie de clés symétriques par dérivation (HKDF) et raisonner sur le cloisonnement en cas de compromission d'un terminal
- Concevoir une protection anti-rejeu explicite et démontrer sa robustesse face à des données réelles bruitées
- Analyser le compromis entre taille du message authentifié, marge de sécurité et contraintes du canal de transmission
- Documenter un modèle de menace opérationnel et les procédures de révocation associées
Adéquation au programme
Où cela s'inscrit dans votre cursus.
Renforce les mêmes compétences que celles attendues par votre diplôme.
Cursus associés bientôt disponibles.
Compétences
Les compétences que vous démontrerez.
Chacune apparaît sur votre certificat vérifié.
Débouchés
Les métiers auxquels ce défi vous prépare.
De vrais intitulés. De vraies passerelles de compétences. Choisissez celui qui se rapproche le plus de votre trajectoire.
Les parcours de carrière que ce défi construit
Métiers de référenceIngénieur Backend
Vous livrez une bibliothèque et un service de vérification qui doivent tenir sous charge et gérer proprement les erreurs. C'est exactement le travail d'un ingénieur backend sur une plateforme de paiement : formats binaires, gestion de secrets, idempotence et tests automatisés des cas d'abus.
Ce défi renforce
- secure-coding
- api-security-owasp-api-top-10
- ai-assisted-test-generation
Ingénieur Logiciel Embarqué
Le jeton doit tenir dans un budget d'octets serré et être vérifiable sur des terminaux modestes. Ce travail d'optimisation taille/sécurité et de gestion de clés sur appareil contraint est le quotidien de l'ingénierie embarquée.
Ce défi renforce
- cryptographic-key-management
- algorithm-analysis
- secure-coding
Responsable Sécurité Informatique
Le rapport de vérification et la procédure de compromission d'un terminal constituent des livrables de gouvernance sécurité. Savoir traduire un choix cryptographique en risque financier chiffré prépare directement au pilotage sécurité d'une entreprise de paiement.
Ce défi renforce
- cryptographic-key-management
- api-security-owasp-api-top-10
- algorithm-analysis