Brevet FR3101176A1 — publié le 20210326

L’invention concerne un système d’échange d’informations à distance, en particulier de messagerie à distance comprenant - au moins une application web (2) pour échanger des informations à transmettre, en particulier des messages, - au moins un module (3, 3a, 3b) pour crypter/décrypter les informations à transmettre ; caractérisé en ce que le module (3, 3a, 3b) est configuré pour décrypter lesdites informations en fonction des données d’utilisateurs, en particulier d’un mot de passe d’utilisateur. L’invention porte en outre sur un procédé et un programme associés. L’invention permet ainsi de crypter/décrypter des informations sans avoir besoin de passer par un tiers de confiance. Figure de l’abrégé : Fig. 3. Système d'échange d'informations crypté de bout en bout ne nécessitant pas de tiers de confiance, procédé et programme associés La présente invention a trait aux systèmes informatiques d’échange d’informations entre plusieurs personnes, en particulier des systèmes de messagerie. L’invention vise particulièrement la sécurisation de ces systèmes pour éviter que des informations sur les utilisateurs et les informations transmises ne soient accessibles à des personnes malveillantes. L’invention concerne en outre un procédé informatique et un programme à cet effet. Dans ce domaine, il a été proposé des systèmes de messagerie où les messages sont cryptés à chaque échange. Malheureusement, les systèmes de l’art antérieur ne sont pas satisfaisants car les informations ultra sensibles sont générées sur les serveurs web puis sont stockées sur des serveurs de données ou recourent à un tiers de confiance. De plus, la sécurisation dans l’antérieur n’est pas satisfaisante car elle ne supprime pas les mails d’imposteurs et ne résout pas le problème de perte de mot de passe. Un premier objectif de l’invention est de proposer un système et un procédé améliorés ne stockant aucune donnée en clair et en n’ayant pas recours à un tiers de confiance. Un deuxième objectif est d’améliorer la sécurisation de l’identification et du changement de mot de passe. Pour atteindre ces objectifs, l’invention propose un système d’échange d’informations, en particulier de messagerie à distance comprenant : - au moins une application web pour échanger des informations à transmettre, en particulier des messages et fichiers associés, - au moins un module fonctionnant sur le navigateur de l’utilisateur pour crypter/décrypter les informations à transmettre. Selon un premier aspect, ledit module est configuré pour décrypter lesdites informations en fonction des données d’utilisateurs, en particulier d’un mot de passe d’utilisateur. Avantageusement, l’invention ne nécessite pas de tiers de confiance stockant des données non cryptées car l’utilisateur valablement enregistré a les éléments nécessaires au décryptage des messages échangés, en particulier son mot de passe. En particulier, l’invention permet le cryptage et de décryptage des informations échangées entre deux ou plusieurs personnes à partir de leur navigateur web respectif de telle sorte qu’aucune information confidentielle non cryptée ne soit transmise à une tierce partie. Selon d’autres aspects pris isolément ou combinés selon toutes les combinaisons techniquement réalisables : - le système comprend en outre au moins un module pour crypter/décrypter les données d’utilisateur, de préférence configuré pour . générer une clé privée et une clé publique d’utilisateur ; . de préférence encoder le mot de passe d’utilisateur, en particulier en SHA256 ; . davantage préférentiellement crypter la clé privée de l’utilisateur avec son mot de passe d’utilisateur ; et/ou - ledit module pour crypter lesdites informations est configuré pour . générer une clé de transmission pour les informations à transmettre ; . crypter de manière symétrique les informations en fonction de la clé de transmission, . crypter de manière asymétrique la clé de transmission en fonction d’une clé publique de l’utilisateur émetteur et/ou destinataire. de sorte à transmettre les informations cryptées et la clé de transmission cryptée ; et/ou - ledit module pour décrypter lesdites informations est configuré pour . recevoir les informations cryptées et la clé de transmission cryptée. .décrypter la clé de transmission cryptée au moyen de la clé privée de l’utilisateur ; . décrypter les informations cryptées au moyen de la clé de transmission décryptée ; et/ou - la clé privée de l’utilisateur est cryptée avec le mot de passe d’utilisateur, et ledit module pour décrypter lesdites informations est configuré pour décrypter la clé privée de l’utilisateur avec le mot de passe d’utilisateur. L’invention porte en outre sur un procédé d’échange d’informations à distance, en particulier de messagerie à distance, comprenant des étapes pour mettre en œuvre les modules d’un système selon l’invention. Plus généralement, l’invention porte en outre sur un procédé d’échange d’informations à distance, en particulier de messagerie à distance, comprenant au moins l’une des étapes suivantes en particulier sur une application web tel qu’un navigateur - lors de l’inscription, . générer aléatoirement une clé privée et une clé publique d’utilisateur ; . encoder le mot de passe, en particulier en SHA256 ; . davantage préférentiellement crypter la clé privée avec le mot de passe ; et/ou - lors de la connexion . de préférence encoder le mot de passe entré, en particulier en SHA256 ; . si l’utilisateur est enregistré, lui transmettre sa clé privée étant en particulier cryptée, et sa clé publique ; . de préférence décrypter la clé privée avec le mot de passe ; et/ou - lors de l’envoi des informations à transmettre . créer aléatoirement une clé de transmission ; . de préférence, crypter les informations à transmettre, avec la clé de transmission ; . davantage préférentiellement crypter la clé de transmission avec la clé publique de l’émetteur et/ou celle du destinataire ; et/ou - lors de la réception des informations transmises . de préférence décrypter la clé de transmission cryptée avec le mot de passe du destinataire ; . décrypter lesdites informations à transmettre avec la clé de transmission ; et/ou - lors d’un changement de mot de passe . encoder l’ancien mot de passe entré, en particulier en SHA256 ; . si l’utilisateur est enregistré, lui transmettre sa clé privée étant en particulier cryptée, et sa clé publique ; . utiliser la clé privée et la clé publique retransmises par le serveur au navigateur après identification ; . de préférence décrypter la clé privée avec le mot de passe ; . de préférence crypter la clé privée avec le nouveau mot de passe ; . davantage préférentiellement encoder le nouveau mot de passe, en particulier en SHA256. Un autre objet de l’invention concerne un produit programme d’ordinateur comprenant des portions de code de programme enregistré sur un support utilisable dans une unité de commande, pour mettre en œuvre les modules d’un système selon l’invention ou les étapes d’un procédé selon l’invention, lorsqu’il est exécuté par l’unité de commande. L’invention porte en outre un serveur configuré pour un système selon l’invention ou pour mettre en œuvre un procédé selon l’invention. Un autre objet de l’invention a trait à une application telle qu’un navigateur, configurée pour un système selon l’invention ou pour mettre en œuvre un procédé selon l’invention. En particulier, le procédé se distingue - 1/ Par la rapidité du cryptage et du décryptage des documents échangés ; - 2/ Par le gain de place pour le stockage des documents cryptés, en recourant à une clé de message générée aléatoirement qui est cryptée de manière asymétrique en autant de fois qu’il y a de personnes avec la clé publique des différentes personnes (émetteur et destinataires) ; - 3/ Par le gain de temps en cas de changement par l’un des utilisateurs de son mot de passe : il suffit de décrypter la clé privée de l’utilisateur depuis son navigateur web avec son ancien mot de passe et de la recrypter avec son nouveau mot de passe. L’invention sera davantage détaillée par la description de modes de réalisation non-limitatifs, et sur la base des figures annexées illustrant des variantes de l’invention, dans lesquelles : est un schéma du système et du procédé selon une variante préférée lors d’un enregistrement d’un utilisateur ; est un schéma similaire à celui de la figure précédente mais lors d’une connexion d’un utilisateur ; est un schéma similaire à ceux des figures précédentes mais lors d’un envoi de message d’un utilisateur A, par exemple, vers un utilisateur B ; est un schéma similaire à ceux des figures précédentes mais lors d’une réception de message par un utilisateur B, par exemple, provenant d’un utilisateur A ; est un schéma similaire à ceux des figures précédentes mais lors d’un changement de mot de passe. L’invention concerne un système informatique d’échange d’informations, en particulier entre plusieurs personnes. Il s’agit plus particulièrement d’un système de messagerie hautement sécurisé. L’invention vise à éviter que des informations sur les utilisateurs et les informations ne soient accessibles à des personnes malveillantes telles que par des piratages informatiques, de l’espionnage ou tout autre procédé de ce type. Ainsi, l’invention concerne un système d’échange d’informations à distance. On pourra parler d’échange d’information ou d’échange de données. Il s’agit en particulier d’un système de messagerie à distance. Les messages sont sous forme de texte enrichi. Il s’agit en particulier de messages pouvant inclure des pièces jointes tels que des documents, des images, des vidéos et des enregistrements sonores notamment. Le système comprend au moins un serveur 1. Il s’agit d’un serveur 1 par lequel passent les informations échangées, en particulier les messages. Il s’agit par exemple d’un ou plusieurs serveurs de navigateur web tel que des serveurs web et des serveurs de données décentralisés. Le système comprend en outre au moins une application web 2 pour échanger des informations à transmettre, en particulier des messages et pièces jointes. L’application 2 est en particulier un navigateur web. Les messages sont ainsi échangés entre utilisateurs. Le système comprend en outre au moins un module 3 pour crypter/décrypter lesdites informations à transmettre. Il s’agit en particulier de plusieurs modules spécifiques (3a, 3b) davantage détaillés plus bas. De préférence, le système comprend en outre au moins un module pour crypter/décrypter les données d’utilisateur 4, telles que l’identifiant et/ou le mot de passe. De même, il s’agit en particulier de plusieurs modules (4a, 4b, 4c) spécifiques davantage détaillés plus bas. Selon une variante, ledit module pour crypter les données d’utilisateur comprend au moins un module d’enregistrement 4a. Ce module intervient lors de l’inscription/enregistrement de l’utilisateur, en entrant un mot de passe et de préférence un identifiant. De préférence, le module d’enregistrement 4a ou un autre module spécifique, est configuré pour encoder le mot de passe de l’utilisateur, en particulier en SHA256. Les encodages par hashage cryptographique peuvent se faire suivants d’autres normes. Le module d’enregistrement 4a est configuré pour générer aléatoirement une clé privée d’utilisateur et une clé publique d’utilisateur. Davantage préférentiellement, le module d’enregistrement 4a ou un autre module spécifique, est configuré pour crypter, en particulier de manière symétrique, la clé privée d’utilisateur avec le mot de passe dudit utilisateur. Le module d’enregistrement 4a ou un autre module spécifique, est configuré pour transmettre les informations correspondantes au serveur 1. Il s’agit en particulier d’une transmission sécurisée via internet. En particulier, le navigateur transmet au serveur : - l’identifiant de l’utilisateur, - le mot de passe crypté de l’utilisateur, - la clé publique de l’utilisateur, - la clé privée cryptée de l’utilisateur. Avantageusement, cela permet de renforcer significativement la sécurité en ayant dans les serveurs web un mot de passe crypté et une clé privée cryptée. En outre, ces éléments sont aisément décryptables pour l’utilisateur valablement identifié car son mot de passe lui permet de décoder la clé privée cryptée dans son navigateur. Dans le mode de réalisation préféré, l’invention permet le cryptage et de décryptage des informations échangées entre deux ou plusieurs personnes à partir de leur navigateur web respectif de telle sorte qu’aucune information confidentielle non cryptée, y compris le mot de passe et la clé privée, ne soit transmise à une tierce partie. Avantageusement, l’invention permet de crypter les données d’utilisateur ce qui augmente significativement la sécurisation du système, plus particulièrement la sécurisation de l’identification de l’utilisateur. Selon une variante, le système comprend en outre au moins un module de connexion 4b. L’identification de l’utilisateur intervient au préalable. De préférence, le module de connexion 4b est configuré pour encoder le mot de passe entré, en particulier en SHA256, lors de l’identification. Si l’utilisateur est enregistré, il reçoit sa clé privée cryptée, et sa clé publique. Le module de connexion 4b peut alors décrypter sa clé privée cryptée avec son mot de passe encodé. Avantageusement, cela permet d’améliorer davantage la sécurisation lors de la connexion. Selon une variante, le système comprend en outre parmi les modules pour crypter/décrypter les informations à transmettre 3, en particulier les messages, au moins un module de transmission 3a. Ledit module intervient lors de l’envoi des informations à transmettre. Le module de transmission 3a est configuré pour créer aléatoirement une clé de transmission. Il s’agit en particulier d’une clé de message, pour le message à transmettre. Avantageusement, la génération aléatoire de la clé augmente la sécurisation, et la transmission facilite le décryptage pour l’utilisateur valablement identifié. De préférence, le module de transmission 3a ou un autre module spécifique, est configuré pour crypter, en particulier de manière symétrique, les informations à transmettre, avec la clé de transmission. Davantage préférentiellement, le module de transmission 3a ou un autre module spécifique, est configuré pour crypter, en particulier de manière asymétrique, la clé de transmission avec la clé publique de l’envoyeur et/ou celle du destinataire. Avantageusement, cela permet d’améliorer davantage la sécurisation lors de l'envoi du message. De préférence, la clé de transmission est cryptée avec la clé publique de l’envoyeur, puis avec la clé publique du destinataire. Avantageusement, permet de sécuriser davantage l’envoi message, et de faciliter le décryptage côté destinataire. Les informations à transmettre sont ensuite envoyées, de préférence au serveur 1, davantage préférentiellement par internet sécurisée. Il s’agit en particulier du message crypté et de la clé de message cryptée. Selon une variante, le système comprend en outre parmi les modules pour crypter/décrypter les informations à transmettre, en particulier les messages, au moins un module de réception 3b. Ledit module intervient lors de la réception des informations, en particulier des messages. En particulier, le message est reçu par internet sécurisé. Il s’agit plus particulièrement du message crypté et de la clé de message cryptée. De préférence, le module de réception 3b est configuré pour décrypter la clé de transmission avec le mot de passe du destinataire. En particulier, le mot de passe du destinataire encodé en SHA256 permet de décrypter la clé privée cryptée, qui permet de décoder la clé de transmission cryptée. Par ailleurs, le module de réception 3b, ou un autre module spécifique, est configuré pour décrypter lesdites informations à transmettre avec la clé de transmission. Avantageusement, cela permet d’améliorer davantage la sécurisation lors de la réception du message. Ainsi, l’invention permet d’avoir toutes les informations et données d’identification cryptées nécessitant uniquement le mot de passe de l’utilisateur pour pouvoir décrypter les informations reçues. Selon une variante, ledit module pour crypter les données d’utilisateur comprend au moins un module de modification sécurisé 4c. Ledit module intervient lors d’un changement de mot de passe. L’identification de l’utilisateur intervient au préalable. Le module de modification 4c est configuré pour encoder l’ancien mot de passe entré, en particulier en SHA256. L’ensemble, en particulier l’identifiant et l’ancien mot de passe crypté, est transmis au serveur de manière sécurisée. Si l’utilisateur est enregistré, sa clé privée étant en particulier cryptée, et sa clé publique, lui sont alors accessibles. De plus, de préférence, le module de modification 4c ou un autre module spécifique, est configuré pour décrypter la clé privée de l’utilisateur avec l’ancien mot de passe. Le module de modification 4c ou un autre module spécifique, est configuré pour crypter, en particulier de manière symétrique, la clé privée de l’utilisateur avec le nouveau mot de passe. En outre, davantage préférentiellement, le module de modification 4c est configuré pour encoder le nouveau mot de passe entré, en particulier en SHA256. Le module de modification 4c est configuré pour transmettre les informations correspondantes au serveur 1. Il s’agit en particulier de - la nouvelle clé privée cryptée avec le nouveau mot de passe, - le nouveau mot de passe crypté. Avantageusement, cela permet d’améliorer davantage la sécurisation lors du changement de mot de passe. L’invention porte en outre sur un procédé d’échange d’informations à distance, en particulier de messagerie à distance, comprenant des étapes pour mettre en œuvre les modules d’un système tel que décrit précédemment. Dans un premier temps, un utilisateur A peut s’inscrire/s’enregistrer. Dans une première étape E1, l’utilisateur A saisit son identifiant et son mot de passe, dans son navigateur web (navigateur web de A), pour s’enregistrer. Dans une deuxième étape E2, le navigateur web de A - encode le mot de passe (mot de passe de « A ») en SHA256 ; - génère aléatoirement une clé privée et une clé publique de « A » ; - crypte symétriquement la clé privée de « A » avec mot de passe de « A ». Dans une troisième étape E3, il y a une transmission sécurisée via Internet au serveur web - de l’identifiant, - du mot de passe crypté, - de la clé publique, - de la clé privée cryptée de « A ». Dans un deuxième temps, l’utilisateur A peut se connecter. Dans une quatrième étape E4, l’utilisateur A saisit son identifiant et son mot de passe, dans son navigateur web (navigateur web de A), pour se connecter. Dans une cinquième étape E5, le navigateur web de A encode le mot de passe entré en SHA256. Dans une sixième étape E6, il y a une transmission sécurisée via Internet au serveur web du mot de passe entré crypté. Dans une septième étape E7, si l’utilisateur « A » est enregistré, le serveur web retourne par transmission Internet sécurisée au navigateur web de « A » - la clé privée cryptée de « A » - la clé publique de « A » Dans une huitième étape E8, le navigateur de « A » décrypte la clé privée de « A » avec le mot de passe de « A ». Dans un troisième temps, l’utilisateur A peut envoyer un message en particulier à un utilisateur B. Dans une neuvième étape E9, l’utilisateur A saisit son message et attache des documents à son message. Dans une dixième étape E10, le navigateur de « A » - créé aléatoirement une clé de message ; - encrypte symétriquement le message et les documents attachés avec la clé de message ; - crypte asymétriquement la clé de message avec la clé publique de « A » puis de « B ». Dans une onzième étape E11, il y a une transmission sécurisée via Internet du message crypté et la clé de message cryptée. De préférence, dans une douzième étape E12, il y a une transmission sécurisée via Internet du serveur web du message crypté et la clé de message cryptée, au navigateur de B. Dans un quatrième temps, l’utilisateur B peut recevoir un message provenant en particulier d’un utilisateur B. De préférence, dans une treizième étape E13, il y a une transmission sécurisée via Internet d’informations vers le serveur. La onzième et la treizième étapes E11, E13 peuvent être une seule et même étape. Dans une quatorzième étape E14, il y a une transmission sécurisée via Internet du serveur web d’un ou du message crypté et la clé de message cryptée, au navigateur de B. La douzième et la quatorzième étape E12, E14 peuvent être une seule et même étape. Dans une quinzième étape E15, le navigateur de « B » - décrypte la clé de message avec le mot de passe de « B », - décrypte le message et les documents attachés avec la clé de message. Dans une seizième étape E16, l’utilisateur « B » lit le message et les documents attachés dans son navigateur. Dans un cinquième temps, l’utilisateur A peut changer son mot de passe. Dans une dix-septième étape E17, l’utilisateur « A » saisit son ancien mot de passe et son nouveau mot de passe. Dans une dix-huitième étape E18, le navigateur de « A » encode l’ancien mot de passe en SHA256. Dans une dix-neuvième étape E19, il y a une transmission Internet sécurisée de l’identifiant au serveur web de l’ancien mot de passe crypté de « A ». Dans une vingtième étape E20, si l’utilisateur « A » est enregistré, le serveur retourne au navigateur web de « A » par transmission Internet sécurisée : - la clé privée cryptée de « A », - la clé publique de « A ». Dans une vingt-et-unième étape E21, le navigateur de « A » - décrypte la clé privée de « A » avec l’ancien mot de passe de « A », - crypte symétriquement la clé privée de « A » avec le nouveau mot de passe, - encode le nouveau mot de passe en SHA256. Dans une vingt-deuxième étape E22, il y a une transmission sécurisée via Internet au serveur web : - de la nouvelle clé privée cryptée avec le nouveau mot de passe remplaçant l’ancienne clé privée cryptée ; - du nouveau mot de passe crypté de « A » remplaçant l’ancien mot de passe. L’invention porte en outre sur un produit programme d’ordinateur comprenant des portions de code de programme enregistré sur un support utilisable dans une unité de commande, pour mettre en œuvre les modules d’un tel que décrit précédemment ou les étapes d’un procédé tel que décrit précédemment, lorsqu’il est exécuté par l’unité de commande. Le support correspondant fait également parti de l’invention. L’invention porte également sur un serveur tel que décrit précédemment et/ou une application web telle que celle d’un navigateur tel que décrit précédemment. Système d’échange d’informations, en particulier de messagerie à distance comprenant - au moins une application web (1, 2) pour échanger des informations à transmettre, en particulier des messages, - au moins un module (3, 3a, 3b) pour crypter/décrypter les informations à transmettre ; caractérisé en ce que ledit module (3, 3a, 3b) est configuré pour décrypter lesdites informations en fonction des données d’utilisateurs, en particulier d’un mot de passe d’utilisateur. Système selon la revendication précédente, comprenant en outre au moins un module (4, 4a, 4b, 4c) pour crypter/décrypter les données d’utilisateur, de préférence configuré pour - générer une clé privée et une clé publique d’utilisateur ; - de préférence encoder le mot de passe d’utilisateur, en particulier en SHA256 ; - davantage préférentiellement crypter la clé privée d’utilisateur avec le mot de passe d’utilisateur. Système selon la revendication précédente, dans lequel ledit module pour crypter lesdites informations est configuré pour - générer une clé de transmission pour les informations à transmettre ; - crypter de manière symétrique les informations en fonction de la clé de transmission ; - crypter de manière asymétrique la clé de transmission en fonction d’une clé publique de l’utilisateur émetteur et/ou destinataire. de sorte à transmettre les informations cryptées et la clé de transmission cryptée. Système selon la revendication précédente, dans lequel ledit module pour décrypter lesdites informations est configuré pour - recevoir les informations cryptées et la clé de transmission cryptée ; - décrypter la clé de transmission cryptée au moyen de la clé privée de l’utilisateur ; - décrypter les informations cryptées au moyen de la clé de transmission décryptée. Système selon la revendication précédente, dans lequel la clé privée de l’utilisateur est cryptée avec le mot de passe d’utilisateur, et ledit module pour décrypter lesdites informations est configuré pour décrypter la clé privée de l’utilisateur avec le mot de passe d’utilisateur. Procédé d’échange d’informations à distance, en particulier de messagerie à distance, comprenant des étapes (E1, E2,…, E22) pour mettre en œuvre les modules (3, 3a, 3b, 4, 4a, 4b, 4c) d’un système selon l’une des revendications précédentes. Produit programme d’ordinateur comprenant des portions de code de programme enregistré sur un support utilisable dans une unité de commande, pour mettre en œuvre les modules (3, 3a, 3b, 4, 4a, 4b, 4c) d’un système selon l’une des revendications 1 à 6 ou les étapes (E1, E2,…, E22) d’un procédé selon la revendication précédente, lorsqu’il est exécuté par l’unité de commande. Serveur (1) configuré pour un système selon l’une des revendications 1 à 5 ou pour mettre en œuvre un procédé selon la revendication 6. Application (2) telle qu’un navigateur, configurée pour un système selon l’une des revendications 1 à 5 ou pour mettre en œuvre un procédé selon la revendication 6.