このページの本文へ

前へ 1 2 次へ

セキュリティの素朴な疑問を解く 第10回

Q&A形式でセキュリティの基礎を学ぼう

ユーザー認証でなにができるのですか?

2009年07月22日 08時00分更新

文● 遠藤 哲

  • この記事をはてなブックマークに追加
  • 本文印刷

よく利用される「記憶による認証」

 まず「記憶による認証」はもっとも利用されている認証方法である。コンピュータのログイン時や、インターネットの接続時など、ユーザーIDとパスワードを入力し、その情報を検査することで本人かどうか確認する。

 この方式の特徴は、パスワードが「ユーザー本人しか知り得ない情報」ということが本人確認の決め手となっている。通常、パスワードを一度設定すると、自分で変更するまで変わらないことから“固定パスワード”とも呼ばれる。たいへんシンプルな認証の仕組みで古くから使われているが、パスワードの管理がユーザーに委ねられているため、容易に推測可能なパスワードが用いられやすい。長い期間変更されない場合、メモや会話からパスワードが漏えいする可能性がある。またネットワーク上におけるユーザーIDとパスワードのやり取りの多くはクリアテキストのままやり取りされるので、通信データの盗聴によって盗まれる危険性もある。

 このような固定式パスワードの欠点を解決するために考えだされたのが、「ワンタイムパスワード方式」である。ワンタイムパスワードは、ログインするたびにパスワードが変わる方式である。ワンタイムパスワード方式にはいくつかあるが、「トークン」と呼ばれるワンタイムパスワード発生器を使った方法を紹介しよう。この方法はユーザーがトークンを持ち歩くことから所持による認証に分類される。

所持による認証ワンタイムパスワード

 写真1はジャパンネット銀行のトークンの実物である。液晶画面に表示されている6桁の数字がワンタイムパスワードである。ここに表示される数字は60秒ごとに新たなものに切り替わる。液晶画面の左側にインジケータがあり、パスワードが切り替わるタイミングを表示している。10秒ごとに黒い表示が減っていくので、入力途中で表示が変わるのが心配であれば、新しいパスワードに切り替わってから入力することができる。

写真1 銀行で使われるユーザー認証用のトークン

 それではこのトークンを使ったワンタイムパスワード認証の流れを見てみよう。

 ワンタイムパスワードを利用するためには、準備としてまずはワンタイムパスワードの利用登録を行なう。このとき入力するのはトークンの裏側に刻印されているシリアル番号と、その時点で表示しているワンタイムパスワードである。

 この登録手順の中で、トークンに表示されるワンタイムパスワードを認証サーバに登録するのには理由がある。実はトークンに表示されるワンタイムパスワードはトークンごとに表示する順番が決まっている。初めて入力されたワンタイムパスワードをきっかけに、認証サーバはそのあと60秒ごとに切り替わるワンタイムパスワードがどのような値になるか計算できるようになるのである。

 さて次はワンタイムパスワードを利用する際の流れについて説明しよう。トークンを使ったワンタイムパスワード認証では、二要素認証といってあらかじめ登録している固定パスワードとトークンに表示されるワンタイムパスワードをつなげた「パスコード」を生成して認証に使う。認証サーバ側のデータベースにもユーザーの固定パスワードが登録されているので、認証サーバ側でも、ユーザーの固定パスワードとトークンに表示されているはずのワンタイムパスワードをつなげたパスコードを生成できる。

 認証サーバは生成したパスコードと受信したパスコードを比較し、一致すれば認証OKとなる。

図2 ワンタイムパスワードの仕組み

 なぜ固定パスワードとワンタイムパスワードをつなげたパスコードを生成するのだろうか。それは、トークンが他者の手に渡ったとき、ワンタイムパスワードだけで認証していたのでは、簡単になりすましができてしまうからである。二要素認証にしておけば、万が一トークンを紛失したとしても、本人しか知り得ない固定パスワードがあることによって、他者のなりすましを防ぐことができるというわけである。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード