(57)【要約】      （修正有）【課題】  別途の装置、及びデータの改竄を判断するための情報を用意することなく改竄されたデータの送信を防止し、かつ改竄されていないデータについては迅速に送信することを可能とする。【解決手段】  ネットワークを介して他のデータ通信装置から送信されてきたデータを受信するデータ受信手段と、前記データが受信された際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データをメモリに記憶する固有データ生成・記憶手段と、前記受信されたデータを記憶する受信データ記憶手段と、前記受信データ記憶手段により記憶されたデータを、他のデータ通信装置に対して送信する際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データと、前記メモリに記憶された固有データとを比較し、当該比較した結果に基づいて、記憶されたデータを送信するか否かを判断する送信制御手段と、を備える。【選択図】  図３
2006163626.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してデータ通信が可能なデータ通信装置であって、
前記ネットワークを介して他のデータ通信装置から送信されてきたデータを受信するデータ受信手段と、
前記データが受信された際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データをメモリに記憶する固有データ生成・記憶手段と、
前記受信されたデータを記憶する受信データ記憶手段と、
前記受信データ記憶手段により記憶されたデータを、他のデータ通信装置に対して送信する際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データと、前記メモリに記憶された固有データとを比較し、当該比較した結果に基づいて、前記受信データ記憶手段により記憶されたデータを送信するか否かを判断する送信制御手段と、
を備えることを特徴とするデータ通信装置。
【請求項２】
ネットワークを介してデータ通信が可能なデータ通信装置であって、
前記ネットワークを介して他のデータ通信装置から送信されてきたデータを受信するデータ受信手段と、
前記データが受信された際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データをメモリに記憶する固有データ生成・記憶手段と、
前記受信されたデータを記憶する受信データ記憶手段と、
前記受信データ記憶手段により記憶されたデータを出力装置に出力する際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データと、前記メモリに記憶された固有データとを比較し、当該比較した結果に基づいて、前記受信データ記憶手段により記憶されたデータを出力するか否かを判断する出力制御手段と、
を備えることを特徴とするデータ通信装置。
【請求項３】
請求項１又は請求項２に記載のデータ通信装置において、
前記メモリは、前記記憶された固有データの書き換え禁止がなされたセキュアメモリであることを特徴とするデータ通信装置。
【請求項４】
請求項１又は請求項２に記載のデータ通信装置において、
前記メモリに記憶された固有データの書き換えを検知する書き換え検知手段と、を更に備え、
前記書き換え検知手段により前記固有データの書き換えが検知された場合には、前記制御手段は、前記比較を行わないことを特徴とするデータ通信装置。
【請求項５】
請求項３または請求項４に記載のデータ通信装置において、
前記送信制御手段は、前記データを送信すると判断した場合には、送信先となる他のデータ通信装置に対して、前記セキュアメモリ又は前記書き換え検知手段を備えているか否かを問い合わせ、前記セキュアメモリ又は前記書き換え検知手段を備えていない場合には、前記データを送信しないことを特徴とするデータ通信装置。
【請求項６】
コンピュータを、請求項１乃至５の何れか一項に記載のデータ通信装置として機能させることを特徴とするデータ通信処理プログラム。
【請求項７】
ネットワークを介して他のデータ通信装置から送信されてきたデータを受信する工程と、
前記データが受信された際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データをメモリに記憶する工程と、
前記受信されたデータを記憶する工程と、
前記記憶されたデータを、他のデータ通信装置に対して送信する際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データと、前記メモリに記憶された固有データとを比較し、当該比較した結果に基づいて、前記記憶されたデータを送信するか否かを判断する工程と、
を備えることを特徴とするデータ通信方法。
【請求項８】
ネットワークを介して他のデータ通信装置から送信されてきたデータを受信する工程と、
前記データが受信された際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データをメモリに記憶する工程と、
前記受信されたデータを記憶する工程と、
前記記憶されたデータを出力装置に出力する際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データと、前記メモリに記憶された固有データとを比較し、当該比較した結果に基づいて、前記記憶されたデータを出力するか否かを判断する工程と、
を備えることを特徴とするデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してデータ（情報）通信が可能なデータ（情報）通信装置及びデータ通信方法等の技術分野に関し、特に、改竄されたデータの配信を防止する技術分野に関する。
【背景技術】
【０００２】
インターネット等のネットワークにおいて、例えば、ピアツーピア（Ｐ２Ｐ）でデータを次々に他の端末に送信する場合においては、通信経路上のセキュリティの面でデータを暗号化して配信する方法が知られている。ここで、データ通信を行う各端末が共通鍵を有し、共通鍵でデータを暗号化してこれを送信した場合、暗号化されたデータを受信した端末（以下、「データ受信端末」という）側では、共通鍵でデータを復号化した後に、当該データに対してデータ作成者の意図に反する改竄を行った上で共通鍵で暗号化してこれを他の端末に送信することは可能である。
【０００３】
また、共通鍵を用いた場合には、データ受信端末が、受信されたデータに対して付加データ（例えば、口コミ情報等）を付加して送信した場合においても、その後のデータ受信端末が、当該付加データを改竄することも可能である。
【０００４】
このような改竄を防止する策としては、データ自身にデータ作成者の電子署名を付加して送信し、データ受信端末が電子署名により当該データが改竄されているか否かを確認する方法が知られている。
【０００５】
一方、特許文献１に開示されたデジタルコンテンツ改竄監視装置においては、基準時に算出した要約値と検査時に算出した要約値とを比較した結果を出力することにより、データの改竄を検知する機能を実現している。
【０００６】
また、特許文献２に開示されたコンテンツチェックシステムにおいては、サーバとクライアント端末との間にコンテンツデータの改竄をチェックするシステムを介在させることにより、改竄されたコンテンツデータの送信を防止する機能を実現している。
【特許文献１】特開２００１−２６５２１７号公報
【特許文献２】特開２００３−１４０９６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、電子署名は、データ作成者の秘密鍵で署名し、公開鍵で確認されることとなるが、この公開鍵がデータ作成者自身のものであるか否か確認するためには、第三者機関（ＣＡ）に問い合わせをしなければならない。この第三者機関への問い合わせには時間を要するため、受信したデータが改竄されていないことを確認した上で、他の端末へ送信するには時間を要するという問題があった。
【０００８】
また、データ受信端末が、受信したデータに対して更に付加データを付加して送信するような場合には、当該付加データに、データ受信端末における秘密鍵で電子署名をしなければならないことから、受信したデータが全て改竄されていないことを確認するためには、複数の鍵を用いなければならないため、鍵管理が困難になるという問題があった。
【０００９】
一方、特許文献１に開示されたデジタルコンテンツ改竄監視装置においては、比較結果を出力して改竄が行われたか否かを通知するのみであるため、改竄されたデータの送信を防止するためには別途の対処が必要となり、またデータが改竄されてからデータの改竄に対する処置が施されるまでの間は、改竄されたデータの送信を防ぐことができないという問題がある。
【００１０】
また、特許文献２に開示されたコンテンツチェックシステムにおいては、コンテンツチェックを行うための装置が別途必要となり、またピアツーピア等の通信形態においては、端末間毎にコンテンツチェックを行うための装置を用意しなければならないため、コスト等の面において実施が困難であるという問題がある。
【００１１】
本発明は、以上の点に鑑みてなされたものであり、別途の装置、及びデータの改竄を判断するための情報を用意することなく改竄されたデータの送信又は出力を防止し、かつ改竄されていないデータについては迅速に送信又は出力することを可能とするデータ通信装置、データ通信方法、及びデータ通信処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介してデータ通信が可能なデータ通信装置であって、前記ネットワークを介して他のデータ通信装置から送信されてきたデータを受信するデータ受信手段と、前記データが受信された際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データをメモリに記憶する固有データ生成・記憶手段と、前記受信されたデータを記憶する受信データ記憶手段と、前記受信データ記憶手段により記憶されたデータを、他のデータ通信装置に対して送信する際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データと、前記メモリに記憶された固有データとを比較し、当該比較した結果に基づいて、前記受信データ記憶手段により記憶されたデータを送信するか否かを判断する送信制御手段と、を備えることを特徴とする。
【００１３】
請求項２に記載の発明は、ネットワークを介してデータ通信が可能なデータ通信装置であって、前記ネットワークを介して他のデータ通信装置から送信されてきたデータを受信するデータ受信手段と、前記データが受信された際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データをメモリに記憶する固有データ生成・記憶手段と、前記受信されたデータを記憶する受信データ記憶手段と、前記受信データ記憶手段により記憶されたデータを出力装置に出力する際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データと、前記メモリに記憶された固有データとを比較し、当該比較した結果に基づいて、前記受信データ記憶手段により記憶されたデータを出力するか否かを判断する出力制御手段と、を備えることを特徴とする。
【００１４】
請求項３に記載の発明は、請求項１又は請求項２に記載のデータ通信装置において、前記メモリは、前記記憶された固有データの書き換え禁止がなされたセキュアメモリであることを特徴とする。
【００１５】
請求項４に記載の発明は、請求項１又は請求項２に記載のデータ通信装置において、前記メモリに記憶された固有データの書き換えを検知する書き換え検知手段と、を更に備え、前記書き換え検知手段により前記固有データの書き換えが検知された場合には、前記制御手段は、前記比較を行わないことを特徴とする。
【００１６】
請求項５に記載の発明は、請求項３または請求項４に記載のデータ通信装置において、前記送信制御手段は、前記データを送信すると判断した場合には、送信先となる他のデータ通信装置に対して、前記セキュアメモリ又は前記書き換え検知手段を備えているか否かを問い合わせ、前記セキュアメモリ又は前記書き換え検知手段を備えていない場合には、前記データを送信しないことを特徴とする。
【００１７】
請求項６に記載の発明は、コンピュータを、請求項１乃至５の何れか一項に記載のデータ通信装置として機能させることを特徴とする。
【００１８】
請求項７に記載の発明は、ネットワークを介して他のデータ通信装置から送信されてきたデータを受信する工程と、前記データが受信された際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データをメモリに記憶する工程と、前記受信されたデータを記憶する工程と、前記記憶されたデータを、他のデータ通信装置に対して送信する際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データと、前記メモリに記憶された固有データとを比較し、当該比較した結果に基づいて、前記記憶されたデータを送信するか否かを判断する工程と、を備えることを特徴とする。
【００１９】
請求項８に記載の発明は、ネットワークを介して他のデータ通信装置から送信されてきたデータを受信する工程と、前記データが受信された際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データをメモリに記憶する工程と、前記受信されたデータを記憶する工程と、前記記憶されたデータを出力装置に出力する際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データと、前記メモリに記憶された固有データとを比較し、当該比較した結果に基づいて、前記記憶されたデータを出力するか否かを判断する工程と、を備えることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、ネットワークを介して他のデータ通信装置から送信されてきたデータが受信された際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データをメモリ（例えば、セキュアメモリ）に記憶しておき、上記受信されたデータを、他のデータ通信装置に対して送信する際（又は、表示出力又は音声出力装置等の出力装置に出力する際）に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データと、前記メモリに記憶された固有データとを比較し、当該比較した結果に基づいて、上記受信したデータを送信（又は出力）するか否かを判断するように構成したので、上記比較結果、両固有データが一致しない場合には、データが改竄されているとして送信しないようにすることができ、両固有データが一致する場合には、データが改竄されていないとして直ちにデータを送信することができる。
【００２１】
従って、別途の装置及びデータの改竄を判断するための情報を用意することなく改竄データの送信（又は出力）を防止し、かつ改竄されていないデータについては迅速に送信（又は出力）することができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して本発明の最良の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、データ通信システムに対して本発明を適用した場合の実施形態である。
【００２３】
先ず、本実施形態におけるデータ通信システムの構成及び機能について説明する。
【００２４】
図１は、本実施形態におけるデータ通信システムの概要構成の一例を示す図である。
【００２５】
図１に示すように、データ通信システムＳは、ネットワークとしてのインターネット４に接続され、当該インターネット４を介して相互にデータ通信が可能な複数（本実施形態においては、一例として３つ）のデータ通信装置としての端末１乃至３を備えて構成されている。各端末１乃至３に対しては、夫々固有のＩＰ（Internet Protocol）アドレスが割り当てられている。
【００２６】
なお、図１に示す端末１乃至３の構成及び機能は、同様であるので、端末１を代表として説明する。
【００２７】
端末１は、図１に示すように、各種プログラムを実行するＣＰＵを主体として構成された処理部（ＲＡＭ、ＲＯＭも備える）１０、各種データやプログラムを記憶保存する記憶部１１（例えば、ハードディスク等）、固有データ記憶部１２、ユーザからの各種指示を入力する入力部１３（例えば、キーボード、マウス、操作ボタン等）、出力装置としての出力部１４（例えば、ディスプレイを備えた表示出力部，スピーカを備えた音声出力部等）、及びインターネット４を介して他の端末２又は３とデータ通信を行うための通信部（例えば、通信機器，通信ポート等）１５を備えており、各構成要素は、バス１６を介して相互に接続されている。
【００２８】
なお、端末としては、例えば、パーソナルコンピュータ，ＰＤＡ,携帯電話機，ＳＴＢ（Set Top Box）等が適用可能である。また、本実施形態においては、ネットワークとしてのインターネット４を適用したが、これに限定されるものではなく、任意の通信網を適用可能である。
【００２９】
処理部１０は、ＣＰＵが記憶部１１等に記憶保存された各種プログラム（例えば、データ通信処理プログラム）を読み出し実行することにより、端末１全体を統括制御すると共に、本発明のデータ受信手段、固有データ生成・記憶手段、受信データ記憶手段、及び送信制御手段等として機能するようになっている。なお、データ通信処理プログラムは、例えば、インターネット４上における所定のサーバからダウンロードされるようにしてもよいし、ＣＤ−ＲＯＭ等の記録媒体から読み込まれるようにしてもよい。
【００３０】
具体的には、処理部１０は、データ受信手段として、インターネット４を介して例えば他の端末２から送信されてきたデータ（例えば、端末２のユーザにより作成されたコンテンツデータ）を通信部１５を介して受信し、当該前記受信されたデータを記憶する。なお、当該データの内容は、特に限定されるものではなく、テキストデータ、画像データ、音声データ等の種々のデータであってもよい。また、当該データは単一のデータである必要はなく、Ｗｅｂコンテンツ等のようにＨＴＭＬデータと画像データ、音声データ等の各種データが複合したものであってもよい。
【００３１】
そして、処理部１０は、固有データ生成・記憶手段として、当該データが受信された際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データをメモリ、例えば、固有データ記憶部１２におけるセキュアメモリに記憶する。
【００３２】
ここで、固有データとは、受信されたデータに１対１に対応する固有（独自）のデータであり、元のデータが１ビットでも異なれば、結果として得られる固有データが異なるものである。データの改竄を検知するためには、受信したデータに少しでも変更が加えられれば、変更前と変更後のデータに基づいて生成される夫々の固有データの間に差異があることが必要であることから、例えば、受信したデータを所定のハッシュ関数にかけてハッシュ値を算出しこれを固有データとすることが望ましい。但し、受信されたデータに対応する固有データとしては、ハッシュ値に限定されるものではなく、例えば、受信されたデータの全データ、又は受信されたデータのあるビットからあるビットまでのデータであって受信されたデータに固有のデータであっても良い。
【００３３】
また、本実施形態におけるセキュアメモリとは、記憶された固有データの書き換え禁止がなされたメモリである。つまり、ユーザからの入力部１３を介した書き換え指令や、ＣＰＵにより実行されるアプリケーションプログラム（ソフト）からの書き換え指令により書き換えができない（物理的に書き換え不可能なもの、ソフト的に書き換え不能に制限されているもののどちらでも良い）ようになっているメモリである。或いは、ユーザからの入力部１３を介した書き換え指令や、ＣＰＵにより実行されるアプリケーションプログラム（ソフト）からの書き換え指令により固有データの書き換えが可能であったとしても、当該メモリに記憶された固有データの書き換えを検知する書き換え検知手段が付随するメモリであれば、これをセキュアメモリと称するものとする。本実施形態においては、メモリに記憶された固有データの書き換えを検知する書き換え検知手段を備える固有データ記憶部１２を適用する。
【００３４】
図２は、固有データ記憶部１２の概要構成の一例を示す図である。なお、固有データ記憶部１２としては、端末１に備えられたＩＣカードスロット（図示せず）に挿入することにより、当該端末１に搭載されるＩＣカード、或いは端末１に搭載されたＩＣチップを適用可能である。
【００３５】
図２に示すように、固有データ記憶部１２は、ユーザデータ記憶部２１、フラグデータ記憶部２２、及び書き換え検知手段としてのフラグデータ制御部２０等を備えている。ユーザデータ記憶部２１は、処理部１０により上記生成された固有データが記憶されるセキュアメモリ（例えば、フラッシュメモリ）を有している。フラグデータ記憶部２２は、フラグデータ制御部２０の処理によりデータの書き込みが可能なメモリを有する。このフラグデータ記憶部２２が有するメモリには、処理部１０からはデータを書き込むことはできず、処理部１０からは読み出しのみが可能になっている。
【００３６】
また、フラグデータ制御部２０は、ＣＰＵを主体として構成されており、ユーザデータ記憶部２１が有するセキュアメモリへのデータの書き込みを監視し、同一のメモリ位置に対する書き込みが最初の書き込みであるか、２回目以降の書き込みであるかの情報をフラグデータとして、フラグデータ記憶部２２の対応するメモリ位置に記憶するようになっている。例えば、フラグデータ記憶部２２が有する所定のメモリは、「０」で初期化されており、固有データの最初の書き込みがあれば「１」が、２回目以降の書き込みがあれば「２」が記憶（カウントアップ）される。これにより、ユーザデータ記憶部２１が有するセキュアメモリに記憶された固有データの書き換えを検知することができる。
【００３７】
一方、処理部１０は、上記生成した固有データを記憶した後、受信データ記憶手段として、上記受信されたデータを記憶部１１に記憶するようになっている。そして、処理部１０は、例えばユーザからの入力部１３を介したデータ送信指示等があった場合には、上記セキュアメモリに記憶された固有データが書き換えられているか否かを判別する。例えば、処理部１０は、フラグデータ記憶部２２に記憶されているフラグデータの内容を確認し、その内容が「１」である場合には、固有データが書き換えられていないと判別し、その内容が「１」でない場合（つまり、フラグデータ制御部２０により固有データの書き換えが検知され、フラグデータが「２」以上になっている場合）には、固有データが書き換えられていると判別する。つまり、本実施形態における受信されたデータの改竄としては、記憶部１１に記憶されているデータのみが書き換えられる場合の他に、当該データに加えてユーザデータ記憶部２１に記憶されている固有データも書き換えられる場合が考えられるため、処理部１０は、フラグデータの内容を参照することにより、後述する固有データどうしの比較の前に、ユーザデータ記憶部２１に記憶されている固有データの書き換えを判別するのである。
【００３８】
なお、記憶されたデータの書き換え禁止がなされたセキュアメモリに、上記固有データが記憶される場合には、当該固有データが書き換えられているか否かの判別は行われないことになる。
【００３９】
そして、処理部１０は、固有データが書き換えられていないと判別した場合には、送信制御手段として、記憶部１１に記憶されたデータを、例えば他の端末３に対して送信する際に、当該データを記憶部１１から読み出し当該データに基づいて当該データに対応する固有データを生成（例えば、当該データ（記憶部１１から読み出されたデータ）を、上記受信の際に用いたハッシュ関数にかけてハッシュ値を算出）し、当該生成した固有データと、ユーザデータ記憶部２１が有するセキュアメモリに記憶された固有データとを比較し、当該比較した結果に基づいて、記憶部１１に記憶されているデータ（上記受信されたデータ）を送信するか否かを判断するようになっている。例えば、処理部１０は、上記両固有データを比較した結果、一致している場合には、受信したデータが改竄されていないとして、記憶部１１から読み出したデータを通信部１５を介して端末３に送信（このとき、当該データに対して付加データ（例えば、口コミ情報等）を付加して送信するようにしても良い）し、両固有データが一致しない（差異がある）場合には、受信したデータが改竄されているとして記憶部１１に記憶されたデータを送信せず、当該データを削除（消去）する。
【００４０】
なお、処理部１０は、上記データを送信すると判断した場合に、送信先となる他の端末３に対して、セキュアメモリ又は固有データ記憶部１２を備えているか否かを問い合わせ（セキュアメモリ又は固有データ記憶部１２の搭載を確認するメッセージを端末３に送信して問い合わせ）、セキュアメモリ又は固有データ記憶部１２を備えていない場合（ＩＣカードのように着脱可能な場合に、装着されていない場合も含む）には、当該データを送信しないように構成しても良い。これにより、データの改竄を未然に防止することができる。
【００４１】
以上の端末１における処理部１０の処理は、端末２及び３においても同様である。
【００４２】
ここで、例えば、コンテンツデータに対して付加データが付加されて端末に送信された場合に、当該複数のデータ（コンテンツデータ及び付加データ）を受信した端末では、夫々のデータに基づいて、夫々のデータに対応する固有データ（つまり、コンテンツデータに対応する固有データと、付加データに対応する固有データ）を生成し、固有データ記憶部１２におけるセキュアメモリに記憶しておき、記憶部１１に記憶された複数のデータ（コンテンツデータ及び付加データ）を、他の端末に対して送信する際に、夫々のデータ（コンテンツデータ及び付加データ）に対応する固有データを生成し、当該生成した夫々の固有データと、セキュアメモリに記憶された夫々の固有データとを比較し、当該比較した結果に基づいて、記憶部１１に記憶されている複数のデータ（コンテンツデータ及び付加データ）を送信するか否かを判断するように構成しても良い。この場合、例えば、コンテンツデータに対応する両固有データが一致し、かつ、付加データに対応する両固有データが一致する場合に、当該複数のデータ（コンテンツデータ及び付加データ）が他の端末に送信されることになる。また、このとき、当該複数のデータ（コンテンツデータ及び付加データ）に対して更に付加データが付加されて送信されるようにしても良い。
【００４３】
このように、処理部１０が、複数のデータ（コンテンツデータ及び付加データ）の夫々に対応する固有データを生成するためには、夫々のデータを区別して認識（例えば、各データの境界を認識）する必要がある。そのための方法としては、例えば、コンテンツデータは１バイト目からｎバイト目まで、付加データはｎ＋１バイト目からｍバイト目まで、という内容のヘッダ情報を送信側の端末と受信側の端末がやり取りする方法が考えられる。例えば、送信側の端末は、コンテンツデータと付加データのサイズを基に上記ヘッダ情報を生成し、当該ヘッダ情報をコンテンツデータ及び付加データと共に送信する。一方、受信側の端末は、受信したヘッダ情報を参照することにより、コンテンツデータと付加データをデータの境目で区切った上で、夫々に対応する固有データを生成する。
【００４４】
次に、図３乃至図８を参照して、データ通信システムＳの動作について説明する。
【００４５】
図３は、端末１が端末２から１つのデータを受信し、そのまま端末３へデータを送信する場合の一例を示す概念図であり、図４は、端末１が端末２から複数のデータを受信し、更に付加データを付加して端末３へデータを送信する場合の一例を示す概念図である。
【００４６】
図５は、図３又は図４の場合において、データ受信時における端末１の処理部１０の処理の一例を示すフローチャートであり、図６は、固有データの記憶の際におけるフラグデータ制御部２０の処理の一例を示すフローチャートであり、図７及び図８は、データを送信する際における端末１の処理部１０の処理の一例を示すフローチャートである。
【００４７】
先ず、データを送信する端末２は、例えば固有データ記憶部１２の搭載を確認するメッセージ（以下、「搭載確認メッセージ」という）をインターネット４を介して端末１に送信する。
【００４８】
これに対し、端末１における処理部１０は、図５の処理において、端末２から送信されてきた搭載確認メッセージを受信すると（ステップＳ１）、固有データ記憶部１２を搭載しているか否か（例えば、装着されているか否かも含む）を確認し、固有データ記憶部１２を搭載しているか否かを示す応答メッセージ（以下、「搭載確認応答メッセージ」という）を、通信部１５及びインターネット４を介して端末２に送信する（ステップＳ２）。そして、処理部１０は、固有データ記憶部１２が搭載されていない場合には（ステップＳ３：Ｎ）、当該処理を終了し、搭載されている場合には（ステップＳ３：Ｙ）、ステップＳ４に移行する。
【００４９】
ステップＳ４においては、処理部１０は、端末２から送信されてきたデータを受信し、端末１における図示しないバッファメモリ（ユーザが操作できない記録領域）に一時的に蓄積する。
【００５０】
次いで、処理部１０は、バッファメモリにあるデータに基づいて、当該データに対応する固有データ（例えば、受信されたデータに対応するハッシュ値）を生成し（ステップＳ５）、当該固有データをユーザデータ記憶部２１におけるセキュアメモリに記憶する（ステップＳ６）。
【００５１】
次いで、処理部１０は、バッファメモリにあるデータを記憶部１１に記憶する（ステップＳ７）。
【００５２】
次いで、処理部１０は、受信された全てのデータについて固有データを生成、記憶する処理を行ったか否かを判別し（ステップＳ８）、全てのデータについて当該処理が行われた場合（ステップＳ８：Ｙ）、例えば図３の例のように、受信されたデータが１つのコンテンツデータのみである場合には、当該処理を終了する。
【００５３】
一方、全てのデータについて当該処理が行われていない場合（ステップＳ８：Ｎ）、例えば図４の例のように、受信されたデータが複数、例えばコンテンツデータ及び付加データＡである場合には、ステップＳ５に戻り、例えば付加データＡに対してもステップＳ５〜ステップＳ７の処理を行い、全てのデータについて当該処理が行われた場合には、当該処理を終了する。
【００５４】
ところで、上記ステップＳ６においてユーザデータ記憶部２１におけるセキュアメモリに固有データが記憶（書き込み）された場合、端末１のフラグデータ制御部２０は、固有データの書き込みを検知し、図６に示す処理を開始する。
【００５５】
図６の処理において、端末１のフラグデータ制御部２０は、先ず、フラグデータ記憶部２２から、書き込みがなされた固有データに対応するフラグデータを読み出す（ステップＳ１０）。
【００５６】
次いで、フラグデータ制御部２０は、フラグデータが「０」であるか否かを判別し（ステップＳ１１）、フラグデータが「０」である場合には（ステップＳ１１：Ｙ）、ステップＳ１２へ、フラグデータが「０」でない場合には（ステップＳ１１：Ｎ）、ステップＳ１３へ夫々移行する。
【００５７】
ステップＳ１２では、フラグデータ制御部２０は、フラグデータ記憶部２２に、フラグデータとして「１」を記憶し、ステップＳ１３では、フラグデータ制御部２０は、フラグデータ記憶部２２に、フラグデータとして「２」を記憶し、当該処理を終了する。なお、図６に示す処理は、固有データがユーザデータ記憶部２１におけるセキュアメモリに記憶される度に行われる。
【００５８】
そして、端末１の処理部１０は、例えばユーザからの入力部１３を介したデータ送信指示、又は、例えば他の端末３からのデータ送信要求メッセージの受信等を受け付けた場合、図７に示す処理を開始する。
【００５９】
先ず、処理部１０は、固有データ記憶部１２を搭載しているか否か（例えば、装着されているか否かも含む）を確認し（ステップＳ２０）、固有データ記憶部１２が搭載されていない場合には（ステップＳ２０：Ｎ）、当該処理を終了し、搭載されている場合には（ステップＳ２０：Ｙ）、ステップＳ２１に移行する。
【００６０】
次いで、処理部１０は、固有データ記憶部１２におけるフラグデータ記憶部２２からフラグデータを読み出し（ステップＳ２１）、当該フラグデータが「１」であるか否かを判定し（ステップＳ２２）、「１」である場合にはステップＳ２３へ、「１」でない場合には、ステップＳ３３へ、夫々移行する。
【００６１】
ステップＳ２３では、処理部１０は、記憶部１１に記憶されているデータを読み出し、次いで、当該データに基づいて、当該データに対応する固有データ（例えば、読み出されたデータに対応するハッシュ値）を生成する（ステップＳ２４）。
【００６２】
次いで、処理部１０は、固有データ記憶部１２におけるユーザデータ記憶部２１から固有データを読み出し（ステップＳ２５）、当該読み出された固有データと、上記ステップＳ２４で生成された固有データとを比較し（ステップＳ２６）、両固有データが一致していない場合には（ステップＳ２７：Ｎ）、受信したデータが改竄されているとしてステップＳ３３へ、両固有データが一致する場合には（ステップＳ２７：Ｙ）、ステップＳ２８へ、夫々移行する。
【００６３】
ステップＳ２８では、処理部１０は、受信された全てのデータについての固有データの比較を行ったか否かを判別し（ステップＳ２８）、全てのデータについて当該処理が行われた場合（ステップＳ２８：Ｙ）、例えば図３の例のように、受信されたデータが１つのコンテンツデータのみである場合には、図８に示すステップＳ２９へ移行する。
【００６４】
一方、全てのデータについて当該処理が行われていない場合（ステップＳ２８：Ｎ）、例えば図４の例のように、受信されたデータが複数、例えばコンテンツデータ及び付加データＡである場合には、ステップＳ２１に戻り、例えば付加データＡに対してもステップＳ２１〜ステップＳ２７の処理を行い、全てのデータについて当該処理が行われた場合には、図８に示すステップＳ２９へ移行する。
【００６５】
図８に示すステップＳ２９では、処理部１０は、搭載確認メッセージを通信部１５及びインターネット４を介して端末３に送信する。これに対して、処理部１０は、端末３から送信されてきた搭載確認応答メッセージを受信し（ステップＳ３０）、当該メッセージを参照して端末３に固有データ記憶部が搭載されているか否かを判別し（ステップＳ３１）、搭載されていない場合には（ステップＳ３１：Ｎ）、当該処理を終了し、搭載されている場合には（ステップＳ３１：Ｙ）、上記受信したデータを、通信部１５及びインターネット４を介して端末３に送信する（ステップＳ３２）。なお、図４の例の場合、かかるデータ送信の際に、同図に示すように、付加データＢをコンテンツデータ及び付加データＡに付加して送信しても良い。
【００６６】
一方、ステップＳ３３では、受信したデータが改竄されているとして記憶部１１に記憶されたデータを送信せず、当該データを削除（消去）する。
【００６７】
以上説明したように、上記実施形態によれば、インターネット４を介して他の端末２から送信されてきたデータが端末１により受信された際に、当該端末１が当該データに基づいて、当該データに対応する固有データを生成し、当該固有データをセキュアメモリに記憶しておき、上記受信されたデータを、他の端末３に対して送信する際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データと、上記セキュアメモリに記憶された固有データとを比較し、両固有データが一致しない場合には、受信したデータは改竄されているとして送信せず、両固有データが一致する場合には、受信したデータが改竄されていないとして直ちに端末３に送信するようにしたので、別途の装置及びデータの改竄を判断するための情報を用意することなく改竄データの送信を防止し、かつ改竄されていないデータについては迅速に送信することができる。
【００６８】
なお、上記実施形態においては、処理部１０は、他の端末３に対して送信する際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データと、上記セキュアメモリに記憶された固有データとを比較するように構成したが、これに限定されるものではない。例えば、端末１の処理部１０は、インターネット４を介して他の端末２から送信されてきたデータを受信した際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データをセキュアメモリに記憶しておき、例えば、上記受信したデータをユーザに提示するため（例えば、ユーザによる入力部１３を介した指示により）、出力部１４に表示出力、又は音声出力する際に、当該データに基づいて、当該データに対応する固有データを生成し、当該固有データと、上記セキュアメモリに記憶された固有データとを比較し、受信したデータを出力するか否かを判断するように構成しても良い。この場合も、両固有データが一致しない場合には、受信したデータが改竄されているとして出力されず（閲覧不可）、両固有データが一致する場合には、受信したデータが改竄されていないとして直ちに出力部１４に出力されることになる。従って、別途の装置及びデータの改竄を判断するための情報を用意することなく改竄データの出力し、かつ改竄されていないデータについては迅速に出力することができる。
【００６９】
また、上記実施形態においては、複数のデータを送信する際に、その内のいずれか１つでも改竄されている場合には、データを送信しないこととしているが、改竄されているデータのみ送信せず、改竄されていないデータについては送信するというように、データ毎に処理を制御するように構成しても良い。また、複数のデータを１つのデータとして扱うことによって、処理を簡易なものにするように構成しても良い。
【００７０】
また、上記実施形態においては、ピアツーピアによる通信形態を適用した場合の例を示したが、これに限定されるものではなく、例えば、サーバとクライアント間の通信等に対しても適用可能である。
【００７１】
また、上記実施形態は、送信側の端末からの要求によりデータが送信されるプッシュ型、及び受信側の端末からの要求によりデータが送信されるプル型の情報通信の何れにも適用可能である。
【図面の簡単な説明】
【００７２】
【図１】本実施形態におけるデータ通信システムの概要構成の一例を示す図である。
【図２】固有データ記憶部１２の概要構成の一例を示す図である。
【図３】端末１が端末２から１つのデータを受信し、そのまま端末３へデータを送信する場合の一例を示す概念図である。
【図４】端末１が端末２から複数のデータを受信し、更に付加データを付加して端末３へデータを送信する場合の一例を示す概念図である。
【図５】データ受信時における端末１の処理部１０の処理の一例を示すフローチャートである。
【図６】固有データの記憶の際におけるフラグデータ制御部２０の処理の一例を示すフローチャートである。
【図７】データを送信する際における端末１の処理部１０の処理の一例を示すフローチャートである。
【図８】データを送信する際における端末１の処理部１０の処理の一例を示すフローチャートである。
【符号の説明】
【００７３】
１〜３  端末
１０  処理部
１１  記憶部
１２  固有データ記憶部
１３  入力部
１４  出力部
１５  通信部
１６  バス
２０  フラグデータ制御部
２１  ユーザデータ記憶部
２２  フラグデータ記憶部
Ｓ  データ通信システム
【図１】
2006163626.tif 000003
【図２】
2006163626.tif 000004
【図３】
2006163626.tif 000005
【図４】
2006163626.tif 000006
【図５】
2006163626.tif 000007
【図６】
2006163626.tif 000008
【図７】
2006163626.tif 000009
【図８】
2006163626.tif 000010