(57)【要約】【課題】  少ない処理量でプライバシデータを高い信頼性で適切に保護することを可能にするプログラムを提供する。【解決手段】  サーバ装置Ｓ１は、上記起動したプログラムのハッシュデータをクライアント装置Ｃに送信する。クライアント装置Ｃは、ネゴシエーション後に、当該ハッシュデータおよび暗号化したプライバシデータＰＲＩＤをサーバ装置Ｓ１に送信する。サーバ装置Ｓ１は、ハッシュデータを照合した後に、プライバシデータＰＲＩＤを利用する。【選択図】  図１
2005316890.tif 000002
【特許請求の範囲】
【請求項１】
データの利用先で起動されたプログラムの第１のハッシュデータと予め保持した第２のハッシュデータとを照合して前記利用先の正当性を検証する第１の手順と、
前記第１の手順で前記利用先の正当性を確認したことを条件に、前記第１のハッシュデータと、利用対象データあるいは当該利用対象データを復号する鍵データとを前記利用先に送信する第２の手順と
をコンピュータに実行させるプログラム。
【請求項２】
前記第１のハッシュデータは、前記利用先で前記プログラムが起動されたときに前記利用先において強制的に生成され、前記コンピュータが前記利用先から受信したデータであり、
前記第２のハッシュデータは、前記データを利用するために要求されるソフトウェア環境を実現するプログラムのハッシュデータである
請求項１に記載のプログラム。
【請求項３】
前記第１の手順は、前記利用先の公開鍵データで前記第１のハッシュデータを復号した後に前記照合を行う
請求項１に記載のプログラム。
【請求項４】
前記利用対象データの利用条件を示す第１の利用条件データと、前記利用先が宣言した利用条件を示す第２の利用条件データとを基に、前記第２の手順の前記送信を行うか否かを判断する第３の手順
をさらに有し、
前記第２の手順は、前記第３の手順で前記送信を行うと判断したことを条件に、前記利用対象データあるいは前記鍵データを前記利用先に送信する
請求項１に記載のプログラム。
【請求項５】
前記第３の手順は、前記利用先から受信した前記第２の利用条件データを用いて判断を行う
請求項４に記載のプログラム。
【請求項６】
前記第２の手順は、前記第１のハッシュデータと、利用対象データあるいは当該利用対象データを復号する鍵データと、前記第２の利用条件データとを、前記利用先の公開鍵データで暗号化して前記利用先に送信する
請求項５に記載のプログラム。
【請求項７】
前記第２の手順は、前記第１の利用条件データを前記利用先に送信する
請求項４に記載のプログラム。
【請求項８】
既に前記利用先に送信した前記第１の利用条件データの識別データを指定して、当該第１の利用条件データを無効化する要求を前記利用先に送信する第４の手順
をさらに有する請求項７に記載のプログラム。
【請求項９】
前記第１の手順は、前記利用先から受信した前記第１のハッシュデータを前記照合に用いる
請求項１に記載のプログラム。
【請求項１０】
前記第１のハッシュデータは、前記利用先で起動されたＢＩＯＳ、ローダ、オペレーティングシステムおよびアプリケーションプログラムの各々のハッシュデータを含む
請求項１に記載のプログラム。
【請求項１１】
前記第１のハッシュデータは、前記利用先で起動されたＢＩＯＳ、ローダ、オペレーティングシステムの各々のハッシュデータと、
アプリケーションプログラムのハッシュデータあるいは公開鍵データ、並びに当該ハッシュデータに対しての署名データを含むモジュールデータとを含む
請求項１に記載のプログラム。
【請求項１２】
前記第１のハッシュデータは、前記利用先の耐タンパ性のセキィリティチップが生成したデータである
請求項１に記載のプログラム。
【請求項１３】
インタフェースと、
プログラムを記憶するメモリと、
前記メモリから読み出した前記プログラムに従って、データの利用先で起動されたプログラムの第１のハッシュデータと予め保持した第２のハッシュデータとを照合して前記利用先の正当性を確認したことを条件に、前記第１のハッシュデータと利用対象データあるいは当該利用対象データを復号する鍵データとを前記利用先に前記インタフェースを介して送信する実行回路と
を有するコンピュータ。
【請求項１４】
コンピュータが実行するデータ処理方法であって、
データの利用先で起動されたプログラムの第１のハッシュデータと予め保持した第２のハッシュデータとを照合して前記利用先の正当性を検証する第１の工程と、
前記第１の工程で前記利用先の正当性を確認したことを条件に、前記第１のハッシュデータと、利用対象データあるいは当該利用対象データを復号する鍵データとを前記利用先に送信する第２の工程と
を有するデータ処理方法。
【請求項１５】
プログラムを起動する第１の手順と、
前記第１の手順で起動したプログラムの第１のハッシュデータを生成し、これをセキュアな状態で記憶する第２の手順と、
前記第２の手順で生成した第１のハッシュデータを、データ提供元に送信する第３の手順と、
前記第３の手順の後に行われ、前記データ提供元から受信した第２のハッシュデータと前記第２の手順で記憶した前記第１のハッシュデータとが一致していることを条件に、前記データ提供元から提供を受けたデータの利用を許可する第４の手順と
をコンピュータに実行させるプログラム。
【請求項１６】
前記第４の手順は、前記データの利用条件を示す利用条件データを前記データ提供元に送信した後に行われる
請求項１５に記載のプログラム。
【請求項１７】
前記第４の手順で前記データの利用が許可された後に、前記利用条件データに従って、当該データを利用する第５の手順
をさらに有する請求項１６に記載のプログラム。
【請求項１８】
複数の前記利用条件データを前記データ提供元に送信する第６の手順と、
前記第４の手順で前記データの利用が許可された後に、前記第６の手順で送信した前記複数の利用条件データのうち前記データ提供元が指定した利用条件データに従って、当該データを利用する第７の手順と
を有する請求項１７に記載のプログラム。
【請求項１９】
前記第４の手順で前記データの利用が許可された後に、前記データ提供元から受信した利用条件データを基に、他のコンピュータとの間で、前記データ提供元が提供した前記データを送信するための処理を行う第８の手順
をさらに有する請求項１５に記載のプログラム。
【請求項２０】
前記第８の手順は、前記データ提供元が提供した前記データを保護するソフトウェア環境を前記他のコンピュータが備え、且つ、前記利用条件データが示す利用条件を満たすことを前記他のコンピュータが宣言していることを条件に、前記データを前記他のコンピュータに送信する
請求項１９に記載のプログラム。
【請求項２１】
前記データ提供元からの要求に応じて、前記データ提供元が既に提供したデータを無効化する第９の手順
をさらに有する請求項１５に記載のプログラム。
【請求項２２】
前記第１〜第３の手順を、前記コンピュータ内に設けられた耐タンパ性の電子回路に実行させる
請求項１５に記載のプログラム。
【請求項２３】
前記第３の手順は、前記第２の手順で生成した前記ハッシュデータを前記耐タンパ性の電子回路の秘密鍵データで暗号化して前記データ提供元に送信する処理を、当該電子回路に行わせる
請求項２２に記載のプログラム。
【請求項２４】
前記第４の手順を、前記耐タンパ性の電子回路に実行させる
請求項１９に記載のプログラム。
【請求項２５】
前記第４の手順は、前記第２のハッシュデータを前記電子回路の秘密鍵で復号した後に前記第１のハッシュデータとの一致の有無を判断し、一致していると判断したことを条件に、前記データ提供元が提供した前記データを前記電子回路の秘密鍵で復号する
請求項２４に記載のプログラム。
【請求項２６】
前記第４の手順を、前記コンピュータのオペレーティングシステムに実行させる
請求項１５に記載のプログラム。
【請求項２７】
前記第４の手順は、前記第２のハッシュデータを前記オペレーティングシステムの秘密鍵で復号した後に前記第１のハッシュデータとの一致の有無を判断し、一致していると判断したことを条件に、前記データ提供元が提供した前記データを前記オペレーティングシステムの秘密鍵で復号する
請求項２６に記載のプログラム。
【請求項２８】
インタフェースと、
データ保護機能を実現する第１のプログラムと、第２のプログラムとを記憶するメモリと、
前記メモリから前記第１のプログラムを読み出して起動すると、前記メモリから読み出した前記第２のプログラムに従って、前記起動した第１のプログラムの第１のハッシュデータを生成してセキュアな状態で前記メモリに記憶し、前記第１のハッシュデータをデータ提供元に前記インタフェースを介して送信し、前記データ提供元から前記インタフェースを介して受信した第２のハッシュデータと前記メモリから読み出した前記第１のハッシュデータとが一致していることを条件に、前記データ提供元が提供したデータの利用を許可する実行回路と
を有するコンピュータ。
【請求項２９】
コンピュータが実行するデータ処理方法であって、
プログラムを起動する第１の工程と、
前記第１の工程で起動したプログラムの第１のハッシュデータを生成し、これをセキュアな状態で記憶する第２の工程と、
前記第２の工程で生成した第１のハッシュデータを、データ提供元に送信する第３の工程と、
前記データ提供元から受信した第２のハッシュデータと前記第２の工程で記憶した前記第１のハッシュデータとが一致していることを条件に、前記データ提供元から提供を受けたデータの利用を許可する第４の工程と
を有するデータ処理方法。
【請求項３０】
データ提供元の第１のコンピュータと、データ提供先の第２のコンピュータとを有する通信システムであって、
前記第１のコンピュータは、
第１のインタフェースと、
第１のプログラムおよび第２のハッシュデータを記憶する第１のメモリと、
前記第１のメモリから読み出した前記第１のプログラムに従って、前記第１のインタフェースを介して前記第２のコンピュータから受信した第１のハッシュデータと、前記第１のメモリから読み出した前記第２のハッシュデータとを照合して前記第２のコンピュータの正当性を確認したことを条件に、前記第１のハッシュデータと利用対象データあるいは当該利用対象データを復号する鍵データとを前記第２のインタフェースを介して前記第２のコンピュータに送信する第１の実行回路と
を有し、
前記第２のコンピュータは、
第２のインタフェースと、
データ保護機能を実現する第２のプログラムと、第３のプログラムとを記憶する第２のメモリと、
前記第２のメモリから前記第２のプログラムを読み出して起動すると、前記第２のメモリから読み出した前記第３のプログラムに従って、前記起動した第２のプログラムの前記第１のハッシュデータを生成してセキュアな状態で前記第２のメモリに記憶し、前記第１のハッシュデータを前記第１のコンピュータに前記第２のインタフェースを介して送信し、前記第１のコンピュータから前記第２のインタフェースを介して受信した前記第１のハッシュデータと前記第２のメモリに前記セキュアな状態で記憶した前記第１のハッシュデータとが一致していることを条件に、前記第１のコンピュータが提供した前記利用対象データの利用を許可する第２の実行回路と
を有する
通信システム。
【請求項３１】
データ提供元の第１のコンピュータと、データ提供先の第２のコンピュータとの間で行う通信方法であって、
前記第２のコンピュータが、起動したプログラムの第１のハッシュデータを生成してセキュアな状態で記憶し、前記第１のハッシュデータを前記第１のコンピュータに送信する第１の工程と、
前記第１のコンピュータが、前記第１の工程で前記第２のコンピュータから受信した第１のハッシュデータと、予め保持した第２のハッシュデータとを照合して前記第２のコンピュータの正当性を確認したことを条件に、前記第１のハッシュデータと利用対象データあるいは当該利用対象データを復号する鍵データとを前記第２のコンピュータに送信する第２の工程と、
前記第２のコンピュータが、前記第２の工程で受信した前記第１のハッシュデータと前記第１の工程で前記セキュアな状態で記憶した前記第１のハッシュデータとが一致していることを条件に、前記第１のコンピュータが提供した前記利用対象データの利用する第３の工程と
を有する通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個人情報などのプライバシデータを保護するためのプログラム、コンピュータ、データ処理方法、通信システムおよびその方法に関する。
【背景技術】
【０００２】
例えば、ユーザの操作に応じてクライアント装置が所定のサーバ装置にアクセスし、サーバ装置からの要求に応じて、クライアント装置からサーバ装置にプライバシデータを送信する場合がある。
従来のシステムでは、例えば、クライアント装置とサーバ装置との間で、上記プライバシデータの利用規約の同意を行う処理を経た後に、クライアント装置が上記プライバシデータを所定の暗号鍵で暗号化してサーバ装置に送信する。
また、クライアント装置は、上記プライバシデータの利用規約データをサーバ装置に送信する。
サーバ装置は、自らのＩＤと上記利用規約データとをＴＴＰ(Trusted Third Party)サーバ装置に送信する。
ＴＴＰサーバ装置は、上記ＩＤを基にサーバ装置の正当性を検証すると共に、上記サーバ装置が利用規約データに従った処理を行うソフトウェア環境を備えているか否かを検証する。
ＴＴＰサーバ装置は、上記ＩＤの正当性を確認し、かつ、サーバ装置が上記環境を備えていると判断すると、復号鍵データをサーバ装置に送信する。
そして、サーバ装置は、上記復号鍵データを基に上記プライバシデータを復号し、当該復号したプライバシデータを、上記利用規約データに従った形態で利用する。
【０００３】
【非特許文献１】"The Platform for Privacy Preferences 1.0 (P3P1.0) Specification", W3C Recommendation,2002
【非特許文献２】Yolanta Beres 等 "Enforceability of Enterprise Privacy Policies", Technical Report: HPL-2003-119, Hewlett-Packard,2003
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来のシステムでは、ＴＴＰサーバ装置による処理を必要とし、処理量が多いという問題がある。
また、上述した従来のシステムでは、ＴＴＰサーバ装置が上記所定のサーバ装置を検証してから、クライアント装置がプライバシデータをサーバ装置に送信するまでの間に、サーバ装置のソフトウェア環境が変更され、サーバ装置においてプライバシデータが保護されない可能性があるという問題がある。
【０００５】
本発明は上述した従来技術の問題点に鑑みて成され、少ない処理量でプライバシデータを高い信頼性で保護することを可能にするプログラム、コンピュータ、データ処理方法、通信システムおよびその方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した従来技術の問題点を解決し、上述した目的を達成するために、第１の発明のプログラムは、データの利用先で起動されたプログラムの第１のハッシュデータと予め保持した第２のハッシュデータとを照合して前記利用先の正当性を検証する第１の手順と、前記第１の手順で前記利用先の正当性を確認したことを条件に、前記第１のハッシュデータと、利用対象データあるいは当該利用対象データを復号する鍵データとを前記利用先に送信する第２の手順とをコンピュータに実行させる。
【０００７】
第１の発明のプログラムの作用は以下のようになる。
コンピュータが、第１の発明のプログラムの第１の手順に従って、データの利用先で起動されたプログラムの第１のハッシュデータと予め保持した第２のハッシュデータとを照合して前記利用先の正当性を検証する。
次に、前記コンピュータが、第２の手順に従って、前記第１の手順で前記利用先の正当性を確認したことを条件に、前記第１のハッシュデータと、利用対象データあるいは当該利用対象データを復号する鍵データとを前記利用先に送信する。
【０００８】
第２の発明のコンピュータは、インタフェースと、プログラムを記憶するメモリと、前記メモリから読み出した前記プログラムに従って、データの利用先で起動されたプログラムの第１のハッシュデータと予め保持した第２のハッシュデータとを照合して前記利用先の正当性を確認したことを条件に、前記第１のハッシュデータと利用対象データあるいは当該利用対象データを復号する鍵データとを前記利用先に前記インタフェースを介して送信する実行回路とを有する。
【０００９】
第２の発明のコンピュータの作用は以下のようになる。
実行回路が、メモリから読み出した前記プログラムに従って、データの利用先で起動されたプログラムの第１のハッシュデータと予め保持した第２のハッシュデータとを照合する。
次に、前記実行回路が上記照合で前記利用先の正当性を確認したことを条件に、前記第１のハッシュデータと利用対象データあるいは当該利用対象データを復号する鍵データとを前記利用先に前記インタフェースを介して送信する。
【００１０】
第３の発明のデータ処理方法は、コンピュータが実行するデータ処理方法であって、データの利用先で起動されたプログラムの第１のハッシュデータと予め保持した第２のハッシュデータとを照合して前記利用先の正当性を検証する第１の工程と、前記第１の工程で前記利用先の正当性を確認したことを条件に、前記第１のハッシュデータと、利用対象データあるいは当該利用対象データを復号する鍵データとを前記利用先に送信する第２の工程とを有する。
【００１１】
第４の発明のプログラムは、プログラムを起動する第１の手順と、前記第１の手順で起動したプログラムの第１のハッシュデータを生成し、これをセキュアな状態で記憶する第２の手順と、前記第２の手順で生成した第１のハッシュデータを、データ提供元に送信する第３の手順と、前記第３の手順の後に行われ、前記データ提供元から受信した第２のハッシュデータと前記第２の手順で記憶した前記第１のハッシュデータとが一致していることを条件に、前記データ提供元から提供を受けたデータの利用を許可する第４の手順とをコンピュータに実行させる。
【００１２】
第４の発明のプログラムの作用は以下のようになる。
コンピュータが、第４の発明のプログラムの第１の手順に従って、プログラムを起動する。
次に、第２の手順に従って、前記第１の手順で起動したプログラムの第１のハッシュデータを生成し、これをセキュアな状態で記憶する。
次に、第３の手順に従って、前記第２の手順で生成した第１のハッシュデータを、データ提供元に送信する。
次に、第４の手順に従って、前記データ提供元から受信した第２のハッシュデータと前記第２の手順で記憶した前記第１のハッシュデータとが一致していることを条件に、前記データ提供元から提供を受けたデータの利用を許可する。
【００１３】
第５の発明のコンピュータは、インタフェースと、データ保護機能を実現する第１のプログラムと、第２のプログラムとを記憶するメモリと、前記メモリから前記第１のプログラムを読み出して起動すると、前記メモリから読み出した前記第２のプログラムに従って、前記起動した第１のプログラムの第１のハッシュデータを生成してセキュアな状態で前記メモリに記憶し、前記第１のハッシュデータをデータ提供元に前記インタフェースを介して送信し、前記データ提供元から前記インタフェースを介して受信した第２のハッシュデータと前記メモリから読み出した前記第１のハッシュデータとが一致していることを条件に、前記データ提供元が提供したデータの利用を許可する実行回路とを有する。
【００１４】
第５の発明のコンピュータの作用は以下のようになる。
実行回路が、メモリから前記第１のプログラムを読み出して起動すると、前記メモリから読み出した前記第２のプログラムに従って、前記起動した第１のプログラムの第１のハッシュデータを生成してセキュアな状態で前記メモリに記憶する。
次に、前記実行回路が、前記第１のハッシュデータをデータ提供元に前記インタフェースを介して送信する。
次に、前記実行回路が、前記データ提供元から前記インタフェースを介して受信した第２のハッシュデータと前記メモリから読み出した前記第１のハッシュデータとが一致していることを条件に、前記データ提供元が提供したデータの利用を許可する。
【００１５】
第６の発明のデータ処理方法は、コンピュータが実行するデータ処理方法であって、
プログラムを起動する第１の工程と、前記第１の工程で起動したプログラムの第１のハッシュデータを生成し、これをセキュアな状態で記憶する第２の工程と、前記第２の工程で生成した第１のハッシュデータを、データ提供元に送信する第３の工程と、前記データ提供元から受信した第２のハッシュデータと前記第２の工程で記憶した前記第１のハッシュデータとが一致していることを条件に、前記データ提供元から提供を受けたデータの利用を許可する第４の工程とを有する。
【００１６】
第７の発明の通信システムは、データ提供元の第１のコンピュータと、データ提供先の第２のコンピュータとを有する通信システムであって、前記第１のコンピュータは、第１のインタフェースと、第１のプログラムおよび第２のハッシュデータを記憶する第１のメモリと、前記第１のメモリから読み出した前記第１のプログラムに従って、前記第１のインタフェースを介して前記第２のコンピュータから受信した第１のハッシュデータと、前記第１のメモリから読み出した前記第２のハッシュデータとを照合して前記第２のコンピュータの正当性を確認したことを条件に、前記第１のハッシュデータと利用対象データあるいは当該利用対象データを復号する鍵データとを前記第２のインタフェースを介して前記第２のコンピュータに送信する第１の実行回路とを有し、前記第２のコンピュータは、第２のインタフェースと、データ保護機能を実現する第２のプログラムと、第３のプログラムとを記憶する第２のメモリと、前記第２のメモリから前記第２のプログラムを読み出して起動すると、前記第２のメモリから読み出した前記第３のプログラムに従って、前記起動した第２のプログラムの前記第１のハッシュデータを生成してセキュアな状態で前記第２のメモリに記憶し、前記第１のハッシュデータを前記第１のコンピュータに前記第２のインタフェースを介して送信し、前記第２のコンピュータから前記第２のインタフェースを介して受信した前記第１のハッシュデータと前記第２のメモリに前記セキュアな状態で記憶した前記第１のハッシュデータとが一致していることを条件に、前記第１のコンピュータが提供した前記利用対象データの利用を許可する第２の実行回路とを有する。
【００１７】
第８の発明の通信方法は、データ提供元の第１のコンピュータと、データ提供先の第２のコンピュータとの間で行う通信方法であって、前記第２のコンピュータが、起動したプログラムの第１のハッシュデータを生成してセキュアな状態で記憶し、前記第１のハッシュデータを前記第１のコンピュータに送信する第１の工程と、前記第１のコンピュータが、前記第１の工程で前記第２のコンピュータから受信した第１のハッシュデータと、予め保持した第２のハッシュデータとを照合して前記第２のコンピュータの正当性を確認したことを条件に、前記第１のハッシュデータと利用対象データあるいは当該利用対象データを復号する鍵データとを前記第２のコンピュータに送信する第２の工程と、前記第２のコンピュータが、前記第２の工程で受信した前記第１のハッシュデータと前記第１の工程で前記セキュアな状態で記憶した前記第１のハッシュデータとが一致していることを条件に、前記第１のコンピュータが提供した前記利用対象データの利用する第３の工程とを有する。
【発明の効果】
【００１８】
本発明によれば、少ない処理量でプライバシデータを高い信頼性で保護することを可能にするプログラム、コンピュータ、データ処理方法、通信システムおよびその方法を提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態に係わる通信システムについて説明する。
＜第１実施形態＞
以下、図１〜図９を参照して本発明の第１実施形態を説明する。
〔本発明の構成との対応関係〕
先ず、本実施形態の構成要素と、本発明の構成要素との対応関係を説明する。
図３に示すユーザエージェントプログラムＵ＿ＡＧが第１および第２の発明のプログラムに対応している。
また、クライアント装置Ｃが、第１および第２の発明のコンピュータ、並びに第７および第８の発明の第１のコンピュータに対応している。
また、クライアント装置Ｃが、第４〜第６の発明のデータ提供元に対応している。
また、本実施形態の起動プログラム検証データＰＨＤおよびハッシュデータＯＳ−ｈａｓｈが第１〜第８の発明の第１のハッシュデータ、並びに第４〜第６の発明の第２のハッシュデータに対応している。
また、本実施形態の参照起動プログラム検証データＲ−ＰＨＤおよび参照ハッシュデータＲ−ＯＳ−ｈａｓｈが第１〜第３、第７および第８の発明の第２のハッシュデータに対応している。
また、本実施形態のプライバシデータＰＲＩＤが、本発明のデータに対応している。
また、本実施形態のユーザプロファイルデータＰＲＦが第１の発明の第１の利用条件データ、並びに第４の発明の利用条件データに対応している。
また、本実施形態のプライバシポリシーデータＰＯＬが、第１の発明の第２の利用条件データに対応している。
【００２０】
また、図５に示すプログラムＰＲＧ−Ｓが、第５の発明のプログラム、並びに第６の発明の第２のプログラムに対応している。
また、本実施形態のプログラムＢＩＯＳ、ローダプログラムＬｏａｄｅｒ、オペレーティングシステムＯＳおよびアプリケーションプログラムＰ３Ｐ−ＡＰが、第１〜第３の発明の「データの利用先で起動されたプログラム」、並びに第４および第５の発明の第１のプログラムに対応している。
また、本実施形態のサーバ装置Ｓ１が、第５および第６の発明のコンピュータ、並びに第７および第８の発明の第２のコンピュータに対応している。
【００２１】
図９に示すステップＳＴ３４が第１の発明の第１の手順および第３の発明の第１の工程に対応し、ステップＳＴ３６，ＳＴ３７が第１の発明の第２の手順および第３の発明の第２の工程に対応している。
また、図９に示すステップＳＴ３５が第１の発明の第３の手順に対応している。
図８に示すステップＳＴ１２が第４の発明の第１の手順および第６の発明の第１の工程に対応し、図８に示すステップＳＴ１３，ＳＴ１４が第４の発明の第２の手順および第６の発明の第２の工程に対応している。
また、図９に示すステップＳＴ３２，ＳＴ３３が第１の発明の第３の手順および第６の発明の第３の工程に対応している。
また、図９に示すステップＳＴ３８〜ＳＴ４０が、第１の発明の第４の手順および第６の発明の第４の工程に対応している。
また、図９に示すステップＳＴ４２が第１の発明の第５の手順に対応している。
【００２２】
また、図３に示すＣＰＵ３４が第２の発明の実行回路に対応し、インタフェース３２が第２の発明のインタフェースに対応し、メモリ３３が第２の発明のメモリに対応している。
また、図５に示すＣＰＵ４５および図７に示すプロセッサ５７が第５の発明の実行回路に対応し、図５に示すインタフェース４２が第５の発明のインタフェースに対応し、図５に示すメモリ４３および図７に示すメモリ５６が第５の発明のメモリに対応している。
【００２３】
〔本実施形態の概要〕
以下、図１を参照して本実施形態の通信システム１の概要を説明する。
例えば、サーバ装置Ｓ１が、プログラムＢＩＯＳ(Basic Input/Output System) 、ローダプログラムＬｏａｄｅｒ、オペレーティングシステムＯＳ(Operating System)およびアプリケーションプログラムＰ３Ｐ−ＡＰ(Application Program) などのプログラムを起動する。
サーバ装置Ｓ１は、上記起動したプログラムＢＩＯＳ、ローダプログラムＬｏａｄｅｒ、オペレーティングシステムＯＳのハッシュデータを含む起動プログラム検証データＰＨＤと、上記起動したアプリケーションプログラムＰ３Ｐ−ＡＰのハッシュデータＰ３Ｐ−ｈａｓｈを生成し、これをセキュアな状態でセキュリティチップＳＣに記憶する。
サーバ装置Ｓ１は、上記起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈをクライアント装置Ｃに送信する。
【００２４】
クライアント装置Ｃは、サーバ装置Ｓ１から受信した起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈと、予めＯＳベンダ１０およびＡＰベンダ１２から受けた参照起動プログラム検証データＲ−ＰＨＤおよび参照ハッシュデータＲ−Ｐ３Ｐ−ｈａｓｈとをそれぞれ比較して照合を行い、双方が一致していればサーバ装置Ｓ１が正当なソフトウェア環境（プライバシデータＰＲＩＤを保護する環境）を備えていると判断する。
そして、クライアント装置Ｃは、サーバ装置Ｓ１が正当なソフトウェア環境を備えていると判断したことを条件に、上記起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈと、クライアント装置Ｃのユーザの個人情報であるプライバシデータＰＲＩＤとをサーバ装置Ｓ１に送信する。
そして、サーバ装置Ｓ１のセキュリティチップＳＣは、クライアント装置Ｃから受信した上記起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈと、セキュリティチップＳＣに記憶した起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈとの双方が一致していることを条件に、上記ソフトウェア環境上で、クライアント装置Ｃに宣言したプライバシポリシーデータＰＯＬに従って、プライバシデータＰＲＩＤを利用する。
【００２５】
本実施形態では、上述したように、クライアント装置Ｃが、サーバ装置Ｓ１のソフトウェア環境をＴＴＰサーバ装置を介さずに直接検証できる。
また、本実施形態では、サーバ装置Ｓ１のセキュリティチップＳＣにおいて、当該サーバ装置Ｓ１が送信し、且つそれをクライアント装置Ｃから受信した起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈと、プログラムの起動時にセキュリティチップＳＣに記憶した起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈとを比較して照合を行う。そのため、クライアント装置Ｃがサーバ装置Ｓ１を検証した後に、サーバ装置Ｓ１のソフトウェア環境が変わった場合には、そのことをサーバ装置Ｓ１が自動的に検出し、プライバシデータＰＲＩＤの利用を禁止することができる。
これにより、サーバ装置Ｓ１において、プライバシデータＰＲＩＤが適切に保護された形態で利用されることを保証できる。
【００２６】
なお、本実施形態では、クライアント装置Ｃからサーバ装置Ｓ１にプライバシデータＰＲＩＤが送信された後に、サーバ装置Ｓ１のソフトウェア環境が変更された場合（例えば、正当なアプリケーションプログラムＰ３Ｐ−ＡＰが適切に機能しない環境に変更された場合）には、プライバシデータＰＲＩＤが無効化される。
【００２７】
図１は、本発明の第１実施形態の通信システム１の全体構成図である。
図１に示すように、通信システム１は、例えば、ＯＳベンダ１０、ＡＰベンダ１２、認証機関１４、クライアント装置Ｃおよびサーバ装置Ｓ１，Ｓ２を有する。
〔ＯＳベンダ１０〕
ＯＳベンダ１０は、例えば、サーバ装置Ｓ１，Ｓ２に組み込まれたプログラムＢＩＯＳ、ローダプログラムＬｏａｄｅｒおよびオペレーティングシステムＯＳを提供するベンダである。
なお、ＯＳベンダ１０は、ブートプログラム等のその他のシステムプログラムを、ネットワーク９あるいは記録媒体を介してサーバ装置Ｓ１，Ｓ２に提供する。
ＯＳベンダ１０は、ハッシュ関数を基に、上記オペレーティングシステムＯＳのハッシュデータを生成し、これを参照ハッシュデータＲ−ＯＳ−ｈａｓｈとしてクライアント装置Ｃにセキュアな状態で提供（送信）する。
また、ＯＳベンダ１０は、上記プログラムＢＩＯＳ、上記ローダプログラムＬｏａｄｅｒおよびオペレーティングシステムＯＳの各々のハッシュデータを生成し、これらを所定のビットフィールドに格納した起動プログラム検証データＰＨＤを生成し、これを参照起動プログラム検証データＲ−ＰＨＤとしてクライアント装置Ｃに提供（送信）する。
【００２８】
〔ＡＰベンダ１２〕
ＡＰベンダ１２は、インターネットなどのネットワーク９上でプライバシデータ（個人情報）を保護するための機能であるＰ３Ｐ(The Platform for Privacy Preferences Project) 機能を備えたアプリケーションプログラムＰ３Ｐ＿ＡＰをサーバ装置Ｓ１，Ｓ２に提供するベンダである。
ＡＰベンダ１２は、上記アプリケーションプログラムＰ３Ｐ＿ＡＰのハッシュデータを生成し、これを参照ハッシュデータＲ−Ｐ３Ｐ−ＡＰとしてセキュアな状態でクライアント装置Ｃに提供（送信）する。
【００２９】
〔認証機関１４〕
認証機関１４は、サーバ装置Ｓ１に組み込まれたセキュリティチップＳＣ、サーバ装置Ｓ１に組み込まれたオペレーティングシステムＯＳ、サーバ装置Ｓ２に組み込まれたセキュリティチップＳＣ、サーバ装置Ｓ２に組み込まれたオペレーティングシステムＯＳの各々に対して、秘密鍵データＫｐｒｉ−ｓｃ１，Ｋｐｒｉ−ｏｓ１，Ｋｐｒｉ−ｓｃ２，Ｋｐｒｉ−ｏｓ２を発行し、これらをセキュアな状態で提供する。
また、認証機関１４は、秘密鍵データＫｐｒｉ−ｓｃ１，Ｋｐｒｉ−ｏｓ１，Ｋｐｒｉ−ｓｃ２，Ｋｐｒｉ−ｏｓ２の各々に対応した公開鍵証明データＣｅｒｔ−ｓｃ１，Ｃｅｒｔ−ｏｓ１，Ｃｅｒｔ−ｓｃ２，Ｃｅｒｔ−ｏｓ２を発行し、これらをクライアント装置Ｃに提供（送信）する。
【００３０】
以下、クライアント装置Ｃおよびサーバ装置Ｓ１について説明する。
なお、サーバ装置Ｓ２は、サーバ装置Ｓ１と同じ構成を有している。
図２は、クライアント装置Ｃとサーバ装置Ｓ１との間の通信の概要を説明するための図である。
図２に示すように、クライアント装置Ｃは、サーバ装置Ｓ１と通信を行ってサーバ装置Ｓ１のプラットフォームの検証を行う（ＳＴ１）。
ここで、サーバ装置Ｓ１のプラットフォームとは、サーバ装置Ｓ１上で起動されたプログラムＢＩＯＳ、ローダプログラムＬｏａｄｅｒ、オペレーティングシステムＯＳおよびアプリケーションプログラムＰ３Ｐ−ＡＰが提供するソフトウェア環境である。
すなわち、クライアント装置Ｃは、クライアント装置Ｃのユーザのプライバシデータの送信先として要求する所定のソフトウェア環境、具体的にはプライバシデータの保護を保証する環境をサーバ装置Ｓ１が備えているか否かを検証する。
【００３１】
また、クライアント装置Ｃは、サーバ装置Ｓ１との間で、上記プライバシデータを送信するための条件を交渉するネゴシエーション処理を行う（ステップＳＴ２）。
具体的には、クライアント装置Ｃは、予め記憶したプロファイルデータＰＲＦと、サーバ装置Ｓ１から受信したプライバシポリシーデータＰＯＬとを比較して、クライアント装置Ｃのユーザが要求する形態でプライバシデータを利用することをサーバ装置Ｓ１が宣言しているか否かを判断する。
【００３２】
クライアント装置Ｃは、サーバ装置Ｓ１が、プライバシデータの保護を保証する環境を備えており、クライアント装置Ｃのユーザが要求する形態でプライバシデータを利用することを宣言していると判断すると、ユーザのプライバシデータをサーバ装置Ｓ１に送信する。
【００３３】
〔クライアント装置Ｃ〕
図３は、図１および図２に示すクライアント装置Ｃの構成図である。
図３に示すように、クライアント装置Ｃは、例えば、操作部３１、インタフェース３２、メモリ３３およびＣＰＵ３４を有し、これらがデータ線３０を介して接続されている。
インタフェース３２は、ネットワーク９を介して認証機関１４およびサーバ装置Ｓ１，Ｓ２とデータおよび要求の送受信を行う。
【００３４】
メモリ３３は、参照起動プログラム検証データＲ−ＰＨＤおよび参照ハッシュデータＲ−ＯＳ−ｈａｓｈを記憶する。
また、メモリ３３は、参照ハッシュデータＲ−Ｐ３Ｐ−ＡＰを記憶する。
また、メモリ３３は、公開鍵証明データＣｅｒｔ−ｓｃ１，Ｃｅｒｔ−ｏｓ１，Ｃｅｒｔ−ｓｃ２，Ｃｅｒｔ−ｏｓ２を記憶する。
また、メモリ３３は、ユーザエージェントプログラムＵ＿ＡＧを記憶する。
【００３５】
ＣＰＵ３４は、メモリ３３からユーザエージェントプログラムＵ＿ＡＧを読み出して実行し、図２を用いて上述した処理、並びに後に詳細に説明する処理を行う。
【００３６】
以下、クライアント装置Ｃが、サーバ装置Ｓ１と通信する前に行う前処理について説明する。
図４は、当該前処理を説明するためのフローチャートである。
以下に示す前処理は、図３に示すクライアント装置Ｓ１のＣＰＵ３４が、メモリ３３から読み出したユーザエージェントプログラムＵ＿ＡＧに従って行う。
ステップＳＴ１：
ＣＰＵ３４は、例えば、インタフェース３２を介して、ＯＳベンダ１０が提供する参照起動プログラム検証データＲ−ＰＨＤおよび参照ハッシュデータＲ−ＯＳ−ｈａｓｈを入力し、これをメモリ３３に書き込む。
ステップＳＴ２：
ＣＰＵ３４は、例えば、インタフェース３２を介して、ＡＰベンダ１２が提供する参照ハッシュデータＲ−Ｐ３Ｐ−ＡＰを入力し、これをメモリ３３に書き込む。
ステップＳＴ３：
ＣＰＵ３４は、例えば、インタフェース３２を介して認証機関１４が提供する公開鍵証明データＣｅｒｔ−ｓｃ１，Ｃｅｒｔ−ｏｓ１，Ｃｅｒｔ−ｓｃ２，Ｃｅｒｔ−ｏｓ２を入力し、これをメモリ３３に書き込む。
なお、公開鍵証明データＣｅｒｔ−ｓｃ１，Ｃｅｒｔ−ｏｓ１，Ｃｅｒｔ−ｓｃ２，Ｃｅｒｔ−ｏｓ２には、それぞれ公開鍵データが含まれる。
【００３７】
〔サーバ装置Ｓ１〕
図５は、図１および図２に示すサーバ装置Ｓ１の構成図である。
図５に示すように、サーバ装置Ｓ１は、例えば、インタフェース４２、メモリ４３、セキュリティチップＳＣおよびＣＰＵ４５を有し、これらがデータ線４０を介して接続されている。
なお、サーバ装置Ｓ２は、例えば、サーバ装置Ｓ１と同じ構成を有している。
インタフェース４２は、ネットワーク９を介してクライアント装置Ｃとの間でデータおよび要求の送受信を行う。
【００３８】
メモリ４３は、プログラムＢＩＯＳ、ローダプログラムＬｏａｄｅｒ、オペレーティングシステムＯＳおよびアプリケーションプログラムＰ３Ｐ−ＡＰを記憶する。
また、メモリ４３は、サーバ装置Ｓ１の処理を統括的に制御するプログラムＰＲＧ−Ｓを記憶する。
【００３９】
ＣＰＵ４５は、メモリ４３に記憶された種々のプログラムを読み出し、所定のソフトウェア環境を実現する。
ＣＰＵ４５は、例えば、図６に示すように、ＣＰＵ４５およびセキュリティチップＳＣなどのハードウェア上でプログラムＢＩＯＳを動作させる。
また、ＣＰＵ４５は、プログラムＢＩＯＳ上でローダプログラムＬｏａｄｅｒを動作させ、このローダプログラムＬｏａｄｅｒを基にオペレーティングシステムＯＳを起動する。
また、ＣＰＵ４５は、オペレーティングシステムＯＳ上でアプリケーションプログラムＰ３Ｐ−ＡＰを動作させる。
【００４０】
セキュリティチップＳＣは、耐タンパ性の回路であり、外部から当該回路に対する攻撃（内部データの不正読み出し、入力周波数や入力電圧を所定外に設定する攻撃）を加えたときに、誤動作や内部データの洩漏を生じないように構成された回路である。
【００４１】
図７は、図５に示すセキュリティチップＳＣの構成図である。
図７に示すように、セキュリティチップＳＣは、例えば、入出力回路（Ｉ／Ｏ）５１、鍵生成回路５２、ハッシュ回路５３、乱数発生回路５４、署名・暗号回路５５、メモリ５６およびプロセッサ５７を有し、これらがデータ線５０を介して接続されている。
【００４２】
入出力回路５１は、図５に示すデータ線４０に接続され、セキュリティチップＳＣの内部と外部との間でデータ入出力を行う。
鍵生成回路５２は、例えば、乱数発生回路５４が発生した乱数を基に、セキュリティに係わる種々の鍵データを生成する。
ハッシュ回路５３は、ハッシュデータを生成する。
乱数発生回路５４は、乱数を発生（生成）する。
署名・暗号回路５５は、鍵データを用いた暗号化および復号を行い、暗号データの生成、暗号データの復号、署名データの生成、並びに署名データの検証を行う。
メモリ５６は、プログラムＰＲＧ＿ＳＣ、セキュリティチップＳＣの秘密鍵データＫｐｒｉ−ｓｃ１を記憶する。
また、メモリ５６は、サーバ装置Ｓ１の起動時に生成された起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈを記憶する。
プロセッサ５７は、図５に示すＣＰＵ４５からの制御に従って、セキュリティチップＳＣの動作を統括して制御する。
【００４３】
以下、図７に示すセキュリティチップＳＣがサーバ装置Ｓ１の起動時に実行する処理について説明する。
図８は、当該処理を説明するためのフローチャートである。
図８に示す処理は、図７に示すプロセッサ５７が、図５に示すＣＰＵ４５の制御に従って行い、ＣＰＵ４５の制御はプログラムＰＲＧ−Ｓに従って行われる。
ステップＳＴ１１：
図５に示すＣＰＵ４５は、サーバ装置Ｓ１が起動されたか否かを判断し、起動されたと判断するとステップＳＴ１２に進む。
ステップＳＴ１２：
ＣＰＵ４５は、メモリ４３から、プログラムＢＩＯＳ、ローダプログラムＬｏａｄｅｒおよびオペレーティングシステムＯＳを順に読み出して実行（起動）する。
続いて、ＣＰＵ４５は、メモリ４３からアプリケーションプログラムＰ３Ｐ−ＡＰを読み出して起動し、図６に示すソフトウェア環境を実現する。
【００４４】
ステップＳＴ１３：
プロセッサ５７は、ステップＳＴ１２で起動されたプログラムＢＩＯＳ、ローダプログラムＬｏａｄｅｒおよびオペレーティングシステムＯＳのハッシュデータをハッシュ回路５３に生成させ、所定のビットフィールドに格納した起動プログラム検証データＰＨＤを生成する。
また、プロセッサ５７は、ステップＳＴ１１で起動されたアプリケーションプログラムＰ３Ｐ−ＡＰのハッシュデータＰ３Ｐ−ｈａｓｈをハッシュ回路５３に生成する。
【００４５】
ステップＳＴ１４：
プロセッサ５７は、ステップＳＴ１３で生成した起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈをメモリ５６に書き込む。
【００４６】
以下、図１に示すクライアント装置Ｃからサーバ装置Ｓ１にプライバシデータＰＲＩＤを送信する場合の動作例を説明する。
図９は、当該動作例を説明するためのフローチャートである。
以下、図９に示す各ステップについて説明する。
なお、本実施形態では、既に、サーバ装置Ｓ１が起動され、図８に示す処理が完了しているものとする。
また、図９に示すクライアント装置Ｃの処理は図３に示すユーザエージェントプログラムＵ＿ＡＧに従ってＣＰＵ３４が制御し、図９に示すサーバ装置Ｓ１の処理は図５に示すプログラムＰＲＧ−Ｓに従ってＣＰＵ４５が制御する。
【００４７】
ステップＳＴ３１：
図３に示すクライアント装置Ｃの操作部３１がユーザによって操作され、ＣＰＵ３４の制御に従って、プラットフォーム検証要求が、インタフェース３２を介してサーバ装置Ｓ１に送信される。
これにより、ステップＳＴ３２の処理に進む。
ステップＳＴ３２：
図５および図７に示すサーバ装置Ｓ１のセキュリティチップＳＣの署名・暗号回路５５は、図８の処理を基に生成した起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈ、並びに秘密鍵データＫｐｒｉ−ｓｃ１をメモリ５６から読み出し、下記式（１）で規定されるデータＶＦを生成する。
下記式（１）において、「‖」は、結合を意味する。
すなわち、署名・暗号回路５５は、起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈを結合した結果を、秘密鍵データＫｐｒｉ−ｓｃ１で暗号化してデータＶＦを生成する。
【００４８】
（数１）
ＶＦ＝Ｅｐｋ（Ｋｐｒｉ−ｓｃ１，ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ）
…（１）
【００４９】
署名・暗号回路５５は、上記生成したデータＶＦを、図７に示すメモリ５６に書き込む。
【００５０】
ステップＳＴ３３：
図５に示すＣＰＵ４５は、ステップＳＴ３２でメモリ５６に記憶されたデータＶＦをセキュリティチップＳＣから読み出し、これをインタフェース４２を介してクライアント装置Ｃに送信する。
図３に示すクライアント装置Ｃは、データＶＦをインタフェース３２で受信する。
【００５１】
ステップＳＴ３４：
図５に示すクライアント装置ＣのＣＰＵ３４は、ステップＳＴ３３で受信したデータＶＦに含まれるデータ「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ」を、メモリ３３から読み出した公開鍵証明データＣｅｒｔ−ｓｃ１内の公開鍵データＫｐｕｂ−ｓｃ１で復号する。
そして、ＣＰＵ３４は、復号されたデータ「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ」内の起動プログラム検証データＰＨＤとメモリ３３から読み出した参照起動プログラム検証データＲ−ＰＨＤとの比較、並びにハッシュデータＰ３Ｐ−ｈａｓｈとメモリ３３から読み出した参照ハッシュデータＲ−Ｐ３Ｐ−ｈａｓｈとの比較を行い、双方が一致しているか否かを検証する。
ＣＰＵ３４は、上記双方が一致している場合にデータＶＦは正当であり、一致していない場合にデータＶＦは不正であると判断する。
ＣＰＵ３４は、上記双方が一致していると判断したことを条件にステップＳＴ３５に進む。
ＣＰＵ３４は、当該ステップＳＴ３４で上記検証を行うことで、クライアント装置Ｃが自らのプライバシデータＰＲＩＤを保護できるソフトウェア環境をサーバ装置Ｓ１が備えているか否かを判断できる。
【００５２】
ステップＳＴ３５：
クライアント装置Ｃとサーバ装置Ｓ１との間で、クライアント装置ＣによるプライバシデータＰＲＩＤの送信に関するネゴシエ−ションを行う。
具体的には、図５に示すサーバ装置Ｓ１のＣＰＵ４５は、メモリ４３から読み出したプライバシポリシーデータＰＯＬを、インタフェース４２を介してクライアント装置Ｃに送信する。
図３に示すクライアント装置ＣのＣＰＵ３４は、メモリ３３から読み出したプリファレンスデータＰＲＦと、上記受信したプライバシポリシーデータＰＯＬとを比較して、クライアント装置Ｃのユーザが要求する形態でプライバシデータＰＲＩＤを利用することをサーバ装置Ｓ１が宣言しているか否かを判断する。
そして、ＣＰＵ３４は、クライアント装置Ｃのユーザが要求する形態でプライバシデータＰＲＩＤを利用することをサーバ装置Ｓ１が宣言しているか否かを判断するとステップＳＴ３６に進む。
【００５３】
ステップＳＴ３６：
図４に示すＣＰＵ３４は、ステップＳＴ３４で復号したデータ「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ」とメモリ３３から読み出したプライバシデータＰＲＩＤとを結合したデータ「「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＩＤ」を、所定の鍵データＫを基に暗号化して暗号データＥｓｋ（Ｋ，ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＩＤ）を生成する。
また、ＣＰＵ３４は、上記鍵データＫを、サーバ装置Ｓ１のセキュリティチップＳＣの公開鍵データＫｐｕｂ−ｓｃ１を基に暗号化して暗号データＥｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）を生成する。
そして、ＣＰＵ３４は、上記暗号データＥｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）と、上記暗号データＥｓｋ（Ｋ，ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＩＤ）とを結合して下記式（２）で示されるデータＣＯＤを生成する。
【００５４】
（数２）
ＣＯＤ＝Ｅｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）‖Ｅｓｋ（Ｋ，ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＩＤ）
…（２）
【００５５】
ステップＳＴ３７：
図３に示すクライアント装置ＣのＣＰＵ３４は、ステップＳＴ３６で生成したデータＣＯＤを、インタフェース３２を介してサーバ装置Ｓ１に送信する。
図５に示すサーバ装置Ｓ１のインタフェース４２は、当該データＣＯＤを受信する。
【００５６】
ステップＳＴ３８：
図５に示すサーバ装置Ｓ１のセキュリティチップＳＣの図７に示すプロセッサ５７は、ステップＳＴ３７で受信したデータＣＯＤ内に含まれる暗号化された鍵データＫを、メモリ５６から読み出した秘密鍵データＫｐｒｉ−ｓｃ１を基に復号する。
【００５７】
ステップＳＴ３９：
プロセッサ５７は、データＣＯＤ内に含まれる暗号データ「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＩＤ」を、ステップＳＴ３８で復号した鍵データＫで復号する。
【００５８】
ステップＳＴ４０：
プロセッサ５７は、ステップＳＴ３９で復号した起動プログラム検証データＰＨＤとステップＳＴ３２でメモリ５６に書き込んだ起動プログラム検証データＰＨＤとの比較、並びに、ステップＳＴ３９で復号したハッシュデータＰ３Ｐ−ｈａｓｈとステップＳＴ３２でメモリ５６に書き込んだハッシュデータＰ３Ｐ−ｈａｓｈとの比較を行い、双方が一致しているか否かを検証し、一致していると判断した場合に正当であると判断してステップＳＴ４１に進む。
なお、ステップＳＴ３２の直前にサーバ装置Ｓ１が起動されてから当該ステップＳＴ４０を実行するまでの間に、サーバ装置Ｓ１上でプログラムＢＩＯＳ、ローダプログラムＬｏａｄｅｒ、オペレーティングシステムＯＳおよびアプリケーションプログラムＰ３Ｐ−ＡＰの何れか一つでも上記直前と異なる内容で再起動された場合には、ステップＳＴ４０の実行時にメモリ５６に記憶されている起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈの少なくとも一方は、ステップＳＴ３２で生成されたデータＶＦ内の対応するデータとは異なるものになる。
従って、プロセッサ５７において上述したように検証を行うことで、ステップＳＴ３４においてクライアント装置Ｃが検証したサーバ装置Ｓ１のソフトウェア環境が、ステップＳＴ３７においてクライアント装置Ｃがサーバ装置Ｓ１にプライバシデータＰＲＩＤを送信するときまで保持されていることを保証できる。
【００５９】
ステップＳＴ４１：
サーバ装置Ｓ１の図７に示す署名・暗号回路５５は、ステップＳＴ３７で受信したデータＣＯＤ内に含まれるプライバシデータＰＲＩＤを、ステップＳＴ３８で復号した鍵データＫを基に復号する。
【００６０】
ステップＳＴ４２：
図５に示すサーバ装置Ｓ１のＣＰＵ４５は、アプリケーションプログラムＰ３Ｐ−ＡＰを基に、プライバシポリシーデータＰＯＬに従って、ステップＳＴ４１で復号したプライバシデータＰＲＩＤを利用する処理を行う。
【００６１】
以上説明したように、通信システム１によれば、図９に示すステップＳＴ３２，ＳＴ３３およびＳＴ３４の処理により、クライアント装置Ｃが、ＴＴＰサーバ装置を用いずに、サーバ装置Ｓ１のソフトウェア環境を検証できる。そのため、クライアント装置Ｃおよびサーバ装置Ｓ１の処理負担を従来に比べて低減できる。
【００６２】
また、通信システム１によれば、図９を用いて説明したように、クライアント装置ＣがステップＳＴ３７で上記式（２）で示されるデータＣＯＤをサーバ装置Ｓ１に送信し、サーバ装置Ｓ１のセキュリティチップＳＣがステップＳＴ６０で起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈの検証を行うことで、ステップＳＴ３４においてクライアント装置Ｃが検証したサーバ装置Ｓ１のソフトウェア環境が、ステップＳＴ３７においてクライアント装置Ｃがサーバ装置Ｓ１にプライバシデータＰＲＩＤを送信するときまで保持されていることを保証できる。
すなわち、サーバ装置Ｓ１が図９に示すステップＳＴ３３でデータＶＦを送信した後に、サーバ装置Ｓ１のソフトウェア環境が、プライバシデータＰＲＩＤを保護しないものに変更され、プライバシデータＰＲＩＤが不正利用されることを効果的に回避できる。
また、通信システム１によれば、ステップＳＴ３２，ＳＴ３８〜ＳＴ４１の処理は、耐タンパ性の回路であるセキュリティチップＳＣで行われるため、高い信頼性がある。
【００６３】
＜第２実施形態＞
当該実施形態では、サーバ装置Ｓ１における図９に示すステップＳＴ３８〜ＳＴ４１の処理を、図５に示すセキュリティチップＳＣではなく、ＣＰＵ４５がオペレーティングシステムＯＳを基に実行する。
以下、本実施形態において、図１に示すクライアント装置Ｃからサーバ装置Ｓ１にプライバシデータＰＲＩＤを送信する場合の動作例を説明する。
図１０は、当該動作例を説明するためのフローチャートである。
以下、図１０に示す各ステップについて説明する。
なお、本実施形態では、既に、サーバ装置Ｓ１が起動され、図８に示す処理が完了しているものとする。
図１０に示すステップＳＴ５１〜ＳＴ５５，ＳＴ６２は、図９に示すステップＳＴ３１〜ＳＴ３５，ＳＴ４２とそれぞれ同じである。
また、図１０に示すステップＳＴ５６は、鍵データＫを、サーバ装置Ｓ１のオペレーティングシステムＯＳの公開鍵データＫｐｕｂ−ｏｓ１で暗号化する点を除いて、図９に示すステップＳＴ３６と同じである。
また、図１０に示すステップＳＴ５８は、オペレーティングシステムＯＳが実行する点、並びに、鍵データＫを、サーバ装置Ｓ１のオペレーティングシステムＯＳの秘密鍵データＫｐｒｉ−ｏｓ１で復号する点を除いて、図９に示すステップＳＴ３８と同じである。  また、図１０に示すステップＳＴ５９〜ＳＴ６１は、オペレーティングシステムＯＳが実行する点を除いて、図９に示すステップＳＴ３９〜ＳＴ４１とそれぞれ同じである。
【００６４】
本実施形態によっても、第１実施形態と同様の効果が得られる。
【００６５】
＜第３実施形態＞
本実施形態では、図１に示すサーバ装置Ｓ１からクライアント装置ＣにプライバシポリシーデータＰＯＬを送信する場合を説明する。
図１１および図１２は、本発明の第３実施形態における通信システムの動作例を説明するためのフローチャートである。
本実施形態の通信システムは、以下に示す動作を除いて、第１実施形態で説明した通信システムと同じである。
以下、図１１および図１２に示す各ステップについて説明する。
なお、本実施形態では、既に、サーバ装置Ｓ１が起動され、図８に示す処理が完了しているものとする。
また、図１１および図１２に示すクライアント装置Ｃの処理は図３に示すユーザエージェントプログラムＵ＿ＡＧに従ってＣＰＵ３４が制御し、図１１および図１２に示すサーバ装置Ｓ１の処理は図５に示すプログラムＰＲＧ−Ｓに従ってＣＰＵ４５が制御する。
【００６６】
ステップＳＴ７１：
図３に示すクライアント装置Ｃの操作部３１がユーザによって操作され、当該操作によって指定されたＵＲＬ(Uniform Resource Locator)を基に、ＣＰＵ３４の制御に従って、サーバ装置Ｓ１にアクセスが行われる。
ステップＳＴ７２：
サーバ装置Ｓ１は、ステップＳＴ７１のアクセスに応じて、所定のＨＴＭＬ(Hypertext Markup Language) データをクライアント装置Ｃに送信する。
クライアント装置ＣのＣＰＵ３４は、当該ＨＴＭＬデータを処理して図示しないディスイプレイにそれに応じた画面を表示する。
本実施形態において、上記ＨＴＭＬデータは、例えば、所定の組織への会員登録に関する案内データである。
【００６７】
ステップＳＴ７３：
上記画面を見たユーザによって図３に示すクライアント装置Ｃの操作部３１が操作され、ＣＰＵ３４の制御に従って、ポリシー要求がサーバ装置Ｓ１に送信される。
ステップＳＴ７４：
サーバ装置Ｓ１は、ステップＳＴ７３で受信したポリシー要求に応じて、ＰＯＬ参照データをクライアント装置Ｃに送信する。
ここで、ＰＯＬ参照データ（ポリシー参照ファイル）はＨＴＭＬファイルに関するＰ３Ｐポリシーが存在するアドレスを示している。
ステップＳＴ７５：
図３に示すクライアント装置Ｃの操作部３１がユーザによって操作され、ＣＰＵ３４の制御に従って、ポリシー要求および検証要求がサーバ装置Ｓ１に送信される。
【００６８】
ステップＳＴ７６：
図５および図７に示すサーバ装置Ｓ１のセキュリティチップＳＣの署名・暗号回路５５は、図８の処理を基に生成した起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈ、プライバシポリシーデータＰＯＬ、並びに秘密鍵データＫｐｒｉ−ｓｃ１をメモリ５６から読み出し、下記式（３）で規定されるデータＶＦを生成する。
下記式（３）において、「‖」は、結合を意味する。
すなわち、署名・暗号回路５５は、起動プログラム検証データＰＨＤ、ハッシュデータＰ３Ｐ−ｈａｓｈおよびプライバシポリシーデータＰＯＬを結合した結果を、秘密鍵データＫｐｒｉ−ｓｃ１で暗号化してデータＶＦ１を生成する。
【００６９】
（数３）
ＶＦ１＝Ｅｐｋ（Ｋｐｒｉ−ｓｃ１，ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＯＬ）
…（３）
【００７０】
署名・暗号回路５５は、上記生成したデータＶＦ１を、図７に示すメモリ５６に書き込む。
【００７１】
ステップＳＴ７７：
図５に示すＣＰＵ４５は、ステップＳＴ７６でメモリ５６に記憶されたデータＶＦ１をセキュリティチップＳＣから読み出し、これをインタフェース４２を介してクライアント装置Ｃに送信する。
図３に示すクライアント装置Ｃは、データＶＦ１をインタフェース３２で受信する。
【００７２】
ステップＳＴ７８：
図５に示すクライアント装置ＣのＣＰＵ３４は、ステップＳＴ７７で受信したデータＶＦ１に含まれるデータ「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＯＬ」を、メモリ３３から読み出した公開鍵証明データＣｅｒｔ−ｓｃ１内の公開鍵データＫｐｕｂ−ｓｃ１で復号する。
そして、ＣＰＵ３４は、復号されたデータ「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＯＬ」内の起動プログラム検証データＰＨＤとメモリ３３から読み出した参照起動プログラム検証データＲ−ＰＨＤとの比較、ハッシュデータＰ３Ｐ−ｈａｓｈとメモリ３３から読み出した参照ハッシュデータＲ−Ｐ３Ｐ−ｈａｓｈとの比較を行い、双方が一致しているか否かを検証する。
ＣＰＵ３４は、上記双方が一致している場合にデータＶＦ１は正当であり、一致していない場合にデータＶＦ１は不正であると判断する。
ＣＰＵ３４は、上記双方が一致していると判断したことを条件にステップＳＴ７９に進む。
ＣＰＵ３４は、当該ステップＳＴ７８で上記検証を行うことで、クライアント装置Ｃが自らのプライバシデータＰＲＩＤを保護できるソフトウェア環境をサーバ装置Ｓ１が備えているか否かを判断できる。
【００７３】
ステップＳＴ７９：
ＣＰＵ３４は、ステップＳＴ７８で復号したプライバシポリシーデータＰＯＬが、例えば、上述したステップＳＴ７４で取得したＰＯＬ参照データを基に取得したＰ３Ｐポリシーに適合し、且つステップＳＴ７５でポリシー要求を出した相手である適切なサーバ装置Ｓ１によるものであると判断したことを条件に、ステップＳＴ８０に進む。
【００７４】
ステップＳＴ８０：
図４に示すＣＰＵ３４は、ステップＳＴ７８で復号したデータ「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＯＬ」とメモリ３３から読み出したプライバシデータＰＲＩＤとを結合したデータ「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＩＤ」を、所定の鍵データＫを基に暗号化して暗号データＥｓｋ（Ｋ，ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＩＤ）を生成する。
また、ＣＰＵ３４は、上記鍵データＫを、サーバ装置Ｓ１のセキュリティチップＳＣの公開鍵データＫｐｕｂ−ｓｃ１を基に暗号化して暗号データＥｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）を生成する。
そして、ＣＰＵ３４は、上記暗号データＥｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）と、上記暗号データＥｓｋ（Ｋ，ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＩＤ）とを結合して上記式（２）で示されるデータＣＯＤを生成する。
【００７５】
ステップＳＴ８１〜ＳＴ８６：
図１２に示すステップＳＴ８１〜ＳＴ８６の処理は、図９を用いて説明したステップＳＴ３７〜ＳＴ４２と同じである。
【００７６】
以上説明したように、本実施形態によれば、上述した第１実施形態の効果に加えて以下の効果が得られる。
すなわち、本実施形態によれば、図１２のステップＳＴ７６で、サーバ装置Ｓ１のセキュリティチップＳＣが秘密鍵データＫｐｒｉ−ｓｃ１を基にプライバシポリシーデータＰＯＬを暗号化し、これをステップＳＴ７８でクライアント装置Ｃが公開鍵データＫｐｕｂ−ｓｃ１を基に復号する。そして、クライアント装置Ｃが、当該復号したプライバシポリシーデータＰＯＬを検証する。
そのため、クライアント装置Ｃは、ステップＳＴ７８で検証したプライバシデータＰＲＩＤを保護できるソフトウェア環境を備えたサーバ装置Ｓ１と、プライバシポリシーデータＰＯＬを持つサーバ装置Ｓ１とが同一であることを検証できる。
そのため、いわゆるサーバ装置Ｓ１のなりすましを効果的に回避できる。
【００７７】
＜第４実施形態＞
本実施形態では、サーバ装置Ｓ１が規定する複数のプライバシポリシーデータＰＯＬのなかから、クライアント装置Ｃが希望するプライバシポリシーデータＰＯＬを選択する場合を説明する。
図１３および図１４は、本発明の第４実施形態における通信システムの動作例を説明するためのフローチャートである。
本実施形態の通信システムは、以下に示す動作を除いて、第１および第３実施形態で説明した通信システムと同じである。
以下、図１３および図１４に示す各ステップについて説明する。
なお、本実施形態では、既に、サーバ装置Ｓ１が起動され、図８に示す処理が完了しているものとする。
また、図１３および図１４に示すクライアント装置Ｃの処理は図３に示すユーザエージェントプログラムＵ＿ＡＧに従ってＣＰＵ３４が制御し、図１３および図１４に示すサーバ装置Ｓ１の処理は図５に示すプログラムＰＲＧ−Ｓに従ってＣＰＵ４５が制御する。
【００７８】
ステップＳＴ１０１：
図３に示すクライアント装置Ｃの操作部３１がユーザによって操作され、当該操作によって指定されたＵＲＬを基に、ＣＰＵ３４の制御に従って、サーバ装置Ｓ１にアクセスが行われる。
ステップＳＴ１０２：
サーバ装置Ｓ１は、ステップＳＴ７１のアクセスに応じて、所定のＨＴＭＬデータをクライアント装置Ｃに送信する。
クライアント装置Ｃは、ＣＰＵ３４で当該ＨＴＭＬデータを処理して図示しないディスイプレイにそれに応じた画面を表示する。
本実施形態において、上記ＨＴＭＬデータは、例えば、所定の組織への会員登録に関する案内データである。
【００７９】
ステップＳＴ１０３：
上記画面を見たユーザによって図３に示すクライアント装置Ｃの操作部３１が操作され、ＣＰＵ３４の制御に従って、ポリシー要求がサーバ装置Ｓ１に送信される。
ステップＳＴ１０４：
サーバ装置Ｓ１は、ステップＳＴ１０３で受信したポリシー要求に応じて、ＰＯＬ参照データをクライアント装置Ｃに送信する。
クライアント装置Ｃは、ＰＯＬ参照データを基に、Ｐ３Ｐポリシーを取得して内容を確認する。
このとき、本実施形態では、サーバ装置Ｓ１は、複数のプライバシポリシーデータＰＯＬ２を規定しており、そのなからクライアント装置Ｃのユーザが希望するプライバシポリシーデータＰＯＬ２を選択する。
【００８０】
ステップＳＴ１０５：
図３に示すクライアント装置Ｃの操作部３１がユーザによって操作され、ＣＰＵ３４の制御に従って、ポリシー要求および検証要求がサーバ装置Ｓ１に送信される。
【００８１】
ステップＳＴ１０６：
図５および図７に示すサーバ装置Ｓ１のセキュリティチップＳＣの署名・暗号回路５５は、図８の処理を基に生成した起動プログラム検証データＰＨＤおよびハッシュデータＰ３Ｐ−ｈａｓｈ、プライバシポリシーデータＰＯＬ１、並びに秘密鍵データＫｐｒｉ−ｓｃ１をメモリ５６から読み出し、下記式（４）で規定されるデータＶＦを生成する。
下記式（４）において、「‖」は、結合を意味する。
すなわち、署名・暗号回路５５は、起動プログラム検証データＰＨＤ、ハッシュデータＰ３Ｐ−ｈａｓｈおよびプライバシポリシーデータＰＯＬ１を結合した結果を、秘密鍵データＫｐｒｉ−ｓｃ１で暗号化してデータＶＦ２を生成する。
本実施形態において、プライバシポリシーデータＰＯＬ１は、複数の異なる内容のプライバシポリシーデータＰＯＬ２を含んでいる。
【００８２】
（数４）
ＶＦ１＝Ｅｐｋ（Ｋｐｒｉ−ｓｃ１，ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＯＬ１）
…（４）
【００８３】
署名・暗号回路５５は、上記生成したデータＶＦ２を、図７に示すメモリ５６に書き込む。
【００８４】
ステップＳＴ１０７：
図５に示すＣＰＵ４５は、ステップＳＴ１０６でメモリ５６に記憶されたデータＶＦ２をセキュリティチップＳＣから読み出し、これをインタフェース４２を介してクライアント装置Ｃに送信する。
図３に示すクライアント装置Ｃは、データＶＦ２をインタフェース３２で受信する。
【００８５】
ステップＳＴ１０８：
図５に示すクライアント装置ＣのＣＰＵ３４は、ステップＳＴ１０７で受信したデータＶＦ２に含まれるデータ「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＯＬ１」を、メモリ３３から読み出した公開鍵証明データＣｅｒｔ−ｓｃ１内の公開鍵データＫｐｕｂ−ｓｃ１で復号する。
そして、ＣＰＵ３４は、復号されたデータ「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＯＬ１」内の起動プログラム検証データＰＨＤとメモリ３３から読み出した参照起動プログラム検証データＲ−ＰＨＤとの比較、ハッシュデータＰ３Ｐ−ｈａｓｈとメモリ３３から読み出した参照ハッシュデータＲ−Ｐ３Ｐ−ｈａｓｈとの比較を行い、双方が一致しているか否かを検証する。
ＣＰＵ３４は、上記双方が一致している場合にデータＶＦ２は正当であり、一致していない場合にデータＶＦ２は不正であると判断する。
ＣＰＵ３４は、上記双方が一致していると判断したことを条件にステップＳＴ１０９に進む。
ＣＰＵ３４は、当該ステップＳＴ１０９で上記検証を行うことで、クライアント装置Ｃが自らのプライバシデータＰＲＩＤを保護できるソフトウェア環境をサーバ装置Ｓ１が備えているか否かを判断できる。
【００８６】
ステップＳＴ１０９：
ＣＰＵ３４は、ステップＳＴ１０８で復号したプライバシポリシーデータＰＯＬ１が、例えば、上述したステップＳＴ１０４で取得したＰ３Ｐポリシーと適合し、且つステップＳＴ１０５でポリシー要求を出した相手である適切なサーバ装置Ｓ１によるものであると判断したことを条件に、ステップＳＴ１１０に進む。
【００８７】
ステップＳＴ１１０：
ＣＰＵ３４は、上記プライバシポリシーデータＰＯＬ１に含まれる複数のプライバシポリシーデータＰＯＬ２のなかから、希望するプライバシポリシーデータＰＯＬ２をユーザに選択させる。
なお、ＣＰＵ３４は、メモリ３３から読み出したユーザプロファイルデータＰＲＦを基に、自動的にプライバシポリシーデータＰＯＬ２を選択してもよい。
【００８８】
ステップＳＴ１１１：
図４に示すＣＰＵ３４は、ステップＳＴ１０８で復号したデータ「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ」と、ステップＳＴ１１０で選択したプライバシポリシーデータＰＯＬ２と、メモリ３３から読み出したプライバシデータＰＲＩＤとを結合したデータ「ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＩＤ」を、所定の鍵データＫを基に暗号化して暗号データＥｓｋ（Ｋ，ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＩＤ）を生成する。
また、ＣＰＵ３４は、上記鍵データＫを、サーバ装置Ｓ１のセキュリティチップＳＣの公開鍵データＫｐｕｂ−ｓｃ１を基に暗号化して暗号データＥｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）を生成する。
そして、ＣＰＵ３４は、上記暗号データＥｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）と、上記暗号データＥｓｋ（Ｋ，ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＩＤ）とを結合して下記式（５）で示されるデータＣＯＤ２を生成する。
【００８９】
（数５）
ＣＯＤ２＝Ｅｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）‖Ｅｓｋ（Ｋ，ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＩＤ）
…（５）
【００９０】
ステップＳＴ１１２：
図３に示すクライアント装置ＣのＣＰＵ３４は、ステップＳＴ１１１で生成したデータＣＯＤ２を、インタフェース３２を介してサーバ装置Ｓ１に送信する。
図５に示すサーバ装置Ｓ１のインタフェース４２は、当該データＣＯＤ２を受信する。
【００９１】
ステップＳＴ１１３：
図５に示すサーバ装置Ｓ１のセキュリティチップＳＣの図７に示すプロセッサ５７は、ステップＳＴ１１２で受信したデータＣＯＤ２内に含まれる暗号化された鍵データＫを、メモリ５６から読み出した秘密鍵データＫｐｒｉ−ｓｃ１を基に復号する。
【００９２】
ステップＳＴ１１４：
プロセッサ５７は、データＣＯＤ２内に含まれる暗号データ「ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ」を、ステップＳＴ１１３で復号した鍵データＫで復号する。
【００９３】
ステップＳＴ１１５：
プロセッサ５７は、ステップＳＴ１１４で復号した起動プログラム検証データＰＨＤとステップＳＴ１０６でメモリ５６に書き込んだ起動プログラム検証データＰＨＤとの比較、並びに、ステップＳＴ１１４で復号したハッシュデータＰ３Ｐ−ｈａｓｈとステップＳＴ１０６でメモリ５６に書き込んだハッシュデータＰ３Ｐ−ｈａｓｈとの比較を行い、双方が一致しているか否かを検証し、一致していると判断した場合に正当であると判断してステップＳＴ１１６に進む。
【００９４】
ステップＳＴ１１６：
サーバ装置Ｓ１の図７に示す署名・暗号回路５５は、ステップＳＴ１１２で受信したデータＣＯＤ２内に含まれるプライバシデータＰＲＩＤを、ステップＳＴ１１３で復号した鍵データＫを基に復号する。
【００９５】
ステップＳＴ１１７：
図５に示すサーバ装置Ｓ１のＣＰＵ４５は、アプリケーションプログラムＰ３Ｐ−ＡＰを基に、ステップＳＴ１１４で復号したプライバシポリシーデータＰＯＬ２（クライアント装置Ｃのユーザが選択したプライバシポリシーデータ）に従って、ステップＳＴ１１６で復号したプライバシデータＰＲＩＤを利用する処理を行う。
【００９６】
以上説明したように、本実施形態によれば、第３実施形態の通信システムの効果に加えて、サーバ装置Ｓ１が規定する複数のプライバシポリシーデータＰＯＬ１のなかから、クライアント装置Ｃのユーザが希望するプライバシポリシーデータＰＯＬ２を選択できるという効果が得られる。
【００９７】
＜第５実施形態＞
本実施形態では、サーバ装置Ｓ１が、クライアント装置Ｃからの要求に応じてサーバ装置Ｓ２に対して、クライアント装置ＣのユーザのプライバシデータＰＲＩＤを送信する場合を説明する。
図１５は、本発明の第５実施形態における通信システムの動作例を説明するためのフローチャートである。
本実施形態の通信システムは、以下に示す動作を除いて、第１、第３および第４実施形態で説明した通信システムと同じである。
以下、図１５に示す各ステップについて説明する。
なお、本実施形態では、既に、サーバ装置Ｓ１が起動され、図８に示す処理が完了しているものとする。
また、図１５に示すステップＳＴ２１１の前に、図１３および図１４を用いて第４実施形態で説明したステップＳＴ１０１〜ＳＴ１１０が終了している。
また、図１５に示すクライアント装置Ｃの処理は図３に示すユーザエージェントプログラムＵ＿ＡＧに従ってＣＰＵ３４が制御し、図１５に示すサーバ装置Ｓ１の処理は図５に示すプログラムＰＲＧ−Ｓに従ってＣＰＵ４５が制御する。
【００９８】
ステップＳＴ２１１：
図４に示すＣＰＵ３４は、図１３に示すステップＳＴ１０８で復号したデータ「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ」と、ステップＳＴ１１０で選択したプライバシポリシーデータＰＯＬ２と、メモリ３３から読み出したユーザプロファイルデータＰＲＦおよびプライバシデータＰＲＩＤとを結合したデータ「ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＦＰ‖ＰＲＩＤ」を、所定の鍵データＫを基に暗号化して暗号データＥｓｋ（Ｋ，ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＦＰ‖ＰＲＩＤ）を生成する。
また、ＣＰＵ３４は、上記鍵データＫを、サーバ装置Ｓ１のセキュリティチップＳＣの公開鍵データＫｐｕｂ−ｓｃ１を基に暗号化して暗号データＥｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）を生成する。
そして、ＣＰＵ３４は、上記暗号データＥｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）と、上記暗号データＥｓｋ（Ｋ，ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＦＰ‖ＰＲＩＤ）とを結合して下記式（６）で示されるデータＣＯＤ３を生成する。
【００９９】
（数６）
ＣＯＤ３＝Ｅｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）‖Ｅｓｋ（Ｋ，ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＦＰ‖ＰＲＩＤ）
…（６）
【０１００】
ステップＳＴ２１２：
図３に示すクライアント装置ＣのＣＰＵ３４は、ステップＳＴ２１１で生成したデータＣＯＤ３を、インタフェース３２を介してサーバ装置Ｓ１に送信する。
図５に示すサーバ装置Ｓ１のインタフェース４２は、当該データＣＯＤ３を受信する。
【０１０１】
ステップＳＴ２１３：
図５に示すサーバ装置Ｓ１のセキュリティチップＳＣの図７に示すプロセッサ５７は、ステップＳＴ２１２で受信したデータＣＯＤ２内に含まれる暗号化された鍵データＫを、メモリ５６から読み出した秘密鍵データＫｐｒｉ−ｓｃ１を基に復号する。
【０１０２】
ステップＳＴ２１４：
プロセッサ５７は、データＣＯＤ２内に含まれる暗号データ「ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＦ」を、ステップＳＴ２１３で復号した鍵データＫで復号する。
【０１０３】
ステップＳＴ２１５：
プロセッサ５７は、ステップＳＴ２１４で復号した起動プログラム検証データＰＨＤと図１３に示すステップＳＴ１０６でメモリ５６に書き込んだ起動プログラム検証データＰＨＤとの比較、並びに、ステップＳＴ２１４で復号したハッシュデータＰ３Ｐ−ｈａｓｈと図１３に示すステップＳＴ１０６でメモリ５６に書き込んだハッシュデータＰ３Ｐ−ｈａｓｈとの比較を行い、双方が一致しているか否かを検証し、一致していると判断した場合に正当であると判断してステップＳＴ２１６に進む。
【０１０４】
ステップＳＴ２１６：
サーバ装置Ｓ１の図７に示す署名・暗号回路５５は、ステップＳＴ２１２で受信したデータＣＯＤ２内に含まれるプライバシデータＰＲＩＤを、ステップＳＴ２１３で復号した鍵データＫを基に復号する。
【０１０５】
ステップＳＴ２１７：
図５に示すサーバ装置Ｓ１のＣＰＵ４５は、アプリケーションプログラムＰ３Ｐ−ＡＰを基に、ステップＳＴ２１４で復号したプライバシポリシーデータＰＯＬ２（クライアント装置Ｃのユーザが選択したプライバシポリシーデータ）、並びにユーザプロファイルデータＰＲＦに従って、例えば、図９に示すステップＳＴ３１，ＳＴ３４，ＳＴ３５，ＳＴ３６を用いて第１実施形態で説明したＰ３Ｐネゴシエーション処理をサーバ装置Ｓ２との間で行う。
この場合に、サーバ装置Ｓ２は、図９に示すステップＳＴ３２，ＳＴ３８〜ＳＴ４２の処理を行う。
【０１０６】
以上説明したように、本実施形態によれば、クライアント装置Ｃは、サーバ装置Ｓ１に対して、クライアント装置ＣのユーザのプライバシデータＰＲＩＤの送信に関するサーバ装置Ｓ２との間のネゴシエーションを依頼することができる。
そのため、クライアント装置Ｃが、サーバ装置Ｓ１とＳ２との双方にプライバシデータＰＲＩＤを送信する場合に、クライアント装置Ｃの処理負担、並びにクライアント装置Ｃのユーザの操作負担を軽減できる。
また、本実施形態によれば、クライアント装置Ｃは、サーバ装置Ｓ１のソフトウェア環境を検証していると共に、サーバ装置Ｓ１はプライバシポリシーデータＰＯＬ２およびユーザプロファイルデータＰＲＦに従ってサーバ装置Ｓ２とネゴシエーションを行うため、サーバ装置Ｓ２に対してプライバシデータＰＲＩＤの保護を高い信頼性で適切に行わせることができる。
【０１０７】
＜第６実施形態＞
上述した第５実施形態において、クライアント装置Ｃがサーバ装置Ｓ１に対して、既に送信したプライバシデータＰＲＩＤのキャンセルを要求する場合を説明する。
図１６は、本発明の第５実施形態における通信システムの動作例を説明するためのフローチャートである。
本実施形態の通信システムは、以下に示す動作を除いて、第１、第３〜５実施形態で説明した通信システムと同じである。
以下、図１６に示す各ステップについて説明する。
なお、本実施形態では、既に、サーバ装置Ｓ１が起動され、図８に示す処理が完了しているものとする。
また、図１６に示すステップＳＴ３１１の前に、図１３および図１４を用いて第４実施形態で説明したステップＳＴ１０１〜ＳＴ１１０が終了している。
また、図１６に示すクライアント装置Ｃの処理は図３に示すユーザエージェントプログラムＵ＿ＡＧに従ってＣＰＵ３４が制御し、図１６に示すサーバ装置Ｓ１の処理は図５に示すプログラムＰＲＧ−Ｓに従ってＣＰＵ４５が制御する。
【０１０８】
ステップＳＴ３１１：
図４に示すＣＰＵ３４は、図１３に示すステップＳＴ１０８で復号したデータ「ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ」と、ステップＳＴ１１０で選択したプライバシポリシーデータＰＯＬ２と、メモリ３３から読み出したユーザプロファイルデータＰＲＦ、プライバシデータＰＲＩＤの識別データＩＤ−ＰＲＩＤおよびプライバシデータＰＲＩＤとを結合したデータ「ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＦＰ‖ＩＤ−ＰＲＩＤ‖ＰＲＩＤ」を、所定の鍵データＫを基に暗号化して暗号データＥｓｋ（Ｋ，ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＦＰ‖ＩＤ−ＰＲＩＤ‖ＰＲＩＤ）を生成する。
また、ＣＰＵ３４は、上記鍵データＫを、サーバ装置Ｓ１のセキュリティチップＳＣの公開鍵データＫｐｕｂ−ｓｃ１を基に暗号化して暗号データＥｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）を生成する。
そして、ＣＰＵ３４は、上記暗号データＥｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）と、上記暗号データＥｓｋ（Ｋ，ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＦＰ‖ＩＤ−ＰＲＩＤ‖ＰＲＩＤ）とを結合して下記式（７）で示されるデータＣＯＤ４を生成する。
【０１０９】
（数７）
ＣＯＤ４＝Ｅｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）‖Ｅｓｋ（Ｋ，ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＦＰ‖ＩＤ−ＰＲＩＤ‖ＰＲＩＤ）
…（７）
【０１１０】
ステップＳＴ３１２：
図３に示すクライアント装置ＣのＣＰＵ３４は、ステップＳＴ３１１で生成したデータＣＯＤ３を、インタフェース３２を介してサーバ装置Ｓ１に送信する。
図５に示すサーバ装置Ｓ１のインタフェース４２は、当該データＣＯＤ４を受信する。
【０１１１】
ステップＳＴ３１３：
図５に示すサーバ装置Ｓ１のセキュリティチップＳＣの図７に示すプロセッサ５７は、ステップＳＴ３１２で受信したデータＣＯＤ３内に含まれる暗号化された鍵データＫを、メモリ５６から読み出した秘密鍵データＫｐｒｉ−ｓｃ１を基に復号する。
【０１１２】
ステップＳＴ３１４：
プロセッサ５７は、データＣＯＤ３内に含まれる暗号データ「ＰＯＬ２‖ＰＨＤ‖Ｐ３Ｐ−ｈａｓｈ‖ＰＲＦ‖ＩＤ−ＰＲＩＤ」を、ステップＳＴ３１３で復号した鍵データＫで復号する。
【０１１３】
ステップＳＴ３１５：
プロセッサ５７は、ステップＳＴ３１４で復号した起動プログラム検証データＰＨＤと図１３に示すステップＳＴ１０６でメモリ５６に書き込んだ起動プログラム検証データＰＨＤとの比較、並びに、ステップＳＴ３１４で復号したハッシュデータＰ３Ｐ−ｈａｓｈと図１３に示すステップＳＴ１０６でメモリ５６に書き込んだハッシュデータＰ３Ｐ−ｈａｓｈとの比較を行い、双方が一致しているか否かを検証し、一致していると判断した場合に正当であると判断してステップＳＴ３１６に進む。
【０１１４】
ステップＳＴ３１６：
サーバ装置Ｓ１の図７に示す署名・暗号回路５５は、ステップＳＴ３１２で受信したデータＣＯＤ３内に含まれるプライバシデータＰＲＩＤを、ステップＳＴ３１３で復号した鍵データＫを基に復号する。
【０１１５】
ステップＳＴ３１７：
図５に示すサーバ装置Ｓ１のＣＰＵ４５は、アプリケーションプログラムＰ３Ｐ−ＡＰを基に、ステップＳＴ３１４で復号したプライバシポリシーデータＰＯＬ２（クライアント装置Ｃのユーザが選択したプライバシポリシーデータ）、並びにユーザプロファイルデータＰＲＦに従って、例えば、図９に示すステップＳＴ３１，ＳＴ３４，ＳＴ３５，ＳＴ３６を用いて第１実施形態で説明したＰ３Ｐネゴシエーション処理をサーバ装置Ｓ２との間で行う。
この場合に、サーバ装置Ｓ２は、図９に示すステップＳＴ３２，ＳＴ３８〜ＳＴ４２の処理を行う。
【０１１６】
ステップＳＴ３１８：
クライアント装置Ｃの操作部３１がユーザによって操作され、キャンセルを希望するプライバシデータＰＲＩＤの識別データＩＤ−ＰＲＩＤが指定される。
そして、図４に示すＣＰＵ３４は、上記指定されたキャンセルの対象となる識別データＩＤ−ＰＲＩＤを、所定の鍵データＫを基に暗号化して暗号データＥｓｋ（Ｋ，ＩＤ−ＰＲＩＤ）を生成する。
また、ＣＰＵ３４は、上記鍵データＫを、サーバ装置Ｓ１のセキュリティチップＳＣの公開鍵データＫｐｕｂ−ｓｃ１を基に暗号化して暗号データＥｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）を生成する。
そして、ＣＰＵ３４は、上記暗号データＥｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）と、上記暗号データＥｓｋ（Ｋ，ＩＤ−ＰＲＩＤ）とを結合して下記式（８）で示されるキャンセル要求ＲＥＱを生成する。
【０１１７】
（数８）
ＲＥＱ＝Ｅｐｋ（Ｋｐｕｂ−ｓｃ１，Ｋ）‖Ｅｓｋ（Ｋ，ＩＤ−ＰＲＩＤ））
…（８）
【０１１８】
ステップＳＴ３１９：
図３に示すクライアント装置ＣのＣＰＵ３４は、ステップＳＴ３１８で生成した要求ＲＥＱを、インタフェース３２を介してサーバ装置Ｓ１に送信する。
図５に示すサーバ装置Ｓ１のインタフェース４２は、当該要求ＲＥＱを受信する。
サーバ装置Ｓ１のＣＰＵ４５は、ステップＳＴ３１３と同様に鍵データＫを復号し、当該鍵データＫを基に識別データＩＤ−ＰＲＩＤを復号する。
そして、ＣＰＵ４５は、当該復号したＩＤ−ＰＲＩＤに対応したプライバシデータＰＲＩＤを無効にする。
なお、当該無効は、サーバ装置Ｓ１が、プライバシーデータＰＲＩＤを他のサーバ装置に送信する前であることを条件に、当該プライバシーデータＰＲＩＤを無効にする。
【０１１９】
以上説明したように、本実施形態によれば、クライアント装置Ｃは、サーバ装置Ｓ１に対して、送信したプライバシデータＰＲＩＤを無効にできる。
【０１２０】
＜第７実施形態＞
上述した実施形態では、アプリケーションプログラムＰ３Ｐ−ＡＰを検証するために、そのハッシュデータＰ３Ｐ−ｈａｓｈを用いたが、代わりに、図１７に示すように、アプリケーションプログラムＰ３Ｐに付加されたマニフェストデータＰ３Ｐ−Ｍを用いてもよい。
【０１２１】
ここで、マニフェストデータＰ３Ｐ−Ｍは、例えば、アプリケーションプログラムＰ３Ｐ−ＡＰのハッシュデータＰ３Ｐ−ｈａｓｈあるいは公開鍵データと、当該ハッシュデータＰ３Ｐ−ｈａｓｈの署名データとを含む。
なお、マニフェストデータＰ３Ｐ−Ｍは、その他、アプリケーションプログラムＰ３Ｐ−ＡＰが持つ権限や性質を記述したデータを含んでいてもよい。
当該署名データは、例えば、ＡＰベンダ１２の秘密鍵データを基に生成され、ＡＰベンダ１２の公開鍵データを基に検証できる。
本実施形態では、サーバ装置Ｓ１は、ハッシュデータＰ３Ｐ−ｈａｓｈの代わりに、マニフェストデータＰ３Ｐ−Ｍを送信する。
このとき、サーバ装置Ｓ１は、アプリケーションプログラムＰ３Ｐ−ＡＰが起動されていることを条件に、マニフェストデータＰ３Ｐ−Ｍの送信が許可される。
クライアント装置Ｃは、例えば、サーバ装置Ｓ１から受信したマニフェストデータＰ３Ｐ−Ｍを基に、サーバ装置Ｓ１上でアプリケーションプログラムＰ３Ｐ−ＡＰが起動されているか否かを判断する。
【０１２２】
＜第８実施形態＞
本実施形態では、クライアント装置ＣのプライバシデータＰＲＩＤを、複数のサーバ装置Ｓ１，Ｓ２に送信する場合を図１８を参照して説明する。
クライアント装置Ｃは、例えば、図１８に示すように、第１実施形態において、図２を参照して説明したステップＳＴ１，ＳＴ２，ＳＴ３を行って、プライバシデータＰＲＩＤ１をサーバ装置Ｓ１に送信する。
その後、サーバ装置Ｓ１は、サーバ装置Ｓ２のＩＤをクライアント装置Ｃに送信する（ステップＳＴ５０４）。
そして、サーバ装置Ｓ１は、当サーバ装置Ｓ２との間で、サーバ装置Ｓ２のプラットフォームの検証処理（ＳＴ５０５）、Ｐ３Ｐネゴシエーション処理（ＳＴ５０６）およびプライバシデータＰＲＩＤ２の送信処理（ＳＴ５０７）を行う。
【０１２３】
＜第９の実施形態＞
本実施形態では、クライアント装置ＣのプライバシデータＰＲＩＤを、複数のサーバ装置Ｓ１，Ｓ２に送信する場合を図１９を参照して説明する。
クライアント装置Ｃは、例えば、図１９に示すように、第１実施形態において、図２を参照して説明したステップＳＴ１，ＳＴ２を行った後に、プライバシデータＰＲＩＤ１およびプライバシデータＰＲＩＤ２をサーバ装置Ｓ１に送信する（ＳＴ６０１）。
その後、サーバ装置Ｓ１は、プライバシデータＰＲＩＤ２をサーバ装置Ｓ２に送信する（ＳＴ６０２）。
【０１２４】
＜第１０の実施形態＞
本実施形態では、クライアント装置ＣのプライバシデータＰＲＩＤを、複数のサーバ装置Ｓ１，Ｓ２に送信する場合を図２０を参照して説明する。
クライアント装置Ｃは、例えば、図２０に示すように、第１実施形態において、図２を参照して説明したステップＳＴ１，ＳＴ２を行った後に、プライバシデータＰＲＩＤ１およびプライバシデータＰＲＩＤ２をサーバ装置Ｓ１に送信する（ＳＴ６０１）。
その後、サーバ装置Ｓ１は、サーバ装置Ｓ２との間で、サーバ装置Ｓ２のプラットフォームの検証処理（ＳＴ７０１）、Ｐ３Ｐネゴシエーション処理（ＳＴ７０２）およびプライバシデータＰＲＩＤ２の送信処理（ＳＴ７０３）を行う。
【０１２５】
＜変形例＞
本発明は、上述した実施形態以外にも種々の変形例がある。
例えば、上述した実施形態では、クライアント装置Ｃがサーバ装置Ｓ１にプライバシデータＰＲＩＤを暗号化して送信する場合を例示したが、他のサーバ装置あるいは記録媒体などを介してサーバ装置Ｓ１に既に提供された暗号化されたプライバシデータＰＲＩＤの鍵データＫを、クライアント装置Ｃからサーバ装置Ｓ１に送信してもよい。
また、例えば、図２等に示すサーバのプラットフォームの検証（ＳＴ１）と、Ｐ３Ｐネゴシエーション処理（ＳＴ２）との実行順を逆にしてもよい。
また、上述した実施形態では、クライアント装置ＣがプライバシデータＰＲＩＤの暗号化に秘密鍵データを用いた場合を例示したが、共通鍵データを用いて暗号化し、当該共通鍵データをサーバ装置Ｓ１の公開鍵データで暗号化してサーバ装置Ｓ１に送信してもよい。
【０１２６】
また、例えば、図９に示すステップＳＴ３２において、セキュリティチップＳＣが、自らに固有の乱数データを生成し、これをデータＶＦ内に暗号化して格納し、クライアント装置Ｃが当該乱数データをステップＳＴ３６でデータＣＯＤ内に暗号化して格納してもよい。
この場合に、セキュリティチップＳＣは、ＶＦ内に格納した乱数データと、データＣＯＤ内に格納された乱数データとが一致していることを条件にステップＳＴ４１の復号を行う。
【産業上の利用可能性】
【０１２７】
本発明は、個人情報などのプライバシデータの保護が必要なシステムに適用可能である。
【図面の簡単な説明】
【０１２８】
【図１】図１は、本発明の第１実施形態の通信システムの全体構成図である。
【図２】図２は、図１に示すクライアント装置Ｃとサーバ装置Ｓ１との間の通信の概要を説明するための図である。
【図３】図３は、図１および図２に示すクライアント装置Ｃの構成図である。
【図４】図４は、クライアント装置Ｃが、サーバ装置Ｓ１と通信する前に行う前処理を説明するためのフローチャートである。
【図５】図５は、図１および図２に示すサーバ装置Ｓ１の構成図である。
【図６】図６は、図１および図２に示すサーバ装置Ｓ１のソフトウェア環境を説明するための図である。
【図７】図７は、図５に示すセキュリティチップＳＣの構成図である。
【図８】図８は、図７に示すセキュリティチップＳＣがサーバ装置Ｓ１の起動時に実行する処理について説明するためのフローチャートである。
【図９】図９は、図１に示すクライアント装置Ｃからサーバ装置Ｓ１にプライバシデータＰＲＩＤを送信する場合の動作例を説明するためのフローチャートである。
【図１０】図１０は、本発明の第２実施形態において、図１に示すクライアント装置Ｃからサーバ装置Ｓ１にプライバシデータＰＲＩＤを送信する場合の動作例を説明するためのフローチャートである。
【図１１】図１１は、本発明の第３実施形態において、図１に示すクライアント装置Ｃからサーバ装置Ｓ１にプライバシデータＰＲＩＤを送信する場合の動作例を説明するためのフローチャートである。
【図１２】図１２は、本発明の第３実施形態において、図１に示すクライアント装置Ｃからサーバ装置Ｓ１にプライバシデータＰＲＩＤを送信する場合の動作例を説明するための図１１の続きのフローチャートである。
【図１３】図１３は、本発明の第４実施形態において、図１に示すクライアント装置Ｃからサーバ装置Ｓ１にプライバシデータＰＲＩＤを送信する場合の動作例を説明するためのフローチャートである。
【図１４】図１４は、本発明の第４実施形態において、図１に示すクライアント装置Ｃからサーバ装置Ｓ１にプライバシデータＰＲＩＤを送信する場合の動作例を説明するための図１３の続きのフローチャートである。
【図１５】図１５は、本発明の第５実施形態において、図１に示すクライアント装置Ｃからサーバ装置Ｓ１にプライバシデータＰＲＩＤを送信する場合の動作例を説明するためのフローチャートである。
【図１６】図１６は、本発明の第６実施形態において、図１に示すクライアント装置Ｃからサーバ装置Ｓ１にプライバシデータＰＲＩＤを送信する場合の動作例を説明するためのフローチャートである。
【図１７】図１７は、本発明の第７実施形態を説明するための図である。
【図１８】図１８は、本発明の第８実施形態を説明するための図である。
【図１９】図１９は、本発明の第９実施形態を説明するための図である。
【図２０】図２０は、本発明の第１０実施形態を説明するための図である。
【符号の説明】
【０１２９】
１…通信システム、１２…ＡＰベンダ、１４…認証機関、Ｃ…クライアント装置、Ｓ１，Ｓ２…サーバ装置、３１…操作部、３２…インタフェース、３３…メモリ、３４…ＣＰＵ、４２…インタフェース、４３…メモリ、４５…ＣＰＵ、ＳＣ…セキュリティチップ、５１…入出力回路、５２…鍵生成回路、５３…ハッシュ回路、５４…乱数発生回路、５５…署名・暗号回路、５６…メモリ、５７…プロセッサ、Ｕ−ＡＧ…ユーザエージェントプログラム、ＰＨＤ…起動プログラム検証データ、Ｐ３Ｐ−ｈａｓｈ…アプリケーションプログラムＰ３Ｐ−ＡＰのハッシュデータ
【図１】
2005316890.tif 000003
【図２】
2005316890.tif 000004
【図３】
2005316890.tif 000005
【図４】
2005316890.tif 000006
【図５】
2005316890.tif 000007
【図６】
2005316890.tif 000008
【図７】
2005316890.tif 000009
【図８】
2005316890.tif 000010
【図９】
2005316890.tif 000011
【図１０】
2005316890.tif 000012
【図１１】
2005316890.tif 000013
【図１２】
2005316890.tif 000014
【図１３】
2005316890.tif 000015
【図１４】
2005316890.tif 000016
【図１５】
2005316890.tif 000017
【図１６】
2005316890.tif 000018
【図１７】
2005316890.tif 000019
【図１８】
2005316890.tif 000020
【図１９】
2005316890.tif 000021
【図２０】
2005316890.tif 000022