(57)【要約】【課題】  ドメイン内に含まれたグループの数に指数的に増加する従来のキーの数を減らして、キー管理の効率を高める。【解決手段】  ドメインに参加するユーザ数Ｎに応じて共通キーおよびＮ個の互いに異なる分配キーを生成するステップと、前記ユーザのデバイスに前記共通キーを送信するステップと、前記ユーザのデバイスに前記Ｎ個の互いに異なる分配キーのうちＮ−１個の分配キーを送信するステップとを含み、前記ユーザのデバイスが受信したＮ−１個の分配キーの集合は、前記ドメインに参加した他のユーザのデバイスが受信したＮ−１個の分配キーの集合と互いに異なる集合である。【選択図】  図６
2007235946.tif 000002
【特許請求の範囲】
【請求項１】
ドメインに参加するユーザ数Ｎに応じて共通キーおよびＮ個の互いに異なる分配キーを生成するステップと、
前記ユーザのデバイスに前記共通キーを送信するステップと、
前記ユーザのデバイスに前記Ｎ個の互いに異なる分配キーのうちＮ−１個の分配キーを送信するステップとを含み、
前記ユーザのデバイスが受信したＮ−１個の分配キーの集合は、前記ドメインに参加した他のユーザのデバイスが受信したＮ−１個の分配キーの集合と互いに異なる集合である、ドメインに含まれたグループのキーを構成する方法。
【請求項２】
前記ドメインに参加する第１ユーザと第２ユーザが構成するグループは、前記第１ユーザが受信したＮ−１個の分配キーの集合と前記第２ユーザが受信したＮ−１個の分配キーの集合の交集合と前記共通キーによって生成された暗号化または復号化キーを有する、請求項１に記載のドメインに含まれたグループのキーを構成する方法。
【請求項３】
前記ユーザは、前記受信した共通キーとＮ−１個の分配キーによって生成された復号化キーを有する、請求項１に記載のドメインに含まれたグループのキーを構成する方法。
【請求項４】
前記分配キーを送信するステップの後に、
前記ドメインに含まれたグループに含まれるユーザ情報に基づき、前記共通キーと前記一部の分配キーからなる復号化キーに対応する暗号化キーを計算するステップと、
前記暗号化キーを用いてリソースを暗号化するステップと、
前記暗号化したリソースを前記グループに送信するステップとを含む、請求項１に記載のドメインに含まれたグループのキーを構成する方法。
【請求項５】
対称キー暗号方式を用いる場合、前記暗号化キーは復号化キーと同一キーである、請求項４に記載のドメインに含まれたグループのキーを構成する方法。
【請求項６】
第１ユーザがドメインに参加することを通知する信号を受信するステップと、
前記第１ユーザの参加により、前記Ｎ−１個の分配キーと重複しない第１分配キーを生成するステップと、
前記ドメインから前記第１ユーザを除いた他のユーザに前記第１分配キーを送信するステップと、
前記第１ユーザに前記共通キーおよび前記第１分配キーを除いた分配キーを送信するステップとを含む、請求項１に記載のドメインに含まれたグループのキーを構成する方法。
【請求項７】
前記ユーザはデバイス別に異なる個体である、請求項１に記載のドメインに含まれたグループのキーを構成する方法。
【請求項８】
ドメインに参加して前記ドメインを管理するサーバから共通キーおよびＮ−１個の分配キーを受信するステップと、
前記ドメイン内からアクセス権限のある第１グループに含まれたユーザ情報を受信するステップと、
前記Ｎ−１個の分配キーから前記第１グループに含まれたユーザに対応する分配キーを除いた分配キーと前記共通キーとを用いて復号化キーを生成するステップとを含み、
前記ドメインに参加するユーザ数はＮである、ドメインに含まれたグループのキーを構成する方法。
【請求項９】
前記サーバから第１ユーザの参加による分配キーを受信するステップをさらに含む、請求項８に記載のドメインに含まれたグループのキーを構成する方法。
【請求項１０】
前記生成した復号化キーに対応する暗号化キーを生成するステップをさらに含む、請求項８に記載のドメインに含まれたグループのキーを構成する方法。
【請求項１１】
対称キー暗号方式を用いる場合、前記暗号化キーは復号化キーと同一キーである、請求項１０に記載のドメインに含まれたグループのキーを構成する方法。
【請求項１２】
ドメインに参加したユーザ数Ｎに応じて共通キーおよびＮ個の互いに異なる分配キーを生成するキー生成部と、
前記ユーザのデバイスに前記共通キーを送信し、前記ユーザのデバイスに前記Ｎ個の互いに異なる分配キーのうちＮ−１個の分配キーを送信し、送信の結果、前記ユーザのデバイスが受信したＮ−１個の分配キーの集合は、前記ドメインに参加した他のユーザのデバイスが受信したＮ−１個の分配キーの集合と互いに異なる集合になるようにキーを分配するキー分配部と、
前記ドメインに含まれたグループに含まれるユーザ情報に基づき、前記共通キーと前記一部の分配キーからなる復号化キーに対応する暗号化キーを計算し、前記暗号化キーを用いてリソースを暗号化する暗号化部とを含む、ドメインに含まれたグループのキーを構成する装置。
【請求項１３】
前記ドメインに参加した第１ユーザと第２ユーザが構成するグループは、前記第１ユーザが受信したＮ−１個の分配キーの集合と前記第２ユーザが受信したＮ−１個の分配キーの集合の交集合と前記共通キーによって生成された暗号化または復号化キーを有する、請求項１２に記載のドメインに含まれたグループのキーを構成する装置。
【請求項１４】
前記ユーザは、前記受信した共通キーとＮ−１個の分配キーによって生成された復号化キーを有する、請求項１２に記載のドメインに含まれたグループのキーを構成する装置。
【請求項１５】
対称キー暗号方式を用いる場合、前記暗号化キーは復号化キーと同一キーである、請求項１４に記載のドメインに含まれたグループのキーを構成する装置。
【請求項１６】
第１ユーザがドメインに参加することを通知する信号を受信する場合、
前記キー生成部は前記第１ユーザの参加によって前記Ｎ−１個の分配キーと重複しない第１分配キーを生成し、
前記キー分配部は、前記ドメインから前記第１ユーザを除いた他のユーザに前記第１分配キーが送信され、前記第１ユーザに前記共通キーおよび前記第１分配キーを除いた分配キーを送信する、請求項１２に記載のドメインに含まれたグループのキーを構成する装置。
【請求項１７】
前記ユーザはデバイス別に異なる個体である、請求項１２に記載のドメインに含まれたグループのキーを構成する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化キーを分配する方法と装置に関し、より詳しくは、ドメインに含まれたグループのキーを構成する方法および装置に関するものである。
【背景技術】
【０００２】
最近一般的な暗号化システムはキーの安全性に基づいている。よって、キーを安全でかつ効率的に管理する技術に対する重要性が益々増大している実状である。
【０００３】
グループとは、同一目的のために定義されたユーザあるいは装置の集合を意味する。一般的にグループは「グループキー」という情報を共有し、共有する情報を用いてグループ内のリソースを安全に共有する。
【０００４】
問題はユーザが複数のグループに含まれる場合、各グループに該当するキーを全て管理しなければならないという点である。全体ユーザ数をＮとする時、最悪の場合ユーザの部分集合数は合計２Ｎ−１個まで増加し、そのため個別ユーザは２Ｎ−１個のキーを管理しなければならない問題が生じ得る。
【０００５】
図１は、従来のキーの分配を示す図である。従来技術では各グループ別に別途のグループキーを用いる。よって、ユーザが４人存在する場合、最大ユーザのグループ数としては１５個のサブセットが存在する。これによって、グループキーは総グループ数に一致する１５個のグループキーが必要である。Ｎ人のユーザが存在する環境に一般化する場合、２Ｎ−１個のグループキーが存在するようになる。また、ユーザ５が含まれたグループは合計８個１１，１２，１３，１４，１５，１６，１７，１８であり、ユーザ５のデバイスは最大８個のキーを有しなければならない問題点がある。
【０００６】
すなわち、従来技術は、暗号化部分と復号化部分とからなり、リソースをグループ内のメンバーのみが利用できるように暗号化したり復号化したりする場合に該当するグループキーを用いる。そして、各々のユーザが有するキーの数は２３の８個となる。これはリソースｒに対する暗号化部分と復号化部分に分けて説明することができる。リソースｒを暗号化する場合、特定グループＧ内部だけでリソースｒを共有しようとする時、グループＧの暗号化グループキーであるＧＫ１を選択してリソースｒを暗号化する。これをＥｎｃ｛ｒ｝＿ＧＫ１という。リソースｒを復号化する場合、Ｅｎｃ｛ｒ｝＿ＧＫ１を復号化するために復号化グループキーであるＧＫ２を用い、復号化アルゴリズムを適用してリソースｒを復号化する。従来技術では、公開キーを用いる場合はグループの暗号化／復号化キーＧＫ１、ＧＫ２が互いに異なる場合であり、対称キーを用いる場合はＧＫ１、ＧＫ２が互いに同一になる。
【０００７】
しかし、ユーザが複数のグループに含まれる場合、各グループに該当するキーを全て管理しなければならないという問題がある。全体ユーザ数をＮとする時、最悪の場合ユーザの部分集合数は合計２Ｎ−１個まで増加でき、そのため個別ユーザは２Ｎ−１個のキーを管理しなければならない問題が生じ得る。また、ドメイン内のグループにキーが分配されてから新たなユーザがドメインに参加する場合、全体キーを新たに分配することになってキーの分配が頻繁になる問題が生じた。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、上記の問題点を改善するために案出したものであり、本発明は、ドメイン内に含まれたグループの数に指数的に増加する従来のキーの数を減らしてキーの管理の効率を高めようとすることにある。
【０００９】
本発明のまた他の目的は、キーを分配した後、グループに新たなユーザが参加する場合にも既に用いたキーを活用することにある。
【００１０】
本発明の目的は、以上で言及した目的に制限されず、言及していないまた他の目的は下記記載によって当業者が明確に理解できるものである。
【課題を解決するための手段】
【００１１】
本発明の一態様に係るドメインに含まれたグループのキーを構成する方法は、ドメインに参加するユーザ数Ｎに応じて共通キーおよびＮ個の互いに異なる分配キーを生成するステップと、前記ユーザのデバイスに前記共通キーを送信するステップと、前記ユーザのデバイスに前記Ｎ個の互いに異なる分配キーのうち、Ｎ−１個の分配キーを送信するステップとを含み、前記ユーザのデバイスが受信したＮ−１個の分配キーの集合は、前記ドメインに参加した他のユーザのデバイスが受信したＮ−１個の分配キーの集合と互いに異なる集合である。
【００１２】
本発明の他の態様に係るドメインに含まれたグループのキーを構成する方法は、ドメインに参加して前記ドメインを管理するサーバから共通キーおよびＮ−１個の分配キーを受信するステップと、前記ドメイン内からアクセス権限のある第１グループに含まれたユーザ情報を受信するステップと、前記Ｎ−１個の分配キーから前記第１グループに含まれたユーザに対応する分配キーを除いた分配キーと前記共通キーとを用いて復号化キーを生成するステップとを含み、前記ドメインに参加するユーザ数はＮである。
【００１３】
本発明のまた他の態様に係るドメインに含まれたグループのキーを構成する装置は、ドメインに参加したユーザ数Ｎに応じて共通キーおよびＮ個の互いに異なる分配キーを生成するキー生成部と、前記ユーザのデバイスに前記共通キーを送信し、前記ユーザのデバイスに前記Ｎ個の互いに異なる分配キーのうちＮ−１個の分配キーを送信し、送信の結果前記ユーザのデバイスが受信したＮ−１個の分配キーの集合は、前記ドメインに参加した他のユーザのデバイスが受信したＮ−１個の分配キーの集合と互いに異なる集合になるようにキーを分配するキー分配部と、前記ドメインに含まれたグループに含まれるユーザ情報に基づき、前記共通キーと前記一部の分配キーからなる復号化キーに対応する暗号化キーを計算し、前記暗号化キーを用いてリソースを暗号化する暗号化部とを含む。
【発明の効果】
【００１４】
本発明を具現することにより、ドメイン内のユーザが管理するキーの数を減少することができる。
本発明を具現することにより、ドメイン内に予め定義された共有トポロジーが不要になって、動的にグループの構成およびユーザの追加が容易に行われ得る。
【発明を実施するための最良の形態】
【００１５】
その他、実施形態の具体的な事項は、詳細な説明および図面に含まれている。
本発明の利点および特徴、そしてそれらを達成する方法は、添付する図面と共に詳細に後述する実施形態を参照すれば明確になる。しかし、本発明は以下にて開示する実施形態に限定されず、互いに異なる多様な形態によって実施され、単に本実施形態は本発明の開示が完全なものとなるようにし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであって、本発明は請求項の範疇によってのみ定義されるものである。明細書の全体に亘り、同一参照符号は同一構成要素を示す。
【００１６】
以下、本発明の実施形態に係るドメインに含まれたグループのキーを構成する方法および装置を説明するためのブロック図または処理フローチャートに対する図面を参考にして本発明について説明する。この時、処理フローチャートの各ブロックとフローチャートの組合せは、コンピュータプログラムインストラクションによって行われることが理解できる。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータ、またはその他のプログラム可能なデータプロセシング装備のプロセッサに搭載することができるため、コンピュータまたはその他のプログラム可能なデータプロセシング装備のプロセッサを介して行われるそのインストラクションがフローチャートブロックで説明する機能を行う手段を生成するようになる。これらコンピュータプログラムインストラクションは、特定方式で機能を具現するために、コンピュータまたはその他のプログラム可能なデータプロセシング装備が備えられるコンピュータによって利用可能または読取可能なメモリに格納されることも可能であるため、そのコンピュータによって利用可能または読取可能なメモリに格納されたインストラクションは、フローチャートブロックで説明する機能を行うインストラクション手段を含む製造品目の生産に用いることも可能である。コンピュータプログラムインストラクションは、コンピュータまたはその他のプログラム可能なデータプロセシング装備上に搭載することも可能であるため、コンピュータまたはその他のプログラム可能なデータプロセシング装備上で一連の動作ステップが行われ、コンピュータで実行されるプロセスを生成して、コンピュータまたはその他のプログラム可能なデータプロセシング装備の機能を行うインストラクションはフローチャートブロックで説明する各ステップの機能を実行することも可能である。
【００１７】
また、各ブロックは、特定された論理的機能を実行するための１つ以上の実行可能なインストラクションを含むモジュール、セグメント、またはコードの一部を示すことができる。また、複数の代替実行例ではブロックで言及された機能が順序から外れて行われることも可能であることに注目しなければならない。例えば、連続して図示されている２つのブロックは、実質的に同時に行われることも可能で、またはそのブロックが時には該当機能により逆順に行われることも可能である。
【００１８】
本明細書では、ドメインを構成するグループが包含関係を構成しながら階層を形成する場合、グループキーに関係性を与えることによってキーを効率的に管理できるようにする。キーの関係性を用いることによって、ユーザは必要に応じて自身が含まれるグループのキーを動的に生成することができる。
【００１９】
本明細書におけるユーザは１人を意味することに限定されない。複数の人が１人のユーザ概念に含まれて、同一の権利を有する場合は１つのユーザ概念に含まれ得る。また、１人が複数のユーザＩＤを有して各々異なる権限を設定する場合も可能である。
【００２０】
図２は、本発明の一実施形態に係るグループ間のキー関係が設定された場合を示す図である。図２の従来の場合（左側）、Ａユーザ５１は１１０グループと１１５グループとに含まれる。しかし従来では、Ａユーザ５１が単独で含まれた１１５グループのキー６１とＡユーザ５１が他のユーザと共に含まれた１１０グループのキー７１との間には全く関連性がなかった。したがって、Ａユーザ５１のデバイスには２つのグループのキーが共に格納されている。しかし、本発明の一実施形態に係る場合（右側）を説明すれば、Ａユーザ５２が単独で含まれた１２５グループのキー６２とＡユーザ５２が他のユーザと共に含まれた１２０グループのキー７２との間に関連性を設定した。その結果、Ａユーザ５２のデバイスには互いに関連性を有するキーが格納される。
【００２１】
図３は、本発明の一実施形態に係るキーを構成して分配し、アイテムを暗号化してグループに伝送するサーバの構成を示す図である。
【００２２】
本実施形態で用いられる「〜部」という用語、すなわち「モジュール」または「〜テーブル」などは、ソフトウェアまたはＦＰＧＡまたはＡＳＩＣのようなハードウェア構成要素を意味し、モジュールはある役割を行う。ところが、モジュールは、ソフトウェアまたはハードウェアに限定される意味ではない。モジュールは、アドレッシングできる格納媒体にあるように構成することもでき、１つまたはそれ以上のプロセッサを再生させるように構成することもできる。したがって、一例としてモジュールはソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素およびタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、および変数を含む。構成要素とモジュールの中で提供されている機能は、さらに小さい数の構成要素およびモジュールに結合したり、追加的な構成要素とモジュールにさらに分離したりすることができる。だけでなく、構成要素およびモジュールはデバイス内の１つまたはそれ以上のＣＰＵを再生させるように具現することもできる。
【００２３】
サーバ２００は、複数のユーザが複数のグループを形成するドメインを管理するサーバである。ホームネットワークにおけるサーバ、事務室内のサーバ、または仮想私設ネットワークを管理するサーバあるいはウェブサービスなどの論理的機能などがなり得る。限定されたユーザが参加し、これらユーザ間にリソースを用いるのを差等適用するシステムにおけるサーバ機能を提供し、これらドメイン内の細部グループが用いるキーを生成して分配する。
【００２４】
構成要素としては、キー生成部２１０、キー分配部２２０、暗号化部２３０、および復号化部２４０がある。キー生成部２１０はグループ間の連関関係によってキーを生成する作用をする。キー分配部２２０は生成したキーを各グループに送信する。または各グループに属する各個人のデバイスにキーを伝送することができる。暗号化部２３０と復号化部２４０はリソースを暗号化または復号化する。リソースとは、マルチメディアコンテンツ、文書などのようなデータを含み、グループ内で共有するデータである。サーバ２００は公開キー暗号方式、対称キー暗号方式を全て用いることができる。
【００２５】
本明細書で用いられる表記は次のように要約される。
Ｕは、全体集合「ユニバーサルセット」であり、すべてのユーザが含まれたセットである。Ｎ人のユーザがいる場合、Ｎ人全て含まれたグループである。Ｓは、Ｕのサブセットであるグループを意味する。Ｎ人のユーザが存在する場合２Ｎ−１個のグループが存在し得る。
【００２６】
Ｅｎｃ｛Ｍ｝＿Ｋは、Ｋというキーを用いてＭを暗号化する関数を意味する。そして、ｆ：（０，１）’→（０，１）’は、疑似ランダム置換（ｐｓｅｕｄｏｒａｎｄｏｍ  ｐｅｒｍｕｔａｔｉｏｎ）を行う。ｆ・ｇ（）はｆ（）・ｇ（）と同様の意味の表記である。
【００２７】
（ＫＳＰＵ、ＫＳＰＩ）は、グループまたはサブセットＳのキー対であり、ＫＳＰＵは公開キーで、ＫＳＰＩは秘密キーである。
【００２８】
Ｎ人のユーザは１からＮまでのＩＤを有すると仮定する。サーバ２００では暗号化、復号化キーを生成する。暗号化／復号化キーを生成することにおいて、Ｎ人のユーザにキーを送信するｆｉ（ｘ）・ｆｊ（ｙ）＝ｆｊ（ｙ）・ｆｉ（ｘ）の性質を満たすＮ個の疑似順列関数であるｆ１（）、ｆ２（）、．．．、ｆＮ（）を選択する。これら関数は分配キーであり、各ユーザ別に異なる形で伝送されることを特徴とする。すなわち、ドメイン内のユーザはこれら分配キーのうち一部のみ受信するようになる。そして全体集合Ｕのキーとして、すべてのユーザのデバイスが共通に有する共通キーＫＵを任意に選択する。
【００２９】
前記生成された関数とＫＵを復号化キーによって生成して分配する過程を行う。すなわち、各々のユーザｉにＮ個のキーを送信する。ＫＵ、ｆ１（）、ｆ２（）、．．．、ｆｉ−１（）、ｆｉ＋１（）、．．．、ｆＮ（）を分配する。そして、リソースを該当グループＳの暗号化キーによって暗号化する。先ず、非対称キーによって暗号化する過程を説明する。非対称キーによって暗号化するためには公開キーと秘密キーが必要である。
【００３０】
公開キーと秘密キーの一対を｛ＫＳＰＵ、ＫＳＰＲ｝という。そして各々を求める過程は次の通りである。
【００３１】
ＫＳＰＲ＝ｆｅｉ・…（ＫＵ）、すべてのｅｉ∈Ｕ−Ｓを満たし、ＫＳＰＵはＫＳＰＲに対応する公開キーである。
【００３２】
暗号化方法は暗号化しようとするリソースがｒである場合、Ｅｎｃ｛ｒ｝＿ＫＳＰＵからなる。
【００３３】
そして、暗号化されたリソースｒを該当グループＳの復号化キーによって復号化するためには次の過程に従う。
【００３４】
グループＳのユーザＸはＫＳＰＲを次のように計算する。
ＫＳＰＲ＝ｆｅｉ・…（ＫＵ）、すべてのｅｉ∈Ｕ−Ｓ
ユーザＸは、ＫＵとｅｉ∈Ｕ−Ｓに対するｆｅｉを有するため、ＫＳＰＲを求めることができる。そして、ＫＳＰＲを用いてＥｎｃ｛ｒ｝＿ＫＳＰＵを復号化する。
【００３５】
上記にて説明した過程を本発明の一実施形態に係る代表的な産業標準公開キーアルゴリズムであるＲＳＡ基盤の暗号化システムに適用して詳述する。４人のユーザ３０１，３０２，３０３，３０４が含まれたドメインを仮定した場合である。
【００３６】
先ず、２つの素数であるｐ、ｑを求める。ｎはｐ・ｑである。そして（式１）のようにｆ１（）、ｆ２（）、ｆ３（）、ｆ４（）関数を求める。
【００３７】
ｆ１（ｘ）＝ｘ・ｆ＿１％  φ［ｎ］
ｆ２（ｘ）＝ｘ・ｆ＿２％  φ［ｎ］             （式１）
ｆ３（ｘ）＝ｘ・ｆ＿３％  φ［ｎ］
ｆ４（ｘ）＝ｘ・ｆ＿４％  φ［ｎ］
ｆ＿ｉは唯一のランダムナンバーであり、（ｐ−１）（ｑ−１）の約数ではない数である。
【００３８】
例えば、ｐ＝１０１、ｑ＝１１３であればｎの値は１１４１３になる。そしてφ［ｎ］は（ｐ−１）（ｑ−１）で１１２００であり、１１２００＝２６５２７である。
【００３９】
その結果、求めようとする関数（分配キー）は（式２）の通りである。
【００４０】
ｆ１（ｘ）＝ｘ・３％１１２００
ｆ２（ｘ）＝ｘ・１１％１１２００                       （式２）
ｆ３（ｘ）＝ｘ・１３％１１２００
ｆ４（ｘ）＝ｘ・１７％１１２００                              
そして、任意に共通キーＫｕを選択するが、Ｋｕはφ［ｎ］と互いに素な数を選択すれば良いため、Ｋｕ＝３５３３になる。
【００４１】
そうすると、第１ユーザ３０１にはｆ１（ｘ）を除いたキーであるＫｕ、ｆ２（ｘ）、ｆ３（ｘ）、ｆ４（ｘ）のキーが分配される。第２ユーザ３０２、第３ユーザ３０３、第４ユーザ３０４にも図４に示すようにキーが分配される。すなわち、一人のユーザのみ含まれるグループに対してキーが分配されたと見ることができる。
【００４２】
次は、図５において各々のユーザに分配されたキーからどのようにグループキーが生成されるかを説明する。
【００４３】
図５は、図４のユーザのうちの第１ユーザと第４ユーザが含まれたグループのキーが生成され、暗号化、復号化が行われる過程を示す。
【００４４】
第１ユーザと第４ユーザが含まれたグループは、ｆ１（ｘ）とｆ４（ｘ）が含まれないキーであるＫｕ、ｆ２（ｘ）、ｆ３（ｘ）でグループキーを構成することができる。すなわち、第１ユーザと第４ユーザが有するキーの集合の交集合の結果が第１ユーザと第４ユーザが含まれたグループのキーとなる。
【００４５】
暗号化は暗号化キーのＫＳＰＲを計算するが、第１ユーザと第４ユーザが含まれた暗号化キーはＫ｛１、４｝ＰＲという。
【００４６】
Ｋ｛１、４｝ＰＲ＝ｆ２・ｆ３（Ｋｕ）＝（１１・１３・３５３３）％１１２００＝１２１９である。一方、Ｋ｛１、４｝ＰＲに対応する公開キーはＫ｛１、４｝ＰＵで、Ｋ｛１、４｝ＰＵ＝１２１９−１％１１２００＝３１７９である。これによってコンテンツを暗号化することができるが、例えばコンテンツの値が１０である場合、Ｋ｛１、４｝ＰＵによって暗号化した値は（式３）の通りである。
【００４７】
Ｅｎｃ｛１０｝＿Ｋ｛１、４｝ＰＵ＝１０３１７９％１１４１３（ｎ＝１１４１３）          （式３）
図６は、本発明の一実施形態に係るデバイスが適切に含まれたグループのグループキーのみを計算できることを証明する図である。
【００４８】
図４に示すように第１ユーザ〜第４ユーザは、各々暗号化、復号化キーを計算できるように共通キーであるＫｕおよびユーザ夫々に別途分配されたキーであるｆ１（）、ｆ２（）、ｆ３（）、ｆ４（）関数を有する。ユーザｉはｆｉ（）関数を除いた他の分配キーを有する。
【００４９】
第１ユーザと第４ユーザが含まれたグループのキーは、第１ユーザの立場から判断する時、第１ユーザのデバイスに格納されたＫｕ、ｆ２（）、ｆ３（）、ｆ４（）のうちの該当グループに含まれた第４ユーザのデバイスにない、すなわち第４ユーザのデバイスに該当する分配キーとして第４ユーザのデバイスに伝送されないｆ４（）を除去すれば、第１ユーザと第４ユーザが含まれたグループのグループキーを求めることができる。同じように、第４ユーザの立場から判断する時、第４ユーザのデバイスに格納されたＫｕ、ｆ１（）、ｆ２（）、ｆ３（）のうちの該当グループに含まれた第１ユーザのデバイスにない、すなわち第１ユーザのデバイスに該当する分配キーとして第１ユーザのデバイスに伝送されないｆ１（）を除去すれば、第１ユーザと第４ユーザが含まれたグループのグループキーを求めることができる。
【００５０】
一方、第２ユーザ３１２の場合、第１ユーザと第４ユーザが形成したグループのキーを類推できない。なぜならばｆ２（）の値を知らないためである。これは、分配キーを割り当て始める過程でサーバが第２ユーザ３１２のデバイスにｆ２（）を送信しない結果である。同じように、第３ユーザ３１３もやはりｆ３（）の値を知らないため、第１ユーザと第４ユーザが形成したグループのキーを計算できない。したがって、自身が含まれないグループのグループキーを計算できないため、ドメイン内のグループ間の保安性を向上させる。また、分配されるキーの値は実質的にユーザがＮ人の場合Ｎ＋１個であり、グループキーはこれらＮ＋１個のキーから生成されるためユーザデバイスに格納される最大キー数はＮ個である。したがって、従来の技術において格納するキーの数が２Ｎ−１で指数的に増加してデバイスに多くの負荷を与えたのに比べて、本明細書で提示する方法によれば格納するキーの数はＮで、線形的に増加する。
【００５１】
図７は、本発明の一実施形態に係るユーザが動的に加わる場合にグループキー全体の再調整なくてもグループの保安性が維持される過程を示す図である。符号７１０において第１ユーザ３２１、第２ユーザ３２２、第３ユーザ３２３は、サーバ２００が運営するドメインのユーザとして登録されている。サーバ２００は各々のユーザに共通キーＫＵを含めてｆ１（）、ｆ２（）、ｆ３（）を分配する。ユーザは自身に割り当てられた共通キーと分配キーによってグループに必要なグループキーを動的に生成したり予め計算して格納したりすることができる。そこで第４ユーザ３２４が参加するようになる。この時、符号７２０のようにサーバ２００は、第４ユーザの参加によるｆ４（）を計算して、他の第１ユーザ、第２ユーザ、第３ユーザに送信し、第４ユーザ３２４にはＫＵ、ｆ１（）、ｆ２（）、ｆ３（）を伝送する。
【００５２】
上記過程により、新たなユーザがドメインに参加しても、すでに構成されたグループのグループキーを再設定する必要がない。また、グループの生成、消滅によるグループキーの管理が動的に行われるため、サーバが新たにグループキーを生成したり登録したりする必要がなく、該当グループにどのようなユーザが含まれるかに関する情報を維持すれば良い。
【００５３】
図８は、本発明の一実施形態に係るキーを生成して分配し、分配されたキーによってデータを暗号化して送信する過程を示す図である。
【００５４】
ドメインを管理するサーバは、ドメインに含まれたユーザ数Ｎに応じて共通キーおよびＮ個の互いに異なる分配キーを生成する（Ｓ８１０）。そしてユーザのデバイスに共通キーを送信する（Ｓ８２０）。共通キーは前述したＫＵのようなキーである。一方、ユーザに各ユーザに対応する分配キーを除いて送信する。該当ユーザのデバイスにＮ個の互いに異なる分配キーのうちＮ−１個の分配キーを送信する（Ｓ８３０）。このように分配キーを送信した結果、特定ユーザのデバイスが受信したＮ−１個の分配キーの集合はドメインに含まれた他のユーザのデバイスが受信したＮ−１個の分配キーの集合と互いに異なる集合になる。
【００５５】
そして、これらユーザが形成するグループは上述したように、ユーザが有するキーの集合間の交集合をなすキーをグループキーとして有するようになる。
【００５６】
キーを送信した後は２つの状況が生じ得る。コンテンツを暗号化してグループに送信する場合と、新たなユーザがドメインに参加する場合である。これをＳ８４０ステップでチェックする。コンテンツ暗号化が必要な場合、ドメインに含まれたグループに含まれるユーザ情報に基づき、前記共通キーと前記一部の分配キーからなる復号化キーに対応する暗号化キーを計算する（Ｓ８４２）。前記一部の分配キーとは、グループに含まれたユーザがＳ８３０ステップで受信した分配キーの集合の交集合に含まれるキーを意味する。図５で説明したように、共通キーと一部の分配キーでグループキーが形成され、このグループキーは該当グループに伝送されるコンテンツを復号化するキーとなる。したがって、このような復号化キーに対応する暗号化キーを計算する。対称キー方式の場合は復号化キーをそのまま暗号化キーとして使用することができ、非対称キーの場合は前述したＲＳＡ方式の例のように暗号化キーと復号化キーを求めるメカニズムによって求められる。そして、計算した暗号化キーを用いてリソースを暗号化する（Ｓ８４４）。暗号化した後に暗号化したリソースをグループに送信する（Ｓ８４６）。グループに含まれたユーザのデバイスはグループキーを計算したり計算したグループキーを格納したりすることができるため、これを用いて受信したリソースを復号化して使用することができる。
【００５７】
一方、Ｓ８４０ステップで新たなユーザが参加した場合はこれに係る図７の過程を行うことができる。
【００５８】
第１ユーザがドメインに参加することを通知する信号を受信する（Ｓ８５２）。そして、第１ユーザの参加によりＮ−１個の分配キーと重複しない第１分配キーを生成する（Ｓ８５４）。図７でｆ４を生成することが一実施形態である。ドメインからは第１ユーザを除いた他のユーザに第１分配キーが送信される（Ｓ８５６）。一方、第１ユーザには共通キーを送信し、また、第１分配キーを除いた分配キーを送信する（Ｓ８５８）。
【００５９】
前記ユーザはデバイス別に異なる個体であり得、複数が１つのユーザＩＤを用いることもできる。
【００６０】
ユーザがドメインに参加する場合、デバイスはＳ８５２〜Ｓ８５８で説明したようにドメインサーバから共通キーと分配キーを受信する。そして、このキーを用いて自身が参加するグループに含まれたユーザに該当する分配キーを除く方式でグループキーを生成し、グループに伝送されるリソースを復号化することができる。
【００６１】
また、前記グループキーを用いてコンテンツを暗号化したり、前記グループキーに対応する復号化キーを計算してリソースを暗号化したりすることができる。
【００６２】
図８の過程によってグループが包含関係により階層を形成する場合、グループキーに関係性を与えることによってキーを効率的に管理することができる。また、ユーザはユーザが含まれた各グループのキーを予め維持する必要がなく、暗号化／復号化する時に該当グループキーを動的に生成することができる。
【００６３】
本発明が属する技術分野で通常の知識を有する者であれば、本発明がその技術的思想や必須の特徴を変更せず、他の具体的な形態によって実施することができるということを理解できる。したがって、以上で記述した実施形態はすべての面で例示的なものであり、限定的なものではないことを理解しなければならない。
【００６４】
本発明の範囲は上記の詳細な説明よりは後述する特許請求の範囲によって示され、特許請求の範囲の意味および範囲そしてその均等概念から導き出されるすべての変更または変形された形態が本発明の範囲に含まれると解釈しなければならない。
【図面の簡単な説明】
【００６５】
【図１】従来のキー分配を示す図である。
【図２】本発明の一実施形態に係るグループ間のキーの関係が設定された場合を示す図である。
【図３】本発明の構成要素を示す図である。
【図４】４人のユーザに分配すべきキーを示す図である。
【図５】図４のユーザのうちの第１ユーザと第４ユーザが含まれたグループのキーが生成される過程を示す図である。
【図６】本発明の一実施形態に係るデバイスが適切に含まれたグループのグループキーのみを計算できることを証明する図である。
【図７】本発明の一実施形態に係るユーザが動的に加わる場合にグループキー全体の再調整を行わなくてもグループの保安性が維持される過程を示す図である。
【図８】本発明の一実施形態に係るキーを生成して分配し、分配されたキーによってデータを暗号化して送信する過程を示す図である。
【符号の説明】
【００６６】
２００      ドメインサーバ
２１０      キー生成部
２２０      キー分配部
２３０      暗号化部
２４０      復号化部
【図１】
2007235946.tif 000003
【図２】
2007235946.tif 000004
【図３】
2007235946.tif 000005
【図４】
2007235946.tif 000006
【図５】
2007235946.tif 000007
【図６】
2007235946.tif 000008
【図７】
2007235946.tif 000009
【図８】
2007235946.tif 000010