ワンタイムパスワード(OTP)とは OTPのメリットと種類
ワンタイムパスワード(OTP)とは、使い切りのパスワードを指します。具体的には、1回のログイン試行またはトランザクションでユーザーを認証する文字列または数字列(トークン)です。OTPをシステムログインに導入し、ユーザー認証することで、不正アクセス対策などのセキュリティ強度をあげることができます。OTPのアルゴリズムは、時間ベースのデータや過去のログインイベントなどのコンテキスト情報を考慮して、ワンタイムパスワードごとに一意の値(トークン)を生成します。
一般的にテクニカルサポートチームは、アカウントまたはWebサイトのログイン資格情報を忘れたユーザー向けとして、または特定リソースが不審なアクセス試行に対して追加の保護を必要とする場合に、OTPを運用します。認証の第2レイヤーとしてOTPを追加することも可能です。この場合、認証されていないユーザーは、アカウントにアクセスする前にこのレイヤーを通過する必要があります。
ワンタイムパスワードでユーザーを認証する場合、企業は次の独立した3要素に留意する必要があります。
- 知識:ユーザーが知っていること(パスワード、PIN、セキュリティの質問への答えなど)。
- 所有:ユーザーが持っているもの(トークン、クレジットカード、電話など)。
- 生体:ユーザーを一意に識別するもの(指紋や行動データなど)。
セキュリティチームは、パスワードに加えて、トークンや電話通知といったユーザーがすでに持っている可能性が高いものを使用し、OTPのような所有要素を配布することがあります。
ワンタイムパスワード(OTP)のメリット
OTPとは何かを理解したところで、次にOTPを使用してビジネスの安全性を維持するメリットについて検討しましょう。
- 反射攻撃への対策:OTP認証には、静的なパスワードのみを使用する場合に比べて明確なメリットがあります。従来のパスワードは反射攻撃に対して脆弱です。反射攻撃では、ハッカーがデータの伝送(ユーザーによるパスワードの送信など)を傍受してデータを記録し、システムやアカウントへのアクセスに使用します。一方、OTPにはこの脆弱性がありません。ユーザーがOTPを使用してアカウントにアクセスすると、コードが無効になるので、攻撃者はコードを転用できません。
- 推測が困難:OTPは、多くの場合にランダム性を利用するアルゴリズムにより生成されます。したがって、攻撃者が推測して使用することが難しくなります。OTPには、短期間のみ有効なもの、以前のOTPに関する知識をユーザーに要求するもの、またはユーザーにチャレンジ(例:「2番目と5番目の数字を入力してください」)を提供するものがあります。これらの対策により、パスワードのみの認証と比較して、OTPは環境の攻撃対象領域がさらに削減されます。
- パスワードが侵害された場合のリスクを軽減:強力なセキュリティ対策をとっていないユーザーは、異なるアカウントで同じ資格情報を繰り返し使用する傾向があります。そのような資格情報が漏洩したり犯罪者の手に渡ったりすると、データの盗難や不正行為のリスクが発生し、あらゆる面でユーザーへの重大な脅威となります。OTPのセキュリティは、有効なログイン資格情報を攻撃者が取得した場合でも、アクセス違反を防ぐのに役立つというメリットがあります。
- 導入が容易:ワンタイムパスコードは、認証戦略への統合も簡単です。これらのコードには、人間にとって不可解で暗記しにくい性質があります。また、セキュリティチームにとっても、電話やトークンなどのテクノロジーは採用して従業員に配布しやすいものです。
OTPの種類
OTP認証はトークンにより実現され、以下のような種類があります。
ハードトークン
ハードトークン(ハードウェアと同じ意味での「ハード」)は、OTPを送信する物理デバイスであり、ユーザーがアカウントやその他のリソースにアクセスする上で役立ちます。ハードトークンには、大きく分けて以下のものがあります。
- 接続型トークン:ユーザーは、アクセス対象のシステムやデバイスに挿入されたこれらのトークンに接続します。スマートカードやUSBドライブは、それぞれデバイスのスマートカードリーダーとUSBポートに挿入されます。
- 非接続型トークン:多要素認証(MFA)で最も頻繁に使用されるトークンです。ユーザーはこれらのトークンを物理的に挿入する必要はありませんが、非接続型トークンは一般的にユーザーが入力するOTPを生成します。ポケットサイズのキーフォブ、キーレス入力システム、携帯電話、バンキング用セキュリティデバイスなどが実際に使用されています。
- 非接触型トークン:これらのトークンは、認証データをシステムに送信し、システムは情報を分析して、ユーザーがアクセス権を持っているかどうかを判断します。Bluetoothトークンは非接触型伝送の一例であり、物理的な接続や手動入力は必要ありません。
ソフトトークン
ソフトトークン(ソフトウェアと同じ意味での「ソフト」)は、私たちが所有する物理的なモノではなく、ノートPCや携帯電話のようなデバイス上のソフトウェアとして存在します。ソフトトークン認証は、通常はアプリの形態を取ります。アプリが送信したプッシュ通知やSMSメッセージに対して、ユーザーが応答したりアイデンティティを確認したりします。
これらの方法は、すべて同じ基本プロセスに従います。つまり、ユーザーは認証データをシステムに送信し、システムはその情報が正しいかどうかを検証し、正しい場合はユーザーにアクセスを許可します。考え方としてはパスワードの使用と同じですが、OTPを使用することで、認証データがユーザーやターゲットシステム以外に移動したり漏洩したりすることがありません。
最善の認証方法とは
すべての方法が同等に作られているわけではありません。いずれかのMFAを実装することで、パスワードのみを使用する場合よりもセキュリティを改善できますが、実現される保護レベルは認証要素ごとに異なります。そこで、脆弱性の回避に役立つ推奨事項をいくつか紹介します。
SMS認証:便利だが安全性が低い
SMSを通じたコミュニケーションが簡単であることは、日々の暮らしで誰もが理解しています。このため、多くの企業やサービスプロバイダーは、SMS OTPをアイデンティティ検証の第2形式として実装しています。
しかし残念ながら、SMS OTPは以下のような複数のタイプの攻撃に対して脆弱です。
- SIMスワップとハッキング:SIMカードは、接続先の通信事業者と接続先の電話番号をスマートフォンに通知します。SIMスワップ攻撃では、攻撃者は、ユーザーの番号を自分が所有しているSIMに切り替えるよう通信事業者を説得します。その結果、攻撃者はユーザーのアカウントに同期されたすべてのSMS OTPメッセージにアクセスできるようになります。
- アカウントの乗っ取り:多くのワイヤレスプロバイダーは、ユーザーがWebポータルでテキストメッセージを表示できるようにしています。Webポータルのオンラインアカウントに強度の低いパスワードや一般的なパスワードが使用されている場合、攻撃者はこのアカウントを侵害し、SMS OTPメッセージにアクセスできるようになります。
- デバイスの紛失と同期:理論的には、電話を失うことは、SMS OTPメッセージを受信できないことを意味します。しかし現在では、異なるデバイス間でメッセージを同期することが可能であるため、電話がなくともSMS OTPを介して認証し、アカウントにアクセスできます。このような機密情報を含むメッセージの転送(特に、推測可能なパスワードがメールに使用されている場合)は、強力なセキュリティプラクティスではありません。
- フィッシング:ソーシャルエンジニアリング攻撃で、攻撃者は信頼できるサービスの従業員になりすまして、アカウントの資格情報とSMS OTPを提供するようユーザーを騙します。フィッシング攻撃では、ハッカーがユーザーの感情や知識不足を悪用することで、パスワードと同じようにSMS OTPが漏洩する可能性があります。
リモートワークを導入する企業が増えるにつれて、従業員がモバイルデバイスを使用して業務アプリケーションにアクセスすることが増えています。これがセキュリティ対策に及ぼす影響については、Businesses @ Workレポートをご覧ください。
OTPセキュリティトークンのメリットとデメリット
RSA SecureIDのようなハードトークンは、SMSベースのOTPに比べると明確にセキュリティを強化します。ユーザーが所有する要素を使用することで、知識ベースの認証よりも攻撃のリスクが低くなります。さらに、Universal 2nd Factor(U2F)認証セキュリティキーなどのOTPデバイスが非対称暗号化アルゴリズムを使用して、OTPがトークンを離れることがないように保証するので、実質的に漏洩不可能になります。
しかし、ハードトークンの有形の性質は負の影響も及ぼします。ユーザーが持ち歩くデバイスが1つ増え、その紛失、破損、盗難の可能性が生じます。これにより、特に大規模な組織では、IT部門が維持することが困難になり、不正な手に渡ったときにセキュリティが損なわれる可能性があります。
さらに、デバイスと物理的に接続する必要があるトークンは、常にアクセス可能なものではありません。たとえば、U2FキーのようなUSBドライブは、USBポートを持たないモバイルデバイスを保護するための実用的なソリューションではありません。
強力な代替としてのオーセンティケーターアプリ
- Okta Verify、Authy、Google Authenticatorなどのモバイルオーセンティケーターは、OTPとプッシュ通知をユーザーのアプリに送信してユーザーのアイデンティティを検証します。認証アプリは、以下のような理由により、前述の方法よりも高い安全を提供します。
- モバイルOTPは、インターネットアクセス、ユーザーの場所、ワイヤレス通信事業者のセキュリティに依存しません。OTPとプッシュ通知は、番号ではなくデバイスに関連付けられており、通常はネットワークサービスやデータなしで機能します。
- モバイルOTPは一般的に、多くのオーセンティケーターアプリに組み込まれている無料の機能です。つまり、企業も個人も簡単に使用できます。
- プッシュ通知とモバイルOTPコードは短期間で期限切れになり、SMS OTPと比較して侵害のリスクが軽減されます。
- オーセンティケーターアプリの中には、顔や指紋などの生体認証をサポートするものもあります。これにより、スマートフォンが盗まれた場合でも、ユーザー本人以外がデバイスへのプッシュ通知を受け入れることができないため、一層強力な保護が実現されます。
WebAuthnにより、さらに多くのデバイスを保護
WebAuthnは、ブラウザベースのAPIであり、登録済みデバイス(デスクトップやモバイル)を認証要素として使用します。デバイスに組み込まれた生体認証システム(たとえば、Windows Hello、Androidのフィンガープリント、iOSのTouch ID)はすべて、Yubikey 5Ciなどのポータブルデバイスと同様に、WebAuthnに対応します。
WebAuthnには、以下のような独自のメリットがあります。
- 公開鍵暗号により、フィッシング攻撃からユーザーを効果的に保護します。
- ユーザーのデバイスと生体認証に統合することで、迅速かつ容易なログインエクスペリエンスを実現します。
- Google Chrome、Microsoft Edge、Firefoxはいずれも、生体認証デバイスとのペアリングにより、WebAuthnに対応し、使用を可能にしています。
結論としては、モバイルオーセンティケーターとWebAuthnを実装し、他のOTPメソッドをバックアップとして使用することが推奨されます。
もっと詳しく知る
アカウントを安全に保つ認証オプションは多様です。オプションの比較については、認証保証データシートをご覧ください。