以下、この発明による携帯機器の実施形態を、携帯機器が測位機能付きの携帯電話端末の場合について、図を参照しながら説明する。そして、以下においては、携帯機器の実施形態である携帯電話端末を、位置・時刻情報の送受信システムに用いた場合について主として説明する。この例では、測位システムとしては、GPSシステムが用いられる。
図1は、実施形態の携帯機器である携帯電話端末10を含む位置・時刻情報の送受信システムの概要を説明するための図である。この図1の例のシステムは、測位用衛星、この例ではGPS衛星1の複数個からの電波を受信して、当該電波受信時の自機の位置および時刻を測定する機能を備える携帯電話端末10と、この携帯電話端末10と無線基地局2および通信ネットワーク3を通じて接続される情報収集サーバ装置20とからなる。
携帯電話端末10は、GPS衛星1からの電波を受信して、この受信電波に基づいて測定して得た、衛星電波受信時の自機の位置および時刻を示す情報(この情報を、以下、位置・時刻情報と略称する)をサーバ装置20に対して送信する。図1では、携帯電話端末10は、1台のみを示したが、実際的には、システム上には、複数台の携帯電話端末10がサーバ装置20に対して接続される。
この場合に、いずれの携帯電話端末10からの位置・時刻情報であるかをサーバ装置20では判別する必要があるが、そのために、携帯電話端末10からは、何等かの識別情報(この明細書では、この識別情報をユーザIDと呼ぶこととする)をサーバ装置20に送るようにする。このユーザIDには、携帯電話端末10の使用者個人を特定する識別情報と、携帯電話端末10を特定する識別情報とが含まれる。
ユーザIDとしては、例えば、携帯電話端末10のそれぞれの機器に割り当てられている機器識別信号(機器ID)を用いることができる。また、携帯電話端末10のそれぞれに割り当てられている電話番号を、ユーザIDとして用いても良い。また、予め、サーバ装置20に対して、携帯電話端末10の使用者が、特定の番号や記号からなり他の使用者と区別することができる識別情報を登録しておき、その登録した識別情報をユーザIDとして用いることもできる。以下に説明する第1の実施形態〜第3の実施形態では、ユーザIDとしては、携帯電話端末10のそれぞれの機器に割り当てられている機器IDを用いるものである。
なお、この場合に、携帯電話端末10のそれぞれは、GPS測位機能を備えると共に、サーバ装置20に対して、位置・時刻情報を送信する機能を有するものであれば、全く同一の構成を備えるものでなくとも良いことは言うまでもない。
また、位置・時刻情報を携帯電話端末10からサーバ装置へ送るためのアプリケーションは、予め携帯電話端末に格納しておくようにしても良いが、例えば、携帯電話端末が、サーバ装置20から、インターネットを通じてダウンロードなどして、取得するようにすることもできる。
サーバ装置20は、1または複数個の携帯電話端末10から収集した位置・時刻情報に基づき、例えば、特定の時刻に、特定の場所にいる人にだけ、情報を提供するなどのサービスをするようにする。あるいは、サーバ装置20に登録された特定の転送先に、収集した情報を転送するようにするサービスを提供するようにすることもできる。
[携帯機器の第1の実施形態の構成]
図2は、携帯機器の例としての携帯電話端末10の第1の実施形態の構成例を示すものである。
携帯電話端末10は、電話通信部30と、GPS信号受信部40と、位置・時刻計算機能やサーバ装置20への送信データの生成機能を含む制御部100とからなる。
電話通信部30においては、通話用マイクロホン31からの音声信号は、アンプ32を通じて信号処理部33に供給され、この信号処理部33においてデジタル信号処理や所定の変調処理などが行なわれ、送信用信号に変換される。この送信用信号は、送信部34を通じ、分配器35を通じてアンテナ36に供給され、無線基地局2に送信される。そして、無線基地局2を経由した送信用信号は、通信ネットワーク3を通じて、携帯電話端末30において指定された相手方に送られるようにされる。
また、無線基地局2を経由して相手方から送られてきた信号の電波は、アンテナ36で受信され、アンテナ分配器35、受信部37を通じて信号処理部33に供給され、この信号受信部33において、変調されていた信号が復調される。そして、復調された信号が音声信号であれば、アナログ音声信号に戻され、アンプ38を通じてスピーカ39に供給され、音声再生される。
GPS信号受信部40は、GPSアンテナ41により受信したGPS衛星からの電波について、同期捕捉処理を行い、同期捕捉ができたGPS衛星についてのスペクトラム拡散符号の位相と、キャリア周波数の情報を、制御部100に供給する。後述するように、制御部100は、この例では、測位機能を備え、GPS信号受信部40において、4個以上のGPS衛星からの電波の同期捕捉ができたときに、自機の位置を測定することが可能となる。
なお、このGPS信号受信部40は、携帯電話端末10内に一体不可分に内蔵されていてもよいし、また、アダプタ的に携帯電話端末10に対して装着可能な構成とされてもよい。ただし、位置・時刻情報の正当性をできるだけ確保するためには、GPS信号受信部40は、携帯電話端末10内に一体不可分に内蔵されていた方が良い。
制御部100は、マイクロコンピュータを用いて構成され、CPU(Central Processing Unit)101に対して、システムバス102を介して、プログラムやデータが保持されたROM(Read Only Memory)103と、ワークエリア用のRAM(Random AccessMemory)104と、I/Oポート105〜108と、キー入力操作部110を接続するためのインターフェース109と、LCD(Liquid Crystal Display)112を接続するためのディスプレイインターフェース111と、地図メモリ113と、時計回路114と、機器ID保持部115と、相手先メモリ116と、位置・時刻計算部117と、位置・時刻情報メモリ118と、送信データ生成部120とが接続されている。
I/Oポート105および106を介して、受信部37および送信部34に制御部100から制御信号が供給されて、通信制御がなされる。また、I/Oポート107を通じて制御信号が信号処理部33に供給されて、この信号処理部33が制御される。
さらに、受信部37を通じてこの信号処理部33に供給された信号のうち、音声信号以外のデータや、通信制御用の信号が、この信号処理部33から制御部100に供給される。また、制御部100からの後述する位置・時刻データなどの送信すべきデータや通信制御用の信号が、I/Oポート107を通じて信号処理部33に供給され、送信部34、アンテナ36を通じて送信される。
また、GPS信号受信部40からの同期捕捉ができたGPS衛星についてのスペクトラム拡散符号の位相と、キャリア周波数の情報は、I/Oポート108を通じて制御部100に供給される。また、制御部100から、制御信号がGPS信号受信部40に供給される。
地図メモリ113には、予め所定の地区の地図データが格納されていると共に、通信ネットワークを通じて、所定のサーバから現在位置周辺の地図データなど必要な地図データがダウンロードされて格納される。この地図メモリ113の地図データは、ROM103のプログラムやデータにしたがってCPU101により読み出されて地図表示データとされ、ディスプレイインターフェース111を通じてLCD112に供給されて、LCD112の画面に地図表示される。
機器ID保持部115には、携帯電話端末10のそれぞれ毎に異なる機器IDが格納されて保持されている。この例の機器IDとしては、例えば機器ごとに異なるように一元管理されたシリアル番号が用いられている。前述したように、機器IDは、この第1の実施の形態では、ユーザIDとして用いられ、この機器IDがサーバ装置20に伝えられることにより、サーバ装置20は、どの携帯電話端末あるいはどのユーザからの情報の受信であるかを認識することができる。
相手先メモリ116には、情報収集サーバ装置20の電話番号のほか、ユーザにより登録された電話の相手先の電話番号が記憶されている。サーバ装置20の電話番号は、後述するように、自機の位置・時刻情報をサーバ装置20に通知するタイミングの時に自動的に読み出されて、自動ダイヤル用として用いられる。
位置・時刻計算部117は、GPS信号受信部40からの同期捕捉ができた、4個以上のGPS衛星についてのスペクトラム拡散符号の位相と、キャリア周波数の情報を用いて、自機の位置と、そのときの時刻を計算する。位置・時刻計算部117で計算された結果得られる位置・時刻情報は、送信データ生成部120に送られる。
送信データ生成部120は、この第1の実施形態では、デジタル署名生成部121と、秘密鍵保持部122とを備える。秘密鍵保持部122には、機器ID保持部115に保持される機器IDに一意に対応する秘密鍵が、秘密裏に格納されて保持される。
デジタル署名生成部121では、CPU101の指令の下に、システムバス102を通じて位置・時刻計算部117から送られてくる位置・時刻情報について、秘密鍵保持部122に保持されている秘密鍵を用いてデジタル署名を行なう。そして、デジタル署名生成部121で生成されたデジタル署名が付加された位置・時刻情報は、送信データとされ、I/Oポート107を通じて信号処理部33に送出され、サーバ装置20に送られる。
送信データ生成部120で生成されたデジタル署名が付加された位置・時刻情報は、また、位置・時刻情報メモリ118に記憶される。このメモリ118に格納された位置・時刻情報は、キー入力操作部110等を用いた送出要求に応じて、後の時点において、任意にサーバ装置20やその他の必要な相手先に送ることが可能とされている。
また、図示は省略したが、この例の携帯電話端末10は、アダプタを介してパーソナルコンピュータに接続可能とされており、パーソナルコンピュータからの指示により、位置・時刻情報メモリ118に格納されている位置・時刻情報が、適宜のタイミングで、パーソナルコンピュータに吸い上げ可能とされている。
[第1の実施形態におけるサーバ装置20の構成例]
図3は、第1の実施形態における情報収集サーバ装置20の構成例を示すもので、マイクロコンピュータで構成されている。すなわち、情報収集サーバ装置20は、CPU201に対して、システムバス202を介して、プログラムやデータが保持されたROM203と、ワークエリア用のRAM204と、通信ネットワーク3に接続するための通信インターフェース205と、携帯電話端末10から送られてくる位置・時刻情報を格納するための位置・時刻情報メモリ206と、携帯電話端末10の機器IDを保持する相手機器ID保持部207と、機器IDのそれぞれに一意に対応する公開鍵を保持する公開鍵保持部208と、デジタル署名検証部209と、相手端末メモリ210と、提供情報データベース211とからなる。
相手機器ID保持部207には、サーバ装置20に予め登録された携帯電話端末10の機器IDが保持されている。なお、ユーザIDとして、携帯電話端末10に割り当てられた電話番号や、ユーザが設定した番号、記号からなる識別情報を用いる場合には、この相手機器ID保持部207には、それぞれの機器IDと、対応する電話番号や識別情報との対応付けも保持されている。この第1の実施形態では、ユーザIDとして機器IDを用いているので、相手機器ID保持部207には、それらの対応付けを保持しておく必要はない。
公開鍵保持部208には、位置・時刻情報を送ってくると想定される全ての携帯電話端末10についての公開鍵が、予めダウンロードされる等して、格納されて保持されている。そして、CPU201からの指令により、機器IDを検索子として、対応する公開鍵が、この公開鍵保持部208から読み出される。
デジタル署名検証部209は、公開鍵保持部208から機器IDを検索子として読み出された公開鍵を用いて、受信した位置・時刻情報に付加されているデジタル署名の検証を行なう。この例では、後述するように、デジタル署名の検証ができたときには、正当な位置・時刻情報であると判定して、機器IDに対応を付けて位置・時刻情報メモリ206に書き込んで、保存するようにするが、デジタル署名の検証ができなかったときには、不正な位置・時刻情報であると判定して、その位置・時刻情報は、廃棄してしまうようにする。
相手端末メモリ210には、位置・時刻情報を送ってくる携帯電話端末10の電話番号や個人情報等を格納するメモリである。前述したように、この実施形態においては、携帯電話端末10のユーザは、サーバ装置20にアクセスして、位置・時刻情報を通知するアプリケーションプログラムをダウンロードするが、その際に、サーバ装置20からの有用な情報の提供を受けるための各端末の電話番号や、各ユーザのプロフィールなどが登録され、このメモリ210に格納されるものである。各ユーザのプロフィールは、サーバ装置20から提供情報を絞り込むときに使用することが可能である。
提供情報データベース211には、携帯電話端末10に対して提供しようとする情報を格納している。この提供情報データベース211には、提供元から、適宜のタイミングで提供情報がアップロードされて格納される。あるいは、提供元から提供された記録メディアから読み出された提供情報が格納される。
この例では、サーバ装置20は、位置・時刻情報メモリ206に記憶されている位置・時刻情報を基にして、特定の範囲内の場所に、当該時間帯に存在するであろう携帯電話端末10を検索し、その検索結果として検出された携帯電話端末10に対して、その電話番号を相手端末メモリ210から読み出して、当該携帯電話端末10を呼び出し、提供情報データベース211から取り出された適宜の情報を、それらの携帯電話端末10に対して送信するようにする。
次に、この第1の実施形態のシステムにおける携帯電話端末10からの位置・時刻情報の送信動作およびそれに対するサーバ装置20における受信動作を、図4および図5のフローチャートを参照しながら説明する。
[携帯電話端末10からの送信動作(第1の実施形態)、図4]
この実施形態では、携帯電話端末10が備えるサーバ装置20へ位置・時刻情報を送るためのアプリケーションは、一定時間間隔ごとに自機の位置・時刻情報をサーバ装置20に通知するようにするものである。CPU101は、時計回路114の時刻情報を、位置・時刻情報の通知タイミングの計測タイマーとして用いる。なお、図4の各ステップSの動作は、CPU101の動作を主として記述したものである。
すなわち、携帯電話端末10では、先ず、待機状態において(ステップS1)、通信(通話)のための操作入力がなされたか否か判別し(ステップS2)、操作がなされたと判別したときには、通信(通話)のための処理を実行する(ステップS3)。そして、通信(通話)が終了したと判別したときには(ステップS4)、ステップS1の待機状態に戻る。ステップS2〜ステップS4の処理は、位置・時刻情報のサーバ装置20への通知に優先して、通信(通話)を行なうようにするためである。
ステップS2で、通信(通話)のための操作入力が無かったと判別したときには、位置・時刻情報の通知タイミングとなったかどうか、時計回路114の時刻を参照して判別する(ステップS5)。位置・時刻情報の通知タイミングでなかったときには、ステップS1の待機状態に戻る。
そして、ステップS5で、位置・時刻情報の通知タイミングとなったと判別したときには、GPS信号受信部40にGPS衛星信号の捕捉を指示する(ステップS6)。そして、GPS信号受信部40から、4個以上のGPS衛星についての捕捉結果がI/Oポート107を通じて取り込まれたときには、CPU101は、位置・時刻計算部117に、自機の受信位置および時刻の計算を指示する(ステップS7)。
次に、位置・時刻情報が求められると、CPU101は、送信データ生成部120にデジタル署名の生成・付加処理を指示する(ステップS8)。送信データ生成部120では、デジタル署名生成部121が、秘密鍵保持部122からの秘密鍵を用いて、位置・時刻計算部117からの位置・時刻情報を暗号化して、デジタル署名を行なう。
次に、CPU101は、デジタル署名生成部121からのデジタル署名が付加された位置・時刻情報を、位置・時刻情報メモリ118に書き込むと共に、RAM104の一部で構成される送信バッファに格納する(ステップS9)。
そして、CPU101は、相手先メモリ116から情報収集サーバ装置20の電話番号を読み出し、自動ダイヤル発信する(ステップS10)。そして、これに対して情報収集サーバ装置20が応答したか否か判別し(ステップS11)、応答しないと判別したときには、通信中であるか否か判別し(ステップS12)、通信中でなければ、ステップS11に戻って応答を待ち、通信中であれば、ステップS10に戻って、情報収集サーバ装置20へのダイヤル発信をやり直す。
また、ステップS11で情報収集サーバ装置20で応答があったと判別したときには、まず、ユーザIDとしての機器IDを情報収集サーバ装置20に送る(ステップS13)。次いで、送信バッファに一次保持されているデジタル署名が付加されている位置・時刻情報を情報収集サーバ装置20に送信する(ステップS14)。送信が終了したら、サーバ装置20との通信路を切断する(ステップS15)。
なお、上述の説明は、一定時間間隔で携帯電話端末10からサーバ装置20に対して自動的に位置・時刻情報の通知が行なわれる場合であるが、この実施形態の携帯電話端末10においては、キー入力操作部110を操作することにより、ユーザは任意のタイミングで、サーバ装置20への位置・時刻情報の通知を行なうように指示することが可能なように構成されている。そのための処理ルーチンは、サーバ装置20への送信の起動がタイマー時間であったものが、ユーザによりキー入力操作指示である点が異なるのみで、図4に示したフローチャートのステップS6以降は、全く同様となるものである。
[サーバ装置20での受信動作(第1の実施の形態)、図5]
次に、携帯電話端末10からの位置・時刻情報を受信したときのサーバ装置20の動作を、図5のフローチャートを参照しながら説明する。この図5の各ステップSの処理は、CPU201が実行する処理を中心として示したものである。
先ず、携帯電話端末10からの着信があったか否か判別し(ステップS21)、着信があったときには、それに自動応答する(ステップS22)。すると、前述したように、位置・時刻情報を送信してくる携帯電話端末10であれば、送信者のユーザIDとして機器IDを送ってくるのでそれを確認する(ステップS23)。そして、確認の結果、OKであるか、NGであるかを判別する(ステップS24)。
すなわち、機器IDの受信を確認できなかったとき、また、機器IDは受信したが、相手機器ID保持部207に登録されていない機器IDであったときには、確認NGであるとして、この実施形態では、回線を切断する(ステップS25)。また、受信した機器IDが相手機器ID保持部207に登録されている機器IDであると判別したときには確認OKとして、次に携帯電話端末10から送られてくるデジタル署名付きの位置・時刻情報を受信する(ステップS26)。
次に、受信した機器IDを検索子として、公開鍵保持部208から、位置・時刻情報を送信してきたユーザ(携帯電話端末)についての公開鍵を読み出し、この公開鍵をデジタル署名検証部209に渡し、受信した位置・時刻情報についてのデジタル署名の検証を指示する(ステップS27)。そして、CPU201は、検証がOKであるか否か判別する(ステップS28)。
CPU201は、デジタル署名の検証ができたと判別したときには、受信した位置・時刻情報は、送信ユーザが当該時刻に当該位置にいたことの証明用データとして、例えば機器IDなどのユーザIDと対応付けて位置・時刻情報メモリ206に格納する(ステップS30)。
また、デジタル署名の検証ができなかったと判別したときには、受信した位置・時刻情報は、不正な情報であるので、送信ユーザが当該時刻に当該位置にいたことの証明用データとしては使用することができないため、当該位置・時刻情報はメモリ206には格納せずに廃棄する(ステップS29)。その後、携帯電話端末10との間の通信路の切断処理をし(ステップS31)、この受信処理ルーチンを終了する。
以上のようにして、第1の実施形態によれば、携帯機器から送信される位置・時刻情報には、携帯機器に秘密裏に保持されている秘密鍵が用いられてデジタル署名が付加されるので、当該位置・時刻情報は、少なくとも当該携帯電話端末10から送信されたものであることが証明可能となる。
このため、例えば当該携帯機器以外の機器から、当該携帯機器の位置や時刻を偽装した位置・時刻情報をサーバ装置に送信しても、当該偽装は即座に検知され、サーバ装置20の位置・時刻情報メモリ206には、正当な位置・時刻情報のみが蓄積されるものである。
そして、携帯電話端末10の位置・時刻情報メモリ118には、デジタル署名された位置・時刻情報が格納されており、キー入力操作部110からの読み出し指示に従って読み出し可能とされるので、この位置・時刻情報メモリ118に格納されている情報を、いわゆるアリバイ情報として用いることができる可能性がある。同様に、サーバ装置20の位置・時刻情報メモリ206に格納されている情報も、ユーザIDと対応付けられて記録されているので、当該ユーザのアリバイ情報として用いることができる可能性がある。
なお、上述の説明では、ユーザID(機器ID)は、位置・時刻情報の伝送に先立ち、サーバ装置20に送るようにしたが、デジタル署名付きの位置・時刻情報の後に送ることもできる。
また、ユーザID(機器ID)は、位置・時刻情報とは別に送るのではなく、位置・時刻情報に含めて送ることもできる。その場合には、サーバ装置20では、デジタル署名の前に、位置・時刻情報に含まれるユーザID(機器ID)を取り出し、それに基づきデジタル署名検証のための公開鍵を公開鍵保持部208から読み出すようにする。
なお、上述の第1の実施形態では、サーバ装置20にのみ、位置・時刻情報を送るようにしたが、携帯電話端末10のユーザが指定した任意の相手先にも同様にして送ることができる。その場合、当該相手先では、送り手の公開鍵を取得してデジタル署名することができるものである。
なお、サーバ装置は、特定の相手先にさらに位置・時刻情報を転送するようにすることができる。その場合には、位置・時刻情報は暗号化されていた方がよい。特定の相手先のみで位置・時刻情報を解読できるようにして、サーバ装置では、単に情報の中継を行なうだけという使い方ができる。情報の秘匿性を高くし、また、情報の使用対象を特定の機関のみに制限することが容易になる。
[携帯機器の第2の実施形態の構成]
図6は、携帯機器の例としての携帯電話端末10の第2の実施形態の構成例を示すものである。この第2の実施形態は、前述の図2に示した第1の実施形態とは、送信データ生成部120の構成が異なるのみで、他は全く第1の実施形態と同様に構成される。
この第2の実施形態においては、携帯電話端末10からサーバ装置20の送る情報は、暗号化して、情報伝送時の秘匿性を高めるようにしている。これにより、暗号を復号(解読)することができる相手先のみが、位置・時刻情報のデジタル署名の検証をすることができることになり、位置・時刻情報が、それを傍受した任意の第3者によって安易に利用される事態を防止することができる。
そして、この第2の実施形態の携帯電話端末では、この利点を利用して、前述と同様にしてサーバ装置20に位置・時刻情報を送信する機能を備えるほか、予め暗号化のための公開鍵が保持されている相手先をユーザが発信先として指定して、位置・時刻情報を送信することができるように構成されている。
すなわち、図6に示すように、この第2の実施形態における送信データ生成部120は、デジタル署名生成部121および秘密鍵保持部122に加えて、暗号/復号部123と、公開鍵保持部124とを備える。
公開鍵保持部124には、サーバ装置20の公開鍵の他、位置・時刻情報の送信を行なう可能性のある相手についての公開鍵が保持されている。暗号/復号部123は、位置・時刻情報の送信時には、送信相手の公開鍵を公開鍵保持部124から取り出された公開鍵を用いて、デジタル署名付きの位置・時刻情報を暗号化する。
また、暗号/復号部123は、位置・時刻情報の受信時には、秘密鍵保持部122に保持されている秘密鍵を用いて暗号化されている情報を復号(解読)し、送り手の公開鍵を公開鍵保持部124から読み出して、デジタル署名の検証を行なうものである。
[第2の実施形態におけるサーバ装置20の構成例]
図7は、第2の実施形態における情報収集サーバ装置20の構成例を示すもので、図3に示した第1の実施形態のサーバ装置20に、秘密鍵保持部212と、復号化部213とが追加された構成とされている。
秘密鍵保持部212には、サーバ装置20についての秘密鍵が、秘密裏に格納されて保持されている。復号化部213は、携帯電話端末10から送られてきた暗号化されている情報を、秘密鍵保持部212に保持されている秘密鍵を用いて復号(解読)する。そして、復号(解読)したデジタル署名付きの位置・時刻情報をデジタル署名検証部209に渡すようにする。
[携帯電話端末10からサーバ装置20への送信動作(第2の実施形態)、図8]
図8は、第2の実施形態において、携帯電話端末10からサーバ装置20への位置・時刻情報の送信処理動作を示すフローチャートである。この例の場合も、前述の図4の場合と同様に、携帯電話端末10は、サーバ装置20へは、一定時間間隔ごとに位置・時刻情報を通知するようにする。
すなわち、携帯電話端末10では、先ず、待機状態において(ステップS41)、通信(通話)のための操作入力がなされたか否か判別し(ステップS42)、操作がなされたと判別したときには、通信(通話)のための処理を実行する(ステップS43)。そして、通信(通話)が終了したと判別したときには(ステップS44)、ステップS41の待機状態に戻る。ステップS42〜ステップS44の処理は、位置・時刻情報のサーバ装置20への通知に優先して、通信(通話)を行なうようにするためである。
ステップS42で、通信(通話)のための操作入力が無かったと判別したときには、位置・時刻情報の通知タイミングとなったかどうか、時計回路114の時刻を参照して判別する(ステップS45)。位置・時刻情報の通知タイミングでなかったときには、ステップS41の待機状態に戻る。
そして、ステップS45で、位置・時刻情報の通知タイミングとなったと判別したときには、GPS信号受信部40にGPS衛星信号の捕捉を指示する(ステップS46)。そして、GPS信号受信部40から、4個以上のGPS衛星についての捕捉結果がI/Oポート107を通じて取り込まれたときには、CPU101は、位置・時刻計算部117に、自機の受信位置および時刻の計算を指示する(ステップS47)。
次に、位置・時刻情報が求められると、CPU101は、送信データ生成部120にデジタル署名の生成・付加処理を指示する。送信データ生成部120では、デジタル署名生成部121が、秘密鍵保持部122からの秘密鍵を用いて、位置・時刻計算部117からの位置・時刻情報を暗号化して、デジタル署名を行なう(ステップS48)。
次に、CPU102は、デジタル署名付きの位置・時刻情報を、位置・時刻情報メモリ118に書き込むと共に、RAM104の一部で構成される送信バッファに格納する(ステップS49)。
そして、CPU101は、相手先メモリ116から情報収集サーバ装置20の電話番号を読み出し、自動ダイヤル発信する(ステップS50)。そして、これに対して情報収集サーバ装置20が応答したか否か判別し(ステップS51)、応答しないと判別したときには、通信中であるか否か判別し(ステップS52)、通信中でなければ、ステップS51に戻って応答を待ち、通信中であれば、ステップS50に戻って、情報収集サーバ装置20へのダイヤル発信をやり直す。
また、ステップS52で、情報収集サーバ装置20で応答があったと判別したときには、CPU101は、まず、ユーザIDとしての機器IDを情報収集サーバ装置20に送る(ステップS53)。
次いで、送信バッファに一次保持されている暗号化されているデジタル署名付きの位置・時刻情報と、公開鍵保持部124に保持されているサーバ装置20の公開鍵とを、暗号/復号部123に渡し、暗号化指示を行なう。暗号/復号部123では、サーバ装置20の公開鍵を用いて、送信バッファからのデジタル署名が付加された位置・時刻情報を暗号化する(ステップS54)。そして、情報収集サーバ装置20に送信する(ステップS55)。送信が終了したら、サーバ装置20との通信路を切断する(ステップS56)。
なお、上述の説明は、一定時間間隔で携帯電話端末10からサーバ装置20に対して自動的に位置・時刻情報の通知が行なわれる場合であるが、この実施形態の携帯電話端末10においては、キー入力操作部110を操作することにより、ユーザは任意のタイミングで、サーバ装置20への位置・時刻情報の通知を行なうように指示することが可能なように構成されている。そのための処理ルーチンは、サーバ装置20への送信の起動がタイマー時間であったものが、ユーザによりキー入力操作指示である点が異なるのみで、図8に示したフローチャートのステップS66以降は、全く同様となるものである。
[サーバ装置20での受信動作(第2の実施の形態)、図9]
次に、携帯電話端末10からの暗号化されている、デジタル署名付きの位置・時刻情報を受信したときのサーバ装置20の動作を、図9のフローチャートを参照しながら説明する。この図9の各ステップSの処理は、CPU201が実行する処理を中心として示したものである。
先ず、携帯電話端末10からの着信があったか否か判別し(ステップS61)、着信があったときには、それに自動応答する(ステップS62)。すると、前述したように、位置・時刻情報を送信してくる携帯電話端末10であれば、送信者のユーザIDとして機器IDを送ってくるのでそれを確認する(ステップS63)。そして、確認の結果、OKであるか、NGであるかを判別する(ステップS64)。
すなわち、機器IDの受信を確認できなかったとき、また、機器IDは受信したが、相手機器ID保持部207に登録されていない機器IDであったときには、確認NGであるとして、この実施形態では、回線を切断する(ステップS65)。また、受信した機器IDが相手機器ID保持部207に登録されている機器IDであると判別したときには確認OKとして、次に携帯電話端末10から送られてくる暗号化されているデジタル署名付きの位置・時刻情報を受信する(ステップS66)。
次に、CPU201は、秘密鍵保持部212に保持されている秘密鍵を読み出して復号化部213に渡し、暗号の復号(解読)処理を指示する。これを受けて、復号化部213は、受信情報の復号化処理を実行する(ステップS67)。復号後のデジタル署名付きの位置・時刻情報は、デジタル署名検証部209に渡される。
CPU201は、次に、受信した機器IDを検索子として、公開鍵保持部208から、位置・時刻情報を送信してきたユーザ(携帯電話端末)についての公開鍵を読み出し、この公開鍵をデジタル署名検証部209に渡し、受信した位置・時刻情報についてのデジタル署名の検証を指示する(ステップS68)。そして、CPU201は、検証がOKであるか否か判別する(ステップS69)。
CPU201は、デジタル署名の検証ができたと判別したときには、受信した位置・時刻情報は、送信ユーザが当該時刻に当該位置にいたことの証明用データとして、例えば機器IDなどのユーザIDと対応付けて位置・時刻情報メモリ206に格納する(ステップS71)。
また、デジタル署名の検証ができなかったと判別したときには、受信した位置・時刻情報は、不正な情報であるので、送信ユーザが当該時刻に当該位置にいたことの証明用データとしては使用することができないため、当該位置・時刻情報はメモリ206には格納せずに廃棄する(ステップS70)。その後、携帯電話端末10との間の通信路の切断処理をし(ステップS72)、この受信処理ルーチンを終了する。
なお、図9においては説明の簡単のため省略したが、ステップS67において暗号の復号ができなかったときには、検証がNGであった場合と同様に、ステップS70に進んで、不正なデータとして廃棄処理するようにする。
[携帯電話端末10から他の携帯電話端末10への送信動作(第2の実施形態)、図10]
この第2の実施形態の携帯電話端末10においては、前述したようにサーバ装置のみではなく、ユーザが指定したときには、通信の相手先の携帯電話端末10に対しても、暗号化したデジタル署名付きの位置・時刻情報の送信ができるようにしている。この場合において、第2の実施形態においては、携帯電話端末10同士においては、互いの公開鍵は、相手方の電話番号を検索子としてそれぞれの公開鍵保持部124に保持しているものである。
携帯電話端末10においては、CPU101は、まず、発呼操作が行われたか否か判別する(ステップS121)。発呼操作が行われなかったときには、その他の処理を行なう(ステップS122)。ステップS121で発呼操作が行われたと判別したときには、CPU101は、発呼処理を実行する(ステップS123)。
そして、相手応答を待ち(ステップS124)、相手応答がないままオンフック操作されたか否か判別し(ステップS125)、オンフックされたときには、発呼中止されたとしてこの処理ルーチンを終了する。オンフックされなかったときには、ステップS124において相手応答を待つ。
そして、ステップS124で相手応答を確認したときには、通信路を形成して、相手との間で通信中となる(ステップS126)。この通信中において、位置・時刻情報の送信操作がなされたか否か判別し(ステップS127)、前記送信操作がなされないと判別したときには、通信終了操作がなされたか否か判別する(ステップS131)。そして、通信終了操作がなされたと判別したときには、この処理ルーチンを終了する。また、通信終了操作がなされなかったと判別したときにはステップS126に戻る。
そして、ステップS127において、位置・時刻情報の送信操作がなされたと判別したときには、位置・時刻計算部117で計算された位置・時刻情報をデジタル署名生成部121に送り、秘密鍵保持部122の秘密鍵を用いてデジタル署名を実行させる。そして、デジタル署名付きの位置・時刻情報を位置・時刻情報メモリ118に格納する(ステップS128)。
また、デジタル署名付きの位置・時刻情報を暗号/復号部123に送り、通信相手先の公開鍵を公開鍵保持部124から得て、暗号/復号部123において、デジタル署名付きの位置・時刻情報を当該公開鍵により暗号化するようにする(ステップS129)。そして、その暗号化した情報を通信の相手方に送信する(ステップS130)。そして、ステップS131に戻る。
[他の携帯電話端末10からの位置・時刻情報の受信動作(第2の実施形態)、図11]
図10のようにして他の携帯電話端末10に送信された位置・時刻情報は、受信側の携帯電話端末10において、図11に示すようにして受信処理される。
すなわち、携帯電話端末10では、着信があったか否か判別し(ステップS141)、着信があったと判別したときには応答操作がなされたか否か判別する(ステップS142)。そして、応答操作なされる前に、相手が切断したか否か判別し(ステップS143)、相手切断を確認したら、着信処理を終了する。相手切断がなされなかったときにはステップS142に戻って応答操作を待ち、応答操作を確認すると通信中状態になる(ステップS144)。なお、どの相手からの着信であるかは、発呼メッセージに含まれる電話番号によりCPU101は、認識するものである。
そして、この通信中状態において、位置・時刻情報を受信したか否か判別し(ステップS145)、位置・時刻情報を受信しないと判別したときには、通信終了操作がなされたか否か判別する(ステップS154)。そして、通信終了操作がなされたと判別したときには、この処理ルーチンを終了する。また、通信終了操作がなされなかったと判別したときにはステップS144に戻る。
そして、ステップS145において、位置・時刻情報を受信したと判別したときには、CPU101は、秘密鍵保持部122に保持されている秘密鍵を用いて、暗号/復号部123において、復号処理を行なうように制御する(ステップS146)。
このステップS146での復号処理により、復号ができなかったときには、その旨を示すNGメッセージをLCD112に表示するとともに、送信してきた相手にもNGメッセージを送るようにする(ステップS148)。そして、ステップS154に進む。
また、ステップS146での復号処理により、復号ができたときには、デジタル署名を、送信者の公開鍵を公開鍵保持部124から取り出して、デジタル署名の検証を行なう(ステップS149)。なお、図6では、デジタル署名検証部の図示を省略してある。
このデジタル署名の検証の結果を判別し(ステップS150)、検証がNGであれば、ステップS148に進み、NGメッセージをLCD112の画面に表示すると共に、NGメッセージを相手端末へも送信する。
また、デジタル署名の検証の結果、検証がOKであれば、OKメッセージをLCD112の画面に表示すると共に、OKメッセージを相手端末へも送信する(ステップS151)。その後、OKであった、相手の位置・時刻情報を、当該相手のユーザIDと対応付けて位置・時刻情報メモリ118に格納する(ステップS152)。これは、後日、相手の位置・時刻の証明のために用いられる場合があることを考慮したものである。
その後、相手の位置を、LCD112の地図上に、相手の名前など識別可能な表示と共に表示するようにする(ステップS153)。そして、ステップS154に戻る。なお、このステップS153の処理は、位置・時刻情報の利用形態の一態様である。
以上説明したように、この第2の実施形態によれば、第1の実施形態と同様の作用効果に加えて、暗号化により、携帯電話端末10からサーバ装置20また携帯電話端末10間での通信において、伝送情報の秘匿性を高めることができるという効果がある。
[携帯機器の第3の実施形態および第3の実施形態の場合のサーバ装置]
携帯機器の第3の実施形態は、デジタル署名する前に、位置・時刻情報を、特定の相手の公開鍵を用いて暗号化することにより、デジタル署名は、受信者が行なうようにするが、位置・時刻情報は、受信者には秘匿して他の相手にのみ通知することができるようにする場合である。
この第3の実施形態の場合における携帯電話端末10の構成例およびサーバ装置20の構成例は、図6および図7に示した第2の実施形態の場合と全く同様である。しかし、送信処理動作および受信処理動作は、第2の実施形態の場合とは異なるものである。
[携帯電話端末10からサーバ装置20への送信動作(第3の実施形態)、図12]
図12は、第3の実施形態において、携帯電話端末10からサーバ装置20への位置・時刻情報の送信処理動作を示すフローチャートである。この例の場合も、前述の図4や図8の場合と同様に、携帯電話端末10は、サーバ装置20へは、一定時間間隔ごとに位置・時刻情報を通知するようにする。
すなわち、携帯電話端末10では、先ず、待機状態において(ステップS81)、通信(通話)のための操作入力がなされたか否か判別し(ステップS82)、操作がなされたと判別したときには、通信(通話)のための処理を実行する(ステップS83)。そして、通信(通話)が終了したと判別したときには(ステップS84)、ステップS81の待機状態に戻る。ステップS82〜ステップS84の処理は、位置・時刻情報のサーバ装置20への通知に優先して、通信(通話)を行なうようにするためである。
ステップS82で、通信(通話)のための操作入力が無かったと判別したときには、位置・時刻情報の通知タイミングとなったかどうか、時計回路114の時刻を参照して判別する(ステップS85)。位置・時刻情報の通知タイミングでなかったときには、ステップS81の待機状態に戻る。
そして、ステップS85で、位置・時刻情報の通知タイミングとなったと判別したときには、GPS信号受信部40にGPS衛星信号の捕捉を指示する(ステップS86)。そして、GPS信号受信部40から、4個以上のGPS衛星についての捕捉結果がI/Oポート107を通じて取り込まれたときには、CPU101は、位置・時刻計算部117に、自機の受信位置および時刻の計算を指示する(ステップS87)。
次に、位置・時刻情報が求められると、CPU101は、送信データ生成部120に暗号化指示する。すなわち、ユーザにより指定された位置・時刻情報を通知したい相手の公開鍵を公開鍵保持部124から取り出し、暗号/復号部123に渡す。また、暗号/復号部123に位置・時刻計算部117からの位置・時刻情報も渡す。そして、暗号/復号部123に対して、公開鍵を用いて、位置・時刻情報を暗号化するように指示する(ステップS88)。ここで、位置・時刻情報を通知したい相手は、通信の相手、ここではサーバ装置20であってもよいし、通信の相手と異なる他の相手であってもよい。
次いで、CPU101は、送信データ生成部120にデジタル署名の生成・付加処理を指示する。送信データ生成部120では、デジタル署名生成部121が、秘密鍵保持部122からの秘密鍵を用いて、暗号/復号部123で暗号化された位置・時刻情報を暗号化して、デジタル署名を行なう(ステップS89)。
次に、CPU102は、デジタル署名付きの位置・時刻情報を、位置・時刻情報メモリ118に書き込むと共に、RAM104の一部で構成される送信バッファに格納する(ステップS90)。
そして、CPU101は、相手先メモリ116から情報収集サーバ装置20の電話番号を読み出し、自動ダイヤル発信する(ステップS91)。そして、これに対して情報収集サーバ装置20が応答したか否か判別し(ステップS92)、応答しないと判別したときには、通信中であるか否か判別し(ステップS93)、通信中でなければ、ステップS92に戻って応答を待ち、通信中であれば、ステップS91に戻って、情報収集サーバ装置20へのダイヤル発信をやり直す。
また、ステップS92で、情報収集サーバ装置20で応答があったと判別したときには、CPU101は、まず、ユーザIDとしての機器IDを情報収集サーバ装置20に送る(ステップS94)。
次いで、送信バッファに一次保持されているデジタル署名付きの暗号化されている位置・時刻情報を、情報収集サーバ装置20に送信する(ステップS95)。送信が終了したら、サーバ装置20との通信路を切断する(ステップS96)。
なお、上述の説明は、一定時間間隔で携帯電話端末10からサーバ装置20に対して自動的に位置・時刻情報の通知が行なわれる場合であるが、この実施形態の携帯電話端末10においては、キー入力操作部110を操作することにより、ユーザは任意のタイミングで、サーバ装置20への位置・時刻情報の通知を行なうように指示することが可能なように構成されている。そのための処理ルーチンは、サーバ装置20への送信の起動がタイマー時間であったものが、ユーザによりキー入力操作指示である点が異なるのみで、図12に示したフローチャートのステップS86以降は、全く同様となるものである。
[サーバ装置20での受信動作(第3の実施の形態)、図13]
次に、携帯電話端末10からの暗号化されている、デジタル署名付きの位置・時刻情報を受信したときのサーバ装置20の動作を、図13のフローチャートを参照しながら説明する。この図13の各ステップSの処理は、CPU201が実行する処理を中心として示したものである。
先ず、携帯電話端末10からの着信があったか否か判別し(ステップS101)、着信があったときには、それに自動応答する(ステップS102)。すると、前述したように、位置・時刻情報を送信してくる携帯電話端末10であれば、送信者のユーザIDとして機器IDを送ってくるのでそれを確認する(ステップS103)。そして、確認の結果、OKであるか、NGであるかを判別する(ステップS104)。
すなわち、機器IDの受信を確認できなかったとき、また、機器IDは受信したが、相手機器ID保持部207に登録されていない機器IDであったときには、確認NGであるとして、この実施形態では、回線を切断する(ステップS105)。また、受信した機器IDが相手機器ID保持部207に登録されている機器IDであると判別したときには確認OKとして、次に携帯電話端末10から送られてくるデジタル署名付きの暗号化されている位置・時刻情報を受信する(ステップS106)。
次に、CPU201は、受信した機器IDを検索子として、公開鍵保持部208から、位置・時刻情報を送信してきたユーザ(携帯電話端末)についての公開鍵を読み出し、この公開鍵をデジタル署名検証部209に渡し、受信した位置・時刻情報についてのデジタル署名の検証を指示する(ステップS107)。そして、CPU201は、検証がOKであるか否か判別する(ステップS108)。
CPU201は、デジタル署名の検証ができなかったと判別したときには、受信した位置・時刻情報は、不正な情報であるので、送信ユーザが当該時刻に当該位置にいたことの証明用データとしては使用することができないため、当該位置・時刻情報はメモリ206には格納せずに廃棄する(ステップS109)。その後、携帯電話端末10との間の通信路の切断処理をし(ステップS112)、この受信処理ルーチンを終了する。
また、CPU201は、デジタル署名の検証ができたと判別したときには、秘密鍵保持部212に保持されている秘密鍵を読み出して復号化部213に渡し、暗号の復号(解読)処理を指示する。これを受けて、復号化部213は、位置・時刻情報の復号化処理を実行する(ステップS110)。
そして、CPU201は、受信した位置・時刻情報は、送信ユーザが当該時刻に当該位置にいたことの証明用データとして、例えば機器IDなどのユーザIDと対応付けて位置・時刻情報メモリ206に格納する(ステップS111)。そして、ステップS112に進み、通信路の切断処理をし、この受信処理ルーチンを終了する。
なお、図13においては説明の簡単のため省略したが、ステップS111において暗号の復号ができなかったときには、検証がNGであった場合と同様に、ステップS109に進んで、不正なデータとして廃棄処理するようにする。
以上説明した第3の実施形態の場合には、デジタル署名を行なう前の位置・時刻情報を暗号化するようにしたので、当該暗号化に用いる公開鍵を通信の相手ではない他の者とすることできるので、個人の位置・時刻情報についての秘密を保持して、特定の通信相手に送ることができるようになるという効果がある。
例えば、デジタル署名は特定の受け付け人が行ない、位置・時刻情報は、その受け付け人以外の特定の者が暗号解読して見ることができるようにするという用い方が可能となる。
[携帯機器の第4の実施形態の構成例]
以上の例では、機器IDをユーザIDとして用いたが、いわゆるSIMカードやPKIカードなどの個人用のIC(Integrated Circuit;集積回路)カードを用いることにより、各個人のIDをユーザIDとして用いることができる。つまり、同じ携帯電話端末を用いる場合であっても使用者を区別して、使用者毎の位置・時刻情報の通信が可能となる。
図14は、この第4の実施形態における携帯電話端末10の構成例を示すものである。この図14の例においては、送信データ生成部120は設けられず、その代わりに、ICカードインターフェース131を介してICカード装填機構132がシステムバス102に接続される。そして、ICカード装填機構132に対しては、ICカード50が装填可能とされている。
また、この第4の実施形態においては、ユーザIDとしては、ICカード50内に保持される個人識別情報からなるユーザIDが用いられる。また、位置・時刻情報メモリは、ICカード50内に設けられるため、携帯電話端末10には、位置・時刻情報メモリ118を設ける必要はない。その他は、図2の携帯電話端末10とほぼ同様の構成である。
次に、ICカード50の構成例を図15に示す。すなわち、ICカード50は、CPU501に対して、システムバス502を通じて、プログラムやデータが格納されているROM503と、ワークエリア用のRAM504と、携帯電話端末10のICカード装填機構132に装填されたときに、携帯電話端末10に接続するためのインターフェース505と、ユーザID保持部506と、位置・時刻情報メモリ507と、秘密裏にICカードごとに異なる秘密鍵が書き込まれている秘密鍵保持部508と、デジタル署名生成部509と、自分および通信等の相手の公開鍵を保持する公開鍵保持部510と、暗号/復号部511とが接続されて構成されている。
図16にICカード50の発行手順と、相手との通信の際に必要な手順について説明する。
例えばユーザAは、CA(Certification Authority;認証)局をも兼ねるICカード発行会社に対してユーザ登録して、ICカードを購入する。この購入の際に、ICカードには、CA局により次のような情報が書き込まれる。まず、登録されたユーザIDがユーザID保持部506に格納されると共に、登録されたユーザAについての秘密鍵が秘密裏に秘密鍵保持部508に格納される。また、CA局のデジタル署名付きのユーザAの公開鍵からなるユーザAの証明書Aが公開鍵保持部510に格納されると共に、CA局の公開鍵が公開鍵保持部510に格納される。
他のユーザBについても同様にして、ユーザ登録および購入要求に応じて、ユーザBのICカードが発行される。そのICカードには、同様にして、ユーザBの秘密鍵が秘密鍵保持部508に格納され、また、CA局のデジタル署名付きのユーザBの公開鍵からなるユーザBの証明書Bと、CA局の公開鍵が公開鍵保持部510に格納される。
CA局は、登録された全てのユーザの証明書を、ディレクトリサーバに公開する。ユーザAと、ユーザBとの間で通信を行うとする場合には、予め、ユーザAは、ユーザBの証明書Bを、ディレクトリサーバからダウンロードし、また、ユーザBは、ユーザAの証明書Aを、ディレクトリサーバからダウンロードして、それぞれ公開鍵保持部510に格納しておく。
そして、この第4の実施形態において、前述した第1の実施形態を適用して位置・時刻情報を、例えばユーザAからユーザBに送る場合には、ユーザAは、自己のICカード50をICカード装填機構132に装填し、ユーザBを通信相手として指定して、位置・時刻情報の送信操作を行なう。
すると、CPU101は、まず、ICカード50のユーザID保持部506に保持されているユーザIDを取得して、ユーザBに送る。そして、位置・時刻計算部117で計算した結果の位置・時刻情報を、ICカード50に送る。すると、ICカード50では、CPU501の制御の下に、デジタル署名生成部509でデジタル署名を行ない、その結果としてのデジタル署名付きの位置・時刻情報を位置・時刻情報メモリ507に記憶すると共に、インターフェース505を通じて携帯電話端末10に送出する。
携帯電話端末10は、このデジタル署名付きの位置・時刻情報をICカードインターフェース部131を通じて受け取り、I/Oポート117を通じて信号処理部33および送信部34を通じて、アンテナ36に送り出し、ユーザBに送信するようにする。
また、この第4の実施形態において、前述した第2の実施形態を適用して、位置・時刻情報を、例えばユーザAからユーザBに送る場合には、ICカード50では、携帯電話端末10から受け取った位置・時刻情報をデジタル署名生成部509において、デジタル署名を生成・付加した後、デジタル署名付きの位置・時刻情報を位置・時刻情報メモリ507に記憶すると共に、暗号/復号部511において、公開鍵保持部510に保持されているユーザBの公開鍵を用いて、デジタル署名付きの位置・時刻情報を暗号化する。そして、暗号化したデジタル署名付きの位置・時刻情報を、インターフェース505を通じて携帯電話端末10に送出するようにする。
なお、この場合には、ICカード50には、位置・時刻情報に加えて、通信相手となるユーザBの情報の伝達される。ICカード50内において、ユーザBの公開鍵を検索するためである。
さらに、この第4の実施形態において、前述した第3の実施形態を適用して、位置・時刻情報を、例えばユーザAからユーザBに送る場合には、ICカード50では、携帯電話端末10から受け取った位置・時刻情報を、暗号/復号部511において、公開鍵保持部510に保持されているユーザBの公開鍵を用いて暗号化する。その後、デジタル署名生成部509において、暗号化されている位置・時刻情報について、デジタル署名を生成・付加した後、デジタル署名付きの位置・時刻情報を位置・時刻情報メモリ507に記憶すると共に、デジタル署名付きの暗号化した位置・時刻情報を、インターフェース505を通じて携帯電話端末10に送出するようにする。
なお、この場合にも、ICカード50には、位置・時刻情報に加えて、通信相手となるユーザBの情報の伝達される。ICカード50内において、ユーザBの公開鍵を検索するためである。
[携帯電話端末10からサーバ装置20への送信動作(第4の実施形態)、図17〜図20]
この第4の実施形態において、前述の第1〜第3の実施形態と同様に、位置・時刻情報が情報収集サーバ装置20の場合に収集される場合には、サーバ装置20の公開鍵保持部208には、機器IDの代わりに、ICカード50のユーザID保持部506に保持されるユーザIDを検索子として、検索可能な状態で、各ユーザの公開鍵が格納されるものである。
次に、ICカード50を用いた場合における携帯電話端末10からサーバ装置20に位置・時刻情報を送信する動作について、図17を参照して説明する。なお、この例においても、前述の図4、図8や図12の場合と同様に、携帯電話端末10は、サーバ装置20へは、一定時間間隔ごとに位置・時刻情報を通知するようにする。
すなわち、携帯電話端末10では、先ず、待機状態において(ステップS161)、通信(通話)のための操作入力がなされたか否か判別し(ステップS162)、操作がなされたと判別したときには、通信(通話)のための処理を実行する(ステップS163)。そして、通信(通話)が終了したと判別したときには(ステップS164)、ステップS161の待機状態に戻る。ステップS162〜ステップS164の処理は、位置・時刻情報のサーバ装置20への通知に優先して、通信(通話)を行なうようにするためである。
ステップS162で、通信(通話)のための操作入力が無かったと判別したときには、位置・時刻情報の通知タイミングとなったかどうか、時計回路114の時刻を参照して判別する(ステップS165)。位置・時刻情報の通知タイミングでなかったときには、ステップS161の待機状態に戻る。
そして、ステップS165で、位置・時刻情報の通知タイミングとなったと判別したときには、GPS信号受信部40にGPS衛星信号の捕捉を指示する(ステップS166)。そして、GPS信号受信部40から、4個以上のGPS衛星についての捕捉結果がI/Oポート107を通じて取り込まれたときには、CPU101は、位置・時刻計算部117に、自機の受信位置および時刻の計算を指示する(ステップS167)。
次に、位置・時刻情報が求められると、CPU101は、位置・時刻計算部117から位置・時刻情報をICカード50に転送するように指示する(ステップS168)。
前述の第1の実施形態のように、位置・時刻情報にデジタル署名を生成・付加してサーバ装置20に送る場合であれば、ICカード50では、図18に示すような処理を実行する。なお、この図18の処理は、CPU501の処理を中心として記述したものである。
すなわち、まず、インターフェース505を通じて、位置・時刻情報を取得する(ステップS181)。次に、CPU501は、取得した位置・時刻情報をデジタル署名生成部509に転送する。デジタル署名生成部509では、秘密鍵保持部508に保持されている秘密鍵を用いて、位置・時刻情報についてのデジタル署名を生成し、付加する(ステップS182)。
次に、CPU501は、デジタル署名が付加された位置・時刻情報を位置・時刻情報メモリ507に格納する(ステップS183)。さらに、デジタル署名が付加された位置・時刻情報を、インターフェース505を通じて携帯電話端末10に返すようにする(ステップS184)。
携帯電話端末10のCPU101は、このICカード50からの出力データを、ICカードインターフェース部131を通じて取得し、RAM104の一部で構成される送信バッファに格納する(図17のステップS169)。
そして、CPU101は、相手先メモリ116から情報収集サーバ装置20の電話番号を読み出し、自動ダイヤル発信する(ステップS170)。そして、これに対して情報収集サーバ装置20が応答したか否か判別し(ステップS171)、応答しないと判別したときには、通信中であるか否か判別し(ステップS172)、通信中でなければ、ステップS171に戻って応答を待ち、通信中であれば、ステップS170に戻って、情報収集サーバ装置20へのダイヤル発信をやり直す。
また、ステップS171で情報収集サーバ装置20で応答があったと判別したときには、まず、ICカード50のユーザID保持部506から取得したユーザIDを情報収集サーバ装置20に送る(ステップS173)。次いで、送信バッファに一次保持されているデジタル署名が付加されている位置・時刻情報を情報収集サーバ装置20に送信する(ステップS174)。送信が終了したら、サーバ装置20との通信路を切断する(ステップS175)。
以上は、サーバ装置20に送る情報の態様が第1の実施形態の場合であるが、サーバ装置20に送る情報の態様が第2の実施形態の場合であれば、ICカード50では、図19に示すようにして、送信データを生成する。また、サーバ装置20に送る情報の態様が第3の実施形態の場合であれば、ICカード50では、図20に示すようにして、送信データを生成する。
先ず、第2の実施形態の場合におけるICカード50での処理を図19のフローチャートを参照して説明する。
すなわち、まず、インターフェース505を通じて、位置・時刻情報を取得する(ステップS191)。次に、CPU501は、取得した位置・時刻情報をデジタル署名生成部509に転送する。デジタル署名生成部509では、秘密鍵保持部508に保持されている秘密鍵を用いて、位置・時刻情報についてデジタル署名を生成し、付加する(ステップS192)。
次に、CPU501は、デジタル署名が付加された位置・時刻情報を位置・時刻情報メモリ507に格納する(ステップS193)。さらに、CPU501は、デジタル署名が付加された位置・時刻情報を、暗号/復号部511に送る。暗号/復号部511では、携帯電話端末10からの通信相手の情報を基にして、サーバ装置20の公開鍵を公開鍵保持部510から取得し、取得した公開鍵を用いてデジタル署名付きの位置・時刻情報を暗号化する(ステップS194)。そして、暗号化したデジタル署名付きの位置・時刻情報を、インターフェース505を通じて携帯電話端末10に返すようにする(ステップS195)。
次に、第3の実施形態の場合におけるICカード50での処理を図20のフローチャートを参照して説明する。
すなわち、まず、インターフェース505を通じて、位置・時刻情報を取得する(ステップS201)。次に、CPU501は、取得した位置・時刻情報を暗号/復号部511に転送する。暗号/復号部511では、ユーザが指定した位置・時刻情報を通知したい相手の情報を基にして、当該位置・時刻情報を通知したい相手の公開鍵を公開鍵保持部510から取得し、取得した公開鍵を用いてデジタル署名付きの位置・時刻情報を暗号化する(ステップS202)。
次に、CPU501は、暗号化した位置・時刻情報をデジタル署名生成部509に転送する。デジタル署名生成部509では、秘密鍵保持部508に保持されている秘密鍵を用いて、暗号化された位置・時刻情報についてデジタル署名を生成し、付加する(ステップS203)。
次に、CPU501は、デジタル署名が付加された暗号化された位置・時刻情報を位置・時刻情報メモリ507に格納する(ステップS204)。さらに、CPU501は、デジタル署名付きの暗号化された位置・時刻情報を、インターフェース505を通じて携帯電話端末10に返すようにする(ステップS205)。
なお、上述の説明は、一定時間間隔で携帯電話端末10からサーバ装置20に対して自動的に位置・時刻情報の通知が行なわれる場合であるが、この第4の実施形態の携帯電話端末10においても、キー入力操作部110を操作することにより、ユーザは任意のタイミングで、サーバ装置20への位置・時刻情報の通知を行なうように指示することが可能なように構成されている。そのための処理ルーチンは、サーバ装置20への送信の起動がタイマー時間であったものが、ユーザによりキー入力操作指示である点が異なるのみで、図17に示したフローチャートのステップS166以降は、全く同様となるものである。
以上説明した第4の実施形態においては、位置・時刻情報には、ICカード50の秘密鍵により、デジタル署名がなされるので、携帯電話端末ごとの証明ではなく、ICカード50を所持するユーザごとの位置・時刻の証明が可能となるものである。
なお、上述の第4の実施形態の説明においては、携帯機器として、携帯電話端末にICカードを装填して使用する場合を説明したが、位置・時刻情報を送信するだけでなく、ICカード内のメモリに記憶する用途をも考慮すると、GPS受信機能付きのPDA、GPS受信機能付きのモバイルパーソナルコンピュータ、GPS受信機能付きのデジタルカメラ、GPS機能付きのカーナビゲーションシステム、GPS受信機能付きの時計などにも適用可能である。
この場合において、GPS受信機能は、アダプタとして、それぞれの携帯機器に接続される態様であっても良いことは前述した通りである。
[実施形態の変形例]
なお、上述の図4、図8、図10、図17の説明では、サーバ装置20に発呼をする前に、GPS信号受信部40にGPS衛星信号の捕捉指示を出して、4個以上のGPS衛星からの電波の捕捉を行ない、位置・時刻の計算が終了するようにしたが、これは、サーバ装置20に位置・時刻情報を通知するタイミングのときに、GPS信号受信部40が非動作であって、測位までに時間がかかることを考慮したものである。
サーバ装置20に位置・時刻情報を通知するタイミングのときに、GPS信号受信部40が動作中であって、携帯電話端末10において、既に位置・時刻情報が得られていた場合には、ステップS6およびステップS7、ステップS46およびステップS47、ステップS86およびステップS87、ステップS166およびステップS167は不要となる。そして、その場合には、サーバ装置20に発呼を行なって、サーバ装置20の応答を確認したら、既に求められている位置・時刻情報についてデジタル署名を行ない、位置・時刻情報メモリ118に格納するとともに、サーバ装置20に送信するようにするものである。
また、上述の実施形態では、携帯機器として携帯電話端末の場合を例に説明したが、携帯機器としては、携帯電話端末に限られるものではなく、前述したような、PDA、モバイルパーソナルコンピュータ、デジタルカメラ等にも適用できるものである。
また、上述の実施形態では、測位用衛星としてGPS衛星を用いた場合について説明したが、GPS衛星にかぎらず、他の測位用衛星からの電波を受信して測位する場合にも、この発明が適用できることは勿論である。