トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 ワンタイムパスワード認証システム
【発明者】 【氏名】近藤 毅

【要約】 【課題】JAVA搭載携帯携帯電話によるワンタイムパスワードの表示を実現する。

【解決手段】ユーザからのワンタイムパスワード表示プログラム作成依頼に基づきJAVA携帯電話端末の画面上へ当該ユーザ用のワンタイムパスワードを表示するためのJAVAプログラムを作成する手段と、JAVAプログラムの送付手段より受け取った前記JAVAプログラムを一定期間保管し、ユーザ携帯電話からのダウンロード要求に応じてユーザを確定して該当のJAVAプログラムをその携帯電話へ送付するJAVAプログラムダウンロード用サーバと、ユーザからの前記プログラム作成依頼の後、該当のJAVAプログラムがダウンロード可能になったことをこのユーザに通知する手段と、ワンタイムパスワードのマスタ管理装置とネゴシエーションすることでJAVA携帯電話上のワンタイムパスワード表示プログラムを初期化する手段とを備えたワンタイムパスワード認証システムとした。
【特許請求の範囲】
【請求項1】 ユーザがプログラムダウンローダブルな携帯電話に表示されるワンタイムパスワードを参照し、前記パスワードをコンピュータシステムへのアクセスパスワードとして使用し、パスワードチェックサーバがユーザが入力したワンタイムパスワードの正統性を検査するワンタイムパスワード認証システムにおいて、ユーザからの依頼に基づき、プログラムダウンローダブルな携帯電話上で動作し、seed情報とユーザIDからワンタイムパスワードを表示するプログラムの実行オブジェクトを作成する手段と、前記作成手段が作成した実行オブジェクトをプログラムダウンローダブルな携帯電話にダウンロードする手段と、前記ダウンロード手段に前記実行オブジェクトを送付する手段と、前記ダウンロード手段によって前記実行オブジェクトのダウンロードが可能になったことと、当該実行オブジェクトのダウンロードに必要な情報をユーザに通知する手段と、前記実行オブジェクトをダウンロードした後、前記パスワードチェックサーバと情報交換することによりその初期化を行う手段を備えたことを特徴とするワンタイムパスワード認証システム。
【請求項2】 請求項1において、前記ダウンロード手段は、プログラムダウンローダブルな携帯電話からのダウンロード要求に答え、ワンタイムパスワード表示プログラムの実行オブジェクトを送信する期間を管理する手段を備えたことを特徴とするワンタイムパスワード認証システム。
【請求項3】 請求項1において、前記初期化手段は、パスワードチェックサーバと時刻同期する手段を備えたことを特徴とするワンタイムパスワード認証システム。
【請求項4】 請求項1において、前記パスワードチェックサーバは、パスワードチェックサーバが特定seedから始まるランダム系列のスタート値からの現在の位置を前記ワンタイムパスワード表示プログラムに通知する手段を備えたことを特徴とするワンタイムパスワード認証システム。
【請求項5】 請求項1または請求項3において、前記初期化手段は、パスワードチェックサーバとワンタイムパスワード表示プログラムとが同期開始時刻をネゴシエーションする手段を備えたことを特徴とするワンタイムパスワード認証システム。
【請求項6】 請求項1において、前記初期化手段は、パスワードチェックサーバからseed情報が通知され、通知されたseed情報に従ってワンタイムパスワード表示プログラムが動作する手段を備えたことを特徴としたワンタイムパスワード認証システム。
【請求項7】 請求項1において、前記ユーザへの情報通知手段は、インストール用URLを伝える手段と、前記URLのユーザ指定によりダウンロードが開始される手段とを備えたことを特徴とするワンタイムパスワード認証システム。
【請求項8】 請求項7において、前記URL通知手段は、当該URLにseed情報を含める機能を有することを特徴とするワンタイムパスワード認証システム。
【請求項9】 請求項1〜請求項8のいずれかにおいて前記ダウンロード手段は、パスワードチェックサーバとワンタイムパスワード表示プログラムとの通信を仲介する手段を備えたことを特徴とするワンタイムパスワード認証システム。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、プログラムダウンロード機能を備えた携帯電話を用いたワンタイムパスワード認証システムに関し、特に、携帯電話にワンタイムパスワードを表示するプログラムインストールおよびその実行方法に関する。
【0002】
【従来の技術】コンピュータのリモートアクセスのシステムにおいて、ログインでの不正アクセス防止のため、時刻と共に変化するテンポラリなパスワード(ワンタイムパスワードという)でアクセスチェックを行うワンタイムパスワードシステムがある。PC上でワンタイムパスワードを表示するプログラムでは、SoftTokenプログラムが知られている。また、特開2000-10927「認証システム及び認証装置」では簡易型携帯電話端末を利用したワンタイムパスワードの問い合わせシステムが開示されている。また、携帯端末へのプログラムダウンロード技術しては、ネットワーク対応プログラム言語JAVA(登録商標)がよく知られている。
【0003】
【発明が解決しようとする課題】モバイルPCと呼ばれるサブノートPC等の小型・軽量化したPCにワンタイムパスワードプログラムをインストールした後、そのプログラムを実行することでオフライン動作可能で携帯可能なワンタイムパスワード表示装置が実現できるが、このようなモバイルPCでは端末コストが高く、かつ、端末自体も重く、かつ、バッテリでの動作時間も短いため、携帯性が悪い。また、ワンタイムパスワードロジックを組み込んだカードでは、電池や内部記憶容量の制限のため使用耐久年数が短い(2から5年)。また、PHS端末によりオンラインで現在のワンタイムパスワードを問い合わせる方式では、電波環境の悪い場所では使用できない。
【0004】本発明の目的は、携帯性に優れ、かつ、使用耐用年数の長期化が可能、かつ、オフライン動作可能なJAVA搭載携帯携帯電話によるワンタイムパスワード表示システムを提供することにある。即ち、JAVA搭載携帯電話機上で動作するワンタイムパスワード表示プログラムを作成し、それをJAVA搭載携帯電話にダウンロードし、そのダウンロードされたプログラムを初期化し、その初期化後JAVA搭載携帯電話上にオフラインでワンタイムパスワードを表示するシステムを提供することにある。
【0005】
【課題を解決するための手段】上記目的を達成するために、本発明は、シード情報とユーザ情報をアサインすることで、当該ユーザのワンタイムパスワードを管理する手段と、アサインしたユーザ情報とシード情報に基づきJAVA携帯電話上で実行可能なワンタイムパスワード表示プログラムを作成する手段と、JAVA携帯電話上で実行可能なワンタイムパスワード表示プログラムを保管すると共に、その有効期間を管理し、有効期間内のJAVA携帯電話からの要求に従って、当該JAVA携帯電話上で実行可能なワンタイムパスワード表示プログラムをダウンロードさせる手段と、ユーザに対してワンタイムパスワード表示プログラムがダウンロード可能になったことと、そのダウンロード方法を通知する手段と、JAVA携帯電話上へワンタイムパスワード表示プログラムをローディングし、当該JAVA携帯電話にインストールし、初期化処理後、当該プログラムを実行させる手段と、JAVA携帯電話上のワンタイムパスワード表示時プログラムの初期化処理として、当該ユーザのワンタイムパスワードの管理手段とネゴシエーションすることで現在の有効なワンタイムパスワードを一致させる手段と、現在の有効なワンタイムパスワードをJAVA携帯電話の画面上に表示する手段とを備えたワンタイムパスワード認証システムとした。
【0006】
【発明の実施の形態】本発明の実施の形態について説明する。図1は、本発明のJAVA携帯電話によるワンタイムパスワード認証システムの構成図である。本システムは、企業内LAN100で相互接続されたプログラムダウンロードサーバ10とセキュアサーバ20と業務サーバ30で構成された企業内システムと、JAVA携帯電話60とクライアント計算機70から構成されるリモートシステムと、企業システムとリモートシステムを接続する携帯電話網90と、インターネット80と、ネットワークの中継装置であるFW(ファイアウォール)40と、GW(ゲートウェイ)50とから構成されている。クライアント計算機70は、インターネット80と接続し、規定アドレス以外の計算機からの不正アクセスを防止するFW40を介して業務サーバ30と接続し、各種業務アプリケーションを実行する。クライアント計算機70は、業務サーバ30へのログイン時にユーザIDとワンタイムパスワードを業務サーバ30に送付する。業務サーバ30は、セキュアサーバ20のOTP(OneTime Password)認証サービス22に問い合わせを行い、当該ユーザユーザIDに対するワンタイムパスワードを取得し、クライアント計算機70から送付されたワンタイムパスワードを比較し、一致すればアクセスを許可する。JAVA携帯電話60には、OTPプログラム61がインストールされ、その実行により、業務サーバ30に対するワンタイムパスワードが表示されている。
【0007】ユーザは、JAVA携帯電話60上に表示されたワンタイムパスワードを見て、業務サーバ30にアクセスする。このようにして他の不正ユーザからのアクセスチェックを行っている。このワンタイムパスワードは、OTPプログラム61とOTP認証サービス22とで同期して定期的に自動更新更新される。
【0008】次に、このOTPプログラム61の生成と配布について説明する。ユーザがセキュアサーバ20の管理者に対してOTPプログラムの作成要求を面接や電話や電子メール等の連絡手段により行う。管理者は、要求者を認証した後、OTP認証サービス22に対してユーザIDとユーザIDに対応したOTP作成ロジックをシード(seed)という値で指定する。それと共に、ユーザIDとシードとをOTPプログラム生成サービス23与えて実行させるとJAVA携帯電話60で動作するOTPプログラム61が生成され、プログラムダウンロードサーバ10に送られる。プログラムダウンロードサーバ10は、OTPプログラム61を保管する。管理者は、インストール情報通知サービス21を起動することで、ユーザに対してOTPプログラム61のダウンロード方法を通知する。
【0009】次に、図2を用いて、JAVA携帯電話60へのOTPプログラムの作成からインストールと実行までの流れについて詳しく説明する。要求者認証後、管理者は、セキュアサーバ20上で管理ツールを使用し、ユーザIDとシードをアサインし、OTPプログラム作成サービス23によりOTPプログラム61を作成する(ステップ2010)。次に、作成したOTPプログラム61をダウンロードサーバ10に送付する。このとき、安全のため暗号化して送付する。プログラムダウンロードサーバ10は、OPTプログラム61をセキュアサーバ20から受け取ると、共通暗号鍵で解読し、JAVA携帯電話60からのダウンロード要求に答えるため、セキュアサーバ20から指定されたディレクトリに保存し、その後有効期限を設定する。そして、その有効期限がきていないか定期的にチェックし、有効期限がきていたら保管しておいたOPTプログラム61を削除し、有効期限内にダウンロード要求があればダウンロード完了後、これを削除する(ステップ2030)。
【0010】次に、管理者は、セキュアサーバ20上でインストール情報通知サービス21を起動する。すると、JAVA携帯電話60にインストール情報としてプログラムダウンローダサーバのアドレスであるURLが記載されたメールが送付される(ステップ2040)。このようにしてユーザは、OTPプログラムの入手準備が完了したことを知る。
【0011】次にユーザは、JAVA携帯電話60に通知されたメールを開き、そこに記載されたURLを選択するとダウンロード要求がプログラムダウンロードサーバ10に通知され、OTPプログラムのダウンロードが開始される(ステップ2050)。JAVA携帯電話60側では、OTPプログラム61がダウンロードし、実行プログラムとしてメモリ上に展開し、ユーザへのインストール完了したことを通知する(ステップ2060)。
【0012】次にOPTプログラム61のインストール終了通知を受けたユーザは、プログラム起動ボタンを押すことでOPTプログラム61を動作させる。すると、タイマ同期等の初期化ためセキュアサーバ20とのネゴシエーションを行う。このために、OPTプログラム61はプログラムダウンロードサーバ10を介して、セキュアサーバ20側へ初期化要求を送信する(ステップ2070)。JAVAプログラムは、JAVAプログラムをダウンロードしたサーバとしか通信できないため、プログラムダウンロードサーバ10は初期化処理要求とそれに続く一連のJAVA携帯電話60とセキュアサーバ20間の初期化処理用通信を中継する(ステップ2080)。
【0013】JAVA携帯電話60からの初期化処理要求を受けたセキュアサーバ20は、相互の時間同期のため、マスタ時刻を1分間隔ごとに3回通知し、その後、JAVA携帯電話60からの初期化処理完了時刻を受信したら、その時刻と現在時刻との差分値とOTPタイマ開始時刻を現在時刻の2分後としてJAVA携帯電話60へ通知する。また、開始時刻までのカウントダウンを行い、開始時刻になったら、OTPタイマを1分毎に更新する(ステップ2090)。
【0014】セキュアサーバ20からの1分毎のマスタ時刻を3回受けた後、自分の時計で計測した受信間隔の平均値から、セキュアサーバ20とのタイマ誤差を補正する。次に、補正完了時刻をセキュアサーバ20に通知し、その後、セキュアサーバ20から通知される差分値に基づき基準時刻を補正し、受信したOTPタイマ開始時刻に対してカウントダウンを実行する(ステップ2100)。
【0015】次に、カウントダウンが0、即ち、OTPタイマ開始時刻に達したら、ワンタイムパスワードを表示し、以後、一分間のタイマを起動し、定期的なパスワードの再計算を行い、毎回異なるパスワードを更新表示する(ステップ2110)。
【0016】次に、図3でインストール情報の他の実施形態を説明する。インストール情報300は、USERIDフィールドとURLフィールドから構成され、USERIDフィールドには、ユーザに割り当てられたユーザIDが記載されている。ユーザIDの通知方法の実施形態としては、OTPプログラムに組み込まれ、初期処理処理の最中にユーザIDを提示する形態でもよい。インストール情報300のURLフィールドには、ダウンロードサーバURLが記述されている。本URLではQuery-Stringパラメータとして、割り当てたシードを記述している。
【0017】これにより、OTPプログラム61のロジックに直接シードを組みこまず、シード用の領域を予めアサインしておき、そこにシードを書き込みことでカスタマイズが可能となる。こうすると、シードの再割り当てのときは、シードの値を代えたインストール情報を通知し、ユーザに再インストールさせれば、リコンパイルしなくて済むので、システムリソースの倹約と、応答時間の向上が計れる。また、初期化時に時間同期の後に、セキュアサーバから直接シードが送られる実施形態もある。
【0018】次に、図4により初期処理の他の実施形態を説明する。図4は、図2のステップ2070以降で説明した初期化処理の他の実施形態を示したものである。まず、セキュアサーバ30においては、JAVA携帯電話60からの初期化要求を受ける前にOTP用タイマを一分毎に更新させる(ステップ4010)。JAVA携帯電話60からの初期化要求を受けたセキュアサーバ30は、JAVA携帯電話60とのOTPタイマ同期のため、セキュアサーバ30で更新中の現在のOTPタイマ値(Ta)をJAVA携帯電話に返送する(ステップ4020)。
【0019】次に、これを受けたJAVA携帯電話60は、セキュアサーバ30から通知されたOTPタイマ値(Ta)を自身のOTPタイマ値としてセットし、そのOTPタイマ値分ワンタイムパスワードロジックを呼ぶことで、セキュアサーバ30のワンタイムパスワードとJAVA携帯電話60でのワンタイムパスワードを同期させる。以後一分ごとにOTPタイマ値を自動更新する(ステップ4030)。次に、1時間毎に起動される再同期タイマにより、再同期要求をセキュアサーバ30に発行し、その応答を受け取ることでステップ4030と同様にOTPタイマ値を更新する(ステップ4040)。一方、再同期要求を受けとったセキュアサーバ30は、ステップ4020と同様に現在のOTPタイマ値を通知する(ステップ4050)。
【0020】
【発明の効果】以上説明したように、本発明によれば、JAVA携帯電話上でワンタイムパスワード表示プログラムをインストールでき、その後プログラムの実施によって時刻ごとに変化するパスワードが表示されるので、携帯性に優れ、有効期間が長いので運用コストが低く、電波環境が悪い環境でも動作可能なワンタイムパスワードの表示装置が提供できる。
【出願人】 【識別番号】500426478
【氏名又は名称】株式会社ケイ・ラボラトリ−
【出願日】 平成12年10月30日(2000.10.30)
【代理人】 【識別番号】100071283
【弁理士】
【氏名又は名称】一色 健輔 (外3名)
【公開番号】 特開2002−132728(P2002−132728A)
【公開日】 平成14年5月10日(2002.5.10)
【出願番号】 特願2000−330307(P2000−330307)