固件更新#
本指南介绍了如何更新Nitrokey 3的固件。
重要
对于1.0.0及以下版本的固件,更新将删除所有的用户数据。 请确保你启用了适当的备份登录方法,并/或确保Nitrokey 3不是你的应用程序/服务的唯一认证/2FA方式。
对于固件V1.0.1及以上版本,用户数据在更新期间被保留 。总之,要确保总是有另一个设备(或登录方式)在你的服务中注册,如果由于某种原因你的数据没有被保留。
如何更新#
重要
在更新过程中,千万不要断开Nitrokey 3的连接或中止进程,这很可能会使你的设备失去作用。
确保你已经安装了最新的`pynitrokey`版本,请查看你的操作系统的`安装说明`_。
运行``nitropy nk3 update``。
一旦得到``的指示,nitropy``触摸设备以激活引导程序。
请等待,直到该过程结束。(这可能因你的操作系统而异)
可选:运行``nitropy nk3 test``以检查设备在闪烁后是否工作正常。
如果出现任何错误,请从``/tmp``目录中获取日志(/tmp/nitropy.log.*
)。
固件发布类型#
Nitrokey 3有三种类型的固件发布:
稳定的版本 ,对用户来说是最重要的。它们被设计成向后兼容,保留所有的用户数据,并经过全面测试。在生产设备上,应该只使用稳定版。
候选版本 是即将发布的稳定版本的预览。它也应该是向后兼容的,但没有像稳定版那样进行彻底的测试。
测试版 (以前是:alpha releases)包含了尚未准备好用于生产的额外功能。用测试版本创建的用户数据可能与其他版本不兼容。这些版本仍在测试中,更有可能包含错误。
请参阅GitHub上的`release notes`_,以了解更多关于一个版本中可用功能的信息。
你可以通过版本号来识别固件发布的类型:
类型 |
版本号 |
例子 |
---|---|---|
稳定版 |
|
|
候选发布 |
|
|
试放 |
|
|
降级保护#
Nitrokey 3的固件不能被降级。你只能安装与设备上当前安装的固件相同或更高的主要、次要和补丁版本号的固件更新。这可以防止降级攻击,即安全的固件版本会被一个旧的、可能不安全的版本取代。
例子:
v1.3.1``可以更新为``v1.3.1-test.20230414
,反之亦然,因为它们具有相同的主要、次要和补丁版本号。``v1.3.1``可以更新为``v1.3.2``或``v1.4.0``因为版本号增加。
``v1.3.1``不能更新为``v1.3.0-rc.1``因为版本号会减少。
这主要与依赖测试版本的功能的用户有关。稳定版固件的用户可以随时更新到最新的可用固件版本。