PEmicro-erlebniswelt

Soporte de depuración segura S32K3xx

Depuración segura autenticada


Una vez autenticado el depurador, el desarrollador puede depurar de forma segura el dispositivo en S32 Design Studio o en cualquier IDE de terceros utilizando el complemento PEmicro.

 

Introducción

Los dispositivos S32K3xx de NXP pueden configurarse en un estado en el que el usuario debe realizar la autenticación con contraseña o la autenticación de desafío y respuesta en el depurador al inicio de una sesión de depuración S32DS estándar. Estos modos de depuración segura evitan el acceso no autorizado a la depuración, ya que requieren las credenciales correctas para autenticar el depurador antes de proceder con una sesión de depuración segura. Siempre se requiere un nuevo proceso de autenticación tras un reinicio destructivo o un reinicio de encendido.

Para obtener acceso de depuración segura para un dispositivo seguro en modo contraseña, el depurador debe autenticarse con una contraseña. Para depurar de forma segura un dispositivo en modo Desafío y Respuesta, el usuario debe registrar una Clave/Contraseña de Depuración de Aplicaciones (ADKP) en una tarjeta inteligente NXP antes de la autenticación del depurador.

PEmicro proporciona scripts para facilitar la autenticación de un depurador en modo contraseña y también para ayudar a registrar una clave existente en una tarjeta inteligente NXP para la depuración segura en modo Desafío y Respuesta.

Los siguientes scripts pueden descargarse del paquete de archivos de soporte de PEmicro que se encuentra en la carpeta NXP\S32K3xx. Los scripts de PEmicro requieren Python 3.5 o superior para ejecutarse.

  • autenticar_contraseña_modo.py
  • registrar_adkp.py
  • authenticate_challenge_response_mode.py

Antes de ejecutar cualquiera de los scripts, la interfaz PEmicro (por ejemplo, Multilink o Cyclone) debe estar conectada a la cabecera de depuración del objetivo y el dispositivo S32K3xx debe estar encendido y recién apagado y encendido. Cabe señalar que el estado de autenticación se pierde cada vez que la pieza pasa por un reinicio destructivo, por lo que los scripts para la autenticación deben ejecutarse después de cada evento de ciclo de alimentación.

S32K3xx_authenticate

Autentificar un depurador para el modo seguro con contraseña

El script authenticate_password_mode.py de PEmicro autentica un depurador para una comunicación segura con un dispositivo en modo contraseña, de modo que se pueda depurar de forma segura (ver Figura 1).

Las entradas del script authenticate_password_mode.py son

hardwareid: la dirección IP, el nombre, el número de serie o el nombre del puerto del hardware de depuración 
(por ejemplo, -hardwareid=10.0.4.17 para Ethernet Cyclone o USB1 para interfaces USB Multilink)

Contraseña: la contraseña hexadecimal preconfigurada de 16 bytes necesaria para autentificar la unidad 
(por ejemplo, -password=0123456789ABCDEF0123456789ABCDEF)

Registro de la clave y autenticación de un depurador en modo seguro de desafío y respuesta

Primero hay que registrar la clave en una tarjeta inteligente de NXP. La tarjeta inteligente puede conectarse a un PC mediante un lector de tarjetas inteligentes compatible con PC/SC (normalmente con conexión USB). Tras el registro, la clave debe autenticarse en una consulta de Desafío y Respuesta para entrar en el modo de depuración segura.

Registrar una clave

El script register_adkp.py de PEmicro registra una clave/contraseña de depuración de aplicaciones (ADKP) ya empaquetada en la tarjeta inteligente de NXP para utilizarla con determinados dispositivos S32K3xx con seguridad de desafío y respuesta mejorada (para más detalles, consulta la Figura 2). Para obtener más información sobre la creación de una ADKP, consulta la documentación y el soporte de NXP.

Las entradas para register_adkp.py son:

hardwareid: dirección IP, nombre, número de serie o nombre de puerto del hardware de depuración
(por ejemplo, -hardwareid=10.0.4.17 para Ethernet Cyclone o=USB1 para interfaces USB Multilink)

wraped_adkp: el valor ADKP hexadecimal envuelto de 256 bytes
(por ejemplo, -wrapped_adkp=0123456789ABCDEF...)

user_pwd: la contraseña que autentica al usuario de la tarjeta inteligente
(por ejemplo, -user_pwd=pwd123)

register_adkp_S32K3xx-2
S32K3xx_authenticate-3

Autentificar un depurador para el modo Desafío y Respuesta

El script "authenticate_challenge_reponse_mode.py" de PEmicro autentica un depurador para una comunicación segura con un dispositivo dedicado en modo Desafío y Respuesta (ver Figura 3). El paso Registrar ADKP debe completarse antes de que tenga lugar la autenticación.

Las entradas para authenticate_challenge_reponse_mode.py son

- hardwareid: dirección IP, nombre, número de serie o nombre del puerto del hardware de depuración

(por ejemplo, -hardwareid=10.0.4.17 para Ethernet Cyclone o=USB1 para interfaces USB Multilink)

- user_pwd: la contraseña que autentica al usuario de la tarjeta inteligente

(por ejemplo, -user_pwd=pwd123)

Depuración segura autenticada

Una vez autenticado el depurador, el desarrollador puede depurar de forma segura el dispositivo en S32 Design Studio o en cualquier IDE de terceros utilizando el complemento PEmicro.

Los algoritmos de programación FLASH habilitados para HSE (por ejemplo, nxp_s32k344_1x32x980k_hse_enabled.arp) deben seleccionarse al depurar o programar determinados dispositivos con seguridad mejorada, ya que la flash disponible en un dispositivo S32K3xx está adaptada al firmware HSE cuando la pieza se implementa en modos de seguridad mejorada. Ten en cuenta que un dispositivo S32K3xx con el firmware HSE instalado no requiere necesariamente la autenticación del depurador seguro. Cuando se instala HSE, la unidad se encuentra inicialmente en el ciclo de vida CUST_DEL, para el que el acceso al depurador está abierto. Sólo a medida que avanza el ciclo de vida se requiere la depuración segura.

Cuando se crea un proyecto en el IDE S32DS, el complemento PEmicro utiliza automáticamente el controlador de programación FLASH para admitir la programación de toda la gama de dispositivos FLASH P y D, siempre que los modos de memoria HSE y AB Swap estén desactivados. Para cambiar a un algoritmo de programación FLASH que admita dispositivos con una huella de firmware HSE, el usuario debe: abrir la configuración de depuración de PEmicro y seleccionar lo siguiente en el cuadro desplegable Selección de algoritmo Flash:

  → Abrir el diálogo Opciones avanzadas → nxp_s32k344_1x32x980k_hse_enabled.arp

o el usuario puede marcar "Usar algoritmo alternativo" y buscar un algoritmo FLASH habilitado para HSE del último plug-in de PEmicro (ver Figuras 4 y 5).

PEmicro-NXP-Debug-Configuration-4
PEmicro_Advanced_Options-5

Los controladores de programación FLASH de PEmicro se encuentran en la siguiente ubicación de la distribución S32DS:

Instalación S32DS: directorio}\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_5.xxxxx\win32\gdi\P&E\supportFiles_ARM\NXP\S32K3xx

La unidad permanece accesible en depuración segura hasta el siguiente reinicio destructivo o apagado y encendido. En ese momento, la pieza debe volver a autenticarse.

Herramientas de programación y depuración de PEmicro

PEmicro desarrolla y fabrica herramientas de depuración y programación ISP para diversas arquitecturas de microcontroladores. La cartera se divide en dos series de dispositivos, la serie Cyclone y la serie Multilink. La serie Cyclone son programadores en el sistema para producción en serie que ofrecen almacenamiento interno seguro de imágenes de programa, alimentación al dispositivo de destino, funciones de programación manual y automatizada, serialización, programación dinámica de datos y una interfaz de pantalla táctil fácil de usar.

Con la serie Multilink, el usuario puede utilizar el modo de depuración en segundo plano para detener la ejecución normal del procesador y controlarlo mediante un PC. Así, el usuario puede controlar directamente la ejecución del procesador de destino, leer/escribir registros y valores de memoria, visualizar código de depuración en el procesador y programar dispositivos de memoria FLASH internos o externos.

PEmicro Multilink UniversalMultilink Universal
Multilink Universal
USB-ML-UNIVERSAL
El PEmicro Multilink Universal es una interfaz para depurar y programar procesadores ARM y de 8/16/32 bits.

299,00 €*
PEmicro cyclone lc universalpemicro cyclone lc universal header layout
Cyclone LC Universal
CYCLONE-LC-UNIV
El PEmicro Cyclone LC Universal es un programador autónomo para ARM y procesadores de 8/16/32 bits.

979,00 €*
pemicro cyclone fx universalCyclone FX Universal Header Layout
Cyclone Universal FX
CYCLONE-FX-UNIV
El PEmicro Cyclone FX Universal es un programador autónomo para ARM y procesadores de 8/16/32 bits.

1.369,00 €*