设置KDF-DO#

简介#

KDF-DO代表钥匙派生功能-数据对象。通过这个数据对象,卡片可以通知客户它支持衍生钥匙。(详见`OpenPGP智能卡3.4规范的4.3.2节<https://gnupg.org/ftp/specs/OpenPGP-smart-card-application-3.4.pdf>`__)使用派生密钥的好处是,不需要以明文形式传输密码,只需要将哈希值传输给卡片,因此卡片上只存储哈希值。由于派生密钥会比原始密码长,因此也更难成功地进行暴力攻击。

注解

目前,只有在Nitrokey Start为空的情况下,才有可能设置KDF-DO(刚刚在出厂前复位)。

配置KDF-DO的步骤#

  1. 运行工厂重置

  2. 使用GnuPG设置KDF-DO

  3. 更改管理员PIN码(可选;没有钥匙的话,只能更改管理员PIN码)。

  4. 导入/生成密钥

  5. 更改用户和管理员密码

使用GnuPG设置KDF-DO#

  1. 运行``gpg2 –card-edit``

  2. $ admin

  3. $ kdf-setup

  4. 输入管理密码

  5. 通过查看卡的细节(gpg2 --card-status),验证当前的状态状态,其中``KDF setting ……: on``应该是可见的,例如。

Max. PIN lengths .: 127 127 127
PIN retry counter : 3 3 3
Signature counter : 0
KDF setting ......: on
Signature key ....: [none]

测试对象为#

  • gpg (GnuPG) 2.2.20 / 2.2.25

  • Nitrokey Start RTM.10

  • 曲线25519键