La gestion de l’autorisation

Lorsque vous effectuez un paiement chez votre commerçant préféré à l’aide de votre carte bancaire, vous avez dû vous rendre compte du délai aléatoire du traitement de la transaction ou plutôt de l’autorisation En effet, celle-ci est parfois très rapide alors que d’autre fois, elle est plus longue. C’est notamment le cas lorsque le terminal appelle votre banque pour effectuer des contrôles supplémentaires. Cet article vous expliquera comment  le TPE et la carte gèrent l’autorisation, c’est-à-dire comment elles décident s’il faut refuser, accepter ou appeler l’émetteur (on-line).

Rappel sur les cryptogrammes applicatifs

En EMV, c’est la carte qui décide s’il faut accepter, refuser l’autorisation ou encore la traiter on-line. En fait, selon un algorithme bien défini (cf. ci-après) le terminal indique sa décision à la carte en lui demandant de générer un cryptogramme :

  • TC (Transaction Certificate) : cryptogramme signifiant l’acceptation de la transaction ;
  • ARQC (Authorization ReQuest Cryptogram) : cryptogramme signifiant que l’autorisation doit être on-line ;
  • AAC (Application Authentication Cryptogram) : cryptogramme signifiant le refus de la transaction.

La décision est prise grâce à 3 champs :

  • Terminal Verification Results ;
  • Issuer Action Code ;
  • Terminal Action Code.

Terminal Verification Results – TVR

Le TVR est un champ EMV de 5 octets. Il s’agit d’une donnée tenue à jour par le terminal en fonction des événements intervenant tout au long de la transaction.

Par exemple, un bit est positionné dans les cas suivants :

  • nouvelle carte : c’est grâce à ce bit que les banques forcent l’autorisation afin d’activer votre carte lors du premier paiement ;
  • échec de la vérification du porteur ;
  • PIN on-line ;
  • montant supérieur au plafond du commerçant ;
  • appel aléatoire.

Note : cette liste n’est pas exhaustive. Il existe en tout 26 cas à ce jour. D’autres cas pourront voir le jour dans le futur puisqu’on est loin de la capacité maximum des 40 bits (5 octets * 8 bits).

Issuer Action Code – IAC

Basé sur la même structure que le TVR, l’IAC est un champ EMV stocké dans la puce de la carte traduisant les décisions de l’émetteur (refus, on-line, acceptation). Cette donnée est transmise au terminal lors de la lecture des données de la carte.

Il existe 3 IAC :

  • IAC refus : cette donnée précise les cas où l’émetteur refuse l’autorisation ;
  • IAC on-line : cette donnée précise les cas où l’émetteur demande que l’autorisation soit on-line ;
  • IAC défaut : cette donnée précise les cas où l’émetteur refuse l’autorisation si l’appel à l’émetteur a échoué.

Terminal Action Code – TAC

Basé sur la même structure que le TVR, le TAC est un champ EMV stocké dans la mémoire du terminal traduisant les décisions de l’acquéreur (refus, on-line, acceptation).

Il existe également 3 TAC :

  • TAC refus : cette donnée précise les cas où l’acquéreur refuse l’autorisation ;
  • TAC on-line : cette donnée précise les cas où l’acquéreur demande que l’autorisation soit on-line ;
  • TAC défaut : cette donnée précise les cas où l’acquéreur refuse l’autorisation si l’appel à l’émetteur a échoué.

Maintenant que vous avez les armes pour comprendre l’article, rentrons dans le vif du sujet.

Analyse du terminal

Suite à l’insertion de la carte dans le terminal, celui-ci va lire les données de la carte. Il récupère entre autres l’IAC refus, l’IAC on-line et l’IAC défaut. Viennent ensuite les étapes classiques du déroulement de l’autorisation. À chaque étape, le terminal met à jour le TVR.

Génération du 1er cryptogramme

Au moment de conclure la transaction, le terminal effectue des contrôles afin de savoir s’il doit refuser la transaction, la traiter on-line ou l’accepter.

Analyse du terminal

Refus de la transaction

Le terminal analyse s’il faut la refuser en comparant le TVR avec le TAC refus et l’IAC refus. Pour chaque bit à 1 du TVR, le terminal refuse l’autorisation si l’émetteur ou/et l’acquéreur le souhaitent. Le cas échéant, le terminal demande à la carte de générer un cryptogramme AAC.

TAC-IAC refus

Traitement on-line

Si le contrôle précédent a échoué, le terminal analyse s’il faut que l’autorisation soit traitée on-line en comparant le TVR avec le TAC on-line et l’IAC on-line. Pour chaque bit à 1 du TVR, le terminal demande que l’autorisation se déroule on-line si l’émetteur ou/et l’acquéreur le souhaitent. Le cas échéant, le terminal demande à la carte de générer un cryptogramme ARQC pour l’on-line.

Acceptation off-line

Si le contrôle précédent a échoué, le terminal accepte l’autorisation. On parle alors d’acceptation off-line.

TAC-IAC on-line

Les données TAC défaut et IAC défaut sont utilisées plus tard.

Analyse de la carte

Lorsque le terminal demande à la carte de générer un cryptogramme, celle-ci effectue sa propre gestion du risque. Cette gestion du risque n’est pas spécifiée par EMV. Chaque émetteur le fait comme il l’entend. Suite à certains contrôles comme la vérification que la dernière autorisation on-line s’est effectuée correctement, la carte calcule un cryptogramme d’un niveau inférieur ou égal à celui demandé par le terminal. Par exemple, si le terminal refuse l’autorisation, la carte ne peut pas l’accepter. Cela signifie que :

  • la génération du TC est possible uniquement si le terminal l’a demandée ;
  • la génération de l’ARQC est possible uniquement si le terminal a demandé un TC ou ARQC ;
  • la génération d’un AAC est possible quelle que soit la décision du terminal.

Retour au terminal

Si la carte a retourné un ARQC, le terminal appelle l’émetteur. Ce dernier authentifie la carte en recalculant le cryptogramme ARQC et en le comparant avec celui fourni par la carte. Si les deux ARQC sont différents, la carte n’est pas authentifiée par l’émetteur. Puis, il prend sa décision sur le résultat de l’authentification et sur la base des données de l’autorisation. L’émetteur retourne ensuite sa réponse au terminal.

Note : dans ce cas le terminal affiche « AUTOR EN COURS ».

Selon la réponse de l’émetteur, le terminal demandera à la carte un nouveau cryptogramme :

  • TC si l’émetteur accepte la transaction (acceptation on-line) ;
  • AAC si l’émetteur refuse la transaction (refus on-line).

Puis, la carte calcule un cryptogramme d’un niveau inférieur ou égal à celui demandé par le terminal demandé et le retourne au terminal.

Poursuivre on-line

Note : l’émetteur peut calculer un cryptogramme ARPC (Authorisation ResPonse Cryptogram) que la carte vérifiera afin d’authentifier l’émetteur. Cela permet d’éviter les risques d’altération des données.

Le terminal ne peut pas appeler l’émetteur

Si le terminal ne peut pas l’appeler (on-line impossible) – qu’importe la raison –  le terminal analyse s’il faut accepter ou refuser l’autorisation. Pour chaque bit à 1 du TVR, le terminal refuse l’autorisation si l’émetteur ou/et l’acquéreur le souhaitent. Sinon, il l’accepte. Le terminal demande donc à la carte de générer un cryptogramme de type :

  • AAC pour le refus de la transaction ;
  • TC pour l’acceptation de la transaction.

TAC-IAC défaut

Finalisation de la transaction

À ce stade, la carte a généré un cryptogramme TC ou AAC. Le terminal est donc en mesure de finaliser la transaction. Le cryptogramme généré par la carte est :

  • AAC et le terminal affiche « PAIEMENT REFUSE » ;
  • TC et le terminal affiche « PAIEMENT ACCEPTE ».

Note : la finalisation de la transaction peut se faire suite à la génération du premier cryptogramme si la carte.

Après la lecture de ce billet, vous ne resterez probablement plus insensible à la belle mécanique cryptographique EMV lors de votre prochain paiement en carte chez un commerçant.

0 commentaires à propos de “La gestion de l’autorisation

  1. Je vous remercie pour ce chapitre qui permet d’éclairer plusieurs de mes interrogations, j’avoue qu’il n’y a pas assez de documentation sur le protocole EMV.

    • Bonjour,

      En EMV, le paiement sans contact (PayPass ou PayWave) respecte la cinématique et en particulier la partie décrite dans l’article.
      La principale différence est le moment où sont calculés le risque carte et le cryptogramme : carte hors champ du terminal pour PayWave et dans le champ pour PayPass.

      Kévin

  2. Bonjour, article trés interessant.
    Est qu’il y aurait pas un coquille dans la phrase suivante ?
    ■TAC défaut : cette donnée précise les cas où l’émetteur refuse l’autorisation si l’appel à l’émetteur a échoué.
    Ce ne serait pas plutot l’acquéreur ?

    Saii

    • de la façon suivante :
      TAC défaut : cette donnée précise les cas où l’acquéreur refuse l’autorisation si l’appel à l’émetteur a échoué.

    • Bonsoir saii,

      Oui, vous avez raison.
      D’une manière plus générale, les TAC reflètent les choix de l’acquéreur. De même que les IAC reflètent ceux de l’émetteur.
      C’est corrigé :-).

      Cdlt,

      Kévin

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*