本文へ移動

TOTP 認証アプリ

TOTP は、時間に応じて変化するワンタイムパスワードです。fn-knock ではメインのログイン方法として使用できるほか、Passkey、QQ、その他の外部アカウントによるログインの本人確認の基点にもなります。

認証情報を 1 つ登録する

  1. 認証 を開き、新しい TOTP 認証情報を追加します。
  2. 信頼できる認証アプリで QR コードを読み取ります。読み取れない場合は手動設定を開き、TOTP シークレットをコピーします。
  3. 現在の確認コードを入力して検証を完了し、認証情報に識別しやすい名前を付けます。
  4. もう 1 台の独立したデバイス、またはオフラインのバックアップ手段も登録します。

1 台のスマートフォンにある TOTP だけを残さないでください。デバイスの紛失、OS の再インストール、時刻の異常によってログインできなくなる可能性があります。

サービススコープ

TOTP 一覧の 権限 では、全範囲 または カスタム範囲 を選択できます。カスタム一覧には、ログインが必須のサービス用 Host、組み込みの選択ページ、認証が有効な TCP / UDP プロトコルマッピングがグループ表示されます。マッピングから削除された後も権限に残っている項目は、利用不可として表示されます。カスタム範囲が空の場合、その認証情報では保護されたエントリーポイントへアクセスできません。

この制限は、関連付けられた Passkey、QQ、その他の OIDC 外部アカウントにも適用されます。サービススコープが制限された TOTP では、共通のログイン後 IP 自動許可は作成されません。範囲に個別のプロトコルマッピングが含まれ、ログイン後の IP アクセス許可が有効な場合は、現在の送信元 IP にそのプロトコルと外部ポートだけが許可されます。個人用、家族用、自動化用、管理用の認証情報を分けると、個別に失効させたり監査したりしやすくなります。

クイックログインを管理 では、関連付けられた Passkey の確認と削除、外部アカウントの紐付け確認、30 分間有効な紐付け用招待の生成ができます。Passkey 自体は、訪問者が TOTP でログインした後の状態ページから作成します。管理一覧から直接作成することはできません。

時刻が同期していない場合

確認コードが続けてエラーになる場合は、まずスマートフォンとサーバーの日付、タイムゾーン、自動時刻設定が正常か確認してください。ログイン試行制限が発動するまで繰り返し試さないでください。サーバーの時刻に問題がある場合はホスト上で修正します。Docker では fn-knock から直接時刻を同期できません。OpenWrt では、先にルーター自身の NTP と現在の権限を確認してください。

インポートとエクスポート

TOTP のエクスポートには、確認コードを生成できる secret、名前、権限が含まれます。インポートでは、同じ ID、同じ secret、ファイル内の重複項目がスキップされます。管理ページで受け付ける JSON ファイルは最大 512 KB です。Passkey や外部アカウントの紐付けは復元されません。

エクスポートファイル、QR コード、手動設定用シークレットは、いずれもログイン認証情報そのものとして扱ってください。暗号化して保管し、スクリーンショット、一般公開、クラウド上のノートへのアップロードは避けます。TOTP を削除すると、関連付けられた Passkey と外部アカウントの紐付けも同時に削除され、それらのログイン方法は使用できなくなります。

QQ コミュニティ:1081609274