ワンタイムパスワードとは?セキュリティが強化される3つの理由を解説

「どうして、パスワードを入れた後にまたパスワードを入れなければならないんだろう」
「ワンタイムパスワードって、本当に意味があるの?」
インターネットの普及が加速している近年、セキュリティの観点は避けては通れません。
2回もパスワードを入れるのは面倒だと思われるかもしれませんが、ワンタイムパスワードはセキュリティの強化に役立ちます。
本記事ではワンタイムパスワードについての情報をまとめました。
・そもそもワンタイムパスワードとはなにか
・ワンタイムパスワードを採用する3つの理由
・ワンタイムパスワードだけでは防げないサイバー攻撃
近頃のサイバー攻撃はますます巧妙化しています。
悪意のある攻撃者にパスワードに関する被害を受ける前に、ワンタイムパスワードの意味やサイバー攻撃についての知識を取り入れて対策しましょう。
ワンタイムパスワードとは?
ワンタイムパスワードとは、1度しか使うことのできないパスワードのことです。
利用するのは、自動生成された複数桁の数字がメインで、英文字や記号などを使用することはほとんどありません。
IDとともに使うパスワードとの違いは、1度だけしか使えない数字の羅列であることの他に、次のものがあります。
・毎回違うパスワードを入力する
・パスワードが使用できる有効期限があり、この時間を過ぎると無効になる
その時に、毎回違うパスワードを入力するようにすると、何かの拍子でワンタイムパスワードが漏れてしまっても使用できず、持っていても意味のないものとなります。
このような特徴から、ワンタイムパスワードはセキュリティの強化に適しているといえるのです。
ワンタイムパスワードでセキュリティが強化される3つの理由
本章では、ワンタイムパスワードがセキュリティの強化に有効な理由を3つご紹介します。
・有効期限があるため盗聴されても使えない
・1度使ったパスワードは盗聴されても使えない
・2段階認証・多要素認証と組み合わせられる
一度IDとパスワードを入れたのに、またパスワードを入力するのは面倒なことです。
しかし、パスワード攻撃からの対策としてワンタイムパスワードは有効なので、面倒でも利用するようにしましょう。
(1)有効期限があるため盗聴されても使えない
ワンタイムパスワードには有効期限があります。
その時間有効期限の長さはさまざまですが、30秒〜60秒ほど(メールの場合は10分程度)が一般的です。
つまり、第三者がパスワードを手に入れたとしても、すぐに有効期限が切れてしまうためサイトにアクセスする余裕がありません。
(2)1度使ったパスワードは盗聴されても使えない
ワンタイムパスワードは、1回しか使えない使い捨てのパスワードです。
使用した後は、ワンタイムパスワードはただの数字の羅列になります。
そのため、使用済みのワンタイムパスワードを盗聴されても、不正アクセスの心配はほぼないのです。
(3)2段階認証・多要素認証と組み合わせられる
ワンタイムパスワードは、そのもので使用する機会はほとんどありません。
大抵、通常のパスワードと組み合わせた「多要素認証」としてワンタイムパスワードを使用します。
これにより、たとえ通常のパスワードが漏えいしても、2回目の認証の際にワンタイムパスワードの入力が必要になるため、第三者のログインを防ぐことが可能です。
多要素認証には以下のようなものがあります。
多要素認証はいくつも組み合わせることができるので、通常のパスワードに2段階認証(知識情報)や多要素認証を併用すると、さらなるセキュリティ強化が可能です。
ワンタイムパスワード4つの受け取り方とその特徴
ワンタイムパスワードの受け取り方は様々です。
代表的なものは、次の4つです。
・メール・SMS
・電話番号
・スマホアプリ
・トークン
どのようにトークンを受け取るのか、それぞれの特徴とともに説明します。
(1)メール・SMS
ワンタイムパスワードの受け取り方法として、真っ先に思いつくのがメールやSMSではないでしょうか。
メールやSMSを使用したログイン方法は以下の通りです。
・IDとパスワードを入力してログインしようとすると、登録してあるメールや携帯電話のSMSにワンタイムパスワードが送信される
・ユーザーは、届いた情報をサイトのパスワード入力欄に打ち込む
・入力されたパスワードの照合ができると、サイトにログインが可能になる
メールやSMSは、携帯電話に標準搭載されている機能です。
そのため、ワンタイムパスワードのためにアプリをダウンロードすることもなく、誰でも利用しやすいという特徴があります。
しかし、メールやSMSには情報を盗聴されるリスクがあります。
さらに、SMSに関しては送受信する際に双方に通話料金がかかるのがネックです。
(2)電話番号
メールやSMSによる認証が上手くいかない、または使えないときによく利用されるのが、音声でパスワードを聞き、入力する方法ではないでしょうか。
音声によるワンタイムパスワードの認証方法は次のとおりです。
・IDやパスワードを入力してログインしようとすると、登録された電話番号を使って認証するか問われる
・「OK」とすると、電話(スマホ)に着信がありパスワードが伝えられる
・そのパスワードをサイトに入力することでログインが可能になる
この方法の最大のメリットは、自宅の電話からでもパスワードが受け取れる点です。
しかし、音声で通知されるためメモを残さなければならなかったり、聞き間違えてログインできなかったりするデメリットがあります。
(3)スマホアプリ
近頃多くなっているのが、スマホにアプリをダウンロードして、そこに表示されたパスワードを使用して認証する方法です。
スマホアプリを使用する際は、以下の方法でログインができます。
・IDとパスワードをサイトに登録すると、ワンタイムパスワードの入力を求められる
・アプリを立ち上げ、表示されている数字を入力する
・認証されるとログインできるようになる
スマホアプリを使用すると、SMSや通話のように都度のコストがかからずに済むのが魅力です。
しかし、スマホがないとワンタイムパスワードが受け取れない、そもそもアプリが上手く扱えないということも考えられます。
その場合は、他の方法で認証を試すようにしましょう。
(4)トークン
ワンタイムパスワードを生成するための専用機器をトークンといい、キーホルダーほどのサイズのものやカード型のものがあります。
液晶画面に常に数字が表示されていて、これは一定時間(30秒〜60秒ほど)で変わります。
トークンを使用したログイン方法は以下のとおりです。
・IDとパスワードを入力した後に、パスワードを入力する画面が現れる
・トークンに表示されている数字を入力する
・パスワードが照合されるとログインできる
この方法は、トークンにパスワードとなる数字が常時表示されているため、他の方法より操作が容易であるという特徴があります。
しかし、実際に手にできるトークンのため、紛失のリスクや電池切れで使いたいときに使えないというデメリットも考えられます。
ワンタイムパスワード4つの認証方式
ワンタイムパスワードには、4つの認証方式があります。
・タイムスタンプ方式
・チャレンジレスポンス方式
・カウンタ同期方式
・マトリクス認証方式
それぞれ詳しく理解する必要はありませんが、何となくでも仕組みがわかると、ワンタイムパスワードを求められても慌てずに対応できるようになります。
(1)タイムスタンプ方式:有効期限が短いパスワードを発行する
タイムスタンプ方式は、トークンに表示されている有効期限の短いパスワードを発行して認証する方式です。
トークンには、パスワードとなる数字が闇雲に表示されているわけではありません。
認証サーバーは、認証を求められた時刻を基準にパスワードとなる数字を設定し、それで照合できるようにユーザーに通知しているのです。
ユーザーはトークンに表示された数字を入力し、認証サーバーが時間と数字を照らし合わせることで、認証するかしないかを判断しているのです。
パスワードを入力中にトークンの数字が変わった場合は、入力していたパスワードは無効になるので注意しましょう。
(2)チャレンジレスポンス方式:ランダムな文字列から生成
チャレンジレスポンス方式は、簡単な問題を解くイメージを持つとわかりやすいでしょう。
ユーザーが認証リクエストを送信すると、認証サーバー側から基準となるランダムな数字が送られてきます。
ユーザーは、その数字と保有しているパスワードを組み合わせて規則に従って計算し、答えを認証サーバーに送ります。
サーバーはその結果と正解となる数字を照らし合わせて、合っていればログインを認めるのです。
この方式は、パスワードそのものを送信しないので盗聴されにくいメリットがありますが、演算などの専門的な知識が必要になるため、一般的とは言えません。
(3)カウンタ同期方式:トークンで生成する
カウンタ同期方式もトークンを活用します。
ただし、タイムスタンプ方式が「時刻」を基準としているのに対し、カウンタ同期方式は「パスワードを発行した回数」を元にしています。
どのようなことかというと、ユーザーがトークンのボタンを押すと、発行した回数がカウントされ、対応するパスワードが表示されます。
認証サーバーは、ユーザーが入力したパスワードとサーバー側で発行した回数に応じたパスワードを確認して、合っていれば認証する方式という方式です。
(4)マトリクス認証方式:表の1つを指定して要求する
マトリクス認証は、行動パターンを用いて認証を行います。
サイトにログインしようとIDとパスワードを入力すると、認証サーバー側からマトリクス表(乱数表)の数字を入力するように求められます。
ネットバンキングでは、「ご利用カード」に書かれている暗証番号がマトリクス表となる場合があります。
たとえば、『カードの右から3番目の数字を入力してください』という形式です。
その数字を数回入力し、サーバー側が認証することでサイトにログインできるようになります。
ワンタイムパスワードでも防げない3つのサイバー攻撃
ワンタイムパスワードを使用するとセキュリティの強化ができますが、それでも万全とは言えません。
ワンタイムパスワードでも防げないサイバー攻撃で、考えられるものは以下の3つです。
・フィッシングサイトの被害
・通信そのものの盗聴
・ウイルスによる盗聴
これらの攻撃がどのようなものか知り、今の対策でパスワードが守れるか確認しましょう。
(1)フィッシングサイトの被害
フィッシングサイトの被害とは、本物を装った偽のメールを送って偽サイトに誘導し、IDやパスワードを入力させることで情報を盗み出す手口です。
ワンタイムパスワードを利用していても、安全とは言えません。
なぜなら、偽サイトで入力したワンタイムパスワードが有効期限内であった場合、その情報を使って不正ログインができてしまうからです。
フィッシングサイトに誘導されないようにするためは、届いたメールが少しでも怪しいと思った際には、リンクを開かないことが重要です。
(2)通信そのものの盗聴
ワンタイムパスワードを利用していても、通信そのものが盗聴された場合に、ワンタイムパスワードも突破される可能性があります。
通信そのものが盗聴される事例として、「中間者攻撃」があります。
どのようなものかというと、ネットワークの間(脆弱性のある公衆LANなど)に忍び込み、サーバーとユーザーのやりとりを傍受しているというものです。
いくらセキュリティ対策をしていても、通信の間に攻撃者がいた場合、IDやパスワードなどの情報はもちろん、ワンタイムパスワードも筒抜けになってしまいます。
(3)ウイルスによる盗聴
ワンタイムパスワードでパスワードの保護に努めていても、PCがウイルスに感染するとその効果がなくなってしまいます。
たとえば、ウイルスの1つであるMITB(Man In The Browser)は、PCに入り込んでブラウザを監視し、通信内容を盗聴したり改ざんしたりします。
MITB攻撃も、中間者攻撃(ネットワークの間に入り込んで情報を盗み取る攻撃)の1つです。
近頃はサイト側もSSLによるサーバー認証などの対策を取っていますが、MITBはフィッシングとは違って正規のサイトにログインしているので、SSLは意味がありません。
その他にも、キーボードの入力履歴を不正に記録する「キーロガー」があります。
これらのウイルスによる感染を防ぐには、何よりもPCがウイルスに感染しないことが前提です。
セキュリティソフトの導入や定義ファイルの定期的な更新など、常にPCのOSやアプリケーションを最新のものにすることが重要になります。
まとめ
ワンタイムパスワードは、使用できる有効期限がある、1回限りの使い捨てのパスワードのことです。
ワンタイムパスワードにより、ログイン時の認証を強化できます。
しかし、ワンタイムパスワードを使用していてもセキュリティ対策は万全ではありません。
PCがウイルスに感染したり不用意にメールを開いたりして、不正ログインの被害に遭うケースもあります。
被害に遭わないためにも、セキュリティソフトの導入やPCのOSやアプリケーションは常に最新のものに更新し、怪しいと思うメールは開かないようにしましょう。

\今すぐ無駄をなくしませんか?/
メタップスクラウド編集部
「メタクラブログ」は、株式会社メタップスが運営する公式メディアです。当メディアでは、企業のセキュリティ対策や業務効率化に役立つコンテンツの情報を発信しております。