Cryptage de données sensibles 

08/03/2024

Le cryptage de données, qu’est-ce que c’est ?

Le cryptage de données est un moyen de protéger les données que l’on qualifie de sensibles. C’est un procédé qui consiste à convertir des informations en un format illisible. Cette technique est utilisée afin de protéger les données confidentielles contre tout accès non autorisé.

Le fait de crypter des données permet de les rendre incompréhensibles pour tous ceux qui ne disposent pas d’une clé permettant de déchiffrer l’information, ce qui signifie que même si les données sont volées, elles restent inutilisables.

La cryptographie est omniprésente dans notre vie quotidienne, souvent de manière invisible. Le protocole HTTPS, symbolisé par un petit cadenas devant l'URL dans la barre d'adresse de votre navigateur, est un excellent exemple de cette intégration. Ce protocole utilise la cryptographie pour sécuriser les communications entre votre navigateur et les serveurs web, garantissant que les données échangées restent confidentielles et intègres.
https secure

Un autre exemple de cryptage

Lors de la création d’un compte sur un site web ou une application, il faut choisir un mot de passe afin de limiter l’accès à ce compte. Ce mot de passe est généralement crypté et stocké dans une base de données.

Le cryptage consiste à transformer un mot de passe du type “chihuahua10” en une série de caractères comme celle-ci : “2fd4e1c67a2d28fced849ee1bb76e7391b93eb12”.

Lors de la connexion au compte, le mot de passe entré est également crypté à l’aide du même algorithme et est comparé avec celui qui a été crypté et stocké à la création de ce même compte. Si les deux correspondent, l’accès est alors accordé.
cryptage mot de passe

Pourquoi crypter des données ?

Il y a en réalité plusieurs raisons pour lesquelles il est important de crypter des données.

Le cryptage permet de rendre confidentielles les données sensibles en garantissant que seules les personnes et les systèmes autorisés peuvent y accéder. Ceci afin de garantir la protection de la vie privée et la sécurité des informations.

Il offre une protection contre les cyberattaques. En rendant illisibles les données, il empêche celles-ci d’être interceptées, volées ou utilisées à des fins malveillantes.

Il est essentiel afin de sécuriser les communications en ligne. Qu’il s’agisse d’e-mails, de conversations instantanées ou encore de transactions financières, le cryptage des données garantit que les informations échangées soient protégées contre toute interception ou altération pendant leur transmission.

Lorsque les données stockées sur vos appareils électroniques sont cryptées, elles restent sécurisées même en cas de perte ou de vol de ceux-ci.

Enfin, il y a des réglementations qui exigent que les données soient cryptées. C’est le cas par exemple de la nLPD (Nouvelle Loi sur la Protection des Données), du RGPD (Règlement Général sur la Protection des Données) ou encore du PCI DSS (Payment Card Industry Data Security Standard) pour tout ce qui concerne les transactions impliquant des cartes bancaires.

Le cryptage des données chez MobileThinking

Use case BenefitMe

Tout d’abord, qu’est-ce que BenefitMe ? BenefitMe est une plateforme qui permet la centralisation, la présentation, la simulation et la gestion de tous les avantages offerts à vos collaborateur·trice·s. Intégrée ou non à votre portail RH, elle permet à chaque employé·e de visualiser les bénéfices dont il·elle dispose dans le domaine des salaires, du temps, des assurances, de la prévoyance ainsi que des avantages en nature. L’employé·e peut effectuer des simulations à volonté, intégrant les impacts fiscaux de ses choix, avant de le soumettre aux RH pour validation.

BenefitMe utilise le framework php Laravel qui permet d’encrypter les mot de passe de manière sécurisée. L'encryption bcrypt est un mécanisme crucial pour sécuriser les mots de passe des utilisateurs dans les applications. Lorsqu'un utilisateur crée un compte ou modifie son mot de passe, Laravel utilise bcrypt pour hasher le mot de passe avant de le stocker dans la base de données. Voici une explication détaillée de ce processus :

1) Hashage du mot de passe : Quand un utilisateur saisit son mot de passe, Laravel n'enregistre pas le mot de passe en clair dans la base de données. Au lieu de cela, il utilise la fonction bcrypt pour hasher le mot de passe.

2) Salage automatique : Bcrypt génère automatiquement un "salt" (une chaîne de caractères aléatoire) qui est ajouté au mot de passe avant le processus de hashage. Cela assure que même si deux utilisateurs ont le même mot de passe, leurs hashes seront différents.

3) Facteur de coût : Le facteur de coût dans bcrypt détermine le nombre d'itérations du processus de hashage, rendant la création du hash plus lente et donc plus difficile à attaquer par force brute.

4) Stockage du hash : Une fois le mot de passe hashé, Laravel stocke le résultat dans la base de données.

BenefitMe est une plateforme qui centralise des données hautement confidentielles, telles que les salaires, dates de naissance, adresses, et autres informations personnelles. Afin de garantir une protection optimale des données utilisateurs, tous les champs sensibles de la base de données sont chiffrés en utilisant entre autres l'algorithme AES-256.

Le principal défi de ce projet était de chiffrer l'ensemble des champs sensibles tout en préservant la capacité d'effectuer des recherches sur ces données chiffrées. Pour surmonter ce défi, nous avons mis en place une technique sophistiquée utilisant une table d'indexation, permettant de retrouver les informations de manière totalement sécurisée. Il est crucial de souligner que seul le serveur possédant la clé adéquate peut déchiffrer les données et effectuer des recherches sur ces champs spécifiques avant de les transmettre de manière sécurisée au client via HTTPS (comme vu précédemment).

Pour conclure, BenefitMe applique une stratégie de sécurité rigoureuse en intégrant l'encryption à chaque niveau de son infrastructure. Pour la protection des mots de passe, le framework Laravel est utilisé pour implémenter le hashage bcrypt, offrant une sécurité renforcée grâce au salage automatique et au facteur de coût. En parallèle, l'encryption AES-256 est mise en œuvre pour chiffrer les données sensibles dans la base de données, assurant une protection solide des informations confidentielles et sensibles. Enfin, la communication entre le serveur et le client est sécurisée via HTTPS, garantissant l'intégrité et la confidentialité des données échangées. 
clé de sécurité

En résumé ?

Crypter des données est essentiel pour garantir la confidentialité et la sécurité des informations sensibles. Dans un contexte où le numérique et le digital sont en perpétuelle croissance, il est primordial d’adopter des méthodes de cryptage solides afin de renforcer la cybersécurité.