(57)【要約】【課題】マルチキャストグループに参加する受信端末をサブグループに分けし、受信端末の離脱があったサブグループのみに対してリキーする。【解決手段】ＩＰネットワークを介して接続されたマルチキャストサーバ４００、受信端末１０の間に、暗号化鍵を用いて暗号化マルチキャスト通信を行なうシードノード２００および、受信端末を適当なサブグループに分割し、マルチキャストサーバがデータ配信の際に使用する暗号化鍵は１つに対し、復号化鍵は分割したサブグループの数だけある暗号化方法を有する暗号化鍵管理システムを提供する。【選択図】図１
2010161548.tif 000002
【特許請求の範囲】
【請求項１】
データを配信する配信サーバと、この配信サーバからのデータを暗号化して複数の受信端末に送信するノードと、このノードに接続されて前記ノードの暗号化鍵と複数の前記受信端末の復号化鍵とを管理する鍵管理装置とからなるデータ配信システムにおいて、
前記鍵管理装置は、前記受信端末を複数のサブグループのいずれかに割り付け、前記復号化鍵を前記サブグループ毎に割り当て、第１の受信端末からの離脱通知を受信したとき、前記暗号化鍵と前記第１の受信端末の所属する第１のサブグループの復号化鍵とを変更して、前記ノードと前記第１のサブグループの残りの受信端末に送信することを特徴とするデータ配信システム。
【請求項２】
データを配信する配信サーバと、この配信サーバからのデータを暗号化して複数の受信端末に送信するノードとに接続され、前記ノードの暗号化鍵と複数の前記受信端末の復号化鍵とを管理する鍵管理装置において、
前記受信端末を複数のサブグループのいずれかに割り付け、
前記復号化鍵を前記サブグループ毎に割り当て、
第１の受信端末からの離脱通知を受信したとき、前記暗号化鍵と前記第１の受信端末の所属する第１のサブグループの復号化鍵とを変更して、前記ノードと前記第１のサブグループの残りの受信端末に送信することを特徴とする鍵管理装置。
【請求項３】
請求項２に記載の鍵管理装置であって、
前記データ量がＭのとき、このＭより大きい素数であるＫ１およびＫ２を前記サブグループのいずれかに復号化鍵として割り当て、
前記Ｋ１と前記Ｋ２との積を含む暗号化鍵を前記ノードに割り当てることを特徴とする鍵管理装置。
【請求項４】
請求項３に記載の鍵管理装置であって、
前記受信端末に、前記Ｋ１または前記Ｋ２と、第２の復号化鍵とを送信することを特徴とする鍵管理装置。
【請求項５】
データを配信する配信サーバと、この配信サーバからのデータを暗号化して複数の受信端末に送信するノードと、このノードに接続されて前記ノードの暗号化鍵と複数の前記受信端末の復号化鍵とを管理する鍵管理装置とからなるデータ配信システムの鍵管理方法において、
前記受信端末を複数のサブグループのいずれかに割り付けるステップと、
前記復号化鍵を前記サブグループ毎に割り当てるステップと、
第１の受信端末からの離脱通知を受信したとき、前記暗号化鍵を変更するステップと、
前記第１の受信端末の所属する第１のサブグループの復号化鍵とを変更するステップと、
変更された暗号化鍵を前記ノードに送信するステップと、からなる鍵管理方法。
【請求項６】
請求項５に記載の鍵管理方法であって、
さらに、変更された復号化鍵を前記第１のサブグループの残りの受信端末に送信するステップを含む鍵管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ配信システム、鍵管理装置および鍵管理方法に係り、特に、マルチキャスト通信を効率的に実施するデータ配信システム、鍵管理装置および鍵管理方法に関する。
【背景技術】
【０００２】
ネットワークに接続された端末間で同一の情報を共有する手段としてマルチキャストがある。マルチキャスト通信では情報を共有する端末がグループを構成し、グループ内では同報通信により同一の情報を共有することができる。マルチキャスト通信における情報をグループ外の端末に対して秘匿するためには情報を暗号化することが有効である。すなわち、マルチキャスト通信の送信者は、情報を暗号化鍵を用いて暗号化する。マルチキャスト通信の受信者は復号化鍵を用いて受け取った情報を復号化する。暗号化鍵・復号化鍵は、マルチキャストグループ内でのみ共有され、グループ外の端末からは秘匿されていなければならない。
【０００３】
このような暗号化マルチキャスト通信において、グループに属する端末がグループから離脱する場合、少なくとも復号化鍵は変更する必要がある。なぜならば、もし復号化鍵を変更しなかったならば、離脱した端末がひそかに情報を傍受していた場合、これを復号化できてしまう。すなわち、グループに属する端末だけが情報を共有するというマルチキャスト通信の属性を満たすことができなくなる。ここで、マルチキャストサーバが配下に存在する多数のマルチキャストクライアント端末に対してマルチキャスト通信を用いて有料の情報配信を行っている場合を考える。この場合、離脱した端末は、課金されることなく不当に情報を傍受できてしまう。
【０００４】
従来のマルチキャスト通信は、マルチキャストグループにいる受信端末に離脱があった場合、マルチキャストグループ内に残った受信端末全員にリキーしなければならなかった。ここで、リキーとは鍵を再発行することである。マルチキャストグループの規模の増大により、リキーのトラフィックが問題となる。
【０００５】
特許文献１に記載された鍵管理システムは、マルチキャストグループをいくつかのサブグループに分け、各サブグループに代表受信端末を設ける。代表受信端末は、マルチキャストサーバおよび自サブグループ内の受信端末との通信を行なう。復号化鍵の配送について、マルチキャストサーバは、代表受信端末にのみ行なう。さらに、各代表受信端末は、サブグループ内の受信端末に復号鍵を配送する。
【０００６】
【特許文献１】特開２００６−２４５６６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら特許文献１のマルチキャスト通信鍵管理システムでは、鍵更新のトラフィックが低減できるとはいえ、マルチキャストグループにある多数の受信端末から１台でも離脱があった場合、マルチキャストグループに残った受信端末全部に対してリキーしなければならない。しかも代表端末の配下に格納できる受信端末数には制限があった。
【０００８】
本発明は、代表端末を設けなくても自由にサブグループを作ることができ、かつ離脱があったサブグループのみに対してリキーすることを目的とする。
【０００９】
また本発明はマルチキャスト受信端末の位置に依存しない自由なサブグループの作り方を可能にする方法を提供する。
【課題を解決するための手段】
【００１０】
上述した課題は、データを配信する配信サーバと、この配信サーバからのデータを暗号化して複数の受信端末に送信するノードと、このノードに接続されてノードの暗号化鍵と複数の受信端末の復号化鍵とを管理する鍵管理装置とからなり、鍵管理装置は、受信端末を複数のサブグループのいずれかに割り付け、復号化鍵をサブグループ毎に割り当て、第１の受信端末からの離脱通知を受信したとき、暗号化鍵と第１の受信端末の所属する第１のサブグループの復号化鍵とを変更して、ノードと第１のサブグループの残りの受信端末に送信するデータ配信システムにより、達成できる。
【００１１】
また、データを配信する配信サーバと、この配信サーバからのデータを暗号化して複数の受信端末に送信するノードとに接続され、ノードの暗号化鍵と複数の受信端末の復号化鍵とを管理し、受信端末を複数のサブグループのいずれかに割り付け、復号化鍵をサブグループ毎に割り当て、第１の受信端末からの離脱通知を受信したとき、暗号化鍵と第１の受信端末の所属する第１のサブグループの復号化鍵とを変更して、ノードと第１のサブグループの残りの受信端末に送信する鍵管理装置により、達成できる。
【００１２】
さらに、受信端末を複数のサブグループのいずれかに割り付けるステップと、復号化鍵をサブグループ毎に割り当てるステップと、第１の受信端末からの離脱通知を受信したとき、暗号化鍵を変更するステップと、第１の受信端末の所属する第１のサブグループの復号化鍵とを変更するステップと、変更された暗号化鍵をノードに送信するステップと、からなる鍵管理方法により、達成できる。
【００１３】
暗号化鍵管理装置は、マルチキャストグループに属する受信端末を、サブグループに分けるサブグループ決定部と、グループ毎の暗号化鍵とグループ毎に対応するサブグループ用の復号化鍵を管理する鍵管理部と、復号化鍵の生成、更新および暗号化鍵の変更を行なう鍵生成部と、サブグループ決定方法によって決定されたグループ情報、鍵管理部の鍵情報を対応付けし管理するテーブル管理部と、メッセージの受信および鍵配布する情報送受信部からなる構成を有する。
【００１４】
暗号化鍵管理方法において、シードノードには、マルチキャストの配信データを暗号する暗号化部と、マルチキャストグループと暗号化鍵を対応付けして管理する暗号化鍵管理部と、暗号化した配信データの配布およびマルチキャストグループへの参加・離脱などのメッセージを受信する情報送受信部からなる構成を有する。
【００１５】
受信端末は、マルチキャストグループおよびマルチキャストグループ内のサブグループに分けられる。マルチキャストグループは、ＩＰアドレスで識別・管理される。このＩＰアドレスが、マルチキャストアドレスである。２３９．０．０．１をあて先とするマルチキャストは、マルチキャストグループ２３９．０．０．１として扱われる。
【００１６】
暗号化方法において、暗号化するための暗号化鍵および暗号化したデータを復号化するための復号化鍵の生成、更新は鍵管理装置の鍵生成部によって行なう。サブグループの個数がｎ個ある場合で考える。マルチキャストサーバが配信しようとしているデータをＭとおく。Ｍを数値とみたとき、これよりも大きい素数Ｋ１，Ｋ２，…，Ｋｎをとる。なおデータが大きい場合、これを適当な大きさに分割した上で、分割後のデータの一つを改めてＭとして以下の処理を行ってもよい。暗号化鍵をＡ＝Ｋ１＊Ｋ２＊…＊Ｋｎ、サブグループ１の復号化鍵をＫ１、サブグループ２の復号化鍵をＫ２、‥サブグループｎの復号化鍵Ｋｎとする。復号化鍵はサブグループの数だけある。
【００１７】
暗号化は、暗号化文をＸとおくと、Ｘ＝Ｍ＋Ａで行なう。
復号化は暗号化文Ｘを復号化鍵で割った余りによって得られる。サブグループ１に属する受信端末の場合、
Ｘ（ｍｏｄ Ｋ１）＝Ｍ（ｍｏｄ Ｋ１）＋Ａ（ｍｏｄ Ｋ１）
＝Ｍ（ｍｏｄ Ｋ１）
＝Ｍ                                …（数１）
（数１）となって復号化できる。ここでｍｏｄは剰余を表す数学記号であり、ｍｏｄ Ｋ１はＫ１で割った剰余を表す。式の変形において、Ａ＝Ｋ１＊…＊Ｋｎなので、ＡをＫ１で割った剰余は０である。また、ＭはＫ１より小さいので、ＭをＫ１で割った剰余はＭ自身である。
【００１８】
サブグループ２のメンバが離脱した場合、サブグループ２の復号化鍵をＫ２’に変更し、暗号化鍵をＡ’＝Ｋ１＊Ｋ２’＊…＊Ｋｎとする。暗号化文Ｘ’は
Ｘ’＝Ｍ＋Ａ’
となる。復号化鍵については、新しいＫ２’は使えるが、古いＫ２は使えない。実際
Ｘ’（ｍｏｄ Ｋ２’）＝Ｍ（ｍｏｄ Ｋ２’）＋Ａ’（ｍｏｄ Ｋ２’）
＝Ｍ（ｍｏｄ Ｋ２’）  
＝Ｍ                            …（数２）
また
Ｘ’（ｍｏｄ Ｋ２）＝Ｍ（ｍｏｄ Ｋ２）＋Ａ’（ｍｏｄ Ｋ２）
＝Ｍ＋Ａ’（ｍｏｄ Ｋ２）          …（数３）
≠Ｍ
式の変形において、Ａ’はＫ２では割り切れないので、復元できない。このようにして離脱した受信端末は古い復号化キーＫ２を用いて復号化することはできない。
【００１９】
しかも
Ｘ’（ｍｏｄ Ｋ１）＝Ｍ（ｍｏｄ Ｋ１）＋Ａ’（ｍｏｄ Ｋ１）
＝Ｍ（ｍｏｄ Ｋ１）
＝Ｍ                              …（数４）
となって、暗号化鍵がＡからＡ’に変わったにも関わらずサブグループ１はリキーの影響を受けない。
【００２０】
実用上はＸ＝Ｍ＋Ａだけでは暗号としては弱いので、Ａに関する定数項を持たない多項式（数５）を用いて、
ｆ（Ａ）＝ａｎ・Ａ＾ｎ＋ａｎ−１・Ａ＾（ｎ−１）＋…＋ａ１・Ａ  …（数５）
Ｘ＝Ｍ＋ｆ（Ａ）などするほうが暗号は強くなる。ここで係数ａｉ（ｉ＝１，２，…，ｎ−１，ｎ）は乱数で生成する。また暗号を強めるために既存のＤＥＳ（Data Encryption Standard，ＦＩＰＳ ４６）またはＡＥＳ（Advanced Encryption Standard，ＦＩＰＳ １９７）と組み合わせてもよい。つまり、暗号化文ＸをさらにＤＥＳまたはＡＥＳで暗号化してから配信する。なお、「＾」はべき乗を表す。Ａ＾ｎは、Ａｎである。
【発明の効果】
【００２１】
本発明によれば、変更のあるサブグループのみに対して鍵を更新することによって、鍵更新処理に必要な転送量を低減することができる。また、暗号化された同報通信メッセージのマルチキャストが効率的に行なえる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態について、実施例を用い図面を参照しながら詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
（実施例１）
図１ないし図１０を参照して、実施例１を説明する。ここで、図１はマルチキャストネットワークのハードウェアブロック図である。図２はシードノードと暗号化鍵管理装置の機能ブロック図である。図３は暗号鍵管理テーブルを説明する図である。図４は暗号鍵／復号鍵管理テーブルを説明する図である。図５は受信端末とマルチキャストノードとシードノードと暗号化鍵管理装置とマルチキャストサーバとの間のサブグループ新規生成のシーケンス図である。図６は受信端末とマルチキャストノードとシードノードと暗号化鍵管理装置とマルチキャストサーバとの間の受信端末新規参加のシーケンス図である。図７は暗号化鍵管理装置の受信端末新規参加のフローチャートである。図８は受信端末とマルチキャストノードとシードノードと暗号化鍵管理装置とマルチキャストサーバとの間の受信端末離脱のシーケンス図である。図９は受信端末とマルチキャストノードとシードノードと暗号化鍵管理装置とマルチキャストサーバとの間のサブグループ新規消滅のシーケンス図である。図１０は暗号化鍵管理装置の受信端末離脱のフローチャートである。
【００２３】
図１において、マルチキャストネットワーク１０００は、マルチキャストサーバ４００と、シードノード２００と、暗号化鍵管理装置１００と、４台のマルチキャストルータ３００と、複数の受信端末１０とから構成される。複数の受信端末１０は、集合Ｓ_｛１,Ｘ｝５１０、集合Ｓ_｛２,Ｙ｝５２０、…、集合Ｓ_｛ｎ,Ｚ｝５ｎ０のいずれかに含まれ、全体としてマルチキャストグループＧ,｛Ｎ｝５００を構成する。シードノード２００と、暗号化鍵管理装置１００と、４台のマルチキャストルータ３００とは、ＩＰネットワーク６００で接続されている。
【００２４】
マルチキャストサーバ４００は、受信端末１０にマルチキャストでデータを配信する。シードノード２００は、鍵管理装置１００と連携して、マルチキャストグループを管理する。鍵管理装置１００は、マルチキャストグループ内の暗号鍵／復号鍵を管理する。マルチキャストルータ３００は、複数の受信端末１０にマルチキャストでデータを配信する。
【００２５】
マルチキャストグループは、ツリーの幹をサブグループとするクラスタ、クラスタヘッドにグループ番号１からシーケンシャルに１ずつカウントアップした番号を、個々のクラスタメンバにメンバを特定できるように、メンバ番号１からシーケンシャルに１ずつカウントアップした番号を振り分ける。すなわち、マルチキャストグループＧ_｛Ｎ｝５００は、サブグループＳ_｛１，Ｘ｝５１０，Ｓ_｛２，Ｙ｝５２０，…，Ｓ_（ｎ，Ｚ）５ｎ０によって、Ｇ_｛Ｎ｝＝（Ｓ_｛１，Ｘ｝，Ｓ_｛２，Ｙ｝，…，Ｓ_（ｎ，Ｚ））と分割される。
【００２６】
図２を参照して、鍵管理装置、シードノードの概略構成を説明する。図２において、鍵管理装置１００は、シードノード２００とＩＰネットワーク６００により接続している。
【００２７】
鍵管理装置１００は、鍵管理部１１０、鍵生成部１２０、サブグループ決定部１３０、テーブル管理部１５０、情報送受信部１４０から構成される。またシードノード２００は、マルチキャストデータの暗号化部２１０、暗号化鍵管理部２３０、情報送受信部２２０から構成される。
【００２８】
鍵管理装置１００において、鍵管理部１１０は、マルチキャストグループのテーブル管理部１３０のマルチキャストグループ毎の暗号化鍵、グループ毎にグループ内の各サブグループ用復号化鍵の登録、更新および削除を行なう。鍵生成部１２０は、鍵管理部１１０の鍵情報変更、生成および更新要求を受けた際、鍵情報の変更、生成および更新を行なう。サブグループ決定部１３０は、サブグループの決定方法および、情報送受信部１４０よりを通して受信端末からのＩＧＭＰ（Internet Group Management Protocol）のｊｏｉｎおよびＩＧＭＰのｌｅａｖｅ要求を受けた時、サブグループ決定方法よりサブグループの作成、更新、消滅を行なう。テーブル管理部１５０は、サブグループ決定部１３０のグループ情報、鍵管理部１１０の鍵情報を対応付けして登録、更新、削除を行なう。情報送受信部１４０は、メッセージの受信および鍵配布を行なう。
【００２９】
シードノード２００において、暗号化部２１０は、情報送受信部２２０を介してマルチキャストサーバ４００から受信した配信データを暗号化鍵管理部２３０が持つ暗号化鍵を用いて暗号化する。暗号化鍵管理部２３０は、鍵管理装置１００から配布された暗号化鍵の登録、更新、削除を行なう。情報送受信部２２０は、受信端末１０からのメッセージの受信および暗号部２１０が暗号化した暗号化文の送信を行なう。
【００３０】
図３を参照して、暗号化鍵管理部が保持する暗号鍵テーブルを説明する。図３において、暗号鍵テーブル２４０は、グループ２４１、暗号鍵２４２とから構成される。暗号化鍵テーブル２４０は、グループ２４１、暗号鍵２４２とを対応付けるテーブルである。
【００３１】
図４を参照して、テーブル管理部が保持する暗号鍵／復号鍵管理テーブルを説明する。図４において、暗号鍵／復号鍵管理テーブル１６０は、グループ１６１、暗号鍵１６２、サブグループ１６３、復号鍵１６４とから構成される。暗号鍵／復号鍵管理テーブル１６０は、グループ１６１と暗号鍵１６２、サブグループ１６３と暗号鍵１６４を対応付けるテーブルである。
【００３２】
暗号化鍵の生成方法を、以下説明する。マルチキャストサーバ４００が配信するデータをＭとおく。なお、配信データのサイズが十分に大きい場合は、以下の処理を計算機上で処理できるだけの適当な大きさに区切ってもよい。
【００３３】
Ｍを数値と見做し、Ｍよりも大きい素数を取得する。取得する素数の数は、サブグループの数だけである。Ｎ個のサブグループがあったとき、それぞれ異なる素数Ｋ１，Ｋ２，…，Ｋｎを用意する。暗号化鍵Ａは、Ａ＝Ｋ１＊Ｋ２＊…＊Ｋｎとすると、素数Ｋ１，Ｋ２，…，Ｋｎは、復号化鍵である。暗号化鍵Ａに関する定数項を持たない多項式（数６）を用いて、暗号化文Ｘを（数７）で作成する。
【００３４】
ｆ（Ａ）＝ａｎ・Ａ＾ｎ＋ａｎ−１・Ａ＾（ｎ−１）＋…＋ａ１・Ａ  …（数６）
Ｘ＝Ｍ＋ｆ（Ａ）                                                …（数７）
ここで係数ａｉ（ｉ＝１，２，…,ｎ−１，ｎ）は乱数で生成する。乱数生成は、情報送信のたびに行なってもよい。
【００３５】
受信端末１０は、暗号情報を受信し、自分が属するサブグループの復号化鍵を用いて復号化する。復号化は、暗号化文Ｘを復号化鍵で割った余りによって得られる。サブグループ１に属する受信端末１０で、復号化鍵Ｋ１の場合、（数８）を演算する。
【００３６】
Ｘ（ｍｏｄ Ｋ１）
＝Ｍ（ｍｏｄ Ｋ１）＋ｆ（Ａ）（ｍｏｄ Ｋ１）
＝Ｍ（ｍｏｄ Ｋ１）＋ａｎ・Ａ＾ｎ（ｍｏｄ Ｋ１）＋ａｎ−１・Ａ＾（ｎ−１）（ｍｏｄ Ｋ１）＋…＋ａ１・Ａ（ｍｏｄ Ｋ１）
＝Ｍ（ｍｏｄ Ｋ１）
＝Ｍ                                                              …（数８）
ここで、Ａ＝Ｋ１＊Ｋ２＊…＊Ｋｎなので、ｆ（Ａ）をＫ１で割った余りは０である。Ｋ１はＭよりも大きい素数なので、ＭをＫ１で割った余りはＭ自身となる。したがって、暗号化文Ｘから元のデータＭを復号化できる。
【００３７】
図５を参照して、受信端末の新規参加によるサブグループの新規作成／暗号化文配信処理を、説明する。図５において、マルチキャストグループに新規参加したい受信端末１０は、マルチキャストルータ３００に対してＩＧＭＰ ｊｏｉｎ要求を送信する（Ｓ１１）。マルチキャストルータ３００は、そのメッセージを受けて鍵管理装置１００に対して受信端末１０のＩＧＭＰ ｊｏｉｎ要求通知を送信する（Ｓ１２）。鍵管理装置１００は、受信端末１０が既存のサブグループに属するかどうかをチェックする。受信端末１０がサブグループにも属さない場合、鍵管理装置１００は、新規サブグループを生成する。鍵管理装置１００は、生成したサブグループの復号化鍵を作成する（Ｓ１３）。鍵管理装置１００は、暗号化鍵を変更して、シードノード２００に対して変更した暗号化鍵を配布する（Ｓ１４）。鍵管理装置１００は、新規生成したサブグループにいる受信端末に対して復号化鍵を配布する（Ｓ１６）。
【００３８】
マルチキャストサーバ４００は、シードノード２００に対してデータを配信する（Ｓ１７）。シードノード２００は、変更した暗号化鍵を用いて、マルチキャストサーバ４００から受け取った配信データを暗号化する（Ｓ１８）。シードノード２００は、マルチキャストグループにいる受信端末１０に対して暗号化文を配信する（Ｓ１９）。受信端末１０は、ステップ１６で配布された復号化鍵を用いて、暗号化文を復号化してデータを受け取る（Ｓ２１）。
【００３９】
ステップ１３において、ｎ個のサブグループは、受信端末１０の新規参加によりｎ＋１個になる。ｎ＋１個目のサブグループの復号化鍵は、Ｍよりも大きい素数Ｋｎ＋１を取る。ここでＫｎ＋１は、Ｋ１，Ｋ２，…，Ｋｎとは異なる素数とする。暗号化鍵Ａは、Ａ’＝Ｋ１＊Ｋ２＊…＊Ｋｎ＊Ｋｎ＋１に変更する。復号化鍵は、個々のサブグループについて素数Ｋ１，Ｋ２，…，Ｋｎ，Ｋｎ＋１とする。Ａ’に関する定数項を持たない多項式（数９）を用いて、暗号化文Ｘ’を（数１０）より求める。
【００４０】
ｆ（Ａ’）＝ａｎ＋１・Ａ’＾（ｎ＋１）＋ａｎ・Ａ’＾ｎ＋ａｎ−１・Ａ’＾（ｎ−１）＋…＋ａ１・Ａ’                                    …（数９）
Ｘ’＝Ｍ＋ｆ（Ａ’）                                  …（数１０）
ここで係数ａｉ（ｉ＝１，２，…，ｎ−１，ｎ，ｎ＋１）は、乱数で生成する。
【００４１】
暗号文を復号化は、暗号化文Ｘ’を復号化鍵で割った余りによって得られる。新規参加した受信端末は、自分が属するサブグループの復号化鍵Ｋｎ＋１を用いて、（数１１）で復号化する。
【００４２】
Ｘ’（ｍｏｄ Ｋｎ＋１）
＝Ｍ（ｍｏｄ Ｋｎ＋１）＋ｆ（Ａ’）（ｍｏｄ Ｋｎ＋１）
＝Ｍ（ｍｏｄ Ｋｎ＋１）＋ａｎ＋１・Ａ’＾（ｎ＋１）（ｍｏｄ Ｋｎ＋１）＋ａｎ・Ａ’＾ｎ（ｍｏｄ Ｋｎ＋１）＋…＋ａ１・Ａ’（ｍｏｄ Ｋｎ＋１）
＝Ｍ（ｍｏｄ Ｋｎ＋１）
＝Ｍ                                                    …（数１１）
既存のサブグループはそれぞれの復号化鍵Ｋ１、Ｋ２…Ｋｎを変更することなく、同じようにして暗号化文を復号化することができる。
【００４３】
なお、ステップ１６において、シードノード２００から受信端末１０に対して、ＩＫＥ（Internet Key Exchange protocol，ＲＦＣ２４０９）を用いて鍵の配布を行なうことによりセキュリティを向上させることができる。
【００４４】
図６を参照して、受信端末の新規参加によるサブグループ新規生成がない場合の、暗号化鍵処理シーケンスを説明する。図６において、マルチキャストグループに新規参加したい受信端末１０は、マルチキャストルータ３００に対してＩＧＭＰ ｊｏｉｎ要求を送信する（Ｓ２６）。マルチキャストルータ３００は、そのメッセージを受けて鍵管理装置１００に対して受信端末のＩＧＭＰ ｊｏｉｎ要求通知を送信する（Ｓ２７）。鍵管理装置１００は、受信端末のＩＧＭＰ ｊｏｉｎ要求通知を受信したとき、どれか既存のサブグループに属するかどうかをチェックする（Ｓ２８）。既存のサブグループに属する場合、鍵管理装置１００は、属するサブグループ用の復号化鍵を新規参加する受信端末１０に対して配布する（Ｓ２９）。
【００４５】
なお、ステップ３１〜ステップ３４は、図５のステップ１７〜ステップ２１と同じなので、説明を省く。
鍵管理装置１００は、暗号化鍵、復号化鍵を変更することなく、新規参加する受信端末１０がシードノードから受け取った暗号化文を復号化することができる。
【００４６】
図７を参照して、受信端末が新規参加する時の鍵管理装置の動作を説明する。図７において、鍵管理装置１００は、新規参加する受信端末のＩＧＭＰ ｊｏｉｎ要求通知を受信する（Ｓ５０１）。鍵管理装置１００は、新規参加する受信端末１０が既存のグループに属するかどうかをチェックする（Ｓ５０２）。受信端末１０がどの既存のサブグループにも属さない場合（Ｓ５０２：ＮＯ）、鍵管理装置１００は、新規サブグループを作成する（Ｓ５０４）。鍵管理装置１００は、新規サブグループ用の復号化鍵を生成し（Ｓ５０５）、鍵管理装置１００は、暗号化鍵を変更する（Ｓ５０６）。鍵管理装置１００は、シードノードに対して変更した暗号化鍵を配布する（Ｓ５０７）。鍵管理装置１００は、新規参加する受信端末に対して生成した復号化鍵を配布して（Ｓ５０８）、終了する。
【００４７】
ステップ５０２で受信端末１０がどれか既存のサブグループに属する場合（ＹＥＳ）、鍵管理装置１００は、新規参加する受信端末に対して属するサブグループ用の復号化鍵を配布して（Ｓ５０３）、終了する。
【００４８】
図８を参照して、受信端末が離脱したサブグループに対する暗号化鍵処理を説明する。図８において、マルチキャストサーバ４００は、シードノード２００に対して配信データを送信する（Ｓ３1)。シードノード２００は、受信した配信データについて暗号鍵Ａを用いて暗号化する（Ｓ３２）。シードノード２００は、暗号化文を受信端末１０−２、受信端末１０−１に送信する（Ｓ３３、Ｓ３４）。暗号化文を受信端末１０−２、受信端末１０−１は、それぞれ受信した暗号化文を復号鍵Ｋ１を用いて復号化し、配信データを受け取る（Ｓ３６、Ｓ３７）。
【００４９】
ここで、受信端末１０−１がマルチキャストグループから離脱するとしよう。離脱する受信端末１０−１は、マルチキャストルータ３００に対してＩＧＭＰ  ｌｅａｖｅ通知を送信する（Ｓ３８）、マルチキャストルータ３００は、そのメッセージを受けて鍵管理装置１００に対して受信端末のＩＧＭＰ  ｌｅａｖｅ通知を送信する（Ｓ３９）。鍵管理装置１００は、受信端末の離脱通知を受信し、離脱するサブグループ５１０に残りの受信端末あるかどうかをチェックする。ここでは離脱するサブグループ５１０に残りの受信端末があるので、離脱するサブグループのみに対して復号化鍵を更新し、暗号化鍵を変更する（Ｓ４１）。鍵管理装置１００は、シードノード２００に対して、変更した暗号化鍵を配布する（Ｓ４２）。鍵管理装置１００は、離脱があったサブグループの残った受信端末１０−２に対して、更新した復号化鍵を配布する（Ｓ４３）。
【００５０】
マルチキャストサーバ４００は、シードノード２００に配信データを送信する（Ｓ４６）。シードノード２００は、変更された暗号化鍵（Ａ”）を用いて、マルチキャストサーバ４００から受け取った配信データを暗号化する（Ｓ４７）。シードノード２００は、暗号化した暗号化文をマルチキャストグループの受信端末１０−２に対して暗号化文を配信する（Ｓ４８）。ここでは、仮に離脱したサブグループに残った受信端末１０−１も配信データを受信したとする（Ｓ４９）。受信端末１０−２は、更新した復号化鍵を使って暗号化文を復号化する（Ｓ５１）。しかし、離脱した受信端末１０−１は、更新した復号化鍵を持ってないため、暗号化文を復号化できない（Ｓ５２）。
【００５１】
ｎ個のサブグループがあった場合、サブグループ１に属する受信端末１０の離脱によって、鍵管理装置１００がグループ１の復号化鍵Ｋ１について、Ｋ１，Ｋ２，…,Ｋｎとは異なる素数Ｋ１”に変更する。暗号化鍵は、Ａ＝Ｋ１＊Ｋ２＊…＊ＫｎからＡ”＝Ｋ１”＊Ｋ２＊…＊Ｋｎに変更する。復号化鍵は、個々のサブグループが取った素数Ｋ１”，Ｋ２，…，Ｋｎとする。Ａ”に関する定数項を持たない多項式（数１２）を用いて、暗号化文Ｘ”を（数１３）より求める。
【００５２】
ｆ（Ａ”）＝ａｎ・Ａ”＾ｎ＋…＋ａ１・Ａ”                …（数１２）
Ｘ”＝Ｍ＋ｆ（Ａ”）                                      …（数１３）
ここで係数ａｉ（ｉ＝１，２…ｎ−１，ｎ）は、乱数で生成する。
暗号文の復号化は、暗号化文Ｘ”を復号化鍵で割った余りによって得られる。離脱があったサブグループ１に残った受信端末１０−２は、復号化鍵Ｋ１”を用いて復号化すると、（数１４）となる。
【００５３】
Ｘ”（ｍｏｄ Ｋ１”）
＝Ｍ（ｍｏｄ Ｋ１”）＋ｆ（Ａ”）（ｍｏｄ Ｋ１”）
＝Ｍ（ｍｏｄ Ｋ１”）＋ａｎ・Ａ”＾ｎ（ｍｏｄ Ｋ１”）＋…＋ａ１・Ａ”（ｍｏｄ Ｋ１”）
＝Ｍ（ｍｏｄ Ｋ１”）
＝Ｍ                                                        …（数１４）
他の変更がないサブグループはそれぞれの復号化鍵Ｋ２…Ｋｎを変更することなく、同じようにして暗号化文を復号化することができる。
【００５４】
しかし、サブグループ１を離脱した受信端末１０−１は、復号化鍵Ｋ１しか持ってないため、暗号化文を復号化しようとすると、（数１５）となる。
【００５５】
Ｘ”（ｍｏｄ Ｋ１）
＝Ｍ（ｍｏｄ Ｋ１）＋ｆ（Ａ”）（ｍｏｄ Ｋ１）
＝Ｍ（ｍｏｄ Ｋ１）＋ａｎ・Ａ”＾ｎ（ｍｏｄ Ｋ１）＋…＋ａ１・Ａ”（ｍｏｄ Ｋ１）
＝Ｍ＋ａｎ・Ａ”＾ｎ（ｍｏｄ Ｋ１）＋ａｎ−１・Ａ”＾（ｎ−１）（ｍｏｄ Ｋ１）＋…＋ａ１・Ａ”（ｍｏｄ Ｋ１）                                …（数１５）
≠Ｍ
ここで、Ａ”＝Ｋ１”＊Ｋ２＊…＊Ｋｎなので、ｆ（Ａ”）をＫ１で割り切ることはできないため、（数１５）は、Ｍとならず復号化できない。
【００５６】
図９を参照して、受信端末の離脱によるサブグループ消滅に対する暗号化鍵処理シーケンスを説明する。図９において、離脱する受信端末１０は、マルチキャストルータ３００に対してＩＧＭＰ  ｌｅａｖｅ通知を送信する（Ｓ６１）。マルチキャストルータ３００は、そのメッセージを受けて鍵管理装置１００に対して受信端末のＩＧＭＰ  ｌｅａｖｅ通知を送信する（Ｓ６２）。鍵管理装置１００は、受信端末１０の離脱通知を受信し、離脱したサブグループに残りの受信端末があるかどうかをチェックする。ここでは、残った受信端末がないので、鍵管理装置１００は、該当サブグループを消滅し、暗号化鍵を変更する（Ｓ６３）。鍵管理装置１００は、ノードシード２００に対して変更した暗号化鍵を配布する（Ｓ６４）。
【００５７】
ｎ個のサブグループがあった場合、サブグループ１に属する受信端末の離脱によって、サブグループ１にいる受信端末がなくなったとき、サブグループの数はｎ−１個になる。サブグループ１の復号化鍵はＫ１であるとすると、暗号化鍵はＡ＝Ｋ１＊Ｋ２＊…＊ＫｎはＡ'''＝Ｋ２＊…＊Ｋｎに変更する。残ったｎ−１個のサブグループの復号化鍵は、それぞれ持っている復号化鍵Ｋ２、…、Ｋｎのままである。Ａ'''に関する定数項を持たない多項式（数１６）を用いて、暗号化文Ｘ'''を（数１７）より求める。
【００５８】
ｆ（Ａ'''）＝ａｎ−１・Ａ'''＾（ｎ−１）＋…＋ａ１・Ａ'''  …（数１６）
Ｘ'''＝Ｍ＋ｆ（Ａ'''）                                     …（数１７）
図１０を参照して、受信端末が離脱するときの鍵管理装置の処理を説明する。図１０において、鍵管理装置１００は、受信端末からのＩＧＭＰ  ｌｅａｖｅ通知を受信する（Ｓ８０１）。鍵管理装置１００は、離脱したサブグループに残った受信端末があるかどうかをチェックする（Ｓ８０２）。離脱したサブグループに残った受信端末がある場合（ＹＥＳ）、鍵管理装置１００は、離脱したサブグループ用の復号化鍵を更新する（Ｓ８０３）。鍵管理装置１００は、暗号化鍵を変更する（Ｓ８０４）。鍵管理装置１００は、シードノード２００に対して変更した暗号化鍵を配布する（Ｓ８０５）。鍵管理装置１００は、離脱したサブグループに残った受信端末に対して更新した復号化鍵を配布して（Ｓ８０６）、終了する。
【００５９】
ステップ８０２で離脱したサブグループに残った受信端末がない場合（ＮＯ）、鍵管理装置１００は、離脱したサブグループを消滅させる（Ｓ８０７）。鍵管理装置１００は、暗号化鍵を変更する（Ｓ８０８）。鍵管理装置１００は、シードノード２００に対して変更した暗号化鍵を配布して（Ｓ８０９）、終了する。
【００６０】
なお、本実施例においてシードノードの機能をマルチキャストサーバ内に組込むことが可能である。こうすればシードノードを設けなくても済む。同様に、鍵管理装置の機能もマルチキャストサーバ内に組込むことも可能である。
【００６１】
本実施例によれば、変更のあるサブグループのみに対して鍵を更新することによって、鍵更新処理に必要な転送量を低減することができる。さらに、暗号化された同報通信メッセージのマルチキャストが効率的に行なえる。
（実施例２）
実施例２について、図１１を参照して説明する。ここで、図１１はマルチキャストネットワークのハードウェアブロック図である。
【００６２】
図１１において、マルチキャストネットワーク１０００Ａは、マルチキャストサーバ４００、シードノード２００、鍵管理装置１００、マルチキャストルータ３００、受信端末１０で構成される。実施例２の構成は第１実施例と同じである。
【００６３】
実施例２はサブグループの決定手段に特徴がある。サブグループの決定方法として、マルチキャストグループをｎ個のサブグループに分割する場合、マルチキャストグループに参加する受信端末をランダム的にｎ個のサブグループに振り分ける方法と、順番的にｎ個のサブグループに振り分ける方法が可能である。また別の方法として、１個のサブグループに格納できる最大受信端末数を設定した場合、サブグループが最大受信端末数を超えた時、新たなサブグループを生成してマルチキャストグループに参加する受信端末を格納する方法が可能である。
【００６４】
図１１は、マルチキャストグループ５００に参加する受信端末１０を順番的にｎ個のサブグループに振り分ける方法を示している。図１１において、マルチキャストルータ３００−１は、受信端末１０−１−１と受信端末１０−１−２とを収容する。マルチキャストルータ３００−２は、受信端末１０−２−１と受信端末１０−２−２と受信端末１０−２−３とを収容する。マルチキャストルータ３００−３は、受信端末１０−３−１と受信端末１０−３−２と受信端末１０−３−３とを収容する。
【００６５】
サブグループＳ_｛１，Ｘ｝５１０は、マルチキャストルータ３００−１、３００−３、３００−４に最初に登録された受信端末１０−１−１と、受信端末１０−２−１と、受信端末１０−ｎ−１とで構成する。Ｓ_｛２，Ｙ｝５２０は、マルチキャストルータ３００−１、３００−３、３００−４に２番目に登録された受信端末１０−１−２と、受信端末１０−２−２と、受信端末１０−ｎ−２とで構成する。Ｓ_（ｎ，Ｚ）５ｎ０は、マルチキャストルータ３００−１、３００−３、３００−４にｎ番目に登録された受信端末１０−２−ｎと、受信端末１０−ｎ−ｎとで構成する。
【００６６】
このとき暗号化鍵および復号化鍵は、鍵管理装置１００が決定する。マルチキャストグループにおいて暗号化鍵１個に対して、復号化鍵はサブグループの数だけある。マルチキャストグループに新規参加する受信端末１０があった場合、鍵管理装置１００は、新規参加する受信端末が既存のサブグループに属するかどうかをチェックする。既存のサブグループに属さない場合、新規サブグループを作成し、新規サブグループ用の復号化鍵を生成して、暗号化鍵を変更する。鍵管理装置１００は、シードノード２００に対して変更した暗号化鍵を配布し、新規受信端末のみに対して生成した復号化鍵を配布する。つまり、変更があったのは暗号化鍵および新規サブグループ用の復号化鍵のみで、他既存のサブグループの復号化鍵は変更のないままである。また新規参加する受信端末が既存のサブグループに属する場合、鍵管理装置は属するサブグループ用の復号化鍵を新規参加する受信端末に対して配布する。つまり、暗号化鍵および復号化鍵は変更なしである。
【００６７】
マルチキャストグループに離脱する受信端末１０があった場合、鍵管理装置１００は、離脱があったサブグループに残った受信端末があるかどうかをチェックする。離脱があったサブグループに残った受信端末１０があった場合、鍵管理装置１００は、離脱があったサブグループの復号化鍵を更新し、暗号化鍵を変更する。鍵管理装置１００は、シードノード２００に対して変更した暗号化鍵を配布し、離脱があったサブグループに残った受信端末１０に対して更新した復号化鍵を配布する。
【００６８】
つまり、変更があったのは暗号化鍵と、離脱があったサブグループ用の復号化鍵のみで、他のサブグループの復号化鍵は変更のないままである。また離脱があったサブグループに残った受信端末１０がなくなった場合、鍵管理装置１００は、離脱があったサブグループを消滅し、暗号化鍵を変更する。つまり、変更があったのは暗号化鍵のみで、他のサブグループは復号化鍵の変更なしである。また離脱によって消滅したサブグループは、マルチキャストルータよりデータが転送されないため、データを受信することができない。
本実施例に拠れば、マルチキャストグループの受信端末を自由にサブグループ分けすることができる。
（実施例３）
実施例３について、図１２を参照して、説明する。ここで、図１２はマルチキャストネットワークのシーケンス図である。マルチキャストグループのサブグループの個数がｎ個ある場合、マルチキャストサーバが配信しようとしているデータをＭとおくと、Ｍを数値とみたとき、これよりも大きい素数Ｋ１，Ｋ２，…，Ｋｎをとる。なおデータが大きい場合、これを適当な大きさに分割した上で、分割後のデータの一つを改めてＭとして以下の処理を行ってもよい。暗号化鍵ＡをＡ＝Ｋ１＊Ｋ２＊…＊Ｋｎ、サブグループ１の復号化鍵をＫ１、サブグループ２の復号化鍵をＫ２、…サブグループｎの復号化鍵Ｋｎとする。復号化鍵はサブグループの数だけある。
【００６９】
暗号化は、暗号化文をＸとおくと、（数１８）で行なう。
【００７０】
Ｘ＝Ｍ＋Ａ                                          …（数１８）
しかし、マルチキャストグループ以外からマルチキャストグループを守るためには、暗号化文Ｘ＝Ｍ＋Ａの暗号化強度を強める必要がある。そこでＸ＝Ｍ＋ＡをさらにＤＥＳまたはＡＥＳで暗号化して暗号化文を配信する。ここで、ＤＥＳまたＡＥＳで暗号化した暗号化文の復号化鍵はマルチキャストグループで共通とする。鍵管理装置が前記の復号化鍵を管理し、鍵の更新および配布を行なう。
【００７１】
図１２を参照して、暗号化文Ｘ＝Ｍ＋ＡをさらにＤＥＳで暗号化して暗号化文を配信するシーケンスを説明する。図１２において、マルチキャストグループに新規参加したい受信端末１０は、マルチキャストルータ３００にＩＧＭＰ ｊｏｉｎ要求を送信する（Ｓ７１）。マルチキャストルータ３００は、そのメッセージを受けて鍵管理装置１００に対して受信端末のＩＧＭＰ ｊｏｉｎ要求を送信する（Ｓ７２）。鍵管理装置１００は、受信端末１０に対してＤＥＳで暗号化した暗号化文を復号化するための復号化鍵を配布する（Ｓ７３）。ここで復号化鍵は、Ｋとする。鍵管理装置１００は、受信端末１０が属するサブグループ用の復号化鍵を配布する（Ｓ７４）。新規参加した受信端末１０は、サブグループ１に属し、サブグループ１の復号化鍵Ｋ１を受け取る。
【００７２】
ここで暗号化管理システム１００は、ＩＫＥを用いて、復号化鍵を同時に配布する。マルチキャストサーバ４００は、配信するデータＭをシードノード２００に対して送信する（Ｓ７７）。シードノード２００は、データＭを受信し、暗号鍵Ａを用いて配信データＭを暗号化して暗号化文Ｘとする。さらにシードノード２００は、暗号化文ＸをＤＥＳで暗号化して、暗号化文ＸをＸ’とする（Ｓ７８）。シードノード２００は、暗号化文Ｘ’をマルチキャストグループの受信端末１０に対して送信する（Ｓ７９）。受信端末１０は、暗号化文Ｘ’を受信し、鍵管理装置１００から配布された復号化鍵Ｋを用いて暗号化文Ｘ’を復号化する。暗号化文Ｘ’は、Ｘとなる。また受信端末１０は、サブグループ１の復号化鍵Ｋ１を用いて、暗号化文Ｘを復号化して配信データＭを受け取る（Ｓ８１）。
（実施例４）
次に、実施例４について説明する。マルチキャストサーバ４００が配信しようとするデータがＭ、データＭの長さがＬｍ＝６４ｂｉｔ、マルチキャストグループのサブグループ２個とする。データＭよりも大きい素数を２つ取る場合、素数Ｋ１、Ｋ２の長さは、それぞれＬ１＝６４ｂｉｔ、Ｌ２＝６４ｂｉｔとする。暗号化鍵Ａは、Ａ＝Ｋ１＊Ｋ２より、暗号化鍵Ａの長さＬａはＬａ＝Ｌ１＊Ｌ２＝１２８ビットとなる。暗号化文Ｘは、Ｘ＝Ｍ＋Ａより、Ｘの長さＬｘはＬｘ＝１２８ｂｉｔとなる。実際の配信データＭより６４ｂｉｔも長くなってしまい、さらにサブグループの数が増えると暗号化鍵も大きくなるので、通信の際に無駄が生じる。
【００７３】
実施例４は、復号化鍵がマルチキャスト配信データより大きい素数以外の整数を取った場合の暗号化方法について説明する。マルチキャストサーバが配信しようとしているデータをＭとおく。Ｍを数値とみたとき、これよりも大きい素数以外の整数Ｋ１，Ｋ２，…，Ｋｎをとる。ただし、Ｋ１，Ｋ２，…，Ｋｎはお互い割り切ることができない整数である。なおデータが大きい場合、これを適当な大きさに分割した上で、分割後のデータの一つを改めてＭとして以下の処理を行ってもよい。
【００７４】
暗号化鍵Ａは、Ｋ１，Ｋ２，…，Ｋｎの最小公倍数である。最小公倍数を十分に大きく取り、因数分解が十分困難な程度に大きな素数からなるものとする。復号化鍵はサブグループ１の復号化鍵をＫ１、サブグループ２の復号化鍵をＫ２、…サブグループｎの復号化鍵Ｋｎとする。復号化鍵はサブグループの数だけある。
【００７５】
暗号化は、暗号化文をＸとおくと、（数１９）で行なう。
【００７６】
Ｘ＝Ｍ＋Ａ                                        …（数１９）
復号化、は暗号化文Ｘを復号化鍵で割った余りによって得られる。サブグループ１に属する受信端末の場合、（数２０）で与えられる。
【００７７】
Ｘ（ｍｏｄ Ｋ１）＝Ｍ（ｍｏｄ Ｋ１）＋Ａ（ｍｏｄ Ｋ１）
＝Ｍ（ｍｏｄ Ｋ１）
＝Ｍ                             …（数２０）
ここで、Ａは、Ｋ１，Ｋ２…Ｋｎの最小公倍数なので、ＡをＫ１で割った剰余は０である。また、Ｍは、Ｋ１より小さいので、ＭをＫ１で割った剰余はＭ自身である。
【００７８】
サブグループ２のメンバが離脱した場合、サブグループ２の復号化鍵をＫ２’に変更し、暗号化鍵Ａ’はＫ１，Ｋ２’，…，Ｋｎの最小公倍数とする。暗号化文Ｘ’は、（数２１）で生成する。
【００７９】
Ｘ’＝Ｍ＋Ａ’                                    …（数２１）
復号化鍵は、新しいＫ２’は使えるが、古いＫ２は使えない。実際、
Ｘ’（ｍｏｄ Ｋ２’）＝Ｍ（ｍｏｄ Ｋ２’）＋Ａ’（ｍｏｄ Ｋ２’）
＝Ｍ（ｍｏｄ Ｋ２’）
＝Ｍ                        …（数２２）
しかも
Ｘ’（ｍｏｄ Ｋ１）＝Ｍ（ｍｏｄ Ｋ１）＋Ａ’（ｍｏｄ Ｋ１）
＝Ｍ（ｍｏｄ Ｋ１）
＝Ｍ                          …（数２３）
となって、暗号化鍵が変わったにも関わらずサブグループ１はリキーの影響を受けない。
【００８０】
また
Ｘ’（ｍｏｄ Ｋ２）＝Ｍ（ｍｏｄ Ｋ２）＋Ａ’（ｍｏｄ Ｋ２）
＝Ｍ＋Ａ’（ｍｏｄ Ｋ２）      …（数２４）
≠Ｍ
このようにして離脱した受信端末は古い復号化キーＫ２を用いて復号化することはできない。
【００８１】
マルチキャストサーバが配信しようとするデータをＭ、データＭの長さをＬｍ＝６４ｂｉｔ、マルチキャストグループのサブグループ数を２個とする。データＭよりも大きい素数を２つ取る場合、素数Ｋ１、Ｋ２の長さがそれぞれＬ１＝６４ｂｉｔ、Ｌ２＝６４ｂｉｔとすると、暗号化鍵Ａの長さＬａはＬａ＝Ｌ１＊Ｌ２＝１２８ビットである。暗号化文ＸはＸ＝Ｍ＋Ａより、Ｘの長さＬｘはＬｘ＝１２８ｂｉｔとなる。
【００８２】
しかし、データＭよりも大きい素数以外の整数を２つ取る場合、お互い割り切れない２つの整数Ｋ１’、Ｋ２’の長さがそれぞれＬ１’＝６４ｂｉｔ、Ｌ２’＝６４ｂｉｔとする。整数Ｋ１’、Ｋ２’の最大公約数が３２ｂｉｔであるとすると、暗号化鍵Ａ’は整数Ｋ１’、Ｋ２’の最小公倍数なので、暗号化鍵Ａ’の長さＬａ’は９６ｂｉｔである。暗号化文Ｘ’はＸ’＝Ｍ’＋Ａ’より、Ｘ’の長さＬｘ’はＬｘ’＝９６ｂｉｔとなる。よって実施例４による暗号化方法のほうが、暗号化文Ｘが小さくて済み、通信の効率向上に繋がる。
【００８３】
実用上はＸ＝Ｍ＋Ａだけでは暗号化としては弱いので、実施例１のようにＡに関する定数項を持たない多項式：
ｆ（Ａ）＝ａｎ・Ａ＾ｎ＋ａｎ−１・Ａ＾（ｎ−１）＋…＋ａ１・Ａ
を用いてＸ＝Ｍ＋ｆ（Ａ）と暗号化する。ここで係数ａｉ（ｉ＝１，２，…，ｎ−１，ｎ）は乱数で生成する。
また実施例３のように暗号化を強めるために暗号化文ＸをさらにＤＥＳまたはＡＥＳで暗号化してから配信する。
【図面の簡単な説明】
【００８４】
【図１】マルチキャストネットワークのハードウェアブロック図である。
【図２】シードノードと暗号化鍵管理装置の機能ブロック図である。
【図３】暗号鍵管理テーブルを説明する図である。
【図４】暗号鍵／復号鍵管理テーブルを説明する図である。
【図５】受信端末とマルチキャストノードとシードノードと暗号化鍵管理装置とマルチキャストサーバとの間のサブグループ新規生成のシーケンス図である。
【図６】受信端末とマルチキャストノードとシードノードと暗号化鍵管理装置とマルチキャストサーバとの間の受信端末新規参加のシーケンス図である。
【図７】暗号化鍵管理装置の受信端末新規参加のフローチャートである。
【図８】受信端末とマルチキャストノードとシードノードと暗号化鍵管理装置とマルチキャストサーバとの間の受信端末離脱のシーケンス図である。
【図９】受信端末とマルチキャストノードとシードノードと暗号化鍵管理装置とマルチキャストサーバとの間のサブグループ新規消滅のシーケンス図である。
【図１０】暗号化鍵管理装置の受信端末離脱のフローチャートである。
【図１１】マルチキャストネットワークのハードウェアブロック図である。
【図１２】マルチキャストネットワークのシーケンス図である。
【符号の説明】
【００８５】
１０…受信端末、１００…鍵管理装置、１１０…鍵管理部、１２０…鍵生成部、１３０…サブグループ決定部、１４０…情報送受信部、１５０…テーブル管理部、２００…シードノード、２１０…暗号化部、２２０…情報送受信部、２３０…暗号鍵管理部、３００…マルチキャストルータ、４００…マルチキャストサーバ、５００…マルチキャストグループ、５１０…サブグループ、５２０…サブグループ、５ｎ０…サブグループ、６００…ＩＰネットワーク、１０００…マルチキャストネットワーク。
【図１】
2010161548.tif 000003
【図２】
2010161548.tif 000004
【図３】
2010161548.tif 000005
【図４】
2010161548.tif 000006
【図５】
2010161548.tif 000007
【図６】
2010161548.tif 000008
【図７】
2010161548.tif 000009
【図８】
2010161548.tif 000010
【図９】
2010161548.tif 000011
【図１０】
2010161548.tif 000012
【図１１】
2010161548.tif 000013
【図１２】
2010161548.tif 000014