以下に、本発明に係る認証についての第一の実施形態を適用した認証システムについて、図面を参照して説明する。
図1に、認証システム1000の全体構成図を示す。認証システム1000には、サーバー装置500と、サーバー装置500にネットワーク30を介して接続するナビゲーション装置100、モバイル端末600および情報処理端末700が含まれる。なお、サーバー装置500と、ナビゲーション装置100、モバイル端末600および情報処理端末700のそれぞれは、一つに限られるわけではなく、それぞれ複数存在するものであってもよい。また、ナビゲーション装置100、モバイル端末600および情報処理端末700のいずれか2つ以上を含むものであれば良い。
ナビゲーション装置100は、地図情報を表示して、ナビゲーション装置100の現在地を示す地点と、設定された目的地までの経路を誘導する情報とを示すことが可能ないわゆるナビゲーション装置である。ただし、後述するように、これに限られず、移動体の経路案内を行う装置全般、例えば車載機、携帯電話、PDA(Personal Digital Assistant)、モバイルPC、音楽プレーヤー等の情報端末全般に適用することができる。
また、サーバー装置500は、インターネット等のネットワーク30を介して他の装置から例えば施設検索や更新プログラムダウンロード等の各種処理の要求を受け付けて、検索した結果の施設情報や更新プログラムを応答として返す装置である。なお、ネットワーク30は、例えば携帯電話網等の無線通信網であってもよいし、有線通信網であってもよいし、有線通信網と無線通信網の複合であってもよいし、インターネットではない閉域のネットワークであってもよい。
モバイル端末600は、携帯電話端末や、各種の外部汎用アプリケーションソフトウェアにより動作を制御されうるいわゆるスマートフォン、PDA(Personal Digital Assistant)、モバイルPC、音楽プレーヤー等の情報端末全般である。なお、モバイル端末600は、情報処理端末700とは、一般的には主として無線パケット網を用いたデータ交換通信と、回線交換による無線通信と、802.11x等の無線通信規格による通信等の通信機能を有することに相違がみられるものであるが、厳密な区別はなく、同様の構成であってもよい。本実施形態においては、モバイル端末600は、所定の範囲を有する通信圏内において、無線でデータ通信を行うことが可能であり、情報処理端末700と比較すると携帯性に優れる装置をモバイル端末600と想定している。
情報処理端末700は、各種の外部汎用アプリケーションソフトウェアにより動作を制御されうるいわゆるパーソナルコンピュータ、デスクトップPC、モバイルPC等の情報端末全般である。なお、情報処理端末700は、モバイル端末600とは、一般的には主として光回線やADSL回線等の有線パケット網を用いたデータ交換通信と、回線交換による通信と、802.11x等の無線通信規格による通信等の通信機能を有することに相違がみられるものであるが、厳密な区別はなく、同様の構成であってもよい。本実施形態においては、情報処理端末700は、主に家庭内、事業所内等の一定の範囲において、比較的高速な有線回線でデータ通信を行うことが可能であり、モバイル端末600と比較すると処理能力に優れる装置を情報処理端末700と想定している。
図1に示すように、本実施形態に係るサーバー装置500は、クライアント情報テーブル511および有効期限情報テーブル512が格納された記憶部510と、処理要求を行う各種クライアントであるナビゲーション装置100、モバイル端末600、情報処理端末700からの処理要求を受けると、その正当性を認証する認証処理部521と、認証された処理要求に応じた情報を提供する情報提供部522と、を含む制御部520と、ネットワーク30を介して他の装置、とりわけナビゲーション装置100、モバイル端末600、情報処理端末700との通信を行う送受信部530と、を備える。
記憶部510に格納されるクライアント情報テーブル511および有効期限情報テーブル512は、HDD(Hard Disk Drive)や不揮発性メモリカードといった、少なくとも読み書きが可能な記憶媒体で構成される記憶部510に格納されるデータ格納領域である。
図2に示すように、クライアント情報テーブル511は、サーバー装置500に所定の処理を要求するクライアントの認証に必要な識別子等を格納する領域である。具体的には、クライアント情報テーブル511は、端末識別子511Aに対応付けられた端末固有パスワード511Bを含んでいる。端末識別子511Aには、製品個体番号等、ナビゲーション装置100にあらかじめ付与された固有の識別子が格納される。端末固有パスワード511Bには、ナビゲーション装置100にあらかじめ付与された固有のパスワードが格納される。なお、クライアント情報テーブル511には、ナビゲーション装置100にあらかじめ付与された固有の識別子および固有のパスワードが格納されるが、その他、モバイル端末600に固有の識別子およびモバイル端末600に設けられるナビゲーション部622に固有のパスワードが格納されるものであってもよい。
図3に示すように、有効期限情報テーブル512は、クライアントから送信された認証情報について、送信の経路に応じて認証情報の有効期限を特定する情報を対応付けて格納する領域である。具体的には、有効期限情報テーブル512は、経路表示識別子512Aと、経路512Bと、認証情報有効期限512Cと、を含んでいる。経路512Bは、サーバー装置500にアクセスした経路(手段)を特定する情報であり、経路表示識別子512Aは、当該経路を特定するためのキーワードとなる識別子である。また、認証情報有効期限512Cは、クライアントから送信された認証情報が生成された時から認証情報が有効でなくなるまでの期限を特定する情報である。
認証処理部521は、ナビゲーション装置100等からネットワーク30を介して検索等の所定の処理の実施要求を受け付けると、当該要求に付帯する認証情報を読み出して認証処理を実施する。認証に失敗すると、認証処理部521は、当該要求に対して認証の失敗を応答し、認証に成功すると、認証処理部521は、当該要求された処理の実施を情報提供部522等の他の制御部520に転送する。
情報提供部522は、認証処理部521により認証されたナビゲーション装置100等からネットワーク30を介して検索等の所定の処理の実施要求を受け付けると、当該要求された処理を実施し、結果を出力する。例えば、施設検索要求を受けると、施設を検索して、検索結果を出力する。あるいは、更新プログラムのダウンロード要求を受けると、該当する更新プログラムを送信する。
送受信部530は、ネットワーク30を介して他の装置と通信を行う。具体的には、他の装置から検索要求を受け付けて、当該装置へ検索結果を返信する。
図4は、サーバー装置500のハードウェア構成例を示す図である。サーバー装置500は、入力装置551と、出力装置552と、通信装置553と、演算装置554と、主記憶装置555と、外部記憶装置556と、を有する。それぞれの装置は、バス557により接続されている。なお、入力装置551と、出力装置552とは、必須の構成ではなく、必要に応じて設けられるものであってよい。
入力装置551は、キーボードやマウス、あるいはタッチペン、その他ポインティングデバイスなどの入力を受け付ける装置である。出力装置552は、ディスプレイなどの表示を行う装置である。通信装置553は、ネットワーク30などのネットワークを介して他の装置と通信を行う装置である。サーバー装置500の通信装置553は、ネットワーク30を通じて、ナビゲーション装置100の通信装置12等と通信を行うことができる。演算装置554は、例えばCPU(Central Processing Unit)などの演算装置である。主記憶装置555は、例えばRAM(Random Access Memory)などのメモリ装置である。外部記憶装置556は、例えばハードディスク装置やSSD(Solid State Drive)などの不揮発性記憶装置である。
なお、主記憶装置555に展開される命令コードは、外部記憶装置556に記憶されたものでもよく、また、通信装置553を介して、ネットワーク30上の図示しない他の装置あるいはインターネット等のネットワーク上の装置から取得されたものでもよい。主記憶装置555は、演算装置554が実行する命令コードの展開を行う領域を有する。外部記憶装置556は、いわゆる通常の記憶装置であり、サーバー装置500を動作させるソフトウェアや、当該ソフトウェアが必要とするデータの初期値、その他のデータなどを予め記録している。
上記したサーバー装置500の制御部520の認証処理部521、情報提供部522は、演算装置554が所定のプログラムを読み込み実行することにより構築される。そのため、主記憶装置555には、各機能部の処理を実現するためのプログラムが記憶されている。
なお、上記したサーバー装置500の構成要素は、構成の理解を容易にするために、主な処理内容に応じて分類したものである。そのため、構成要素の分類の仕方やその名称によって、本願発明が制限されることはない。サーバー装置500の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
また、サーバー装置500の制御部520は、ハードウェア(ASIC、GPUなど)により構築されてもよい。また、各機能部の処理が一つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
図5に、ナビゲーション装置100の全体構成図を示す。ナビゲーション装置100は、地図情報を表示して、ナビゲーション装置100の現在地を示す地点と、設定された目的地までの経路を誘導する情報とを示すことが可能ないわゆるナビゲーション装置である。
ナビゲーション装置100は、演算処理部1と、ディスプレイ2と、記憶装置3と、音声入出力装置4(音声入力装置としてマイクロフォン41、音声出力装置としてスピーカ42を備える)と、入力装置5と、ROM装置6と、車速センサ7と、ジャイロセンサ8と、GPS(Global Positioning System)受信装置9と、FM多重放送受信装置10と、ビーコン受信装置11と、インターネットあるいは携帯電話網に接続する他の装置と通信を行う通信装置12と、着脱可能な外部記憶装置13と、を備えている。
演算処理部1は、様々な処理を行う中心的ユニットである。例えば各種センサ7,8やGPS受信装置9、FM多重放送受信装置10等から出力される情報に基づいて現在地を算出する。また、得られた現在地情報に基づいて、表示に必要な地図データを記憶装置3あるいはROM装置6から読み出す。
また、演算処理部1は、読み出した地図データをグラフィックス展開し、そこに現在地を示すマークを重ねてディスプレイ2へ表示する。また、記憶装置3あるいはROM装置6に記憶されている地図データ等を用いて、ユーザから指示された出発地又は現在地と、目的地(または、経由地や立ち寄り地)とを結ぶ最適な経路である推奨経路を探索する。また、スピーカ42やディスプレイ2を用いてユーザを誘導する。
ナビゲーション装置100の演算処理部1は、各デバイス間をバス25で接続した構成である。演算処理部1は、数値演算及び各デバイスを制御するといった様々な処理を実行するCPU21と、記憶装置3から読み出した地図データ、演算データなどを格納するRAM22と、プログラムやデータを格納するROM23と、各種ハードウェアを演算処理部1と接続するためのI/F(インターフェイス)24と、を有する。
ディスプレイ2は、演算処理部1等で生成されたグラフィックス情報を表示するユニットである。ディスプレイ2は、液晶ディスプレイ、有機ELディスプレイなどで構成される。
記憶装置3は、HDDや不揮発性メモリカードといった、少なくとも読み書きが可能な記憶媒体で構成される。
この記憶媒体には、通常の経路探索装置に必要な地図データ(地図上の道路を構成するリンクのリンクデータを含む)であるリンクテーブル200と、ナビゲーション装置100の機器固有情報である機器情報テーブル300と、通信経路(通信手段)に応じた識別子情報である経路識別情報テーブル400と、が記憶されている。
図6は、リンクテーブル200の構成を示す図である。リンクテーブル200は、地図上の区画された領域であるメッシュの識別コード(メッシュID)201ごとに、そのメッシュ領域に含まれる道路を構成する各リンクのリンクデータ202を含んでいる。
リンクデータ202は、リンクの識別子であるリンクID211ごとに、リンクを構成する2つのノード(開始ノード、終了ノード)の座標情報222、リンクを含む道路の種別を示す道路種別223、リンクの長さを示すリンク長224、予め記憶されたリンク旅行時間225、開始接続リンクおよび終了接続リンク226、リンクを含む道路の制限速度を示す制限速度227、交通量の多寡を示す交通量228などを含んでいる。なお、開始接続リンクおよび終了接続リンク226は、当該リンクの開始ノードに接続するリンクである開始接続リンクと、当該リンクの終了ノードに接続するリンクである終了接続リンクと、を特定する情報である。
なお、ここでは、リンクを構成する2つのノードについて開始ノードと終了ノードとを区別することで、同じ道路の上り方向と下り方向とを、それぞれ別のリンクとして管理するようにしているが、これに限られない。例えば、リンクを構成する2つのノードについて開始ノードと終了ノードとを区別しないものであってもよい。
図7は、機器情報テーブル300の構成を示す図である。機器情報テーブル300は、認証バージョンを特定する認証バージョン識別子301と、端末を特定する端末識別子302と、ナビゲーション装置100に固有のあらかじめ定められたパスワードである端末固有パスワード303と、を対応付けた情報を含んでいる。なお、端末識別子302、端末固有パスワード303と、の情報は、上述のサーバー装置500のクライアント情報テーブル511に格納される端末識別子511Aおよび端末固有パスワード511Bの組み合わせのうち、いずれかの組み合わせに該当する。
図8は、経路識別情報テーブル400の構成を示す図である。経路識別情報テーブル400は、認証要求元から受け付ける要求元識別子401と、経路402と、経路表示識別子403と、を対応付けた情報を含んでいる。経路402は、サーバー装置500にアクセスする経路(手段)を特定する情報であり、要求元識別子401は、当該経路を特定するためのキーとなる識別子である。また、経路表示識別子403は、当該経路に応じて認証情報に含める識別子である。
図5に戻って説明する。音声入出力装置4は、音声入力装置としてマイクロフォン41と、音声出力装置としてスピーカ42と、を備える。マイクロフォン41は、ユーザやその他の搭乗者が発した声などのナビゲーション装置100の外部の音声を取得する。
スピーカ42は、演算処理部1で生成されたユーザへのメッセージを音声として出力する。マイクロフォン41とスピーカ42は、車両の所定の部位に、別個に配されている。ただし、一体の筐体に収納されていても良い。ナビゲーション装置100は、マイクロフォン41及びスピーカ42を、それぞれ複数備えることができる。
入力装置5は、ユーザからの指示をユーザによる操作を介して受け付ける装置である。入力装置5は、タッチパネル51と、ダイヤルスイッチ52と、その他のハードスイッチ(図示しない)であるスクロールキー、縮尺変更キーなどで構成される。また、入力装置5には、ナビゲーション装置100に対して遠隔で操作指示を行うことができるリモートコントローラが含まれる。リモートコントローラは、ダイヤルスイッチやスクロールキー、縮尺変更キーなどを備え、各キーやスイッチが操作された情報をナビゲーション装置100に送出することができる。
タッチパネル51は、ディスプレイ2の表示面側に搭載され、表示画面を透視可能である。タッチパネル51は、ディスプレイ2に表示された画像のXY座標と対応したタッチ位置を特定し、タッチ位置を座標に変換して出力する。タッチパネル51は、感圧式または静電式の入力検出素子などにより構成される。なお、タッチパネル51は、同時に複数のタッチ位置を検出することのできるマルチタッチを実現できるものであってもよいが、本願発明に係るコスト効果がより高いと考えられるのは、同時に一か所のタッチ位置を検出できるシングルタッチ対応の安価なタッチパネルであるといえる。
ダイヤルスイッチ52は、時計回り及び反時計回りに回転可能に構成され、所定の角度の回転ごとにパルス信号を発生し、演算処理部1に出力する。演算処理部1では、パルス信号の数から、回転角度を求める。
ROM装置6は、CD-ROMやDVD-ROM等のROMや、IC(Integrated Circuit)カードといった、少なくとも読み取りが可能な記憶媒体で構成されている。この記憶媒体には、例えば、動画データや、音声データなどが記憶されている。
車速センサ7,ジャイロセンサ8およびGPS受信装置9は、ナビゲーション装置100で現在地(例えば、自車位置)を検出するために使用されるものである。車速センサ7は、車速を算出するのに用いる値を出力するセンサである。ジャイロセンサ8は、光ファイバジャイロや振動ジャイロ等で構成され、移動体の回転による角速度を検出するものである。GPS受信装置9は、GPS衛星からの信号を受信し移動体とGPS衛星間の距離と距離の変化率とを3個以上の衛星に対して測定することで移動体の現在地、進行速度および進行方位を測定するものである。
FM多重放送受信装置10は、FM放送局から送られてくるFM多重放送信号を受信する。FM多重放送には、VICS(Vehicle Information Communication System:登録商標)情報の概略現況交通情報、規制情報、SA/PA(サービスエリア/パーキングエリア)情報、駐車場情報、天気情報などやFM多重一般情報としてラジオ局が提供する文字情報などがある。
ビーコン受信装置11は、VICS情報などの概略現況交通情報、規制情報、SA/PA(サービスエリア/パーキングエリア)情報、駐車場情報、天気情報や緊急警報などを受信する。例えば、光により通信する光ビーコン、電波により通信する電波ビーコン等の受信装置である。
通信装置12は、ネットワーク30に接続された装置と通信可能な無線通信網に接続する。このような通信装置12は、例えば携帯電話網に接続してサーバー装置500とデータ通信を行う装置であり、例えばユーザの携帯電話機を取り付けられて通信が可能となるものを含む。なお、ユーザの携帯電話機との接続方式は、既存の汎用の接続方式であるUSB(Universal Serial Bus:登録商標)、HDMI(High−Definition Multimedia Interface:登録商標)などの有線接続やBlueTooth(登録商標)、WiFi(登録商標)などの無線接続を含む汎用の接続方式であってもよいし、専用の接続方式であってもよい。
外部記憶装置13は、ナビゲーション装置100に着脱可能な記憶装置であって、例えば不揮発性メモリカード等の電子記憶媒体への入出力制御を実施する装置である。
図10は、演算処理部1の機能ブロック図である。図示するように、演算処理部1は、基本制御部101と、入力受付部102と、出力処理部103と、認証応答部104と、認証情報生成部105と、認証情報出力部106と、を有する。
基本制御部101は、様々な処理を行う中心的な機能部であり、処理内容に応じて、他の処理部を制御する。また、各種センサ、GPS受信装置9等の情報を取得し、マップマッチング処理等を行って現在地を特定する。また、随時、走行した日付および時刻と、位置と、を対応付けて、リンクごとに走行履歴を記憶装置3に記憶する。さらに、各処理部からの要求に応じて、現在時刻を出力する。
また、基本制御部101は、現在地と、目的地とを結ぶ最適な経路(推奨経路)を探索する。当該経路探索においては、ダイクストラ法等の経路探索ロジックを用いて、道路の所定の区間(リンク)に対して予め設定されたリンクコストに基づいて、リンクコストが最小となる経路を探索する。
また、基本制御部101は、現在地が推奨経路から逸脱しないよう、推奨経路を表示させつつスピーカ42やディスプレイ2を用いてユーザを誘導する。
入力受付部102は、入力装置5またはマイクロフォン41を介して入力されたユーザからの入力指示を受け付け、その入力指示に関する情報であるタッチの座標位置や、音声情報とともに、要求内容に対応する処理を実行するように基本制御部101へ伝達する。例えば、ユーザが推奨経路の探索を要求したときは、その要求指示内容を基本制御部101に要求する。
出力処理部103は、例えばポリゴン情報等の表示させる画面情報を受け取り、ディスプレイ2に描画するための信号に変換してディスプレイ2に対して描画する指示を行う。
認証応答部104は、認証情報の提示要求を受け付ける。認証応答部104は、認証情報の提示要求を受け付けると、当該認証情報の提示要求に応じた認証情報を生成するよう認証情報生成部105へ制御を受け渡す。なお、認証応答部104は、認証情報の提示要求に含まれる所定の要求元を識別する情報、例えば要求に付属する要求元特定情報を、認証情報生成部105へ受け渡す。
認証情報生成部105は、認証応答部104から制御を受け取ると、要求元特定情報に応じて認証情報450を生成し、認証情報出力部106へ受け渡す。ここで、認証情報450は、例えば図9に示す構成を備える。
図9は、認証情報の構成例を示す図である。認証情報450には、認証バージョンを特定する認証バージョン451と、端末を特定する端末識別子452と、認証情報の生成時刻を特定する時刻453と、ナビゲーション装置100に固有のあらかじめ定められたパスワードである端末固有パスワードと、時刻453に含まれる情報と、を含む情報をハッシュ等の所定のアルゴリズムで暗号化した暗号化情報454と、を対応付けた情報を含んでいる。
なお、時刻453に格納される情報は、日時を特定する文字列であるが、曜日を示す文字列部分についてはこの限りではなく、要求元に応じた経路表示識別子が格納されるものであってもよい。すなわち、時刻453に格納される情報のうち曜日を示す「Sun」、「Mon」、「Tue」、「Wed」、「Thu」、「Fri」、「Sat」の情報は、それ以外の文字列であっても所定の日時を特定することができる情報であるため、これに代えて接続経路を特定する識別子である経路表示識別子が含まれるものであってもよい。当該経路表示識別子は、認証元特定情報に応じて特定された経路を示す識別子である。具体的には、認証要求元がナビゲーション装置100上のアプリケーションプログラムである場合には、時刻453に格納される情報のうち曜日を示す情報はそのまま曜日を示す情報が使用され、「Sun」、「Mon」、「Tue」、「Wed」、「Thu」、「Fri」、「Sat」となる。認証要求元が情報処理端末700向けのアプリケーションプログラムを示す場合には、時刻453に格納される情報のうち曜日を示す情報は「MEM」となる。
なお、本実施形態においては、認証情報450は、Cookieの形式で取り扱われ、サーバー装置500等へ送受信される。ただし、認証情報450は、Cookieの形式で取り扱われるものに限られず、サーバー装置500へ該当する内容が伝達されれば良く、すなわちパラメータ等の他の形式で取り扱われるものであってもよい。
認証情報出力部106は、認証情報生成部105が生成した認証情報を受け取ると、認証要求元へ出力する。具体的には、認証要求元がナビゲーション装置100上のアプリケーションプログラムである場合には、認証情報出力部106は、認証情報をサーバー装置500へ送信する。認証要求元がモバイル端末600のサーバー装置500への接続代行プログラム等の所定の要求元である場合には、認証情報出力部106は、認証情報をモバイル端末600の接続代行プログラムへ受け渡す。認証要求元が情報処理端末700向けのアプリケーションプログラムである場合には、認証情報出力部106は、認証情報を外部記憶装置13に格納する。
上記した演算処理部1の各機能部、すなわち基本制御部101、入力受付部102、出力処理部103、認証応答部104、認証情報生成部105、認証情報出力部106は、CPU21が所定のプログラムを読み込み実行することにより構築される。そのため、RAM22には、各機能部の処理を実現するためのプログラムが記憶されている。
なお、上記した各構成要素は、ナビゲーション装置100の構成を、理解を容易にするために、主な処理内容に応じて分類したものである。そのため、構成要素の分類の仕方やその名称によって、本願発明が制限されることはない。ナビゲーション装置100の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
また、各機能部は、ハードウェア(ASIC、GPUなど)により構築されてもよい。また、各機能部の処理が一つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
図1に示すように、本実施形態に係るモバイル端末600は、所定の情報が格納された記憶部610と、サーバー装置500に対して所定の処理要求を行う際またはサーバー装置500から認証情報を求められた場合に、その正当性を証明するための認証情報を送信する認証応答部621と、地図情報等を表示して経路誘導等を行う等の機能を実現するナビゲーション部622と、を含む制御部620と、ネットワーク30を介して他の装置、とりわけサーバー装置500との通信を行う送受信部630と、を備える。
記憶部610は、HDDや不揮発性メモリカードといった、少なくとも読み書きが可能な記憶媒体で構成されるデータ格納領域である。
認証応答部621は、認証情報の提示要求を受け付ける。認証応答部621は、認証情報の提示要求を受け付けると、当該認証情報の提示要求元を特定する情報に応じて図9に示す構成を備える認証情報450を取得し、認証要求元へ出力する。具体的には、認証要求元がモバイル端末600上のアプリケーションプログラムであるナビゲーション部622である場合、つまり、ナビゲーション装置100からサーバー装置500への通信を代行する場合ではなく、モバイル端末600上の固有のナビゲーション機能を用いる場合の認証処理である場合には、認証情報450をナビゲーション装置100から受け取ることは無いため、認証応答部621は、認証情報450を生成し、サーバー装置500へ送信する。
なお、認証要求元がモバイル端末600上のアプリケーションプログラムであるナビゲーション部622である場合には、認証応答部621は、時刻453に格納される情報のうち曜日を示す「Sun」、「Mon」、「Tue」、「Wed」、「Thu」、「Fri」、「Sat」の情報を、これに代えてモバイル端末600上のアプリケーションプログラムによる接続の経路を特定する識別子である「SMT」として認証情報450を構成する。
認証要求元がナビゲーション装置100からサーバー装置500への通信を代行するモバイル端末600上の接続代行プログラム等の所定の要求元である場合には、認証応答部621は、認証情報の提示要求をナビゲーション装置100の認証応答部104へ受け渡し、認証情報出力部106から受け渡された認証情報450をモバイル端末600の接続代行プログラムへ受け渡す。
ナビゲーション部622は、記憶部610等に格納された地図情報等を用いて地図情報を表示し、所定の目的地への経路を誘導する画面を表示し、音声案内を含む経路誘導処理等を行う。ナビゲーション部622は、モバイル端末600上のアプリケーションプログラムによって実現される。当該経路誘導処理において、ナビゲーション部622は、例えば地図情報の更新が必要となった場合等には、サーバー装置500に更新情報を要求し、ダウンロードした更新情報を用いて経路誘導を行う。当該更新情報の要求において正当な権限を有する使用であることを証明するために、認証応答部621に認証情報450をサーバー装置500へ送信させる。また、ナビゲーション部622は、他の制御部からの要求に応じて、ナビゲーション機能を実施中であるか否かについて応答を返す。なお、ナビゲーション機能を実施中か否かは、現在地の取得および地図表示を行っているか否かをいい、ナビゲーション部622は、例えば単なるナビゲーション装置100からの通信代行状態においては、現在地の取得および地図表示を行っていないので、停止中である旨の応答を返す。
送受信部630は、ネットワーク30を介して他の装置と通信を行う。具体的には、サーバー装置500等の他の装置へ地図の更新情報を要求し、サーバー装置500から地図の更新情報を受信する。
モバイル端末600のハードウェア構成は、図4に示すサーバー装置500のハードウェア構成例と略同一であるため、説明を省略する。
上記したモバイル端末600の制御部620の認証応答部621、ナビゲーション部622、あるいは接続代行を行う処理部等は、演算装置が所定のプログラムを読み込み実行することにより構築される。そのため、主記憶装置には、各機能部の処理を実現するためのプログラムが記憶されている。
なお、上記したモバイル端末600の構成要素は、構成の理解を容易にするために、主な処理内容に応じて分類したものである。そのため、構成要素の分類の仕方やその名称によって、本願発明が制限されることはない。モバイル端末600の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
また、モバイル端末600の制御部620は、ハードウェア(ASIC、GPUなど)により構築されてもよい。また、各機能部の処理が一つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
図1に示すように、本実施形態に係る情報処理端末700は、所定の情報が格納された記憶部710と、サーバー装置500に対して所定の処理要求を行う際またはサーバー装置500から認証情報を求められた場合に、その正当性を証明するための認証情報を送信する認証応答部721と、地図情報等を表示して移動経路の計画情報の作成等を行う等の機能を実現する地図利用部722と、を含む制御部720と、ネットワーク30を介して他の装置、例えばサーバー装置500との通信を行う送受信部730と、を備える。
記憶部710は、HDDや不揮発性メモリカードといった、少なくとも読み書きが可能な記憶媒体で構成されるデータ格納領域である。
認証応答部721は、認証情報の提示要求を受け付ける。認証応答部721は、認証情報の提示要求を受け付けると、当該認証情報の提示要求元を特定する情報に応じて図9に示す構成を備える認証情報450を取得し、認証要求元へ出力する。具体的には、認証要求元が情報処理端末700上のアプリケーションプログラムである地図利用部722である場合には、認証応答部721は、ナビゲーション装置100の認証情報出力部106により格納された認証情報450を、図示しない外部記憶装置から読み込み、サーバー装置500へ送信する。
なお、図示しない外部記憶装置から認証情報450を得られない場合には、認証応答部721は、認証処理エラーを返し、認証情報450が含まれる外部記憶装置の接続を要求する出力を行う。
地図利用部722は、記憶部710等に格納された地図情報等を用いて地図情報を表示し、所定の目的地への旅行の予定を計画する画面等を表示し、計画の変更を受け付けると必要に応じて経路探索等を行う。その際、地図利用部722は、地図情報の更新情報や、利用者あるいは他人が作成した旅行の計画の情報等をサーバー装置500へ要求する。また、地図利用部722は、探索した経路の情報を含めて、ナビゲーション装置100へ計画した予定の情報を受け渡すための旅行情報等を作成し、外部記憶装置へ格納する。
地図利用部722は、情報処理端末700上のアプリケーションプログラムによって実現されてもよいし、サーバー装置500上から実行時にダウンロードされるアプリケーションプログラムにより実現されてもよい。当該旅行計画の処理において、地図利用部722は、例えば地図情報の更新が必要となった場合等には、サーバー装置500に更新情報を要求し、ダウンロードした更新情報を用いて旅行情報を生成する。当該更新情報の要求において正当な権限を有する使用であることを証明するために、認証応答部721に外部記憶装置から取得した認証情報450をサーバー装置500へ送信させる。
送受信部730は、ネットワーク30を介して他の装置と通信を行う。具体的には、サーバー装置500等の他の装置へ地図の更新情報あるいは旅行計画の情報を要求し、サーバー装置500から地図の更新情報あるいは旅行計画の情報を受信する。
情報処理端末700のハードウェア構成は、図4に示すサーバー装置500のハードウェア構成例と略同一であるため、説明を省略する。
上記した情報処理端末700の制御部720の認証応答部721、地図利用部722等は、演算装置が所定のプログラムを読み込み実行することにより構築される。そのため、主記憶装置には、各機能部の処理を実現するためのプログラムが記憶されている。
なお、上記した情報処理端末700の構成要素は、構成の理解を容易にするために、主な処理内容に応じて分類したものである。そのため、構成要素の分類の仕方やその名称によって、本願発明が制限されることはない。情報処理端末700の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
また、情報処理端末700の制御部720は、ハードウェア(ASIC、GPUなど)により構築されてもよい。また、各機能部の処理が一つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
[動作の説明]次に、ナビゲーション装置100が実施する認証情報出力処理の動作について説明する。図11は、ナビゲーション装置100が実施する認証情報出力処理を示すフロー図である。このフローは、ナビゲーション装置100起動後に、認証応答部104が所定の認証情報の要求を受け付けると、実施される。
まず、認証情報生成部105は、認証情報の要求元を特定する(ステップS001)。具体的には、認証情報生成部105は、認証応答部104から受け渡された認証情報の提示要求に含まれる所定の要求元を識別する情報、例えば要求に付属する要求元特定情報を参照して、認証情報の要求元を示す情報と一致する要求元識別子401を検索して特定する。
そして、認証情報生成部105は、認証情報の要求元に応じて識別子を特定する(ステップS002)。具体的には、認証情報生成部105は、ステップS001にて特定した要求元識別子401に対応づけられた経路表示識別子403を読み出す。
そして、認証情報生成部105は、基本制御部101に現在時刻の情報を要求し、現在時刻を取得する(ステップS003)。例えば、認証情報生成部105は、「Wed Jun 30 21:49:08 1993」等の書式に従った文字列により構成される時刻情報を取得する。
そして、認証情報生成部105は、ステップS003において取得した時刻情報の一部を識別子で置換する(ステップS004)。具体的には、認証情報生成部105は、ステップS003で取得した時刻情報の文字列のうち、曜日を特定する文字列である「Wed」部分を、ステップS002において特定した経路表示識別子403の情報により置換する。なお、経路表示識別子403の情報の文字列長と、時刻情報の文字列のうち曜日を特定する文字列部分の文字列長は、一致する、あるいは時刻情報の文字列のうち曜日を特定する文字列部分の文字列長の方が長いものとする。
次に、認証情報生成部105は、時刻情報を用いて認証情報の一部を暗号化する(ステップS005)。具体的には、認証情報生成部105は、ステップS004にて一部が置換された時刻情報をキー情報に用いる等により、端末固有パスワード303の情報を含む情報を所定のアルゴリズムで暗号化する。
そして、認証情報生成部105は、暗号化済の認証情報の一部を含む認証情報を、要求元へ返す(ステップS006)。具体的には、認証情報生成部105は、ステップS005において暗号化した情報を、認証情報450の暗号化情報454に格納し、機器情報テーブル300の認証バージョン識別子301、端末識別子302をそれぞれ認証バージョン451、端末識別子452に格納し、ステップS004にて一部が置換された時刻情報を時刻453に格納して認証情報450を生成し、認証情報出力部106へ受け渡す。認証情報出力部106は、認証要求元に応じて、認証情報450を出力する。例えば、認証要求元がナビゲーション装置100上のアプリケーションプログラムである場合には、認証情報出力部106は、認証情報450をサーバー装置500へ送信する。認証要求元がモバイル端末600のサーバー装置500への接続代行プログラム等の所定の要求元である場合には、認証情報出力部106は、認証情報をモバイル端末600の接続代行プログラムへ受け渡す。認証要求元が情報処理端末700向けのアプリケーションプログラムである場合には、認証情報出力部106は、認証情報を外部記憶装置13に格納する。
以上が、認証情報出力処理の処理フローである。認証情報出力処理によれば、認証要求元に応じて、含まれる識別子を異ならせた認証情報450を生成し、出力することができる。
図12は、サーバー装置500が実施するサーバー認証処理を示すフロー図である。このフローは、認証が必要となる所定の処理要求を情報提供部522が受け付けると、開始される。
まず、認証処理部521は、認証情報450を、クライアント端末から受信する(ステップS101)。具体的には、認証処理部521は、クライアント端末であるナビゲーション装置100、モバイル端末600または情報処理端末700から処理要求とともに送信された認証情報450を含むCookieを、クライアント端末から受信する。
そして、認証処理部521は、認証バージョンが所定のバージョンであるか否かを判定する(ステップS102)。具体的には、認証処理部521は、ステップS101にて取得した認証情報450から、認証バージョン451を取得して、所定のバージョンであるか否かを判定する。例えば、所定のバージョンより古いバージョン情報であれば、当該サーバー認証処理においては、当該クライアント端末は認証不可能であるため、これを見極めるためである。そのため、認証処理部521は、認証バージョンが所定のバージョンではない場合には、後述するステップS109へ制御を進める。
認証バージョンが所定のバージョンであった場合(ステップS102にて「Yes」の場合)には、認証処理部521は、端末識別子が有効な識別子であるか否かを判定する(ステップS103)。具体的には、認証処理部521は、認証情報450から端末識別子452を取得して、当該端末識別子に関して正常出荷品か、盗難届や利用中止届が提出されていないか、等の有効性チェックを行う。当該有効性チェックについては、サーバー装置500上に、あるいはネットワークで接続された他の装置上に、格納された図示しない有効性情報を参照して行う。当該有効性情報には、端末識別子に対応付けて、正常出荷品であるか、盗難届や利用中止届が提出されていないか、等の状態を特定する情報が含まれるものとする。なお、端末識別子が有効な識別子ではない場合には、認証処理部521は、後述するステップS109へ制御を進める。
端末識別子が有効な識別子である場合(ステップS103にて「Yes」の場合)には、認証処理部521は、受信した時刻情報に含まれる識別子に応じて有効期限を特定する(ステップS104)。具体的には、認証処理部521は、認証情報450から時刻453の情報を取得する。そして、時刻453のうち曜日を示すべき位置にある情報を経路表示識別子として取得し、有効期限情報テーブル512を参照して該当する経路表示識別子512Aを特定し、対応付けられた認証情報有効期限512Cを読み出す。
次に、認証処理部521は、現在時刻は受信した時刻情報から有効期限内であるか否かを判定する(ステップS105)。具体的には、認証処理部521は、サーバー装置500が有する現在の日時あるいはNTP等により取得した現在の日時を特定し、当該日時からステップS104において特定した認証情報有効期限内に遡った期間内に、認証情報450に含まれる時刻453により特定される日時が含まれるか否かを判定する。含まれない場合には、有効期限内ではないとして、認証処理部521は、後述するステップS109へ制御を進める。
現在時刻が受信した時刻情報から有効期限内である場合(ステップS105にて「Yes」の場合)には、認証処理部521は、受信した時刻情報を用いて保有する認証情報の一部を暗号化し、受信した認証情報の一部と比較する(ステップS106)。具体的には、認証処理部521は、ステップS104において取得した時刻453の情報をキー情報に用いる等により、クライアント情報テーブル511に格納された端末固有パスワード511Bの情報を含む情報を所定のアルゴリズム、例えばナビゲーション装置600で用いるアルゴリズムと同様のアルゴリズムで暗号化する。そして、認証処理部521は、認証情報450に含まれる暗号化情報454と比較する。
次に、認証処理部521は、比較した結果、暗号化情報と一致するか否かを判定する(ステップS107)。具体的には、認証処理部521は、ステップS106において暗号化したデータと、暗号化情報454とが一致するか否かを判定する。一致しない場合には、認証処理部521は、認証に失敗したものとして、後述するステップS109へ制御を進める。
暗号化情報と一致する場合(ステップS107にて「Yes」の場合)には、情報提供部522は、認証に成功したものとして、要求された処理を実行する(ステップS108)。
認証エラーが発生した場合に実施されるステップS109においては、認証処理部521は、要求された処理を情報提供部522に実行させずに、クライアント装置へエラー情報を返す(ステップS109)。
以上が、サーバー認証処理の処理フローである。サーバー認証処理によれば、認証情報に含まれる経路表示識別子に応じて、認証情報の有効期限を判定することができるため、有効期限以前に生成された認証情報を使って認証に成功することを無くすることができる。
以上、本発明の第一の実施形態について説明した。本発明の第一の実施形態によると、サーバー装置に接続する経路(手段)に応じて、異なる通信特性を有効に利用しつつ、なりすましや不正改造等のリスクを適切に抑えることができる。つまり、利便性をより高くすることができるといえる。
本発明は、上記の実施形態に制限されない。上記の第一の実施形態は、本発明の技術的思想の範囲内で様々な変形が可能である。例えば、上記の第一の実施形態では、とくにモバイル端末600については、モバイル端末600固有のナビゲーション部622によるサーバー装置500への処理要求の場合と、接続したナビゲーション装置100からのサーバー装置500への処理要求の代行処理の場合とでは、認証情報450の送信内容が異なる。しかし、接続したナビゲーション装置100からのサーバー装置500への処理要求の代行処理の場合には、モバイル端末600が通信を行うにも関わらず、ナビゲーション装置100から直接、サーバー装置500へ通信を行う場合の認証情報450との区別がつかない。これを区別するには、ナビゲーション装置100による直接の通信であるのか、モバイル端末600による代行処理(以降、オンラインと称する)の通信であるのか、モバイル端末600の固有の処置(以降、オフラインと称する)の通信であるのか、を区別しうる態様で認証情報をサーバー装置500へ送信することとしてもよい。箇所
以下に、図13〜15を用いて、当該第二の実施形態について説明する。
第二の実施形態については、基本的に第一の実施形態と同様の構成を備えるため、相違点を中心に説明する。
図13は、第二の実施形態におけるサーバー装置500が記憶装置3に備える有効期限情報テーブル512´である。有効期限情報テーブル512´は、基本的に第一の実施形態に係る有効期限情報テーブル512と同様であるが、経路512Bごとに、オンラインまたはオフラインを区別する情報であるオンライン/オフライン512Dが設けられ、経路512Bとオンライン/オフライン512Dの組み合わせに応じた認証情報有効期限512Cが対応付けて格納される。これはすなわち、同一の経路であっても、オンラインの場合とオフラインの場合とを区別して有効期限を設けるものであるといえる。
図14は、第二の実施形態に係る認証情報出力処理(モバイル)の処理フローを示す図である。
まず、認証応答部621は、認証情報の要求元を特定する(ステップS201)。具体的には、認証応答部621は、受け付けた認証情報の提示要求に含まれる所定の要求元を識別する情報、例えば要求に付属する要求元特定情報を参照して、認証情報の要求元を示す情報と一致する要求元識別子401を検索して特定する。
そして、認証応答部621は、認証情報の要求元に応じて識別子を特定する(ステップS202)。具体的には、認証応答部621は、ステップS201にて特定した要求元識別子401に対応づけられた経路表示識別子403を読み出す。
そして、認証応答部621は、モバイル端末600がナビゲーション装置100から分離しているか否かを判定する(ステップS203)。具体的には、認証応答部621は、代理接続プログラムに対して、ナビゲーション装置100からの接続要求に応じた通信を開始しているか否かを問い合わせて、通信を開始している場合には分離していないと判定し、通信を終了している場合には分離していると判定する。
分離していない場合(ステップS203において「No」の場合)には、認証応答部621は、ナビゲーション装置100へ認証情報要求を送信する(ステップS204)。
そして、認証応答部621は、ナビゲーション装置100から認証情報を受信し、キャッシュ保存する(ステップS205)。具体的には、認証応答部621は、ステップS204において認証情報要求を送信したナビゲーション装置100から送信される認証情報450を受信すると、これを記憶部610の所定のキャッシュ領域に格納し、キャシュ情報とする。
そして、認証応答部621は、認証情報450にオンラインフラグを付加して要求元へ返す(ステップS206)。具体的には、認証応答部621は、ステップS205において受信した認証情報450について、ナビゲーション装置100との接続がオンラインであることを示すフラグ等の情報を認証情報450のパラメータ等に追加して、認証情報要求元へ送信する。
そして、認証応答部621は、認証情報出力処理を終了させる。
分離している場合(ステップS203において「Yes」の場合)には、認証応答部621は、モバイル端末600のナビゲーション処理が停止中か否かを判定する(ステップS207)。具体的には、認証応答部621は、ナビゲーション部622に対して、ナビゲーション処理が稼働中か否かを問い合わせる情報を送信し、その応答により停止中か否かを判定する。
ナビゲーション処理が停止中である場合(ステップS207において「Yes」の場合)には、認証応答部621は、ナビゲーション装置100から受信した認証情報であってキャッシュされた認証情報があれば、当該認証情報にオフラインフラグを付加して要求元へ返す(ステップS208)。具体的には、認証応答部621は、ステップS205においてキャッシュされた認証情報450について、ナビゲーション装置100との接続がオフラインであることを示すフラグ等の情報を認証情報450のパラメータ等に追加して、認証情報要求元へ送信する。
そして、認証応答部621は、認証情報出力処理を終了させる。
ナビゲーション処理が停止中でない場合(ステップS207において「No」の場合)には、認証応答部621は、現在時刻の情報を図示しないOS(Operating System)等に要求し、現在時刻を取得する(ステップS209)。例えば、認証応答部621は、「Wed Jun 30 21:49:08 1993」等の書式に従った文字列により構成される時刻情報を取得する。
そして、認証応答部621は、取得した時刻情報の一部を識別子で置換する(ステップS210)。具体的には、認証応答部621は、ステップS209で取得した時刻情報の文字列のうち、曜日を特定する文字列、例えば先頭3桁に相当する「Wed」部分を、ステップS202において特定した経路表示識別子403の情報により置換する。なお、経路表示識別子403の情報の文字列長と、時刻情報の文字列のうち曜日を特定する文字列部分の文字列長は、一致する、あるいは時刻情報の文字列のうち曜日を特定する文字列部分の文字列長の方が長いものとする。
次に、認証応答部621は、時刻情報を用いて認証情報の一部を暗号化する(ステップS211)。具体的には、認証応答部621は、ステップS211にて一部が置換された時刻情報をキー情報に用いる等により、モバイル端末600のナビゲーション部622に予め付与された端末固有パスワード303の情報を含む情報を、所定のアルゴリズム、例えばナビゲーション装置100で用いる暗号化のアルゴリズムと同様のアルゴリズムを用いて暗号化する。
そして、認証応答部621は、暗号化済の認証情報の一部を含む認証情報にオンラインフラグを付加して要求元へ返す(ステップS212)。具体的には、認証応答部621は、ステップS211において暗号化した情報を、認証情報450の暗号化情報454に格納し、機器情報テーブル300の認証バージョン識別子301、端末識別子302をそれぞれ認証バージョン451、端末識別子452に格納し、ステップS210にて一部が置換された時刻情報を時刻453に格納し、ナビゲーション装置100との接続がオフラインであることを示すフラグ等の情報を付加して認証情報450を生成し、認証要求元に対して、認証情報450を出力する。
そして、認証応答部621は、認証情報出力処理を終了させる。
以上が、認証情報出力処理(モバイル)の処理フローである。認証情報出力処理(モバイル)によれば、認証要求元に応じて、含まれる識別子を異ならせた認証情報450を生成し、出力することができ、さらに、ナビゲーション装置100との接続状態あるいは非接続であってもナビゲーション装置100の代理としての接続の場合等に応じて、オンライン/オフラインの別を特定する情報を付加して出力することができる。
図15は、第二の実施形態に係るサーバー認証処理の処理フローを示す図である。サーバー認証処理は、基本的に第一の実施形態におけるサーバー認証処理と同様であるが、ステップS104に係る処理が異なる。以下、当該相違点について、説明する。
ステップS103において、端末識別子が有効である場合(ステップS103において「Yes」の場合)には、認証処理部521は、受信した時刻情報に含まれる識別子とオンラインフラグに応じて、有効期限を特定する(ステップS304)。具体的には、認証処理部521は、有効期限情報テーブル512´を参照して、経路表示識別子512Aと、オンライン/オフラインのいずれかを示すフラグであるオンライン/オフライン512Dと、の組み合わせに該当する認証情報有効期限512Cを特定する。
以上が、第二の実施形態に係るサーバー認証処理の処理フローである。当該フローによれば、接続経路だけでなく、認証情報に含まれるオンライン/オフラインフラグの情報により、ナビゲーション装置との通信がオンライン/オフラインのいずれにあるのかを判定して適切な認証情報有効期限を設定することができる。
なお、上記第二の実施形態に係る認証処理については、オンライン/オフラインフラグの情報は、独立したパラメータとして認証情報450に含まれるものであってもよいし、経路表示識別子の一部を置き換えるものであってもよい。独立したパラメータとして認証情報450に含まれる場合の例としては、オンライン/オフラインフラグの情報は、認証情報450に付加されたCookieのパラメータACCESS=ONLINEあるいはACCESS=OFFLINEとして取り扱われても良いし、HTTP(S)のリクエスト(POSTまたはGET)のパラメータACCESS=ONLINEあるいはACCESS=OFFLINEとして取り扱われても良い。また、経路表示識別子の一部を置き換える場合の例としては、経路表示識別子3桁のうち最終1桁を、オフラインであれば「X」等の固定情報に置き換えるものであってもよい。その場合には、サーバー装置500においては、当該経路表示識別子の最終1桁に応じて、オンラインあるいはオフラインを判定するようにすればよい。
また例えば、上記の第一の実施形態および第二の実施形態においては、時刻情報の一部を、経路表示識別子により置換しているが、これに限らず、経路表示識別子に相当する情報を独立したパラメータで受け渡すものであってもよい。例えば、時刻情報については変更せず、パラメータとしてROUTEを設定して、その値に経路表示識別子(MEMやSMT等、または経路を特定できる情報としての「1」、「2」等)を含ませるようにしてもよい。
このようにすることで、既存の認証方式と混在する環境においては、既存の認証方式で用いる認証情報の一部を変更するに過ぎないため、本願発明に係る認証の方式を通信量やセキュリティポリシーを変更することなく容易に導入することができる。
以上、本発明について、実施形態を中心に説明した。なお、上記の実施形態では、本発明にナビゲーション装置を用いた例について説明したが、本発明はナビゲーション装置に限らず、移動体の経路案内を行う装置全般、例えば車載機、携帯電話、PDA(Personal Digital Assistant)、モバイルPC、音楽プレーヤー等の情報端末全般に適用することができる。