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

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

OTPのさまざまな種類と、OTPジェネレータの役割について

アプリケーションやcloudベースのソフトウェアへの安全なアクセスを確保することは、あらゆる業界の企業にとって常に課題となっています。ユーザーにシンプルかつ信頼性の高いセキュリティを提供することは、ユーザー情報や企業の機密データを保護する上で極めて重要です。

テクノロジー企業がパスワードの盗難やその他のサイバー攻撃に対抗してきた方法の一つが、ワンタイムパスワード(OTP)の活用です。OTPは、ハッカーが保護された情報にアクセスすることを著しく困難にするよう設計された、多要素認証(MFA)の一種です。

MFAでは、エンドユーザーがアプリケーションやシステムにアクセスする前に、単純なパスワード以外の追加の認証情報が必要となります。例えば、SMSを利用するMFAでは、ユーザーに数字の文字列が記載されたテキストメッセージが送信され、アクセスが許可される前にそのコードを入力する必要があります。このコードはOTPの一種です。

B2B企業もB2C企業も、優れたユーザー体験(UX)を維持しつつ、ユーザーデータや企業データを保護するインセンティブを持っています。つまり、どのようなセキュリティソリューションを選択する場合でも、ユーザーのワークフローに過度な支障をきたすことなく、効率的に運用できるものである必要があります。

OTP認証は、セキュリティ上の懸念とUXの両方に対する洗練された解決策です。OTPには、HOTPとTOTPの2種類があります。それぞれの違いについては後ほど詳しく説明しますが、まずはOTPについてもう少し深く掘り下げてみましょう。

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

OTPはパスワードに似ていますが、1回しか使用できないため、「ワンタイムパスワード(One-Time Password)」の略称です。通常のパスワードと組み合わせて、セキュリティを強化する追加の認証手段としてよく使用されます。

OTPはその名の通り、一度きりの使用に限られます。そのパスワードを一度使用すると無効になり、次にそのアプリケーションにアクセスする際には別のOTPを使用することになります。これによりセキュリティが強化され、悪意のある攻撃者が個人アカウントに侵入することが格段に難しくなります。

ユーザーは、スマートフォンアプリ、SMS(ショートメッセージ)、または専用トークン(キーフォブなど)を通じて、特定のアプリケーションやウェブサイト用のOTPを取得できます。OneLogin Protectは、スマートフォンのアプリとして利用できるOTP生成ツールの例です。 ウェブサイトやアプリケーションにログインするためのコードがSMSで送信されるたびに、OTPが使用されています。

SHA-1など、OTPを生成する業界標準のアルゴリズムは多種多様です。これらのアルゴリズムはすべて、OTPコードを生成するために「シード」と「変動因子」という2つの入力値を使用します。シードとは、認証サーバー上で新しいアカウントを作成する際に生成される静的な値(秘密鍵)のことです。

シードは変化しませんが、ムービングファクターは新しいOTPが要求されるたびに変化します。このムービングファクターの生成方法が、HOTPとTOTPの大きな違いとなっています。

HOTPとは何ですか?

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

HOTPが要求され、検証されるたびに、カウンターに基づいて変動要素がインクリメントされます。生成されたコードは、ユーザーが積極的に別のコードを要求し、それが認証サーバーによって検証されるまで有効です。コードが検証され、ユーザーがアクセス権を得るたびに、OTPジェネレータとサーバーは同期されます。 Yubiko社のYubikeyは、HOTPを採用したOTPジェネレータの一例です。

HOTPとは何か

TOTPとは何ですか?

時間ベースの一時パスワード(TOTP)は、時間に基づいて生成されるOTPです。TOTPのシードはHOTPと同様に固定されていますが、TOTPにおける変動要素はカウンターベースではなく、時間ベースとなっています。

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

TOTPとは何か

制限事項と利点

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

HOTPには時間に基づく制限がないため、ユーザーフレンドリーですが、ブルートフォース攻撃を受けやすくなる可能性があります。これは、HOTPが有効である期間が比較的長くなる可能性があるためです。 一部のHOTPでは、コードに時間ベースの要素を追加することでこの脆弱性に対処しており、その結果、これら2種類のOTPの境界線が多少曖昧になっています。

最後に

どの種類のOTPを使用する場合でも、認証アプリやキーフォブなどのOTPジェネレーターを選ぶことは、SMS(ショートメッセージ)を利用するオプションよりも、MFAをより安全に利用する方法です。 詐欺師たちは、SIMカード詐欺や、あなたのSMSにアクセスするためのその他のハッキング手法など、これらのSMSコードを傍受する巧妙な手段を編み出しています。SMSベースのMFAは、MFAを全く使用しないよりはましかもしれませんが、スマートフォンに認証アプリをインストールしたり、キーフォブ式のコード生成器を使用したりするよりも、はるかにセキュリティレベルが低くなります。

OneLoginを無料でお試しください

OneLoginのアイデンティティおよびアクセス管理(IAM)ソリューションを活用し、従業員の業務効率とスピードを向上させましょう。