Le chiffrement complet de l'appareil protège-t-il mes données de Google et du gouvernement?

13

Apple a récemment fait des vagues au sein de la communauté technologique en refusant de se conformer aux forces de l'ordre en ce qui concerne l'accès aux données utilisateur cryptées. Leur déclaration était qu'ils n'avaient pas la capacité technique de décrypter ces données.

En tant qu'utilisateur Android, existe-t-il une possibilité similaire (de préférence intégrée au système d'exploitation plutôt qu'à un tiers) que je peux utiliser pour obtenir une protection similaire, même de Google et du fabricant de mon appareil? Je sais qu'il y a le "Full Device Encryption" dans mes paramètres, mais cela empêche-t-il Google etc. d'y accéder?

Pour référence, mon appareil fonctionne sous Android Lollipop et est un OnePlus Two. Si d'autres versions comme Marshmallow me permettaient de le faire, c'est très bien.

malexdev
la source

Réponses:

10

Google n'a aucune idée de la clé de cryptage de votre appareil. L'ensemble du processus se déroule sur votre appareil et la clé n'est jamais transmise nulle part. La clé elle-même n'est également pas stockée en texte brut sur votre appareil :

Stockage de la clé cryptée

La clé chiffrée est stockée dans les métadonnées cryptographiques. La sauvegarde matérielle est implémentée à l'aide de la capacité de signature de Trusted Execution Environment (TEE). Auparavant, nous cryptions la clé principale avec une clé générée en appliquant scrypt au mot de passe de l'utilisateur et au sel stocké. Afin de rendre la clé résistante aux attaques hors boîte, nous étendons cet algorithme en signant la clé résultante avec une clé TEE stockée. La signature résultante est ensuite transformée en une clé de longueur appropriée par une autre application de scrypt. Cette clé est ensuite utilisée pour chiffrer et déchiffrer la clé principale.

Donc, même si quelqu'un avait une copie de votre clé principale chiffrée, il ne pourrait pas la déchiffrer sans la clé TEE du SoC de votre appareil.

Par conséquent, en dehors d'une faille dans la mise en œuvre, le chiffrement complet de l'appareil empêchera quiconque d'accéder à vos données à moins qu'il ne connaisse / obtienne votre mot de passe OU qu'il ne devine votre mot de passe (par exemple via le forçage brutal ou une sorte de technique d'ingénierie sociale). Sur les appareils qui ne disposent pas du support matériel nécessaire, FDE tentera de chiffrer la clé à l'aide d'une méthode uniquement logicielle.

eldarerathis
la source
@beeshyams C'est une fonctionnalité du processeur. L'implémentation d'ARM est appelée "TrustZone", mais d'autres architectures fournissent également des mécanismes similaires. L'idée est que vous pouvez générer une clé d'appareil, la stocker dans un endroit uniquement accessible au TEE, puis ne jamais la révéler au monde extérieur. Lorsque vous devez crypter / décrypter quelque chose, vous demandez au code exécuté dans le TEE de le faire pour vous, de sorte que la clé reste sécurisée. Wikipedia a un article décent (-ish) .
eldarerathis
1
@eldarerathis Ce que j'ai entendu, c'est que l'iPhone 6 et les versions plus récentes sont à l'abri des mises à jour OEM, car la vérification du mot de passe ( y compris le délai / verrouillage temporisé) est entièrement implémentée dans le matériel. Ce que je demande, c'est si Android fait quelque chose de similaire, ou s'il s'agit uniquement d'un verrouillage de logiciel - qui peut bien sûr être contourné par une mise à jour du firmware. Je demande également s'il existe des téléphones Android avec des chargeurs de démarrage qui refusent les mises à jour sans que le code d'accès spécifié par l'utilisateur ne soit entré - ce qui faciliterait le contournement des périodes de verrouillage du logiciel.
Bob
1
Encore une autre façon de reformuler est de savoir s'il existe un moyen d'exiger que le déchiffrement (avec mot de passe utilisateur) se produise avant que les mises à jour ne soient autorisées. En d'autres termes, les mises à jour (OEM, signées) peuvent-elles être installées sans la clé de déchiffrement (sans effacement obligatoire des données utilisateur)?
Bob
1
@Bob À ma connaissance, Android n'a pas besoin du mot de passe de déchiffrement pour effectuer le processus de mise à jour, car il ne chiffre que la /userdatapartition, pas les partitions que la mise à jour serait réellement en train de modifier ( /systemet /boot, généralement). Il est à peu près dans le même bateau que l'iPhone 5 (et inférieur).
eldarerathis
1
J'ajouterais, je ne sais pas si le délai général par tentative est quelque chose qui peut être "désactivé" par une mise à jour, ou si Android le redimensionne artificiellement. Android utilise des tours de cryptage au cours du processus de génération de clé, il devrait donc être utilisé lors du décryptage de la clé également, et scrypt est conçu spécifiquement pour être difficile à accélérer, afin d'atténuer le forçage brutal. Cela resterait cohérent. Un verrouillage après X nombre de tentatives infructueuses (ou un verrouillage à l'échelle, s'il en existe un) serait cependant implémenté dans le logiciel, AFAIK.
eldarerathis
-1

Le chiffrement complet de l'appareil protégera votre appareil si vous utilisez une clé trop longue pour utiliser la force brute, même lorsque les attaquants sont capables d'utiliser des techniques de force brute - en supposant qu'il existe des moyens de leur permettre de le faire. Snowden dit que 64 caractères sont assez longs pour un cryptage vraiment incassable. Une sécurité totale est donc possible - si cela ne vous dérange pas de taper une phrase de passe de 64 caractères à chaque fois que vous réveillez le téléphone.

Andrew Brown
la source
Connaissez-vous la limitation de la longueur du code PIN de verrouillage d'écran? Envisagez de redémarrer votre réponse en conséquence
beeshyams
Oui, 16 caractères est la limitation si vous vérifiez le code source .
Firelord