01/10/2024
Chiffrer un média (clé usb, carte sd , ssd ...)
pré-requis
Système linux avec crypsetup (sudo apt update && sudo apt install cryptsetup)
but
Cybersécurité
protéger ses données du vol.
installation
sudo apt update && sudo apt install cryptsetup
Je suis ton père !! LUKS Linux Unified Key Setting
une technique pour réaliser du chiffrement relativement facilement.
comment chiffrer un media (amovible ou pas)
Etre ROOT ! pour cela
lsblk
root@elliott:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 953,9G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 952,4G 0 part /
└─sda3 8:3 0 977M 0 part [SWAP]
sdb 8:16 1 14,4G 0 disk
├─sdb1 8:17 1 2,3G 0 part
└─sdb2 8:18 1 2,3M 0 part
sr0 11:0 1 1024M 0 rom
En bleu sda , le disque ssd sur lequel j'ai mon systeme linux actuel (à bien garder)
En rouge , le media avec une partition Kubuntu
facultatif
phase non obligatoire et longue ... mais ca permet de voir comment vider un media de ses datas
root@bruno-Latitude-E7450:~# dd if=/dev/zero of=/dev/mmcblk0 bs=1M
if: input file
of:output file
bs:block size
Dans le cas d'une sdcard /dev/mmcblk0
root@bruno-Latitude-E7450:~# cryptsetup luksFormat /dev/mmcblk0
ATTENTION !
===========
Cette action écrasera définitivement les données sur /dev/mmcblk0.
Êtes-vous sûr ? (Typez « yes » en majuscules) : YES
Saisissez la phrase secrète pour /dev/mmcblk0 :
Vérifiez la phrase secrète :
root@bruno-Latitude-E7450:~#
Dans le cas d'une clé USB
root@elliott:~# cryptsetup luksFormat /dev/sdb
ATTENTION: Le périphérique /dev/sdb contient déjà une signature pour un superblock « iso9660 ».
ATTENTION: Le périphérique /dev/sdb contient déjà une signature pour une partition « dos ».
ATTENTION: Le périphérique /dev/sdb contient déjà une signature pour une partition « mac ».
ATTENTION !
===========
Cette action écrasera définitivement les données sur /dev/sdb.
Êtes-vous sûr ? (Typez « yes » en majuscules) : YES
Saisissez la phrase secrète pour /dev/sdb :
Vérifiez la phrase secrète :
root@elliott:~#
root@elliott:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 953,9G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 952,4G 0 part /
└─sda3 8:3 0 977M 0 part [SWAP]
sdb 8:16 1 14,4G 0 disk
sr0 11:0 1 1024M 0 rom
cryptsetup luksOpen /dev/mmcblk0 secret
montage d'une partition (sd card)
root@bruno-Latitude-E7450:~# ls -l /dev/mapper/
total 0
crw------- 1 root root 10, 236 oct. 1 10:11 control
root@bruno-Latitude-E7450:~# cryptsetup luksOpen /dev/mmcblk0 secret
Saisissez la phrase secrète pour /dev/mmcblk0 :
root@bruno-Latitude-E7450:~# ls -l /dev/mapper/
total 0
crw------- 1 root root 10, 236 oct. 1 10:11 control
lrwxrwxrwx 1 root root 7 oct. 1 10:13 secret -> ../dm-0
root@bruno-Latitude-E7450:~#
clé USB
root@elliott:~# cryptsetup luksOpen /dev/sdb secret
Saisissez la phrase secrète pour /dev/sdb :
root@elliott:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 953,9G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 952,4G 0 part /
└─sda3 8:3 0 977M 0 part [SWAP]
sdb 8:16 1 14,4G 0 disk
└─secret 254:0 0 14,4G 0 crypt
sr0 11:0 1 1024M 0 rom
root@elliott:~#
root@bruno-Latitude-E7450:~# cryptsetup status secret
/dev/mapper/secret is active.
type: LUKS2
cipher: aes-xts-plain64
keysize: 512 bits
key location: keyring
device: /dev/mmcblk0
sector size: 512
offset: 32768 sectors
size: 31174656 sectors
mode: read/write
root@bruno-Latitude-E7450:~#
fdisk -l
....
Disque /dev/mmcblk0 : 14,88 GiB, 15978201088 octets, 31207424 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Disque /dev/mapper/secret : 14,87 GiB, 15961423872 octets, 31174656 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
root@bruno-Latitude-E7450:~#
Il faut système de fichier sur cette nouvelle partition chiffrée.
root@bruno-Latitude-E7450:~# mkfs.ext4 /dev/mapper/secret
mke2fs 1.46.5 (30-Dec-2021)
En train de créer un système de fichiers avec 3896832 4k blocs et 974848 i-noeuds.
UUID de système de fichiers=a7a87115-7e59-48e4-9e75-b6df76d22ef0
Superblocs de secours stockés sur les blocs :
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
Allocation des tables de groupe : complété
Écriture des tables d'i-noeuds : complété
Création du journal (16384 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété
root@bruno-Latitude-E7450:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 476,9G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 513M 0 part /boot/efi
└─sda3 8:3 0 476,4G 0 part /var/snap/firefox/common/host-hunspell
/
mmcblk0 179:0 0 14,9G 0 disk
└─secret 252:0 0 14,9G 0 crypt
bruno@bruno-Latitude-E7450:~$ sudo cryptsetup luksClose secret
[sudo] Mot de passe de bruno :
bruno@bruno-Latitude-E7450:~$
Les commandes de cryptsetup
root@elliott:~# cryptsetup
benchmark luksChangeKey luksKillSlot open
close luksDump luksRemoveKey repair
erase luksFormat luksResume resize
isLuks luksHeaderBackup luksSuspend status
luksAddKey luksHeaderRestore luksUUID tcryptDump