MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Cryptage de base de données :pourquoi et où vous avez besoin d'un cryptage de données

Le chiffrement de la base de données offre une sécurité renforcée pour vos données au repos et en transit. De nombreuses organisations ont commencé à se pencher sérieusement sur le cryptage des données avec les récents cas de violation de la sécurité. Dans la plupart des cas, les serveurs de base de données sont une cible commune pour les attaquants car ils constituent l'actif le plus précieux pour la plupart des organisations. Une fois qu'un intrus a eu accès à des données précieuses de votre serveur, il y a de fortes chances qu'il en vole les données. Ils utilisent ensuite les données pour obtenir une rançon, exploiter les données ou obtenir d'autres gains financiers de l'organisation qu'ils ont attaquée.

Dans ce blog, nous expliquons pourquoi le chiffrement de la base de données est important et comment le chiffrement des données joue un rôle important dans la sécurisation de votre base de données.

Pourquoi ai-je besoin d'un chiffrement de base de données ?

Le chiffrement de la base de données est un processus permettant de convertir les données de la base de données en "texte chiffré" (texte illisible) à l'aide d'un algorithme. Vous devez utiliser une clé générée à partir de l'algorithme pour déchiffrer le texte. Le processus de cryptage de la base de données est fortement recommandé, en particulier pour les entreprises traitant des finances, des soins de santé ou du commerce électronique. Récemment, les cyberattaques, le vol de données ou les violations de données ont sévi ; par conséquent, les données privées suscitent une inquiétude croissante. Les gens sont très conscients de la confidentialité et de la sécurité des données et souhaitent que leurs données soient protégées et utilisées uniquement lorsque cela est nécessaire. Voici quelques bons avantages du cryptage de la base de données :

Éviter les attaques de sécurité

Les attaques de sécurité sont inévitables, mais avec de meilleures méthodes de sécurité et de chiffrement des données, les intrus pourraient ne pas analyser ou déchiffrer pour mieux comprendre les données lors d'une violation de données. Supposons qu'une attaque ou une écoute clandestine de type Man-in-the-middle (MITM) se produise pendant la sauvegarde ou les transferts entre serveurs. S'il s'agit d'un transfert de données non crypté, il est définitivement avantageux pour les attaquants ; pas une situation que vous voulez avoir dans votre environnement !

Si vous avez une base de données chiffrée, un attaquant doit trouver des moyens de déchiffrer les données chiffrées. Jusqu'où ils pourraient aller dépend de la complexité des chiffres et des algorithmes appliqués pour générer les données chiffrées. De plus, les attaquants feront de leur mieux pour accéder aux clés de chiffrement, ce qui les amènera à ouvrir le coffre-fort ou à déchiffrer les données chiffrées, comme pour l'extraction d'or ; après tout, les données sont le nouvel or de nos jours. Pour éviter ces types de tentatives de violation de données, il est important de sécuriser l'infrastructure de toutes les manières, y compris en limitant l'accès aux serveurs dans la mesure du possible.

Conformité aux règles de sécurité

Lorsqu'il s'agit de réglementations de sécurité telles que PCI-DSS, le chiffrement est l'une des exigences les plus importantes. C'est une exigence obligatoire. Par exemple, toutes les données de titulaire de carte doivent être soit cryptées à l'aide d'algorithmes acceptés par l'industrie (par exemple, AES-256, RSA 2048), tronquées, tokenisées ou hachées (algorithmes de hachage approuvés spécifiés dans FIPS 180-4 :SHA-1, SHA-224, SHA-256, SHA-384 SHA-512, SHA-512/224 et SHA-512/256). Bien que ce ne soit pas la seule chose à couvrir pour avoir des données cryptées, la norme PCI-DSS nécessite également la couverture de l'utilisation du processus de gestion des clés de cryptage PCI-DSS.

Protéger les données sensibles

La gestion des clés de chiffrement est idéale pour protéger les données sensibles avec une gestion centralisée des clés et des API simples pour le chiffrement des données. Des exemples de ces gestions de clés utilisent Hashicorp Vault (open source) ou si vous utilisez un cloud public (source fermée), la plupart des gestions de clés à source fermée sont Amazon Web Service (AWS) Key Management Service (KMS), Google Cloud KMS, Microsoft Azure Key Vault.

Qu'est-ce que le chiffrement des données ?

Le cryptage est l'une des fonctionnalités de sécurité les plus importantes pour garder vos données aussi sécurisées que possible. Selon les données que vous manipulez, ce n'est pas toujours indispensable, mais vous devriez au moins le considérer comme une amélioration de la sécurité dans votre organisation. En fait, il est en fait recommandé d'éviter le vol de données ou l'accès non autorisé.

Le cryptage des données est un processus de codage des données. Il s'agit principalement d'une fonction bidirectionnelle, ce qui signifie que les données chiffrées doivent être déchiffrées avec une clé de chiffrement valide. Le cryptage est l'une de ces techniques de cryptographie. Le cryptage est un moyen de dissimuler des informations en les modifiant de sorte qu'elles semblent être des données aléatoires - les méthodes de cryptage peuvent rendre vos données (par exemple des messages) confidentielles, mais en même temps, d'autres techniques et stratégies sont nécessaires pour fournir l'intégrité et l'authenticité d'un message. Le chiffrement est plus une opération mathématique.

Dans le chiffrement de base de données, il existe deux types de base lorsqu'il s'agit de chiffrer les données. Ces types de chiffrement sont les données au repos et les données en transit. Voyons ce qu'ils signifient.

Cryptage des données au repos

Les données stockées dans un système sont appelées données au repos. Le cryptage de ces données consiste à utiliser un algorithme pour convertir du texte ou du code afin qu'il soit illisible. Vous devez disposer d'une clé de cryptage pour décoder les données cryptées.

Le chiffrement d'une base de données entière doit être fait avec prudence car cela peut avoir un impact sérieux sur les performances. Il est donc judicieux de chiffrer uniquement des champs ou des tables individuels. Le chiffrement des données au repos protège les données contre le vol physique des disques durs ou l'accès non autorisé au stockage des fichiers. Ce cryptage est également conforme aux réglementations sur la sécurité des données, en particulier si des données financières ou de santé sont stockées sur le système de fichiers.

Chiffrement pour les données au repos :où cela s'applique-t-il ?

Cela couvre les données au repos telles que les données de votre base de données stockées dans un emplacement spécifique. Par exemple, votre répertoire de données PostgreSQL, votre répertoire de données MySQL/MariaDB ou les emplacements de stockage dbPath de MongoDB. Le processus courant de chiffrement consiste à utiliser le chiffrement transparent des données (TDE). Le concept consiste principalement à chiffrer tout ce qui est persistant.

En plus de cela, les sauvegardes de bases de données sont très sujettes au vol de données et aux accès non autorisés. Celles-ci sont stockées physiquement dans un stockage non volatile. Bien que ces configurations soient exposées à la lecture par un accès non autorisé ou un vol de données, le cryptage des données permet d'éviter tout accès indésirable. Bien sûr, il est également livré avec la sécurisation de vos clés de chiffrement quelque part cachées et non stockées sur le même serveur. En cryptant les données de votre base de données stockées sous forme de fichiers binaires et vos sauvegardes, qu'il s'agisse d'une sauvegarde logique ou binaire, gardez à l'esprit que les données cryptées affectent les performances et augmentent la taille du fichier.

Cryptage des données en transit

Les données transférées ou se déplaçant entre les transactions sont appelées données en transit. Les données se déplaçant entre le serveur et le client lors de la navigation sur des pages Web sont un bon exemple de ce type de données. Comme il est toujours en mouvement, il doit être crypté pour éviter tout vol ou altération des données avant qu'il n'atteigne sa destination.

La situation idéale pour protéger les données en transit est d'avoir les données cryptées avant qu'elles ne se déplacent, et décryptées une fois qu'elles atteignent la destination finale.

Cryptage des données en transit :où s'applique-t-il ?

Comme spécifié ci-dessus, cela concerne le canal de communication entre le client de la base de données et le serveur de la base de données. Considérez les canaux du serveur d'applications et du serveur de base de données qui ont été compromis, et l'attaquant ou l'intrus écoute ou effectue une attaque MITM. L'attaquant peut écouter et capturer les données qui sont envoyées sur un canal non sécurisé. Cela peut être évité si les données envoyées via le câble depuis son client de base de données et le canal de communication du serveur de base de données sont cryptées à l'aide du cryptage TLS/SSL.

La gestion du chiffrement de base de données comporte également de nombreux défis à surmonter. Bien qu'il y ait des avantages, il y a des cas où c'est un inconvénient. Passons en revue de quoi il s'agit.

Avantages du chiffrement des données

Voici les listes de cas courants et réels qui recherchent le chiffrement des données comme un avantage.

  • Il assure la sécurité de toutes vos données à tout moment

  • Protège la confidentialité et les informations sensibles à tout moment

  • Protège vos données sur tous les appareils

  • Assurez votre conformité aux réglementations gouvernementales

  • Cela vous donne un avantage concurrentiel

  • La présence d'une technologie sous-jacente de chiffrement pour la protection des données pourrait accroître la confiance

  • Les données chiffrées préservent l'intégrité

Inconvénients du chiffrement des données

Le chiffrement des données n'est pas synonyme de réussite commerciale. Cela ne vous donne pas l'avantage en tant que technologie en croissance, innovante et avancée sans connaître ses défis et ses meilleures pratiques pour la mettre en œuvre et y faire face. C'est vrai pour le dicton "Tout ce qui brille n'est pas or". Il y a certains inconvénients si vous avez le cryptage des données lorsque vous ne comprenez pas son objectif principal.

Cryptage des données et pénalités de performance

Le chiffrement implique des opérations mathématiques complexes et sophistiquées pour dissimuler la signification des données. Selon les types de chiffrements ou d'algorithmes que vous choisissez pour hacher ou déchiffrer les données. Les bits complexes et les plus élevés sont, si votre base de données est conçue pour gérer des tonnes de requêtes, alors cela enlisera vos ressources, en particulier le processeur. Mettre en place un cryptage de données tel que TLS pour votre transit ou utiliser RSA 2048 bits peut être trop si votre capacité financière n'a pas supervisé ce type de conséquence. C'est une ressource intensive et ajoute une pression supplémentaire sur le processeur du système. Bien que les systèmes informatiques modernes soient puissants et abordables, les offres de cloud public peuvent être acceptables. Préparez d'abord une évaluation et identifiez le type d'impact du chiffrement sur les performances dans le contexte où vous l'utiliserez. Il est également important de comprendre que les performances des différentes solutions de chiffrement sont différentes. Ce qui signifie que les besoins de vitesse et de sécurité doivent être soigneusement équilibrés.

Perte des clés de chiffrement des données

Il devient courant de stocker les clés de chiffrement dans un coffre-fort sécurisé, comme mentionné précédemment, tel que Hashicorp Vault, AWS KMS et autres. L'un des principaux problèmes liés au cryptage est que si quelqu'un perd la clé de décryptage, cela entraînerait de gros problèmes. Vous pouvez comprendre que c'est à peu près la même chose que d'avoir un mot de passe, mais il est traité comme une clé globale pour déchiffrer toutes les données chiffrées. À moins que vous n'ayez des clés de cryptage différentes pour chaque aspect de votre base de données, cela pourrait signifier que beaucoup de mots de passe doivent être mémorisés et doivent être conservés en toute sécurité.

Le chiffrement des données a un impact sur le temps de récupération

Si vos données au repos telles que les sauvegardes sont cryptées, en cas de sinistre total, la récupération avec votre propre sauvegarde peut doubler ou tripler le temps ou même beaucoup plus selon la façon dont vous avez défini le type d'algorithme ou de chiffres. Cela ajoute de la pression chaque fois que vous avez besoin que votre cluster et votre application soient à l'heure, mais que vous ne le puissiez pas car le déchiffrement ou le déchiffrement des données prend trop de temps et de ressources système.

Protection limitée contre les attaques internes ou au niveau de l'application

Bien sûr, cela est compréhensible par l'essence du cryptage. Mais cela ne signifie pas que vous n'avez plus besoin de chiffrer simplement parce qu'il n'applique pas de protection au niveau de l'application. Bien sûr, c'est une autre couche de sécurité qui doit être appliquée dans la couche d'application. Certainement, si quelqu'un accède à l'utilisateur/mot de passe de votre base de données, en particulier avec un accès administratif, le cryptage n'aide pas ici. L'attaquant peut récupérer des données en exécutant une série de requêtes SQL qui sont bien sûr lisibles par l'homme, sauf s'il existe un certain niveau de logique d'application qui crypte la véritable signification de vos données. D'un autre côté, cela ne fait qu'ajouter du travail supplémentaire et de la complexité à la technologie globale que vous utilisez. Si vous avez une grande équipe désignée pour chacune de ces couches, c'est un grand avantage car la gestion de la complexité ne peut être dédiée qu'à chaque rôle sur lequel ils sont censés se concentrer.

Coopération et confiance avec les pairs détenant les clés de chiffrement des données

Certainement une bonne chose à considérer ici. Que se passe-t-il si le pair qui connaît les clés et où elles ont été stockées ou le mot de passe de votre coffre-fort de stockage est parti ? Il est très important de désigner l'accès physique du serveur où sont stockés les clés et les mots de passe. La désignation du rôle et la limitation de l'accès à ces clés et mots de passe sont très importantes. Cela aide également si vous avez une combinaison longue et complexe de mots de passe afin qu'il soit difficile à mémoriser mais en même temps facile à récupérer en cas de besoin. Même si cela semble ironique, un secret doit rester sacré.

Dois-je me soucier du chiffrement des données ?

Le chiffrement des données est souhaitable et souvent obligatoire, comme mentionné, en fonction du processus schématique et de la conception de votre application et du niveau d'activité avec lequel vous êtes engagé.

Devez-vous vous soucier du cryptage des données ? Définitivement oui. Cela revient également, avec une dépendance personnelle et un objectif commercial. Cependant, en présence de données sensibles, en particulier lorsque vous avez déjà construit votre propre personnalité et votre capacité financière dans votre organisation et votre entreprise, toutes les données sont à un niveau de sensibilité beaucoup plus élevé. Vous ne voulez pas que quelqu'un vole vos données et connaisse toutes les choses stratégiques et commerciales impliquées dans la croissance de votre entreprise. Les données, dans ce cas, doivent être sécurisées ; ainsi, le cryptage est un aspect essentiel de la sécurisation de votre base de données et des données elles-mêmes.

Conclusion

Comme les données sensibles existent toujours même dans notre vie quotidienne personnelle, le volume de données sensibles et précieuses augmente en parallèle dans une organisation. Il est important de comprendre que toutes les données ne nécessitent pas de chiffrement. Certainement, certaines données sont partagées à l'échelle mondiale ou fréquemment réutilisées ; ce type de données n'a pas besoin d'être crypté. Prenez note des avantages et des inconvénients de l'utilisation du chiffrement dans votre base de données. Déterminer où elle doit s'appliquer et comment l'appliquer vous aide à créer un environnement sécurisé sans aucun impact sur les performances.