よく利用される「記憶による認証」
まず「記憶による認証」はもっとも利用されている認証方法である。コンピュータのログイン時や、インターネットの接続時など、ユーザーIDとパスワードを入力し、その情報を検査することで本人かどうか確認する。
この方式の特徴は、パスワードが「ユーザー本人しか知り得ない情報」ということが本人確認の決め手となっている。通常、パスワードを一度設定すると、自分で変更するまで変わらないことから“固定パスワード”とも呼ばれる。たいへんシンプルな認証の仕組みで古くから使われているが、パスワードの管理がユーザーに委ねられているため、容易に推測可能なパスワードが用いられやすい。長い期間変更されない場合、メモや会話からパスワードが漏えいする可能性がある。またネットワーク上におけるユーザーIDとパスワードのやり取りの多くはクリアテキストのままやり取りされるので、通信データの盗聴によって盗まれる危険性もある。
このような固定式パスワードの欠点を解決するために考えだされたのが、「ワンタイムパスワード方式」である。ワンタイムパスワードは、ログインするたびにパスワードが変わる方式である。ワンタイムパスワード方式にはいくつかあるが、「トークン」と呼ばれるワンタイムパスワード発生器を使った方法を紹介しよう。この方法はユーザーがトークンを持ち歩くことから所持による認証に分類される。
所持による認証ワンタイムパスワード
写真1はジャパンネット銀行のトークンの実物である。液晶画面に表示されている6桁の数字がワンタイムパスワードである。ここに表示される数字は60秒ごとに新たなものに切り替わる。液晶画面の左側にインジケータがあり、パスワードが切り替わるタイミングを表示している。10秒ごとに黒い表示が減っていくので、入力途中で表示が変わるのが心配であれば、新しいパスワードに切り替わってから入力することができる。
それではこのトークンを使ったワンタイムパスワード認証の流れを見てみよう。
ワンタイムパスワードを利用するためには、準備としてまずはワンタイムパスワードの利用登録を行なう。このとき入力するのはトークンの裏側に刻印されているシリアル番号と、その時点で表示しているワンタイムパスワードである。
この登録手順の中で、トークンに表示されるワンタイムパスワードを認証サーバに登録するのには理由がある。実はトークンに表示されるワンタイムパスワードはトークンごとに表示する順番が決まっている。初めて入力されたワンタイムパスワードをきっかけに、認証サーバはそのあと60秒ごとに切り替わるワンタイムパスワードがどのような値になるか計算できるようになるのである。
さて次はワンタイムパスワードを利用する際の流れについて説明しよう。トークンを使ったワンタイムパスワード認証では、二要素認証といってあらかじめ登録している固定パスワードとトークンに表示されるワンタイムパスワードをつなげた「パスコード」を生成して認証に使う。認証サーバ側のデータベースにもユーザーの固定パスワードが登録されているので、認証サーバ側でも、ユーザーの固定パスワードとトークンに表示されているはずのワンタイムパスワードをつなげたパスコードを生成できる。
認証サーバは生成したパスコードと受信したパスコードを比較し、一致すれば認証OKとなる。
なぜ固定パスワードとワンタイムパスワードをつなげたパスコードを生成するのだろうか。それは、トークンが他者の手に渡ったとき、ワンタイムパスワードだけで認証していたのでは、簡単になりすましができてしまうからである。二要素認証にしておけば、万が一トークンを紛失したとしても、本人しか知り得ない固定パスワードがあることによって、他者のなりすましを防ぐことができるというわけである。

この連載の記事
-
第11回
TECH
今どきのウイルスに対抗する方法を教えてください -
第10回
TECH
指紋や顔型でユーザー認証をする理由とは? -
第9回
TECH
電子証明書がなぜ必要か知っていますか? -
第8回
TECH
ファイアウォールはどのように動くのですか? -
第7回
TECH
共通鍵暗号のメリットってなに? -
第6回
TECH
IP電話にはどのような危険がありますか? -
第5回
TECH
無線LANって本当に安全なの? -
第4回
TECH
SQLインジェクションやXSSって何されるの? -
第3回
TECH
Winnyは使ってはいけないのですか? -
第2回
TECH
不審なメールはなぜ開いてはいけない? - この連載の一覧へ