「ワンタイムパスワード」について ― 2015年07月06日
最近では、銀行でお金を振り込んだりするとき、銀行まで出向かなくても自宅で手続きできる「インターネットバンキング」というサービスが普及してきています。
その一方では、このインターネットサービスに不正に進入し、パスワードなどの重要な情報を盗み取って口座から引き落とす犯罪が増加していることがニュース等で報じられています。
これまでインターネットバンキングを利用する場合には、銀行から発行された“インターネットバンキングを利用するためのカード”を使い、銀行のコンピュータから要求された番号を“インターネットバンキングを利用するためのカード”に記載された乱数表から求めて入力することで、正しい顧客であることが認証されるようになっていました。
しかしながら最近になって、その“インターネットバンキングを利用するためのカード”の乱数表を盗み取るネット犯罪が増え、不正に預金を引き出されるという犯罪被害が多くなっているようです。
このため、銀行では新たなセキュリティシステムとして「ワンタイムパスワード」というものを開発し、従来のものから切り替えるよう推奨しています。
「ワンタイムパスワード」というセキュリティシステムは、簡単に言うと「乱数を発生させるための電子機器」を使う方法です。使い方としては、銀行から提供された電子機器を予め登録しておき、インターネットバンキングを利用する際に銀行のサーバーから要求されるパスワードをこの電子機器から得て入力し、正しい利用者であることが認証されるというものです。その利用イメージは次のようなものです。
その一方では、このインターネットサービスに不正に進入し、パスワードなどの重要な情報を盗み取って口座から引き落とす犯罪が増加していることがニュース等で報じられています。
これまでインターネットバンキングを利用する場合には、銀行から発行された“インターネットバンキングを利用するためのカード”を使い、銀行のコンピュータから要求された番号を“インターネットバンキングを利用するためのカード”に記載された乱数表から求めて入力することで、正しい顧客であることが認証されるようになっていました。
しかしながら最近になって、その“インターネットバンキングを利用するためのカード”の乱数表を盗み取るネット犯罪が増え、不正に預金を引き出されるという犯罪被害が多くなっているようです。
このため、銀行では新たなセキュリティシステムとして「ワンタイムパスワード」というものを開発し、従来のものから切り替えるよう推奨しています。
「ワンタイムパスワード」というセキュリティシステムは、簡単に言うと「乱数を発生させるための電子機器」を使う方法です。使い方としては、銀行から提供された電子機器を予め登録しておき、インターネットバンキングを利用する際に銀行のサーバーから要求されるパスワードをこの電子機器から得て入力し、正しい利用者であることが認証されるというものです。その利用イメージは次のようなものです。
※ このイメージ図は三菱東京UFJ銀行のホームページからの引用です。
電子機器から得られる数字は1回しか使えない(“ワンタイムパスワード”の由来)ので、インターネットバンキングを利用するたびに新たな数字を使うことになります。これだと電子機器が盗まれない限りパスワードが不正利用されることはないと考えられます。
ここで、技術屋としての疑問がふと湧いてきます。
電子機器から得られる数字を銀行のサーバーに送ったとき、銀行のサーバーは正しい利用者であるとなぜ判断できるのでしょうか。つまり、この電子機器(ワンタイムパスワード発生器)は通信機能を持っておらず単独で作動するので、銀行のサーバーと同期させることができません。そのような状態で電子機器から得られる数字が、銀行のサーバーが要求した数字と一致するという仕組みがよく分からないのです。
こういうときにはネットで関連情報を探すに限ります。ネット情報によると、次のような仕組みになっているようです。
ワンタイムパスワードを発生させる電子機器を使う場合、電子機器の情報を予め銀行のサーバーに登録することにより、電子機器ごとの数字発生メカニズムをサーバーに記憶させるのだそうです。電子機器の数字発生メカニズムとしては、時刻に基づいた数字が得られる関数を用いているのだそうです。(詳しくはこちらを参照してください)
「う~む、なるほど!」と理解したような気持ちになりますが、まだ疑問が残ります。時刻に基づいて関数によりパスワードが得られるにしても、その場合には時刻の同期がしっかりとれていることが前提となる筈です。
でも、一般的にはクォーツ時計であっても次第に時刻が狂ってきますし、その電子機器には電波時計のような同期機能がついているようには思えません。標準時に同期させずに何年も経ったら少なくても分単位で時刻が狂ってしまうと思われます。その場合でも電子機器から得られるワンタイムパスワードで正しく認証されるのでしょうか。謎です。
このメカニズムの詳しい情報を公開してしまうと、ワンタイムパスワード破りのハッカーを招く要因になるので、詳しい情報を公開していないのかもしれませんね。
【追加情報】
その後に以下のような情報が得られました。
* ワンタイムパスワードを発生させる電子機器(カード)を使っているうちに、正しくパスワードを
入力しているにもかかわらず、認証されない(エラーになる)ことがある。
* その場合には、時刻補正をするとエラーが解消する場合がある。
これで、すべて納得です。時刻のずれがある程度以上大きくなると、うまく認証できなくなるんですね。
電子機器から得られる数字は1回しか使えない(“ワンタイムパスワード”の由来)ので、インターネットバンキングを利用するたびに新たな数字を使うことになります。これだと電子機器が盗まれない限りパスワードが不正利用されることはないと考えられます。
ここで、技術屋としての疑問がふと湧いてきます。
電子機器から得られる数字を銀行のサーバーに送ったとき、銀行のサーバーは正しい利用者であるとなぜ判断できるのでしょうか。つまり、この電子機器(ワンタイムパスワード発生器)は通信機能を持っておらず単独で作動するので、銀行のサーバーと同期させることができません。そのような状態で電子機器から得られる数字が、銀行のサーバーが要求した数字と一致するという仕組みがよく分からないのです。
こういうときにはネットで関連情報を探すに限ります。ネット情報によると、次のような仕組みになっているようです。
ワンタイムパスワードを発生させる電子機器を使う場合、電子機器の情報を予め銀行のサーバーに登録することにより、電子機器ごとの数字発生メカニズムをサーバーに記憶させるのだそうです。電子機器の数字発生メカニズムとしては、時刻に基づいた数字が得られる関数を用いているのだそうです。(詳しくはこちらを参照してください)
「う~む、なるほど!」と理解したような気持ちになりますが、まだ疑問が残ります。時刻に基づいて関数によりパスワードが得られるにしても、その場合には時刻の同期がしっかりとれていることが前提となる筈です。
でも、一般的にはクォーツ時計であっても次第に時刻が狂ってきますし、その電子機器には電波時計のような同期機能がついているようには思えません。標準時に同期させずに何年も経ったら少なくても分単位で時刻が狂ってしまうと思われます。その場合でも電子機器から得られるワンタイムパスワードで正しく認証されるのでしょうか。謎です。
このメカニズムの詳しい情報を公開してしまうと、ワンタイムパスワード破りのハッカーを招く要因になるので、詳しい情報を公開していないのかもしれませんね。
【追加情報】
その後に以下のような情報が得られました。
* ワンタイムパスワードを発生させる電子機器(カード)を使っているうちに、正しくパスワードを
入力しているにもかかわらず、認証されない(エラーになる)ことがある。
* その場合には、時刻補正をするとエラーが解消する場合がある。
これで、すべて納得です。時刻のずれがある程度以上大きくなると、うまく認証できなくなるんですね。
コメント
トラックバック
このエントリのトラックバックURL: http://flugel-steinway.asablo.jp/blog/2015/07/06/7701463/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。
※投稿には管理者が設定した質問に答える必要があります。