Brevet FR3049363A1 — publié le 20170929

Système informatique permettant la mutualisation des services cryptographiques PKI d'un dispositif cryptographique externe - 5 Domaine de l'invention : L'invention concerne le domaine des transactions sécurisées entre d'une part un dispositif cryptographique du type d'une carte à puce à microprocesseur d'un utilisateur contenant et mettant en oeuvre ses clés privées, et d'autre part un ou plusieurs dispositifs ou systèmes utilisables par cet utilisateur et hébergeant plusieurs applications logicielles faisant appel à des services cryptographiques de type à clé publique (notés PKI), notamment dans des environnements de type Android ou autres. Problématique et Etat de la Technique : 15 Dans le contexte actuel, les utilisateurs d'applications logicielles contenant des données personnelles ou potentiellement sensibles, telles que des logiciels de messagerie instantanée, de courrier électronique, de signature électronique, de chiffrement ou déchiffrement de documents etc., souhaitent de plus en plus pouvoir utiliser ces applications et échanger ces données (par exemple des données chiffrées " 20 qu'il est nécessaire de déchiffrer dans différents environnements) quel que soit leur environnement immédiat. Ainsi, ils souhaitent pouvoir utiliser ces applications au bureau, en face de leur ordinateur de bureau ou ordinateur portable, mais aussi en mobilité, en ayant accès à ces applications par l'intermédiaire de leur téléphone mobile intelligent (dit "smartphone"), ou d'une tablette électronique. 25 Afin d'augmenter la sécurité des transactions, les applications logicielles précitées son souvent associées à des environnements de type PKI, à savoir une clé privée, une clé publique et un certificat. La clé privée est destinée à rester secrète, elle est stockée et utilisée localement dans un dispositif cryptographique appartenant à l'utilisateur, qui peut se présenter notamment sous la forme d'une carte à puce à 30 microprocesseur. La clé publique et le certificat peuvent être stockés sur le dispositif de communication utilisé par l'utilisateur et permettant d'accéder aux applications voulues, à savoir notamment un téléphone mobile, un ordinateur personnel, ou une tablette électronique. 3049363 2 Dans la situation actuelle, un dispositif cryptographique ou une carte à puce contenant les clés privées de l'utilisateur est associée à chaque dispositif de communication mobile, ce qui implique qu'un utilisateur doit porter autant de dispositifs cryptographiques ou de cartes à puce, qu'il utilise de dispositifs de communication mobile pour effectuer ses transactions sécurisées. A titre d'exemple, si l'utilisateur a accès à un téléphone mobile, une tablette et un ordinateur portable sur lesquels il est susceptible d'effectuer des transactions, il lui faudra trois dispositifs cryptographiques cartes à puce, une par appareil, chacune renfermant ses clés privées, à savoir une clé par usage : chiffrer des informations, déchiffrer, signer, etc. Cela est susceptible de pénaliser fortement le ressenti de l'utilisateur, qui souhaiterait pouvoir utiliser avec plusieurs applications logicielles une même carte à puce ou objet portable ayant des capacités PKI, comme notamment des applications d'authentification, ou de signature et chiffrement/déchiffrement de données. Eventuellement ces applications multiples et ces données devraient être utilisables dans des environnements différents tels que : des PC sous environnement Windows, des ordinateurs Apple sous environnement MacOs, des tablettes ou smartphones sous environnement Android ou iOS, pour des usages liés à la PKI. Or il n'existe pas à l'heure actuelle de possibilité de mutualiser des clés pour 20 des applications différentes, ou dans des environnements matériels ou logiciels différents. But de l'invention : L'invention a pour but général de remédier au problème évoqué ci-dessus, et 25 en particulier de proposer un système permettant de mutualiser l'usage de services cryptographiques pour plusieurs applications logicielles, à l'aide d'un seul support de clé cryptographique de type PKI, porté par l'utilisateur. Principe de la solution : 30 L'invention prévoit de déployer sur un dispositif (smartphone ou tablette) capable d'exécuter des applications nécessitant un accès à des fonctionnalités cryptographiques, un service mis en oeuvre par un "middleware" installé sur ledit 3049363 3 dispositif, et qui met à la disposition de ces applications des services PKI offerts par un dispositif cryptographique, par exemple une carte à puce. Par "middleware" en terminologie anglo-saxonne, on entend un intergiciel, encore appelé logiciel médiateur. Il s'agit d'un logiciel tiers qui crée un réseau 5 d'échange d'informations entre différentes applications informatiques. Ce réseau est mis en oeuvre par l'utilisation d'une même technique d'échange d'informations dans toutes les applications impliquées. On utilisera par la suite la terminologie plus courante de "middleware". Le middleware dialogue, par exemple via une communication NFC sécurisée, 10 avec une unique carte à puce ou un objet similaire ayant des capacités PKI, pour permettre l'utilisation de plusieurs applications au moyen des clés et éventuellement des certificats stockés sur cette unique carte à puce. Selon l'invention, ce service cryptographique est conçu pour être accessible par plusieurs applications logicielles en parallèle. 15 L'invention a donc pour objet un système informatique pour l'exécution par un utilisateur de transactions sécurisées à l'aide d'une ou de plusieurs applications logicielles s'exécutant sur plusieurs dispositifs informatiques de l'utilisateur dans un environnement de cryptographie à clé publique, lesdites applications logicielles faisant appel à des dispositifs cryptographiques contenant des clés privées de l'utilisateur, caractérisé en ce que chaque dispositif informatique comporte un logiciel middleware apte à utiliser les clés privées de l'utilisateur contenues dans un unique dispositif cryptographique. De cette manière, le logiciel middleware permet de mutualiser l'usage d'un même dispositif cryptographique pour sécuriser les transactions de l'utilisateur avec une pluralité d'applications s'exécutant sur une pluralité de dispositifs informatiques. Le système selon l'invention peut intégrer une grande variété de dispositifs informatiques utilisant les clés d'un unique dispositif cryptographique, à savoir notamment des ordinateurs de bureau, des ordinateurs portables, des téléphones portables, ou des tablettes électroniques. De préférence, l'échange de données entre le logiciel middleware de chaque dispositif informatique, et le dispositif cryptographique unique, se fait au moyen d'un canal de communication sécurisé. 3049363 4 Avantageusement, ledit dispositif cryptographique est matérialisé par une carte à puce à microprocesseur, de préférence à fonctionnement sans contact. Le canal de communication sécurisé est alors de préférence un canal de communication sans fil, du type NFC (acronyme pour "Near Field Communication"). 5 Ceci permet de profiter du fait que tous les téléphones portables intelligents (dits "smartphones" en terminologie anglo-saxonne) sont équipés de base d'une fonction de communication en mode NFC. Selon l'invention, le logiciel middleware est conçu pour recevoir de la part d'une pluralité d'applications logicielles d'un ou de plusieurs dispositifs de traitement 10 d'un utilisateur, des demandes de connexion à un dispositif cryptographique unique mutualisé entre lesdites applications et lesdits dispositifs de traitement, à des fins de lecture/écriture de données entre lesdites applications et ledit dispositif cryptographique. En outre, ledit logiciel middleware est conçu pour recevoir les demandes de 15 transactions cryptographiques de la part d'une pluralité d'applications logicielles d'un ou de plusieurs dispositifs de traitement d'un utilisateur, puis sous-traiter à un dispositif cryptographique unique mutualisé entre lesdites applications et lesdits dispositifs de traitement, les transactions cryptographiques demandées par les applications, en utilisant les clés stockées dans ledit dispositif cryptographique unique 20 mutualisé. L'invention sera mieux comprise à la lecture de la description des figures, dans lesquelles : - la figure 1 représente un schéma de principe d'une architecture matérielle et 25 logicielle correspondant à l'état de la technique ; - la figure 2 représente un schéma de principe de l'architecture matérielle et logicielle correspondant à l'invention ; - la figure 3 représente de façon schématique les appels de deux applications logicielles vers le middleware selon l'invention, pour la connexion ou pour l'exécution 30 d'opérations cryptographiques; - la figure 4 représente les étapes d'un processus de connexion d'une application logicielle au middleware pour lire les données d'un dispositif 3049363 5 cryptographique. - la figure 5 représente les étapes d'un processus de réalisation d'une opération cryptographique par un dispositif cryptographique à la demande d'une application. 5 Description détaillée : On se réfère à la figure 1 représentative d'un système correspondant à l'état actuel de la technique. On a représenté un système comportant plusieurs dispositifs informatiques 1 susceptibles de faire appel à des dispositifs cryptographiques 10 externes 2 contenant des clés de l'utilisateur pour l'exécution de transactions sécurisées par des applications logicielles 3 hébergées par les différents dispositifs de traitement informatique 1. En pratique, les dispositifs informatiques 1 peuvent notamment être des ordinateurs de bureau, des ordinateurs portables, des tablettes tactiles, ou des 15 téléphones portables. Et les applications logicielles 3 ayant besoin de faire appel à des fonctionnalités cryptographiques peuvent notamment être des logiciels de paiement, de cryptage/décryptage, de signature électronique, ou d'autres applications manipulant des données sensibles de l'utilisateur. Même lorsque les différents dispositifs informatiques 1 appartiennent au 20 même utilisateur, les systèmes connus tels que schématisés en figure 1 ne permettent pas un usage simple d'un même dispositif cryptographique de l'utilisateur, avec plusieurs applications ayant des besoins cryptographiques. Par exemple, il n'est pas possible d'utiliser un même dispositif cryptographique, avec plusieurs applications, ou même avec une même application lorsque celle-ci est 25 exécutée sur des supports et dans des environnements différents, tels que par exemple un ordinateur portable et un téléphone mobile, et ce même lorsque leurs systèmes d'exploitation sont compatibles. Il est donc nécessaire pour l'utilisateur de porter plusieurs dispositifs cryptographiques 2, typiquement plusieurs cartes à puce contenant des clés privées 30 et certificats de l'utilisateur, et d'utiliser avec chaque dispositif 1 de traitement informatique, une carte à puce 2 dédiée. Compte tenu de l'accroissement du nombre de dispositifs 1 de traitement 3049363 6 d'applications, au bureau, au domicile, en mobilité, cette multiplication de cartes à puce 2 nuit au ressenti de l'utilisateur, sous la forme de pertes de temps, oubli de la bonne carte à puce pour effectuer une transaction avec un dispositif 1 donné, etc. On a représenté en figure 2 l'architecture matérielle et logicielle du système 5 selon l'invention pour remédier au problème précité. Les mêmes éléments que précédemment sont désignés par les mêmes références numériques. Selon l'invention, chaque dispositif de traitement informatique 1 du système intègre maintenant un "middleware" 5, ou logiciel médiateur, chargé de faire 10 l'interfaçage entre les différentes applications 3 du dispositif informatique 1 (par exemple un smartphone), et un unique dispositif cryptographique 2 (par exemple une carte à puce unique) stockant les clés privées et certificats de l'utilisateur. Ce middleware 5, dont le fonctionnement sera décrit plus en détail plus loin, est conçu pour pouvoir mutualiser l'usage d'un unique dispositif cryptographique 2 15 de l'utilisateur, pour plusieurs, voire pour l'ensemble des dispositifs 1 de l'utilisateur et leurs applications qui ont besoin d'effectuer des transactions cryptographiques. La figure 3 illustre de façon schématique les interactions entre deux applications 3, et le middleware 5. Chaque application 3 d'un dispositif de traitement 1 effectue auprès du middleware 5 de ce dispositif successivement des demandes de 20 connexion (pour identifier le dispositif cryptographique et mettre en place un canal sécurisé pour les échanges à venir) et des opérations cryptographiques. Les demandes de connexion sont décrites plus en détail en relation avec la figure 4. En 41, une application donnée d'un dispositif de traitement 1 présente au middleware 5 une demande de connexion à un dispositif cryptographique 2 25 mutualisé, par exemple une carte à puce cryptographique. En 42, le middleware 5 qui s'exécute sur ledit dispositif de traitement 1 accepte cette demande de connexion et réalise la connexion au dispositif cryptographique mutualisé 2. En 43, l'application 3 présente alors au middleware 5 une demande de lecture de données stockées sur le dispositif cryptographique 2. En 44 et 45 le middleware 5 vérifie que le dispositif 30 cryptographique 2 est bien connecté au middleware par un canal sécurisé. En cas d'absence de connexion, un message d'erreur est retourné en 46. En cas de connexion réussie, le middleware lit en 47 dans le dispositif cryptographique 2 les 3049363 7 données demandées par l'application et qui sont en mémoire dans le middleware 5 du dispositif 1. En 48, le middleware 5 qui est alors connecté au dispositif cryptographique, y lit les données disponibles. Puis en 49 le middleware 5 envoie les données lues à l'application. 5 Les demandes de réalisation d'une opération cryptographique sont décrites plus en détail en relation avec la figure 5. En 51 une application 3 donnée d'un dispositif de traitement 1 présente au middleware 5 une demande de réalisation d'une opération cryptographique. Le middleware 5 est configuré pour alors effectuer les opérations suivantes : 10 - en 52, vérifier si le dispositif cryptographique mutualisé 2 est connecté au middleware, à défaut retourner en 53 un message d'erreur à l'application ; - en 54, si un dispositif cryptographique est connecté au middleware, vérifier si le middleware dispose d'un code PIN de l'utilisateur lui permettant de lancer une opération cryptographique. En l'absence de code PIN stocké et encore en vigueur, 15 demander en 55 au porteur de saisir son code PIN via l'application 3 ; - sinon, en 56, présenter le code PIN actif au dispositif cryptographique; - en 57, le dispositif cryptographique 2 vérifie si le code PIN présenté par le middleware 5 est correct, à défaut un message d'erreur est retourné à l'application en 58; 20 - si le code PIN est correct, le middleware 5 demande en 59 au dispositif cryptographique de réaliser l'opération cryptographique demandée, par exemple une opération de cryptage ou décryptage de données, ou une opération de signature. - en 60, le middleware 5 envoie le résultat du traitement cryptographique à l'application qui s'exécute sur le dispositif 1 de l'utilisateur. 25 Comme recherché par l'invention, les mêmes opérations de connexion pour lecture/écriture, et de traitement cryptographiques, peuvent être exécutées par toutes les applications de tous les dispositifs de traitement d'un utilisateur, à l'aide d'un seul et même dispositif cryptographique 2 mutualisé entre les différents dispositifs de traitement 1 et/ou les différentes applications 3 qui ont besoin de clés 30 PKI. 3049363 8 Avantages de l'invention : L'invention répond aux buts fixés. Elle permet, grâce à la mise en place d'un "middleware" tel que décrit, de mutualiser l'usage des mêmes données 5 cryptographiques (clés, certificats) contenues sur une unique carte à puce ou équivalent, et qui n'en sortent jamais, par différentes applications qui s'exécutent dans différents environnements (ordinateur de bureau, tablette, téléphone mobile etc.). La mutualisation fonctionne soit à l'égard de plusieurs applications sur un seul dispositif utilisateur, soit à l'égard d'une même application exécutée sur plusieurs dispositifs, soit encore à l'égard de plusieurs applications exécutées sur plusieurs dispositifs de l'utilisateur. La mutualisation du service cryptographique fourni par la carte à puce unique permet une bien meilleure expérience utilisateur, sans compromettre le haut niveau 15 de sécurité dû au maintien en permanence des clés de l'utilisateur dans la carte à puce cryptographique. REVENDICATIONS1 - Système informatique pour l'exécution par un utilisateur de transactions sécurisées à l'aide d'une ou de plusieurs applications logicielles (3) s'exécutant sur plusieurs dispositifs informatiques (1) de l'utilisateur dans un environnement de cryptographie à clé publique, lesdites applications logicielles (3) faisant appel à des dispositifs cryptographiques (2) contenant des clés privées de l'utilisateur, caractérisé en ce que chaque dispositif informatique (1) comporte un logiciel middleware (5) apte à utiliser les clés privées de l'utilisateur contenues dans un unique dispositif cryptographique, de façon à mutualiser l'usage d'un même dispositif cryptographique (2) pour sécuriser les transactions de l'utilisateur avec une pluralité d'applications (3) s'exécutant sur une pluralité de dispositifs informatiques (1). 2 - Système selon la revendication 1, caractérisé en ce que lesdits dispositifs 15 informatiques (1) utilisant les clés d'un unique dispositif cryptographique (2) sont pris dans un ensemble comprenant des ordinateurs de bureau, des ordinateurs portables, des téléphones portables, ou des tablettes électroniques. 3 - Système selon la revendication 1 ou la revendication 2, caractérisé en ce 20 que l'échange de données entre le logiciel middleware (5) de chaque dispositif informatique (1) et le dispositif cryptographique unique (2), se fait au moyen d'un canal de communication sécurisé. 4 - Système selon l'une quelconque des revendications précédentes, 25 caractérisé en ce que ledit dispositif cryptographique unique (2) est matérialisé par une carte à puce à microprocesseur, de préférence à fonctionnement sans contact. 5 - Système selon la revendication 3, caractérisé en ce que ledit canal de communication sécurisé est un canal de communication sans fil, du type NFC (Near 30 Field Communication). 3049363 6 - Système selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit logiciel middleware (5) est conçu pour recevoir de la part d'une pluralité d'applications logicielles (3) d'un ou de plusieurs dispositifs de traitement (1) d'un utilisateur, des demandes de connexion à un dispositif 5 cryptographique (2) unique mutualisé entre lesdites applications et lesdits dispositifs de traitement, à des fins de lecture/écriture de données entre lesdites applications et ledit dispositif cryptographique. 7 - Système selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit logiciel middleware (5) est conçu pour recevoir les demandes de transactions cryptographiques de la part d'une pluralité d'applications logicielles (3) d'un ou de plusieurs dispositifs de traitement (1) d'un utilisateur, puis pour sous-traiter à un dispositif cryptographique (2) unique mutualisé entre lesdites applications et lesdits dispositifs de traitement, les transactions cryptographiques demandées par les applications, en utilisant les clés stockées dans ledit dispositif cryptographique (2) unique mutualisé.