以下、本発明に係る情報端末の実施形態について、図面を用いて説明する。
本実施形態の情報端末は、図1に示すように、車両Cに搭載されるカーナビゲーション装置100である。
カーナビゲーション装置100は、各種演算処理を実行するCPU110と、各種プログラムや各種データ等が格納されているハードディスクドライブ装置等の記憶装置120と、CPU110のワークエリアとなるメモリ101と、DVD等の可搬型ディスク記憶媒体に対するデータの記録再生を行うディスク記録再生装置102と、ディスプレイや入力操作部を備えている入出力装置140と、この入出力装置140のインタフェースであるI/Oインタフェース103と、無線LANによりアクセスポイント2を介して通信ネットワーク1にアクセスするインフラストラクチャ無線装置131と、アクセスポイント2を介さずに他の情報端末と無線通信するアドホック通信装置132と、GPS受信装置133と、放送受信装置134と、を備えている。以上のように、このナビゲーション装置100は、ナビゲーション機能を実現するために、GPS受信装置133等を備えていることを除けば、通常のコンピュータと大差はない。
記憶装置120には、コンピュータウィルス対処データが格納されるウィルス対処データ・データベース121と、データの暗号化及び復号化のための鍵が格納されている暗号処理用鍵テーブル122と、通信先の通信アドレスが格納されている通信アドレステーブル123と、地図情報が格納されている地図情報データベース124と、コンピュータウィルスのチェック後のデータに関する特徴値が格納されるチェック済みファイルリスト125と、が設けられている。さらに、この記憶装置120には、コンピュータウィルス対策プログラム126、インフラストラクチャ通信制御プログラム127a、アドホック通信プログラム127b、暗号処理プログラム126、ナビゲーションプログラム129等の各種プログラムが格納されている。
CPU110は、機能的に、ナビゲーション処理を実行するナビゲーション処理部111と、コンピュータウィルスに対処するコンピュータウィルス対処部112と、記憶装置120に対するデータの入出力を管理するデータ管理部113と、インフラストラクチャ無線装置131やディスク記録再生装置102等の入出力装置に対してウィルス対策を施すウィルス対策入出力制御部114と、インフラストラクチャ通信制御部115と、アドホック通信制御部116と、暗号処理部117と、を有している。これらの機能部のうち、ナビゲーション処理部111は、記憶装置120に格納されているナビゲーションプログラム129をCPU110が実行することで機能する。また、コンピュータウィルス対処部112、データ管理部113、ウィルス対策入出力制御部114は、記憶装置120に格納されているウィルス対策プログラム126をCPU110が実行することで機能する。インフラストラクチャ通信制御部115、アドホック通信制御部116、暗号処理部117は、それぞれ、記憶装置120に格納されているインフラストラクチャ通信プログラム127a、アドホック通信プログラム127b、暗号処理プログラム128をCPU110が実行することで機能する。
前述の通信ネットワーク1には、各車両Cのカーナビゲーション装置100等へ、コンピュータウィルス対処データを提供するウィルス対処データ提供装置200と、カーナビゲーション装置100等へ、地域情報、店情報、交通情報等の各種情報を提供する情報提供装置400と、ウィルス対策が施されている中継装置300とが接続されている。
ウィルス対処データ提供装置200は、図2に示すように、コンピュータであり、各種演算処理を実行するCPU210と、各種プログラムや各種データ等が格納されているハードディスクドライブ装置等の記憶装置220と、CPU210のワークエリアとなるメモリ201と、通信ネットワーク1を介して外部と通信する通信装置231とを備えている。
記憶装置220には、カーナビゲーション装置100等に提供する最新のコンピュータウィルス対処データが格納されているウィルス対処データ・データベース221と、ウィルス対処データの暗号化のための鍵が格納されている暗号処理用鍵テーブル222とが設けられている。さらに、記憶装置220には、図示されていないが、記憶装置220へのデータ入出力制御用のプログラム、暗号処理プログラム、通信制御プログラム等が格納されている。
CPU210は、機能的に、記憶装置220に対するデータの入出力を管理するデータ管理部211と、暗号処理部212と、通信制御部213と、を有している。データ管理部211、暗号処理部212、通信制御部213は、それぞれ、記憶装置220に格納されているデータ入出力制御用のプログラム、暗号処理プログラム、通信制御プログラムをCPU210が実行することで機能する。
中継装置300は、コンピュータであり、各種演算処理を実行するCPU310と、各種プログラムや各種データ等が格納されているハードディスクドライブ装置等の記憶装置320と、CPU310のワークエリアとなるメモリ301と、通信ネットワーク1を介して外部と通信する通信装置331とを備えている。
記憶装置320には、最新のコンピュータウィルス対処データが格納されているウィルス対処データ・データベース321と、カーナビゲーション装置100等からのメッセージを情報提供装置400等に中継する際に必要な通信アドレス等が格納される中継用テーブル322とが設けられている。さらに、記憶装置320には、コンピュータウィルス対策プログラム323と、通信プログラム324と、記憶装置320に対するデータ入出力制御用のプログラム(図示されていない)等が格納されている。
CPU310は、機能的に、コンピュータウィルスに対処するコンピュータウィルス対処部311と、通信制御部312と、図示されていないデータ管理部と有している。コンピュータウィルス対処部311、通信制御部312、データ管理部は、それぞれ、記憶装置320に格納されているコンピュータウィルス対策プログラム323、通信プログラム324、記憶装置320に対するデータ入出力制御用のプログラムを、CPU310が実行することで機能する。
情報提供装置400は、コンピュータであり、各種演算処理を実行するCPU410と、各種プログラムや各種データ等が格納されているハードディスクドライブ装置等の記憶装置420と、CPU410のワークエリアとなるメモリ401と、通信ネットワーク1を介して外部と通信する通信装置431とを備えている。
記憶装置420には、カーナビゲーション装置100等へ提供する地域情報、店情報、交通情報等が格納されている情報データベース421が設けられている。記憶装置420には、さらに、図示されていない、通信プログラムや記憶装置320に対するデータ入出力制御用のプログラム等が格納されている。
CPU410は、機能的に、記憶装置420に対するデータの入出力を管理するデータ管理部411と、通信制御部412とを有している。データ管理部411、通信制御部412は、それぞれ、記憶装置420に対するデータ入出力用のプログラム、通信プログラムをCPU410が実行することで機能する。
次に、本実施形態の各装置の動作について説明する。
まず、図5に示すフローチャートに従って、情報要求の受付時におけるカーナビゲーション装置100の動作について説明する。
データ管理部113は、情報要求を受け付けると(S111)、ウィルス対処データ・データベース121に格納されているデータがコンピュータウィルスに対する対処十分条件を満たしているか否かを判断する(S112)。この情報要求は、例えば、運転者が入出力装置140の操作により、ある店の情報を情報提供装置400に要求する場合や、データ管理部113自身がウィルス対処データの予め定められた更新期間(例えば、1週間)を経過したと判断して、ウィルス対処データをウィルス対処データ提供装置200に要求する場合に発生する。また、ここでの対処十分条件は、ウィルス対処データ・データベース121に格納されているデータの更新タイムスタンプが現時点から予め定められた期間(例えば、1週間)未満であることである。
ここで、図3を用いて、記憶装置120に設けられているウィルス対処データ・データベース121について説明する。
ウィルス対処データ・データベース121は、図3に示すように、各種コンピュータウィルス毎の特徴パターンを示す特徴パターンデータが格納される特徴パターンデータ欄121dと、特徴パターンデータの更新処理を行った日時が格納される更新タイムスタンプ欄121aと、特徴パターンデータの作成日時が格納される作成タイムスタンプ欄121bと、特徴パターンデータの作成元の電子署名が格納される電子署名欄121cとがある。
前述のステップS112において、データ管理部113は、ウィルス対処データベース121の更新タイムスタンプ欄121aを参照し、最新の更新日時と現日時とを比較し、両者の日時差が予め定められた期間(例えば、1週間)未満であるか否かを判断し、この期間未満である場合には、対処十分条件を満たすとする。
データ管理部113は、ステップS112で対処十分条件を満たすと判断すると、インフラストラクチャ通信制御部115に、要求先への情報要求パケットを作成させる(S113)。続いて、インフラストラクチャ通信制御部115が通信可能なアクセスポイント2が存在するか否かを判断する(S115)。無線LANでは、アクセスポイント2がビーコンを発信している。インフラストラクチャ通信制御部115は、インフラストラクチャ無線装置131が受信したアクセスポイント2からのビーコンが予め定められた電波強度以上であるか否かで、このアクセスポイント2と通信可能か否かを判断する。
インフラストラクチャ通信制御部115は、通信可能なアクセスポイント2が存在すると判断すると、ステップS113で作成されたパケット又は後述のステップS114で作成されたパケットをインフラストラクチャ無線装置131に送信させて(S117)、一連の情報要求処理を終了する。一方、インフラストラクチャ通信制御部115は、通信可能なアクセスポイント2が存在しないと判断すると、パケット送信準備が完了(パケットの作成が完了)した時点から予め定められた時間以内であるか否かを判断し(S116)、予め定められた時間以内である場合にはステップS115に戻り、予め定められた期間を超えた場合には、パケット送信をせずに、一連の情報要求処理を終了する。すなわち、本実施形態のカーナビゲーション装置100を搭載している車両Cの現在地に対して、通信可能な位置にアクセスポイント2が存在しない場合には、情報要求を受け付けたとしても、この要求を要求先に送信できない場合がある。なお、情報要求を要求先へ送信できない場合には、入出力装置140のディスプレイに、要求パケット送信ができなかった旨を表示することが好ましい。
また、ステップS112で、データ管理部113が対処十分条件を満たさないと判断すると、ウィルス対策入出力制御部114にその旨を伝える。ウィルス対策入出力制御部114は、通信アドレステーブル123を参照して、対処十分条件を満たさないときの宛先アドレスとして、中継装置300の通信アドレスを取得すると共に、情報要求先を最終的な送信先アドレスとし、宛先アドレス及び最終的な送信先アドレスをインフラストラクチャ通信制御部115に渡す。さらに、ウィルス対策入出力制御部114は、情報要求のメッセージ番号を定め、これもインフラストラクチャ制御部115に渡す。そして、インフラストラクチャ通信制御部115は、中継装置300経由での要求先への情報要求パケットを作成する(S114)。
ここで、中継装置300経由での要求先への情報要求パケットについて、図12を用いて説明する。
この情報要求パケット10は、ヘッダ部11とペイロード部15とを有している。ヘッダ部11は、送信元アドレスが格納される送信元アドレス領域12と宛先アドレスが格納される宛先アドレス領域13とを有している。送信元アドレス領域12には、カーナビゲーション装置100自身の通信アドレスが格納され、宛先アドレス領域13には、ウィルス対策入出力制御部114が指定した中継装置300の通信アドレスが格納される。また、ペイロード部15は、情報要求メッセージが格納されるメッセージ領域16と、このメッセージのメッセージ番号が格納されるメッセージ番号領域17と、送信先アドレスが格納される送信先アドレス領域18とを有している。メッセージ番号領域17には、ウィルス対策入出力制御部114が指定したメッセージ番号が格納される。このメッセージ番号は、メッセージ領域16に格納される情報要求メッセージを一意に特定する番号である。また、送信先アドレス領域18には、ウィルス対策入出力制御部114が指定した、最終的な送信先、つまり情報要求先の通信アドレスが格納される。
インフラストラクチャ通信制御部115は、中継装置300経由での要求先への情報要求パケットを作成すると(S114)、前述したように、通信可能なアクセスポイント2が存在するか否かを判断し(S115)、通信可能なアクセスポイント2が存在すれば、ステップS114で作成したパケットをインフラストラクチャ無線装置131に送信させて(S117)、一連の情報要求処理を終了する。
以上のように、本実施形態では、通信ネットワーク1経由で情報要求をする際に、コンピュータウィルスに対する対処が不十分な場合には、コンピュータウィルス対処が十分な中継装置300経由で、情報要求先と通信するようにして、カーナビゲーション装置100がコンピュータウィルスに侵される可能性を小さく抑えている。
次に、前述したステップS113で作成された情報要求パケットが、ウィルス対処データ提供装置200に対するウィルス対処データの要求パケットであるとし、その場合のウィルス対処データ提供装置200の動作について説明する。
ウィルス対処データ提供装置200のウィルス対処データ・データベース221には、各種コンピュータウィルス毎の特徴パターンを示す特徴パターンデータとして、過去のものから最新のものまで格納されている。このウィルス対処データ・データベース221には、特徴パターンデータの他、該当特徴パターンデータの作成日時が格納される作成タイムスタンプと、該当特徴パターンデータの作成元の電子署名とが組になって格納されている。
ウィルス対処データ提供装置200の通信制御部213が、カーナビゲーション装置100からウィルス対処データ要求パケットを受信すると、データ管理部211に、ウィルス対処データ・データベース211から、最新の特徴パターンデータ、この作成タイムスタンプ、この作成元の電子署名の組(以下、特徴パターンデータ、作成タイムスタンプ、電子署名の組を特徴パターンデータ組とする)を抽出する。暗号処理部212は、この特徴パターンデータ組を、暗号処理用鍵テーブル222に格納されている秘密鍵を用いて暗号化する。通信制御部213は、これをパケット化し、ウィルス対処データ要求パケットの送信元のカーナビゲーション装置100へ送信する。
なお、ウィルス対処データ提供装置200は、中継装置300を介して、カーナビゲーション装置100からのウィルス対処データ要求パケットを受信した場合には、ウィルス対処データである特徴パターンデータの組を暗号化せずに、中継装置300を介して、このカーナビゲーション装置100に送信する。これは、後述するように、中継装置300では、コンピュータウィルスチェックをするため、暗号化されていると、ウィルスチェックを行えないからである。中継装置300経由での通信で、特徴パターンデータ組を暗号化させない方法としては、ウィルス対処データ提供装置200に対して、中継装置300経由での通信では暗号化しない旨を予め定めておくか、要求元のカーナビゲーション装置100からのデータ要求パケットに、データ提供にあってはデータを暗号化しない旨のメッセージを組み込んでおく方法等がある。
次に、前述したステップS114で作成された情報要求パケットを受信した中継装置300の動作について説明する。
中継装置300の通信制御部312が、情報要求元のカーナビゲーション装置100から情報要求パケットを受信すると、ウィルス対処部311が、この情報要求パケット内のデータ中に、ウィルス対処データ・データベース321に格納されている特徴パターンデータのうちのいずれかに対応するものがあるか否かをチェックする。いずれかの特徴パターンデータに対応するものがある場合には、この情報要求パケットを破棄する。いずれの特徴パターンデータにも対応するものがなければ、通信制御部312が、この情報要求パケットを解析して、解析で得られたデータを中継用テーブル322に格納する。
この中継用テーブル322は、情報要求に対する応答を情報要求先から受けた際に、この応答を情報要求元のカーナビゲーション装置100へ送るためのデータを格納するテーブルである。この中継用テーブル322は、図4に示すように、受信した情報要求パケットの送信元のアドレスが格納される送信元アドレス領域322aと、この情報要求パケットの最終的な送信先のアドレスが格納される送信先アドレス領域322bと、この情報要求パケットに含まれているメッセージ番号が格納されるメッセージ番号領域322cとを有する。
通信制御部312は、受信した情報要求パケット10(図12)の送信元アドレス領域12に格納されている送信元アドレス、送信先アドレス領域18に格納されている送信先アドレス、メッセージ番号領域17に格納されているメッセージ番号を、それぞれ、中継用テーブル322の送信元アドレス領域322a、送信先アドレス領域322b、メッセージ番号領域322cに格納する。
次に、通信制御部312は、図12に示すように、情報要求転送パケット10aの宛先アドレス領域13aに、カーナビゲーション装置100からの情報要求パケット10の送信先アドレス領域18に格納されている通信アドレスを格納し、情報要求転送パケット10aの送信元アドレス領域12aに、カーナビゲーション装置100からの情報要求パケット10の宛先アドレス領域13に格納されている通信アドレス、つまり、中継装置300の通信アドレスを格納する。さらに、この情報要求転送パケット10aのペイロード部15aの情報要求メッセージ領域16、メッセージ番号領域17に、それぞれ、カーナビゲーション装置100からの情報要求パケット10の情報要求メッセージ領域16に格納されている情報要求メッセージ、メッセージ番号領域17に格納されているメッセージ番号を格納する。そして、この情報要求転送パケット10aを通信ネットワーク1へ送出する。すなわち、情報要求パケット10に含まれている情報要求メッセージを要求先へ転送する。
ここで、情報要求転送パケット10aの宛先アドレス領域13aに格納されている通信アドレス、つまり、カーナビゲーション装置100からの情報要求パケット10の送信先アドレス領域18に格納されている通信アドレスが、情報提供装置400の通信アドレスであるとする。
この場合、情報要求転送パケット10aを情報提供装置400の通信装置431が受信する。情報提供装置400の通信制御部412は、この情報要求転送パケット10aを解析して、このパケット10aに含まれている情報要求メッセージをデータ管理部411に渡す。データ管理部411は、情報データベース421に格納されている各種情報のうちから、この情報要求メッセージが要求している情報を抽出して、通信制御部431に渡す。
通信制御部431は、データ管理部411からの情報を、図12に示す応答パケット20の応答メッセージ領域16bに格納する。さらに、この応答パケット20の送信元アドレス領域12b、宛先アドレス領域13b、メッセージ番号領域17に、それぞれ、中継装置300からの情報要求転送パケット10aの宛先アドレス領域13aに格納されている通信アドレス、この情報要求転送パケット10aの送信元アドレス領域12aに格納されている通信アドレス、この情報要求パケット10aのメッセージ番号領域17に格納されているメッセージ番号を格納する。そして、この応答パケット20を通信ネットワーク1へ送出する。
中継装置300の通信制御部312は、通信装置331を介して、この応答パケット20を受け取ると、ウィルス対処部311が、この応答パケット内のデータ中に、ウィルス対処データ・データベース321に格納されている特徴パターンデータのうちのいずれかに対応するものがあるか否かをチェックする。いずれかの特徴パターンデータに対応するものがある場合には、この応答パケットを破棄する。いずれの特徴パターンデータに対応するものがなければ、通信制御部312が、この応答パケットに基づき、後述の応答転送パケットを作成する。
通信制御部312は、応答転送パケットの作成にあたり、まず、応答パケット20のメッセージ番号領域17に格納されているメッセージ番号、この応答パケット20の送信元アドレス領域12bに格納されている通信アドレスが、それぞれ、中継用テーブル222のメッセージ番号領域322c、送信先アドレス領域322bに格納されているレコードが存在するか否かを判断する。該当するレコードが存在する場合には、このレコードの送信元アドレス領域322aに格納されている通信アドレス、つまり、情報要求元のカーナビゲーション装置100の通信アドレスを取得する。次に、図12に示すように、応答転送パケット20aの宛先アドレス領域13cに、中継用テーブル222の送信元アドレス領域322aから取得した情報要求元のカーナビゲーション装置100の通信アドレスを格納し、応答転送パケット20aの送信元アドレス領域12cに、応答パケット20の宛先アドレス領域13bに格納されている中継装置300の通信アドレスを格納する。さらに、応答パケット20のペイロード部15bの応答メッセージ領域16bに格納されている応答メッセージ、メッセージ番号領域17に格納されているメッセージ番号を、それぞれ、応答転送パケット20aのペイロード部15bの応答メッセージ領域16b、メッセージ番号領域17に格納する。そして、通信制御部312は、この応答転送パケット20aを通信ネットワーク1へ送出する。
この応答転送パケット20aは、通信ネットワーク1に接続されている複数のアクセスポイント2のうちのいずれかのアクセスポイント2と通信可能な位置に、情報要求元のカーナビゲーション装置100が存在する場合、このカーナビゲーション装置100に受信される。
次に、カーナビゲーション装置100のインフラストラクチャ無線装置131が通信ネットワーク1から通信パケットを受信した際の動作について、図6に示すフローチャートに従って説明する。
インフラストラクチャ通信制御部115は、インフラストラクチャ無線装置131が通信ネットワーク1から通信パケットを受信したか否かを常に監視しており(S121)、インフラストラクチャ無線装置131が通信ネットワーク1からデータを受信したことを検知すると、その旨をデータ管理部113に通知する。
データ管理部113は、この通知を受けると、ウィルス対処データ・データベース121に格納されているデータがコンピュータウィルスに対する対処十分条件を満たしているか否かを判断する(S122)。このデータ管理部113の判断は、図5におけるステップS112におけるデータ管理部113の判断と同様である。
データ管理部113は、対処十分条件を満たしていないと判断すると、受信した通信パケットのヘッダ部の情報から送信元がどこであるかを調べる(S123)。そして、送信元が中継装置300である場合には、ステップS127に進み、送信元が中継装置300を除く装置である場合には、受信した通信パケットを破棄して(S159)、一連の処理を終了する。
また、データ管理部113は、ステップS122で対処十分条件を満たしていると判断した場合も、受信した通信パケットのヘッダ部の情報から送信元がどこであるかを調べる(S124)。データ管理部113は、送信元がウィルス対処データ提供装置200である場合には、暗号処理部117に、通信パケット内のデータに復号化処理を施させる(S125)。
ウィルス対処データ提供装置200からの特徴パターンデータ組は、前述したように、ウィルス対処データ提供装置200において、秘密鍵で暗号化されている。そこで、カーナビゲーション装置100の暗号化処理部117は、この秘密鍵に対する公開鍵を暗号処理用鍵テーブル122から抽出して、この公開鍵で特徴パターンデータ組を復号化する。
次に、データ管理部113は、暗号化処理部117による通信パケット内のデータの復号化が成功したか否かを判断する(S126)。復号化に失敗していれば、受信した通信パケットを破棄して(S159)、一連の処理を終了する。
前述したステップS123で、通信パケットの送信元が中継装置300であると判断された場合に加え、ステップS124で、通信パケットの送信元がウィルス対処データ提供装置200ではないと判断された場合、さらに、ステップS126で、復号化に成功したと判断された場合には、いずれも、ステップS127に進む。
ステップS127では、ウィルス対処部112が、通信パケット内のデータ中に、ウィルス対処データ・データベース121中の特徴パターンデータに対応するものがあるか否かをチェックする。なお、本実施形態では、前述したように、最新の特徴パターンデータで、コンピュータウィルスチェックを行う中継装置300から送信されてきた通信パケット内のデータに関しても、ウィルスチェックを行うようにしているが、中継装置300から送信されてきた通信パケット内のデータに関しては、これを行わず、直ちに、後述のステップS129に進むようにしてもよい。
ウィルス対処部112によるウィルスチェックの結果、この通信パケット内のデータにコンピュータウィルスが在った場合には、この通信パケットは、データ管理部113により破棄される(S159)。コンピュータウィルスが見つからなければ、データ管理部113が、この通信パケット内のデータに対して、どのような処理をすべきか判断する(S129)。
登録処理が必要であると判断して場合には、このデータ管理部113により、記憶装置120内の所定領域への登録処理が実行され(S160)、一連の処理を終了する。また、返信処理等の他の処理が必要であると判断した場合、CPU110の諸機能によりこの他の処理が実行され(S158)、一連の処理を終了する。
以上のように、本実施形態では、通信ネットワーク1から通信パケットを受信した際に、コンピュータウィルスに対する対処が不十分な場合には、コンピュータウィルス対処が十分な中継装置300経由での通信パケットのみを受信し、他の通信パケットを破棄して、カーナビゲーション装置100がコンピュータウィルスに侵されるのを防いでいる。
次に、カーナビゲーション装置100のアドホック無線装置132が通信パケットを受信した際、及び通信パケットを送信する際の動作について、図7に示すフローチャートに従って説明する。
アドホック通信制御部116は、常に、アドホック通信可能な相手が存在するか否かを監視している(S131)。アドホック通信制御部116は、アドホック通信可能な相手が存在する場合、この相手から所定時間内に通信パケットを受信したか否かを判断する(S132)。所定時間内にアドホック通信パケットを受信しなければ、データ管理部113が、ウィルス対処データ・データベース121の作成タイムスタンプ領域121b(図3)に格納されているタイムスタンプのうちから最新のタイムスタンプを取得し(S141)、これを暗号処理部117に渡し、暗号化させる(S142)。暗号処理部117は、この際、カーナビゲーション装置相互間でウィルス対処データの共有化サービスを受けるカーナビゲーション装置群が共有する対称鍵を暗号処理用鍵テーブル122から取得し、この対称鍵で、前述の最新のタイムスタンプを暗号化する。最新の作成タイムスタンプが暗号化すると、アドホック通信制御部116は、これをパケット化し、アドホック通信可能な相手に、これを送信する(S143)。
このように、作成タイムスタンプを暗号化することにより、外部の第三者が、当該カーナビゲーション装置100で扱われていないウィルス対処データを知る手掛かりを隠蔽することができる。また、あるタイムスタンプが、暗号化のたびに、同じ暗号文にならないように、対称鍵と乱数データとを用いて、タイムスタンプを暗号化するようにしてもよい。
なお、ここでは、送信相手が、カーナビゲーション装置相互間でウィルス対処データの共有化サービスを受けるとしたカーナビゲーション装置群のうちの一のカーナビゲーション装置であるか否かに関わらず、最新のタイムスタンプを送信しているが、これは暗号化されているため、仮に、送信相手が共有化サービスを受けるカーナビゲーション装置でなくても、基本的に問題ない。但し、好ましくは、通信相手の存在を確認した時点で(S131)、この通信相手が共有化サービスを受けるカーナビゲーション装置であるか否かを調べ、このカーナビゲーション装置である場合にのみ、最新のタイムスタンプを送信することが好ましい。
また、ここでは、アドホック通信可能な相手から所定時間内に通信パケットを受信しなければ(ステップS132でNOの場合)、ステップS141及びステップS142の処理を経て、最新の生成タイムスタンプを相手先に送信(S143)するようにしているが、アドホック通信可能な相手から所定時間内に通信パケットを受信しないとき(ステップS132でNOの場合)、所定の条件を満たしたときのみ、ステップS141及びステップS142の処理を経て、最新のタイムスタンプを相手先に送信(S143)するようにしてもよい。この場合、当該カーナビゲーション装置100を搭載している車両Cの運転手が、入出力装置140から最新のタイムスタンプの送信指示をすること、以前に最新のタイムスタンプを送信してから所定期間経過していること、CPU110の負荷が所定値以下になっていること等、を所定の条件にするとよい。
また、アドホック通信可能な相手が複数存在する場合には、これら相手に、タイムスタンプをブロードキャストで送信するようにしてもよいし、これら相手のうち、所定の基準を満たした相手のみにユニキャストでタイムスタンプを送信するようにしてもよい。
また、以上では、タイムスタンプを暗号化するにあたって、対称鍵を用いているが、同一のタイムスタンプを暗号化のたびに、同じ暗号文にならないように、対称鍵と乱数データとを用いて、タイムスタンプを暗号化するようにしてもよい。
ステップS132で、アドホック通信制御部116が、所定時間以内にアドホック通信可能な相手からアドホック通信パケットを受信したと判断した場合には、データ管理部113が、ウィルス対処データ・データベース121に格納されているデータがコンピュータウィルスに対する対処十分条件を満たしているか否かを判断する(S133)。このデータ管理部113の判断は、図5におけるステップS112におけるデータ管理部113の判断と同様である。
データ管理部113は、対処十分条件を満たしていないと判断すると、受信したアドホック通信パケットのヘッダ部の情報から送信元がどこであるかを調べる(S145)。そして、送信元が前述の共有化サービスを受けるカーナビゲーション装置でない場合には、受信した通信パケットを破棄して(S149)、一連の処理を終了する。なお、送信元が共有化サービスを受けるカーナビゲーション装置であるか否かは、アドホック通信パケットのヘッダ部に格納されている送信元アドレスを調べ、この送信元アドレス中に、共有化サービスを受けるカーナビゲーション装置に共通する部分が存在するか否かで判断する。
また、データ管理部113は、ステップS133で対処十分条件を満たしていると判断した場合も、受信した通信パケットのヘッダ部の情報から送信元がどこであるかを調べる(S134)。そして、送信元が共有化サービスを受けるカーナビゲーション装置でない場合には、ステップS137に進む。また、ステップS145及びステップS134で、送信元が共有化サービスを受けるカーナビゲーション装置であると判断した場合には、データ管理部113は、暗号処理部117に、アドホック通信パケット内のデータに復号化処理を施させる(S135)。
なお、ステップS145、ステップS134で送信元がカーナビゲーション装置であるか否かの判定を行っているが、特にこれを行わず、ステップS136で復号化が成功したと判断した場合には、この復号化に成功した通信パケットの送信元がカーナビゲーション装置であるとみなして処理してもよい。
共有化サービスを受けるカーナビゲーション装置からのアドホック通信パケット内のデータは、共有化サービスを受けるカーナビゲーション装置群が共有する対称鍵により暗号化されている。そこで、ステップS145及びステップS134で、送信元が共有化サービスを受けるカーナビゲーション装置であると判断した場合には、ステップS135において、暗号処理部117が、暗号処理用テーブル122に格納されている対称鍵を用いて、アドホック通信パケット内のデータを復号化する。
次に、データ管理部113は、暗号化処理部117によるアドホック通信パケット内のデータの復号化が成功したか否かを判断する(S136)。復号化に失敗していれば、受信したアドホック通信パケットを破棄して(S149)、一連の処理を終了する。この復号化に失敗する原因としては、伝送途中でのデータ改変、伝送途中でのウィルス等による攻撃等が考えられる。また、復号化に成功した場合、及びステップS134でアドホック通信パケットの送信元が共有サービスを受けるカーナビゲーション装置でないと判断された場合には、ウィルス対処部112が、アドホック通信パケット内のデータ中に、ウィルス対処データ・データベース121中の特徴パターンデータに対応するものがあるか否かをチェックする(S137)。
ウィルス対処部112によるウィルスチェックの結果、アドホック通信パケット内のデータにコンピュータウィルスが在った場合には、このアドホック通信パケットは、データ管理部113により破棄される(S149)。コンピュータウィルスが見つからなければ、データ管理部113が、このアドホック通信パケット内のデータに対して、どのような処理をすべきか判断する(S139)。
アドホック通信パケット内のデータに作成タイムスタンプが格納されている場合には、後述のタイムタイムスタンプ処理が必要であると判断され、この場合には、タイムスタンプ処理が実行され(S150)、一連の処理を終了する。また、登録処理が必要であると判断された場合には、このデータ管理部113により、記憶装置120内の所定領域への登録処理が実行され(S160)、一連の処理を終了する。この登録処理で、登録対処がウィルス対処データである場合には、このウィルス対処データがウィルス対処データ・データベース121に登録される。さらに、返信処理等の他の処理が必要であると判断された場合、CPU110の諸機能によりこの他の処理が実行され(S148)、一連の処理を終了する。
次に、図8に示すフローチャートに従って、ステップS150におけるタイムスタンプ処理の詳細について説明する。
まず、データ管理部113が、ウィルス対処データ・データベース121の作成タイムスタンプ領域121b(図3)に格納されているタイムスタンプのうちから最新のタイムスタンプを取得する(S151)。次に、データ管理部113は、アドホック通信で受信したアドホック通信パケット中に含まれている生成タイムスタンプと、ステップS151で取得したタイムスタンプとの新旧を比較する(S152)。ステップS151で取得したタイムスタンプの方が古ければ、図7中のステップS142に進み、このタイムスタンプが暗号化され、これが通信相手に送信される(S143)。
また、ステップS151で取得したタイムスタンプと、アドホック通信パケット中に含まれる生成タイムスタンプと、が同じであれば、このタイムスタンプ処理(S150)を終了する。これは、自身が所有している最新の特徴パターンデータ群と同じものを相手方も所有しているからである。
また、ステップS151で取得したタイムスタンプが、アドホック通信パケット中に含まれる生成タイムスタンプより新しければ、ウィルス対処データ・データベース121から、アドホック通信パケット中に含まれている生成タイムスタンプより新しい全ての生成タイムスタンプに対応する特徴パターンデータ群を抽出し、これを暗号処理部117に渡す(S153)。暗号処理部117は、この特徴パターンデータ群を対称鍵により暗号化して(S154)、アドホック通信制御部116に渡す。アドホック通信制御部116は、この暗号化された特徴パターンデータ群をパケット化し、アドホック無線装置132から無線送信し(S155)、このタイムスタンプ処理(S150)を終了する。すなわち、自身の生成タイムスタンプが相手方の生成タイムスタンプより新しければ、自身の方が新しい特徴パターンデータ群を保持していることになるので、この特徴パターンデータ群を相手方に送信する。
なお、ステップS154で、特徴パターンデータ群を暗号化するのは、当該カーナビゲーション装置100が保持している特徴パターンデータを外部の第三者に隠蔽するためである。
次に、図9に示すフローチャートに従って、図6及び図7中のステップS160における登録処理の詳細について説明する。
登録処理では、まず、データ管理部113が、受信パケット中のデータが記憶装置120に既に登録済みのデータであるか否かを判断する(S161)。登録済みのデータである場合には、このデータを廃棄して(S164)、処理を終了する。また、未登録のデータである場合には、このデータがウィルス対処データ(特徴パターンデータ群)であるか否かを判断する(S162)。このデータがウィルス対処データである場合には、このデータに含まれている電子署名が正規のものであるか否かを検証する(S163)。この場合、ウィルス対処データの作成元の公開鍵証明書を記憶装置120に予め登録しておき、データ管理部113がこの証明書を利用して検証する。
ウィルス対処データに含まれている電子署名が正規のものでなければ、このデータを廃棄して(S164)、処理を終了する。また、電子署名が正規のものであると判断された場合、及び、ステップS162の判断でこのデータがウィルス対処データでないと判断された場合に、このデータを記憶装置120に登録して、処理を終了する。なお、受信パケット中のデータがウィルス対処データである場合には、これを記憶装置120中のウィルス対処データ・データベース121に登録する。なお、ウィルス対処データを登録する際には、復号化(S135)したものをそのまま登録してもよいが、ウィルス対処部112が利用する形態に整理し直した後、登録してもよい。
以上のように、本実施形態では、共有化サービスを受ける他のカーナビゲーション装置との間でのアドホック通信により、特徴パターンデータの生成タイムスタンプを受信し、自生成タイムスタンプの方が新しければ、最新の特徴パターンデータ群をこの他のカーナビゲーション装置へ送信し、自生成タイムスタンプの方が古ければ、自生成タイムスタンプを他のカーナビゲーション装置へ送信して、この他のカーナビゲーション装置から最新の特徴パターンデータ群を受信している。また、すなわち、本実施形態では、共有化サービスを受けるカーナビゲーション装置相互間で、アドホック通信により、最新の特徴パターンデータ群の共有化を図っている。
次に、ディスク記録再生装置102に装着された可搬型ディスク記憶媒体Dに対する書込/読出処理について、図10のフローチャートに従って説明する。
データ管理部113は、常時、ディスク記録再生装置102にディスクが装着されたか否かを監視している(S171)。ディスクが装着されている場合、データ管理部113は、入出力装置140から指示等に従って、このディスクに対してデータ書込処理を行うかデータ読出処理を行うかを判断する(S172)。データ書込処理を行うと判断した場合には、入出力装置140から指示等に従って、記憶装置120に格納されているデータの一部や入出力装置140から入力されたデータ等を、ディスク記録再生装置102により、ディスクに書き込ませて(S181)、処理を終了する。
データ管理部113は、読込処理を行うと判断した場合には、ウィルス対処部112に、ディスク中のデータにコンピュータウィルスが存在するか否かをチェックさせる。この際、ウィルス対処部112は、ディスク中のデータに、ウィルス対処データ・データベース121中の特徴パターンデータに対応するものがあるか否かをチェックする(S173)。
ウィルス対処部112によるウィルスチェックの結果、コンピュータウィルスが在った場合には、ウィルス対策入出力制御部114により、このディスクのデータには、コンピュータウィルスが存在する旨が、入出力装置140に表示される(S183)。当該カーナビゲーション装置100が搭載されている車両Cの運転者等は、この表示を見て、ディスク記録再生装置102からディスクを取り出す等の処理を行う。また、この際、運転者が入出力装置140を操作して、ディスク中のデータを記憶装置120に登録しようとしても、ウィルス対策入出力制御部114により、この登録が拒否される。すなわち、このデータの利用が拒否される。
ウィルス対処部112がディスク中のデータにコンピュータウィルスが存在しないと判断すると、データ管理部113が、ウィルス対処データ・データベース121に格納されているデータがコンピュータウィルスに対する対処十分条件を満たしているか否かを判断する(S175)。このデータ管理部113の判断は、図5におけるステップS112におけるデータ管理部113の判断と同様である。
データ管理部113は、対処十分条件を満たしていると判断すると、ディスク中のデータから特徴値を抽出し(S176)、これを記憶装置120のチェック済みファイルリスト125に記録し(S177)、ステップS179に進む。なお、データの特徴値は、このデータのハッシュ値であってもよい。また、データ管理部113は、ステップS175で、対処十分条件を満たしていないと判断すると、ディスク中のデータに、チェック済みファイルリスト125に記録されている特徴値を持つものが存在するか否かを調べる(S178)。ディスク中のデータに、チェック済みファイルリスト125に記録されている特徴値が存在する場合、ディスク中のデータと対応するデータが過去に不正なデータでなかったことが確認されているので、このディスク中のデータも安全であるとみなし、ステップS179に進む。また、ディスク中のデータに、チェック済みファイルリスト125に記録されている特徴値が存在しない場合、このディスク中のデータは、コンピュータウィルスが存在する可能性があるので、ウィルス対策入出力制御部114により、このディスクのデータには、コンピュータウィルスが存在する可能性がある旨が、入出力装置140に表示される(S183)。また、この際も、運転者が入出力装置140を操作して、ディスク中のデータを記憶装置120に登録しようとしても、ウィルス対策入出力制御部114により、この登録が拒否される。
ステップS179では、データ管理部113が、このディスク中のデータに対して、どのような処理をすべきか判断する(S179)。ディスク中のデータに作成タイムスタンプが格納されている場合には、タイムスタンプ処理が必要であると判断され、この場合には、タイムスタンプ処理が実行され(S190)、一連の処理を終了する。また、登録処理が必要であると判断された場合には、このデータ管理部113により、記憶装置120内の所定領域への登録処理が実行され(S160(図9))、一連の処理を終了する。この登録処理で、登録対処がウィルス対処データである場合には、このウィルス対処データがウィルス対処データ・データベース121に登録される。さらに、表示処理等の他の処理が必要であると判断された場合、CPU110の諸機能によりこの他の処理が実行され(S182)、一連の処理を終了する。
次に、図11に示すフローチャートに従って、ステップS190におけるタイムスタンプ処理の詳細について説明する。
まず、データ管理部113が、図8を用いて説明したタイムスタンプ処理(S150)と同様に、ウィルス対処データ・データベース121の作成タイムスタンプ領域121b(図3)に格納されているタイムスタンプのうちから自端末が持つ最新のタイムスタンプを取得する(S191)。次に、データ管理部113は、ディスクのデータ中に含まれている生成タイムスタンプと、ステップS191で取得したタイムスタンプとの新旧を比較する(S192)。ステップS191で取得した自端末の最新のタイムスタンプの方が古ければ、ディスク記録再生装置102により、ステップS191で取得した自端末の最新のタイムスタンプをディスクに書き込ませて(S195)、このタイムスタンプ処理(S190)を終了する。このように、ステップS191で取得したタイムスタンプ、つまり自タイムスタンプをディスクに書き込ませるのは、先にこのディスクにタイムスタンプを書き込んだ装置へ、自タイムスタンプを知らせることで、自タイムスタンプよりも新しい特徴パターンデータを必要としていることを伝えるためである。
また、ステップS191で取得した自端末の最新のタイムスタンプと、ディスクのデータ中に含まれる生成タイムスタンプと、が同じであれば、このタイムスタンプ処理(S150)を終了する。これは、自身が所有している最新の特徴パターンデータ群と同じものを相手方も所有しているからである。
また、ステップS191で取得した自端末の最新のタイムスタンプが、ディスクのデータ中に含まれる生成タイムスタンプより新しければ、ウィルス対処データ・データベース121から、ディスクのデータ中に含まれている生成タイムスタンプより新しい全ての生成タイムスタンプに対応する特徴パターンデータ群を抽出し(S193)、ディスク記録再生装置102により、この特徴パターンデータ群をディスクに書き込ませて(S194)、このタイムスタンプ処理(S150)を終了する。すなわち、自身の生成タイムスタンプが相手方の生成タイムスタンプより新しければ、自身の方が新しい特徴パターンデータ群を保持していることになるので、先にこのディスクにタイムスタンプを書き込んだ装置へ、この特徴パターンデータ群を知らせる。
以上のように、本実施形態では、共有化サービスを受ける他のカーナビゲーション装置との間での記憶媒体のやり取りで、特徴パターンデータの生成タイムスタンプを受け取り、自生成タイムスタンプの方が新しければ、最新の特徴パターンデータ群をこの他のカーナビゲーション装置へ記憶媒体を介して渡し、自生成タイムスタンプの方が古ければ、自生成タイムスタンプを他のカーナビゲーション装置へ記憶媒体を介して渡して、この他のカーナビゲーション装置から、記憶媒体を介して最新の特徴パターンデータ群を受け取っている。すなわち、本実施形態では、共有化サービスを受けるカーナビゲーション装置相互間で、記憶媒体のやり取りにより、最新の特徴パターンデータ群の共有化を図っている。
なお、以上の実施形態では、ディスク型記憶媒体を利用する場合を例示しているが、本発明は、これに限定されるものではなく、他の可搬型記憶媒体、例えば、メモリデバイス等を利用してもよいことは言うまでもない。
以上、本実施形態によれば、定期的に、最新のウィルス対処データ(特徴パターンデータ群)をウィルス対処データ提供装置200から取得するようにしているが、このウィルス対処データ提供装置200から最新のウィルス対処データを取得できず、最新のウィルス対処データを保持していないときに通信ネットワーク1を利用して通信を行う際には、ウィルス対処が十分な中継装置300を介して、通信を行うようにしているので、カーナビゲーション装置100がコンピュータウィルスに侵される可能性を低下させることができる。この場合、本実施形態では、最新のウィルス対処データを保持していないときにでも、中継装置300を介した通信を許容しているので、通信ネットワーク1との接続を完全に遮断する場合と比べて、運転者等の不都合を小さく抑えることができる。
また、本実施形態では、このウィルス対処データ提供装置200から最新のウィルス対処データを取得できず、最新のウィルス対処データを保持していないときには、ディスク記録再生装置102からのデータの取り込みも制限しているので、この点からも、カーナビゲーション装置100がコンピュータウィルスに侵される可能性を低下させることができる。この場合、ディスク記録再生装置100からのデータ取込を一律に制限するのではなく、過去実績に基づいて、一部のデータ取込を制限しているので、記憶媒体を利用できない等による運転者等の不都合を小さく抑えることができる。
また、本実施形態では、アクセスポイント2を介して、ウィルス対処データ提供装置200から最新のウィルス対処データを取得できない場合でも、共有化サービスを受ける他のカーナビゲーション装置から、アドホック通信又は記憶媒体のやり取りにより、最新のウィルス対処データを取得することができるので、最新のウィルス対処データを保持していない期間を短くすることができる。このため、通信ネットワーク1の利用制限やディスク記録再生装置100からのデータ取込制限の期間を短くすることができる。
なお、本実施形態では、当該カーナビゲーション装置100と通信ネットワークとの接続に、無線LANを利用しているが、この代わりに、例えば、携帯電話によるデータ通信を利用してもよい。
また、本実施形態では、生成タイムスタンプを他のカーナビゲーション装置と交換し合うことで、自カーナビゲーション装置100が自生成タイムスタンプの新旧を判断するようにしているが、例えば、ウィルス対処データ提供装置200を管理している施設から、放送波で最新の生成タイムスタンプを配信するようにしてもよい。この場合、自カーナビゲーション装置100が最新の生成タイムスタンプより自生成タイムスタンプの方が古いと判断すると、ウィルス対処データ200に対して、中継装置300を介して、ウィルス対処データを要求するか、生成タイムスタンプを他のカーナビゲーション装置と交換せずに、他のカーナビゲーション装置に対してウィルス対処データを要求して、これらから最新のウィルス対処データを取得することになる。
また、本実施形態では、ウィルス対処データ提供装置200からのウィルス対処データの配信は、通信ネットワーク1を媒体にするものであるが、放送波を媒体にしてもよい。この場合、ウィルス対処データを頻繁に配信するように配信スケジュールを組むことがこのましい。また、放送によりウィルス対処データを配信する場合、カーナビゲーション装置100から、ウィルス対処データ提供装置200に対して、ウィルス対処データの配信要求すること必要はない。
放送波は、アナログ放送にデータを重畳したものであってよいし、ディジタル放送であって、送信するデジタルデータに上記情報あるいはデータを含むものであってよい。特徴パターンデータの対象となる機種などごとに、データ放送のチャンネルを割り当ててもよい。同一のチャンネル内に、異なる機種などの複数の対象に対するデータを混在させてもよい。その場合、データごとに対象となる機種などを判別する識別子を付与し,受信する情報端末において選択可能にしてもよい。
データをいくつかのブロックに分割して、送信することにしてもよい。電波の受信状態などの影響で受信できないブロックが生じた場合に、該当ブロックの再放送時に当該ブロックを受信し,受信済みのブロックと統合することでデータの受信を完了するようにしてもよい。
さらに、以上では、カーナビゲーション装置を対象にしているが、カーナビゲーション装置以外のナビゲーション装置、例えば、歩行者の道案内用のナビゲーション装置に本発明を適用してもよい。
1:通信ネットワーク、2:アクセスポイント、10:情報要求パケット、10a:情報要求転送パケット、20:応答パケット、20a:応答転送パケット、100:カーナビゲーション装置、101:メモリ、102:ディスク記録再生装置、110,210,310,410:CPU、111:ナビゲーション処理部、112,311:ウィルス対処部、113,211,411:データ管理部、114:ウィルス対策入出力制御部、115:インフラストラクチャ通信制御部、116:アドホック通信制御部、117:安藤処理部、120,220,320,420:記憶装置、121,221,321:ウィルス対処データ・データベース、122:暗号処理用鍵テーブル、123:通信アドレステーブル、124:地図情報データベース、125:チェック済みファイルリスト、126,323:ウィルス対策プログラム、127a:インフラストラクチャ通信プログラム、127b:アドホック通信プログラム、128:暗号処理プログラム、129:ナビゲーションプログラム、131:インフラストラクチャ無線装置、132:アドホック無線装置、133:GPS受信装置、140:入出力装置、200:ウィルス対処データ提供装置、300:中継装置、400:情報提供装置