Encrypter/Protéger ses données : Différence entre versions

De TechWik
Aller à : navigation, rechercher
(Page créée avec « Les distributions récentes proposent d'activer l'encryption des partitions lors de l'installation. Si on n'opte pas pour cette solution, on peut néanmoins protéger se... »)
 
m
Ligne 1 : Ligne 1 :
Les distributions récentes proposent d'activer l'encryption des partitions lors de l'installation.  
+
Les distributions Linux récentes et divers autres OS proposent d'activer l'encryption des partitions complètes lors de l'installation (ou après).  
  
Si on n'opte pas pour cette solution, on peut néanmoins protéger ses données sensibles en créant des conteneurs chiffrés.  
+
Si on n'opte pas pour cette solution, on peut néanmoins protéger ses données sensibles en créant des conteneurs chiffrés. C'est le choix préférentiel pour moi par rapport à l'utilisation de disques chiffrés, car permet de distinguer différents types de conteneurs, et également de les maintenir fermés la plupart du temps.
 +
 
 +
Cet [https://en.wikipedia.org/wiki/Comparison_of_disk_encryption_software article wikipedia] donne des éléments de comparaison sur un ensemble de solutions de chiffrement.  
  
 
== Solutions utilisables sous Linux ==
 
== Solutions utilisables sous Linux ==
Ligne 13 : Ligne 15 :
 
   $ sudo umount ~/Documents/Importants  
 
   $ sudo umount ~/Documents/Importants  
 
   $ sudo cryptsetup close tcmisc
 
   $ sudo cryptsetup close tcmisc
 +
 +
On peut bien sûr créer ses conteneurs directement avec cryptsetup aussi. Par exemple, un conteneur de type luks:
 +
 +
1. créer le fichier support du conteneur (taille 512Mb ici):
 +
    $ dd if=/dev/zero of=/tmp/test.bin count=1000k
 +
 +
2. créer une partition dans ce fichier (on commence ici par identifier le 1er loop-device disponible et y associer notre fichier)
 +
    $ losetup -f
 +
    /dev/loop0
 +
    $ sudo losetup /dev/loop0 /tmp/test.bin
 +
    $ sudo fdisk /dev/loop0
 +
      n ==> new partition
 +
      p ==> primaire
 +
      accepter les autres valeurs par défaut.
 +
 +
3. Initialiser le cryptage du pseudo-device, ici au format luks 
 +
    $ sudo cryptsetup --verbose --verify-passphrase luksFormat /dev/loop0
 +
    => répondre aux questions
 +
    $ sudo losetup -d /dev/loop0
 +
 +
4. Commencer à utiliser le conteneur: On l'ouvre, puis comme c'est le premier accès, il faut y créer un système de fichiers, puis le monter. Par la suite on n'aura qu'a le monter.
 +
    $ sudo cryptsetup --type luks open /tmp/test.bin test
 +
    $ sudo mkfs.ext2 /dev/mapper/test
 +
    $ sudo mount /dev/mapper/test /mnt/tcvp/
 +
 +
5. Utiliser le conteneur, et quand on veut le fermer:
 +
    $ sudo umount /mnt/tcvp/
 +
    $ sudo cryptsetup close test
 +
 +
NB: en utilisant "cryptsetup --type luks open ... " et "cryptsetup close ...", les operations losetup sont encapsulées.
  
 
==== Autres moyens d'accès aux conteneurs truecrypt ====
 
==== Autres moyens d'accès aux conteneurs truecrypt ====
Ligne 35 : Ligne 67 :
  
 
Ensuite, lorsque l'on démonte la zone chiffrée, les fichiers sont supprimés de la partie non-chiffrée, mais toujours visibles (chiffrés) dans l'autre. Petit incovénient donc, on masque moins de choses qu'avec un vrai conteneur.
 
Ensuite, lorsque l'on démonte la zone chiffrée, les fichiers sont supprimés de la partie non-chiffrée, mais toujours visibles (chiffrés) dans l'autre. Petit incovénient donc, on masque moins de choses qu'avec un vrai conteneur.
 +
 +
Exemple de création/montage de dossier chiffré avec encFS (répertoire chiffré ~/.bdata, répertoire en clair: ~/cdata):
 +
 +
  $ encfs ~/.bdata ~/cdata
 +
    => la première fois, le encfs pose quelques questions pour la configuration de la zone (dont le mot de passe).
 +
      les fois suivantes, il ne s'agit que du montage: seul le mot de passe est demandé.
 +
 +
A ce stade, la zone est montée. df montre bien une ligne pour cet espace, mais les infos de taille et occupation correspondent au FS sous-jacent (/home dans cet exemple):
 +
  $ df
 +
    encfs          10475520  5200528    5274992  50% /home/toine/cdata
 +
== Solutions utilisables sous Windows ==
 +
Le système propose de base BitLocker dans certaines versions (notamment entreprise) depuis Vista.
 +
 +
Depuis l'arrêt de TrueCrypt, il est possible d'utiliser [https://veracrypt.codeplex.com/ VeraCrypt] (son clone). Pour un usage personnel, et assurer la confidentialité de ses données dans les cas d'usage courants (perte/vol d'un PC par exemple), c'est tout à fait suffisant. L'ergonomie et intégration à Windows (au moins XP, 7 ) est correcte.
 +
 +
Egalement: FreeOTFE (si install sous winXP), dont le support a été arrété, est maintenant suivi sous le projet [https://github.com/t-d-k/LibreCrypt LibreCrypt]. Cet outil est compatible LUKS => possibilité donc de partager des conteneurs avec le monde Android ou Linux.

Version du 16 août 2015 à 16:17

Les distributions Linux récentes et divers autres OS proposent d'activer l'encryption des partitions complètes lors de l'installation (ou après).

Si on n'opte pas pour cette solution, on peut néanmoins protéger ses données sensibles en créant des conteneurs chiffrés. C'est le choix préférentiel pour moi par rapport à l'utilisation de disques chiffrés, car permet de distinguer différents types de conteneurs, et également de les maintenir fermés la plupart du temps.

Cet article wikipedia donne des éléments de comparaison sur un ensemble de solutions de chiffrement.

Solutions utilisables sous Linux

Avec accès à sudo

cryptsetup

cryptsetup permet notamment d'exploiter des conteneurs précédemment créés avec TrueCrypt, par exemple:

 $ sudo cryptsetup --type tcrypt open ~/Documents/divers.tc tcmisc
 $ sudo mount -o rw,dmask=0000,fmask=0000 /dev/mapper/tcmisc ~/Documents/Importants 

et pour démonter:

 $ sudo umount ~/Documents/Importants 
 $ sudo cryptsetup close tcmisc

On peut bien sûr créer ses conteneurs directement avec cryptsetup aussi. Par exemple, un conteneur de type luks:

1. créer le fichier support du conteneur (taille 512Mb ici):

   $ dd if=/dev/zero of=/tmp/test.bin count=1000k

2. créer une partition dans ce fichier (on commence ici par identifier le 1er loop-device disponible et y associer notre fichier)

   $ losetup -f
   /dev/loop0
   $ sudo losetup /dev/loop0 /tmp/test.bin
   $ sudo fdisk /dev/loop0
      n ==> new partition 
      p ==> primaire
      accepter les autres valeurs par défaut.

3. Initialiser le cryptage du pseudo-device, ici au format luks

   $ sudo cryptsetup --verbose --verify-passphrase luksFormat /dev/loop0
    => répondre aux questions
   $ sudo losetup -d /dev/loop0 

4. Commencer à utiliser le conteneur: On l'ouvre, puis comme c'est le premier accès, il faut y créer un système de fichiers, puis le monter. Par la suite on n'aura qu'a le monter.

   $ sudo cryptsetup --type luks open /tmp/test.bin test
   $ sudo mkfs.ext2 /dev/mapper/test
   $ sudo mount /dev/mapper/test /mnt/tcvp/

5. Utiliser le conteneur, et quand on veut le fermer:

   $ sudo umount /mnt/tcvp/
   $ sudo cryptsetup close test

NB: en utilisant "cryptsetup --type luks open ... " et "cryptsetup close ...", les operations losetup sont encapsulées.

Autres moyens d'accès aux conteneurs truecrypt

tcplay

(Essayé pour la première fois avec Fedora 17). Tcplay est une implémentation de TrueCrypt sous license BSD. Voir projet github ici. Avec tcplay, monter un conteneur 'truecrypt':

 $ sudo losetup /dev/loop1 $HOME/my-tc-file
 $ sudo tcplay -m tcvol -d /dev/loop1
   => entrer passphrase. 
 $ sudo mount /dev/mapper/tcvol /mnt/tcvol

Et pour décomter:

 $ sudo umount /mnt/tcvol
 $ sudo cryptsetup remove tcvol
 $ sudo losetup -d /dev/loop1

Sans accès à sudo

encFS

Pour un utilisateur qui n'a pas accès à sudo, encFS (Package: fuse-encfs, voir man encfs) permet de créer et monter des pseudo systèmes de fichier encryptés.

Contrairement à cryptsetup, encFS ne crée pas vraiment de système de fichier dans un conteneur, mais s'appuie sur le système de fichiers sous-jacent pour stocker les données chiffrées. Lors de la création de la zone chiffrée, on passe 2 noms de dossiers: un chiffré, l'autre non chiffré. Ensuite, les fichiers déposés dans la zone non-chiffrée sont automatiquement copiés chiffrés dans l'autre répertoire (noms de fichiers/sous-répertoires également).

Ensuite, lorsque l'on démonte la zone chiffrée, les fichiers sont supprimés de la partie non-chiffrée, mais toujours visibles (chiffrés) dans l'autre. Petit incovénient donc, on masque moins de choses qu'avec un vrai conteneur.

Exemple de création/montage de dossier chiffré avec encFS (répertoire chiffré ~/.bdata, répertoire en clair: ~/cdata):

 $ encfs ~/.bdata ~/cdata
   => la première fois, le encfs pose quelques questions pour la configuration de la zone (dont le mot de passe).
      les fois suivantes, il ne s'agit que du montage: seul le mot de passe est demandé.

A ce stade, la zone est montée. df montre bien une ligne pour cet espace, mais les infos de taille et occupation correspondent au FS sous-jacent (/home dans cet exemple):

 $ df
   encfs           10475520   5200528    5274992  50% /home/toine/cdata

Solutions utilisables sous Windows

Le système propose de base BitLocker dans certaines versions (notamment entreprise) depuis Vista.

Depuis l'arrêt de TrueCrypt, il est possible d'utiliser VeraCrypt (son clone). Pour un usage personnel, et assurer la confidentialité de ses données dans les cas d'usage courants (perte/vol d'un PC par exemple), c'est tout à fait suffisant. L'ergonomie et intégration à Windows (au moins XP, 7 ) est correcte.

Egalement: FreeOTFE (si install sous winXP), dont le support a été arrété, est maintenant suivi sous le projet LibreCrypt. Cet outil est compatible LUKS => possibilité donc de partager des conteneurs avec le monde Android ou Linux.