Actualización del firmware#

Esta guía describe cómo actualizar el firmware del Nitrokey 3.

Importante

Para firmware v.1.0.0 e inferiores, la actualización borrará todos los datos de usuario. Asegúrese de tener habilitados los métodos de inicio de sesión de respaldo adecuados y/o asegúrese de que Nitrokey 3 no sea la única forma de autenticación/2FA para sus aplicaciones/servicios.

Para el firmware v1.0.1 y superiores los datos de usuario se conservan durante la actualización. De todos modos, asegúrese de tener siempre otro dispositivo (o método de inicio de sesión) registrado en su servicio, si por alguna razón sus datos no se conservan.

Cómo actualizar#

Importante

No desconecte nunca el Nitrokey 3 ni aborte el proceso mientras se actualiza, ya que esto podría inutilizar su dispositivo.

  1. Asegúrese de que tiene instalada la última versión de pynitrokey, consulte las instrucciones de instalación de su sistema operativo

  2. Corre nitropy nk3 update.

  3. Una vez instruido por nitropy toca el dispositivo para activar el bootloader.

  4. Sólo para macOS: Si se le indica nitropy ejecute de nuevo el comando de actualización.

  5. Por favor, espere hasta que el proceso haya terminado. (Esto puede variar en función de su sistema operativo)

  6. Opcional: ejecutar nitropy nk3 test para comprobar si el dispositivo funciona correctamente después del flasheo

En caso de cualquier error, por favor tome los registros del directorio /tmp (/tmp/nitropy.log.*).

Tipos de versiones de firmware#

Hay tres tipos de versiones de firmware para el Nitrokey 3:

Las versiones estables son las más importantes para los usuarios. Están diseñadas para ser compatibles con versiones anteriores y conservar todos los datos del usuario, y se prueban exhaustivamente. En los dispositivos de producción solo deben utilizarse versiones estables.

Una versión candidata **** es un avance de una próxima versión estable. También debería ser compatible con versiones anteriores, pero no se prueba tan a fondo como una versión estable.

Las versiones de prueba (anteriormente: versiones alfa) contienen funciones adicionales que aún no están listas para la producción. Los datos de usuario creados con una versión de prueba pueden no ser compatibles con otras versiones. Estas versiones aún se están probando y es más probable que contengan errores.

Consulte las notas de la versión en GitHub para obtener más información sobre las funciones disponibles en una versión.

Puede identificar el tipo de versión de firmware por su número de versión:

Tipo

Número de versión

Ejemplo

versión estable

v<major>.<minor>.<patch>

v1.3.1

candidato a la liberación

v<major>.<minor>.<patch>-rc.<counter>

v1.3.1-rc.1

versión de prueba

v<major>.<minor>.<patch>-test.<date>

v1.3.1-test.20230414

Protección contra el descenso de categoría#

El firmware del Nitrokey 3 no se puede degradar. Sólo puede instalar una actualización de firmware con el mismo número de versión mayor, menor y de parche, o superior, que el firmware instalado actualmente en el dispositivo. Esto protege contra ataques de downgrade en los que una versión de firmware segura sería reemplazada por una versión antigua y potencialmente insegura.

Ejemplos:

  • v1.3.1 puede actualizarse a v1.3.1-test.20230414 y viceversa porque tienen el mismo número de versión mayor, menor y parche.

  • v1.3.1 puede actualizarse a v1.3.2 o v1.4.0 porque el número de versión aumenta.

  • v1.3.1 no puede actualizarse a v1.3.0-rc.1 porque el número de versión disminuiría.

Esto es importante sobre todo para los usuarios que dependen de una función de las versiones de prueba. Los usuarios del firmware estable siempre pueden actualizar a la última versión del firmware disponible.

Troubleshooting (Linux):#

Problema: Me sale permission denied for /dev/hidrawX durante la actualización.

Esto probablemente significa que su usuario no tiene los permisos necesarios para leer y escribir en el dispositivo. Por favor, asegúrese de que ha configurado el correcto udev-rules. Descargue este conjunto udev-rules y colóquelo en su directorio de reglas udev (por ejemplo, /etc/udev/rules.d). A continuación, retire su Nitrokey 3 de la ranura USB y ejecute: udevadm control --reload-rules && udevadm trigger o reinicia tu máquina. Después la actualización debería funcionar sin el problema de los permisos.