==== Protocole de communication entre banques ==== Ce document définit un protocole d'échange entre banques ; le protocole se base sur TLS (puis TCP ou HTTP ? À décider), il décrit : * trois opérations de compte : consultation, débit et crédit ; * deux sources de crédit : espèces ou depuis un autre compte ; * un type de données : un compte bancaire. === Compte bancaire === Il est décrit par trois informations : * le numéro de son titulaire ; * son solde ; * l'historique de ses transactions depuis son ouverture === Description des opérations === Les opérations se décrivent avec : * une banque demandeuse (Alfa) et une autre exécutante (Bouba) ; * deux clients : Alfa héberge le client Caba ; Bouba, le client Damba * deux agents bancaires : l'agent opérant chez Alfa s'appelle Elikia ; L'agent opération chez Bouba, Fatou. === Solde (S) === Avec sa signature numérique (A_E), Elikia demande le solde du compte Damba (B_D). Elle envoie donc à la banque Bouba : S + A_E + B_D + hash signé de (S + A_E + B_D) La banque Bouba peut répondre : * OK + Solde de Damba + hash signé du message * KO + "Opération échouée" (dans le cas où la banque Bouba ignore le client Damba) + hash signé === Crédit (C) === Pour créditer le compte de Damba, Elikia peut utiliser des espèces (E) ou un autre compte (en l'occurrence, Caba ; A_C). Elikia envoie à la banque Bouba : C + A_E + B_D + E + montant à créditer en espèces + hash signé Ou bien C + A_E + B_D + A_C + montant à créditer en espèces + hash signé La banque Bouba peut répondre : * OK + Nouveau solde de Damba + hash signé * KO + "Opération échouée" + hash signé === Crédit (D) === Pour débiter le compte Damba, Elikia envoie à la banque Damba : D + A_E + B_D + E + montant à débiter + hash signé La banque Bouba peut répondre : * OK + Nouveau solde de Damba + hash signé * KO + "Opération échouée" + hash signé