(57)【要約】【課題】グループに属するメンバ間のデータ通信に際し、複数の暗号鍵を用いることなく、メンバおよび非メンバによる通信データの傍受、改竄、偽造等を抑止する。【解決手段】  ステップＳ１１で、正当性検証データを生成する。ステップＳ１２で、正当性検証データと、保有するattestation identity公開鍵証明書をグループ管理装置に送信する。ステップＳ１３で、グループ管理装置５により正当なユーザ端末であるか判定され、正当であると判定された場合、ステップＳ１４で、グループ名、メンバＩＤおよびグループ共有鍵が、ステップＳ１５で、メンバＩＤリストが供給される。これ以降、同じグループに属する他のメンバとのデータ通信が可能となる。本発明は、ネットワーク対戦型ゲーム機に適用することができる。【選択図】図１１
2005236850.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して、所属するグループの他のメンバとデータを通信するデータ通信装置において、
正当性を検証してもらうための正当性検証データを生成する生成手段と、
前記生成手段によって生成された正当性検証データを、グループを管理している管理装置に通知する通知手段と、
前記管理装置により前記正当性検証データに基づいて正当性が検証された場合において前記管理装置から前記グループのメンバだけに供給されるグループ共有鍵を、所属する前記グループを識別するためのグループ識別情報と、前記グループにおいて自己を特定するための自己特定情報とに対応付けて保持する保持手段と、
前記ネットワークを介して、前記グループ識別情報が付加された暗号化データを受信する受信手段と、
前記受信手段によって受信された前記暗号化データを、前記暗号化データに付加されている前記グループ識別情報に対応する前記グループ共有鍵を用いて復号する復号手段と、
前記復号手段による復号結果を検証する検証手段と、
前記検証手段の検証結果に対応して、前記暗号化データおよび前記復号結果を破棄する破棄手段と、
送信すべき送信データに含まれる送信元を示す情報が前記自己特定情報と一致することを確認する確認手段と、
前記確認手段の確認結果に対応して、送信すべき前記送信データを、前記ネットワークに送出する送出手段と
を含むことを特徴とするデータ通信装置。
【請求項２】
前記検証手段は、前記復号結果として得られる復号データのヘッダに基づき、前記復号手段による復号の成否を検証する
ことを特徴とする請求項１に記載のデータ通信装置。
【請求項３】
前記検証手段は、前記復号結果として得られる復号データの前記ヘッダに含まれるマジックナンバに基づき、前記復号手段による復号の成否を検証する
ことを特徴とする請求項２に記載のデータ通信装置。
【請求項４】
前記検証手段は、前記復号結果として得られる復号データのヘッダに含まれる時刻情報に基づき、前記暗号化データの真偽を検証する
ことを特徴とする請求項１に記載のデータ通信装置。
【請求項５】
前記検証手段は、復号結果として得られる復号データに含まれる送信宛を示す情報に、前記自己特定情報が含まれていることを検証する
ことを特徴とする請求項１に記載のデータ通信装置。
【請求項６】
前記検証手段の検証結果に対応して、前記受信手段により受信された前記暗号化データを転送する転送手段を
さらに含むことを特徴とする請求項１に記載のデータ通信装置。
【請求項７】
前記確認手段は、送信すべき送信データに含まれる送信元を示す情報が前記自己特定情報に一致していると確認できない場合、前記送信データを破棄する
ことを特徴とする請求項１に記載のデータ通信装置。
【請求項８】
ネットワークを介して、所属するグループの他のメンバとデータを通信するデータ通信方法において、
正当性を検証してもらうための正当性検証データを生成する生成ステップと、
前記生成ステップの処理で生成された正当性検証データを、グループを管理している管理装置に通知する通知ステップと、
前記管理装置により前記正当性検証データに基づいて正当性が検証された場合において前記管理装置から前記グループのメンバだけに供給されるグループ共有鍵を、所属する前記グループを識別するためのグループ識別情報と、前記グループにおいて自己を特定するための自己特定情報とに対応付けて保持する保持ステップと、
前記ネットワークを介して、前記グループ識別情報が付加された暗号化データを受信する受信ステップと、
前記受信ステップの処理で受信された前記暗号化データを、前記暗号化データに付加されている前記グループ識別情報に対応する前記グループ共有鍵を用いて復号する復号ステップと、
前記復号ステップの処理で復号結果を検証する検証ステップと、
前記検証ステップの処理での検証結果に対応して、前記暗号化データおよび前記復号結果を破棄する破棄ステップと、
送信すべき送信データに含まれる送信元を示す情報が前記自己特定情報と一致することを確認する確認ステップと、
前記確認ステップの処理での確認結果に対応して、送信すべき前記送信データを、前記ネットワークに送出する送出ステップと
を含むことを特徴とするデータ通信方法。
【請求項９】
ネットワークを介して、所属するグループの他のメンバとデータを通信するためのプログラムであって、
正当性を検証してもらうための正当性検証データを生成する生成ステップと、
前記生成ステップの処理で生成された正当性検証データを、グループを管理している管理装置に通知する通知ステップと、
前記管理装置により前記正当性検証データに基づいて正当性が検証された場合において前記管理装置から前記グループのメンバだけに供給されるグループ共有鍵を、所属する前記グループを識別するためのグループ識別情報と、前記グループにおいて自己を特定するための自己特定情報とに対応付けて保持する保持ステップと、
前記ネットワークを介して、前記グループ識別情報が付加された暗号化データを受信する受信ステップと、
前記受信ステップの処理で受信された前記暗号化データを、前記暗号化データに付加されている前記グループ識別情報に対応する前記グループ共有鍵を用いて復号する復号ステップと、
前記復号ステップの処理で復号結果を検証する検証ステップと、
前記検証ステップの処理での検証結果に対応して、前記暗号化データおよび前記復号結果を破棄する破棄ステップと、
送信すべき送信データに含まれる送信元を示す情報が前記自己特定情報と一致することを確認する確認ステップと、
前記確認ステップの処理での確認結果に対応して、送信すべき前記送信データを、前記ネットワークに送出する送出ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信装置および方法、並びにプログラムに関し、例えば、インタネットのような公衆的なネットワークを介し、同じグループに属するメンバ間でデータを通信する場合に用いて好適なデータ通信装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
インタネットのような公衆的なネットワークを介し、グループに属するメンバ間でデータを通信する場合、通信されるデータが、メンバ以外の者に傍受されたり、改竄されたり、偽造されたりする可能性がある。
【０００３】
従来、通信データの傍受、改竄、偽造等を防止する従来技術としては、例えば、SSL(Secure Sockets Layer)がある。SSLは、送信元と送信先が一対一の二者間で通信する（例えば、ブラウザとWebサーバとの間）場合の業界標準として採用されている暗号化通信技術である。例えば、図１に示すように、グループに属するメンバＡ，Ｂ，Ｃ，Ｄの間でデータを通信する際にSSLを採用した場合、メンバＡ，Ｂ間の通信には暗号鍵ＫABが、メンバＡ，Ｃ間の通信には暗号鍵ＫACが、メンバＢ，Ｃ間の通信には暗号鍵ＫBCが用いられる。したがって、メンバ数ｎのグループ全体の通信を考えた場合、メンバの組み合わせの数nＣ2だけ暗号鍵が必要となる。図１に示されたメンバ数ｎ＝４のグループの場合、６（＝4Ｃ2）種類の暗号鍵が必要となる。
【０００４】
一方、上述したSSLのように多くの暗号鍵を必要としない方法として、例えば、図２に示すように、グループ管理者等がグループに属するメンバに対してだけ共通の暗号鍵ＫCOMを供給するようにし、非メンバには暗号鍵ＫCOMを供給しないようにする方法（以下、従来方法と記述する）も提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００３−１４３１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来方法によれば、所定のサーバからグループに属するメンバだけを対象としてデータを同報送信したり、非メンバによる通信データが傍受、改竄、偽造されたりすること等を防ぐことができる。ただし、ここで傍受とは、通信されたデータを単に取得するだけでなく、取得したデータをデコードして、有効な情報として利用できるまでの処理を指すものとする。
【０００６】
しかしながら、従来方法では、グループに属するメンバによる不正（例えば、メンバＡが他のメンバに対して、不正に作成したデータを送信すること、メンバＡによって送信されたメンバＢ宛のデータを、メンバＣが傍受、改竄、偽造すること等）を防ぐことはできないという課題があった。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、グループに属するメンバ間のデータ通信に際し、複数の暗号鍵を用いることなく、メンバおよび非メンバによる通信データの傍受、改竄、偽造等を抑止できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明のデータ通信装置は、正当性を検証してもらうための正当性検証データを生成する生成手段と、生成手段によって生成された正当性検証データを、グループを管理している管理装置に通知する通知手段と、管理装置により正当性検証データに基づいて正当性が検証された場合において管理装置からグループのメンバだけに供給されるグループ共有鍵を、所属するグループを識別するためのグループ識別情報と、グループにおいて自己を特定するための自己特定情報とに対応付けて保持する保持手段と、ネットワークを介して、グループ識別情報が付加された暗号化データを受信する受信手段と、受信手段によって受信された暗号化データを、暗号化データに付加されているグループ識別情報に対応するグループ共有鍵を用いて復号する復号手段と、復号手段による復号結果を検証する検証手段と、検証手段の検証結果に対応して、暗号化データおよび復号結果を破棄する破棄手段と、送信すべき送信データに含まれる送信元を示す情報が自己特定情報と一致することを確認する確認手段と、確認手段の確認結果に対応して、送信すべき送信データを、ネットワークに送出する送出手段とを含むことを特徴とする。
【０００９】
前記検証手段は、復号結果として得られる復号データのヘッダに基づき、復号手段による復号の成否を検証するようにすることができる。
【００１０】
前記検証手段は、復号結果として得られる復号データのヘッダに含まれるマジックナンバに基づき、復号手段による復号の成否を検証するようにすることができる。
【００１１】
前記検証手段は、復号結果として得られる復号データのヘッダに含まれる時刻情報に基づき、暗号化データの真偽を検証するようにすることができる。
【００１２】
前記検証手段は、復号結果として得られる復号データに含まれる送信宛を示す情報に、自己特定情報が含まれていることを検証するようにすることができる。
【００１３】
本発明のデータ通信装置は、検証手段の検証結果に対応して、受信手段により受信された暗号化データを転送する転送手段をさらに含むことができる。
【００１４】
前記確認手段は、送信すべき送信データに含まれる送信元を示す情報が自己特定情報に一致していると確認できない場合、送信データを破棄するようにすることができる。
【００１５】
本発明のデータ通信方法は、正当性を検証してもらうための正当性検証データを生成する生成ステップと、生成ステップの処理で生成された正当性検証データを、グループを管理している管理装置に通知する通知ステップと、管理装置により正当性検証データに基づいて正当性が検証された場合において管理装置からグループのメンバだけに供給されるグループ共有鍵を、所属するグループを識別するためのグループ識別情報と、グループにおいて自己を特定するための自己特定情報とに対応付けて保持する保持ステップと、ネットワークを介して、グループ識別情報が付加された暗号化データを受信する受信ステップと、受信ステップの処理で受信された暗号化データを、暗号化データに付加されているグループ識別情報に対応するグループ共有鍵を用いて復号する復号ステップと、復号ステップの処理で復号結果を検証する検証ステップと、検証ステップの処理での検証結果に対応して、暗号化データおよび復号結果を破棄する破棄ステップと、送信すべき送信データに含まれる送信元を示す情報が自己特定情報と一致することを確認する確認ステップと、確認ステップの処理での確認結果に対応して、送信すべき送信データを、ネットワークに送出する送出ステップとを含むことを特徴とする。
【００１６】
本発明のプログラムは、正当性を検証してもらうための正当性検証データを生成する生成ステップと、生成ステップの処理で生成された正当性検証データを、グループを管理している管理装置に通知する通知ステップと、管理装置により正当性検証データに基づいて正当性が検証された場合において管理装置からグループのメンバだけに供給されるグループ共有鍵を、所属するグループを識別するためのグループ識別情報と、グループにおいて自己を特定するための自己特定情報とに対応付けて保持する保持ステップと、ネットワークを介して、グループ識別情報が付加された暗号化データを受信する受信ステップと、受信ステップの処理で受信された暗号化データを、暗号化データに付加されているグループ識別情報に対応するグループ共有鍵を用いて復号する復号ステップと、復号ステップの処理で復号結果を検証する検証ステップと、検証ステップの処理での検証結果に対応して、暗号化データおよび復号結果を破棄する破棄ステップと、送信すべき送信データに含まれる送信元を示す情報が自己特定情報と一致することを確認する確認ステップと、確認ステップの処理での確認結果に対応して、送信すべき送信データを、ネットワークに送出する送出ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００１７】
本発明のデータ通信装置および方法、並びにプログラムにおいては、管理装置により正当性検証データに基づいて正当性が検証された場合において管理装置からグループのメンバだけに供給されるグループ共有鍵が、所属するグループを識別するためのグループ識別情報と、グループにおいて自己を特定するための自己特定情報とに対応付けて保持される。そして、受信された暗号化データが、暗号化データに付加されているグループ識別情報に対応するグループ共有鍵を用いて復号され、その復号結果が検証され、検証結果に対応して、暗号化データおよび復号結果が破棄される。さらに、送信すべき送信データに含まれる送信元を示す情報が自己特定情報と一致することが確認され、確認結果に対応して、送信すべき送信データが、ネットワークに送出される。
【発明の効果】
【００１８】
本発明によれば、グループに属するメンバ間のデータ通信に際し、複数の暗号鍵を用いることなく、メンバおよび非メンバによる通信データの傍受、改竄、偽造等を抑止することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２０】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加されたりする発明の存在を否定するものではない。
【００２１】
請求項１に記載のデータ通信装置（例えば、図７のユーザ端末３）は、正当性を検証してもらうための正当性検証データ（例えば、図１２の正当性検証データ６１）を生成する生成手段（例えば、図１１のステップＳ１１の処理を行う図７のTPM２４）と、生成手段によって生成された正当性検証データを、グループを管理している管理装置（例えば、図６のグループ管理装置５）に通知する通知手段（例えば、図１１のステップＳ１２の処理を行う図７の通信Ｉ／Ｆ２７）と、管理装置により正当性検証データに基づいて正当性が検証された場合において管理装置からグループのメンバだけに供給されるグループ共有鍵を、所属するグループを識別するためのグループ識別情報と、グループにおいて自己を特定するための自己特定情報とに対応付けて保持する保持手段（例えば、図１１のステップＳ１４の処理を行う図７のＩＤ・鍵テーブル管理部２８）と、ネットワーク（例えば、図６のネットワーク２）を介して、グループ識別情報が付加された暗号化データを受信する受信手段（例えば、図１５のステップＳ３１の処理を行う図７の通信Ｉ／Ｆ２７）と、受信手段によって受信された暗号化データを、暗号化データに付加されているグループ識別情報に対応するグループ共有鍵を用いて復号する復号手段（例えば、図１５のステップＳ３２の処理を行う図７の暗号処理部２９）と、復号手段による復号結果を検証する検証手段（例えば、図１５のステップＳ３３の処理を行う図７の受信データ判定部３０）と、検証手段の検証結果に対応して、暗号化データおよび復号結果を破棄する破棄手段（例えば、図１５のステップＳ３８の処理を行う図７の受信データ判定部３０）と、送信すべき送信データに含まれる送信元を示す情報が自己特定情報と一致することを確認する確認手段（例えば、図１４のステップＳ２２の処理を行う図７の送信データ判定部３１）と、確認手段の確認結果に対応して、送信すべき送信データを、ネットワークに送出する送出手段（例えば、図１４のステップＳ２４の処理を行う図７の通信Ｉ／Ｆ２７）とを含むことを特徴とする。
【００２２】
請求項１に記載のデータ通信装置は、検証手段の検証結果に対応して、受信手段により受信された暗号化データを転送する転送手段（例えば、図１５のステップＳ３７の処理を行う図７の通信Ｉ／Ｆ２７）をさらに含むことができる。
【００２３】
請求項８に記載のデータ通信方法は、正当性を検証してもらうための正当性検証データを生成する生成ステップ（例えば、図１１のステップＳ１１）と、生成ステップの処理で生成された正当性検証データを、グループを管理している管理装置に通知する通知ステップ（例えば、図１１のステップＳ１２）と、管理装置により正当性検証データに基づいて正当性が検証された場合において管理装置からグループのメンバだけに供給されるグループ共有鍵を、所属するグループを識別するためのグループ識別情報と、グループにおいて自己を特定するための自己特定情報とに対応付けて保持する保持ステップ（例えば、図１１のステップＳ１４）と、ネットワークを介して、グループ識別情報が付加された暗号化データを受信する受信ステップ（例えば、図１５のステップＳ３１）と、受信ステップの処理で受信された暗号化データを、暗号化データに付加されているグループ識別情報に対応するグループ共有鍵を用いて復号する復号ステップ（例えば、図１５のステップＳ３２）と、復号ステップの処理で復号結果を検証する検証ステップ（例えば、図１５のステップＳ３３）と、検証ステップの処理での検証結果に対応して、暗号化データおよび復号結果を破棄する破棄ステップ（例えば、図１５のステップＳ３８）と、送信すべき送信データに含まれる送信元を示す情報が自己特定情報と一致することを確認する確認ステップ（例えば、図１４のステップＳ２２）と、確認ステップの処理での確認結果に対応して、送信すべき送信データを、ネットワークに送出する送出ステップ（例えば、図１４のステップＳ２４）とを含むことを特徴とする。
【００２４】
なお、本発明のプログラムの請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係は、上述した本発明のデータ通信方法のものと同様であるので、その記載は省略する。
【００２５】
次に、本発明を適用したユーザ端末の機能概要について説明する。本発明を適用したユーザ端末Ａ，Ｂ，Ｃ，Ｄ，Ｅ、およびＦがネットワークに接続されており、図３に示すように、ユーザ端末Ａ，Ｂ、およびＣがグループＸに属すると仮定する。この場合、ユーザ端末Ａ，Ｂ、およびＣは、グループＸのグループ共有鍵を保有しており、グループＸ内において、メンバが一対一または一対多でデータを通信することができる。このとき、通信されるデータは、非メンバであるユーザ端末Ｄ、およびグループＸのメンバであっても通信の対象とされていないメンバ（例えば、ユーザ端末Ａ，Ｂ間の通信である場合におけるユーザ端末Ｃ）による傍受、改竄、偽造等が抑止される。
【００２６】
ユーザ端末は、例えば、図４に示すユーザ端末Ｃのように、複数のグループに属することができる。この場合、ユーザ端末Ｃは、グループＸのグループ共有鍵とグループＹのグループ共有鍵を保持することになる。
【００２７】
グループは、異なるネットワークに接続されたユーザ端末で混成することができる。例えば、図５に示すように、グループＸを、第１のネットワークに接続されたユーザ端末ＡおよびＢ、第１および第２のネットワークの両方に接続されたユーザ端末Ｃ、並びに第２のネットワークに接続されたユーザ端末Ｆによって混成することができる。このような場合、第１および第２のネットワークの両方に接続されているユーザ端末Ｃが必要となる。ユーザ端末Ｃは、第１のネットワークと第２のネットワークとの間のデータ通信を中継することになる。また、例えば、第１のネットワークをインタネット等のWAN(Wide Area Network)とし、第２のネットワークを携帯電話専用通信網等とすることができる。
【００２８】
次に、図６は、本発明を適用したユーザ端末が用いられる通信システムの構成例を示している。この通信システム１は、ネットワーク２に接続されたユーザ端末３−Ａ，３−Ｂ，３−Ｃ、３−Ｄ、およびグループ管理装置３、並びにネットワーク４に接続されたユーザ端末３−Ｅから構成される。なお、ユーザ端末３−Ｄは、ネットワーク４にも接続されている。
【００２９】
ネットワーク２は、例えば、インタネット等のWANとすることができる。ユーザ端末３−Ａ乃至３−Ｅは、例えば、パーソナルコンピュータやネットワーク対戦型ゲーム機等であり、ネットワーク２，４を介して、各種のデータを相互に通信する。以下、ユーザ端末３−Ａ乃至３−Ｅを、個々に区別する必要がない場合、単にユーザ端末３と記述する。
【００３０】
ネットワーク４は、ネットワーク２とは異なるネットワークであり、LANや携帯電話専用通信網等とすることができる。
【００３１】
グループ管理装置５は、各ユーザ端末３が、不正な行為を行おうとしていない正当なユーザ端末３であるか否かを判定し、正当と判定したユーザ端末３に対して、属するグループのグループ共有鍵と、グループに属するメンバのリストを供給する。
【００３２】
図７は、ユーザ端末３の構成例を示している。制御部２１は、CPU(Central Processing Unit)等から成り、所定のプログラムを実行することにより、ユーザ端末３が他のユーザ端末３との間でデータやメッセージの通信を伴うゲーム機等として動作するように、ユーザ端末３の全体を制御する。制御部２１に内蔵された計時部２２は、時刻を計時する。ROM(Read Only Memory)２３には、制御部２１によって実行されるプログラムが保持されている。
【００３３】
耐タンパモジュール(TPM:Tamper Protected Module)２４は、TCG(Trusted Computing Group)に規定されたものであり、当該ユーザ端末３の正当性を証明するための正当性検証データを生成する。TPM２４には、図８に示されるように、PCRレジスタ４１、署名生成部４２、およびストレージルートキー４３が内蔵されている。
【００３４】
PCRレジスタ４１は、当該ユーザ端末３においてプログラムが起動される毎に算出される所定の数値（ハッシュ値）が加算されてゆくレジスタであり、保持される値は、起動されたプログラムの完全性を証明するために用いられる。署名生成部４２は、当該ユーザ端末３に固有のattestation identity key（秘密鍵）を保持しており、それを用いて電子署名を生成する。また、署名生成部４２は、当該ユーザ端末３に固有のattestation identity公開鍵証明書を保持している。ストレージルートキー４３は、TPM２４に比較して耐タンパ性の劣る記憶部２５にTPM２４に関するデータを、暗号化して記憶させるときと、読み出して復号するときに用いられる。
【００３５】
記憶部２５は、ハードディスク等から成り、プログラム、ストレージルートキー４３によって暗号化されたデータ等が記憶されている。ユーザインタフェース(I/F)２６は、ユーザからの操作を入力したり、処理結果としての画面を表示したりする。
【００３６】
通信インタフェース(I/F)２７は、ネットワーク２やネットワーク４を介して、他のユーザ端末３との間でデータを通信する。
【００３７】
ＩＤ・鍵テーブル管理部２８は、当該ユーザ端末３のユーザが属するグループを識別するための情報（例えば、グループ名）と、そのグループにおいてユーザ端末を識別するためのメンバＩＤと、そのグループのグループ共有鍵とを対応付ける、図９に示すようなＩＤ・鍵テーブル５１を管理する。なお、グループ名、メンバＩＤ、グループ共有鍵は、すべてグループ管理装置５から供給される。
【００３８】
例えば、図９のＩＤ・鍵テーブル５１は、当該ユーザ端末３がグループＸに属し、グループＸにおけるメンバＩＤがＩＤXであり、グループＸでのグループ共有鍵がＫXであることを示している。また、当該ユーザ端末３がグループＹにも属し、グループＹにおけるメンバＩＤがＩＤYであり、グループＹでのグループ共有鍵がＫYであることを示している。
【００３９】
また、ＩＤ・鍵テーブル管理部２８は、当該ユーザ端末３が属するグループに属している全メンバのメンバＩＤの一覧を示すメンバＩＤリストを保持している。メンバＩＤリストも、グループ管理装置５から供給される。
【００４０】
暗号処理部２９は、通信I/F２７によって受信された、暗号化されているデータを、グループ共有鍵を用いて復号し、受信データ判定部３０に出力する。また、暗号処理部２９は、送信データ判定部３１によって正当性が確認された、送信すべきデータを暗号化して、通信I/F２７に出力する。
【００４１】
受信データ判定部３０は、暗号処理部２９によって復号された受信データに記載されている送信先ＩＤを読み出し、当該ユーザ端末３に対して付与されているメンバＩＤと比較して、当該ユーザ端末３がこの受信データの正当な送信先であるか否かを判定する。当該ユーザ端末３が正当な送信先であると判定された場合、受信データを実行中のゲーム等のプログラムに供給する。
【００４２】
送信データ処理部３１は、実行中のゲーム等のプログラムによって生成される、送信すべきデータに記載されている送信元ＩＤを読み出し、当該ユーザ端末３のユーザに対して付与されているメンバＩＤと比較して、送信元を偽っていないか否か確認する。送信元を偽っていないと確認できた場合、送信すべきデータを通信I/F２７に出力する。
【００４３】
なお、ＩＤ・鍵テーブル管理部２８、暗号処理部２９、受信データ判定部３０、および送信データ３１は、ハードウェアとして構成してもよいし、制御部２１が所定のソフトウェアプログラムを実行することによって実現される機能ブロックとして構成するようにしてもよい。
【００４４】
次に、非メンバの状態からグループＸに属してメンバとなり、グループに属する他のメンバとの間で、例えばゲームのプログラムによって生成されるデータを通信する処理（以下、データ通信処理と称する）について、図１０のフローチャートを参照して説明する。
【００４５】
ステップＳ１において、例えば、図３に示されたような非メンバのユーザ端末３−Ｄは、グループＸに参加するためのグループ参加処理を実行する。このグループ参加処理について、図１１のフローチャートを参照して説明する。ステップＳ１１において、ユーザ端末３−ＤのTPM２４は、図１２に示されるように、PCR値、時刻情報、ノンス、および電子署名から構成される正当性検証データ６１を生成する。具体的には、ゲームを構成する複数のプログラムが起動されることによって算出されるハッシュ値がPCRレジスタ４１に順次加算された値であるPCR値と、計時部２２から取得した現在の時刻を示す時刻情報と、ステップＳ１１の処理が開始されたことに対応してグループ管理装置５から供給されるノンス（乱数）とを連結する。そして、署名生成部４２が、連結されたデータに対して、保有するattestation identity keyを適用して電子署名を付加する。このようにして、正当性検証データが生成される。なお、PCR値は、起動された複数のプログラムが全て正当なものである場合だけ、グループ管理装置５によって把握されている所定の値と一致するはずのものである。
【００４６】
ステップＳ１２において、TPM２４は、生成した正当性検証データと、保有するattestation identity公開鍵証明書を、通信I/F２７に出力する。通信I/F２７は、TPM２４からの正当性検証データとattestation identity公開鍵証明書を、ネットワーク２を介してグループ管理装置５に送信する。グループ管理装置５は、受信した正当性検証データとattestation identity公開鍵証明書に基づき、ユーザ端末３−Ｄの正当性を検証する。具体的には、次の４点を検証する。
【００４７】
attestation identity公開鍵証明書が正当なものであること。
正当性検証データに含まれる電子署名が正当なものであること。
正当性検証データに含まれるPCR値が所定の値に一致すること。
正当性検証データに含まれる時刻情報が示す時刻と正当性検証データを受信した時刻との差が所定の閾値以下であること。
【００４８】
ステップＳ１３において、グループ管理装置５は、ステップＳ１２の検証結果に基づいて、ユーザ端末３−Ｄが正当なユーザ端末であるか否かを判定する。ここでは、上記４点の全てが確認できた場合だけ、正当なユーザ端末であると判定する。正当なユーザ端末であると判定された場合、処理はステップＳ１４に進む。
【００４９】
ステップＳ１４において、グループ管理装置５は、グループ名Ｘ、グループＸにおけるユーザ端末３−ＤのメンバＩＤ、およびグループＸのグループ共有鍵ＫXを、ユーザ端末３−Ｄに供給する。ユーザ端末３−ＤのＩＤ・鍵テーブル管理部２８は、供給されたグループ名、メンバＩＤ、およびグループ共有鍵ＫXを、自己が管理するＩＤ・鍵テーブル５１に登録する。
【００５０】
ステップＳ１５において、グループ管理装置５は、グループＸに属するメンバの一覧を示すメンバＩＤリストをユーザ端末３−Ｄに供給する。ユーザ端末３−ＤのＩＤ・鍵テーブル管理部２８は、供給されたメンバＩＤリストを、自己が管理するＩＤ・鍵テーブル５１に登録する。
【００５１】
ここまでの処理が終了したことにより、ユーザ端末３−ＤがグループＸのメンバになったことになる。よって、グループＸに属する他のメンバとのデータ通信ができるようになる。
【００５２】
なお、ステップＳ１３において、ユーザ端末３が正当なユーザ端末ではないと判定された場合、処理はステップＳ１４およびステップＳ１５は行われずに、グループ参加処理が終了される。従って、この場合、ユーザ端末３−Ｄによる通信処理は中断される。
【００５３】
図１０に戻る。ステップＳ２において、ユーザ端末３−Ｄは、グループＸに属する他のメンバ（例えば、ユーザ端末３−Ａ）との間でデータを通信する処理（以下、メンバ間通信処理と記述する）を開始する。
【００５４】
ここで、メンバ間通信処理によって通信されるデータの構造について、図１３を参照して説明する。通信されるデータのヘッダは、図１３Ａに示されるように、当該ヘッダの生成された時刻を示す時刻情報、送信される一連のデータにおける送信元ＩＤの開始位置、送信される一連のデータにおける送信先ＩＤの開始位置と送信先の数、および所定のマジックナンバから構成される。
【００５５】
ヘッダの後には、図１３Ｂに示されるように、送信元のメンバを特定するための送信元ＩＤ、送信先のメンバを特定するための１以上の送信先ＩＤ、送信すべき実質的な情報であるペイロードが配置される。なお、送信先ＩＤを省略することによって、グループに属する全てのメンバが送信先に指定されたと見なすようにしてもよい。
【００５６】
ペイロードの後には、ヘッダ、送信元ＩＤ、送信先ＩＤ、およびペイロードに対するMAC（メッセージ認証コード）が配置されている。なお、ヘッダに含まれるマジックナンバ、またはMACのいずれか一方を省略するようにしてもよい。
【００５７】
そして、図１３Ｃに示すように、ヘッダ、送信元ＩＤ、送信先ＩＤ、ペイロード、およびMACが暗号化されている暗号化データに、当該データが通信されるグループを特定するためのグループ名が付加された状態で通信される。
【００５８】
次に、メンバ間通信処理における送信時の処理について、図１４のフローチャートについて説明する。
【００５９】
ステップＳ２１において、ユーザ端末３−Ｄにおいて起動されているゲームのプログラムは、グループＸに属する他のメンバ（例えば、ユーザ端末３−Ａとする）に送信するためペイロードを作成する。ステップＳ２２において、ゲームのプログラムは、送信元ＩＤとしてユーザ端末３−ＤのメンバＩＤを、送信元ＩＤとしてユーザ端末３−ＡのメンバＩＤを、ペイロードの前に付加してデータを生成する。また、ヘッダを生成し、ヘッダおよびデータに対するMACを生成する。さらに、ヘッダ、データ、および必要な場合にはMACを連結して、送信データ判定部３１に出力する。
【００６０】
送信データ判定部３１は、データに含まれる送信元ＩＤにユーザ端末３−ＤのメンバＩＤが記載されていることを確認し、ヘッダ、データ、およびMACが連結されたものを暗号処理部２９に出力する。ただし、データに含まれる送信元ＩＤにユーザ端末３−ＤのメンバＩＤが記載されていることが確認できなかった場合には、ここで処理を中断する。
【００６１】
ステップＳ２３において、暗号処理部２９は、ヘッダ、データ、およびMACが連結されたものを、グループＸのグループ共有鍵ＫXを用いて暗号化することにより、暗号化データを生成する。ステップＳ２４において、暗号処理部２９は、暗号化データにグループＸのグループ名Ｘを付加して、通信I/F２７に出力する。通信I/F２７は、グループ名Ｘが付加された暗号化データを、ネットワーク２に送出する。このようにしてネットワーク２に送出された暗号化データは、グループＸに属するユーザ端末３−Ａ等によって受信されることになる。以上、送信時の処理の説明を終了する。
【００６２】
次に、ユーザ端末３−Ｃによる受信時の処理について、図１５のフローチャートを参照して説明する。
【００６３】
ステップＳ３１において、ユーザ端末３−Ｃの通信I/F２７は、グループ名Ｘが付加された暗号化データを受信する。そして、通信I/F２７は、受信したグループ名Ｘが付加された暗号化データを暗号処理部２９に出力する。ステップＳ３２において、暗号処理部２９は、ＩＤ・鍵テーブル管理部２８からグループＸのグループ共有鍵ＫXを取得して、暗号化データを復号し、復号されたヘッダ、データ、およびMACを受信データ判定部３０に出力する。する。
【００６４】
ステップＳ３３において、受信データ判定部３０は、復号結果が正しく復号されたものであるか否かを、ヘッダに含まれるマジックナンバが正規のものであることを確認することによって判定する。なお、この判定はMACでおこなってもよく、また判定基準に、ヘッダに含まれる時刻情報が示す時刻と受信時刻との差が所定の閾値以下であることを追加してもよい。正しく復号されたと判定された場合、処理はステップＳ３４に進む。
【００６５】
ステップＳ３５において、受信データ判定部３０は、復号されたデータに含まれる送信先ＩＤが自己（グループＸにおけるユーザ端末３−ＣのメンバＩＤ）を示すものが含まれるか否かを判定する。自己を示すものが含まれると判定された場合、処理はステップＳ３５に進む。
【００６６】
ステップＳ３６において、受信データ判定部３０は、受信されたデータのペイロードを、当該データを処理すべきゲームのプログラムに供給する。ゲームのプログラムは、供給されたペイロードを適宜利用する。なお、このとき、ペイロードだけでなく、送信元ＩＤやヘッダの時刻情報も、供給するようにしてもよい。
【００６７】
なお、ステップＳ３３において、正しく復号できなかったと判定された場合には、ステップＳ３８に進む。ステップＳ３８において、受信データ判定部３０は、暗号化データと正しく復号できなかった復号結果を破棄する。
【００６８】
また、ステップＳ３４において、復号されたデータに含まれる送信先ＩＤに自己を示すＩＤ以外のものが含まれると判定された場合、暗号化データを受信したネットワーク２とは異なるネットワーク４に中継するために、処理はステップＳ３７に進む。ステップＳ３７において、暗号処理部２９は、グループ名Ｘが付加された暗号化データを通信I/F２７に出力する。通信I/F２７は、グループ名Ｘが付加された暗号化データを、受信したネットワーク２とは異なるネットワーク４に送出する。このようにしてネットワーク４に送出された暗号化データは、グループＸに属するユーザ端末３−Ｆ等によって受信されることになる。ステップＳ３７の処理により、図５に示されたように、同じグループに属しながらも、同じネットワークには接続していないメンバ間で、データを通信することができる。以上で、受信時の処理の説明を終了する。
【００６９】
以上説明したように、本発明によれば、グループ管理装置５がユーザ端末３の正当性を確認するので、データを送信しようとするユーザ端末３と、そのデータを受信しようとするユーザ端末３との間における相互認証が不要となる。なお、グループ管理装置５は、ユーザ端末３の正当性を確認した後において、複数のユーザ端末３の間で通信されるデータを中継する処理等を行う必要がない。
【００７０】
また、同一のグループに属する複数のユーザ端末３の間において、複数の暗号鍵を用いることなく、単一のグループ共有鍵の利用で、メンバおよび非メンバによる通信データの傍受、改竄、偽造等を抑止することができる。
【００７１】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００７２】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【００７３】
【図１】SSLを利用した従来の暗号化通信について説明するための図である。
【図２】SSLを利用しない従来の暗号化通信について説明するための図である。
【図３】本発明を適用したユーザ端末の機能概要を説明するための図である。
【図４】本発明を適用したユーザ端末の機能概要を説明するための図である。
【図５】本発明を適用したユーザ端末の機能概要を説明するための図である。
【図６】本発明を適用したユーザ端末を含む通信システムの構成例を示す図である。
【図７】図６のユーザ端末の構成例を示すブロック図である。
【図８】図７のTPMの構成例を示すブロック図である。
【図９】図７のＩＤ・鍵テーブル管理部によって管理されるＩＤ・鍵テーブルの例を示す図である。
【図１０】ユーザ端末による通信処理を説明するフローチャートである。
【図１１】図１０のステップＳ１におけるグループ参加処理を説明するフローチャートである。
【図１２】図１１のステップＳ１１の処理で生成される正当性検証データの例を示す図である。
【図１３】通信されるデータの構成例を示す図である。
【図１４】送信時の処理を説明するフローチャートである。
【図１５】受信時の処理を説明するフローチャートである。
【符号の説明】
【００７４】
１  通信システム，  ２  ネットワーク，  ３  ユーザ端末，  ４  ネットワーク，  ５  グループ管理装置，  ２１  制御部，  ２２  計時部，  ２３  ROM，  ２４  TPM，  ２５  記憶部，  ２６  ユーザI/F，  ２７  通信I/F，  ２８  ＩＤ・鍵テーブル管理部，  ２９  暗号処理部，  ３０  受信データ判定部，  ３１  送信データ判定部，  ４１  PCRレジスタ，  ４２  署名生成部，  ４３  ストレージルートキー，  ５１  ＩＤ・鍵テーブル，  ６１  正当性検証データ
【図１】
2005236850.tif 000003
【図２】
2005236850.tif 000004
【図３】
2005236850.tif 000005
【図４】
2005236850.tif 000006
【図５】
2005236850.tif 000007
【図６】
2005236850.tif 000008
【図７】
2005236850.tif 000009
【図８】
2005236850.tif 000010
【図９】
2005236850.tif 000011
【図１０】
2005236850.tif 000012
【図１１】
2005236850.tif 000013
【図１２】
2005236850.tif 000014
【図１３】
2005236850.tif 000015
【図１４】
2005236850.tif 000016
【図１５】
2005236850.tif 000017