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

De TechWik
Aller à : navigation, rechercher
m
m
Ligne 6 : Ligne 6 :
  
 
== Solutions utilisables sous Linux ==
 
== Solutions utilisables sous Linux ==
=== Avec accès à sudo ===
+
=== Conteneurs avec accès à sudo ===
==== cryptsetup ====
+
==== cryptsetup : conteneurs luks, trueCrypt... ====
 
cryptsetup permet notamment d'exploiter des conteneurs précédemment créés avec TrueCrypt, par exemple:
 
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 cryptsetup --type tcrypt open ~/Documents/divers.tc tcmisc
Ligne 47 : Ligne 47 :
  
 
==== Autres moyens d'accès aux conteneurs truecrypt ====
 
==== Autres moyens d'accès aux conteneurs truecrypt ====
===== tcplay =====
+
===== tcplay : conteneurs trueCrypt =====
 
(Essayé pour la première fois avec Fedora 17). Tcplay est une implémentation de TrueCrypt sous license BSD. Voir [https://github.com/bwalex/tc-play projet github ici].
 
(Essayé pour la première fois avec Fedora 17). Tcplay est une implémentation de TrueCrypt sous license BSD. Voir [https://github.com/bwalex/tc-play projet github ici].
 
Avec tcplay, monter un conteneur 'truecrypt':
 
Avec tcplay, monter un conteneur 'truecrypt':
Ligne 55 : Ligne 55 :
 
   $ sudo mount /dev/mapper/tcvol /mnt/tcvol
 
   $ sudo mount /dev/mapper/tcvol /mnt/tcvol
  
Et pour décomter:
+
Et pour démonter:
 
   $ sudo umount /mnt/tcvol
 
   $ sudo umount /mnt/tcvol
 
   $ sudo cryptsetup remove tcvol
 
   $ sudo cryptsetup remove tcvol
Ligne 61 : Ligne 61 :
  
 
=== Sans accès à sudo ===
 
=== Sans accès à sudo ===
==== encFS ====
+
==== encFS : arborescence encryptés ====
 
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.  
 
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.  
  
Ligne 77 : Ligne 77 :
 
   $ df
 
   $ df
 
     encfs          10475520  5200528    5274992  50% /home/toine/cdata
 
     encfs          10475520  5200528    5274992  50% /home/toine/cdata
 +
 +
==== openssl : cryptage direct de fichier ====
 +
Documentation détaillée : man enc
 +
 +
Exemples:
 +
  $ echo test | openssl enc  -aes-256-cbc -a -k 'absnfjtyrufjdngjvhfgksdfrtifghkv'
 +
    U2FsdGVkX18cc9vgYPbfl74Q8dq/VyL4XyjvyEEo0LU=
 +
  $ echo "U2FsdGVkX18cc9vgYPbfl74Q8dq/VyL4XyjvyEEo0LU=" | openssl enc -d -aes-256-cbc -a -k 'absnfjtyrufjdngjvhfgksdfrtifghkv'
 +
    test
 +
  $ openssl enc -aes-256-cbc -d -a -in /cygdrive/d/tmp/toine.bin | grep -i launch
 +
 +
 
== Solutions utilisables sous Windows ==
 
== Solutions utilisables sous Windows ==
 
Le système propose de base BitLocker dans certaines versions (notamment entreprise) depuis Vista.  
 
Le système propose de base BitLocker dans certaines versions (notamment entreprise) depuis Vista.  
Ligne 83 : Ligne 95 :
  
 
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.
 
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.
 +
 +
WinZIP et autres utilitaires permettent aussi de créer des archives protégées par mot de passe.
 +
 +
Openssl pour windows (ou dans cygwin) permet de (dé)crypter directement un fichier.
 +
 +
[[Category:Securité]]
 +
[[Category:Cryptage]]

Version du 18 août 2015 à 08:55

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

Conteneurs avec accès à sudo

cryptsetup : conteneurs luks, trueCrypt...

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 : conteneurs trueCrypt

(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émonter:

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

Sans accès à sudo

encFS : arborescence encryptés

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

openssl : cryptage direct de fichier

Documentation détaillée : man enc

Exemples:

 $ echo test | openssl enc  -aes-256-cbc -a -k 'absnfjtyrufjdngjvhfgksdfrtifghkv'
   U2FsdGVkX18cc9vgYPbfl74Q8dq/VyL4XyjvyEEo0LU=
 $ echo "U2FsdGVkX18cc9vgYPbfl74Q8dq/VyL4XyjvyEEo0LU=" | openssl enc -d -aes-256-cbc -a -k 'absnfjtyrufjdngjvhfgksdfrtifghkv'
   test
 $ openssl enc -aes-256-cbc -d -a -in /cygdrive/d/tmp/toine.bin | grep -i launch


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.

WinZIP et autres utilitaires permettent aussi de créer des archives protégées par mot de passe.

Openssl pour windows (ou dans cygwin) permet de (dé)crypter directement un fichier.