Brevet FR3124624A1 — publié le 20221230

L’invention concerne un procédé (100) d’authentification à deux facteurs. Un terminal est relié à un serveur de transaction bancaire via des premier et deuxième canaux de communication logiquement distincts l’un de l’autre. Il met en œuvre les étapes suivantes : - le serveur détermine un code de vérification de la transaction et envoie, au terminal et via le deuxième canal, un message contenant le code, - le serveur envoie, au terminal et via le premier canal, une requête demandant au terminal de renvoyer le code via le premier canal, - le terminal réceptionne la requête sur le premier canal, - le terminal détecte (102) automatiquement la réception du message sur le deuxième canal et identifie (104) automatiquement le code de vérification de la transaction dans le message, - le terminal renvoie (108), au serveur et via le premier canal, une réponse à la requête comprenant le code identifié. Figure pour l’abrégé : figure 4 Procédé d’authentification de transaction utilisant deux canaux de communication La présente invention se rapporte à un procédé d’authentification de transaction utilisant deux canaux de communication. Plus particulièrement, l’invention se rapporte à l’utilisation d’un deuxième canal de communication pour sécuriser une transaction réalisée à partir d’un premier canal de communication. Les transactions de paiement électronique faisant l’objet de ce document concernent les opérations de paiement réalisées en ligne. Un paiement en ligne est réalisé lors de la vente ou l’achat de biens ou de services, aussi bien par des entreprises, des ménages, des particuliers, des gouvernements ou d’autres organisations, publiques ou privées, sur des réseaux interconnectés d’ordinateurs, tel que par exemple internet. Les biens et services sont commandés sur ces réseaux, mais le paiement et la livraison finale du bien ou du service peuvent être effectués en ligne ou hors ligne. De plus, les clients des banques effectuent régulièrement des opérations de paiement par virement en utilisant les services bancaires par Internet. De plus en plus de consommateurs utilisent le commerce électronique, pour rechercher et acheter des biens et des services sur des réseaux électroniques tels que, par exemple, Internet. Le paiement s'effectue généralement par la saisie d'un numéro de carte de débit et/ou de crédit, ou carte bancaire, ou à l’aide d'autres informations financières dans les champs respectifs d’un formulaire du site du commerçant en ligne. Les transactions peuvent également être effectuées à l'aide de fournisseurs de services de paiement en ligne ou mobiles, tels que ceux proposés par exemple par la société PayPal, Inc., de San Jose, en Californie. Pour assurer une meilleure sécurité, les systèmes de paiement électronique utilisent souvent des solutions de sécurité agglomérées telles que celle identifiées par les marques « 3Dsecure », « Verified by Visa », ou autre. De tels services de paiement et solutions de sécurité de paiement peuvent rendre les transactions plus faciles et/ou plus sûres pour les parties impliquées. Acheter avec l'aide d'un fournisseur de services de paiement depuis un terminal mobile portable est l'une des principales raisons pour lesquelles les achats en ligne et sur mobile se développent très rapidement. Les systèmes de paiement en ligne traditionnels exposent les utilisateurs à des risques de sécurité. Par exemple, taper des numéros d’un identifiant de carte de crédit dans un champ d'un formulaire de paiement en ligne expose un utilisateur au vol de ce numéro par une tierce personne qui regarde son écran, par un virus informatique de journalisation de frappe, etc. Bien que le stockage des numéros de carte de crédit par un détaillant en ligne puisse éviter d’obliger l’utilisateur à saisir manuellement à chaque achat les informations au cours de la transaction de paiement, il expose le détaillant en ligne à ses propres risques et responsabilités en matière de sécurité. Les informations sur les cartes de crédit peuvent également être capturées par des moyens simples, par exemple, en prenant une photo d'une carte exposée par inadvertance, sans oublier que des cartes de crédit peuvent être perdues ou volées, ce qui permet à une personne malintentionnée d’en faire un mauvais usage. Afin d’améliorer la sécurité des transactions électroniques, les systèmes de paiement électroniques modernes utilisent souvent une procédure dite d'authentification à deux facteurs de sécurité, ci-après désigné 2FA. Les premières procédures 2FA ont utilisé des mots de passe supplémentaires. Sur les terminaux de paiement bancaire, cela s’est traduit par l’utilisation d’un code PIN (de l’anglais « Personal Identification Number ») vérifié sur la puce d’une carte bancaire. Pour les transactions bancaires par Internet, l'une des formes les plus anciennes d'authentification à deux facteurs de sécurité, une méthode consiste à émettre aux clients titulaires de carte, avec la carte bancaire, une liste numérotée de nombres d’authentification de transaction, communément nommée TAN (de l’anglais « Transaction Authentication Numbers »), afin que, lors d’une transaction, la banque puisse demander à l'utilisateur de saisir manuellement un nombre d’authentification correspondant à un numéro choisi aléatoirement parmi la liste TAN. Le développement des transactions sur internet et la prolifération des téléphones portables a conduit à la généralisation d’une procédure 2FA utilisant le téléphone mobile comme deuxième canal communication pour envoyer un code d’authentification, de type mot de passe à usage unique ou OTP (de l’anglais « One-Time Password »), par message court ou SMS (de l’anglais « Short Message Service »). En variante, le code d’authentification peut être transmis par courriel. L’utilisation d’un message court présente cependant un inconvénient lorsque la transaction est réalisée intégralement sur un appareil de téléphonie intelligent de type smartphone ou ordiphone. En effet, l’utilisateur ne peut pas visualiser le message court lors de la saisie du code d’authentification sur le navigateur internet car il ne peut pas visualiser sur son écran simultanément ce message dans sa messagerie et la page web de transaction, il doit passer d’une application à l’autre. L’utilisateur doit donc mémoriser le code d’authentification, ce qui constitue une source d’une erreur de saisie qui peut entrainer l’utilisateur à abandonner la transaction. Pour éviter une erreur de mémorisation, l’utilisateur peut copier la chaine de caractères correspondant au code d’authentification depuis le message court pour ensuite la recopier (ou « coller ») dans le navigateur. Cependant l’utilisation des fonctions « copier-coller » sur un smartphone n’est pas maitrisée par tous les utilisateurs et peut parfois être déroutante. L’utilisation d’un courriel présente les mêmes inconvénients lorsque le terminal est un téléphone ou une tablette qui ne permet pas de visualiser simultanément l’application de messagerie et de navigation sur internet. De plus, un utilisateur d’ordinateur personnel qui n’est pas familier avec les applications informatiques peut également se trouver en difficulté pour recopier le code à partir de sa messagerie vers un navigateur internet. La présente invention vise à remédier aux désagréments évoqués précédemment lors de l’utilisation de code d’authentification dans une procédure à deux facteurs de sécurité lorsque la transaction est réalisée sur le terminal qui reçoit le message contenant le code d’authentification. A cet effet, l’invention a pour objet un procédé d’authentification à deux facteurs d’une transaction bancaire, dans lequel, un terminal d’un utilisateur étant relié à au moins un serveur de transaction bancaire via des premier et deuxième canaux de communication, les deux canaux étant logiquement distincts l’un de l’autre, on met en œuvre les étapes suivantes : - le serveur détermine un code de vérification de la transaction, - le serveur envoie, au terminal et via le deuxième canal, un message contenant le code de vérification, - le serveur envoie, au terminal et via le premier canal, une requête demandant au terminal de renvoyer le code de vérification via le premier canal, - le terminal réceptionne la requête sur le premier canal, - le terminal détecte automatiquement la réception du message sur le deuxième canal, - le terminal identifie automatiquement le code de vérification de la transaction dans le message, - le terminal renvoie, au serveur et via le premier canal, une réponse à la requête comprenant le code identifié. Ainsi, en détectant automatiquement le code de vérification sur le deuxième canal et en le renvoyant via le premier canal, le terminal évite à l’utilisateur de devoir passer du premier canal au deuxième, par exemple de son navigateur web à son service de messagerie, et de devoir mémoriser ou copier-coller manuellement le code depuis son deuxième canal jusqu’au premier. L’authentification à deux facteurs est donc réalisée de manière aussi sûre que dans l’état de la technique, via les deux canaux, mais sans nécessiter de manipulation contraignante de la part de l’utilisateur. Les risques d’erreur et les probabilités d’abandon de la transaction sont donc diminués. Par ailleurs, vis-à-vis des solutions de l’état de la technique, le seul changement concerne les étapes suivies par le terminal. Il n’est en particulier pas nécessaire de modifier la programmation ou les composants du serveur bancaire. Il n’est pas nécessaire non plus de modifier les composants matériels du terminal, tout terminal mobile de type smartphone ou ordiphone, disposant de deux canaux de communication logiquement distincts, pouvant implémenter ce procédé. Un ordinateur personnel comprenant deux canaux de communication logiquement distincts, par exemple la présence d’un navigateur Internet d’un côté et d’une messagerie de courriels de l’autre, est également un terminal apte à exécuter le procédé sans qu’il soit nécessaire de le modifier. L’invention est donc facilement mise en place au sein d’une architecture existante. Avantageusement, le premier canal est un navigateur internet, et le deuxième canal est un service de message court de téléphonie mobile ou une messagerie de courriel. Ainsi, tandis que la requête demandant le code est fournie sur une page web, par exemple dans un champ destiné à recevoir le code, le code de vérification est fourni par sms ou par e-mail. Son identification et copie automatique évite à l’utilisateur d’avoir à passer de son navigateur Internet à sa messagerie de téléphonie mobile ou de courriel et à retenir le code qui y a été envoyé pour le recopier dans le navigateur. De préférence, après avoir identifié automatiquement le code de vérification dans le message et avant de renvoyer la réponse au serveur, le terminal copie automatiquement le code, depuis le message reçu sur le premier canal, vers la réponse à la requête sur le deuxième canal. Ainsi, c’est le terminal qui, sans intervention de l’utilisateur, reproduit le code dans la réponse à envoyer au serveur, par exemple dans un champ prévu à cet effet dans la page web de la requête. Alternativement, après avoir identifié le code de vérification dans le message et avant de renvoyer la réponse au serveur : - le terminal copie automatiquement le code, depuis le message reçu sur le premier canal, vers une mémoire tampon, - l’utilisateur copie le code, depuis la mémoire tampon, vers la réponse à la requête sur le deuxième canal. Ainsi, dans ce cas, le terminal copie automatiquement le code vers la mémoire, mais c’est l’utilisateur qui réalise l’opération de « collage », c’est-à-dire la manipulation consistant à copier depuis la mémoire tampon le code vers la réponse à la requête. Avantageusement, pour identifier automatiquement le code de vérification dans le message, le terminal identifie d’abord automatiquement dans le message une chaine de caractère prédéterminée, distincte du code de vérification, attestant que le message comprend un code de vérification. Ainsi, le message comprend un « flag », c’est-à-dire une chaine de caractères indiquant que le message comprend un code de vérification. Ce flag peut être propre à un protocole de transaction particulier (par exemple « 3D Secure »). Sa connaissance prédéterminée peut également permettre de connaître le format du code à identifier et sa position dans le message. De préférence, la requête comportant un champ à remplir avec le code de vérification, la réponse à la requête comporte la requête avec le champ rempli. Ainsi, la requête apparaît par exemple sur une page web succédant à la demande de transaction. Une fois le champ rempli avec le code et cette réponse validée, le serveur bancaire reçoit le code fourni dans le champ, via le premier canal qui est un navigateur Internet dans cet exemple, et le compare avec le code envoyé via le deuxième canal. On prévoit également selon l’invention un procédé d’authentification à deux facteurs d’une transaction bancaire par un terminal mobile, dans lequel le terminal comprend en sein une application mobile mettant en œuvre les étapes suivantes : - réception d’une requête, sur un premier canal de communication du terminal, demandant le renvoi d’un code de vérification de la transaction, - détection automatique de la réception d’un message, sur un deuxième canal de communication du terminal logiquement distinct du premier, - identification automatique d’un code de vérification de la transaction dans le message, - envoi, via le deuxième canal, d’une réponse à la requête comprenant le code identifié. Ainsi, c’est l’application mobile installée sur le terminal qui met en œuvre les étapes de l’invention. Il n’est donc pas nécessaire de modifier le système d’exploitation du terminal ou d’autres éléments, il suffit d’installer et d’activer l’application, qui peut être implémentée avec tout type de terminal pourvu qu’il ait la capacité à communiquer sur deux canaux de communication logiquement distincts. De préférence, au préalable, le deuxième canal étant un service de message court de téléphonie mobile : - l’application mobile demande au système d’exploitation du terminal à être alertée en cas de message reçu par le service de message court, - l’application mobile demande au système d’exploitation du terminal la possibilité de lire les messages reçus par le service de message court. Ainsi, en particulier lors de l’installation de l’application mobile, celle-ci demande les accès nécessaires à son fonctionnement au système d’exploitation du terminal. Ces accès peuvent être acceptés automatiquement ou sur simple validation de l’utilisateur. Avantageusement : - l’application demande également au préalable au système d’exploitation du terminal la possibilité de supprimer les messages reçus par le service de message court, - si un utilisateur du terminal invalide la transaction via le premier canal, l’application supprime le message, reçu par le service de message court, comprenant le code de vérification de la transaction. Ainsi, si l’utilisateur annule la transaction, alors l’application supprime automatiquement le sms contenant le code de vérification, qui est donc retiré de la mémoire du terminal, ce code étant devenu inutile. On prévoit également selon l’invention un programme d'ordinateur pour terminal mobile comprenant des instructions qui, lorsque le programme est exécuté par un terminal mobile, conduisent celui-ci à mettre en œuvre les étapes du procédé tel que décrit ci-avant. Ce programme correspond en particulier à l’application mobile elle-même. Brève description des figures L’invention sera mieux comprise et d’autres caractéristiques et avantages de celle-ci apparaîtront à la lecture de la description suivante de modes de réalisation particuliers de l’invention, donnés à titre d’exemples illustratifs et non limitatifs, et faisant référence aux dessins annexés, parmi lesquels : montre un système de transaction commerciale à deux facteurs d’authentification selon l’état de la technique, montre un système de transaction commerciale à deux facteurs d’authentification selon l’invention, illustre un téléphone portable mettant en œuvre l’invention, montre un logigramme de fonctionnement du procédé de l’invention. Procédé (100) d’authentification à deux facteurs d’une transaction bancaire, dans lequel, un terminal (8) d’un utilisateur étant relié à au moins un serveur de transaction bancaire (4) via des premier et deuxième canaux de communication, les deux canaux étant logiquement distincts l’un de l’autre, on met en œuvre les étapes suivantes : - le serveur (4) détermine un code de vérification de la transaction, - le serveur (4) envoie, au terminal et via le deuxième canal, un message contenant le code de vérification, - le serveur (4) envoie, au terminal (8) et via le premier canal, une requête demandant au terminal (8) de renvoyer le code de vérification via le premier canal, le procédé étant caractérisé en ce qu’on met en outre en œuvre les étapes suivantes : - le terminal réceptionne la requête sur le premier canal, - le terminal (8) détecte (102) automatiquement la réception du message sur le deuxième canal, - le terminal identifie (104) automatiquement le code de vérification de la transaction dans le message, - le terminal renvoie (108), au serveur et via le premier canal, une réponse à la requête comprenant le code identifié. Procédé (100) selon la revendication précédente, dans lequel le premier canal est un navigateur internet, et le deuxième canal est un service de message court de téléphonie mobile ou une messagerie de courriel. Procédé (100) selon l’une quelconque des revendications précédentes, dans lequel, après avoir identifié (104) automatiquement le code de vérification dans le message et avant de renvoyer (108) la réponse au serveur, le terminal (8) copie (105) automatiquement le code, depuis le message reçu sur le premier canal, vers (106) la réponse à la requête sur le deuxième canal. Procédé (100) selon l’une quelconque des revendications 1 à 2, dans lequel, après avoir identifié (104) le code de vérification dans le message et avant de renvoyer (108) la réponse au serveur : - le terminal (8) copie (105) automatiquement le code, depuis le message reçu sur le premier canal, vers une mémoire tampon, - l’utilisateur copie le code, depuis la mémoire tampon, vers la réponse à la requête sur le deuxième canal. Procédé (100) selon l’une des revendications précédentes, dans lequel pour identifier (104) automatiquement le code de vérification dans le message, le terminal (8) identifie d’abord (103) automatiquement dans le message une chaine de caractère prédéterminée, distincte du code de vérification, attestant que le message comprend un code de vérification. Procédé (100) selon l’une des revendications précédentes, dans lequel, la requête comportant un champ à remplir avec le code de vérification, la réponse à la requête comporte la requête avec le champ rempli. Procédé (100) d’authentification à deux facteurs d’une transaction bancaire par un terminal mobile (8), dans lequel le terminal (8) comprend en sein une application mobile (6) mettant en œuvre les étapes suivantes : - réception d’une requête, sur un premier canal de communication du terminal (8), demandant le renvoi d’un code de vérification de la transaction, - détection automatique (102) de la réception d’un message, sur un deuxième canal de communication du terminal (8) logiquement distinct du premier, - identification automatique (104) d’un code de vérification de la transaction dans le message, - envoi (108), via le deuxième canal, d’une réponse à la requête comprenant le code identifié. Procédé (100) selon la revendication précédente, dans lequel, au préalable, le deuxième canal étant un service de message court de téléphonie mobile : - l’application mobile (6) demande au système d’exploitation du terminal (8) à être alertée en cas de message reçu par le service de message court, - l’application mobile (6) demande au système d’exploitation du terminal (8) la possibilité de lire les messages reçus par le service de message court. Procédé (100) selon la revendication précédente, dans lequel : - l’application (6) demande également au préalable au système d’exploitation du terminal (8) la possibilité de supprimer les messages reçus par le service de message court, - si un utilisateur du terminal (8) invalide la transaction via le premier canal, l’application (6) supprime (109) le message, reçu par le service de message court, comprenant le code de vérification de la transaction. Programme d'ordinateur (6) pour terminal mobile comprenant des instructions qui, lorsque le programme est exécuté par un terminal mobile (8), conduisent celui-ci à mettre en œuvre les étapes des revendications 7 à 9.