Sécurité de la donnée : comment fonctionne le chiffrement ? L'exemple de Kls

6 minutes de lecture
03/04/24 09:58

Dans un monde où la confidentialité des données est une préoccupation majeure, leur sauvegarde et leur sécurité devient une priorité. Le chiffrement des fichiers se révèle être un bouclier essentiel pour protéger la sécurité des informations sensibles. À travers cet article, nous explorons les différents types de chiffrement, et présentons comment, chez Kls, nous mettons en place les mesures nécessaires à la préservation de la confidentialité des données de nos utilisateurs sur notre plateforme.

Les différents types de chiffrement

Le chiffrement des données repose sur des algorithmes, c’est-à-dire un ensemble de règles et de procédures permettant de convertir des données en un format illisible pour quiconque ne possède pas la clé de déchiffrement correspondante. Il en existe deux grandes familles : symétrique, asymétrique.

Le chiffrement symétrique

Dans le chiffrement symétrique, une seule et même clé est utilisée pour à la fois chiffrer et déchiffrer les données. C'est comme si vous aviez une seule clé pour verrouiller et déverrouiller un coffre-fort. Cette méthode est très rapide et efficace pour sécuriser de grandes quantités de données. Cependant, elle présente un défi majeur pour la sécurité : la gestion et la protection de cette clé. Si une personne intercepte cette clé, elle peut facilement accéder à toutes les données sécurisées avec cette clé. C'est pourquoi la sécurité de la clé symétrique est d'une importance capitale.

Le chiffrement asymétrique

Le chiffrement asymétrique fonctionne avec une paire de clés. Une clé publique est généralement utilisée pour chiffrer les données, tandis que le déchiffrement se fait en général grâce à une clé privée. Vous pouvez comparer cela à un coffre-fort dans lequel tout le monde peut déposer quelque chose à l'intérieur à l'aide de la clé publique, mais où seul le propriétaire du coffre (qui possède la clé privée) peut ouvrir et accéder aux objets à l'intérieur. Cette méthode est plus sûre, car la clé privée reste secrète et n'est jamais partagée avec d'autres parties. Cependant, elle est souvent plus lente que le chiffrement symétrique en raison de la complexité des calculs impliqués. C’est sur ce système que repose le chiffrement de la plupart des échanges sur Internet (notamment le protocole HTTPS).

Le chiffrement de bout-en-bout

Aujourd’hui, un grand nombre de messageries (iMessage, Signal, WhatsApp…) mettent en avant le chiffrement de bout-en-bout des messages. Il s’agit d’une méthode qui garantit que seuls l'émetteur et le destinataire peuvent accéder aux données, car celles-ci sont chiffrées dès leur création et déchiffrées uniquement à leur destination finale. En général, ce système repose sur du chiffrement asymétrique.

Cela implique une gestion avancée des clés qui, par essence, ne doivent être accessibles que pour l’expéditeur et le destinataire. Il est donc exclu que les clés puissent être stockées sur un serveur central qui impliquerait un tiers.

Le cas de Kls : contexte

Notre plateforme permet d’échanger des documents entre personnes habilitées, au sein de différents établissements de crédits, ainsi qu’avec leurs clients.

Dans le cadre de leurs activités, nos utilisateurs ont besoin d’ajouter et de retirer des accès à certaines données tout au long de leur cycle de vie.

Challenges

  • Le chiffrement de bout-en-bout nécessiterait :
    • d’une part que les données soient chiffrées directement sur le poste des utilisateurs avant d’être stockées sur nos serveurs.
    • d’autre part, que les clés de déchiffrement soient connues de tous les utilisateurs actuels et futurs qui devront accéder aux données, sans que ces clés soient stockées sur nos serveurs.
  • Le chiffrement sur le poste des utilisateurs n’est pas un problème, en revanche l’échange décentralisé des clés en est un.
  • Il serait nécessaire de communiquer la clé de déchiffrement à chaque fois qu’un nouvel accès est donné à un utilisateur pour qu’il puisse la stocker sur son poste.
  • Il faudrait aussi que les clés soient conservées lorsqu’un utilisateur change d’ordinateur par exemple.

S’il existe des solutions à certains des challenges identifiés, la gestion des clés reste complexe avec un impact sur la facilité d’utilisation de la plateforme. Le Desk Kls étant par essence une plateforme qui permet de centraliser les informations, en toute sécurité, de façon simple, c’est à nous que revient la responsabilité de porter la charge de la complexité en apportant sécurité et confort à nos utilisateurs dans la gestion des clés sur tout leur cycle de vie.

Solutions

L’ensemble du chiffrement et du déchiffrement des données étant réalisé sur notre infrastructure et les clés seulement connues de nous, nous retenons d’utiliser un algorithme de chiffrement symétrique pour gagner en simplicité et en rapidité.

Parmi ceux-ci, on trouve le DES, AES ou encore le Blowfish. Ces algorithmes proposent généralement plusieurs variantes. Dans notre cas, nous avons choisi d’utiliser l’AES (Advanced Encryption Standard) avec des clés de 256 bits, ce qui constitue actuellement le plus haut niveau de chiffrement recommandé notamment par le NIST (National Institute of Standards and Technology) et l’ANSSI (Agence nationale de la sécurité des systèmes d'information).

Stockage des données et des clés

Une fois les données chiffrées, plusieurs éléments doivent être rassemblés pour pouvoir les déchiffrer et les lire. C'est similaire à un puzzle dont il faut rassembler les différentes pièces. Pour le déchiffrement des données par Kls, nous avons besoin des données chiffrées et de leur clé de chiffrement.

La règle d’or

La première mesure de sécurité consiste à ne jamais stocker au même endroit les données chiffrées et leur clé de déchiffrement. Ainsi, les données et les clés de chiffrement sont stockées dans des endroits séparés de notre infrastructure et ne font que transiter dans la mémoire (chiffrée, elle aussi) de nos serveurs, sans y être stockées.

Limiter le risque

Afin de limiter l’impact que la fuite d’une clé ou de données chiffrées pourrait avoir, chaque fichier utilise une clé de chiffrement différente (DEK dans l’animation ci-dessous).

Prenons un exemple avec le vol d’un acteur malveillant :

  • S’il parvient à récupérer une clé, il ne pourrait déchiffrer que les informations d’un seul fichier et non l’ensemble des données.
  • À l’inverse, s’il venait à récupérer toutes les données chiffrées, il devrait alors trouver autant de clés que de fichier à déchiffrer.

Pour illustrer :

Chiffrement

“One more thing”

Afin de rajouter un niveau de sécurité sur les clés de chiffrement elles-mêmes, nous avons mis en place un système qui repose sur une clé principale qui chiffre l’ensemble des clés uniques (KEK dans l’animation ci-dessus). Cette clé principale nous permet de rajouter une pièce au puzzle qui permet de chiffrer les documents en ajoutant un troisième facteur situé à un troisième endroit de notre infrastructure.

Chiffrement de l’infrastructure

Comme la plupart des hébergeurs, le nôtre intègre des mécanismes de chiffrement sur la plupart des services qu’il propose. C’est notamment le cas des services de stockage à froid, de base de données ou les serveurs web.

En plus du chiffrement que nous appliquons spécifiquement aux données de nos utilisateurs, chez Kls, nous avons fait le choix de tout chiffrer au sein même de notre infrastructure.

Ainsi, les disques durs, la mémoire de nos serveurs, les espaces de stockage, les bases de données et les sauvegardes sont chiffrées “au repos” (”encryption at rest”). Cela signifie que si une personne avait un accès “physique” à ces éléments, il ne serait quand même pas en capacité de voir les documents sous-jacents (chiffrés par nos soins) car ils ne seraient pas reconnaissables.

De même, les données sont chiffrées “en transit”, c’est-à-dire lors des communications entre les différents éléments de l’infrastructure. Ainsi, même si une personne pouvait “lire” les données qui transitent sur le réseau, il ne pourrait pas pour autant accéder aux informations.

L’ensemble de ces mesures assure la sécurité de nos données et de celle de nos clients en empêchant tout tiers d’accéder au contenu de nos données, même en ayant directement accès aux serveurs.

Localisation des données

Nous sommes particulièrement sensibles à la protection des données et à leur souveraineté. En tant qu’acteur français et européen, nous avons fait le choix de stocker toutes les données de notre plateforme en France et en Irlande exclusivement. Par ailleurs, notre hébergeur est certifié ISO 27001, ce qui nous permet de nous reposer sur une base solide et vérifiée.

Conclusion

En tant que fournisseur de plateforme permettant d’échanger des informations sensibles et confidentielles, nous nous devons de fournir le plus haut niveau de sécurité à nos clients, mais également à l’ensemble de nos utilisateurs. Nous mettons donc en place toutes les mesures adaptées à cet enjeu en chiffrant l’ensemble de notre infrastructure et en appliquant un chiffrement supplémentaire selon un système avancé impliquant plusieurs facteurs répartis en plusieurs endroits.

Si nous pouvons considérer qu’aujourd’hui, Kls propose un haut niveau de sécurité, il ne faut pas oublier que la cybersécurité est un sujet en perpétuelle évolution. Les technologies comme les connaissances des acteurs malveillants s’améliorent sans cesse et nous devons continuer à suivre les évolutions du marché. Certaines technologies comme l’informatique quantique notamment risquent de remettre en cause la sécurité des données telle que nous la connaissons actuellement. Certains acteurs comme les banques centrales françaises et allemandes ont commencé des expérimentations sur ce type de chiffrement.