Que vaut la sécurité de Square ?

Qu’est-ce qu’un terminal de paiement électronique (TPE) ? Sous sa forme la plus simple, c’est une machine permettant l’acquisition de données de cartes bancaires. Puisque certains commerçants refusent d’investir dans ce type d’appareil, ne serait-il pas possible de transformer leurs éventuels smartphones en TPE en lui adjoignant un dispositif de capture des données bancaires ? C’est de ce constat qu’est née l’idée de fonder Square Inc. Ces derniers fournissent gratuitement aux accepteurs le dispositif à placer sur le port audio du smartphone, qui acceptent in fine les cartes bancaires. Mais comme malheureusement trop souvent, la sécurité a été mis un peu de côté.

Rappel du fonctionnement de Square

Le commerçant branche sur le port audio de son smartphone le dispositif d’acquisition des données d’une carte bancaire. Dans le cas de Square, il s’agit de récupérer les données de la piste ou de la puce. Lorsqu’un porteur souhaite acheter, le dispositif va donc lire les données carte, éventuellement les chiffrer et les transmettre à l’application qui s’occupera d’envoyer les données sur la plateforme Square.

Vulnérabilité

Une version sans chiffrement

Les deux premières versions (S1 et S2) ne possédaient pas de cryptoprocesseur. Ainsi les données circulaient en clair vers le smartphone du commerçant. Un simple logiciel malveillant écoutant le trafic pouvait récupérer les données cartes et les envoyer sur internet. Fort de ce constat, Square Inc. a rectifié le tir. Dorénavant les versions à partir de  S3 comblent cette lacune en chiffrant les données avant de les envoyer au smartphone. Mais ce n’est pas la panacée…

Square - versions sans chiffrement
Square – versions sans chiffrement

Une mauvaise implémentation physique du cryptoprocesseur

Le cryptoprocesseur n’est pas positionné sur le dispositif d’acquisition des données, mais relié via un câble. Une simple dérivation permet donc de court-circuiter le chiffrement. Selon la société américaine, cette altération électronique du composant est détectée sur le réseau et refuse tout traitement de la transaction. Cependant, les données cartes auront tout de même été stockées. Il s’agit donc bel et bien d’une vulnérabilité.

Square - versions avec chiffrement - dérivation
Square – versions avec chiffrement – dérivation

Pas de contrôle de séquentialité

Mais ce n’est pas tout. Une autre vulnérabilité, ne nécessitant cette fois aucune altération électronique, a été détectée.

Il s’agit de stocker et de ne pas envoyer sur le réseau Square le flux relatif à la transaction. La transaction n’ayant pas abouti, le porteur sera invité à repayer, pensant à un dysfonctionnement ponctuel. Pour éviter tout soupçon de la part du payeur, la seconde transaction sera traitée normalement. Le porteur sortira avec son produit et sera débité normalement. Malheureusement, la première transaction stockée peut être envoyée sur le réseau afin d’être traitée. Le porteur se verra alors débiter une fois de plus. D’où l’intérêt de vérifier régulièrement son compte.

Heureusement, ce flux ne peut pas être rejoué indéfiniment. Cependant, les concepteurs n’ont pas prévu de contrôle de séquentialité sur le compteur de transaction comme cela est fait habituellement. Square se contente de vérifier que le compteur n’a pas déjà fait l’objet d’un traitement. Par exemple dans la puce de la carte bancaire est stocké un compteur (ATC) faisant partie des données signées (ARQC) de la transaction. Le serveur d’autorisation émetteur détectera immédiatement une transaction lui parvenant avec un ATC inférieur au dernier enregistré dans sa base.

Square - versions avec chiffrement - rejeu
Square – versions avec chiffrement – rejeu

Dans le schéma ci-dessus, il ne restera plus qu’au commerçant de réutiliser la transaction sauvegardée comme s’il s’agissait d’une nouvelle.

Bilan mitigé

Square est l’illustration parfaite que la sécurité doit être pensée dès le lancement d’un projet. En tout cas et en attendant une prochaine version, il est conseillé d’être vigilant avant de payer chez un commerçant équipé de ce dispositif. Surtout s’il vous demande de repayer car son terminal n’a pas réussi à lire la carte.

0 Replies to “Que vaut la sécurité de Square ?”

Laisser un commentaire

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

*