時間ベースのワンタイムパスワードとは?(TOTP)

時間ベースのワンタイムパスワード (TOTP) は、アルゴリズムに基づいて 30~60 秒ごとに固有のコードが生成される認証メソッドです。 多要素認証 (MFA) に使用され、ユーザーは身元を確認してアカウントにアクセスするためにパスワード入力後に TOTP コードを入力します。

TOTP の仕組み

TOTP は、コードを生成するシークレットアルゴリズムに依存しています。このアルゴリズムは各インスタンスに固有で、現在時刻を要素として使用します。これにより、アルゴリズムは 30 秒から 60 秒ごとに新しい固有のコードを生成します。

ユーザーがアカウントに対して新しい TOTP の作成を開始するたびに、アカウントサーバーは通常 QR コードとして表示される固有のシークレットアルゴリズムを生成します。サーバーはこのシークレットを保持し、TOTP コードの生成に使用します。

ユーザーは、専用の電話アプリまたはパスワードマネージャの機能である認証ツールで QR コードをスキャンします。認証ツールがシークレットアルゴリズムを持つようになったため、サーバーと同じ 6 桁のコードを計算します。

一度セットアップされると、アルゴリズムはサーバーとユーザーの認証ツールの両方で同時に実行され、全く同じ 6 桁のコードが全く同じ時間に生成されます。

ユーザーがログインする際、認証ツールに表示されている現在のコードを入力します。サーバーは、計算したコードとユーザーのコードを比較します。コードが一致した場合、ユーザーは認証され、アクセスが許可されます。

時間ベースのワンタイムパスワード(TOTP)の仕組みを示す図です。一時的なコードを表示するサーバーによって生成された QR コード、シークレットが共有される認証アプリ、アプリによって生成された 6 桁のコード、認証強化のアイデアを伝えるシンボルが含まれます。

TOTP の使い方

TOTP の使い方はこちらです:

  1. 認証ツールを選択します。TOTP コードを生成するためにパスワードマネージャーを使用することをお勧めします。なぜなら、ログインプロセスを合理化し、アカウントにログインするためだけに複数のデバイスを使用する必要がないからです。

  2. アカウントからシークレットアルゴリズムをリクエストします。アカウントにログインし、セキュリティ設定を見つけます。 TOTP コードがアカウントの MFA オプションの場合、QR コードをリクエストする設定が表示されます。

  3. お使いの認証ツールで QR コードをスキャンします。どんなアプリを使用していても、QR コードをスキャンする方法があります。ほとんどの場合、携帯電話のカメラまたはスクリーンショット機能を使用します。

  4. これで設定は完了です!ログイン時にサーバーから認証コードをリクエストされたら、認証ツールで表示されたコードを確認してください。時間が経過してコードが変更される前に、必ずコードを入力してください(通常は 30~60 秒ごと)。

TOTP 認証を使うべき理由

TOTP は最も安全で便利な多要素認証の一つです。MFA はすべてのアカウントで推奨されており、パスワードの追加セキュリティレイヤーとして機能します。誰かがパスワードを入手して、MFA が有効になっているアカウントにログインしようとしても、2 つ目の認証方法がなければアクセスすることはできません。

パスワードは、大規模なデータ侵害やその他のサイバー攻撃で頻繁に漏洩しています。そのため、MFA が不可欠となります。アカウントで MFA を使用しない場合、サイバー犯罪者は盗んだ認証情報で簡単にログインして、機密データにアクセスすることができてしまいます。

TOTP が最も安全な MFA の 1 つとなっている理由は、コードが 2 つの当事者によって独立して計算されることです。このため、コードを当事者間で通信する必要がありません。アルゴリズムが秘密のままである限り、そのコードが傍受されることはありません。そしてコードが頻繁に変更されるという事実が、さらなるセキュリティのレイヤーを提供します。

通常メールやテキストで送信される従来の認証コードに比べ、TOTP ははるかに安全なものです。メールやテキストは暗号化されていないため、サイバー犯罪者に簡単に傍受されてしまうからです。

OTP と TOTP と HOTP の比較

OTP、TOTP、HOTP の違いは、結果のパスワードコードを計算するために使用される要素のタイプにあります。

ワンタイムパスワード(OTP)は、あらゆる種類の 1 回限り認証に使用されるコードを指す包括的な用語です。これらの認証コードは、様々な方法で生成することができ、その中には他のものより安全なものもあります。

すでに説明されているように、TOTP はコードを計算する際に時間を要素として使用する OTP の一種です。つまり、30 秒から 60 秒ごとに新しいコードが生成されます。TOTP はとても頻繁に変更されるため、最も安全なタイプの OTP です。

ハッシュベースのワンタイムパスワード(HOTP)は、コードを計算するために別のファクター(この場合はハッシュベースのメッセージ認証コード、HMAC)を使用することを除いて、同様に機能します。HMAC は、コードが要求された回数をカウントし、それを使ってコードを計算します。HMAC は、30 秒から 60 秒ごとに変化するのとは対照的に、コードが要求されるたびにコードを変更します。

OTP タイプの比較
  • TOTP
    • コード生成の基準として現在時刻を使用する
    • 30 秒から 60 秒ごとに変更
    • 最も安全なメソッド
  • HOTP
    • コード生成の基準としてコードのリクエスト回数を使用する
    • 新しいコードがリクエストされるまで同じまま
    • 安全だが、TOTP よりは劣る

時間ベースのワンタイムパスワードは、アカウントを保護するための便利なソリューションです。Keeper Password Manager は、強力なパスワードを生成するとともに、すべてのアカウントで TOTP を簡単に設定することができます。KeeperFill があれば、ログインプロセスは楽勝です。Keeper が自動的にパスワードと TOTP コードを入力してくれるので、他の MFA メソッドのような不便を感じることなく、アカウントを安全に保護することができます。

日本語 (JP) お問い合わせ