Chiffrement

Cryptage de fichiers Linux

Cryptage de fichiers Linux
Nous vivons dans un monde où la confidentialité et la sécurité deviennent de plus en plus importantes. Presque tous les jours, il y a des nouvelles sur une violation de données ou une fuite. Bien qu'il existe d'autres mesures que vous pouvez prendre pour protéger vos données, le cryptage des fichiers est l'une des plus évidentes.

Alternatives au cryptage de fichiers.

Avant de plonger plus profondément dans le cryptage des fichiers, examinons les alternatives et voyons si le cryptage des fichiers convient à vos besoins. Les données sensibles peuvent être chiffrées à différents niveaux de granularité : chiffrement complet du disque, au niveau du système de fichiers, au niveau de la base de données et au niveau de l'application. Cette article fait un bon travail en comparant ces approches. Résumons-les.

Le chiffrement complet du disque (FDE) est utile pour les appareils susceptibles d'être perdus ou volés, tels que les ordinateurs portables. Mais FDE ne protégera pas vos données de grand-chose d'autre, y compris les tentatives de piratage à distance, et ne convient pas au cryptage de fichiers individuels.

Dans le cas du cryptage au niveau du système de fichiers, le système de fichiers effectue le cryptage directement. Cela peut être accompli en empilant un système de fichiers cryptographique au-dessus du système principal ou il peut être intégré. Selon ce wiki, certains des avantages sont : chaque fichier peut être crypté avec une clé distincte (gérée par le système) et un contrôle d'accès supplémentaire via la cryptographie à clé publique. Bien sûr, cela nécessite de modifier la configuration du système d'exploitation et peut ne pas convenir à tous les utilisateurs. Cependant, il offre une protection adaptée à la plupart des situations, et il est relativement facile à utiliser. Il sera couvert en bas ci-dessous.

Le cryptage au niveau de la base de données peut cibler des parties spécifiques de données telles qu'une colonne spécifique dans une table. Cependant, il s'agit d'un outil spécialisé qui traite le contenu des fichiers plutôt que des fichiers entiers et sort donc du cadre de cet article.

Cryptage au niveau de l'application, peut être optimal lorsque les politiques de sécurité exigent la protection de données spécifiques. Une application peut utiliser le chiffrement pour protéger les données de plusieurs manières, et chiffrer un fichier en fait certainement partie. Nous allons discuter d'une application pour crypter les fichiers ci-dessous.

Crypter un fichier avec une application

Il existe plusieurs outils disponibles pour crypter les fichiers sous Linux. Cette article répertorie les alternatives les plus courantes.  A ce jour, le GnuPG semble être le choix le plus simple. Pourquoi? Car, il y a de fortes chances qu'il soit déjà installé sur votre système (contrairement à ccrypt), la ligne de commande est simple (contrairement à l'utilisation directe d'openssl), il est en cours de développement très activement et est configuré pour utiliser un chiffrement à jour (AES256 à ce jour ).

Si vous n'avez pas installé gpg, vous pouvez l'installer en utilisant un gestionnaire de packages adapté à votre plate-forme tel que apt-get :

pi@raspberrypi:~ $ sudo apt-get install gpg
Lecture des listes de paquets… Terminé
Arbre de dépendance de construction
Lecture des informations d'état… Terminé

Crypter un fichier avec GnuPG :

pi@raspberrypi:~ $ secret de chat.SMS
Des trucs top secrets!
pi@raspberrypi:~ $ gpg -c secret.SMS
pi@raspberrypi:~ $ secret de fichier.SMS.gpg
secret.SMS.gpg : données chiffrées symétriquement GPG (chiffre AES256)
pi@raspberrypi:~ $ rm secret.SMS

Maintenant, pour décrypter :

pi@raspberrypi:~ $ gpg --decrypt secret.SMS.gpg > secret.SMS
gpg : données cryptées AES256
gpg : crypté avec 1 mot de passe
pi@raspberrypi:~ $ secret de chat.SMS
Des trucs top secrets!

Veuillez noter "AES256" ci-dessus. C'est le chiffre utilisé pour chiffrer le fichier dans l'exemple ci-dessus. Il s'agit d'une variante de la taille d'un bloc de 256 bits (sécurisée pour l'instant) de la combinaison de chiffrement « Advanced Encryption Standard » (également connue sous le nom de Rijndae). Regarde ça article Wikipédia pour plus d'informations.

Configuration du chiffrement au niveau du système de fichiers

Selon ce page wiki fscrypt, Le système de fichiers ext4 prend en charge le cryptage des fichiers. Il utilise l'API fscrypt pour communiquer avec le noyau du système d'exploitation (en supposant que la fonction de cryptage est activée). Il applique le cryptage au niveau du répertoire. Le système peut être configuré pour utiliser différentes clés pour différents répertoires. Lorsqu'un répertoire est crypté, toutes les données (et métadonnées) liées aux noms de fichiers, telles que les noms de fichiers, leur contenu et leurs sous-répertoires, le sont également. Les métadonnées autres que les noms de fichiers, telles que les horodatages, sont exemptées de chiffrement. Remarque : cette fonctionnalité est devenue disponible dans Linux 4.1 version.

Alors que ce LISEZ-MOI a des instructions, voici un bref aperçu. Le système adhère aux concepts de « protecteurs » et de « politiques ». « Politique » est une clé réelle qui est utilisée (par le noyau du système d'exploitation) pour chiffrer un répertoire. « Protector » est un mot de passe utilisateur ou un équivalent utilisé pour protéger les politiques. Ce système à deux niveaux permet de contrôler l'accès des utilisateurs aux répertoires sans avoir à recrypter chaque fois qu'il y a un changement dans les comptes d'utilisateurs.

Un cas d'utilisation courant serait la configuration de la politique fscrypt pour chiffrer le répertoire d'accueil de l'utilisateur avec ses phrases de passe de connexion (obtenues via PAM) en tant que protecteur. Cela ajouterait un niveau de sécurité supplémentaire et permettrait de protéger les données de l'utilisateur même si l'attaquant serait parvenu à obtenir un accès administrateur au système. Voici un exemple illustrant à quoi ressemblerait sa configuration :

pi@raspberrypi:~ $ fscrypt chiffrer ~/secret_stuff/
Devrions-nous créer un nouveau protecteur? [o/N] oui
Les sources de protection suivantes sont disponibles :
1 - Votre mot de passe de connexion (pam_passphrase)
2 - Une phrase secrète personnalisée (custom_passphrase)
3 - Une clé brute de 256 bits (raw_key)
Entrez le numéro de source du nouveau protecteur [2 - custom_passphrase] : 1
Saisissez la phrase de passe de connexion pour pi :
"/home/pi/secret_stuff" est maintenant crypté, déverrouillé et prêt à l'emploi.

Cela pourrait être complètement transparent pour l'utilisateur une fois configuré. L'utilisateur peut ajouter un niveau de sécurité supplémentaire à certains sous-répertoires en leur spécifiant différents protecteurs.

Conclusion

Le cryptage est un sujet profond et complexe et il y a beaucoup plus à couvrir et c'est aussi un domaine en croissance rapide, en particulier avec l'avènement de l'informatique quantique. Il est crucial de rester en contact avec les nouveaux développements technologiques car ce qui est sécurisé aujourd'hui pourrait être craqué dans quelques années. Soyez assidu et soyez attentif à l'actualité.

Ouvrages cités

Comment utiliser AutoKey pour automatiser les jeux Linux
AutoKey est un utilitaire d'automatisation de bureau pour Linux et X11, programmé en Python 3, GTK et Qt. En utilisant ses fonctionnalités de script e...
Comment afficher le compteur FPS dans les jeux Linux
Les jeux Linux ont reçu une impulsion majeure lorsque Valve a annoncé la prise en charge de Linux pour le client Steam et leurs jeux en 2012. Depuis l...
Comment télécharger et jouer à Civilization VI de Sid Meier sur Linux
Présentation du jeu Civilization 6 est une version moderne du concept classique introduit dans la série de jeux Age of Empires. L'idée était assez sim...