ワンタイムパスワード(OTP)
ワンタイムパスワード(OTP)は、二要素認証(2FA)に使われる一時的なコードです。KeePassiumは、現代のWebで最も広く使われている方式である時間ベースのワンタイムパスワードを保存・生成できます。
OTPをデータベースに保存しておけば、安全でポータブル、かつ特定のベンダーに依存しない管理方法として便利です。
OTPの仕組み
このセクションでは、時間ベースのOTPの仕組みを簡単に説明します。
初回設定の際、オンラインサービスとクライアントアプリ(KeePassiumなど)は_シークレット_を交換します。これはサーバーがランダムに生成した短い文字列で、QRコードを通じてクライアントに送られます。サーバーとクライアントの両方がこのシークレットを保存すると、初回設定は完了です。
日常の利用では、サーバーにサインインするたびに、サーバーとKeePassiumの両方が次の手順を実行します。
- 1970年1月1日からの経過時間を数えます。ただし1秒単位ではなく、30秒などのより長い時間間隔で数えます。つまり、基準日からの「30秒」の回数(カウント)を計算します。
- この回数を、_シークレット_の値によって制御される暗号アルゴリズムで処理します。
- 結果を入力しやすいように6〜8桁に短縮します。
INFO
時間間隔、暗号アルゴリズム、コードの桁数はいずれも、OTP設定の一部として指定できるパラメータです。完全な仕様はRFC6238で確認できます。
最後に、生成されたOTPをサインインフォームに入力すると、サーバーは受け取ったコードをローカルで生成したコードと比較します。両者が一致すれば、検証の際にシークレットそのものをやり取りしていなくても、クライアントがシークレットを知っているという強力な証明になります。
OTPの設定
KeePassiumでOTPを設定する方法は2つあります。QRコードをスキャンする方法と、秘密鍵を手動で入力する方法です。
QRコードを使う
最も簡単で素早い方法です。
- エントリー編集画面を開きます
- 上部の + をタップし、ワンタイムパスワード → QRコードを読み取る を選択します
- 対象のWebサイトに表示されたQRコードにカメラを向けます。
- 写真からQRコードを読み込むこともできます。
設定は、otpという名前のカスタムフィールドにotpauth URI(2FA用QRコードの事実上の標準形式)として保存されます。

カメラアプリやotpauthリンクを使う
OTP設定がotpauth://で始まるURLとして提供されている場合も、KeePassiumで扱えます。
- デバイスの設定を開き、一般 → 自動入力とパスワード に進みます
- 確認コードを設定するアプリ の項目をKeePassiumに変更します
これで、OTP設定リンクをタップしたときや、カメラアプリでOTPのQRコードをスキャンしたときに、KeePassiumが自動的に起動します。あとは画面の案内に従って、OTP設定を目的のエントリーに読み込むだけです。
秘密鍵を使う
QRコードをスキャンできない場合は、秘密鍵を使った手動設定が便利です。

- Webサイトで、秘密鍵を手動で入力するオプションを選択します
- 秘密鍵をクリップボードにコピーします
- KeePassiumでエントリー編集画面を開き、上部の + をタップ → ワンタイムパスワード → 手動で入力 を選択します
- 秘密鍵をペーストして 完了 をタップします
TIP
スペースや大文字・小文字は区別されません。Abcとa B Cは同じコードです。
Steam用OTP
ValveのSteamサービスには独自のTOTP形式があります。KeePassiumはSteam形式のTOTPコードも生成できます。
データベース内のSteamのエントリーを開き、次の2つのカスタムフィールドを作成します。
TOTP Settings— 値は30;S(30は更新間隔、SはSteam固有の形式でTOTPコードを生成するという意味)TOTP Seed— 秘密鍵(Base32形式)
Steamの秘密鍵の抽出はValveが公式にサポートしているものではありませんが、可能です。その手順は本ドキュメントの範囲外です。
OTPの使い方
設定が完了すると、OTPコードはエントリー一覧とエントリー表示画面の両方に表示されます。

エントリー一覧では、OTPコードは通常 ボタンの裏に隠れています。ボタンをタップするとOTPが表示され、クリップボードにコピーされます。
OTPの有効期限が近づくと、色が点滅し始めます。サーバーに確実に受け付けてもらうため、次のコードが表示されるのを待った方がよい場合もあります。
エントリー表示画面では、OTPコードが直接表示されます。コードの下の小さな線は、コードが更新されるまでの残り時間を示しています。OTP設定データのフィールドは表示画面では隠されています。このフィールドにアクセスするには、エントリーの編集を開始してください。

互換性
KeePassiumで設定したOTPコードは、KeePassXCおよびほとんどのモバイルアプリと互換性があります。逆も同様で、他のアプリで設定したコードはKeePassiumでも動作します。
例外として、KeePassでは他のアプリで設定されたOTPを認識するためにKeePassOTPプラグインが必要です。
トラブルシューティング
OTP設定ボタンが見つからない
データベースファイルが、カスタムエントリーフィールドに対応していない古い形式を使用しています。解決策として、データベースをKDBX形式にアップグレードしてください。
生成されたOTPコードが無効になる
- デバイスのシステム時刻が正しいことを確認してください。30秒のずれでも、生成されるコードが無効になることがあります。
- 入力した秘密鍵に誤字がないか確認してください。スペースや大文字・小文字は区別されません。