Webサイトを快適にご利用いただくためには、IE11以降、Chrome、Firefox、またはSafariをご使用ください。

OTP、TOTP、HOTPの違いは何か?

OTPの種類とOTP生成機能が適した状況を理解する
アプリケーションとクラウドベースのソフトウェアへの安全なアクセスを提供することは、すべての業界の企業にとって常に存在する課題です。ユーザにシンプルで信頼性の高いセキュリティを提供することは、ユーザ情報と機密性の高い企業データを保護するために重要です。

 

テクノロジー企業がパスワードの盗難およびその他の種類のサイバー攻撃に対抗してきた方法の1つに、ワンタイムパスワード(OTP)の使用があります。OTPは、保護された情報にハッカーがアクセスするのを非常に困難にするために考案された多要素認証(MFA)の形式の1つです。

MFAは、エンドユーザがアプリケーションまたはシステムにアクセスする前に、通常のパスワード以外に追加の資格情報を要求します。例えば、SMSを使用するMFAは、ユーザに数字の文字列のテキストを送信し、ユーザはその文字列を入力しないとアクセスが許可されません。このコードはOTPの一種です。

B2B企業とB2C企業はどちらも、優れたユーザエクスペリエンス(UX)を維持しながらユーザと企業のデータを保護するという目標があります。これは、どのようなセキュリティソリューションを選択するとしても、ユーザのワークフローを大幅に妨げることなく、合理化する必要があることを意味します。

OTP認証は、セキュリティ上の懸念とUXの両方にとっての的確なソリューションです。OTPには、HOTPとTOTPという2つの種類があります。この2つの違いを説明していきます。しかしその前に、OTPについて少し掘り下げてみましょう

OTPとは何か、そしてその仕組みは?

OTPはパスワードのようなものですが、一度しか使用できません。このため、ワンタイムパスワード(One-Time Password)と呼ばれており、OTPはその略です。セキュリティを強化するための追加の認証メカニズムとして、通常のパスワードと組み合わせて使用されることがよくあります。

OTPはその名が示す通り、1回のみ有効です。一度使用したパスワードは破棄され、次にそのアプリケーションにアクセスする必要があるときは、別のパスワードを使用します。こうすることでセキュリティが向上し、犯罪者が個人アカウントに侵入するのがずっと困難になります。

ユーザは、スマートフォンアプリ、テキストメッセージ、専用トークン(キーフォブなど)を介して、特定のアプリケーションまたはWebサイトのOTPにアクセスできます。OneLogin Protectは、OTP生成機能の一例で、スマートフォンのアプリとして使用できます。Webサイトまたはアプリケーションにアクセスするのに使用するコードが記載されたSMSテキストを受信するたびに、OTPを使用しているのです。

SHA-1など、OTPを生成するさまざまな業界標準アルゴリズムがあります。これらのアルゴリズムはすべて、シード可変値の2つの入力を使用してOTPを生成します。シードは固定値(秘密鍵)で、認証サーバで新しいアカウントを開設するときに作成されます。

シードは変化しませんが、可変値は新しいOTPが要求されるたびに変化します。どのように可変値が生成されるかが、HOTPとTOTPの大きな違いです。

HOTPとは何か?

HOTPの「H」は、Hash-based Message Authentication Code(HMAC)を表しています。平たく言えば、HMACベースのワンタイム・パスワード・アルゴリズム(HOTP)は、イベントベースのOTPであり、各コードの可変値はカウンターに基づいています。

HOTPが要求され、検証されるたびに、可変値がカウンターに基づいて増分されます。生成されたコードは、ユーザが別のコードをアクティブに要求し、認証サーバによって検証されるまで有効です。OTP生成機能とサーバは、コードが検証され、ユーザがアクセスできるようになるたびに同期されます。YubikoのYubikeyは、HOTPを使用するOTP生成機能の1つです。

HOTPとは何か

TOTPとは何か?

Time-based One-time Password(TOTP)は時間ベースのOTPです。TOTPのシードはHOTPと同様に固定ですが、TOTPの可変値はカウンターベースではなく、時間ベースです。

各パスワードが有効な期間はタイムステップと呼ばれます。タイムステップの長さは、30秒から60秒の間が一般的です。パスワードをその時間枠内に使用しないと無効になり、ユーザはアプリケーションにアクセスするために新しいパスワードをリクエストする必要があります。

TOTPとは何か

制限と利点

HOTPとTOTPはどちらもMFAをまったく使用しないよりはるかに安全ですが、それぞれに制限と利点があります。TOTP(2つのテクノロジーの中で新しい方)は、使用と実装が簡単ですが、時間ベースの要素に時間差(パスワードの作成から使用までのタイムラグ)が発生する可能性があります。ユーザがすぐにTOTPを入力しないと、入力する前に有効期限が切れる可能性があります。したがって、サーバはその点を考慮して、ユーザを自動的にロックアウトせずに、簡単に再試行できるようにする必要があります。

HOTPは時間に基づく制限がないため、よりユーザフレンドリーであると言えますが、ブルートフォース攻撃の入り込む余地が多くなる可能性があります。これは、HOTPが有効な期間が長くなる可能性があるからです。一部の形式のHOTPは、コードに時間ベースのコンポーネントを追加することでこの脆弱性に対処しており、これら2つのタイプのOTPの境界が多少あいまいになっています。

終わりに

どちらのタイプのOTPを使用するにしても、認証アプリやキーフォブのようなOTP生成機能を選択する方が、SMSテキストオプションより、MFAを安全に使用できます。詐欺師は、テキストへのアクセスを可能にするSIMカード詐欺やその他のタイプのハッキングなど、これらのSMSコードを傍受するための独創的な方法を見つけています。SMSベースのMFAは、MFAをまったく使用しないよりいいかもしれませんが、スマートフォンに認証アプリを入れるかキー・フォブ・コード生成機能を使用するより安全性がはるかに低いです。