Pourquoi mon téléphone Android ne dispose eFuses et pourquoi devrais-je me soucie d'eux?

Ceci est un message par guest Ricardo "Arcee" Cerqueira qui prend les choses en dehors du sport, dans une quête pour comprendre comment ils fonctionnent. Il travaille actuellement sur les appareils Android au cyanogène.

Comme les gens ont commencé à recevoir leurs 6PS Nexus, certains ont commencé à flipper sur un nouveau message qui apparaît sur l'écran lors du démarrage en mode fastboot: "qRemplacement: activé," avec des théories spéculatives sauvages à venir en ce qui concerne ce qu'il fait et ne fait pas, ce genre de limitations, il est imposant, et je me demandais si et comment il peut être «désactivé». Alors ... ce qui est cette chose qRemplacement, de toute façon?

Pensez à un eFuse que la représentation de l'esprit de l'oeil d'un bit qui bascule une seule façon, ou quelque chose qui ne peut être fait une fois sur un morceau de Flash inscriptible. Une fois que vous retournez ces bits en écrivant quelque chose en eux, il n'y a pas de retour: ils vont rester écrits avec cette valeur, toujours, et à partir de là, ce morceau de flash devient essentiellement ROM (dans le sens original de l'acronyme: lire mémoire -seulement).

Sur un smartphone, eFuses (qui, en fonction de qui est du marketing de la fonction, va avoir des noms différents - la chose chaude actuelle est "qRemplacement" de Qualcomm) va stocker des bits de données que le vendeur ne veut pas que quiconque vissage avec.



Ce qui me porte à des chargeurs de démarrage: le chargeur de démarrage sur un périphérique pouvoirs en place certaines parties de l'appareil, les configure, puis applique la sécurité de première ligne dans la protection de vos données. Qui commence à "refuser d'exécuter un système d'exploitation non autorisée sur un dispositif de verrouillage," passe par, «Ne laissez pas les outils non autorisées vider le contenu de la flash,» et se termine à "essayer de protéger la viabilité de l'appareil en ne vous permettant pour détruire la chaîne de bootloader par accident ".

Ayant cela à l'esprit, voici une autre factoid sur la plupart des chipsets, et notamment Qualcomm, comme le 6P de Nexus: outre le principal système d'exploitation de haut niveau (Android, ou la reprise Android) fonctionnant sur la puce principale, il ya un système d'exploitation en cours d'exécution de niveau inférieur sur un compagnon de DSP, et que OS fonctionne applications. Négociation de la DRM, la validation d'empreintes digitales, et même la vidéo de codage / décodage exécuter des applications comme spécialisées sur ce noyau, protégés par quelques couches de sécurité. Une telle couche est de veiller à ce que des applications de confiance uniquement fonctionner dans cet environnement, et que la confiance est atteint par les ayant signé avec une clé de chiffrement, et veiller à ce que uniquement les applications signé avec cette clé sont autorisés à exécuter (vous ne voulez pas que vos empreintes digitales intercepté, avez-vous? Et les studios de contenu ne veulent absolument pas les clés DRM trafiqués :)).

Le bootloader lui-même peut aussi être considéré comme un exemple de l'application de confiance: il est soit signé avec la bonne clé, ou le dispositif va refuser de l'exécuter. Si votre téléphone a couru tout chargeur compatible, il pourrait, par exemple, obtenir un bootloader qui ne déverrouillage sans détruire les données (y aller de vos mots de passe, et les photos de votre femme). Ou tout simplement un bootloader qui sautée contrôles de démarrage entièrement, et autorise toute image bootable pour obtenir démarré ou flashé, indépendamment de l'état de verrouillage.

La clé qui signe ces non-HLOS (yup, qui est ce que cela signifie: Système d'exploitation non-haut niveau) Apps est pas la même touche qui valide les images de démarrage. Ceux-ci sont validés par le bootloader seul, et le chargeur de démarrage peut (et ne) valider comme il l'entend: il est un micro-système d'exploitation de sa propre, et assez autonome pour elle. La clé qui valide les bootables (BOOT.IMG, recovery.img) vit habituellement sur le bootloader lui-même, ou quelque part il peut lire. Et si vous déverrouillez votre chargeur de démarrage, qui est la clé, il ne sera plus vérifier.



Alors d'où vient la clé publique qui valide le bootloader lui-même (et les applications NON hlos) vivent? Vous l'avez deviné: un eFuse. Si ce fusible particulier est vide, le dispositif fonctionnera tout firmware de bas niveau (et pour les personnes travaillant sur l'appareil, en particulier les personnes qui travaillent sur les applications DSP ou le chargeur de démarrage lui-même, il est extrêmement utile d'avoir un tel dispositif sur la main). Mais pour tout le monde, y compris les personnes qui travaillent effectivement sur Android (à l'extérieur ou Google), que le fusible stocke la clé publique qui valide firmware. Vous ne pouvez pas briser accidentellement votre chargeur de démarrage, vous ne pouvez pas intercepter les touches de DRM, vous ne pouvez pas obtenir sournoisement / données sur le téléphone d'un utilisateur ou déverser entiers, qui sont tous les "mauvaises choses." Mais vous pouvez toujours lancer votre propre variante d'Android, la récupération, ou un tout autre OS de haut niveau. Et cela est une bonne chose.

Le «qRemplacement: enabled" peut message sur le bootloader 6P référer à un autre fusible? Oui, mais je doute: rasoir d'Occam et tout ça. Ayant travaillé avec plusieurs appareils identiques physiquement moi-même, il est très utile pour les personnes clignotants choses soient en mesure de distinguer visuellement les périphériques acceptent un nouveau bootloader expérimentale (et non signé). Je l'ai briqué plusieurs périphériques à cause de cette :).

TL-DR: La qRemplacement ne modifie pas le déverrouillage du bootloader ou tout des fonctions du téléphone, et il est pas affectée par le déverrouillage du bootloader. Il est un Nexus après tout. Déverrouiller à volonté!

Crédit image: linkmedia360




» » » Pourquoi mon téléphone Android ne dispose eFuses et pourquoi devrais-je me soucie d'eux?