L’une de vos meilleures parades à la surveillance, aux attaques et au vol de vos appareils est de vous assurer que les données qu’ils contiennent sont protégées. En réalité, le seul moyen d’y parvenir de nos jours est de veiller à ce que leur disque soit intégralement chiffré. Le chiffrement intégral du disque consiste à prendre un disque dur à l’intérieur d’un appareil et à le chiffrer dans son ensemble, de sorte que tous les fichiers qu’il contient sont convertis en une forme illisible (chiffrée) et ne sont pas accessibles sans le mot de passe permettant de les déchiffrer. Certains appareils, comme ceux qui tournent sous iOS, le font par défaut. D’autres, comme les Macbook et les PC sous Linux, ont besoin que ces fonctionnalités soient activées et configurées. Pour commencer, je vais plonger directement dans FileVault2, le chiffrement intégral du disque intégré à OSX, parce que c’est ce que j’utilise sur ma machine principale.
FileVault2
Natif dans toutes les versions à partir de Lion, FileVault2 est l’évolution du FileVault d’origine, qui ne chiffrait que le dossier personnel. Il utilise l’AES 128 bits en mode XTS pour chiffrer le disque et il est fortement conseillé lors de la configuration d’un nouvel ordinateur sous Yosemite ou une version supérieure. Bonne stratégie de la part d’Apple d’inclure une section dédiée à ce sujet dans la configuration initiale de l’ordinateur quand vous installez OSX pour la première fois. Quand vous configurez FileVault2 pour la première fois, il exige que vous ayez un mot de passe sur le compte administrateur actuel et utilise un générateur de nombres aléatoires (avec environ 320 bits d’aléa disponibles après le premier démarrage) pour créer une clé de récupération. Je recommanderais de ne pas stocker cette clé de récupération chez Apple même s’ils vous en donnent la possibilité, en utilisant 3 questions et réponses de sécurité pour l’authentification de récupération de cette clé. À la place, je recommanderais de la noter sur une feuille de papier de façon temporaire jusqu’à ce que vous puissiez la conserver sous une forme chiffrée (une archive 7zip protégée par mot de passe) dans quelque chose comme votre Tresorit Drive. Une fois cette clé enregistrée en toute sécurité, brûlez ou déchiquetez le papier sur lequel vous l’aviez notée à l’origine. D’après certaines conclusions de ce document : https://www.cl.cam.ac.uk/~osc22/docs/cl_fv2_presentation_2012.pdf, FileVault2 utilise PBKDF2 x SHA256 et 41 000 itérations sur le mot de passe. Cela sert à empêcher la force brute sur le mot de passe grâce au délai de comparaison du mot de passe haché avec celui stocké sur le système. Il ne semble pas non plus y avoir de limite à la longueur du mot de passe, on pourrait donc en théorie en créer un de 100 caractères sans autre problème que le délai avant le déchiffrement. On ne sait pas, mais c’est peu probable, si une porte dérobée a été implantée par Apple dans FileVault2. Si vous avez un Mac, je recommanderais fortement d’activer le chiffrement intégral du disque pour garder vos fichiers en sécurité.
LUKS
Abréviation de Linux Unified Key Setup, LUKS est la solution de chiffrement intégral du disque utilisée par de nombreux systèmes d’exploitation basés sur Linux/GNU. En général, il utilise le chiffrement AES 256 bits en mode CBC avec SHA256 pour le hachage, mais cela peut être modifié si besoin pour utiliser d’autres modes comme XTS et réduire la taille de clé de l’algorithme AES à 128 bits. Comme FileVault2 pour OSX, LUKS n’a pas de limite de caractères pour les mots de passe et les phrases de passe, et je l’ai testé avec une phrase de passe de 212 caractères composée de lettres, de chiffres, d’espaces et de symboles. Le nombre d’itérations de LUKS est déterminé par la puissance du processeur de la machine. Sur les ordinateurs plus lents, il peut être plus faible que souhaité, il peut donc être spécifié avec la commande cryptsetup. La commande serait : cryptsetup luksFormat -i 15000 <target device> et je recommanderais aux utilisateurs expérimentés de fixer la valeur à pas moins de 20 000. Pour les personnes sérieuses, vous feriez bien de porter ce nombre au-delà de 70 000 avec une phrase de passe de plus de 40 caractères. LUKS est aussi entièrement open source, ce qui, avec son usage constant au sein des distributions Linux, en fait un choix de grande confiance pour le FDE.
VeraCrypt
Quand TrueCrypt est mort en 2014, on a beaucoup parlé des problèmes de sécurité dont les développeurs auraient pu parler sur leur site web. Y avait-il vraiment des problèmes de sécurité ? Leur avait-on remis une National Security Letter exigeant la publication d’une porte dérobée dans une version de mise à jour ? Personne ne savait vraiment rien au-delà de la spéculation, et cela a rendu beaucoup de gens méfiants. Pour Mounir Idrassi, cela a signifié prendre tous les problèmes de sécurité présents dans la version TC 7.1a et les corriger dans un fork du projet appelé VeraCrypt. Beaucoup le considèrent comme la mise à niveau officielle de TrueCrypt, car il est open source et a fait l’objet d’un audit de code achevé en octobre 2016 (voir : https://ostif.org/the-veracrypt-audit-results/). Je crois fermement en VeraCrypt, car il affiche de sérieuses améliorations de la sécurité générale de TrueCrypt tout en ajoutant des fonctionnalités qui lui sont propres et qui rendent vraiment le programme bien plus sûr à utiliser.
Pour commencer, ils se sont débarrassés de RIPMD-160 parce que son hachage ne faisait que 160 bits et l’ont remplacé par SHA-512, qui est bien sûr le successeur de SHA-256. Ils ont aussi relevé le nombre d’itérations par défaut dans les premières versions à 500 000 itérations sur le mot de passe, ce qui est une amélioration sérieuse, très sérieuse, par rapport aux 1000 qu’offrait TrueCrypt. Récemment, ils ont implémenté une fonctionnalité appelée valeur PIM, qui signifie Personal Iterations Multiplier, et qui non seulement nous donne une troisième étape de vérification pour déchiffrer, aux côtés de votre phrase de passe et de vos fichiers de clé, mais nous permet aussi de spécifier notre nombre d’itérations d’une manière unique mais sûre. Pour spécifier une valeur PIM pour le chiffrement du système, vous prenez votre valeur PIM et vous la multipliez par 2048. Pour le chiffrement par conteneur, vous prenez 15000 et vous y ajoutez votre valeur PIM multipliée par 1000. Cela veut dire que vous pourriez spécifier un PIM de 999 et avoir un nombre d’itérations supérieur au million pour un conteneur chiffré. Une sécurité sérieuse à l’intérieur de laquelle faire reposer vos fichiers.
VeraCrypt a aussi apporté quelques améliorations graphiques par rapport à TrueCrypt, il est mis à jour de façon constante et il comprend de petits ajustements pour améliorer l’utilisabilité, comme l’ajout d’un indicateur d’aléa à l’écran “bougez votre souris” pour afficher l’entropie aléatoire que vous êtes en train d’acquérir. Cela, avec le récent audit, est très prometteur pour l’industrie technologique. Nous avons maintenant un programme de chiffrement très solide sur lequel compter pour garder nos informations et nos données en sécurité.
Depuis octobre 2016, VeraCrypt a implémenté de nouveaux algorithmes à la fois pour le chiffrement et le hachage, ce qui est un pas positif en avant. Camelia et Kuznyechik ont été ajoutés comme algorithmes de chiffrement, mais de façon autonome et sans pouvoir être combinés comme les trois d’origine, et Streebog a été ajouté comme algorithme de hachage. À l’avenir, il serait bien de voir un algorithme de chiffrement associant Camelia et Serpent en équipe. Ainsi, nous pourrions obtenir la sécurité supplémentaire de deux algorithmes de chiffrement en cascade, sans avoir à dépendre d’AES.
Algorithmes de chiffrement de VeraCrypt :
- Serpent
- AES
- TwoFish
- Camellia
- Kuznyechik
Algorithmes de hachage de VeraCrypt :
- SHA-256
- SHA-512
- Whirlpool
- RIPMD-160
- Streebog
Appareils iOS
Les appareils mobiles d’Apple qui tournent sous une version supérieure à 8.0 sont protégés par défaut par le chiffrement intégral de l’appareil, connu sous le nom de “Data Protection” dans vos paramètres de code. Cependant, il y a un grand bond du 5C au 5S et à tous les appareils suivants qui ont TouchID. Comme point de départ, vous devriez vous remettre à jour sur les récents événements qui se sont déroulés entre Apple et le FBI. J’ai publié des liens à ce sujet plus loin dans le document, mais cela devrait être assez facile à chercher en ligne. Si vous avez un des appareils listés au-dessus du 5S (6, 6S, 7, etc.), vous aurez le meilleur chiffrement qu’Apple offre actuellement pour ses appareils. Votre iPhone aura à l’intérieur une puce matérielle appelée Secure Enclave qui gère tout le chiffrement et les délais entre les tentatives de mot de passe. Toutes les versions d’iOS supérieures à 8 emploient un chiffrement intégral de l’appareil en AES 256 bits d’une façon unique qui protège toutes les données au-delà de l’écran de verrouillage. Ces données, sur les appareils listés ci-dessus, sont protégées à l’aide d’une clé éphémère générée au démarrage, qui est entrelacée avec l’UUID unique de votre appareil pour effectuer le chiffrement. Votre code protège cette clé. Par défaut, un code numérique à 4 chiffres est suggéré lors de la configuration d’un code ou de TouchID, mais les utilisateurs ont la possibilité d’activer des codes alphanumériques bien plus longs pour une plus grande sécurité. C’est quelque chose que je recommanderais de faire.
Par ailleurs, votre appareil fait appel à PBKDF2, comme décrit ci-dessus, avec un nombre d’itérations assez élevé pour générer un délai de 80 ms sur les saisies de code (étirement de clé). Cela, avec quelques autres fonctionnalités de sécurité, empêche efficacement les attaques par force brute sur un appareil doté d’un code de plus de 11 caractères. Les autres fonctionnalités de sécurité comprennent un verrouillage après 5 tentatives de code échouées et chaque tentative suivante, une fonctionnalité d’effacement des données qui peut être activée pour effacer votre appareil après 10 tentatives échouées, et l’obligation de saisir votre code au lieu d’utiliser TouchID quand vous éteignez votre appareil ou si vous n’avez pas franchi l’écran de verrouillage depuis 48 h.
Aux côtés du chiffrement au niveau de l’appareil, qui est jugé très sûr (mais pas encore à 100 %), Apple a déployé dans la 9.3 des sauvegardes iCloud correctement chiffrées, qui utilisent le code de l’appareil pour chiffrer la sauvegarde. Avant cela, Apple était en mesure de livrer les sauvegardes iCloud sur présentation d’un mandat, et un utilisateur ne pouvait pas vraiment être considéré comme complètement en sécurité à moins de désactiver ces sauvegardes sur l’appareil. Mais maintenant, toutes vos informations sont sauvegardées de façon sûre sur iCloud et vous avez toujours la possibilité de chiffrer des sauvegardes complètes vers votre ordinateur. Cela dit, je mettrais en garde les utilisateurs contre la sauvegarde vers iCloud des applications qui stockent des informations sensibles. Vous avez 2 modes de chiffrement qui protègent les sauvegardes de votre appareil vers iTunes si vous utilisez le chiffrement intégral du disque sur votre ordinateur, mais une seule ligne de défense avec iCloud.