Technologie SoftPOS : comment sécuriser une application mobile dans le cadre du nouveau standard MPoC ?

Alors que la technologie SoftPOS est sur le point d'être largement adoptée, le moment est venu de réfléchir sérieusement à la manière de la sécuriser en vue de la certification MPoC.

Si la technologie SoftPOS n’a rien d’une nouveauté (les petits commerçants et les réseaux de paiement utilisent, à une échelle pilote, les applications mobiles correspondantes pour l’acceptation de paiements sans contact sur smartphones depuis quelques années), celle-ci n’a jamais été adoptée massivement sur le marché faute de norme de sécurité appropriée définie par l’industrie des cartes de paiement. Voilà qui devrait changer d’ici la fin de l’année, avec l’arrivée d’un nouveau standard sectoriel, MPoC (Mobile Payments on COTS), défini par l’instance PCI SSC. 

Que signifie SoftPOS ?

SoftPOS désigne, tout simplement, la pratique consistant à utiliser un smartphone pour accepter des paiements sans contact et mobiles à partir de cartes bancaires et de e-wallets, via une application mobile. En phase d’adoption depuis 2017 chez des eraly-adopters, cette technologie ne cesse de monter en puissance depuis, notamment auprès d’éditeurs tels que MyPinPad, Rubean, VivaWallet, PayFelix et récemment Apple qui a annoncé une solution SoftPOS.

Si SoftPOS permet à tout commerçant d’accepter des paiements électroniques (par carte bancaire ou via un wallet mobile) plutôt que des espèces, le passage d’une technologie classiquebasée sur un terminal point de vente (TPV) ou de paiement électronique (TPE) à une solution SoftPOS présente un défi : la sécurité.

Sécurisation de SoftPOS : la différence entre les terminaux de paiement traditionnels et SoftPOS

Jusqu’à présent, les technologies de paiement sur le point de vente se limitaient à des équipements matériels, les terminaux points de vente (TPV) ou de paiement électronique (TPE). Ces terminaux de paiement physiques sont uniquement dédiés au traitement des transactions. Conçus et fabriqués pour garantir la sécurité des informations, ils sont tributaires de la sécurité matérielle fournie par leurs plateformes. Au fil du temps, ces terminaux de paiement ont évolué vers des systèmes d’exploitation Android, et leur surface d’attaque, jusqu’alors essentiellement matérielles, s’est étendue aux logiciels et aux mobiles.

La technologie SoftPOS parachève cette évolution, puisqu’elle marque la transition entre des solutions matérielles sécurisées et des applications mobiles, purement logicielles installées, sur des smartphones grand public.

Les solutions SoftPOS, s’exécutant sur divers modèles de smartphones, aux composants matériels et logiciels sous-jacents différents, leur sécurité n’a absolument rien à voir avec celle des TPV et TPE. Tandis que la plateforme d’un terminal de paiement traditionnel est réputée « digne de confiance », le smartphone, très souvent la cible des cybercriminels, est jugé « peu fiable ». D’après le dernier rapport « Mobile Threat » publié par Zimperium, l’exploitation de vulnérabilités zero-day sur mobiles a progressé de 466 % en 2021. Les malwares sur mobiles connaissent également un essor important, avec plus de 2 millions de nouvelles souches en 2021.

Bien entendu, l’enjeu est considérable. Pour assurer une protection contre les attaques et la fraude qui en résulte, les solutions SoftPOS doivent résister à l’ensemble des attaques et acteurs des menaces concernés, notamment les malwares, organisations criminelles, pirates distants et acteurs malveillants ayant physiquement accès à l’appareil exécutant l’application SoftPOS. Si cette dernière n’est pas correctement protégée, les solutions peuvent être détournées et exploitées de manière abusive (faux paiements, transactions non autorisées côté commerçants, collecte des données de cartes bancaires, blocage des comptes des commerçants ...)

La sécurisation des solutions SoftPOS est loin d’être simple. Elle exige une compréhension approfondie de la solution en question, de sa conception et des technologies de sécurité, sans oublier une expertise indispensable des ingénieurs pour l’implémenter.

En pratique, les technologies matérielles, de type TEE et SE, sont cantonnées aux OEM de smartphones uniquement puisque les développeurs d’applications génériques/habituels n’ont pas accès à cette technologie. Outre cette privation d’accès, la fragmentation des technologies matérielles a conduit la plupart des développeurs SoftPOS à sécuriser leur solution au moyen d’une technologie de sécurité logicielle pour être en mesure de proposer un support étendu à nombre de marques et de modèles de smartphones différents.

Qu’implique l’apparition de la norme PCI MPoC pour une application SoftPOS ?

À la différence des normes PCI SPoC (Software-based PIN Entry on COTS) et CPoC (Contactless Payments on COTS) existantes, la future norme MPoC (Mobile Payments on COTS) fait la part belle à la modularité, à de nouvelles options de certification et à des scénarios d’utilisation inédits, notamment la prise en charge d’un code PIN logiciel sans lecteur de carte sécurisé dédié (SCRP), les transactions hors ligne et la certification des composants.

Cette approche axée sur les objectifs du cahier des charges sécuritaire impulse un changement de cap important puisqu’il ne s’agit plus d’imposer à un développeur ce qu’il doit faire (brouiller le code en recourant à des techniques d’obfuscation, par exemple) mais de se recentrer sur ce que la solution doit accomplir (contrer au maximum la rétro-ingénierie, par exemple). Cette évolution dans la nature des exigences de sécurité confère non seulement une plus grande liberté de conception et d’implémentation aux développeurs, mais transforme également l’approche de sécurité qui, passe d’une simple mise en conformité à une véritable assurance sécurité. Elle revient à comparer la lettre de la loi à l’esprit de la loi.

Pour prendre un exemple plus actuel, il ne s’agit pas simplement d’appliquer une mesure de sécurité spécifique telle que l’obfuscation ; ce qui importe, c’est l’effet recherché à travers cette mesure, à savoir rendre la rétro-ingénierie quasiment impossible.