TOTP/HOTP生成ツール: 安全なワンタイムパスワード
TOTP/HOTP生成ツールは、共有Base32シークレットからワンタイムパスワードを作成します。TOTPは現在時刻を、HOTPはカウンターを使います。6、7、8桁、SHA-1、SHA-256、SHA-512を選び、15秒、30秒、60秒などの時間周期を設定します。ライブカウントダウンにより、現在のTOTPコードの残り有効時間を確認できます。
TOTP/HOTP生成ツールは、二要素認証で使われるワンタイムパスワードを作成します。現在時刻と共有シークレットから新しいコードを導出するTOTP(RFC 6238)と、カウンターからコードを導出するHOTP(RFC 4226)に対応しています。共有シークレットはBase32(RFC 4648)でエンコードされており、Google AuthenticatorのQRコードで使われる形式です。
コードを生成するには、選択した設定で共有シークレットを使います。6、7、8桁、SHA-1、SHA-256、SHA-512を選び、15秒、30秒、60秒などのTOTP周期を設定できます。ライブカウントダウンバーにより、現在の時間ベースコードの残り有効時間が表示されます。計算にはWebCrypto HMACを使い、ブラウザ上でローカルに実行されます。
TOTPとHOTPは、各コードの導出に使う値が異なります。TOTPは時刻を、HOTPはカウンターを使います。どちらの形式も共有シークレットからワンタイムパスワードを生成しますが、特定の二要素認証フローでのテストや作業ではこの違いが重要です。テストデータ用のコードを用意したり、認証アプリのワークフローを確認したり、2つの標準を比較したりするのにこの生成ツールを使えます。
TOTP/HOTP生成ツールはブラウザ上で動作し、データがサーバーに送信されることはありません。サーバー依存がないため、ページの読み込み後はオフラインでも動作し続けます。共有シークレットを他所に送らずに、ローカルテスト、フィクスチャ、ドキュメント、開発作業用のコードが必要な開発者やDevOpsエンジニアに便利です。
手順1: 共有シークレットをBase32形式で入力します。これは認証アプリのQRコードで使われるエンコーディングです。
手順2: 利用可能なオプションを設定します。6、7、8桁とSHA-1、SHA-256、SHA-512を選びます。
手順3: TOTPの時間周期を選びます。15秒、30秒、60秒などです。
手順4: ワンタイムパスワードを生成し、ライブカウントダウンで現在のTOTPコードの残り有効時間を確認します。
手順5: テスト、フィクスチャ、その他のワークフローに必要な値をコピーします。
用途: 認証テスト、フィクスチャ、シードデータ用に、サンプルコードを手で打ち込む代わりにTOTPやHOTPの値を生成します。
用途: テストデータを用意する際に、値を手動で考える代わりに、コードをまとめて一度に作成します。
用途: キーボードで打ち込んだ推測値に頼らず、選択した標準と設定に従ってコードを生成します。
用途: 認証アプリのワークフローをテストする際に、共有Base32シークレットがどのようにワンタイムパスワードを生成するか確認します。
用途: 二要素認証の開発やデバッグ中に、時間ベースのTOTPコードとカウンターベースのHOTPコードを比較します。
用途: ドキュメント、デモ、その他の開発作業用に、サンプルのワンタイムパスワードを用意します。