(57)【特許請求の範囲】
【請求項１】
ネットワークを介して情報を発信する発信者端末と、
データを暗号化するための公開鍵と当該公開鍵にて暗号化されたデータを復号するための秘密鍵とを有し、前記ネットワークを介して前記情報を受信する受信者端末とを備え、
前記発信者端末は、
情報の配信先となる２以上の受信者端末を含む受信グループを決定し、当該受信グループに属する受信者端末の公開鍵の値を解に持つ多項式の定数項を含む暗号処理用のグループ鍵を生成してデータ記憶手段に格納するグループ鍵生成手段と、
所定のセッション鍵を用いて送信データを暗号化し、前記グループ鍵を用いて有限体上の離散対数問題を用いる暗号系により当該セッション鍵を暗号化し、かつ暗号化された当該セッション鍵を復号するために共同することが必要な前記受信者端末の数である閾値を設定し、前記受信グループに属する受信者端末の数から当該閾値を引いた数の前記多項式の解を含むメッセージヘッダを生成し、暗号化された前記送信データおよび前記セッション鍵を含む発信情報に当該メッセージヘッダを付加する暗号化手段と、
暗号化され前記メッセージヘッダが付加された前記発信情報を前記受信グループに属する受信者端末に送信する通信手段とを備え、
前記受信者端末は、
前記発信者端末から送信された前記発信情報を受信し、かつ他の受信者端末との間でデータの送受信を行う通信手段と、
受信した前記発信情報から自装置の前記秘密鍵を用いて前記セッション鍵の復号情報を計算し、前記受信グループに属する他の受信者端末から当該他の受信者端末において計算された復号情報を取得し、取得した当該他の受信者端末の復号情報と自装置の復号情報とを用いて当該セッション鍵を復元し、復元された当該セッション鍵を用いて暗号化された前記送信データを復号する復号手段と
を備えることを特徴とするネットワークシステム。
【請求項２】
前記発信者端末の前記暗号化手段は、前記有限体上の離散対数問題を用いる暗号系としてＥｌＧａｍａｌ暗号により前記セッション鍵を暗号化することを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記発信者端末は、暗号化された前記発信情報を復号するために共同することが必要な前記受信者端末の数である閾値を設定し、前記受信グループに属する受信者端末の数から前記閾値を引いた数の前記多項式の解を含むメッセージヘッダを生成し、当該メッセージヘッダを前記暗号化された発信情報に付加して前記受信グループに属する受信者端末に送信し、
前記受信者端末は、受信した前記メッセージヘッダから前記閾値を算出し、前記受信グループに属する当該閾値に相当する数の前記他の受信者端末から前記復号情報を取得し、取得した当該他の受信者端末の当該復号情報と自装置の前記復号情報とを用いて前記セッション鍵を復元することを特徴とする請求項１に記載のネットワークシステム。
【請求項４】
ネットワークを介して情報を配信する端末装置において、
情報の配信先となる２以上の受信者端末を含む受信グループを決定し、当該受信グループに属する受信者端末の公開鍵の値を解に持つ多項式の定数項を含む暗号処理用のグループ鍵を生成してデータ記憶手段に格納するグループ鍵生成手段と、
所定のセッション鍵を用いて送信データを暗号化し、前記グループ鍵を用いて有限体上の離散対数問題を用いる暗号系により当該セッション鍵を暗号化し、かつ暗号化された当該セッション鍵を復号するために共同することが必要な前記受信者端末の数である閾値を設定し、前記受信グループに属する受信者端末の数から当該閾値を引いた数の前記多項式の解を含むメッセージヘッダを生成し、暗号化された前記送信データおよび前記セッション鍵を含む発信情報に当該メッセージヘッダを付加して前記データ記憶手段に格納する暗号化手段と、
前記データ記憶手段から暗号化され前記メッセージヘッダが付加された前記発信情報を読み出し、前記ネットワークを介して前記受信グループに属する前記受信者端末に送信する送信手段と
を備えることを特徴とする端末装置。
【請求項５】
前記暗号化手段は、暗号化された前記発信情報を復号するために共同することが必要な前記受信者端末の数である閾値を設定し、前記受信グループに属する受信者端末の数から当該閾値を引いた数の前記多項式の解を含むメッセージヘッダを生成し、当該メッセージヘッダを前記暗号化された発信情報に付加し、
前記送信手段は、前記メッセージヘッダの付加された前記暗号化された発信情報を、前記受信グループに属する受信者端末に送信することを特徴とする請求項４に記載の端末装置。
【請求項６】
ネットワークを介して配信された情報を受信する端末装置において、
前記ネットワークを介してデータの送受信を行い、受信グループに属する２以上の前記端末装置の公開鍵の値を解に持つ多項式の定数項を含む暗号処理用のグループ鍵を用いて有限体上の離散対数問題を用いる暗号系により暗号化されたセッション鍵と、暗号化前の当該セッション鍵を用いて暗号化された送信データとを含む暗号化データ受信する通信手段と、
前記通信手段にて受信した暗号化データをデータ記憶手段に格納し、当該暗号化データから自装置の秘密鍵を用いて前記セッション鍵の復号情報を計算し、前記受信グループに属する他の端末装置から当該他の端末装置において計算された復号情報を取得し、取得した当該他の端末装置の復号情報と自装置の復号情報とを用いて当該セッション鍵を復元し、復元された当該セッション鍵を用いて暗号化された前記送信データを復号する復号手段と
を備えることを特徴とする端末装置。
【請求項７】
前記復号手段は、前記受信グループに属する端末装置の数から、暗号化された前記暗号化データを復号するために共同することが必要な前記端末装置の数である閾値を引いた数の前記多項式の解を含むメッセージヘッダが当該暗号化データに付加されている場合に、受信した前記メッセージヘッダから前記閾値を算出し、受信グループに属する当該閾値に相当する数の前記他の受信者端末から前記復号情報を取得し、取得した当該他の受信者端末の当該復号情報と自装置の前記復号情報とを用いて前記セッション鍵を復元することを特徴とする請求項６に記載の端末装置。
【請求項８】
コンピュータによる情報の配信方法であって、
前記コンピュータのグループ鍵生成部が、情報の配信先となる２以上の受信者のＩＤ情報である公開鍵をメモリから読み出し、当該公開鍵の値を解に持つ多項式の定数項を含む暗号処理用のグループ鍵を生成するステップと、
前記コンピュータの暗号化部が、所定のセッション鍵を用いて送信データを暗号化し、前記グループ鍵を用いて有限体上の離散対数問題を用いる暗号系により当該セッション鍵を暗号化するステップと
前記暗号化部が、前記暗号化部により暗号化された前記セッション鍵を復号するために共同することが必要な前記受信者の数である閾値を設定し、前記受信者の数から当該閾値を引いた数の前記多項式の解を含むメッセージヘッダを生成するステップと、
前記コンピュータが、当該メッセージヘッダを前記暗号化された発信情報に付加し、前記受信者の端末装置へ送信するステップと
を含むことを特徴とする情報の配信方法。
【請求項９】
コンピュータによるデータの復号方法であって、
前記コンピュータが、受信グループに属する２以上の端末装置の公開鍵の値を解に持つ多項式の定数項を含む暗号処理用のグループ鍵を用いて有限体上の離散対数問題を用いる暗号系により暗号化されたセッション鍵と、暗号化前の当該セッション鍵を用いて暗号化された送信データとを含む暗号化データを受信して記憶装置に格納するステップと、
前記コンピュータの復号部が、前記暗号化データから自装置の秘密鍵を用いて前記セッション鍵の復号情報を計算するステップと、
前記復号部が、前記受信グループに属する他の端末装置から当該他の端末装置において計算された復号情報を取得するステップと、
前記復号部が、取得した前記他の端末装置の復号情報と自装置の復号情報とを用いて当該セッション鍵を復元し、復元された当該セッション鍵を用いて暗号化された前記送信データを復号するステップと
を含むことを特徴とするデータの復号方法。
【請求項１０】
コンピュータを、
情報の配信先となる２以上の受信者端末を含む受信グループを決定し、当該受信グループに属する受信者端末の公開鍵の値を解に持つ多項式の定数項を含む暗号処理用のグループ鍵を生成してデータ記憶手段に格納するグループ鍵生成手段と、
所定のセッション鍵を用いて送信データを暗号化し、前記グループ鍵を用いて有限体上の離散対数問題を用いる暗号系により当該セッション鍵を暗号化し、かつ暗号化された当該セッション鍵を復号するために共同することが必要な前記受信者端末の数である閾値を設定し、前記受信グループに属する受信者端末の数から当該閾値を引いた数の前記多項式の解を含むメッセージヘッダを生成し、暗号化された前記送信データおよび前記セッション鍵を含む発信情報に当該メッセージヘッダを付加して前記データ記憶手段に格納する暗号化手段と、
前記データ記憶手段から暗号化され前記メッセージヘッダが付加された前記発信情報を読み出し、ネットワークを介して前記受信グループに属する前記受信者端末に送信する送信手段として
機能させることを特徴とするプログラム。
【請求項１１】
前記暗号化手段の機能として、暗号化された前記発信情報を復号するために共同することが必要な前記受信者端末の数である閾値を設定し、前記受信グループに属する受信者端末の数から当該閾値を引いた数の前記多項式の解を含むメッセージヘッダを生成し、当該メッセージヘッダを前記暗号化された発信情報に付加する処理を前記コンピュータに実行させ、
前記送信手段の機能として、前記メッセージヘッダの付加された前記暗号化された発信情報を、前記受信グループに属する受信者端末に送信する処理を前記コンピュータに実行させることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
コンピュータを、
ネットワークを介してデータの送受信を行い、受信グループに属する２以上の端末装置の公開鍵の値を解に持つ多項式の定数項を含む暗号処理用のグループ鍵を用いて有限体上の離散対数問題を用いる暗号系により暗号化されたセッション鍵と、暗号化前の当該セッション鍵を用いて暗号化された送信データとを含む暗号化データを受信する通信手段と、
前記通信手段にて受信した暗号化データをデータ記憶手段に格納し、当該暗号化データから自装置の秘密鍵を用いて前記セッション鍵の復号情報を計算し、前記受信グループに属する他の端末装置から当該他の端末装置において計算された復号情報を取得し、取得した当該他の端末装置の復号情報と自装置の復号情報とを用いて当該セッション鍵を復元し、復元された当該セッション鍵を用いて暗号化された前記送信データを復号する復号手段として
機能させることを特徴とするプログラム。
【請求項１３】
前記復号手段の機能として、前記受信グループに属する端末装置の数から、暗号化された前記暗号化データを復号するために共同することが必要な前記端末装置の数である閾値を引いた数の前記多項式の解を含むメッセージヘッダが当該暗号化データに付加されている場合に、受信した前記メッセージヘッダから前記閾値を算出し、前記受信グループに属する当該閾値に相当する数の前記他の受信者端末から前記復号情報を取得し、取得した当該他の受信者端末の当該復号情報と自装置の前記復号情報とを用いて前記セッション鍵を復元する処理を前記コンピュータに実行させることを特徴とする請求項１２に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上の端末装置のうちで、受信グループとして選択されたサブセットに属する端末装置だけが復号できるような暗号化を施した情報をマルチキャストするための暗号化方法及び復号方法に関する。
【０００２】
【従来の技術】
ネットワークにおけるデータ配信技術に、同じデータを複数の特定された宛先アドレスに配信するマルチキャストと呼ばれる技術がある。インターネットに代表されるようなネットワーク環境が広く普及している今日、このマルチキャストにおいてもデータを暗号化して配信することが要求されることがある。例えば、ネットワーク上の端末装置のうち、特定のサブセットを受信グループとして特定し、当該受信グループに属する端末装置でのみ復号可能な暗号化によりデータ配信を行う場合がある。
【０００３】
従来、この種のマルチキャストにおける暗号技術としては、暗号を復号するための鍵を所定のディーラが一元的に管理する手法や、個々の端末が公開鍵暗号方式による公開鍵と秘密鍵とを生成して管理する手法、暗号を復号可能な受信グループを動的に変更可能な手法など、種々の暗号技術が提案されている。この種の従来技術の代表的なものに、次の文献に開示されているBroadcast Encryptionがある。
文献：Fiat, A. and Naor, M.,"Broadcast Encryption,"Crypto93, LNCS, 1993.
【０００４】
このBroadcast Encryptionでは、所定のユーザグループのうち、任意のサブセットを受信グループとし、そのメンバーだけが復号できるような暗号鍵の構成法を提案している。すなわち、ユーザ間の結託閾値を設定し、その人数までの結託に耐えられるような（その人数が結託しなければ破られないような）グループ秘密鍵の生成法を提案している。また、暗号化されたデータの復号は、受信グループのメンバーであれば、単独で復号できるものである。
上記Broadcast Encryptionに限らず、従来のこの種の暗号技術は、暗号化されたデータの復号は、一般に、受信グループに属する端末装置が単独で行えるものであった。
【０００５】
【発明が解決しようとする課題】
ところで、上記のマルチキャストが必要とされる場面は、ネットワーク上のサーバからクライアントへ一方的に情報（コンテンツ）を配信するクライアントサーバモデルだけでなく、端末装置間で相互に情報を交換する機能を実現するピア・ツー・ピアモデルでも存在する。例えば、ネットワーク上の所定の端末装置がグループを形成し、当該グループに属する端末装置間で、保有する情報を交換する場合などである。
【０００６】
このような環境下で安全なマルチキャストを実現するための暗号技術の１つとして、暗号化されたデータが、グループに属する端末装置の全部または一部が結託することによって初めて復号可能となるような技術が考えられる。
この場合、上述したBroadcast Encryptionなどの従来技術で前提とされている、幾つかの端末が結託して暗号化データを復号することを排除しようとするような暗号技術は、当然ながら適用できない。
【０００７】
そこで、本発明は、受信グループとして選択されたサブセットに属する端末装置が協力することにより復号できるような暗号化方法及びその復号方法を提供することを目的とする。
また、本発明は、この暗号化方法及び復号方法を用いて、安全なマルチキャストによるデータ配信を実現することを目的とする。
【０００８】
【課題を解決するための手段】
上記の目的を達成する本発明は、次のように構成されたことを特徴とするネットワークシステムとして実現することができる。すなわち、ネットワークを介して情報を送受する発信者端末及び受信者端末を備え、発信者端末は、発信情報を、任意の数の受信者端末のＩＤ情報の集合に基づくグループ鍵を用いて暗号化して受信者端末に配信する。一方、受信者端末は、発信者端末から暗号化データを受信し、複数の受信者端末間でこの暗号化データを復号するための各受信者端末固有の部分情報を交換することにより暗号化データを復号する復号情報を求め、この復号情報を用いて発信情報を復号する。
ここで、発信者端末及び受信者端末は、必ずしも特定のハードウェア（端末装置）を指すものではなく、システム上の役割を意味するに過ぎない。すなわち、発信者たるユーザが使用する端末装置が発信者端末であり、受信者たるユーザが使用する端末装置が受信者端末である。
また、ＩＤ情報には、各端末や端末の使用者（受信者）に付されたＩＤ、秘密鍵及び公開鍵などを含むものとする。
さらにここで、部分情報とは、各受信者端末の秘密鍵自体とすることもできるし、公開鍵暗号方式を用いる場合は、秘密鍵そのものを交換することを避けるため、暗号化データを秘密鍵にて処理した部分的な復号情報（部分復号情報）とすることができる。
復号情報は、部分情報に応じて内容が異なる。部分情報が秘密鍵である場合は、これに基づいて発信情報を暗号化したグループ鍵を復元し、これを復号情報とすることができる。一方、部分情報が上述した部分復号情報である場合は、公開暗号方式が用いられ、かつ秘密鍵自体は交換されないため、グループ鍵に対応する復号用の鍵を生成することができない。しかしながら、所定のセッション鍵を用いて発信情報を暗号化しグループ鍵を用いてセッション鍵を暗号化するといった２重の暗号化を施すと共に有限体上の暗号系（例えばElGamal暗号）にてセッション鍵を暗号化することにより、部分復号情報の集合からセッション鍵を復元することが可能な情報を計算することができ、これを復号情報とすることができる。この場合、発信情報を復号する過程において、グループ鍵に対応する復号用の鍵は常に隠された状態で使用されることとなる。
【０００９】
また、上記の発信者端末は、暗号化された発信情報を復号するために共同することが必要な受信者端末の数を示す閾値を設定し、暗号化された発信情報と共にこの閾値を受信者端末に配信する。これに対し、受信者端末は、この閾値に相当する数の受信者端末間で暗号化データに関する情報をやり取りすることによりグループ鍵に関する情報を求める。
このような構成とすることにより、情報の発信先である受信者端末（受信グループ）の中の一部が協力することにより暗号化データを復号することが可能となる。
【００１０】
また、本発明は、クライアント／サーバシステムとして構成し、第１の鍵を用いて発信情報を暗号化しネットワークを介して発信する発信者端末と、この発信者端末から発信された暗号化データを受信し、第２の鍵を用いて前記発信情報を復号する受信者端末と、この受信者端末に対して端末ごとに固有の第２の鍵を配布し、発信者端末に対して複数の第２の鍵を用いることによって復号可能な暗号化を行う第１の鍵を配布するディーラとを備えることを特徴とするネットワークシステムとして実現することができる。
ここで、このディーラは、受信者端末のＩＤ情報に基づいて第２の鍵を生成すると共に、この第２の鍵を値とする点を通る多項式を構成し、この多項式の定数項を第１の鍵として発信者端末及び受信者端末に配布することができる。
また、発信者端末は、受信グループを決定し、この受信グループに属する受信者端末における第２の鍵にて復号可能な第１の鍵をディーラに対して要求することができる。
【００１１】
さらにまた、本発明は、ネットワークを介して情報を送受する発信者端末及び受信者端末とを備えたピア・ツー・ピア方式のシステムとして構成し、発信者端末は、所定のセッション鍵を用いて発信情報を暗号化し、この発信情報の送信先である任意の数の受信者端末の公開鍵を用いて生成したグループ鍵によりセッション鍵を暗号化する暗号化手段と、この暗号化手段により暗号化されたセッション鍵及びこのセッション鍵によって暗号化された発信情報を送信先の受信者端末に送信する通信手段とを備え、受信者端末は、暗号化データを受信すると共に、他の受信者端末との間でデータの送受信を行う通信手段と、自装置固有の秘密鍵とこの秘密鍵に基づく公開鍵とを生成する鍵生成手段と、暗号化されたセッション鍵を秘密鍵にて処理し、得られた部分復号情報を複数の受信者端末間で交換することにより前記セッション鍵を復号するための復号情報を求め、求めた復号情報を用いてセッション鍵を復号し、復号されたセッション鍵を用いて発信情報を復号する復号手段とを備えることを特徴とするネットワークシステムとして実現することができる。
ここで、発信者端末の暗号化手段は、当該発信情報の送信先である各受信者端末の公開鍵を値とする点を通る多項式を構成し、この多項式の定数項をグループ鍵とする。
また、発信者端末の暗号化手段は、有限体上の暗号系によりグループ鍵を用いたセッション鍵の暗号化を行う。
【００１２】
また、本発明は、上述したネットワークシステムにおける暗号方法を、例えば次のような具体的なサービスを目的とするシステムに適用することができる。すなわち、合議を求める議題を提供する議題提供者端末と、ネットワークを介して議題提供者から提供された議題を取得し、この議題に対する議決を行う参加者端末とを備えた合議システムとして実現できる。また、ネットワークを介してコンテンツを取得し利用するコンテンツ利用者端末と、このコンテンツ利用者端末によるコンテンツの取得を監視するメータリングサーバとを備えたメータリングシステム、あるいは、ネットワークを介してコンテンツを提供するコンテンツ提供者端末と、所定の端末装置によるコンテンツの取得を監視するメータリングサーバとを備えたメータリングシステムとして実現することができる。さらに、秘密情報を提供する秘密保持者端末と、ネットワークを介して秘密保持者端末から秘密情報を取得し分散して保持する複数の秘密分散対象者端末とを備えた秘密分散システムとして実現することができる。
【００１３】
さらにまた、本発明は、ネットワークを介して情報を配信する端末装置として実現することができる。この端末装置は、情報の配信先となる任意の数の受信者端末を含む受信グループを決定する受信グループ決定手段と、この受信グループに属する受信者端末のＩＤ情報の集合に基づくグループ鍵を用いて、前記受信グループに属する前記受信者端末の一定数が情報を交換することにより復号可能となるように配信情報を暗号化する暗号化手段と、ネットワークを介して暗号化された配信情報を受信者端末に送信する送信手段とを備えることを特徴とする。
ここで、この端末装置にて情報を配信するシステムにおいて、受信者端末のＩＤ情報を管理するディーラ（サーバ）が存在する場合には、このディーラにグループ鍵の生成を要求して取得する構成とすることができる。そのようなディーラが存在せず、受信グループに属する受信者端末に暗号化用の公開鍵と復号用の秘密鍵とが設定されている場合は、情報を配信する端末装置自身がＩＤ情報である公開鍵を用いてグループ鍵を生成する構成とすることができる。また、暗号化の方法として、まず所定のセッション鍵を用いて前記配信情報を暗号化し、さらにグループ鍵を用いて当該セッション鍵を暗号化することができる。このとき、有限体上の暗号系によってセッション鍵の暗号化を行うことが可能である。有限体上の暗号系としては、例えばElGamal暗号を用いることができる。
【００１４】
また、本発明は、ネットワークを介して配信された情報を受信する端末装置として実現することもできる。この端末装置は、ネットワークを介してデータの送受信を行う通信手段と、受信した暗号化データから、この暗号化データを復号するために共同することが必要な端末装置の数を示す閾値を取得し、通信手段を介してこの閾値に相当する数の他の端末装置との間で暗号化データを復号するための各端末装置固有の部分情報を交換し、この情報交換により得られた各端末装置の部分情報から暗号化データを復号する復号情報を求め、この復号情報を用いて暗号化データを復号する復号手段とを備えることを特徴とする。
ここで、この復号手段は、自装置の秘密鍵で暗号化データを処理することにより前記部分情報を取得し、他の端末装置との間で交換する。そして、情報交換により得られた部分情報から復号情報を求める。
また、この復号手段は、受信した暗号化データに付加されている配信情報の配信先である端末装置のリストを参照し、このリストに含まれる端末装置との間で暗号化データに関する情報の交換を行う。
【００１５】
さらに本発明は、情報の配信先となる任意の数の受信者を含む受信グループを決定する受信グループ決定ステップと、受信グループに属する受信者のＩＤ情報に基づいてグループ鍵を生成するグループ鍵生成ステップと、生成されたグループ鍵を用いて、受信グループに属する受信者の一定数が情報を交換することにより復号可能な暗号化を配信情報に施す暗号化ステップとを含むことを特徴とする暗号化方法として実現することができる。
ここで、このグループ鍵生成ステップは、受信者のＩＤ情報を値とする点を通る多項式を構成し、この多項式の定数項をグループ鍵とするステップを含む。さらに、この多項式上で、受信者のＩＤ情報と重ならない仮想点を設定し、この仮想点に関する情報をグループ鍵に付加するステップを含むことができる。
また、暗号化ステップは、有限体上の暗号系によりグループ鍵を用いた暗号化を行うステップを含む。
【００１６】
また、本発明は、ネットワークを介して受信した暗号化データから、暗号化されている情報を復号するために共同することが必要な端末装置の数を示す閾値を取得する閾値取得ステップと、閾値に相当する数の他の端末装置との間で暗号化データを復号するための各端末装置固有の部分情報を交換する情報交換ステップと、交換により得られた各端末装置の部分情報から暗号化データを復号する復号情報を求め、この復号情報に基づいて暗号化データを復号する復号ステップとを含むことを特徴とする復号方法として実現することができる。
【００１７】
さらにまた、本発明は、コンピュータを上述した端末装置として動作させ、上述した暗号化方法あるいは復号方法をコンピュータに実行させるプログラムとして実現することができる。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
【００１８】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
本発明は、ネットワーク上に存在する複数の端末装置の中から任意のサブセットを受信グループとして選択し、当該受信グループに属する端末装置の全部または一部が協力することにより復号できるような暗号技術を提案する。
本発明では、多項式補間法を用い、受信グループに属する端末装置またはその使用者のＩＤ情報（秘密鍵）を値とする点を通る多項式を構成し、その定数項を秘密鍵とすることにより、当該受信グループにおける複数の端末装置（メンバー）が共同することによって解読可能となる暗号法を構成する。
この暗号法では、後述するように、閾値を導入し、受信グループのメンバーの一部が欠けていても復号可能とすることができる。
また、この暗号法を離散対数ベースの公開暗号に適用することによって、各端末装置（使用者）の秘密鍵を何度でも使用可能にし、さらに、この暗号を用いる情報配信システムにおいて秘密鍵を配るサーバを不要とすることができる。
【００１９】
〔第１の実施の形態〕
第１の実施の形態として、ディーラが発行した鍵を用いて配信情報の暗号化及び復号を行う情報配信システムについて説明する。
まず、問題を定義するために、参加者として次の３者を定義する。図１は、この３者の関係を説明する図である。
発信者：受信グループＧｉ、Ｇｊとなる端末装置のサブセットを選択し、当該受信グループＧｉ、Ｇｊ用のグループ鍵を用いて情報を暗号化して発信する。
受信者：暗号化された情報を受信し、秘密鍵を用いて復号する。
ディーラ：受信者のための秘密鍵を生成し配布する。受信者の秘密鍵を知っているので、通常は、信頼された第三者機関（ＴＴＰ：Trusted Third Party）が運営する。また、グループ鍵を生成することもある。
【００２０】
図２は、第１の実施の形態を実現する情報配信システムのシステム構成を示す図である。
図２を参照すると、本実施の形態の情報配信システムは、上記発信者が使用する発信者端末２１０と、上記受信者が使用する受信者端末２２０と、これらの端末装置を管理し、暗号化及び復号に用いられる鍵の生成、配布を行うサーバであるディーラ２３０とを備えるネットワークシステムである。
【００２１】
発信者端末２１０及び受信者端末２２０は、パーソナルコンピュータやワークステーション、その他のコンピュータ装置、ネットワーク機能を備えたＰＤＡ（Personal Digital Assistant）、携帯電話などの情報端末にて実現される。また、ディーラ２３０は、パーソナルコンピュータやワークステーションなどのコンピュータ装置にて実現される。ここで、上述したように、発信者端末２１０と受信者端末２２０とは、所定の情報配信における役割を意味しており、当該ネットワークを介して接続された各端末装置が、発信者端末２１０及び受信者端末２２０になり得る。
ディーラ２３０は、当該ネットワークを介して接続されている端末装置のうち、本実施の形態における情報配信先となり得る（例えば本実施の形態による情報配信システムのメンバーとして登録された）全ての端末装置を管理している。また、情報配信を行う際は、ディーラ２３０に管理されている端末装置の中から任意のサブセットを受信グループとして選択し、当該受信グループに対して行う。すなわち、ディーラ２３０に管理されている端末装置のうち、発信者端末２１０によって受信グループに選択されたサブセットに含まれる端末装置が受信者端末２２０となる。受信グループは、最大で、ディーラ２３０に管理されている全ての端末装置にて形成されることとなる。
【００２２】
図２に示すように、発信者端末２１０は、受信者端末２２０に配信する配信情報などを格納したデータ記憶部２１１と、ディーラ２３０に対してグループ鍵の発行を要求するグループ鍵要求部２１２と、ディーラ２３０から配布されたグループ鍵を用いてデータ記憶部２１１に格納されている配信情報を暗号化する暗号化部２１３とを備える。データ記憶部２１１はＲＡＭなどのメモリで、グループ鍵要求部２１２及び暗号化部２１３はプログラム制御されたＣＰＵで実現することができる。かかるプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。また、発信者端末２１０は、図示しない通信制御手段及びネットワークインターフェイスにより、ネットワークを介して受信者端末２２０及びディーラ２３０とデータ通信を行う。なお、図２において、１つの発信者端末２１０においてのみ、その構成を記載しているが、図中の他の発信者端末２１０も同様の構成であることは言うまでもない。
ここで、グループ鍵要求部２１２は、ディーラ２３０に管理されている端末装置の全体集合の中から、情報の配信先となる端末装置のサブセットを選択し、受信グループとする。そして、当該受信グループを構成する受信者端末２２０のＩＤの集合をディーラ２３０に送信し、当該受信グループに対するグループ鍵の発行を要求する。
【００２３】
受信者端末２２０は、ディーラ２３０から配布された秘密鍵を用いて、発信者端末２１０から配信された配信情報を復号する復号部２２１と、復号した情報などを格納するデータ記憶部２２２とを備える。復号部２２１はプログラム制御されたＣＰＵで、データ記憶部２２２はＲＡＭなどのメモリで実現することができる。ＣＰＵを制御するプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。また、受信者端末２２０は、図示しない通信制御手段及びネットワークインターフェイスにより、ネットワークを介して発信者端末２１０及びディーラ２３０とデータ通信を行う。さらに、受信者端末２２０は、復号された情報を、データ記憶部２２２に格納する他に、図示しないディスプレイ装置や音声出力装置などの出力デバイスにて出力することもできる。なお、図２において、１つの受信者端末２２０においてのみ、その構成を記載しているが、図中の他の受信者端末２２０も同様の構成であることは言うまでもない。
【００２４】
ディーラ２３０は、発信者端末２１０において配信情報を暗号化するためのグループ鍵と、受信者端末２２０において暗号化された受信情報を復号するための秘密鍵とを生成する鍵生成部２３１を備える。鍵生成部２３１はプログラム制御されたＣＰＵにて実現することができる。かかるプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。また、ディーラ２３０は、図示しない通信制御手段及びネットワークインターフェイスにより、ネットワークを介して発信者端末２１０及び受信者端末２２０とデータ通信を行う。
鍵生成部２３１は、乱数生成器を有し、この乱数生成器にて生成した乱数を用いて各端末装置の秘密鍵を生成する。生成された秘密鍵は、秘密チャネルを介して各端末装置に配布される。また、鍵生成部２３１は、発信者端末２１０からの要求に応じ、受信グループを構成する受信者端末２２０のＩＤの集合を用いて、当該受信グループに対するグループ鍵を生成し、発信者端末２１０に返送する。
【００２５】
図３は、上記のように構成された本実施の形態の情報配信システムにおける情報配信の手順を説明する図である。
図３を参照すると、本実施の形態による情報配信は、大別して１．秘密鍵の生成と配布、２．発信者のグループ決定とグループ鍵の生成、３．情報の暗号化と発信、４．情報受信と復号処理の４つのフェーズからなる。次に、各フェーズについて詳細に説明する。
なお、以下の説明において、ｐは大きな素数、ｑはｐ−１を割り切るような素数、ｇは有限体Ｚｐ上の位数ｑの元とする。
【００２６】
１．秘密鍵の生成と配布
ディーラ２３０が、鍵生成部２３１により、ネットワークにアクセスするＮ人のユーザの端末装置Ｓi，ｉ＝１，・・・，Ｎに対して秘密鍵ｓiを生成し、一般的な秘密チャンネルを使用して各ユーザの端末装置に配布する。ここで、端末装置ＳiのＩＤをｉとする。
【００２７】
２．発信者のグループ決定とグループ鍵の生成
発信者端末２１０が、ディーラ２３０に管理されている端末装置の全体集合の中から情報の配信先となる端末装置を選び、受信グループＧＵ＝｛Ｓg1，・・・，Ｓgm｝とする。また、当該受信グループＧＵを構成する受信者端末２２０のＩＤの集合をＧ＝｛ｇ1，・・・，ｇm｝とする。このとき、受信グループＧＵのメンバー、すなわち受信者端末２２０の数はｍである。次に、何人のメンバーが集まれば復号できるかを指定する閾値ｋを決定する。受信グループＧＵにおけるＩＤの集合Ｇ及び閾値ｋは、データ記憶部２１１に一時的に保持される。そして、グループ鍵要求部２１２が、データ記憶部２１１からＩＤの集合Ｇ及び閾値ｋを読み出してディーラ２３０に送信し、当該受信グループＧＵに対するグループ鍵ｓGの発行を要求する。
ディーラ２３０は、発信者端末２１０からの要求に応じて、鍵生成部２３１により受信グループＧＵに対するグループ鍵ｓGを生成し、発信者端末２１０に返送する。
【００２８】
ここで、グループ鍵ｓGの生成方法について、さらに詳細に説明する。
ディーラ２３０の鍵生成部２３１は、まず、次数ｍ−１の多項式ｆ(ｘ)を、次の数１式のように構成する。
【数１】
0003864247.tif 000002
【００２９】
次に、グループ鍵ｓGをｓG＝ｆ(０)とする。そして、ｍ−ｋ個の点ｐ1，・・・，ｐm-kを、他のユーザＩＤと重ならないように選び、その点上での多項式ｆ(ｘ)の値ｘj＝ｆ(ｐj)を計算する。この点と計算値のリストとを、次のようにメッセージヘッダＭＨとする。
ＭＨ＝＜（ｐ1，ｘ1），・・・，（ｐm-k，ｘm-k）＞
最後に、グループ鍵ｓGとメッセージヘッダＭＨとを発信者端末２１０に返送する。
【００３０】
３．情報の暗号化と発信
発信者端末２１０が、ディーラ２３０からグループ鍵ｓGを受け取り、暗号化部２１３により配信情報の暗号化を行う。グループ鍵ｓGと共にディーラ２３０から受信したメッセージヘッダＭＨは、データ記憶部２１１に一時的に保持される。暗号化部２１３は、配信情報であるデータをデータ記憶部２１１から読み出してグループ鍵ｓGで暗号化し、メッセージボディＭＢとする。メッセージボディＭＢはデータ記憶部２１１に一時的に保持される。そして、図示しない通信制御手段が、メッセージヘッダＭＨ及びメッセージボディＭＢの全体と受信グループＧＵにおけるＩＤの集合Ｇとをデータ記憶部２１１から読み出し、受信グループＧＵに属する受信者端末２２０に対してマルチキャストする。
【００３１】
４．情報受信と復号処理
受信者端末２２０が、発信者端末２１０から送信された暗号化情報を受信し、復号部２２１により情報の復号を行う。復号部２２１は、まず、図示しない通信制御手段にて受信した暗号化情報をデータ記憶部２２２に格納し、当該データ記憶部２２２のメッセージヘッダＭＨ及び受信グループＧＵのＩＤの集合Ｇから閾値ｋを取得する。具体的には、メッセージヘッダＭＨの要素数をｈとすれば、これと受信グループＧＵの要素数ｍとから、閾値ｋ（＝ｍ−ｈ）が算出される。そして、当該閾値ｋに相当するｋ人の受信者の受信者端末２２０との間でディーラ２３０から配布された秘密鍵ｓiを交換して多項式ｆ(ｘ)を復元し、グループ鍵ｓGを求める。次に、データ記憶部２２２から暗号化情報を読み出し、求めたグループ鍵ｓGを用いてメッセージボディＭＢのデータを復号する。
【００３２】
以上のようにして、発信者端末２１０がマルチキャストで配信した暗号化された情報を、受信者端末２２０のうち、閾値ｋを満足する数の受信者端末２２０が共同することによって復号し、取得することができる。復号された情報は、受信者端末２２０のデータ記憶部２２２に格納され、必要に応じてディスプレイ装置などにより出力される。また、本実施の形態では、各受信者端末２２０の秘密鍵ｓiを交換して暗号化データを復号するため、一度データの復号を行うと協力した受信者端末２２０の間で互いの秘密鍵ｓiが知られてしまう。したがって、ディーラ２３０から配布された秘密鍵ｓiは一度の復号あるいは単一のデータに対する復号というように限定的に使用され、データの復号を行う場合あるいは他のデータを復号する場合に、その都度ディーラ２３０から受信者端末２２０へ新たな秘密鍵ｓiを配布することが必要である。
【００３３】
〔第２の実施の形態〕
次に、第２の実施の形態として、ディーラを設置しないピア・ツー・ピアモデルにおいて、各ユーザの端末装置が生成した公開鍵と秘密鍵とを用いて配信情報の暗号化及び復号を行う情報配信システムについて説明する。
第２の実施の形態では、第１の実施の形態で定義した参加者のうち、ディーラを除く発信者及び受信者において暗号方法が実現される。
【００３４】
図４は、第２の実施の形態を実現する情報配信システムのシステム構成を示す図である。
図４を参照すると、本実施の形態の情報配信システムは、上記発信者が使用する発信者端末４１０と、上記受信者が使用する受信者端末４２０とを備えるネットワークシステムである。
【００３５】
発信者端末４１０及び受信者端末４２０は、パーソナルコンピュータやワークステーション、その他のコンピュータ装置、ネットワーク機能を備えたＰＤＡ（Personal Digital Assistant）、携帯電話などの情報端末にて実現される。また、発信者端末４１０と受信者端末４２０とは、所定の情報配信における役割を意味しており、ネットワークを介して接続された各端末装置が、発信者端末４１０及び受信者端末４２０になり得る。なお、情報配信を行う際は、本実施の形態における情報配信先となり得る（例えば本実施の形態による情報配信システムのメンバーとして登録された）全ての端末装置の中から任意のサブセットを受信グループとして選択し、当該受信グループに対して行う。すなわち、情報配信システムを構成する全ての端末装置のうちで、発信者端末４１０によって受信グループに選択されたサブセットに含まれる端末装置が受信者端末４２０となる。受信グループは、最大で、ネットワークを介して接続されている全ての端末装置にて形成されることとなる。
【００３６】
図５は、発信者端末４１０及び受信者端末４２０の機能構成を示す図である。図５を参照すると、発信者端末４１０は、受信者端末４２０に配信する配信情報や受信グループのメンバーリストなどを格納したデータ記憶部４１１と、受信者端末４２０の公開鍵を格納する公開鍵データベース４１２と、情報配信の宛先となる受信者端末４２０の公開鍵を用いてグループ公開鍵を生成するグループ公開鍵生成部４１３と、生成したグループ公開鍵を用いて配信情報を暗号化する暗号化部４１４とを備える。データ記憶部４１１及び公開鍵データベース４１２はＲＡＭなどのメモリで、グループ公開鍵生成部４１３及び暗号化部４１４はプログラム制御されたＣＰＵで実現することができる。かかるプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。また、発信者端末４１０は、図示しない通信制御手段及びネットワークインターフェイスにより、ネットワークを介して受信者端末４２０とデータ通信を行う。
【００３７】
受信者端末４２０は、自装置の公開鍵及び秘密鍵を生成する鍵生成部４２１と、生成した秘密鍵を用いて発信者端末４１０から配信された配信情報を復号する復号部４２２と、復号された情報などを格納するデータ記憶部４２３とを備える。鍵生成部４２１及び復号部４２２はプログラム制御されたＣＰＵで、データ記憶部４２３はＲＡＭなどのメモリで実現することができる。ＣＰＵを制御するプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。また、受信者端末４２０は、図示しない通信制御手段及びネットワークインターフェイスにより、ネットワークを介して発信者端末４１０とデータ通信を行う。さらに、受信者端末４２０は、復号された情報を、データ記憶部４２３に格納する他に、図示しないディスプレイ装置や音声出力装置などの出力デバイスにて出力することもできる。なお、鍵生成部４２１は、実際には、本実施の形態の情報配信システムを構成する全ての端末装置に設けられているが、ここでは、情報の送受信に関する構成を考慮して、受信者端末４２０の構成要素として説明した。
【００３８】
図６は、上記のように構成された本実施の形態の情報配信システムにおける情報配信の手順を説明する図である。
図６を参照すると、本実施の形態による情報通信は、大別して１．秘密鍵と公開鍵の生成、２．発信者のグループ決定とグループ公開鍵の生成、３．情報の暗号化と発信、４．情報受信と復号処理の４つのフェーズからなる。次に、各フェーズについて詳細に説明する。
なお、第１の実施の形態の場合と同様に、以下の説明において、ｐは大きな素数、ｑはｐ−１を割り切るような素数、ｇは有限体Ｚｐ上の位数ｑの元とする。
【００３９】
１．秘密鍵と公開鍵の生成
本実施の形態による情報配信システムを構成するＮ台の端末装置Ｓi，ｉ＝１，・・・，Ｎが、鍵生成部４２１により、秘密鍵と公開鍵とを生成する。
図７は、鍵生成部４２１による秘密鍵及び公開鍵の生成手順を説明するフローチャートである。
図７を参照すると、鍵生成部４２１は、まず、乱数生成器にて生成した乱数を用いて秘密鍵ｓiを生成する（ステップ７０１）。次に、
ｙ＝ｇSi，（ｍｏｄ ｐ）
を計算して公開鍵ｙを求める（ステップ７０２）。以上のようにして生成された秘密鍵ｓiはデータ記憶部４２３に格納され、公開鍵ｙは公開される（ステップ７０３）。公開鍵ｙの公開方法は、マルチキャストにより情報配信システムにおける他のＮ−１台の端末装置に配信しても良いし、ネットワーク上に公開鍵ｙの保管用のサーバを設けておいて登録するようにしても良い。
【００４０】
２．発信者のグループ決定とグループ公開鍵の生成
発信者端末４１０が、ネットワークを構成する端末装置の全体集合の中から情報の配信先となる端末装置を選び、受信グループＧＵ＝｛Ｓg1，・・・，Ｓgm｝とする。また、当該受信グループＧＵを構成する受信者端末４２０のＩＤの集合をＧ＝｛ｇ1，・・・，ｇm｝とする。このとき、受信グループＧＵのメンバー、すなわち受信者の数はｍである。次に、何人のメンバーが集まれば復号できるかを指定する閾値ｋを決定する。そして、グループ公開鍵生成部４１３により、この受信グループＧＵに対するグループ公開鍵ｙGを生成する。
【００４１】
ここで、グループ公開鍵ｙGの生成方法について、さらに詳細に説明する。
図８は、発信者端末４１０のグループ公開鍵生成部４１３によるグループ公開鍵ｙGの生成方法を説明するフローチャートである。
初期動作として、発信者端末４１０は、情報配信システムを構成する各端末装置の公開鍵ｙを取得し、公開鍵データベース４１２に格納しておく。また、受信グループＧＵのメンバーリスト及び閾値ｋをデータ記憶部４１１に格納する。なお、受信グループＧＵのメンバーリストは、当該受信グループＧＵに属する各受信者端末４２０に対しても送信され、データ記憶部４２３に格納される。
図８に示すように、発信者端末４１０のグループ公開鍵生成部４１３は、まず、公開鍵データベース４１２から各端末装置の公開鍵ｙを入力し、データ記憶部４１１から受信グループＧＵのメンバーリスト及び閾値ｋを入力する（ステップ８０１）。そして、次の数２式によりグループ公開鍵ｙGを算出する（ステップ８０２）。
【数２】
0003864247.tif 000003
【００４２】
次に、グループ公開鍵生成部４１３は、ｍ−ｋ個の仮想点の集合Ｐ＝ｐ1，・・・，ｐm-kを、他のユーザＩＤと重ならないように選び（ステップ８０３）、その仮想点上での公開鍵ｙpxを、次の数３式にて算出する（ステップ８０４）。
【数３】
0003864247.tif 000004
そして、これらｍ−ｋ個の仮想点の公開鍵のリストを生成し（ステップ８０５）、グループ公開鍵ｙGと共にデータ記憶部４１１に格納する（ステップ８０６）。
【００４３】
３．情報の暗号化と発信
発信者端末４１０が、暗号化部４１４により配信情報の暗号化を行う。
図９は、配信情報の暗号化の手順を説明するフローチャートである。
図９を参照すると、暗号化部４１４は、まず、データ記憶部４１１からグループ公開鍵ｙGと、仮想点の公開鍵のリストと、配信情報であるデータを入力する（ステップ９０１）。そして、セッション鍵Ｋを生成し（ステップ９０２）、このセッション鍵ＫをElGamal暗号によってグループ公開鍵ｙGで暗号化する（ステップ９０３）。
Ｅnck＝（Ａ,Ｂ）＝（ｇr,ＫyGr）
ここで、ｒは任意の乱数である。
【００４４】
次に、暗号化部４１４は、メッセージヘッダＭＨとして、先に算出した仮想点上での公開鍵ｙpxを使ったリストを作る（ステップ９０４）。
ＭＨ＝＜（ｐ1，ｙp1r），・・・，（ｐm-k，ｙpm-kr）＞
次に、配信情報であるデータをセッション鍵Ｋで次のように暗号化し、メッセージボディＭＢとする（ステップ９０５）。
ＥncＤata＝ＥK(data)
そして、以上のように生成されたメッセージヘッダＭＨとメッセージボディＭＢの全体を、データ記憶部４１１に格納する。この後、図示しない通信制御手段が、データ記憶部４１１に格納されているメッセージヘッダＭＨとメッセージボディＭＢの全体を読み出し、受信グループＧＵに属する受信者端末４２０に対してマルチキャストする（ステップ９０６）。
なお、本実施の形態では、セッション鍵Ｋに対するグループ公開鍵ｙGを用いた暗号化の手法としてElGamal暗号による手法を用いたが、他の有限体上の暗号系、例えば楕円暗号による暗号化手法を用いることもできる。
【００４５】
４．情報受信と復号処理
受信者端末４２０が、発信者端末４１０から送信された暗号化情報を受信し、復号部４２２により情報の復号を行う。
図１０は、受信情報の復号手順を説明するフローチャートである。
図１０を参照すると、復号部４２２は、まず、予め発信者端末４１０から受信してデータ記憶部４２３に格納されている受信グループＧＵのメンバーリストと、同じくデータ記憶部４２３に保持されている自装置の秘密鍵ｓiとを入力し、さらに発信者端末４１０から配信された暗号化情報を入力する（ステップ１００１）。
【００４６】
次に、復号部４２２は、自装置の秘密鍵ｓiを用いて部分的な復号結果である部分復号情報ＡSiを計算し、データ記憶部４２３に格納する（ステップ１００２）。これは、後述のように、セッション鍵Ｋを復元可能なグループ公開鍵ｙGに関する情報である。そして、発信者端末４１０から受信した暗号化情報のメッセージヘッダＭＨを参照して閾値ｋを確認し、受信グループＧＵのメンバーリストを参照してｋ−１台の受信者端末４２０との間で、先に算出した部分復号情報ＡSiを交換する（ステップ１００３）。ｋ−１台の受信者端末４２０（自装置を含む）の部分復号情報ＡSiが得られると、データ記憶部４２３に格納されている自装置の部分復号情報ＡSiと合わせて、次の数４式によって復号情報Ａf(0)が求まる。
【数４】
0003864247.tif 000005
【００４７】
ここで、ｙG＝ｇf(0)となっているので、算出された復号情報Ａf(0)を用い、次の数５式によりセッション鍵Ｋを復元することができる。
【数５】
0003864247.tif 000006
最後に、復元されたセッション鍵Ｋを用いてメッセージボディＭＢのデータを復号する（ステップ１００４）。
【００４８】
以上のようにして、マルチキャストで配信した暗号化された情報を、受信者端末４２０のうち、閾値ｋを満足する数の受信者端末４２０が共同することによって復号し、取得することができる。すなわち、本実施の形態によれば、鍵の生成、配布を行うディーラを設けることなく、複数の受信者端末４２０が共同して暗号化情報を復号するような情報配信システムを実現することが可能となる。復号された情報は、受信者端末４２０のデータ記憶部４２３に格納され、必要に応じてディスプレイ装置などにより出力される。なお、第１の実施の形態と同様に、閾値ｋを受信グループＧＵに属する全ての受信者端末４２０の数に設定すれば、当該受信グループＧＵの受信者端末４２０の全てが共同して初めて復号されるような暗号化による情報配信が可能となる。
【００４９】
本実施の形態によれば、情報配信に用いられる鍵を管理するディーラが不要であるため、ディーラが攻撃されたり、秘密鍵がユーザに配送される際に盗まれたりすることによって鍵に関する情報が漏洩する危険がない。
また、ネットワークを介して相互に接続された端末装置において、任意の端末装置が発信者端末４１０となり、任意の端末装置のサブセットを受信グループＧＵとして選択して情報配信を行うことができるため、大規模なネットワークなど、ユーザの全体数の変化を把握することが困難な場合にも対応できるという利点もある。
なお、上記の動作例では、発信者端末４１０が、受信グループＧＵのメンバーリストを作成した際に自装置のデータ記憶部４１１に格納すると共に、配信情報とは別に予め当該受信グループＧＵに属する各受信者端末４２０に送信することにより、発信者端末４１０と受信グループＧＵの各受信者端末４２０におけるメンバーリストの同期を取ることとしたが、配信情報と共に送信するなど、他の方法を用いて同期を取ることも可能である。
【００５０】
また、上述した各実施の形態では、説明の簡単のため、ネットワークシステムを構成する端末装置に対してＩＤや鍵（秘密鍵、公開鍵）を設定することとしたが、端末装置を使用するユーザに対してＩＤや鍵を設定することも可能である。この場合、ユーザが使用する任意の端末装置において自分のＩＤや鍵を入力（あるいは生成）することにより、当該端末装置が上述した発信者端末４１０や受信者端末４２０として動作することとなり、ハードウェアに拘泥しないネットワークシステムが実現される。
【００５１】
次に、本実施の形態の適用例について説明する。なお、以下の例は、サービスの提供形態によって第１の実施の形態または第２の実施の形態のいずれを適用することもできるが、ここでは第２の実施の形態を適用した例について説明する。
〔適用例１〕
インターネットなどにおけるコンテンツ配信システムへの適用について説明する。
今日、Gnutellaなどのように、インターネット上でピア・ツー・ピアモデルによるコンテンツ配信システムが構築されている。そこで、この種のコンテンツ配信システムに上記第２の実施の形態による暗号手法を適用すれば、配信情報が所定の配信先以外に盗まれることのない安全なシステムを実現することができる。
【００５２】
図１１は、第２の実施の形態による暗号手法を適用したコンテンツ配信システムの構成を示す図である。
図１１において、コンテンツ供給者１１１（図１１には、コンテンツ供給者１１１ａ、１１１ｂが記載されているが、特に区別する必要がない場合はコンテンツ供給者１１１と表記する）は、第２の実施の形態の発信者端末４１０に相当し、コンテンツ利用者１１２は、受信者端末４２０に相当する。
【００５３】
コンテンツ供給者１１１は、システムのユーザ（端末装置）のうち、任意のサブセットを受信グループとして定義し、当該受信グループのメンバーだけが復号化できるようなグループ暗号鍵を構成する。グループ暗号鍵は、コンテンツ利用者１１２の公開鍵のみから構成できるので、ＴＴＰのような信頼機関（ディーラ）は必要ない。
コンテンツ利用者１１２は、自分の秘密鍵を生成し、この秘密鍵に対応する公開鍵を公開する。上記のように、この公開鍵がグループ暗号鍵の生成に用いられるため、当該公開鍵の公開のみを条件として、本コンテンツ配信システムによるコンテンツの配信を受けることが可能となる。すなわち、ユーザは、ネットワークに接続し公開鍵を公開するだけで、コンテンツ利用者１１２となることができる。
【００５４】
なお、公開鍵を公開したユーザのうち、どのようなサブセットを受信グループとしてコンテンツを配信するかは、コンテンツ供給者１１１の任意である。したがって、図１１に示すように、コンテンツ供給者１１１ａがコンテンツを配信する受信グループの構成メンバーと、コンテンツ供給者１１１ｂがコンテンツを配信する受信グループの構成メンバーとが異なる場合もある。また、コンテンツ供給者１１１ａが、１回目のコンテンツ配信と２回目のコンテンツ配信とにおける受信グループの構成メンバーを変更することもできる。
【００５５】
このコンテンツ配信システムを使った典型的な運用シナリオは、以下のようになる。
（１）コンテンツ供給者１１１は、自らのウェブサイトを立ち上げ、利用者を募る。
（２）ネットワークにアクセスしたユーザは、コンテンツ供給者１１１のサイトに登録することにより、コンテンツ利用者１１２となる。登録を行うには、少なくとも自分の秘密鍵を生成し、これに対応する公開鍵をコンテンツ供給者１１１が管理するウェブサイトのメンバーリストに登録することが条件となる。
（３）コンテンツ供給者１１１は、メンバーリストに登録された公開鍵に基づいて、グループ暗号鍵を生成し、当該グループ鍵でコンテンツを暗号化してマルチキャストする。
（４）コンテンツ利用者１１２は、メンバーリストを参照しながら、他のグループメンバーと協力してコンテンツを復号し、利用する。
【００５６】
登録料が設定されている場合やサービスを有料で提供する場合、例えば、上記シナリオの（２）の段階で、これらの料金の支払いを登録条件に加えても良い。
なお、上記の運用シナリオでは、システムのメンバーとして登録されたコンテンツ利用者１１２の全てにコンテンツが配信されるが、上述したように、サーバのメンバーリストに登録されたコンテンツ利用者１１２の一部に対してのみコンテンツを配信することも可能である。例えば、支払われた料金に応じて、配信するコンテンツを変更（コンテンツ全部とサンプルなど）するような運用も可能である。
【００５７】
〔適用例２〕
本実施の形態は、受信グループのサイズ（受信者端末４２０の数）をｍとしたとき、１≦ｋ≦ｍで指定された閾値ｋの数のメンバーが集まらないと配信された情報を復号することができない。これを積極的に利用することにより、ネットワーク上で一定の人数の合議による議決を伝達するようなアプリケーションを提供することができる。
図１２は、第２の実施の形態による暗号手法を適用した合議システムの構成を示す図である。
図１２において、議題提供者１２１は、第２の実施の形態の発信者端末４１０に相当し、会議の参加者１２２は、受信者端末４２０に相当する。
【００５８】
図１２に示すようなシステムにおいて、閾値ｋを議決に必要な参加者１２２の数（例えば過半数）に設定して、議題を送信すると、ｋ人の参加者１２２がネットワーク上で集まらなければ、議題を読むことができない。一方、この議題に対して議決がなされた場合、当該議題を読むことができた、すなわちｋ人の参加者１２２が集まって議題を復号したことを意味している。したがって、当該議決はｋ人以上の参加者１２２による合議の結果であり、有効なものとみなすことができる。
【００５９】
この合議システムを使った典型的な運用シナリオは、以下のようになる。
（１）議題提供者１２１は、まず、参加者１２２宛のグループ鍵を作り、閾値ｋを議決定数に設定し、配信情報である議題をグループ鍵で暗号化してマルチキャストする。
（２）閾値ｋ以上の参加者１２２が共同して、配信された議題を復号し、当該議題について合議を行う。
（３）議題に対する返答（議決）が議題提供者１２１に返送される。これは、ｋ人以上の参加者１２２による合議の結果であることを意味する。
なお、本適用例では、議題提供者１２１が議決を受け取ることとしたが、議題提供者１２１とは別に議決を取得する議決取得者を設け、参加者１２２による議決を当該議決取得者に送信することもできる。
【００６０】
〔適用例３〕
本実施の形態は、単独の受信者端末４２０では暗号化された配信情報を復号することができない。これを利用して、課金やアクセス回数のカウント（メータリング）を行うシステムを提供することができる。
図１３は、第２の実施の形態による暗号手法を適用したメータリングシステムの構成を示す図である。
図１３において、コンテンツ提供者１３１は、第２の実施の形態の発信者端末４１０に相当し、コンテンツ利用者１３２は、受信者端末４２０に相当する。また、メータリングサーバ１３３は、受信者端末４２０と共同で暗号化されたコンテンツを復号するために設けられた、受信者として振る舞うサーバである。
【００６１】
図１３に示すようなシステムにおいて、例えば、受信グループのサイズ（受信者端末４２０の数）を２とし、受信者の一方をコンテンツ利用者１３２、もう一方をメータリングサーバ１３３とする。そして、閾値を２として暗号化された情報を配信すると、コンテンツ利用者１３２は、配信情報を復号するために、メータリングサーバ１３３にコンタクトしてセッション鍵の復元に必要な情報を取得することが必須となる。したがって、コンテンツ利用者１３２がメータリングサーバ１３３にアクセスした際に、課金やアクセス回数のカウントといった処理を行うことができる。
【００６２】
このメータリングシステムを課金システムとして用いた場合の典型的な運用シナリオは、以下のようになる。
（１）コンテンツ提供者１３１は、コンテンツ利用者１３２（１人）とメータリングサーバ１３３の公開鍵からグループ鍵を作り、このグループ鍵でコンテンツを暗号化し、コンテンツ利用者１３２に送付する。
（２）コンテンツ利用者１３２は、メータリングサーバ１３３にアクセスし、その協力によってコンテンツを復号し取得する。ここで、コンテンツ利用者１３２がメータリングサーバ１３３にアクセスした際に、課金処理が行われる。
【００６３】
〔適用例４〕
本実施の形態は、暗号化された情報を復号するために複数の受信者端末４２０が協力しなければならない。これを利用して、情報の秘密分散を実現することができる。
図１４は、第２の実施の形態による暗号手法を適用した秘密分散システムの構成を示す図である。
図１４において、秘密保持者１４１は、第２の実施の形態の発信者端末４１０に相当し、秘密分散対象者（図では対象者と表記）１４２は、受信者端末４２０に相当する。
【００６４】
図１４に示すようなシステムにおいて、暗号化情報を配信された受信グループの秘密分散対象者１４２は、当該暗号化情報の秘密を分散保管しているということになる。すなわち、受信グループに属する秘密分散対象者１４２のうち、閾値ｋに相当する数の秘密分散対象者１４２が集まることによって当該情報の秘密が解除されることとなる。
【００６５】
この秘密分散システムを使った典型的なシナリオは、以下のようになる。
（１）秘密保持者１４１は、秘密分散対象者１４２の公開鍵からグループ鍵を作り、このグループ鍵で秘密情報を暗号化し配信する。このとき、閾値ｋを秘密解除に必要な最低人数として設定する。
（２）配信された情報の秘密を解除する必要が生じたときは、ｋ人の分散値保持者が集まることによって、秘密を解除し、情報を取得することができる。
【００６６】
〔適用例５〕
本実施の形態は、複数の受信者端末４２０が協力することによって、各受信者端末４２０が暗号化された情報を取得することが可能となる。これを利用して、複数のユーザが組となることを条件に、ネットワーク上で提供されるサービスやイベントへの参加権利を付与するシステムを実現することができる。
例えば、ネットワークゲームにおいて、ｋ人の参加者からなる組（パーティ）を単位として参加できるイベントを設定しておき、ゲームサイト（第２の実施の形態の発信者端末４１０に相当）は、ゲーム参加者（第２の実施の形態の受信者端末４２０に相当）に対し、ｋ人が協力することによってイベントへの参加権利となる情報を復元できるようなアイテムを配信する。ここで、当該アイテムは、ゲーム参加者の公開鍵から生成されたグループ鍵により暗号化されている。ゲーム参加者は、取得したアイテムに基づき、ｋ人の組を作って情報を復元し、イベントへの参加権利を取得して当該イベントに参加する。
【００６７】
【発明の効果】
以上説明したように、本発明によれば、受信グループとして選択されたサブセットに属する端末装置が協力することにより復号できるような暗号化方法及びその復号方法を提供することができる。
また、本発明によれば、この暗号化方法及び復号方法を用いて、安全なマルチキャストによるデータ配信を実現することができる。
【図面の簡単な説明】
【図１】  第１の実施の形態における発信者、受信者及びディーラの関係を説明する図である。
【図２】  第１の実施の形態を実現する情報配信システムのシステム構成を示す図である。
【図３】  第１の実施の形態の情報配信システムにおける情報配信の手順を説明する図である。
【図４】  第２の実施の形態を実現する情報配信システムのシステム構成を示す図である。
【図５】  第２の実施の形態における発信者端末及び受信者端末の機能構成を示す図である。
【図６】  第２の実施の形態の情報配信システムにおける情報配信の手順を説明する図である。
【図７】  第２の実施の形態における鍵生成部による秘密鍵及び公開鍵の生成手順を説明するフローチャートである。
【図８】  第２の実施の形態における発信者端末のグループ公開鍵生成部によるグループ公開鍵の生成方法を説明するフローチャートである。
【図９】  第２の実施の形態における配信情報の暗号化の手順を説明するフローチャートである。
【図１０】  第２の実施の形態における受信情報の復号手順を説明するフローチャートである。
【図１１】  第２の実施の形態による暗号手法を適用したコンテンツ配信システムの構成を示す図である。
【図１２】  第２の実施の形態による暗号手法を適用した合議システムの構成を示す図である。
【図１３】  第２の実施の形態による暗号手法を適用したメータリングシステムの構成を示す図である。
【図１４】  第２の実施形態による暗号手法を適用した秘密分散システムの構成を示す図である。
【符号の説明】
２１０、４１０…発信者端末、２１１…データ記憶部、２１２…グループ鍵要求部、２１３…暗号化部、２２０、４２０…受信者端末、２２１…復号部、２２２…データ記憶部、２３０…ディーラ、２３１…鍵生成部、４１１…データ記憶部、４１２…公開鍵データベース、４１３…グループ公開鍵生成部、４１４…暗号化部、４２１…鍵生成部、４２２…復号部、４２３…データ記憶部
【図１】
0003864247.tif 000007
【図２】
0003864247.tif 000008
【図３】
0003864247.tif 000009
【図４】
0003864247.tif 000010
【図５】
0003864247.tif 000011
【図６】
0003864247.tif 000012
【図７】
0003864247.tif 000013
【図８】
0003864247.tif 000014
【図９】
0003864247.tif 000015
【図１０】
0003864247.tif 000016
【図１１】
0003864247.tif 000017
【図１２】
0003864247.tif 000018
【図１３】
0003864247.tif 000019
【図１４】
0003864247.tif 000020