D'après ce que je comprends, la clé AES est chargée dans la puce. Et il peut également y avoir une vérification CR232 sur le firmware ou un ensemble de fusibles OTP
Cela ne signifie pas qu'il ne peut pas être piraté, si vous y mettez du temps. Je voudrais vérifier si les broches JTAG ont été désactivées et commencer à partir de là.
7.1 Cas d'utilisation de la ligne de production Sur la ligne de production NXP, l'OTP sera testé et programmé à l'aide de JTAG. En mode test, le bloc de fusibles lui-même sera accessible directement. Pendant la programmation, le VPP aura besoin d'une tension plus élevée que dans le cas d'utilisation de l'application. Les données écrites sont ensuite vérifiées en lisant les fusibles (en utilisant une basse tension sur VPP). Le client programmera également l'OTP uniquement sur la ligne de production, ici la programmation DFU sera utilisée. Une image pour la programmation des bits sélectionnés par le client peut être chargée dans l'appareil via USB.
7.2 Cas d'utilisation de l'application, il est important de s'assurer que le registre data_15 est mis à jour tôt pendant l'initialisation (par code de démarrage), cela définira le niveau de sécurité. Quatre niveaux de sécurité sont implémentés dans la conception:
• Niveau 0: rien n'est protégé.
• Niveau 1: protégé par mot de passe. Dans ce niveau, JTAG peut être activé par le logiciel après la séquence de mots de passe (dépend de l'application client) en définissant le bit collant 'JTAG_EN' dans le registre OTP_con.
• Niveau 2: à ce niveau, l'accès JTAG peut être activé à l'aide d'un équipement de test spécial. Utilisé par NXP uniquement pour l'analyse des matériaux retournés.
• Niveau 3: JTAG est complètement désactivé et donc la puce est virtuellement verrouillée.
Le client peut programmer le niveau de sécurité de la puce. Pour le niveau 1, le bit de fusible 509 doit être défini. Pour le niveau 2, les bits de fusible 509 et 510 sont définis. Pour le niveau 3, les bits de fusible 509, 510 et 511 sont programmés. Un cas particulier sera pour le client de désactiver l'écriture sur les fusibles, mais comme dans l'application une basse tension (pour la lecture) sera connectée au VPP, l'écriture ne sera de toute façon pas possible. Lors d'une application normale, les fusibles auront déjà été programmés sur la ligne de production. Il reste donc trois options: copier les données du fusible dans les registres de données, lire ces données et définir la protection en lecture. Le code de démarrage copiera les données du fusible dans les registres de données car cela est nécessaire pour la sécurité et les DRM. Après cela, les données peuvent être lues à partir des registres de données via le bus APB0 (selon les paramètres de protection en lecture).
Modifier: Si la clé est vraiment chargée, vous ne pourrez charger un firmware personnalisé que si vous avez la clé.