web-dev-qa-db-fra.com

Le chiffrement basé sur les fichiers offre-t-il une sécurité comparable au chiffrement à disque complet sur Android?

Entre les versions 4.4 et 9, Android pris en charge Full-Disk Encryption (FDE). On Android 7, un nouveau système appelé - File-Based Encryption (FBE) a été introduit, et a été rendu obligatoire par la suite sur Android 10.

Le principal avantage cité dans la page sur le chiffrement basé sur les fichiers est l'utilisation de démarrage direct , vous permettant d'utiliser des fonctionnalités spécifiques avant le premier déverrouillage de l'appareil, telles que des alarmes ou similaires. Comme cela semble principalement axé sur l'expérience utilisateur, je crains que la sécurité ne souffre de ce choix.

Ma question est la suivante: le chiffrement basé sur les fichiers offre-t-il une sécurité comparable au chiffrement sur disque complet? Y a-t-il des inconvénients ou des défauts majeurs avec cela? Et si oui, lesquels?

14
MechMK1

Les systèmes de chiffrement complet du disque (FDE) (comme Truecrypt, BitLocker et FileVault) chiffrent les disques au niveau des secteurs de disque. Il s'agit d'une approche tout ou rien, car les pilotes de chiffrement ne savent pas nécessairement quels fichiers ces secteurs représentent. Dans le même temps, FDE est populaire - principalement parce qu'il est extrêmement facile à mettre en œuvre. Bien que cela puisse être excellent pour les PC, une autre approche peut être nécessaire pour les téléphones, comme je l'expliquerai ci-dessous.

Les systèmes de chiffrement basé sur fichier (FBE) (comme EncFS et eCryptFS) chiffrent les fichiers individuels. Cette approche nécessite des modifications du système de fichiers lui-même, mais présente l'avantage de permettre des contrôles d'accès précis où les fichiers individuels sont chiffrés à l'aide de clés différentes.

Le principal problème avec le smartphone est que les utilisateurs ne sont jamais encouragés à éteindre leur appareil. En pratique, cela signifie que - après avoir entré un mot de passe une fois après le démarrage - les utilisateurs normaux passent toute leur journée à stocker toutes leurs clés cryptographiques dans la RAM. Étant donné que les batteries du téléphone vivent pendant un jour ou plus (longtemps par rapport aux ordinateurs portables), le cryptage n'offre pas vraiment beaucoup pour vous protéger contre un attaquant qui met la main sur votre téléphone pendant cette période.

Bien sûr, les utilisateurs verrouillent leur smartphone. En principe, une implémentation intelligente pourrait expulser les clés cryptographiques sensibles de RAM lorsque le périphérique se verrouille, puis les récupérer à la prochaine connexion de l'utilisateur. Malheureusement, Android ne fait pas ceci - pour la raison très simple que les utilisateurs de Android veulent que leurs téléphones fonctionnent réellement. Sans clé cryptographique dans la RAM, un système FDE perd l'accès à tout sur le lecteur de stockage. En pratique, cela en fait une brique.

Pour cette très bonne raison, une fois que vous démarrez un téléphone Android FDE, il n'effacera jamais ses clés cryptographiques de la RAM. Et ce n'est clairement pas bon.

Depuis iOS 4, Apple incluait une fonction de "protection des données" pour crypter toutes les données stockées sur un appareil. Mais contrairement à Android, Apple n'utilise pas le paradigme de chiffrement complet du disque. Au lieu de cela, ils utilisent une approche de chiffrement basée sur les fichiers qui chiffre individuellement chaque fichier sur l'appareil.

Dans le système Apple, le contenu de chaque fichier est chiffré sous une clé unique par fichier (les métadonnées sont chiffrées séparément). La clé de fichier est à son tour cryptée avec l'une des plusieurs "clés de classe" dérivées du mot de passe utilisateur et de certains secrets matériels intégrés dans le processeur.

Afin de sécuriser les choses concernant les clés, certaines mesures spéciales de sécurité ont été mises en place. Si la classe de protection haute sécurité est utilisée, les fichiers chiffrés avec cette clé de classe ne sont accessibles que lorsque le périphérique est sous tension et déverrouillé . Pour garantir cela, la clé de classe est supprimée de RAM quelques secondes après le verrouillage du périphérique. C'est souhaitable. Dans le cas de l'option sécurité moyenne , les fichiers cryptés sont protégés jusqu'à ce que l'utilisateur se connecte pour la première fois (après un redémarrage ) et la clé reste en mémoire . Sur sécurité faible , les fichiers sont accessibles même lorsque l'appareil a été redémarré et que l'utilisateur n'a pas encore ouvert de session dans .

En conclusion, pour les téléphones mobiles, il existe une option FBE relativement sûre et c'est à l'utilisateur de l'utiliser.

Lisez un peu plus à ce sujet ici .

8
Overmind

Oui, le cryptage basé sur les fichiers offre une bonne sécurité et, comme tout, il présente également des avantages et des inconvénients. Mais commençons par le début. Quelle est la principale différence entre ces deux méthodes?

Chiffrement basé sur fichier

Lors d'un chiffrement basé sur fichier, seuls les fichiers sont chiffrés avec des clés différentes. Disons que chaque fichier a son propre "mot de passe". Il existe deux types de stockage dans ce type de chiffrement:

  1. Stockage crypté des informations d'identification: qui n'est disponible que si l'utilisateur entre ses informations d'identification
  2. Stockage chiffré par périphérique: disponible avant et après le démarrage. C'est l'espace où l'alarme et les choses similaires sont enregistrées que vous avez mentionnées. Ils sont accessibles avec le démarrage direct.

Ces deux types de stockage offrent certains avantages :

  • Aucune allocation de stockage nécessaire
  • Petits changements sur le stockage si vous changez un fichier (vous n'avez donc pas besoin de changer un conteneur entier juste un fichier)
  • Des droits d'accès à granularité fine sont possibles

Mais aussi certains inconvénients :

  • Les métadonnées ne sont pas entièrement cryptées
  • Les données dépendent du système de fichiers utilisé

Cryptage complet du disque

Avec ce type de cryptage, vous cryptez tout un espace. Vous pouvez donc le déverrouiller simplement en utilisant la bonne touche. Mais cela a également eu quelques avantages que je dois mentionner:

  • Les métadonnées sont entièrement cryptées
  • Le contenu de ce conteneur peut être aléatoire et n'a pas besoin de s'adapter au système de fichiers utilisé
  • L'intégration dans le système d'exploitation peut vous apporter des avantages en termes de performances
  • Vous ne pouvez pas "oublier" un fichier. Si c'est à l'intérieur de ce conteneur, il est crypté

Mais aussi à ce cryptage, vous avez eu quelques inconvénients:

  • Vous ne pouvez utiliser aucun programme avant un démarrage (comme des alarmes ou des choses similaires) (uniquement s'il se trouve à l'intérieur de l'emplacement chiffré)
  • Si vous changez un fichier, vous changez tout le conteneur
  • Vous devez allouer tout l'espace

Résumé

Comme vous pouvez le voir, les deux types de cryptage offrent certains avantages et inconvénients. Je dirais que la meilleure amélioration du cryptage basé sur les fichiers sera que vous pourrez crypter chaque fichier avec une clé différente. Ainsi, certains peuvent rester cryptés et tandis que d'autres sont décryptés et utilisés. Ce sera un avantage pour la convivialité et la sécurité. Le plus gros inconvénient que je peux voir est que les métadonnées ne sont pas entièrement cryptées. Cela pourrait être un problème de sécurité car certaines métadonnées donnent beaucoup d'informations sur un fichier.

Remarque: À Android 9, ils ont également introduit le cryptage des métadonnées qui supprime l'inconvénient. Donc, après cette version, je ne vois plus vraiment d'inconvénients concernant la sécurité.

En fin de compte, vous devez y penser par vous-même et passer en revue les arguments de ces cryptages.

5
CDRohling