ワンタイムパスワードの仕組みとは
ワンタイムパスワードはどのような仕組みなのでしょうか。
ワンタイムパスワード=一度きりの使い捨てパスワード
通常のパスワードは、一度設定したら継続的に使い続けることになります。そのため、パスワードを管理する必要があり、流出した場合には悪用される恐れがあります。
一方、ワンタイムパスワードは一度きりの使い捨てパスワードです。ログインのたびに発行され、利用後は使えなくなるため、他人に知られても悪用される危険性が低いのが特徴です。
ワンタイムパスワードは二要素認証
ワンタイムパスワードは、2つの要素を用いて認証する二要素認証です。認証の要素は、以下の3つに分類されます。
- ■知識情報:本人のみが知っている情報(パスワード、ログインIDなど)
- ■所持情報:本人が所有するもの(ICカード、携帯電話、トークンなど)
- ■生体情報:本人の生物学的な特性(指紋、声紋、顔、虹彩、静脈など)
通常のパスワードは知識情報に該当します。一方、ワンタイムパスワードは所持情報に該当します。ワンタイムパスワードは本人の携帯電話やトークンと呼ばれる専用のデバイスに発行されるため、本人がそれらを所持している必要があるからです。
したがって、知識情報であるログインIDとともにワンタイムパスワードを利用することは、知識情報と所持情報の二要素で認証を行うことになります。知識情報だけで認証するより、強固なセキュリティを実現できるでしょう。
ワンタイムパスワードの生成方式
ワンタイムパスワードの生成方式は2種類に大別されます。
時刻同期方式
ワンタイムパスワードの生成方式の1つは時刻同期方式です。
タイムスタンプ方式やタイムシンクロナス方式、TOTP(Time-basedOne-Time Password)方式とも呼ばれます。ユーザーがトークンと呼ばれる小型のデバイスを携帯し、その機器に表示されるワンタイムパスワードを入力することで本人認証を行う方法です。
表示されるパスワードはユーザーと時間ごとに変化し、認証サーバ側は誰のトークンにいつどのような文字列が表示されるかを把握しています。一度表示された文字列は時間が経てば使えなくなるため、ワンタイムパスワードとして機能します。
このような仕組みであるため、トークンと認証サーバの時刻に誤差があると認証が成立しません。
チャレンジ・レスポンス方式
チャレンジ・レスポンス方式は、認証サーバ側から送られてくる文字列(チャレンジ)に対し、正しい計算結果(レスポンス)を返すことで認証する方法です。以下の流れで本人認証を行います。
- 1.ユーザーが認証サーバにチャレンジを要求する
- 2.チャレンジが送られてくる
- 3.あらかじめ共有した計算方法に従い、チャレンジを計算する
- 4. 算出した答え(レスポンス)を認証サーバに送信する
- 5.答えが正しければ本人認証が成立する
送られてくるチャレンジは毎回異なります。そのため、使い捨てのワンタイムパスワードとして機能します。
ワンタイムパスワード受信の仕組み
ワンタイムパスワードはどのようにして受信するのでしょうか。
トークンを使用する場合
トークンは、専用の小型デバイスを利用してパスワードを発行する方法です。カードや、USBメモリのようなスティック状のものなど、デバイスの形はさまざまです。
ボタンを押すなどの操作を加えることで、パスワードが表示されます。一般的に30秒から60秒程度でパスワードの有効期限が切れるため、発行後は早めに認証しなければなりません。
トークンのデバイスを所持していなければパスワードを知ることができないため、本人認証時には携帯する必要があります。また、デバイスを紛失した場合は第三者に悪用される恐れがあるため、速やかに無効化と再発行をしましょう。
スマートフォンアプリを使用する場合
トークンのデバイスをスマートフォンアプリで代用する方法があります。ユーザーは自分のスマートフォンに専用のアプリをダウンロードするだけでよいため、デバイスを持ち運ぶ必要がなくなります。デバイスを忘れたためにログインできないという事態が起こりにくい方法です。
ただし、スマートフォンを所有していないユーザーは当然この方法を利用できません。
メールで受信する場合
携帯電話やパソコンのメールで、ワンタイムパスワードを受信する方法もあります。ログインの際に、あらかじめ登録したメールアドレスにワンタイムパスワードが送信されます。
スマートフォンアプリのダウンロードや専用のデバイスの持ち運びが必要ないため、誰でも使いやすい方法といえるでしょう。
ただし、登録メールアドレスにフリーメールを利用した場合、第三者に盗み見られる可能性が高くなります。キャリアのメールアドレスなど、信頼できる受信先を指定しましょう。
電話で受信する場合
あらかじめ登録しておいた電話番号に電話がかかり、ワンタイムパスワードが伝えられる方法があります。この方法は音声でワンタイムパスワードが伝えられるため、録音やメモをしない限りは記録に残りません。情報が流出する危険性が低い方法といえます。
ただし、ワンタイムパスワードが長く記憶しづらい場合はメモを取る必要があります。
ワンタイムパスワードのメリット
ワンタイムパスワードにはどのようなメリットがあるのでしょうか。
不正アクセス防止
通常のパスワードによる本人認証は、そのパスワードを第三者に知られた場合、不正アクセスされる恐れがあります。また、ユーザー自身がパスワードを暗記しやすいように簡単な文字列に設定することも多く、第三者に推測されやすいという弱点もあります。
一方、ワンタイムパスワードは使い捨てであるため、使用後に第三者に知られても問題ありません。また、発行されるパスワードは意味のない文字列であるため、推測から特定される可能性も低いでしょう。
そのため、ワンタイムパスワードは不正アクセスを防止するうえで有効です。
パスワード管理負担の軽減
パスワード管理の負担は利用サービスが増えるごとに大きくなります。
負担を減らそうと同じパスワードを使い回す人も少なくありませんが、それではセキュリティが脆弱になるでしょう。また、同じサービスでもパスワードを定期的に変更することが推奨されるなど、パスワード管理の負担は無視できないほど大きくなっています。
さらに、パスワード管理の負担を強いられるのはユーザー本人だけではありません。企業では社員のパスワードをシステム担当者が管理する必要があり、パスワードが増えるたびに業務の負担も増大します。
ワンタイムパスワードであれば、その都度受け取ったパスワードを使い捨てるだけなので、管理の負担がありません。利用方法も複雑でないため、ユーザビリティとセキュリティを両立できる方法といえます。
低コストで導入・運用が可能
高度なセキュリティを導入しようとすると、コストをかける必要が生じます。たとえば、指紋や声紋による生体認証を利用したい場合、専用の高額な機器を導入しなければなりません。
一方、ワンタイムパスワードは比較的低コストで導入できる方法です。
ワンタイムパスワードサービスの多くはクラウド型で提供されるため、設備への投資があまり必要ありません。パスワードの受信にスマートフォンアプリやメールを利用する場合、新たにデバイスを準備する必要もないでしょう。
また、クラウド型ワンタイムパスワードはシステムの運用や管理をベンダーに任せられます。システム管理の人手が足りなくても導入しやすい方法といえます。
ワンタイムパスワードの安全性
ワンタイムパスワードさえ導入すれば完全に安全というわけではありません。その理由と対策について見ていきましょう。
ワンタイムパスワードだけで安全とは言い切れない
ワンタイムパスワードを利用しても不正アクセスを防げないケースがあります。以下のような場合に不正アクセスされる恐れがあります。
- ■トークンを紛失する
- ■メールやSMSで受信したワンタイムパスワードが盗み見られる
- ■ワンタイムパスワードを認証サーバに送信する過程で盗み見られる
トークンを第三者に盗られてしまった場合、ワンタイムパスワードが悪用される恐れがあります。また、トークンを利用せず、メールやSMSでワンタイムパスワードを受け取る場合は、ウイルスによってその内容が流出する可能性があります。
さらに、通信が暗号化されていない場合、送信途中のパスワードが盗み見られる中間者攻撃の被害も考えられます。
ユーザー側のセキュリティ対策が必要
ワンタイムパスワードだからと油断せず、ユーザー側でも対策を施す必要があります。
トークンの管理を厳重に行うのはもちろんのこと、ログインに利用するスマートフォンやパソコンに信頼できるセキュリティソフトを導入しましょう。単に導入するだけでなく、定期的にスキャンを実施するなどセキュリティ管理に気を配ることが大切です。
また、メールでワンタイムパスワードを受信する場合は、信頼できるキャリアのメールアドレスを利用しましょう。フリーメールアドレスより第三者に見られるリスクが低くなります。
ワンタイムパスワードの仕組みを理解して導入検討を!
ワンタイムパスワードの仕組みや生成方式、受信の仕組み、メリットや安全性について解説しました。
ワンタイムパスワードは従来のパスワードと違い、管理の負担が軽くセキュリティが強固なのが特徴です。これさえあれば完璧というわけではありませんが、有効な対策であることは間違いないでしょう。
ぜひ、ワンタイムパスワード導入を検討する参考にしてください。