KDF-DOの設定#

はじめに#

KDF-DO は Key Derived Function - Data Object の略である。このデータオブジェクトにより、カードはクライアントに派生鍵に対応していることを知らせることができる。(詳細は`OpenPGP Smart Card 3.4 仕様<https://gnupg.org/ftp/specs/OpenPGP-smart-card-application-3.4.pdf>`__ の 4.3.2 節を参照)。派生鍵の利点は、パスワードを平文で送信する代わりに、ハッシュのみをカードに送信し、したがってハッシュのみをカードに保存することができることである。派生鍵は元のパスワードより長いので、ブルートフォースアタックを成功させるのも難しくなります。

注釈

現在、KDF-DOを設定できるのは、Nitrokey Startが空になったとき(工場出荷時にリセットした直後)のみです。

KDF-DOを設定する手順#

  1. ファクトリーリセットの実行

  2. GnuPGを使ったKDF-DOの設定

  3. 管理者PINの変更(オプション、キーがない場合は管理者PINの変更のみ可能)

  4. キーのインポート/生成

  5. ユーザーおよび管理者用PINの変更

GnuPGによるKDF-DOの設定#

  1. 実行``gpg2 --card-edit``

  2. $ admin

  3. $ kdf-setup

  4. 管理者用PINの入力

  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キー