ワンタイムパスワードとは、認証時に使用するパスワードの種類のひとつであり、1回限り有効なパスワードのことです。一度使用すると値が変わるため、使い捨てのパスワードとも言い換えられます。
この記事では、ワンタイムパスワードのメリットや仕組み、活用事例などをご紹介いたします。
ワンタイムパスワードとは
ワンタイムパスワードとは、認証時に使用するパスワードの種類のひとつであり、1回限り有効なパスワードのことです。一度使用すると値が変わるため、使い捨てのパスワードとも言い換えられます。
一度でも使用されたワンタイムパスワードはすぐに無効化されるため、不正利用を防ぐために有効な安全性の高いパスワードです。パスワードの窃取や漏えいによる不正利用が増加する中、ワンタイムパスワードによる不正利用防止は効果的な手段の一つとしてオンラインバンキングやオンラインショッピング、メールアカウントなど、高い情報セキュリティが求められるシーンでの認証に活用されています。
認証とは
認証とは利用するサービスに対して自身が利用者本人であることを証明するための手続きです。サービス側へIDとパスワードを提供することで利用者が本人であることをサービス側は認識します。
パスワードの危険性
同じパスワードを使いまわしたり、覚えやすい簡易的なパスワードを利用したりすると、パスワード攻撃による不正ログインの被害にあう可能性が高まります。 事実、パスワードへの攻撃の多くは、使用するユーザーIDとパスワードが固定されていることが前提で行われます。言い換えると、パスワードが毎回異なるワンタイムパスワードであれば、こういった攻撃を防ぐことが可能です。
近年では、サイバー攻撃の本来の対象となる企業は直接攻撃せずに、その取引先や関係する個人が狙われる事件が多発しています。「自分のパソコンには大した情報が入っていないから関係ない」と油断していると、取引先や関係者に大損害を与えるような取り返しのつかない事態に発展することが起き始めているのです。
パスワードへの攻撃方法
パスワードへの攻撃方法は次のようなものが挙げられます。
類推攻撃
ユーザーの環境や情報から類推したパスワードを試していく方法です。 例えば、ユーザー自身や家族の誕生日、飼っているペットの名前、自身や会社の電話番号、住所、車のナンバープレートなどの情報からパスワードを類推して入力していきます。 近年はSNSに掲載された情報が用いられる場合もあります。
リスト型攻撃
サービス事業者から漏えいしてしまったID・パスワード情報は、ネットワーク上に出回っています。 このパスワードリストを使用し、サービスへのログインを試みる方法です。ユーザーは、複数のサービスで同じID・パスワードを使い回す傾向にあるため、他の攻撃よりも成功率が高いという現実があります。従業員が、プライベートで利用しているパスワードを会社のシステムでも利用していると、この攻撃の被害に遭うことが懸念されます。
辞書攻撃
パスワードには、辞書に掲載されている単語が使われている傾向があります。 また、キーボード配列を利用した文字列(「qwerty」や「qazwsx」)、使われやすい単語の文字の一部を似た文字に置き換えた文字列(「pa55w0rd」など)など、パスワードに使われやすい文字列があります。 このようなパスワードに使われやすい単語や文字列のリストを使用する方法です。
総当たり攻撃(ブルートフォース攻撃)
すべての文字を組み合わせて、すべてのパターンのパスワードをひとつずつ総当たりで入力し、強引に正解のパスワードを割り出す方法です。 非常に多くの組み合わせがあるため、効率の悪い方法ですが、認証失敗回数制限によりIDを凍結(アカウントロック)しないと、いくらでも試せるため、いつかは不正ログインされてしまう可能性があります。
リバースブルートフォース攻撃
総当たり攻撃が、IDを固定しパスワードを総当たりで入力していくのに対し、パスワードを固定し、IDを総当たりで入力していく方法です。アカウントロックから逃れられるため、いつかはログイン可能なIDが割り出されてしまう可能性があります。固定するパスワードには「password」など使われやすいパスワードが用いられます。
パスワードスプレー攻撃
総当たり攻撃の一種ですが、「アカウントロックがかからない範囲で実行」や「機械的に連続試行しない」など、監視から怪しまれないように時間をかけて総当たり攻撃をする方法です。時間はかかるものの、監視の目を掻いくぐり、継続的に攻撃し続けることが可能です。特定のサービスにこだわらず、複数のサービスを同時に攻撃対象とすることで成功率を上げています。
ワンタイムパスワードのメリット
上述の通り、多くのパスワードへの攻撃はパスワードが固定されている前提で行われます。すなわち、パスワードが毎回異なるワンタイムパスワードはこういった攻撃を防ぐことに有効です。 また、通常のパスワードの場合、ユーザー数が増えるほど管理が必要となるID・パスワードも増えますが、ワンタイムパスワードであればそのような手間を軽減し、管理者やユーザーの負担を減らすことが可能です。 毎回異なるパスワードを使用するため、定期的に行っていたパスワード変更の必要もなくなります。
ワンタイムパスワードの発行方法
ワンタイムパスワードを発行する方法として、「トークン」「マトリックス方式」「SMS」「電話」などがあります。
トークンとは
トークンとはワンタイムパスワードを表示するツールです。 キーホルダータイプやカードタイプの専用機器にパスワードを表示するハードウェアトークン、スマートフォンに専用アプリをダウンロードしてパスワードを表示するソフトウェアトークンが一般的です。 逆にトークンを使わずブラウザだけでパスワードを表示することをデバイスレスといいます。 これらの方式には、メリットとデメリットがあります。
ハードウェアトークン
ワンタイムパスワードを生成する専用の機器(ハードウェア)のことで、カードタイプやキーホルダータイプなどがあります。 ハードウェアトークンの液晶画面にワンタイムパスワードを表示します。液晶画面は常時表示されているタイプと、使用時にスイッチをいれて表示させるタイプの製品があります。 表示されるワンタイムパスワードは一定の間隔で再生成されます。
メリットはユーザー操作の分かりやすさです。デメリットは持っていないとログインができないため、どこに行くにもユーザーが持ち歩かなければならないこと、盗難紛失のリスクがあることです。また、トークンの購入や配布、電池期限や故障対応などの管理コストがかかります。
ソフトウェアトークン
ワンタイムパスワードを表示するためのソフトウェアタイプのトークンです。iOSやAndroidの専用アプリをインストールし、アプリ上でワンタイムパスワードを表示します。ハードウェアトークンと同様に一定の間隔でワンタイムパスワードが再生成されます。
メリットは手持ちのスマートフォンをそのまま利用できるため、追加コストを掛けずに利用できることです。
マトリックス方式
スマートフォンなどの機器を使わず、ブラウザにワンタイムパスワードを表示する方法です。ブラウザ上にはユーザーだけが解読できる暗号表などを提示します。例えばパスロジ製品のPassLogicでは乱数表が表示され、事前に決めておいたパターンに沿ってパスワードを読み取ります。乱数表がログインのたびに変わるので、毎回入力するパスワードが変わるワンタイムパスワードとなります。
ブラウザだけで成立するため、認証用のスマートフォンやハードウェアトークンなどの機器を持ち歩く必要がなく、調達や配布の導入・管理コストもかかりません。
PassLogic(パスロジック)では、このマトリックス方式を、専用の機器(デバイス)が必要ないことから「デバイスレス・ワンタイムパスワード」と呼んでいます。
SMS
ユーザー宛にSMSやメールでワンタイムパスワードを通知する方法です。メリットは標準アプリだけで利用できることです。一方、SMSについては認証のたびに通信コストが発生します。また、SMS認証が傍受される大規模な事件が起こるなど、安全性に関して懸念されます。(米国立標準技術研究所(NIST)は、SMSでシークレットコードを送ることを禁止しています)
音声
ユーザー宛に直接音声電話によってワンタイムパスワードを通知する方法です。 メリットは電話が使えれば始められるという導入のしやすさです。デメリットは通話コストの他、受電しながらワンタイムパスワードを入力しにくい点です。
ワンタイムパスワードの仕組みについて
ワンタイムパスワード認証の仕組みは次の3種類があります。
チャレンジレスポンス認証方式
「チャレンジ」と呼ばれるランダムな文字列を基に、ワンタイムパスワード(「レスポンス」)を生成する方式です。 チャレンジレスポンス認証方式では、ユーザーがサーバーに対しアクセスを要求すると、サーバーはチャレンジを生成しユーザーに返します。ユーザーは指定された計算式を使いレスポンスを生成してサーバーへ送り返します。サーバーはユーザーから送られたレスポンスと、サーバー自身が計算したパスワードを照合し、一致していれば認証が成功となります。
時刻同期方式
認証時の時刻を基に、トークンでワンタイムパスワードを生成する方式です。 最近では、ハードウェアではなくスマートフォンのアプリなどでトークンの代わりにするケースも増えています。時刻同期方式は、タイムスタンプ方式、タイムシンクロナス方式、TOTP(Time-basedOne-Time Password)方式などと呼ばれることがあります。
ユーザーが手元のトークンのボタンを押すと、その時刻において有効なワンタイムパスワードが表示されます。 ユーザーがワンタイムパスワードを入力すると、サーバーが照合を行い、正しければ認証されます。
カウンタ同期方式
発行回数を基に、トークンでワンタイムパスワードを生成する方式です。
手元のトークンボタンを押すと、その発行回数において有効なワンタイムパスワードが表示されます。ユーザーがワンタイムパスワードを入力すると、サーバーが照合を行い、正しければ認証されます。 時刻同期方式(タイムスタンプ方式)との違いは、時刻を利用するのではなく発行回数を利用する点です。
ワンタイムパスワードの活用シーン
ワンタイムパスワードは、厳格な情報セキュリティが求められるシーンで活用されています。
以下で、その具体的な例をご紹介いたします。
オンラインバンキング
オンライン上で、残高確認や送金、個人情報の変更などが行えるオンラインバンキングは、銀行の営業時間外であっても自宅などから各種手続きが行える便利なサービスです。
ただ、金銭のやり取りが発生するため、高いセキュリティが求められます。
そこで、ワンタイムパスワードが活用されています。ログイン時や、重要な取引を承認する際には、ワンタイムパスワードの入力を求めることで、不正アクセスや詐欺行為を防止しています。
オンラインショッピング
コロナ禍でさらに普及が進んだオンラインショッピングでも、クレジットカード情報や個人情報といった機微な情報を扱うことから、高いセキュリティ対策が必要です。
クレジットカード情報の入力時や、支払いを確定する際などにワンタイムパスワードを活用した認証をかけることで、不正利用やクレジットカード情報の窃取を防止しています。
Webメール
Webメールにも個人情報が登録されており、機密情報などがやり取りされる可能性があります。また、ほかのWebサービスなどの認証コードが送信されるツールであることから、高いセキュリティが求められます。
Webメールへの不正アクセスを防止するため、ログイン時やパスワードのリセット時にワンタイムパスワードが活用されています。
クラウドサービス
SaaSを始めとするクラウドサービスは、業務での利用も浸透しており、クラウドサービスのデータベース上には機密情報や顧客の個人情報などの機微な情報が含まれます。
ログイン時や、ファイルの共有、ダウンロード時などにワンタイムパスワードを使用することで、データの保護を強化しています。
VPN
テレワークが普及しつつある現在、企業などのネットワークへ安全にアクセスするためにVPN(Virtual private network/仮想プライベートネットワーク)が利用されています。
VPNへの不正アクセスを許してしまえば、顧客情報、従業員の個人情報、アカウント情報といった、社内ネットワーク上のさまざまな機密情報へアクセスされてしまう恐れがあります。
このため、従業員がリモート先から安全にネットワークに接続するために、ワンタイムパスワードを利用して不正アクセスを防止します。
SNS
スマートフォンの広がりとともに浸透したSNSは、いまや個人の情報収集・情報交換の場としてだけでなく、ビジネスチャンスをも生み出すバーチャル空間となっています。
詳細な個人情報を含むSNSでもワンタイムパスワードが活用されています。アカウントの乗っ取りや不正利用を防止するため、ログイン時やアカウント情報の変更、機種変更時の引き継ぎ手続きなどの際にワンタイムパスワードの入力が求められます。
安全だけど面倒なワンタイムパスワードを簡単に「PassLogic」
多要素認証プラットフォームの「PassLogic」では、マトリックス方式のワンタイムパスワードが利用できます。トークンやSMSを必要とせず、従来の面倒なワンタイムパスワードの認証手続きを簡素化し、安全性を保ったまま利用の手軽さを実現しました。
詳細情報をご希望の方は、資料ダウンロードまたはお問い合わせください。