La sécurité des cartes bancaires


  Lorsqu'on introduit sa carte bleue dans un distributeur automatique, on imagine assez mal tout ce qui se passe. Chacun sait qu'il faut rentrer son code secret pour pouvoir débloquer le paiement, mais ceci n'est que la face cachée de la sécurité des cartes bleues. Comment être sûr que personne ne peut fabriquer de fausse carte, prendre votre identité bancaire, et dépenser votre argent??

La carte à puce, une invention française

  La carte à puce a été créée par deux ingénieurs français, Roland Moreno et Michel Ugon, à la fin des années 1970. La puce est une sorte de petit ordinateur, avec un processeur (assez peu puissant) qui permet d'effectuer des calculs, une mémoire dont une partie est accessible en écriture (enregistrement de l'historique des transactions), une autre en lecture seule, et enfin une dernière en lecture cachée.

  Grâce à son processeur, la carte à puce est particulièrement évolutive. Bizarrement, au Japon et aux Etats-Unis, les cartes de paiement sont toujours dépourvues de puces.

Mécanisme de paiement par carte bleue

  Lorsque l'on introduit sa carte dans le terminal du commerçant, il se déroule un processus en plusieurs étapes :
  1. Authentification de la carte : elle se fait hors-ligne (sans appeler un centre de paiement de CB). Sur la carte sont inscrites certaines informations relatives au propriétaire (nom, numéro de carte, date de validité...), et une valeur de signature VS. La VS est calculée une fois pour toute lors de la fabrication de la CB. On calcule d'abord Y, qui est une valeur numérique déduite des informations écrites dans la carte (par une fonction de hachage). Nous noterons Y=f(info). La VS est alors calculée en utilisant la clé secrète S du groupement des cartes bancaires (le GIE carte bancaire) : VS=S(Y). La fabrication et l'écriture des VS sur la puce se fait dans des locaux très sécurisés, car S doit rester secret.

      Lorsque la carte est introduite dans le terminal, celui lit les informations portées par la carte, et la valeur de signature VS. Il calcule alors Y1=f(info), et Y2=P(VS)=P(S(Y)), P étant la clé publique du GIE. Puis il compare Y1 et Y2 : pour qu'une carte soit valide, il faut que Y1=Y2.
    Ces fonctions à clé secrète et à clé publique sont basées sur le RSA. Le modulo public français est un nombre connu entre 768 et 1024 bits, produit de 2 premiers inconnus. L'exposant est e=3.
  2. Code confidentiel : Le code secret est stocké (sous forme chiffrée) à la fois dans la puce et sur la piste magnétique de la carte. Dans la premier cas, c'est la puce de la carte qui elle-même vérifie si le code entré est le bon, et transmet sa réponse au terminal.
  3. Authentification en ligne (par le DES) : Cette étape n'est pas réalisée pour toutes les transactions, mais seulement pour celles dépassant un certain montant (avec affichage de "Autorisation" su l'écran du terminal). Le terminal interroge un centre de contrôle à distance, qui envoie à la carte une valeur aléatoire x. La carte calcule y=f(x,K), où K est une clé secrète, inscrite dans la partie illisible de la carte, et f est la fonction de chiffrement du DES (ou du triple DES depuis 1999). La valeur y est retransmise au centre, qui lui-même calcule f(x,K), et donne ou non l'autorisation. Remarquons que ceci nécessite que le centre connaisse la clé secrète de toutes les cartes.

L'affaire Humpich

  En 1998, l'affaire Serge Humpich fait la une des journaux. Cet informaticien a montré qu'il était possible de fabriquer de toute pièce une fausse carte qui permettait de payer chez un comerçant. Serge Humpich avait contourné deux systèmes de sécurité :
  1. D'une part, il a fabriqué des "yes card", c'est-à-dire des cartes à puce qui, quel que soit le code secret entré, renvoie "code bon".
  2. D'autre part, il a contourné l'authentification hors-ligne RSA. La sécurité de ce système repose, rappelons-le, sur la difficulté à factoriser un "grand' entier. Or, en 1998, le n utilisé par le GIE avait pour taille 320 bits (taille inchangée depuis 1990). A cette époque, factoriser un tel entier n'était plus impossible (le record se situait à 512 bits), et Humpich, en utilisant simplement un logiciel japonais de factorisation, a réussi à factoriser le n du GIE, et à découvrir la clé secrète S.
  La 3ème fonction de sécurité, elle, est toujours restée valide. Dans cet affaire, le GIE a pêché d'abord par excès de confiance (les 320 bits étaient suffisants en 1990, plus en 1998) et aussi par manque de communication. Depuis, le tir a été rectifié : le n a changé, et est désormais long de 768 bits, l'authentification en ligne est passée du DES au TDES.

Autres types de fraude

  La fraude la plus répandue avec les C.B. est beaucoup plus simple que la faille exploitée par Humpich. Les 16 chiffres de votre C.B. suffisent pour commander sur Internet ou par correspondance. Ils ne sont pas choisis au hasard (tous les nombres à 16 chiffres ne donnent pas un numéro de CB valide). Avant 2001, les terminaux inscrivaient sur les facturettes les numéros de CB. Voila pourquoi les voleurs raffolaient de ces petits tickets.

  Signalons que les risques de fraude en utilisant simplement le numéro de carte bleue (sans code secret) sont normalement couverts par les banques : elles doivent rembourser le client qui conteste un prélèvement de ce type. Signalons enfin qu'il existe des sites Internet où on explique comment calculer un numéro de CB valable.

Et encore, dans la cryptographie expliquée...

  • Le système à clé publique utilisé dans la sécurité des cartes bancaires : Le RSA.
  • Le système à clé secrète utilisé dans la sécurité des cartes bancaires : le DES.
  • Le plan de la partie : Méthodes modernes de cryptographie.


Sommaire de la Cryptographie Expliquée - Plan du site - Retour à la BibM@th - Tous droits réservés - Frédéric Bayart -