Brevet FR3144464A1 — publié le 20240628

Procédé (100) de transmission sécurisée de données entre un terminal mobile (TM) et un serveur d’acceptation (SA), le terminal mobile (TM) étant configuré pour communiquer via un canal de communication avec un serveur de transchiffrement (S), et pour communiquer avec le serveur d’acceptation (SA), le procédé (100) comprenant les étapes suivantes mises en œuvre par le terminal mobile (TM) : - réception (101) d’une première clé générée par le serveur de transchiffrement (S), la première clé étant variable ; - cryptage (102) des données avec la première clé ; - transmission (103) au serveur de transchiffrement (S) des données cryptées avec la première clé ; - réception (104) des données cryptées avec une deuxième clé par une boîte noire transactionnelle (BNT) du serveur de transchiffrement; - transmission (105) au serveur d’acceptation (SA), des données cryptées avec la deuxième clé, la deuxième clé étant partagée entre le serveur de transchiffrement (S) et le serveur d’acceptation (SA) et n’étant pas transmise au terminal mobile (TM). Figure 1 Procédé de sécurisation de la transmission de données, et système correspondant. La présente invention concerne le domaine de la transmission sécurisée de données, par exemple pour des applications de télépaiement, et en particulier des applications logicielles configurées pour transformer en terminal de paiement un terminal mobile du commerce destiné au grand public, i.e. des utilisateurs non professionnels. Il est connu d’utiliser une application logicielle pour transformer en terminal de paiement un terminal mobile du commerce, destiné à des clients non professionnels, par exemple un téléphone intelligent, de type smartphone en particulier, ou une tablette. Ladite application logicielle met en œuvre un procédé configuré pour assurer la saisie sur le terminal mobile des données relatives à la transaction, i.e. les données relatives au détenteur de la carte de paiement (CHD) et le code personnel d’identification (PIN) qui permet d’authentifier le détenteur de la carte de paiement. Il est ensuite nécessaire de transmettre du terminal mobile au serveur d’acceptation (SA) ces données relatives à la transaction (CHD, PIN). Pour protéger les données de la transaction (CHD, PIN) au cours de leur transmission au serveur d’acceptation, il est connu de les crypter. Un cryptage simple nécessite l’utilisation de la clé de cryptage du serveur d’acceptation. Mais le stockage sur le terminal mobile de la clé de cryptage du serveur d’acceptation doit être évitée car le terminal mobile ne répond pas à des normes de sécurité suffisamment sûres. L’invention a donc pour but de proposer une solution à tout ou partie de ces problèmes. A cet effet, la présente invention concerne un procédé de transmission sécurisée de données entre un terminal mobile et un serveur d’acceptation, le terminal mobile étant configuré pour communiquer via un canal de communication avec un serveur de transchiffrement, et pour communiquer avec le serveur d’acceptation, le procédé comprenant les étapes suivantes mises en œuvre par le terminal mobile : - réception, via le canal de communication, d’une première clé générée par le serveur de transchiffrement, la première clé étant variable ; - cryptage des données avec la première clé ; - transmission, via le canal de communication, au serveur de transchiffrement, des données cryptées avec la première clé ; - réception, via le canal de communication, des données cryptées avec une deuxième clé par une boîte noire transactionnelle (BNT) du serveur de transchiffrement; - transmission au serveur d’acceptation, des données cryptées avec la deuxième clé, la deuxième clé étant partagée entre le serveur de transchiffrement et le serveur d’acceptation, et n’étant pas transmise au terminal mobile. Selon un mode de mise en œuvre, l’invention comprend une ou plusieurs des caractéristiques suivantes, seule ou en combinaison techniquement acceptable. Selon un mode de mise en œuvre, le canal de communication est sécurisé. Selon un mode de mise en œuvre, la première clé variable est à usage unique, i.e. est différente pour chaque mise en œuvre du procédé. Selon un mode de mise en œuvre, la première clé est manipulée par le terminal mobile dans une mémoire volatile du terminal mobile. Selon un aspect, l’invention concerne également un procédé de transmission sécurisée de données entre un terminal mobile et un serveur d’acceptation, le terminal mobile étant configuré pour communiquer, via un canal de communication, avec un serveur de transchiffrement comprenant une boîte noire transactionnelle, le procédé comprenant les étapes suivantes mises en œuvre par le serveur de transchiffrement : - génération d’une première clé, la première clé étant variable; - transmission, via le canal de communication, au terminal mobile, de la première clé; - réception, via le canal de communication, en provenance du terminal mobile, des données cryptées par le terminal mobile avec la première clé; - décryptage, par la boîte noire transactionnelle, avec la première clé, des données cryptées avec la première clé; - cryptage des données, par la boîte noire transactionnelle, avec une deuxième clé; - transmission, via le canal de communication, au terminal mobile, des données cryptées avec la deuxième clé, la deuxième clé étant partagée entre le serveur de transchiffrement et le serveur d’acceptation, et n’étant pas transmise au terminal mobile. Selon un mode de mise en œuvre, l’invention comprend une ou plusieurs des caractéristiques suivantes, seule ou en combinaison techniquement acceptable. Selon un mode de mise en œuvre, le canal de communication est sécurisé. Selon un mode de mise en œuvre, la première clé variable est à usage unique, i.e. est différente pour chaque mise en œuvre du procédé. Selon un mode de mise en œuvre, les données sont un code identifiant, ou code CHD, du compte associé à une carte de paiement et/ou un code d’authentification d’un titulaire d’un compte, par exemple les éléments d’un code PIN. Selon un autre aspect, la présente invention concerne également un terminal mobile pour une transmission sécurisée de données avec un serveur d’acceptation, le terminal mobile comprenant un module de cryptage configuré pour crypter les données avec une première clé variable transmise par un serveur de transchiffrement, le terminal mobile comprenant en outre un module de transmission configuré pour recevoir, via un canal de communication, la première clé variable transmise par le serveur de transchiffrement et pour transmettre, via le canal de communication, au serveur de transchiffrement, les données cryptées avec la première clé, le module de transmission étant en outre configuré pour recevoir du serveur de transchiffrement, via le canal de communication, les données cryptées, avec une deuxième clé, par une boîte noire transactionnelle, puis pour transmettre au serveur d’acceptation, les données cryptées avec la deuxième clé, la deuxième clé étant partagée entre le serveur de transchiffrement et le serveur d’acceptation et n’étant pas transmise au terminal mobile. Selon un mode de réalisation, le terminal mobile comprend en outre une mémoire volatile, la première clé étant manipulée dans la mémoire volatile du terminal mobile. Selon encore un autre aspect, la présente invention concerne un serveur de transchiffrement pour une transmission sécurisée de données entre un terminal mobile et un serveur d’acceptation, le serveur de transchiffrement comprenant un module de génération configuré pour générer une première clé variable, et un module de transmission du serveur de transchiffrement configuré pour transmettre la première clé variable, via un canal de communication, au terminal mobile, le module de transmission du serveur de transchiffrement étant en outre configuré pour recevoir du terminal mobile, via le canal de communication, les données cryptées avec la première clé, le serveur de transchiffrement comprenant en outre une boîte noire transactionnelle configurée pour recevoir et décrypter les données cryptées avec la première clé variable, puis crypter les données avec une deuxième clé, puis pour transmettre, via le canal de communication, au terminal mobile, les données cryptées avec la deuxième clé, la deuxième clé étant partagée entre le serveur de transchiffrement et le serveur d’acceptation, et n’étant pas transmise au terminal mobile. Selon un mode de réalisation, le module de génération et le module de transmission sont hébergés par un sous-serveur du serveur de transchiffrement, ledit sous-serveur étant distinct et disjoint de la boîte noire transactionnelle. Selon encore un autre aspect, la présente invention concerne un système pour une transmission sécurisée de données entre un terminal mobile et un serveur d’acceptation, le système comprenant le terminal mobile selon le mode de réalisation décrit ci-dessus, et le serveur de transchiffrement selon le mode de réalisation décrit ci-dessus, le serveur d’acceptation étant configuré pour recevoir du terminal mobile les données chiffrées avec une clé partagée entre le serveur de transchiffrement et le serveur d’acceptation, ladite clé partagée n’étant pas transmise au terminal mobile. Pour sa bonne compréhension, un mode de réalisation et/ou de mise en oeuvre de l’invention est décrit en référence aux dessins ci-annexés représentant, à titre d’exemple non limitatif, une forme de réalisation ou de mise en œuvre respectivement d’un dispositif et/ou d’un procédé selon l’invention. Les mêmes références sur les dessins désignent des éléments similaires ou des éléments dont les fonctions sont similaires. est une représentation schématique du séquencement des étapes du procédé selon un mode de mise en œuvre de l’invention. est une représentation schématique des composants d’un système selon un mode de réalisation de l’invention configuré pour la mise en œuvre de l’invention. Un exemple de réalisation de l’invention est illustré schématiquement à la . Il comprend un terminal mobile TM et un serveur de transchiffrement S, le terminal mobile TM et le serveur de transchiffrement S étant configurés ensembles pour une transmission sécurisée de données entre le terminal mobile TM et un serveur d’acceptation SA. Le terminal mobile TM est par exemple un équipement destiné au grand public, non spécialisé, comprenant, de manière standard, un module matériel de transmission de données. Le terminal mobile est de préférence un téléphone intelligent ; il peut aussi être une tablette, ou un ordinateur portable par exemple, qui peut comprendre également un module de mémoire persistante MP, et un module de mémoire volatile MV, comme cela est illustré schématiquement sur la . Sur le terminal mobile TM est téléchargé un module logiciel de cryptage MC; ledit module logiciel de cryptage MC est configuré pour crypter les données avec une première clé variable transmise par le serveur de transchiffrement S ; sur le terminal mobile TM est également téléchargée une application logicielle qui forme, avec le module matériel standard de transmission de données du terminal mobile TM, un module matériel et logiciel de transmission de données MT1 ; le module matériel et logiciel de transmission de données MT1 permet ainsi de recevoir via un canal de communication CS, la première clé variable transmise par le serveur de transchiffrement S et pour transmettre au serveur de transchiffrement S les données cryptées avec la première clé ; le module de transmission MT1 est en outre configuré pour recevoir du serveur de transchiffrement S, via le canal de communication CS, les données cryptées avec une deuxième clé, par une boîte noire transactionnelle BNT du serveur de transchiffrement S, puis pour transmettre au serveur d’acceptation SA, les données cryptées avec la deuxième clé ; la deuxième clé est partagée entre le serveur de transchiffrement S et le serveur d’acceptation SA et n’est pas stockée sur le terminal mobile TM. Le canal de communication CS est un canal de communication de données entre le terminal mobile TM et le serveur de transchiffrement S ; le canal de communication CS est par exemple sécurisé pour mettre en œuvre un premier niveau de protection des données échangées via ce canal. Le canal de communication est sécurisé lorsqu’il permet une communication de données entre deux points authentifiés mutuellement, la communication étant protégée en confidentialité. Ce premier niveau de protection des données peut être assuré par exemple par un premier cryptage des données échangées via ce canal sécurisé, le procédé selon l’invention assurant un niveau supplémentaire de protection des données transmises par le terminal mobile au serveur d’application. Ainsi, le canal de communication sécurisé permet de garantir l’authenticité et la provenance de la première clé, puis des données cryptées avec la première clé, et de se protéger ainsi contre une attaque du type attaque par «l’ homme du milieu» (MITM). La première clé variable est, de préférence, une première clé à usage unique ; autrement dit, à chaque mise en oeuvre du procédé est utilisée une première clé différente de celle utilisée pour une mise en oeuvre précédente. Le niveau de protection est ainsi renforcé. En particulier, la première clé est effacée immédiatement après l’étape de cryptage par le module de cryptage du terminal mobile, et de préférence avant l’étape de transmission qui suit l’étape de cryptage. Plus particulièrement, la première clé est manipulée dans une mémoire volatile MV du terminal mobile TM; en tout état de cause, la première clé n’est jamais stockée dans un module de mémoire persistante MP du terminal mobile TM. Ainsi, le niveau de protection est encore renforcé. Le serveur de transchiffrement S comprend un module de génération MG configuré pour générer une première clé variable, et un module de transmission MT2 du serveur de transchiffrement configuré pour transmettre la première clé variable, via le canal sécurisé CS, au terminal mobile TM, le module de transmission MT2 du serveur de transchiffrement étant en outre configuré pour recevoir du terminal mobile TM, via le canal sécurisé CS, les données cryptées avec la première clé. Le serveur de transchiffrement comprend en outre une boîte noire transactionnelle BNT configurée pour recevoir et décrypter les données cryptées avec la première clé variable, puis pour crypter les données décryptées avec la deuxième clé, puis pour transmettre, via le canal sécurisé CS, au terminal mobile TM les données cryptées avec la deuxième clé, la deuxième clé étant partagée entre le serveur de transchiffrement S et le serveur d’acceptation SA. Une boîte noire transactionnelle BNT, parfois appelé HSM ou SSM ou encore SHSM selon une désignation d’origine anglo-saxonne correspondant respectivement à « Hardware Security Module », ou à « Software Security Module », ou encore à « Software and Hardware Security Module », est un composant matériel ou logiciel offrant un service de sécurité qui consiste à générer, stocker et protéger des clefs cryptographiques. Les HSMs répondent par exemple aux standards de sécurité internationaux tels que FIPS 140 et Critères Communs EAL4+. Les modules de génération MG et de transmission MT peuvent être hébergés par un sous serveur SS1 du serveur S ; la boîte noire transactionnelle BNT peut également être hébergée par un autre sous-serveur SS2 du serveur S, distinct du sous-serveur SS1, le sous-serveur SS2 étant ainsi disjoint du sous-serveur SS1, pour un stockage non volatile de la deuxième clé, dans la boîte noire transactionnelle BNT. Selon un aspect, représenté schématiquement sur la , l’invention concerne un procédé 100 de transmission sécurisée de données entre un terminal mobile TM et un serveur d’acceptation SA, le terminal mobile TM étant configuré pour communiquer via un canal de communication avec un serveur de transchiffrement S, et pour communiquer avec le serveur d’acceptation SA, le procédé 100 comprenant les étapes suivantes mises en œuvre par le terminal mobile TM : - réception 101 via le canal de communication CS d’une première clé générée par le serveur de transchiffrement S, la première clé étant variable ; - cryptage 102 des données avec la première clé ; - transmission 103 au serveur de transchiffrement S, via le canal de communication CS, des données cryptées avec la première clé ; - réception 104 via le canal de communication CS des données cryptées avec une deuxième clé, par une boîte noire transactionnelle BNT du serveur de transchiffrement S; - transmission 105 au serveur d’acceptation SA, des données cryptées avec la deuxième clé, la deuxième clé étant partagée entre le serveur de transchiffrement S et le serveur d’acceptation SA, et n’étant pas transmise au terminal mobile TM. Le canal de communication CS est par exemple sécurisé. La première clé variable est, en particulier, à usage unique, i.e. est différente pour chaque mise en œuvre du procédé. Plus particulièrement, la première clé est effacée immédiatement après l’étape de cryptage 102 par le module de cryptage MC du terminal mobile TM, et de préférence avant l’étape de transmission 103 qui suit l’étape de cryptage 102. Selon un autre aspect, également représenté schématiquement sur la , l’invention concerne un procédé 200 de transmission sécurisée de données entre un terminal mobile TM et un serveur d’acceptation SA, le procédé 200 comprenant les étapes suivantes mises en œuvre par le serveur de transchiffrement S : - génération 201 d’une première clé, la première clé étant variable; - transmission 201bis, via le canal sécurisé CS, au terminal mobile TM de la première clé; - réception 202, via le canal sécurisé CS, en provenance du terminal mobile des données cryptées par le terminal mobile TM avec la première clé; - décryptage 203 par la boîte noire transactionnelle BNT avec la première clé des données cryptées avec la première clé ; - cryptage 203bis des données par la boîte noire transactionnelle BNT avec une deuxième clé; - transmission 204, via le canal sécurisé CS ,au terminal mobile TM des données cryptées avec la deuxième clé, la deuxième clé étant partagée entre le serveur de transchiffrement S et le serveur d’acceptation SA, et n’étant pas transmise au terminal mobile TM. Par exemple, les données considérées peuvent être un code identifiant, ou code CHD, d’un compte associé à une carte de paiement et/ou un code d’authentification d’un titulaire du compte, par exemple les éléments d’un code PIN. Procédé (100) de transmission sécurisée de données entre un terminal mobile (TM) et un serveur d’acceptation (SA), le terminal mobile (TM) étant configuré pour communiquer via un canal de communication (CS) avec un serveur de transchiffrement (S), et pour communiquer avec le serveur d’acceptation (SA), le procédé (100) comprenant les étapes suivantes mises en œuvre par le terminal mobile (TM) : - réception (101), via le canal de communication, d’une première clé générée par le serveur de transchiffrement (S), la première clé étant variable ; - cryptage (102) des données avec la première clé ; - transmission (103), via le canal de communication (CS), au serveur de transchiffrement (S) des données cryptées avec la première clé ; - réception (104), via le canal de communication (CS), des données cryptées avec une deuxième clé par une boîte noire transactionnelle (BNT) du serveur de transchiffrement; - transmission (105) au serveur d’acceptation (SA), des données cryptées avec la deuxième clé, la deuxième clé étant partagée entre le serveur de transchiffrement (S) et le serveur d’acceptation (SA) et n’étant pas transmise au terminal mobile (TM). Procédé (100) selon la revendication précédente, dans lequel le canal de communication (CS) est sécurisé. Procédé (100) selon l’une des revendications 1 ou 2, dans lequel la première clé variable est à usage unique, i.e. est différente pour chaque mise en œuvre du procédé (100). Procédé (100) selon l’une des revendications 1 à 3, dans lequel la première clé est manipulée par le terminal mobile (TM) dans une mémoire volatile du terminal mobile (TM). Procédé (200) de transmission sécurisée de données entre un terminal mobile (TM) et un serveur d’acceptation (SA), le terminal mobile (TM) étant configuré pour communiquer via un canal de communication (CS) avec un serveur de transchiffrement (S) comprenant une boîte noire transactionnelle (BNT), le procédé (200) comprenant les étapes suivantes mises en œuvre par le serveur de transchiffrement (S) : - génération (201) d’une première clé, la première clé étant variable; - transmission (201bis), via le canal de communication (CS), au terminal mobile (TM) de la première clé; - réception (202), via le canal de communication (CS), en provenance du terminal mobile (TM), des données cryptées par le terminal mobile (TM) avec la première clé; - décryptage (203), par la boîte noire transactionnelle (BNT), avec la première clé, des données cryptées avec la première clé ; - cryptage (203bis) des données, par la boîte noire transactionnelle (BNT), avec une deuxième clé; - transmission (204), via le canal de communication (CS), au terminal mobile (TM), des données cryptées avec la deuxième clé, la deuxième clé étant partagée entre le serveur de transchiffrement (S) et le serveur d’acceptation (SA), et n’étant pas transmise au terminal mobile (TM). Procédé (200) selon la revendication précédente, dans lequel le canal de communication (CS) est sécurisé. Procédé (200) selon l’une des revendications 5 ou 6, dans lequel la première clé variable est à usage unique, i.e. est différente pour chaque mise en œuvre du procédé (200). Terminal mobile (TM) pour une transmission sécurisée de données avec un serveur d’acceptation (SA), le terminal mobile (TM) comprenant un module de cryptage (MC) configuré pour crypter les données avec une première clé variable transmise par un serveur de transchiffrement (S), le terminal mobile (TM) comprenant en outre un module de transmission (MT1) configuré pour recevoir via un canal de communication la première clé variable transmise par le serveur de transchiffrement (S) et pour transmettre via le canal de communication au serveur de transchiffrement (S) les données cryptées avec la première clé, le module de transmission (MT1) étant en outre configuré pour recevoir du serveur de transchiffrement via le canal de communication les données cryptées avec une deuxième clé par une boîte noire transactionnelle (BNT) puis pour transmettre au serveur d’acceptation (SA), les données cryptées avec la deuxième clé, la deuxième clé étant partagée entre le serveur de transchiffrement (S) et le serveur d’acceptation (SA) et n’étant pas transmise au terminal mobile (TM). Terminal mobile (TM) selon la revendication précédente, comprenant en outre une mémoire volatile (MV), la première clé étant manipulée dans la mémoire volatile (MV) du terminal mobile (TM). Serveur de transchiffrement (S) pour une transmission sécurisée de données entre un terminal mobile (TM) et un serveur d’acceptation (SA), le serveur de transchiffrement (S) comprenant un module de génération (MG) configuré pour générer une première clé variable, et un module de transmission (MT2) du serveur de transchiffrement configuré pour transmettre la première clé variable, via un canal de communication, au terminal mobile (TM), le module de transmission (MT2) du serveur de transchiffrement étant en outre configuré pour recevoir du terminal mobile (TM), via le canal de communication, les données cryptées avec la première clé, le serveur de transchiffrement comprenant en outre une boîte noire transactionnelle (BNT) configurée pour recevoir et décrypter les données cryptées avec la première clé variable, puis crypter les données avec une deuxième clé, puis pour transmettre, via le canal de communication, au terminal mobile (TM) les données cryptées avec la deuxième clé, la deuxième clé étant partagée entre le serveur de transchiffrement (S) et le serveur d’acceptation (SA), et n’étant pas transmise au terminal mobile (TM). Serveur de transchiffrement (S) selon la revendication précédente, dans lequel le module de génération (MG) et le module de transmission (MT2) sont hébergés par un sous-serveur (SS1) du serveur de transchiffrement (S), ledit sous-serveur (SS1) étant distinct et disjoint de la boîte noire transactionnelle (BNT). Système pour une transmission sécurisée de données entre un terminal mobile (TM) et un serveur d’acceptation (SA), le système comprenant le terminal mobile selon la revendication 3, et un serveur de transchiffrement (S) selon la revendication 4, et le serveur d’acceptation étant configuré pour recevoir du terminal mobile (TM) les données chiffrées avec une clé partagée entre le serveur de transchiffrement (S) et le serveur d’acceptation (SA), la clé partagée n’étant pas transmise au terminal mobile (TM).