ワンタイムパスワードの認証方式とは
ワンタイムパスワードは、二段階認証で利用されている一度きりの使い捨てパスワードです。二段階認証とはセキュリティ強化対策の一つであり、パスワードログインに加えてもう一段階セキュリティの設定を行う認証方法です。ネットバンキングや仮想通貨の取引、業務システムへのログインなど、強固なセキュリティが必要な場面で広く利用されています。
一言でワンタイムパスワードといっても、いくつかの認証方式があります。代表的なのは、「タイムスタンプ認証」「カウンタ同期認証」「チャレンジレスポンス認証」「マトリクス認証」の4つです。では、それらはどのような仕組みで、どのように認証の正否を見極めているのでしょうか。ワンタイムパスワードの認証方式について、具体的に見ていきましょう。
以下の記事では、ワンタイムパスワードのメリットについて詳しく解説しています。ワンタイムパスワードについて理解を深めたい方は参考にしてください。
ワンタイムパスワード認証の主な4つの認証とは
認証方式によって、ワンタイムパスワードの使用用途や特徴は異なります。それぞれの仕組みを知って、より安全なセキュリティ運用を実現しましょう。
認証方式(1)タイムスタンプ認証
タイムスタンプ認証では、使い捨てのパスワードを生成するトークンと呼ばれるハードウェアやソフトウェアを利用します。
トークンには、例えば6桁の数字が表示され、一定時間が経過するとその数字が切り替わります。タイムスタンプ方式では、トークンに表示された数字をユーザーが認証サーバへ送信します。認証サーバはその数字・時刻・ユーザーIDを照合し、情報が一致しているかを確認する仕組みです。
ユーザーIDとは、トークンごとに設定されている認識番号のことです。つまり認証サーバ側では、「利用者ごとにどのトークンを使っているか」「どの時刻に、どんな数字が表示されるか」を把握しているため、それらの情報が正しい場合に認証が可能になるのです。トークンで生成されるパスワードは一度きりの使い捨てのため、再度同じパスワードをほかの誰かが使ったとしても認証されません。これらの仕組みにより、高いセキュリティでログイン認証ができるのです。
なおタイムスタンプ方式は、時刻同期方式やタイムシンクロナス方式、TOTP(Time-basedOne-Time Password)方式とも呼ばれます。
認証方式(2)カウンタ同期認証
カウンタ同期認証の仕組みは、ユーザーがトークン上のボタンを押してパスワードを生成し、その回数(カウント)とその都度生成される数字(パスワード)によって認証を行うものです。
具体的には、ユーザーがトークン上のボタンを押すたびに、ワンタイムパスワードの数字が変わります。例えば、1回目は012345、2回目は123456、3回目は234567といったようにパスワードが生成されます。認証サーバは、回数ごとに生成されるパスワードを把握しているため、ユーザーがカウント数とパスワードを送信することで、認証が可能になる仕組みです。
タイムスタンプ認証との違いは、時刻を利用するか、ワンタイムパスワードの発行回数を利用するかの違いです。
認証方式(3)チャレンジレスポンス認証
チャレンジレスポンス方式は、認証サーバから送られてくる文字列(チャレンジ)に対し、正しい計算結果(レスポンス)を返すことで認証する方法です。
まずユーザーから承認サーバへ認証要求を送ります。要求を受けとった認証サーバは、チャレンジと呼ばれるランダムな数字を保存したうえで、ユーザーにチャレンジを返信します。
ユーザーは、事前に「パスフレーズ」と呼ばれるパスワードを設定しておき、そのパスフレーズと返信されたチャレンジの数字を使い、既定のプログラムにもとづいてワンタイムパスワードを生成します。そして認証サーバでも演算を行い、ユーザーから返信されたレスポンスと照らし合わせて、答えが正しければ認証が成立します。
レスポンスを生成するためのIT知識が必要なため、一般ユーザーには不向きな仕組みといえるでしょう。
認証方式(4)マトリクス認証
マトリクス認証は、近年、ネットバンキングで利用されるケースが多く見られます。マトリクス表と呼ばれるランダムな数字が書かれた表を用いて認証を行います。
例えば、ネットバンキングの利用開始時にマトリクス表が書かれたカードが配られます。本人認証の際には、ログイン画面でユーザーIDを送信すると、認証サーバからマトリックス表のマスの位置を指定されます。そのマスに書かれた数字を認証サーバに送ることで、認証が成立する仕組みです。
マトリクス表の数字はユーザーごとに異なるため、複数のユーザーに対してたとえ同じ位置のマスを指定したとしても、そこに書かれている数字は一人ひとり違うため、認証が可能になるのです。
以下の記事では、ワンタイムパスワード製品について詳しく解説しています。あわせてご覧ください。
ワンタイムパスワードの受信方法とは
ワンタイムパスワードの認証方式は主に4つあることを解説しましたが、活用ケースが多いのは「タイムスタンプ認証」方式です。そして、例で挙げたトークンを使う方法以外にも、スマートフォンアプリ・SMS(ショートメッセージサービス)・メール・電話を使って認証する方法があります。それらを利用する場合も、タイムスタンプ認証の仕組みは同じです。ただし、ユーザーではなく認証サーバ側がパスワードを発行します。
まずユーザーが、認証サーバへワンタイムパスワードをリクエストします。認証サーバは、その時刻のワンタイムパスワードを生成して、ユーザーへメール・SMSなどでパスワードを送信します。受け取ったワンタイムパスワードを使ってユーザーがログインを試みると、認証サーバは同じ時刻のパスワードとユーザーIDを照合して、認証の正否を判定する仕組みです。
ちなみに、リモートワークや柔軟な働き方が進む近年では、つねに携帯が必要なトークンよりも、スマートフォンを活用したアプリやSMSなどの受信方法を採用する企業が増えています。
ワンタイムパスワードの安全性
最後に、ワンタイムパスワードの安全性について解説します。ワンタイムパスワードを導入すればセキュリティ強度を高められるものの、それだけで安全性が担保されるわけではありません。その理由と対策について見ていきましょう。
ワンタイムパスワードだけで安全とはいい切れない
ワンタイムパスワードを利用しても不正アクセスを防げないケースがあります。以下のような場合に不正アクセスされる恐れがあります。
- ■トークンを紛失する
- ■メールやSMSで受信したワンタイムパスワードが盗み見られる
- ■ワンタイムパスワードを認証サーバに送信する過程で盗み見られる
トークンを第三者に盗られてしまった場合、ワンタイムパスワードを悪用される恐れがあります。また、トークンを利用せず、メールやSMSでワンタイムパスワードを受け取る場合は、ウイルスによってその内容が流出する可能性が考えられます。
さらに、通信が暗号化されていない場合、送信途中のパスワードが盗み見られる中間者攻撃の被害も忘れてはなりません。
ユーザー側のセキュリティ対策が必要
ワンタイムパスワードだからと油断せず、ユーザー側でも対策を施す必要があります。
トークンの管理を厳重に行うのはもちろんのこと、ログインに利用するスマートフォンやパソコンに信頼できるセキュリティソフトを導入しましょう。単に導入するだけでなく、定期的にスキャンを実施するなどセキュリティ管理に気を配ることが大切です。
また、メールでワンタイムパスワードを受信する場合は、信頼できるキャリアのメールアドレスを利用しましょう。フリーメールアドレスよりも、第三者に見られるリスクが低くなります。
以下の記事では、ワンタイムパスワードのデメリットについて解説しています。対策方法も紹介しているため、ワンタイムパスワードをより有効に使いたい方は参考にしてください。
ワンタイムパスワードによるセキュリティ対策
ワンタイムパスワードの4つの認証方式について紹介しました。そのなかでも、トークンやスマートフォンアプリなどを利用した「タイムスタンプ認証」が一般的です。
ワンタイムパスワードは、ログインに使ったパスワードを一度しか利用できず、時間が経つと自動的に新しいパスワードが発行されるため、不正なアクセスを防げます。企業の重要なシステムへの認証として利用できるため、セキュリティ強化対策としてワンタイムパスワードの導入を検討されてはいかがでしょうか。今回紹介した認証方式を参考に、自社に最適な製品を見つけてください。