IT資産管理
TOTPとは?仕組みや導入メリット、注意点を解説
Written by WizLANSCOPE編集部
TOTPとは、時刻情報をもとにワンタイムパスワードを生成する認証方式です。
生成されるパスワードの有効期限は30秒〜60秒程度と非常に短く、フィッシング詐欺への耐性を高められることから、近年は多要素認証の仕組みとして広く利用されています。
本記事では、TOTPの概要や仕組み、導入メリットなどを解説します。
▼本記事でわかること
- TOTPの概要
- TOTPの仕組み
- TOTPの導入メリット
- TOTPの注意点
「TOTPとは何か」「導入することでどのような効果が期待できるか」などを知りたい方はぜひご一読ください。
TOTPとは

TOTP(Time-based One-Time Password)とは、時刻情報をもとに使い捨てのパスワードである「ワンタイムパスワード」を生成する仕組みです。
TOTPでは、サーバー側とユーザーのスマートフォンにインストールされた認証アプリなどで共有シークレットと現在時刻を組み合わせて、ワンタイムパスワードを生成します。
生成されるパスワードの有効期限は30秒〜60秒程度と非常に短いため、仮に第三者にパスワードを窃取されたとしても、不正に利用されるリスクを低減できます。
この「短い有効期限」がTOTPの大きな特徴であり、認証のセキュリティ強度を高める重要な要素となっています。
近年はフィッシング詐欺などにより、ID・パスワードが漏洩する被害が急増しています。
IDとパスワードのみに依存した従来の認証方式では、一度認証情報が盗まれてしまうと、攻撃者による不正ログインを防ぐことが困難です。
しかしTOTPを導入していれば、正しいID・パスワードを知っているだけではログインできません。
ID・パスワードに加え、その瞬間に有効なワンタイムパスワードを生成できるデバイスを所持している必要があるため、不正ログインのリスクを大幅に低減できます。
TOTPの仕組み

TOTPは、以下の流れで認証を行います。
- ユーザーの認証アプリとサーバーの間で、あらかじめ共有シークレットを設定する
- 認証アプリとサーバーが共有シークレットと現在時刻をもとにワンタイムパスワードを生成する
- 認証アプリに表示されたコードをユーザーがサーバーに入力する
- 入力されたコードとサーバー側で生成したコードが一致すれば、認証が成功する
このようにTOTPでは、ユーザー側とサーバー側があらかじめ共有しているシークレットと現在の時刻をもとに、同じワンタイムパスワードを同時に生成することで認証を行います。
この仕組みでは、認証のたびにパスワードをサーバーから発行する必要がないため、安全性が高いという特徴があります。
その結果、盗聴やフィッシングなどによる不正ログインのリスクを抑えながら、高いセキュリティが期待できます。
TOTPとOTP・HOTPの違い

TOTPと比較される認証方式として、「OTP」「HOTP」が挙げられます。
3つの認証方式の違いについてみていきましょう。
TOTPとOTPの違い
「OTP」とは、One-Time Password(ワンタイムパスワード)の略称で、一度しか使用できないパスワードによって認証を行う仕組みを指します。
例えば、メールで送られてくる認証コードやSMSで届く確認番号、物理トークンに表示される数字なども、すべてOTPに含まれます。
一方「TOTP」は、OTPの一種であり、「時刻情報をもとにしてパスワードを生成する方式」を指します。
一定時間ごとに自動的にコードが切り替わる点が特徴で、ユーザーが操作しなくても新しいパスワードが生成されます。
つまり、OTPは「一度しか使えないパスワードによる認証の仕組み」そのものを指す言葉であり、TOTPは「時刻情報を利用してOTPを生成する具体的な方式」といえます。
OTPという言葉だけでは、パスワードの生成方法や安全性のレベルまでは分かりませんが、TOTPと明示することで「短時間で失効する時刻ベースのワンタイムパスワードを利用している」ことが分かります。
TOTPとHOTPの違い
「HOTP(HMAC-based One-Time Password)」は、TOTPと同じくワンタイムパスワードを生成する方式ですが、パスワードを切り替える基準が「時刻」ではなく「カウンター」である点が大きな違いです。
ユーザーとサーバーが共有するシークレットに加えて、ログイン試行回数などをもとにしたカウンター値を利用してパスワードを生成します。
認証が成功するたびにカウンターが進み、それに応じて次のワンタイムパスワードが生成されます。
HOTPではパスワードの有効期限が明確に「何秒」と決まっているわけではないため、ユーザーがコードを入力しない限り、同じパスワードが有効な状態で保持されることがあります。
また、ユーザーとサーバー間でカウンターの値にズレが発生すると、認証に失敗する可能性があります。
そのため、このズレを解消するための仕組みが必要になる場合があり、運用面での注意が求められます。
一方で「TOTP」は、時刻情報をもとにパスワードが自動的に更新される仕組みのため、ユーザーの認証状況に関わらず、一定時間ごとにコードが無効化されます。
その結果、仮に第三者にコードが知られた場合でも、悪用できる時間を短く抑えることができます。
TOTPを活用するメリット

TOTPを活用する大きなメリットとして、セキュリティの強化が挙げられます。
TOTPで生成されるワンタイムパスワードは有効期限が短く、30秒〜60秒程度で自動的に無効化されます。
そのため、仮に第三者にワンタイムパスワードを窃取されたとしても、実際に不正ログインされる可能性を大幅に低減できます。
例えば、近年さらに巧妙化しているフィッシングサイトにおいてID・パスワードを入力してしまった場合でも、認証にTOTPを利用していれば、ワンタイムパスワードが短時間で失効するため、不正ログインを防げる可能性が高まります。
さらにTOTPは、SMS認証と比較してもセキュリティ面で優れています。
SMS認証は、携帯電話番号宛てに送信される認証コードを入力して本人確認を行う仕組みです。
利便性の高さから広く利用されていますが、SIMスワップ攻撃や通信傍受などのリスクが指摘されています。
一方、TOTPのコード生成は外部との通信を伴わず、ユーザーのデバイス内で生成する仕組みのため、通信経路を狙った攻撃の影響を受けにくいという特徴があります。
また運用面においても、TOTPは管理しやすい認証方式です。
時刻情報をもとにコードが自動的に更新されるため、管理者側で個別にコードの発行や失効処理を行う必要がありません。
さらに、標準化されたアルゴリズムが広く採用されているため、特定のベンダーに依存せず、さまざまなシステムやサービスと組み合わせて利用できます。
TOTPの注意点

TOTPは高いセキュリティ効果を持つ認証方式ですが、導入・運用にあたっては、いくつかの注意点もあります。
- 入力の手間が増える
- 共有シークレットが漏洩する危険性がある
利便性と安全性のバランスを保ちながら適切に運用するためにも、これらのポイントを確認しておきましょう。
入力の手間が増える
TOTPを導入すると、従来のID・パスワード入力に加えて、認証アプリに表示されるワンタイムパスワードの入力が必要になります。
そのため、ログイン時の操作が一段階増え、ユーザーによっては手間に感じる場合があります。
特に、業務システムなどで頻繁にログイン操作が必要になる場合、毎回コードを確認して入力する作業が負担になることも考えられます。
また、スマートフォンを手元に持っていない状況では認証が行えないため、利用シーンによっては不便さを感じる可能性もあります。
一方で、この追加の操作は、不正ログインを防ぐための重要な確認プロセスでもあるため、セキュリティインシデントによる被害の大きさを考慮すると、一定の入力負荷は合理的なトレードオフともいえるでしょう。
企業・組織で導入する場合は、従業員の負荷を考慮しながら、ログイン頻度に応じて適用範囲を調整するなど、運用面での工夫が求められます。
共有シークレットが漏洩する危険性がある
共有シークレットの管理が適切に行われていない場合、外部に漏洩するリスクがあります。
例えば、次のような管理方法は注意が必要です。
- 共有シークレットを平文で保存する
- 誰でもアクセスできる場所に保存する
- 暗号化されていない経路で共有する
TOTPでは、ユーザーの認証アプリとサーバーが同じ共有シークレットを保持しています。
この共有シークレットが第三者に漏洩すると、正規ユーザーと同じワンタイムパスワードを生成される恐れがあります。
また、スマートフォンの紛失や盗難、マルウェア感染、バックアップデータの管理不備なども、共有シークレット漏洩の要因となります。
そのため、デバイスのセキュリティ対策を徹底することに加え、デバイス紛失時に速やかに認証を無効化・再設定できる運用ルールを整備しておくことが重要です。
まとめ
本記事では「TOTP」をテーマに、その概要や仕組み、導入メリットなどを解説しました。
本記事のまとめ
- TOTPとは、時刻情報をもとに使い捨てのパスワードである「ワンタイムパスワード」を生成する仕組み
- TOTPで生成されるワンタイムパスワードは有効期限が短く、30秒〜60秒程度で自動的に無効化されるため、仮にID・パスワードを窃取された場合でも、不正ログインのリスクを大幅に低減できる
- 企業・組織でTOTPを導入する際は、利便性とセキュリティのバランスを考慮し、運用方法を工夫することが重要
TOTPで生成されるワンタイムパスワードは、有効期限が30秒~60秒と非常に短いことから、近年高度化・巧妙化しているフィッシング詐欺への耐性を高められるというメリットがあります。
ただし、TOTPを導入すると、従来のID・パスワード入力に加えて、認証アプリに表示されるワンタイムパスワードの入力が必要になるため、ユーザーによっては手間に感じる場合があります。
セキュリティを強化しつつ利便性も保ちたい場合は、シングルサインオン(SSO)と組み合わせるなどの方法を検討することが推奨されます。
おすすめ記事
