Ce que vous saurez faire à la fin
- Choisir et appliquer un algorithme de chiffrement adapté (AES-256, RSA, ChaCha20) selon le contexte at-rest ou in-transit.
- Activer BitLocker sur Windows Pro et FileVault sur macOS pour sécuriser les disques des postes de travail.
- Créer des conteneurs chiffrés VeraCrypt et signer/chiffrer des fichiers sensibles avec GPG.
- Mettre en place HTTPS/TLS sur vos serveurs web avec certificats Let’s Encrypt et configurer la rotation des clés.
- Établir une politique de gestion des clés (KMS, coffre-fort, sauvegarde, rotation) conforme aux exigences OHADA.
Durée : 6h. Pré-requis : Postes Windows Pro/macOS, serveur Linux (VPS à partir de 5 000 FCFA/mois chez Orange Cloud, AWS Lightsail ou Scaleway), VeraCrypt (gratuit), GPG (gratuit), accès administrateur sur les machines, budget certificats SSL : 0 FCFA (Let’s Encrypt) à 90 000 FCFA/an (certificat EV).
Étape 1 — Comprendre les types de chiffrement
Le chiffrement repose sur deux familles d’algorithmes. Le chiffrement symétrique (AES-256, ChaCha20) utilise une seule clé pour chiffrer et déchiffrer : rapide, idéal pour des volumes de données importants (disques, bases). Le chiffrement asymétrique (RSA-4096, ECC) utilise une paire clé publique/clé privée : plus lent mais essentiel pour l’échange sécurisé de clés et les signatures.
Pour une PME au Sénégal, retenez deux scénarios : at-rest (données stockées sur un disque, une sauvegarde, une clé USB) et in-transit (données qui circulent sur un réseau, email, API).
Étape 2 — Activer BitLocker sur Windows 10/11 Pro
Allez dans Panneau de configuration > Système et sécurité > Chiffrement de lecteur BitLocker. Cliquez sur Activer BitLocker à côté du disque C:. Choisissez Mot de passe comme méthode de déverrouillage (12 caractères minimum) et Enregistrer dans un compte Microsoft ou Imprimer la clé de récupération.
Pour automatiser via PowerShell en mode administrateur :
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 `
-UsedSpaceOnly -PasswordProtector
# Sauvegarder la clé de récupération dans un fichier
(Get-BitLockerVolume -MountPoint "C:").KeyProtector | `
Where-Object {$_.KeyProtectorType -eq "RecoveryPassword"} | `
Select-Object -ExpandProperty RecoveryPassword > C:\BackupKey.txt
# Vérifier l'état du chiffrement
manage-bde -status C:
Stockez la clé de récupération hors ligne (coffre physique au siège, ou impression chez le notaire) — jamais sur le disque chiffré lui-même.
Étape 3 — Activer FileVault sur macOS
Ouvrez Réglages Système > Confidentialité et sécurité > FileVault puis cliquez sur Activer. Choisissez Créer une clé de récupération et ne pas utiliser mon compte iCloud pour les usages professionnels. Notez la clé de 24 caractères.
# Activer FileVault en ligne de commande
sudo fdesetup enable
# Vérifier l'état
sudo fdesetup status
# Lister les utilisateurs autorisés à déverrouiller
sudo fdesetup list
Étape 4 — Créer un conteneur chiffré avec VeraCrypt
Téléchargez VeraCrypt depuis veracrypt.fr. Lancez l’application puis cliquez sur Create Volume > Create an encrypted file container > Standard VeraCrypt volume. Sélectionnez un emplacement (ex: D:\Comptabilite_OHADA.hc), choisissez AES comme algorithme et SHA-512 comme hash. Définissez une taille (ex: 5 GB) et un mot de passe fort (20+ caractères, mélange casse/chiffres/symboles).
Pour monter le conteneur : cliquez sur un slot libre, Select File, puis Mount. Le conteneur apparaît comme un nouveau lecteur. Idéal pour stocker les fichiers comptables OHADA, contrats clients, données RH.
Étape 5 — Chiffrer des fichiers individuels avec GPG
Installez GPG : sur Windows via Gpg4win, sur macOS via brew install gnupg, sur Ubuntu via sudo apt install gnupg.
# Générer une paire de clés
gpg --full-generate-key
# Choisir : RSA et RSA, 4096 bits, expiration 2 ans
# Lister vos clés
gpg --list-keys
# Exporter votre clé publique pour la partager
gpg --armor --export merass20@gmail.com > ma_cle_publique.asc
# Chiffrer un fichier pour un destinataire
gpg --encrypt --recipient client@example.sn contrat.pdf
# Génère contrat.pdf.gpg
# Déchiffrer
gpg --decrypt contrat.pdf.gpg > contrat_decrypte.pdf
# Signer un document (preuve d'authenticité)
gpg --sign --armor facture.pdf
Étape 6 — Comparer les algorithmes de chiffrement
| Algorithme | Type | Taille clé | Usage recommandé | Performance |
|---|---|---|---|---|
| AES-256 | Symétrique | 256 bits | Disques, bases de données, sauvegardes | Très rapide (AES-NI) |
| ChaCha20 | Symétrique | 256 bits | Mobile, IoT, TLS 1.3 | Rapide sans accélération matérielle |
| RSA-4096 | Asymétrique | 4096 bits | Échange de clés, signatures | Lent |
| ECC P-384 | Asymétrique | 384 bits | TLS moderne, mobile | Rapide |
| SHA-256 | Hash | 256 bits | Intégrité, mots de passe | Rapide |
Étape 7 — Configurer HTTPS/TLS avec Let’s Encrypt
Sur un serveur Ubuntu hébergeant votre site, installez Certbot et générez un certificat gratuit valable 90 jours (renouvellement automatique).
# Installation Certbot
sudo apt update
sudo apt install certbot python3-certbot-nginx
# Génération du certificat pour votre domaine
sudo certbot --nginx -d votreentreprise.sn -d www.votreentreprise.sn
# Tester le renouvellement automatique
sudo certbot renew --dry-run
# Vérifier la cron de renouvellement
sudo systemctl status certbot.timer
Configuration Nginx recommandée pour TLS 1.2/1.3 uniquement :
server {
listen 443 ssl http2;
server_name votreentreprise.sn;
ssl_certificate /etc/letsencrypt/live/votreentreprise.sn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/votreentreprise.sn/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
}
Étape 8 — Tester la configuration TLS
Utilisez le scanner gratuit SSL Labs : ouvrez https://www.ssllabs.com/ssltest/ et entrez votre domaine. Visez une note A ou A+. Les notes B et C indiquent des suites cryptographiques obsolètes ou un certificat trop court.
# Test rapide en ligne de commande
openssl s_client -connect votreentreprise.sn:443 -tls1_3
# Vérifier la date d'expiration
echo | openssl s_client -servername votreentreprise.sn \
-connect votreentreprise.sn:443 2>/dev/null | \
openssl x509 -noout -dates
Étape 9 — Chiffrer les bases de données
Pour MySQL/MariaDB, activez le chiffrement at-rest avec InnoDB Tablespace Encryption. Éditez /etc/mysql/my.cnf :
[mysqld]
early-plugin-load = keyring_file.so
keyring_file_data = /var/lib/mysql-keyring/keyring
innodb_encrypt_tables = ON
innodb_encrypt_log = ON
innodb_encryption_threads = 4
Pour PostgreSQL, utilisez l’extension pgcrypto pour chiffrer des colonnes sensibles (numéros de compte bancaire, IBAN, données RH) :
CREATE EXTENSION pgcrypto;
INSERT INTO clients (nom, iban_chiffre)
VALUES ('SARL Teranga', pgp_sym_encrypt('SN0800100152000123456789', 'cle_secrete'));
SELECT nom, pgp_sym_decrypt(iban_chiffre::bytea, 'cle_secrete')
FROM clients;
Étape 10 — Sécuriser les sauvegardes
Une sauvegarde non chiffrée est un trou de sécurité majeur. Pour chiffrer vos backups avant envoi vers un cloud (Wasabi, Backblaze B2 à environ 4 000 FCFA/To/mois) :
# Sauvegarde chiffrée avec tar + GPG
tar -czf - /var/www | gpg --symmetric --cipher-algo AES256 \
--output backup_$(date +%Y%m%d).tar.gz.gpg
# Restauration
gpg --decrypt backup_20260422.tar.gz.gpg | tar -xzf -
# Avec restic (recommandé pour PME)
restic init --repo s3:s3.eu-west-1.wasabisys.com/mon-bucket
restic backup /var/www /etc /home
restic snapshots
Étape 11 — Mettre en place une gestion centralisée des clés (KMS)
Pour les PME ayant plusieurs serveurs, déployez HashiCorp Vault (open source, gratuit) ou utilisez AWS KMS (environ 600 FCFA/mois par clé + appels API).
# Démarrer Vault en mode dev (test)
vault server -dev
# En production, initialiser et débloquer
vault operator init -key-shares=5 -key-threshold=3
vault operator unseal
# Stocker un secret
vault kv put secret/db password=MotDePasseFort123!
# Récupérer
vault kv get secret/db
Le principe Shamir’s Secret Sharing (5 parts, seuil 3) permet de répartir la clé maître entre plusieurs responsables — aucun ne peut déchiffrer seul.
Étape 12 — Définir une politique de rotation des clés
| Type de clé | Fréquence rotation | Responsable |
|---|---|---|
| Certificat TLS Let’s Encrypt | 90 jours (auto) | Sysadmin |
| Clé GPG personnelle | 2 ans | Utilisateur |
| Clé maître base de données | 1 an | DBA |
| Clé API tierces (Wave, Orange Money) | 6 mois ou sur incident | DevOps |
| Mots de passe administrateurs | 3 mois | RSSI |
| Clés SSH serveurs | 1 an | Sysadmin |
Étape 13 — Documenter et auditer
Tenez un registre de toutes les clés et certificats : type, date de création, date d’expiration, propriétaire, lieu de stockage de la clé de récupération. Auditez tous les 6 mois. Pour la conformité OHADA et les normes de sécurité financière (BCEAO), conservez les preuves de chiffrement des données clients pendant 10 ans.
Erreurs classiques à éviter
- Stocker la clé de récupération BitLocker sur le disque chiffré : en cas de panne, vous perdez tout — données et accès.
- Utiliser AES-128 ou DES : obsolètes face aux attaques modernes, exigez AES-256 minimum.
- Réutiliser la même clé pour plusieurs usages : compromission d’une clé = compromission de tout le périmètre.
- Mots de passe faibles pour conteneurs VeraCrypt : un container avec « password123 » se casse en quelques heures.
- Oublier de renouveler les certificats : Let’s Encrypt automatise, mais vérifiez la cron — un site en HTTPS expiré perd la confiance des clients.
- Ne pas chiffrer les sauvegardes : 60 % des fuites de données proviennent de backups volés ou exposés.
- Conserver les clés API en clair dans le code Git : utilisez Vault, Doppler ou des variables d’environnement.
Checklist Chiffrement PME
✓ BitLocker/FileVault activé sur 100 % des postes
✓ Clés de récupération stockées hors ligne (coffre physique)
✓ VeraCrypt déployé pour les fichiers sensibles partagés
✓ GPG configuré pour les emails et fichiers échangés avec partenaires
✓ HTTPS/TLS 1.2+ sur tous les sites publics, note SSL Labs A+
✓ Renouvellement automatique des certificats Let's Encrypt vérifié
✓ Bases de données chiffrées at-rest (InnoDB encryption ou pgcrypto)
✓ Sauvegardes chiffrées avant envoi cloud (restic, GPG)
✓ Vault ou KMS centralisé pour les secrets applicatifs
✓ Politique de rotation des clés documentée et appliquée
✓ Registre des clés à jour avec dates d'expiration
✓ Audit semestriel des accès aux clés
✓ Formation des équipes sur la manipulation des clés
✓ Procédure de révocation en cas de départ d'un collaborateur
✓ Tests de restauration des données chiffrées tous les trimestres