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