web-dev-qa-db-fra.com

Manipulation ARM Trustzones

Bras a quelque chose appelé didonone. Selon ARM Documentation, il donne qu'un processus peut exécuter dans un monde sécurisé/non sécurisé.

  1. Que signifie le monde sécurisé/non sécurisé. Est-il lié aux modes d'exécution du processeur ou est lié à la définition des autorisations de régions de mémoire ou autre chose.
  2. Existe-t-il une relation entre les 7 modes de fonctionnement de ARM et les mondes sécurisés/non sécurisés.
  3. Comment activer le musculateur dans le bras.
  4. À partir de quelle version de ARM est-ce introduit.
  5. Est-il obligatoire d'utiliser ce fiducione. Le noyau Linux utilise-t-il cette extension de Trustzone.

Veuillez m'aider à comprendre cela.

30
Prabagaran

http://infocenter.arm.com/help/topic/com.arm.doc.prd29-genc-009492c/index.html est un très bon document d'introduction qui donne un aperçu de quelque chose d'un peu Un peu trop complexe pour être expliqué de manière satisfaisante en tapant une zone de texte. Mais je vais essayer de répondre à vos questions directes ci-dessous.

  1. Il fait référence à une option de privilège supplémentaire orthogonal aux modes d'exécution. Secure World a la possibilité de faire des accès mémoire étiquetés comme sécurisé, mais peut également effectuer des accès non sécurisés. Le monde normal ne peut effectuer que des accès non sécurisés. De plus, certaines options de configuration du processeur ne sont accessibles que pour sécuriser le monde. L'intention consiste à isoler un logiciel sécurisé dans un environnement simple où il ne peut pas être (directement) vulnérable aux exploits logiciels dans le système d'exploitation principal de l'appareil ou le logiciel d'application.
  2. Aucun, en dehors de celui-ci, ajouter un mode "moniteur" supplémentaire. Ce mode moniteur est utilisé pour le "commutateur de contexte" entre le monde normal et sécurisé.
  3. Trustzone n'est pas activé, il est mis en œuvre (ou non).
  4. Trustzone a été introduit dans les extensions de sécurité à ARM architecture version 6. Le premier processeur supportant était ARM176. Tous les processeurs Cortex-A le soutiennent.
  5. "Non", bien que puisque les processeurs capables de Trustzone commençant à exécuter dans l'état sécurisé sur la mise sous tension, si le chargeur de démarrage ne change rien pour changer l'état de sécurité, tous les logiciels seront exécutés comme sécurisés (supprimer des avantages de sécurité). Non, l'environnement de Trustzone est explicitement destiné à courir à côté de votre système d'exploitation, à ne pas y introduire directement. Pour certaines plates-formes, le noyau Linux effectue des appels de surveillance sécurisés pour demander à Secure World de modifier certaines options de configuration du système.
32
unixsmurf

Pour compléter UnixSmurfs réponse,

Qu'est-ce que le Secure/non sécurisés moyen du monde. Est-il lié aux modes d'exécution des processeurs ou il est lié à la définition des autorisations des régions de mémoire ou autre chose.

Principalement, il est lié à des régions de mémoire . Tous TrustZone appareils compatibles étiquettera AXI Bus avec un accès [~ # ~] ns [~ # ~] peu. Ce bit indique si l'accès est d'un obtenir ou normal monde. De cette façon, même [~ # ~] dma [~ # ~] périphériques sous le contrôle du normal monde peuvent être isolés.

Y at-il relation entre les 7 modes de fonctionnement ARM et le Secure/mondes non sécurisés.

Pas vraiment. Cependant, il y a un entre le monde , appelé Mode Moniteur , et apparemment, il est le plus puissant du groupe. Mode Moniteur est un intermédiaire entre le sécuriser et mondes normaux . Il peut accéder monde normal CP15 registres tout en ayant la vue mémoire sytem du monde sécurisé (pousserez le bit NS comme 0).

Comment activer le TrustZone dans ARM.

Activer est un peu d'un mot surchargé. Il est intégré dans le CPU unixsmurf souligne. Par défaut TrustZone activé CPU démarre dans le sécuriser monde. Si vous ne faites rien, vous pouvez être inconscients du fait de la CPU est TrustZone capable. Seulement en créant un normal le contrôle du monde et la remise à lui, sera TrustZone être utilisé; peut-être c'est ce que vous entendez par permet .

De quelle version de ARM est introduit ce.

Il y a deux saveurs:

  1. TrustZone compatible.
  2. TrustZone activée.

L'article 4.2 de la sécurité TrustZone Livre blanc répondre. Le ARM1176JZ (F) -S , Cortex-A8 , Cortex-A9 , Cortex-A9-MPCore et Cortex-A5 support TrustZone . Le ARM1156T2 (F) -S et Cortex-R4 sont compatibles; ils peuvent être 2dakota du Nord noyau dans le système. Comme les noyaux plus récents sont développés, ils peuvent être ajoutés à la liste; cette question est une cible mouvante.

Est-il obligatoire d'utiliser ce TrustZone. Est-ce que le noyau Linux utilise cette extension TrustZone.

Il n'est pas obligatoire . Il y a deux rôles le Linux noyau pourrait jouer; sécuriser et normal monde. Voir svc-gestionnaire-à-smc appel pour des informations sur l'utilisation de TrustZone avec Linux .

Certaines choses sans réponse qui UnixSmurf fait allusion à; vous devez vous assurer que tous les maîtres de bus et esclaves sont correctement conscients de l' [~ # ~] ns [~ # ~] peu. Cette information est à l'extérieur des informations de CPU et implique arbitres BUS ; un autre sujet qui est livre-like .

Voir: PRD29-GENC-009492C
ARM TrustZone comme une technique de virtualisation dans les systèmes embarqués
Trusted Computing avec des blocs de construction ARM TrustZone
ARM Trusted Firmware

18
artless noise