(57)【要約】【課題】アクセス管理の仕組みにおけるセキュリティを強化しつつ、ユーザの利便性を維持し又は向上させること。【解決手段】秘匿されるデータへのアクセスを管理するための管理モジュールを含むアクセス管理システムであって、前記管理モジュールは、秘匿される前記データへアクセスするために要するアクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散し、前記ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として１つ又は複数の記憶装置に記憶させ、前記ｎ個の分散鍵のうちの少なくとも１つの残りの分散鍵を、第１のユーザへ提供される第１のユーザ分散鍵として設定する、ように構成される、アクセス管理システムが提供される。対応する方法及びコンピュータプログラムもまた提供される。【選択図】図２
2018106026.tif 000002
【特許請求の範囲】
【請求項１】
秘匿されるデータへのアクセスを管理するための管理モジュールを含むアクセス管理システムであって、
前記管理モジュールは、
秘匿される前記データへアクセスするために要するアクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散し、
前記ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として１つ又は複数の記憶装置に記憶させ、
前記ｎ個の分散鍵のうちの少なくとも１つの残りの分散鍵を、第１のユーザへ提供される第１のユーザ分散鍵として設定する、
ように構成される、アクセス管理システム。
【請求項２】
前記管理モジュールは、前記第１のユーザからユーザ分散鍵の複製が要求された場合に、前記第１のユーザが所有するメモリから取得される前記第１のユーザ分散鍵と、前記１つ又は複数の記憶装置が記憶している前記システム分散鍵とに基づいて、第２のユーザ分散鍵を生成する、ようにさらに構成される、請求項１に記載のアクセス管理システム。
【請求項３】
前記管理モジュールは、前記第２のユーザ分散鍵を、前記第１のユーザにより指定される第２のユーザへ提供されるユーザ分散鍵として設定する、ようにさらに構成される、請求項２に記載のアクセス管理システム。
【請求項４】
前記管理モジュールは、前記第２のユーザに鍵複製権限が付与された場合にのみ、前記第２のユーザからの要求に応じて、前記第２のユーザ分散鍵と前記システム分散鍵とに基づいて第３のユーザ分散鍵を生成する、ようにさらに構成される、請求項３に記載のアクセス管理システム。
【請求項５】
前記アクセス管理システムは、
前記管理モジュールから提供される前記第１のユーザ分散鍵を、前記第１のユーザが所有する前記メモリに記憶させる、ように構成されるユーザモジュール、
をさらに含む、請求項２に記載のアクセス管理システム。
【請求項６】
前記システム分散鍵の数ｉ及び前記定足数ｋは、ｉ＝ｋ−１を満たす、請求項１に記載のアクセス管理システム。
【請求項７】
前記管理モジュールは、前記分散鍵に基づく多項式補間のためのインデックスごとに、ユーザ分散鍵の有効性を管理する、ようにさらに構成される、請求項１に記載のアクセス管理システム。
【請求項８】
前記アクセス鍵は、前記データに対するＡＯＮＴ（All  Or  Nothing  Transform）法での変換及び逆変換の際に使用されるランダムビット列を含む、請求項１に記載のアクセス管理システム。
【請求項９】
前記管理モジュールは、前記ランダムビット列を用いて前記ＡＯＮＴ法で前記データが変換済みである場合に、前記第１のユーザが所有するメモリから取得される前記第１のユーザ分散鍵と、前記１つ又は複数の記憶装置が記憶している前記システム分散鍵とに基づいて復元される前記ランダムビット列を用いて、変換済みの前記データに対する前記ＡＯＮＴ法での前記逆変換を実行する、ようにさらに構成される、請求項８に記載のアクセス管理システム。
【請求項１０】
前記管理モジュールは、更新された前記データの保存が要求された場合に、前記第１のユーザ分散鍵と前記システム分散鍵とに基づいて復元される前記ランダムビット列を用いて、更新された前記データに対する前記ＡＯＮＴ法での変換を実行する、ようにさらに構成される、請求項９に記載のアクセス管理システム。
【請求項１１】
秘匿されるデータへのアクセスを管理するための、プロセッサにより実行される方法であって、
秘匿される前記データへアクセスするために要するアクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散することと、
前記ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として１つ又は複数の記憶装置に記憶させることと、
前記ｎ個の分散鍵のうちの少なくとも１つの残りの分散鍵を、第１のユーザへ提供される第１のユーザ分散鍵として設定することと、
を含む方法。
【請求項１２】
情報処理装置のプロセッサを、秘匿されるデータへのアクセスを管理するための管理モジュールとして機能させるためのコンピュータプログラムであって、
前記管理モジュールは、
秘匿される前記データへアクセスするために要するアクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散し、
前記ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として１つ又は複数の記憶装置に記憶させ、
前記ｎ個の分散鍵のうちの少なくとも１つの残りの分散鍵を、第１のユーザへ提供される第１のユーザ分散鍵として設定する、
ように構成される、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、アクセス管理システム、アクセス管理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、企業、官公庁、教育機関又はその他の団体により管理される情報が漏洩する事件が相次いで発生している。この原因の１つは、情報通信技術の発達の結果として情報へのアクセスが容易になり及び情報の可搬性も拡大しているにも関わらず、情報への不正なアクセス又はユーザの不注意による情報漏洩を防止する仕組みが十分に整備されていないことである。
【０００３】
概して、セキュリティリスクから情報を保護するためのアクセス管理は、各ユーザのアクセス権限を端末、フォルダ又はデータファイルなどの単位で定義することにより行われる。しかし、こうしたアクセス管理は、アカウントの乗っ取り又は（いわゆるルート権限を与えられた）システム管理者による不正行為に対しては脆弱である。
【０００４】
機密データをより強固に保護する技術として、秘密分散法が知られている。秘密分散法の一種である閾値分散法によれば、データはｎ個の断片（シェアともいう）へと分散され、ｎ個の断片のうち定足数ｋ以上の断片が集められない限り元のデータは復元不能とされる。閾値分散法を機密データに適用し、ｎ個の断片を信頼できるｎ人のユーザに配布しておけば、少なくともｋ人のユーザが悪意を持って協力しない限り、機密データが漏洩することはない。
【０００５】
非特許文献１は、閾値分散法がデータを複数の断片へと分散する結果として総データサイズを顕著に増大させてしまう問題点に対し、データ自体を分散するのではなく、データを暗号化し及び復号する際に使用される暗号鍵を閾値分散法に従ってｎ個の断片へと分散して、分散されたｎ個の断片をｎ人のユーザに配布する手法を提案している。
【０００６】
非特許文献２は、ＡＯＮＴ（All  Or  Nothing  Transform）法と呼ばれるデータ変換技術を開示している。ＡＯＮＴ法によれば、総データサイズをほとんど増大させることなくデータがランダムなビット列へと変換され、そのビット列のうちの１ビットでも欠如すると元のデータは復元不能となる。ＡＯＮＴ変換後のビット列を複数の断片へと分割してそれら断片を複数のユーザに配布することで、閾値分散法において分散数ｎが定足数ｋに等しいケースと同等の効果（即ち、ｎ人のユーザが協力しない限り、元のデータを復元することができない）を達成することができる。よって、ＡＯＮＴ法もまた、秘密分散法の一種として位置付けることができる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】H.  Krawczyk,  “Secret  Sharing  Made  Short”，  CRYPTO  '93  Proceedings  of  the  13th  Annual  International  Cryptology  Conference  on  Advances  in  Cryptology，  Pages  136-146，  August  22-26,  1993
【非特許文献２】R.  Rivest,  “All-or-Nothing  Encryption  and  The  Package  Transform”,  FSE  '97  Proceedings  of  Fast  Software  Encryption,  Pages  210-218,  1997
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、どういった種類の方式が用いられるかに関わらず、定足数のユーザが集まらなければデータへアクセスすることができないという制約は、秘密分散法の用途及び応用を狭めてしまう。通常、秘匿すべきデータが生成される当初からそのデータへのアクセスを何人のユーザに許容するかを確定させることは困難である。また、データを共有するユーザの数が決定されるまでデータが秘匿されないとしたら、本来のセキュリティ強化の目的が損なわれる。アクセス管理の仕組みを実現するにあたっては、セキュリティの強化が重要であると同時に、ユーザの利便性を維持し又は向上させることもまた重要である。
【０００９】
本開示に係る技術は、上述した既存の技術の欠点のうちの１つ以上を解決し又は少なくとも軽減する仕組みを提供する。
【課題を解決するための手段】
【００１０】
本開示のある観点によれば、秘匿されるデータへのアクセスを管理するための管理モジュールを含むアクセス管理システムであって、前記管理モジュールは、秘匿される前記データへアクセスするために要するアクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散し、前記ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として１つ又は複数の記憶装置に記憶させ、前記ｎ個の分散鍵のうちの少なくとも１つの残りの分散鍵を、第１のユーザへ提供される第１のユーザ分散鍵として設定する、ように構成される、アクセス管理システムが提供される。
【００１１】
前記管理モジュールは、前記第１のユーザからユーザ分散鍵の複製が要求された場合に、前記第１のユーザが所有するメモリから取得される前記第１のユーザ分散鍵と、前記１つ又は複数の記憶装置が記憶している前記システム分散鍵とに基づいて、第２のユーザ分散鍵を生成する、ようにさらに構成されてもよい。
【００１２】
前記管理モジュールは、前記第２のユーザ分散鍵を、前記第１のユーザにより指定される第２のユーザへ提供されるユーザ分散鍵として設定する、ようにさらに構成されてもよい。
【００１３】
前記管理モジュールは、前記第２のユーザに鍵複製権限が付与された場合にのみ、前記第２のユーザからの要求に応じて、前記第２のユーザ分散鍵と前記システム分散鍵とに基づいて第３のユーザ分散鍵を生成する、ようにさらに構成されてもよい。
【００１４】
前記アクセス管理システムは、前記管理モジュールから提供される前記第１のユーザ分散鍵を、前記第１のユーザが所有する前記メモリに記憶させる、ように構成されるユーザモジュール、をさらに含んでもよい。
【００１５】
前記システム分散鍵の数ｉ及び前記定足数ｋは、ｉ＝ｋ−１を満たしてもよい。
【００１６】
前記管理モジュールは、前記分散鍵に基づく多項式補間のためのインデックスごとに、ユーザ分散鍵の有効性を管理する、ようにさらに構成されてもよい。
【００１７】
前記アクセス鍵は、前記データに対するＡＯＮＴ法での変換及び逆変換の際に使用されるランダムビット列を含んでもよい。
【００１８】
前記管理モジュールは、前記ランダムビット列を用いて前記ＡＯＮＴ法で前記データが変換済みである場合に、前記第１のユーザが所有するメモリから取得される前記第１のユーザ分散鍵と、前記１つ又は複数の記憶装置が記憶している前記システム分散鍵とに基づいて復元される前記ランダムビット列を用いて、変換済みの前記データに対する前記ＡＯＮＴ法での前記逆変換を実行する、ようにさらに構成されてもよい。
【００１９】
前記管理モジュールは、更新された前記データの保存が要求された場合に、前記第１のユーザ分散鍵と前記システム分散鍵とに基づいて復元される前記ランダムビット列を用いて、更新された前記データに対する前記ＡＯＮＴ法での変換を実行する、ようにさらに構成されてもよい。
【００２０】
他の観点によれば、秘匿されるデータへのアクセスを管理するための、プロセッサにより実行される方法であって、秘匿される前記データへアクセスするために要するアクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散することと、前記ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として１つ又は複数の記憶装置に記憶させることと、前記ｎ個の分散鍵のうちの少なくとも１つの残りの分散鍵を、第１のユーザへ提供される第１のユーザ分散鍵として設定することと、を含む方法が提供される。
【００２１】
他の観点によれば、情報処理装置のプロセッサを、秘匿されるデータへのアクセスを管理するための管理モジュールとして機能させるためのコンピュータプログラムであって、前記管理モジュールは、秘匿される前記データへアクセスするために要するアクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散し、前記ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として１つ又は複数の記憶装置に記憶させ、前記ｎ個の分散鍵のうちの少なくとも１つの残りの分散鍵を、第１のユーザへ提供される第１のユーザ分散鍵として設定する、ように構成される、コンピュータプログラムが提供される。
【発明の効果】
【００２２】
本開示に係る技術によれば、上述した既存の技術の欠点のうちの１つ以上を解決し又は少なくとも軽減することができる。
【図面の簡単な説明】
【００２３】
【図１】一実施形態に係るアクセス管理システムの概要について説明するための説明図である。
【図２】一実施形態に係るアクセス管理の基本的な原理について説明するための第１の説明図である。
【図３】一実施形態に係るアクセス管理の基本的な原理について説明するための第２の説明図である。
【図４】一実施形態に係るユーザ分散鍵の複製の基本的な原理について説明するための説明図である。
【図５】一実施形態に係る管理サーバの構成の一例を示すブロック図である。
【図６】分散鍵のインデックスについて説明するための説明図である。
【図７】分散鍵の使用停止について説明するための説明図である。
【図８】一実施形態に係るユーザ端末の構成の一例を示すブロック図である。
【図９】ユーザが対象データへのアクセスを開始し及び終了するまでの一連の動作の概略について説明するための説明図である。
【図１０】一実施形態に係る金庫生成処理の流れの一例を示すシーケンス図である。
【図１１】一実施形態に係る金庫アクセス処理の流れの一例を示すシーケンス図である。
【図１２】一実施形態に係る鍵複製処理の流れの一例を示すシーケンス図である。
【図１３Ａ】一実施形態に係る鍵取得処理の流れの第１の例を示すシーケンス図である。
【図１３Ｂ】一実施形態に係る鍵取得処理の流れの第２の例を示すシーケンス図である。
【図１４】一実施形態に係る鍵使用停止処理の流れの一例を示すシーケンス図である。
【発明を実施するための形態】
【００２４】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２５】
また、以下の順序で説明を行う。
１．システムの概要
２．装置の構成例
２−１．アクセス管理サーバ
２−２．ユーザ端末
３．処理の流れ
３−１．金庫生成処理
３−２．金庫アクセス処理
３−３．鍵複製処理／鍵取得処理
３−４．鍵使用停止処理
４．まとめ
【００２６】
＜１．システムの概要＞
（１）システム構成例
まず、図１を参照しながら、本開示に係る技術の一実施形態に係るアクセス管理システムの概要について説明する。図１に示したアクセス管理システム１は、アクセス管理サーバ１００、ストレージサーバ１５０、及び１つ以上のユーザ端末２００ａ、２００ｂを含む。
【００２７】
アクセス管理サーバ１００は、ユーザが秘匿することを望むデータへのアクセスを管理するための管理機能群を提供する情報処理装置である。アクセス管理サーバ１００は、ネットワーク５を介して１つ以上のユーザ端末２００ａ、２００ｂと接続される。ネットワーク５は、企業、官公庁、教育機関又はその他の団体のプライベートネットワーク（例えば、ＬＡＮ（Local  Area  Network）若しくはＶＰＮ（Virtual  Private  Network））であってもよく、又はインターネット若しくはクラウドネットワークなどのパブリックネットワークであってもよい。アクセス管理サーバ１００は、さらにストレージサーバ１５０と接続される。ストレージサーバ１５０は、アクセス管理サーバ１００によるアクセス管理の対象とされるデータを記憶するデータストレージである。アクセス管理サーバ１００は、ネットワーク５を介してストレージサーバ１５０と接続されてもよく、又は、ファイバチャネル若しくはｉＳＣＳＩ（Internet  Small  Computer  System  Interface）などのトランスポートプロトコルを用いて構築されるストレージ専用のネットワークを介してストレージサーバ１５０と接続されてもよい。説明の簡明さのために、図１には単一のアクセス管理サーバ１００及び単一のストレージサーバ１５０のみを示している。しかしながら、後述するアクセス管理サーバ１００の管理機能群は、複数のサーバ装置へ分散的に配置されてもよい。また、アクセス管理の対象とされるデータは、複数のデータストレージにより記憶されてもよい。
【００２８】
ユーザ端末２００ａは、ユーザＵａが所有する端末装置である。ユーザ端末２００ｂは、ユーザＵｂが所有する端末装置である。本明細書において、これらユーザ端末を互いに区別する必要の無い場合には、符号の末尾のアルファベットを省略することにより、これらをユーザ端末２００と総称する。他の構成要素の符号の扱いも同様である。ユーザ端末２００は、例えば、ノートブックＰＣ（Personal  Computer）、タブレットＰＣ、デスクトップＰＣ、スマートフォン、セルラーフォン、ナビゲーション端末又はＰＤＡ（Personal  Digital  Assistant）などの、いかなる種類の端末装置であってもよい。ユーザは、ユーザ端末２００を用いて、例えばテキスト、文書、通信メッセージ、画像、映像、音声、設定データ又は実行可能ファイルといった様々な形態のデータを扱う。ユーザ端末２００上で扱われるデータは、ユーザが秘匿することを望むデータを含む。
【００２９】
１つのシナリオにおいて、ユーザＵａは、企業の役員である。ユーザＵａは、秘匿されるべき機密データをユーザ端末２００ａ上で作成する。旧来の典型的なアクセス管理の手法によれば、ユーザＵａは、作成した機密データを企業の共有サーバ（例えば、ストレージサーバ１５０又は図示しない他のサーバ）へ格納する。ユーザには、共有サーバのフォルダ又はファイル単位のアクセス権限が付与され、アクセス権限はディレクトリサービスにより管理される。ユーザＵａは、共有サーバへアクセスする際に自らのＩＤ及びパスワードを認証画面へと入力し、成功裏の認証の後に共有サーバ内の機密データへとアクセスする。もう１人の役員であるユーザＵｂもまた、有効なアクセス権限を付与されている場合には、ＩＤ及びパスワードを用いたユーザ認証の後に、同じ機密データへとアクセスすることができる。ユーザ認証と共に、又はユーザ認証とは独立的に、ユーザ端末の端末固有のアドレス（例えば、ＩＰアドレス又はＭＡＣアドレス）に基づく端末認証が行われる場合もある。
【００３０】
上述した旧来のアクセス管理の手法の欠点は、共有サーバを運用するために必要とされるルート権限（スーパーユーザ権限ともいう）を有するアカウントが乗っ取られるリスク、及びルート権限を正当に与えられたシステム管理者による不正行為のリスクに対する脆弱性である。ルート権限が悪意ある人間により入手されると、共有サーバに格納された機密データは自由に閲覧され、改竄され、及び外部へと漏洩されかねない。
【００３１】
上述したセキュリティリスクに対して機密データをより強固に保護する技術として、秘密分散法が知られている。既存の秘密分散法によれば、機密データは複数のシェアへと分散され、それら複数のシェアがそれぞれ複数のユーザへ配布される。そして、定足数以上のシェアが集まる場合に限り、元の機密データへのアクセスが可能とされる。例えば、図１のケースにおいて、定足数ｋが３に等しい（ｋ＝３）と仮定すると、ユーザＵａが第１のシェアを、ユーザＵｂが第２のシェアを、図示しない第３のユーザが第３のシェアをそれぞれ提供することにより、元の機密データを復元することが可能となる。
【００３２】
しかしながら、それらユーザのうちの１人でも不在であれば（定足数が満たされなければ）データへのアクセスが不可能であるという事実は、ユーザの活動に制約を課し、利便性を大きく低下させる。また、通常、秘匿すべきデータが生成される当初からそのデータへのアクセスを何人のユーザに許容するかを確定させることは困難である。データを共有するユーザの数が決定されるまでデータが秘匿されないとしたら、本来のセキュリティ強化の目的が損なわれる。
【００３３】
本開示に係る技術の一実施形態は、これら既存の技術の欠点のうちの１つ以上を解決し又は少なくとも軽減するために導入される。一実施形態において、アクセス管理サーバ１００は、秘匿されるデータへアクセスするために要するアクセス鍵を、分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散する。例えば、アクセス鍵は、ランダム化されたデータを元データへと復元するために要するビット列、暗号化されたデータを復号するために要する暗号鍵、又はデータへのアクセスを開放するために要するパスワードなどであってよい。本明細書において、データを秘匿するとの用語は、元データを推測することが不可能となるようにデータを変換すること、データを無意味なビット列へとランダム化すること、データを暗号化すること、及びデータへのアクセスを遮断することなど、データ保護に関連する技術を広く含むことを意図される。ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵は、システム分散鍵としてストレージサーバ１５０内に記憶される。また、アクセス管理サーバ１００は、ｎ個の分散鍵のうちの少なくとも１つの残りの分散鍵をユーザ分散鍵として設定する。ユーザＵａは、自身に割り当てられた少なくとも１つのユーザ分散鍵を受け取り、当該ユーザ分散鍵を例えばメモリ２５０内に格納する。後に詳しく説明するように、ユーザＵａは、秘匿されるデータ（例えば、ストレージサーバ１５０に格納した機密データ）へアクセスすることを望む場合、メモリ２５０内のユーザ分散鍵をアクセス管理サーバ１００へ提供するだけでよい。ストレージサーバ１５０はｉ個のシステム分散鍵を記憶するが、ｉ個のシステム分散鍵は定足数ｋを満たさないため、ルート権限を有する悪意ある人間がそれらシステム分散鍵を読み出すことができたとしても、データへの不正なアクセスは防止される。ユーザ分散鍵を記憶する（各ユーザが所有する）メモリは、図１に示したメモリ２５０のような外付け型の記憶媒体であってもよく、又はメモリ２１０のようなユーザ端末により内蔵される記憶媒体であってもよい。
【００３４】
（２）基本的な原理
次に、図２〜図４を参照しながら、一実施形態に係るアクセス管理の基本的な原理についてより具体的に説明する。ここで説明する実施形態では、上述したアクセス鍵として、秘匿すべきデータに対するＡＯＮＴ法での変換又は逆変換の際に使用されるランダムビット列が採用される。
【００３５】
図２の左下において“Ｍ”とラベリングされたボックスは、ユーザが秘匿することを望む対象データを表す。対象データは、単一のデータファイル、複数のファイルの集合、ファイル及びフォルダの混成、又は空のフォルダであってもよい。
【００３６】
アクセス管理の開始に際して、まず、ランダムビット列Ｒが生成される（ステップＳ１１）。ランダムビット列Ｒは、暗号学的な疑似乱数を表すビット列であり得る。ランダムビット列Ｒは、分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵Ｋ１，…，Ｋｎへと分散される（ステップＳ１２）。典型的には、ｎ＝ｋであってよい。そして、ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵Ｋ１，…，Ｋｉが、ユーザに配布されることなくシステム分散鍵として記憶される（ステップＳ１３）。一方、少なくとも１つの残りの分散鍵は、ユーザへ提供されるユーザ分散鍵として設定され、当該ユーザが所有するメモリ内に記憶される（ステップＳ１４）。初期のユーザは、ユーザ分散鍵の複製権限を有するオーナとしてシステムに登録され得る。ユーザ分散鍵の設定が完了すると、ランダムビット列Ｒは消去され得る（ステップＳ１５）。
【００３７】
一方、分散鍵の初期生成の際に、又は初期生成よりも後のタイミングで、対象データＭは、ランダムビット列Ｒを用いてＡＯＮＴ法で１つ以上の分散データＸ１，…，Ｘｍ（１≦ｍ）へと変換（あるいは分散）される（ステップＳ２１）。それら分散データＸ１，…，Ｘｍは、１つ又は複数の記憶装置内に記憶される（ステップＳ２２）。
【００３８】
ＡＯＮＴ法の性質に起因して、分散データＸ１，…，Ｘｍ（又はそれらの結合である変換済みデータＸ）のビット列のうちの１ビットでも欠如すると、対象データＭは復元不能となる。
【００３９】
一例として、ＡＯＮＴ法を実装するためのアルゴリズムの一種であるＯＡＥＰ（Optimal  Asymmetric  Encryption  Padding）法に従った変換の手順は、次のＡ１）〜Ａ６）の通りである：
Ａ１）対象データＭにゼロをパディングすることにより、ビット長を所定のサイズへと拡張したデータＭ´を導出
Ａ２）暗号学的ハッシュ関数Ｇを用いて、ランダムビット列Ｒを上記所定のサイズを有するハッシュ値Ｇ（Ｒ）へと拡張
Ａ３）Ｍ´とＧ（Ｒ）との排他的論理和を計算することにより、変換済みデータＸ（Ｘ１，…，Ｘｍ）を導出
Ａ４）暗号学的ハッシュ関数Ｈを用いて、変換済みデータＸをＲと同じサイズを有するハッシュ値Ｈ（Ｘ）へと縮小
Ａ５）ＲとＨ（Ｘ）との排他的論理和を計算することにより、変換済みデータＹを導出
Ａ６）ＸとＹとの連結Ｘ||Ｙを出力とする
【００４０】
対象データＭのサイズが上記所定のサイズを上回る場合、対象データＭを複数の部分データへとセグメント化し、各部分データについて上記手順を反復することにより、対象データＭの全体をＡＯＮＴ変換することができる。
【００４１】
ＯＡＥＰ法に従った逆変換の手順は、次のＢ１）〜Ｂ３）の通りである：
Ｂ１）Ｘ||ＹをＸ及びＹへと分離
Ｂ２）ＹとＨ（Ｘ）との排他的論理和を計算することにより、ランダムビット列Ｒを導出
Ｂ３）ＸとＧ（Ｒ）との排他的論理和を計算することにより、対象データＭを導出
【００４２】
本実施形態では、対象データＭに対するＡＯＮＴ変換において、上記手順のうちのＡ４）〜Ａ６）は省略される。その代わりに、ランダムビット列Ｒが閾値分散法を用いて複数の分散鍵Ｋ１，…，Ｋｎへと分散され、定足数ｋを下回る数のシステム分散鍵のみがシステム側で保管されることにより、対象データＭの保護が実現される。対象データＭを復元する際には、ＡＯＮＴ逆変換において、上記手順のうちのＢ１）及びＢ２）が省略され、その代わりにｋ個の分散鍵からランダムビット列Ｒが復元される。
【００４３】
図３は、秘匿された対象データＭへユーザがアクセスするための基本的な原理を示している。ここでは、定足数ｋ及びシステム分散鍵の数ｉがｉ＝ｋ−１を満たすものとする。
【００４４】
まず、ユーザはユーザ分散鍵Ｋｋをシステムへ送信する（ステップＳ３１）。システムは、ユーザ分散鍵Ｋｋに加えて、ｉ個のシステム分散鍵Ｋ１，…，Ｋｉを取得する（ステップＳ３２）。そして、ユーザ分散鍵Ｋｋとシステム分散鍵Ｋ１，…，Ｋｉとに基づいて閾値分散法を用いてランダムビット列Ｒが復元される（ステップＳ３３）。
【００４５】
さらに、分散データＸ１，…，Ｘｍがストレージから取得され（ステップＳ４１）、分散データＸ１，…，Ｘｍを結合することにより得られる結合データＸがランダムビット列Ｒを用いてＡＯＮＴ法で対象データＭへと逆変換される（ステップＳ４２）。
【００４６】
複製権限を付与されたユーザが自身の第１のユーザ分散鍵を提供すれば、閾値分散法の性質に起因して、他のユーザが対象データＭへアクセスするための第２のユーザ分散鍵を生成することが可能である。図４は、ユーザ分散鍵の複製の基本的な原理を示している。ここでも、定足数ｋ及びシステム分散鍵の数ｉがｉ＝ｋ−１を満たすものとする。
【００４７】
まず、オーナであるユーザＵａは、第１のユーザ分散鍵Ｋｋをシステムへ送信する（ステップＳ５１）。システムは、第１のユーザ分散鍵Ｋｋに加えて、ｉ個のシステム分散鍵Ｋ１，…，Ｋｉを取得する（ステップＳ５２）。そして、第１のユーザ分散鍵Ｋｋとシステム分散鍵Ｋ１，…，Ｋｉとに基づいて、閾値分散法におけるｋ−１次の多項式（多項式の係数セット）が復元される（ステップＳ５３）。概念的には、このステップは、ｋ個の参照点の座標が決定されれば二次元平面上でそれら参照点の全てを通るｋ−１次の多項式を多項式補間によって導出できるという原理に基づく。さらに、ｋ個の参照点とは異なるｋ＋１番目の参照点を多項式の軌跡上に設定することにより、第２のユーザ分散鍵Ｋｋ＋１を生成することができる（ステップＳ５４）。この第２のユーザ分散鍵Ｋｋ＋１は、ユーザＵａが信頼を与えたユーザＵｂへと配布され得る（ステップＳ５５）。上述したようにランダムビット列Ｒを復元するための分散鍵の定足数はｋに等しいため、ユーザＵｂは、ユーザＵａが不在であっても、図３に示した原理に従い自らのユーザ分散鍵Ｋｋ＋１を用いて対象データＭへアクセスすることができる。
【００４８】
ここまでの説明から理解されるように、上述した原理の下では、同時に変換され又は同時に復元される１つのデータセットごとに１つのアクセス鍵（ランダムビット列Ｒ）が必要とされる。１つのアクセス鍵でアクセスされるそうしたデータセットを、本明細書では「金庫」と称する。最初のユーザ鍵が設定される際、金庫は空であってもよく、又は何らかのデータを含んでもよい。ユーザは、ユーザ鍵を用いて金庫を開錠（データセットを復元）する。ファイルの生成又は更新が終了すると、金庫は施錠される。アクセス管理サーバ１００は、ストレージサーバ１５０を利用して、システム分散鍵及び金庫に収容される分散データの実体を管理する。アクセス管理システム１内に複数の金庫（即ち、別個のアクセス鍵でそれぞれアクセスされる複数のデータセット）が存在してもよい。複数の金庫へそれぞれアクセスするための複数のユーザ鍵が１人のユーザへ配布されてもよい。ユーザ鍵は、信頼できる何人のユーザへと複製されてもよい。次節より、こうした原理を実装するための各装置のより詳細な構成の例を具体的に説明する。
【００４９】
＜２．装置の構成例＞
＜２−１．アクセス管理サーバ＞
（１）ハードウェア構成
図５は、一実施形態に係るアクセス管理サーバの構成の一例を示すブロック図である。図５を参照すると、アクセス管理サーバ１００は、通信インタフェース１０２、接続インタフェース１０４、メインメモリ１１２、バス１１８、プロセッサ１２０及び内部ストレージ１３０を備える。
【００５０】
通信インタフェース１０２は、アクセス管理サーバ１００によるネットワーク５を介した他の装置との通信のためのインタフェースである。通信インタフェース１０２は、有線通信インタフェースであってもよく、又は無線通信インタフェースであってもよい。
【００５１】
接続インタフェース１０４は、アクセス管理サーバ１００へ外部機器又は周辺機器を接続するためのインタフェースである。接続インタフェース１０４は、例えば、ファイバチャネル又はｉＳＣＳＩなどのトランスポートプロトコルをサポートし、１つ以上のストレージサーバ１５０をアクセス管理サーバ１００へ接続させる。
【００５２】
メインメモリ１１２は、典型的には、揮発性メモリ（例えば、ＲＡＭ（Random  Access  Memory））である。メインメモリ１１２は、アクセス管理サーバ１００の動作に必要とされるコンピュータプログラム及びデータを、動作の実行時に一時的に記憶する。
【００５３】
バス１１８は、通信インタフェース１０２、接続インタフェース１０４、メインメモリ１１２、プロセッサ１２０及び内部ストレージ１３０を相互に接続する信号線である。
【００５４】
プロセッサ１２０は、例えばＣＰＵ（Central  Processing  Unit）又はＭＰＵ（Micro  Processing  Unit）であってよい。プロセッサ１２０は、例えば内部ストレージ１３０又は他の何らかの記憶媒体により予め記憶され、メインメモリ１１２へと読み込まれるコンピュータプログラムを実行することにより、管理モジュール１２２を動作させる。管理モジュール１２２は、データの秘匿化及び復元を通じて本実施形態に係るアクセス管理の仕組みを具現化するモジュールである。本実施形態において、管理モジュール１２２は、構成管理サブモジュール１２４及び秘密分散サブモジュール１２６を含む。図５の例に限定されず、構成管理サブモジュール１２４及び秘密分散サブモジュール１２６は、それぞれ物理的に別個のサーバ装置上に配置されてもよい。これら機能モジュールの役割について、後にさらに説明する。
【００５５】
内部ストレージ１３０は、アクセス管理サーバ１００の二次記憶装置である。内部ストレージ１３０は、例えばＨＤＤ（Hard  Disk  Drive）又はＳＳＤ（Solid  State  Drive）であってよい。内部ストレージ１３０は、プロセッサ１２０により実行される上述したコンピュータプログラムを記憶してもよい。さらに、内部ストレージ１３０は、上述した管理モジュール１２２がアクセス管理のために使用するデータベース（ＤＢ）を記憶する。本実施形態では、一例として、内部ストレージ１３０は、ユーザＤＢ１３２及び金庫ＤＢ１３４を記憶する。これらデータベースの役割について、後にさらに説明する。
【００５６】
（２）管理モジュール−構成管理サブモジュール
構成管理サブモジュール１２４は、ユーザＤＢ１３２を用いて、アクセス管理システム１を利用するユーザのアクセス権限を管理する。また、構成管理サブモジュール１２４は、金庫ＤＢ１３４を用いて、アクセス管理システム１内に生成される金庫の構成を管理する。
【００５７】
ユーザＤＢ１３２は、例えば次のようなデータ項目を有し得る：
・「ユーザＩＤ」
・「ユーザ名」
・「役職」
・「所属グループ」
・「金庫生成権限フラグ」
・「金庫利用権限フラグ」
・「デバイス識別情報」
「ユーザＩＤ」は、ユーザを一意に識別するための識別子である。「ユーザ名」は、画面に表示されるユーザの名称を表す。「役職」は、アクセス管理システム１を運用する組織におけるユーザの役職を表す。「所属グループ」は、当該組織においてユーザが所属するグループを表す。「金庫生成権限フラグ」は、「ユーザＩＤ」により識別されるユーザが金庫を生成する権限を有するか否かを示すフラグである。「金庫利用権限フラグ」は、「ユーザＩＤ」により識別されるユーザが金庫を利用する権限を有するか否かを示すフラグである。例えば、「金庫生成権限フラグ」が「Ｎｏ」を示し、「金庫利用権限フラグ」が「Ｙｅｓ」を示すユーザは、金庫の生成を要求することはできないが、複製されたユーザ鍵を用いて他のユーザが生成した金庫へアクセスすることは許容される。「デバイス識別情報」は、端末認証が行われる場合に利用され得る情報である。例えば、「デバイス識別情報」は、ユーザが所有する端末の固有のアドレス（例えば、ＩＰアドレス又はＭＡＣアドレス）、及びユーザが所有するメモリの固有のデバイスＩＤ、の一方又は双方を含んでよい。
【００５８】
構成管理サブモジュール１２４は、金庫が生成される際に、生成される金庫に金庫ＩＤを付与する。そして、構成管理サブモジュール１２４は、金庫ＩＤに関連付けて金庫の属性を金庫ＤＢ１３４へ登録する。金庫ＤＢ１３４は、例えば次のようなデータ項目を有し得る：
・「金庫ＩＤ」
・「金庫名」
・「金庫アクセス用アドレス」
・「生成日時」
・「アクセス日時」
・「データサイズ」
・「システム分散鍵インデックスリスト」
・「定足数」
・「ユーザ分散鍵インデックスリスト」
・「インデックス別ユーザＩＤリスト」
・「オーナユーザＩＤ」
・「展開先パス」
「金庫ＩＤ」は、金庫を一意に識別するための識別子である。「金庫名」は、画面に表示される金庫の名称を表す。「金庫アクセス用アドレス」は、ユーザ端末２００が金庫へアクセスする際に使用されるアドレス（例えば、ＵＲＬ（Uniform  Resource  Locator））を表す。「生成日時」は、金庫が生成された日付及び時刻を表す。「アクセス日時」は、金庫への最後のアクセスが行われた日付及び時刻を表す。「データサイズ」は、金庫に収容されている対象データのデータサイズを表す。「システム分散鍵インデックスリスト」は、ｉ個のシステム分散鍵のインデックスのリストである。「定足数」は、金庫を開錠するために必要とされる最小の分散鍵の数を表す。システム全体にわたって定足数が一定である場合、金庫ＤＢ１３４のデータ項目から「定足数」は省略されてもよい。「ユーザ分散鍵インデックスリスト」は、１つ以上のユーザ分散鍵のインデックスのリストである。「インデックス別ユーザＩＤリスト」は、「ユーザ分散鍵インデックスリスト」により示される個々のインデックスに対応するユーザ分散鍵の配布先ユーザのユーザＩＤのリストである。「オーナユーザＩＤ」は、金庫のオーナとして登録されたユーザのユーザＩＤを表す。「展開先パス」は、金庫内のデータが復元された場合に復元されたデータが展開されるデータパスを表す。
【００５９】
金庫が生成される際、後述する秘密分散サブモジュール１２６により、アクセス鍵がｎ個の分散鍵へと分散される。構成管理サブモジュール１２４は、ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として設定し、及び少なくとも１つの残りの分散鍵を金庫の生成を要求したユーザへ提供されるユーザ分散鍵として設定する。これら分散鍵の設定は、対応するインデックスを金庫ＤＢ１３４の上述したインデックスリストへ登録することを含む。また、ユーザ分散鍵の設定は、対応するユーザＩＤを「インデックス別ユーザＩＤリスト」へ登録することを含む。ユーザ分散鍵が複製される際には、構成管理サブモジュール１２４は、秘密分散サブモジュール１２６により生成される新たな分散鍵を、複製を要求したユーザ（第１のユーザ）により指定される他のユーザ（第２のユーザ）へ提供されるユーザ分散鍵（第２のユーザ分散鍵）として設定する。第２のユーザ分散鍵のインデックスは「ユーザ分散鍵インデックスリスト」へ登録され、第２のユーザのユーザＩＤは「インデックス別ユーザＩＤリスト」へ登録される。
【００６０】
図６は、分散鍵のインデックスについて説明するための説明図である。図６のグラフは、１つの金庫のためのアクセス鍵であるランダムビット列Ｒを閾値分散する際に設定された多項式の軌跡を表す。グラフの横軸は多項式の定義域に相当し、縦軸は値域に相当する。ここでは、横軸の値をインデックスといい、あるインデックスに対応する多項式の値（縦軸の値）を鍵値という。一例として、定足数ｋは３に等しく、システム分散鍵の数ｉは２に等しいものとする。この場合、構成管理サブモジュール１２４は、金庫の生成の際に、例えばインデックス「１」及び「２」をシステム分散鍵のインデックスとして登録する。インデックス「１」に対応するシステム分散鍵の鍵値はＫ１である。インデックス「２」に対応するシステム分散鍵の鍵値はＫ２である。また、構成管理サブモジュール１２４は、金庫のオーナであるユーザＵａへインデックス「３」を割り当てる。インデックス「３」に対応するユーザ分散鍵の鍵値はＫ３である。構成管理サブモジュール１２４は、ユーザＵａからユーザＵｂのためのユーザ分散鍵の複製が要求されると、ユーザＵｂへインデックス「ｊ」を割り当てる。インデックス「ｊ」に対応するユーザ分散鍵の鍵値はＫｊである。このように複数のユーザに異なるインデックスを割り当てて割り当てインデックスにそれぞれ対応するユーザ分散鍵を発行することで、鍵値の重複が防止され、ユーザごとの鍵値の管理が容易となる。ここではインデックスとして自然数を使用する例を示しているが、インデックスは概して任意の有理数であってよい。
【００６１】
上述した「インデックス別ユーザＩＤリスト」は、各ユーザ分散鍵に対応する多項式補間のためのインデックスと各ユーザ分散鍵のユーザとをマッピングするマッピングデータとしての役割を有する。一例として、構成管理サブモジュール１２４は、あるユーザがユーザ分散鍵を使用しようとする場合に、
・ユーザＤＢ１３２において当該ユーザが正当な権限を有するか、及び
・金庫ＤＢ１３４において当該ユーザが有効なマッピング（有効なインデックスとユーザＩＤとのマッピング）を有するか、
を検証するように構成される。構成管理サブモジュール１２４は、正当な権限を有するユーザによる有効なユーザ分散鍵の使用（例えば、金庫の開錠又はユーザ分散鍵の複製）を許容する一方、正当な権限を有しないユーザによるユーザ分散鍵の使用、及び有効ではないユーザ分散鍵の使用を拒否する。
【００６２】
図７は、分散鍵の使用停止について説明するための説明図である。図７には、図６に示したものと同様のランダムビット列Ｒを閾値分散する際に設定された多項式の軌跡が表されている。金庫は既に生成済みであり、インデックス「１」及び「２」に対応する２つのシステム分散鍵が設定されている。また、インデックス「３」に対応するユーザ分散鍵が金庫のオーナであるユーザＵａのために設定されている。インデックス「５」に対応するユーザ分散鍵は、ユーザＵｃのために設定されている。ユーザＵａは、例えばユーザＵｃがセキュリティリスクにさらされている（例えば、メモリの紛失又はアカウントの乗っ取りなど）と判断される場合、構成管理サブモジュール１２４へユーザＵｃの分散鍵の使用停止を要求する。構成管理サブモジュール１２４は、要求に応じて、金庫ＤＢ１３４の「ユーザ分散鍵インデックスリスト」に、インデックス「５」が無効化されたことを示す標識を登録する。その結果、ユーザＵｃ又は第三者によるインデックス「５」に対応するユーザ分散鍵はもはや使用不能となる。
【００６３】
ユーザ分散鍵を複製する権限は、オーナユーザのみに付与されてもよい。オーナユーザの追加又は変更が可能であってもよい。さらに、ユーザ分散鍵を複製する権限がオーナユーザ以外のユーザへ付与されてもよい。但し、ユーザ分散鍵の複製は、少なくとも自らのユーザ分散鍵を有するユーザのみによって要求されることができる。一例として、ある第２のユーザは、オーナユーザではなく、第２のユーザ分散鍵を有しているものとする。構成管理サブモジュール１２４は、第２のユーザに鍵複製権限が付与された場合にのみ、第２のユーザからの要求に応じて、第２のユーザ分散鍵とシステム分散鍵とに基づいて第３のユーザ分散鍵を生成（即ち、複製）する。第３のユーザ分散鍵は、第２のユーザにより指定される第３のユーザのために設定され得る。ユーザＤＢ１３２において、各ユーザによる鍵の複製を許容するか否かを示す「鍵複製権限フラグ」が追加的に定義されてもよい。また、金庫ＤＢ１３４において、「インデックス別ユーザＩＤリスト」に列挙されたユーザの各々が鍵複製権限を有するか否かを示す標識（例えば、フラグ）が追加されてもよい。
【００６４】
（３）管理モジュール−秘密分散サブモジュール
秘密分散サブモジュール１２６は、秘密分散処理を実行するサブモジュールである。より具体的には、秘密分散サブモジュール１２６は、金庫が生成される際に、秘匿されるデータへアクセスするために要するアクセス鍵を生成する。本実施形態において、アクセス鍵は、秘匿すべきデータに対するＡＯＮＴ法での変換又は逆変換の際に使用されるランダムビット列を含む。秘密分散サブモジュール１２６は、生成したアクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散する。さらに、秘密分散サブモジュール１２６は、ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵としてストレージサーバ１５０に記憶させる。また、秘密分散サブモジュール１２６は、構成管理サブモジュール１２４によりユーザ分散鍵として設定される少なくとも１つの残りの分散鍵を、対応するインデックスを示す鍵情報と共にユーザへ提供する。
【００６５】
ユーザ分散鍵は、プライベートネットワークなどのセキュアな環境においては、電子メールに添付するなど、任意の手法でアクセス管理サーバ１００からユーザ端末２００へ送信されてよい。非セキュアな環境では、ユーザ分散鍵は、例えばＳＳＨ（Secure  Shell）、ＴＬＳ（Transport  Layer  Security）又はＳＳＬ（Secure  Sockets  Layer）などの通信プロトコルを用いて形成されるセキュアなチャネルを通じて送信され得る。秘密分散サブモジュール１２６からユーザ端末２００上の後述するユーザモジュール２２２へとユーザ分散鍵が利用可能であるという通知のみが送信され、ユーザモジュール２２２からのアクセスに応じてユーザ分散鍵がユーザ端末２００へとダウンロードされてもよい。秘密分散サブモジュール１２６は、ユーザ分散鍵がユーザモジュール２２２により成功裏に取得された後に、アクセス管理サーバ１００に存在するユーザ分散鍵を消去する。
【００６６】
秘密分散サブモジュール１２６は、ユーザが秘匿することを要求した対象データに対して、ランダムビット列などのアクセス鍵を用いてＡＯＮＴ法での変換を実行する。システム側のユーザ分散鍵が消去された後にＡＯＮＴ変換が実行される場合、秘密分散サブモジュール１２６は、まず、ユーザが所有するメモリ内に記憶されている少なくとも１つのユーザ分散鍵をユーザモジュール２２２から受信する。また、秘密分散サブモジュール１２６は、ストレージサーバ１５０内に記憶されているｉ個のシステム分散鍵を取得する。そして、秘密分散サブモジュール１２６は、これらユーザ分散鍵及びシステム分散鍵に基づいてアクセス鍵を復元して、復元されたアクセス鍵を対象データのＡＯＮＴ変換のために使用する。秘密分散サブモジュール１２６は、ＡＯＮＴ変換後のデータをさらに１つ以上の分散データへと分散し、それら分散データをストレージサーバ１５０に記憶させる。ＡＯＮＴ変換のために使用されたアクセス鍵、及びアクセス鍵の復元のために使用されたユーザ分散鍵が消去されると、対象データは、システム側に残る情報のみからは復元不能となる。
【００６７】
秘密分散サブモジュール１２６は、ＡＯＮＴ変換を通じて秘匿された対象データへのアクセスをユーザが要求した場合、まず、ユーザが所有するメモリ内に記憶されている少なくとも１つのユーザ分散鍵をユーザモジュール２２２から受信する。また、秘密分散サブモジュール１２６は、ストレージサーバ１５０内に記憶されているｉ個のシステム分散鍵をストレージサーバ１５０から取得する。秘密分散サブモジュール１２６は、これらユーザ分散鍵及びシステム分散鍵に基づいて、アクセス鍵を復元する。また、秘密分散サブモジュール１２６は、１つ以上の分散データをストレージサーバ１５０から取得して、それら分散データを結合することにより変換済みデータを復元する。そして、秘密分散サブモジュール１２６は、ｋ個の分散鍵に基づいて復元されたアクセス鍵を用いて、変換済みデータに対してＡＯＮＴ法での逆変換を実行することにより、対象データを復元する。
【００６８】
秘密分散サブモジュール１２６は、単一のデータファイル、複数のファイルの集合、ファイル及びフォルダの混成、又は空のフォルダであり得る対象データを、金庫ＤＢ１３４の「展開先パス」により示されるデータパスへと展開する。対象データの展開先のデータパスは、アクセス管理サーバ１００（又は他のデータサーバ）において一時的にマウントされるフォルダ又はディレクトリであってもよい。秘密分散サブモジュール１２６は、アクセス鍵が実体として存在している限られた期間においてのみ一時的にマウントされるデータパスにおいて対象データを維持し、アクセスが終了するとそのデータパスをアンマウントして関連するデータを消去し得る。アクセスの終了は、例えばユーザ分散鍵を記憶しているメモリの接続切断、又はユーザからの明示的な指示などのイベントを契機として、ユーザモジュール２２２から秘密分散サブモジュール１２６へと通知され得る。秘密分散サブモジュール１２６は、所定の期間にわたってユーザアクションが検出されない場合のタイムアウトを契機としてアクセスが終了したと判定してもよい。こうした構成により、一旦復元された対象データが悪意ある第三者に読み取られてしまうリスクを最小化することができる。
【００６９】
秘密分散サブモジュール１２６は、例えば、アクセス管理サーバ１００のオペレーティングシステムを介して対象データの更新を監視してもよい。例えば、ユーザは、ユーザ端末２００上で動作するアプリケーションを用いて、対象データを更新する。ユーザ又はアプリケーションは、更新された対象データを保存することをアクセス管理サーバ１００へ要求する。このファイル保存要求は、アクセス管理サーバ１００のオペレーティングシステムにより受け付けられる。秘密分散サブモジュール１２６は、オペレーティングシステムを介して対象データについてのファイル保存要求を検出すると、アクセス鍵を用いてＡＯＮＴ法で対象データを１つ以上の分散データへと変換し得る。このように、対象データの閲覧及び更新のために利用されるアプリケーションと秘密分散サブモジュール１２６との間にオペレーティングシステムを介在させることで、既存の及び将来的に開発され得る多様なアプリケーションとアクセス管理システム１との間の円滑な連携が保証される。
【００７０】
秘密分散サブモジュール１２６は、ユーザ分散鍵を有する正当なユーザからユーザ分散鍵の複製が要求された場合に、当該ユーザが所有するメモリから取得されるユーザ分散鍵と、ストレージサーバ１５０が記憶しているシステム分散鍵とに基づいて、他のユーザによる対象データへのアクセスを可能とするための他のユーザ分散鍵を生成する。ユーザ分散鍵の複製は、図４及び図６を用いて説明したように、指定されたユーザへの新たなインデックスの割り当て、ｋ個の分散鍵に基づくｋ−１次の多項式の導出、及び新たなインデックスに対応する鍵値の導出を含み得る。秘密分散サブモジュール１２６は、このように複製したユーザ分散鍵を、対応するインデックスを示す鍵情報と共に、指定されたユーザへ提供する。
【００７１】
＜２−２．ユーザ端末＞
（１）ハードウェア構成
図８は、一実施形態に係るユーザ端末の構成の一例を示すブロック図である。図８を参照すると、ユーザ端末２００は、通信インタフェース２０２、接続インタフェース２０４、入力インタフェース２０６、ディスプレイ２０８、二次記憶装置２１０、メインメモリ２１２、バス２１８及びプロセッサ２２０を備える。
【００７２】
通信インタフェース２０２は、ユーザ端末２００によるネットワーク５を介した他の装置との通信のためのインタフェースである。通信インタフェース２０２は、有線ＬＡＮインタフェース、無線ＬＡＮインタフェース又はセルラー通信インタフェースなどを含んでよい。
【００７３】
接続インタフェース２０４は、ユーザ端末２００へ外部機器又は周辺機器を接続するためのインタフェースである。接続インタフェース２０４は、例えば、ＵＳＢ（Universal  Serial  Bus）インタフェース、ＩＣ（Integrated  Circuit）カードインタフェース又はメモリカードインタフェースなどを含んでよい。図８の例では、接続インタフェース２０４を介してユーザ端末２００へ外部メモリ２５０が接続されている。
【００７４】
入力インタフェース２０６は、ユーザがユーザ端末２００を操作し又はユーザ端末２００へ情報を入力するために使用されるユーザインタフェース（ＵＩ）である。入力インタフェース２０６は、例えば、タッチセンサ、キーパッド、キーボード、ボタン、スイッチ又はポインティングデバイスなどといった、いかなる種類のインタフェースを含んでもよい。入力インタフェース２０６は、マイクロフォン（図示せず）を介して取得されるユーザからの音声コマンドをユーザ入力として認識する音声入力モジュールを含んでもよい。
【００７５】
ディスプレイ２０８は、例えば、液晶ディスプレイ（ＬＣＤ）又は有機発光ダイオード（ＯＬＥＤ）ディスプレイなどといった表示モジュールである。ディスプレイ２０８は、後述するユーザモジュール２２２により生成されるＧＵＩ（Graphical  User  Interface）を表示し、及び他のアプリケーション画面を表示するために使用され得る。
【００７６】
二次記憶装置２１０は、例えばＨＤＤ又はＳＳＤであってよく、プロセッサ２２０により実行されるコンピュータプログラム、設定データ及びアプリケーションデータなどを記憶する。
【００７７】
メインメモリ２１２は、典型的には、揮発性メモリ（例えば、ＲＡＭ）である。メインメモリ２１２は、ユーザ端末２００の動作に必要とされるコンピュータプログラム及びデータを、動作の実行時に一時的に記憶する。
【００７８】
バス２１８は、通信インタフェース２０２、接続インタフェース２０４、入力インタフェース２０６、ディスプレイ２０８、二次記憶装置２１０、メインメモリ２１２及びプロセッサ２２０を相互に接続する信号線である。
【００７９】
プロセッサ２２０は、例えば、ＣＰＵ又はＭＰＵであってよい。プロセッサ２２０は、例えば二次記憶装置２１０又は他の何らかの記憶媒体により予め記憶され、メインメモリ２１２へと読み込まれるコンピュータプログラムを実行することにより、アクセス管理システム１のクライアント側モジュールとしての役割を有するユーザモジュール２２２を動作させる。この機能モジュールの役割について、次に説明する。
【００８０】
（２）ユーザモジュール
ユーザモジュール２２２は、アクセス管理サーバ１００により設定されるユーザ分散鍵を用いたユーザ端末２００からの金庫へのアクセスを管理する。ユーザモジュール２２２は、例えば、アプリケーションメニューからの選択、又はユーザ分散鍵を記憶している外部メモリ２５０のユーザ端末２００への接続の検出などのイベントを契機として起動される。ユーザモジュール２２２は、例えば、アクセス管理サーバ１００から利用可能な金庫に関する情報を取得し、利用可能な金庫のリスト及び関連する機能メニューをディスプレイ２０８に表示させる。
【００８１】
ユーザモジュール２２２によりユーザへと提供され得る機能メニューは、例えば次を含む：
・新たな金庫の生成
・金庫へのアクセス
・ユーザ分散鍵の複製
・ユーザ分散鍵の使用停止
・複製権限の付与
・ユーザ分散鍵の取得
・（金庫へアクセス中の場合）アクセス終了
なお、実際の表示される機能メニューは、ユーザＤＢ１３２において定義されるユーザの権限に依存して異なる。例えば、金庫生成権限を有しないユーザには、「新たな金庫の生成」機能は提供されない。金庫へアクセス可能な正当なユーザとして金庫ＤＢ１３４に登録されていないユーザには、当該金庫についての「金庫へのアクセス」機能は提供されない。金庫のオーナユーザではなく複製権限を付与されていないユーザには、当該金庫についての「ユーザ分散鍵の複製」機能、「ユーザ分散鍵の使用停止」機能及び「複製権限の付与」機能は提供されない。
【００８２】
ユーザモジュール２２２は、新たな金庫の生成がユーザにより指示されると、金庫生成要求をアクセス管理サーバ１００へ送信する。金庫生成要求は、少なくともユーザのユーザＩＤを含む。金庫の識別子又は名称がユーザにより指定される場合には、金庫生成要求は、これら情報をさらに含んでもよい。金庫生成要求に応じて、アクセス管理サーバ１００により金庫が生成され、生成された金庫へアクセスするためのユーザ分散鍵が設定される。ユーザモジュール２２２は、アクセス管理サーバ１００から提供されるユーザ分散鍵及び対応するインデックスを取得し、取得したユーザ分散鍵及びインデックスをユーザが所有するメモリへ記憶させる。ユーザ分散鍵及びインデックスは、金庫ＩＤに関連付けて記憶される。ユーザモジュール２２２は、ユーザ分散鍵がメモリへと成功裏に格納されると、鍵格納通知をアクセス管理サーバ１００へ送信して、システム側のユーザ分散鍵及び関連するデータを消去させる。ユーザ分散鍵は、例えば、二次記憶装置２１０内に記憶されてもよく、又は外部メモリ２５０内に記憶されてもよい。ユーザは、外部メモリ２５０にユーザ分散鍵を記憶させ、他のユーザ端末に外部メモリ２５０を接続して当該他のユーザ端末からアクセス管理サーバ１００へ次回のアクセスを行ってもよい。
【００８３】
ユーザモジュール２２２は、金庫へのアクセスがユーザにより指示されると、アクセス要求をアクセス管理サーバ１００へ送信する。アクセス要求は、例えば、ユーザのユーザＩＤ、選択された金庫の金庫ＩＤ、ユーザ分散鍵及び対応するインデックスを含む。アクセス管理サーバ１００は、ユーザＤＢ１３２を参照して、ユーザの権限の正当性をチェックする。また、アクセス管理サーバ１００は、金庫ＤＢ１３４の金庫ＩＤにより識別されるレコードを参照して、ユーザＩＤとユーザ分散鍵に対応するインデックスとの間のマッピングが有効であるかを検証する。権限のチェックは、アクセス要求よりも前に行われてもよい。権限のチェック及びユーザ分散鍵の有効性の検証に成功すると、アクセス管理サーバ１００によりアクセス鍵が復元され、及び金庫内で秘匿されていた対象データが復元される。ユーザモジュール２２２は、アクセス管理サーバ１００から受信されるアクセス応答に含まれるデータパスを取得する。その結果、ユーザモジュール２２２又はユーザ端末２００上の他のアプリケーションによって、アクセス管理サーバ１００上に展開された対象データへアクセスすることが可能となる。
【００８４】
ユーザモジュール２２２は、金庫へのアクセスの終了が指示され、又はユーザ分散鍵を記憶している外部メモリ２５０がユーザ端末２００から接続切断されると、アクセス終了通知をアクセス管理サーバ１００へ送信して、システム側に一時的に存在したユーザ分散鍵及び関連するデータを消去させる。
【００８５】
ユーザモジュール２２２は、ユーザ分散鍵の複製が第１のユーザにより指示されると、鍵複製要求をアクセス管理サーバ１００へ送信する。鍵複製要求は、例えば、第１のユーザのユーザＩＤ、選択された金庫の金庫ＩＤ、ユーザ分散鍵、対応するインデックス、及び指定された第２のユーザ（複製されたユーザ分散鍵を受け取るべきユーザ）のユーザＩＤを含む。アクセス管理サーバ１００は、ユーザＤＢ１３２を参照して、第１のユーザが正当な鍵複製権限を有するか、及び第２のユーザが金庫利用権限を有するかをチェックする。また、アクセス管理サーバ１００は、金庫ＤＢ１３４の金庫ＩＤにより識別されるレコードを参照して、ユーザＩＤとユーザ分散鍵に対応するインデックスとの間のマッピングが有効であるかを検証する。権限のチェック及びユーザ分散鍵の有効性の検証に成功すると、アクセス管理サーバ１００により新たなユーザ分散鍵が生成される。
【００８６】
ユーザモジュール２２２は、ユーザ端末２００のユーザのためにアクセス管理サーバ１００によりユーザ分散鍵が生成され又は複製された後、ユーザ分散鍵を取得することを指示され得る。一例として、ユーザモジュール２２２は、そうした指示の検出に応じて、アクセス管理サーバ１００から提供されるユーザ分散鍵及び対応するインデックスの受信に向けて待機する。ユーザモジュール２２２は、アクセス管理サーバ１００からユーザ分散鍵及びインデックスが受信されると、ユーザ分散鍵及びインデックスを金庫ＩＤに関連付けてメモリへ記憶させる。ユーザモジュール２２２は、ユーザ分散鍵がメモリへと成功裏に格納されると、鍵格納通知をアクセス管理サーバ１００へ送信して、システム側のユーザ分散鍵及び関連するデータを消去させる。他の例として、ユーザモジュール２２２は、ユーザ分散鍵の取得が指示されると、鍵取得要求をアクセス管理サーバ１００へ送信してもよい。鍵取得要求は、少なくともユーザＩＤ及び金庫ＩＤを含む。ユーザの権限のチェックが終了した後。ユーザモジュール２２２は、アクセス管理サーバ１００から提供されるユーザ分散鍵及び対応するインデックスを受信し得る。
【００８７】
ユーザモジュール２２２は、第２のユーザのために複製されたユーザ分散鍵の使用停止が第１のユーザにより指示されると、使用停止要求をアクセス管理サーバ１００へ送信する。使用停止要求は、例えば、第１のユーザのユーザＩＤ、金庫ＩＤ、及び指定された第２のユーザのユーザＩＤを含む。第２のユーザのユーザＩＤの代わりに、使用を停止されるべきユーザ分散鍵のインデックスが使用停止要求に含められてもよい。アクセス管理サーバ１００は、第１のユーザが正当なオーナユーザである場合には、第２のユーザのために複製されたユーザ分散鍵のインデックスを「ユーザ分散鍵インデックスリスト」において削除し又は無効化することにより、そのユーザ分散鍵の使用を停止する。
【００８８】
図９は、ユーザが対象データへのアクセスを開始し及び終了するまでの一連の動作の概略について説明するための説明図である。
【００８９】
メモリ２５０内に、既に有効なユーザ分散鍵が記憶されているものとする。メモリ２５０が接続インタフェース２０４を介してユーザ端末２００へ接続されると、ユーザモジュール２２２は、メモリ２５０内のユーザ分散鍵を検出する。ユーザモジュール２２２は、選択された金庫の金庫ＩＤ、ユーザ分散鍵及び対応するインデックスをアクセス管理サーバ１００へ送信することにより、選択された金庫へのアクセスを開始する。アクセス管理サーバ１００は、受信したユーザ分散鍵とｉ個のシステム分散鍵とに基づいて、ランダムビット列Ｒを復元する。また、アクセス管理サーバ１００は、ｍ個の分散データＸ１，…，Ｘｍをランダムビット列Ｒを用いて対象データＭへと逆変換する。ユーザは、このように復元される対象データＭを、ユーザ端末２００上の任意のアプリケーションを用いて閲覧し、再生し、又は更新することができる。ユーザが対象データＭをＭ´へと更新し、対象データＭ´の保存を要求すると、アクセス管理サーバ１００は、ランダムビット列Ｒを用いて対象データＭ´をｍ個の分散データＸ´１，…，Ｘ´ｍへと変換（分散）する。ユーザが対象データＭ´をさらにＭ´´へと更新し、対象データＭ´´の保存を要求すると、アクセス管理サーバ１００は、ランダムビット列Ｒを用いて対象データＭ´´をｍ個の分散データＸ´´１，…，Ｘ´´ｍへと変換（分散）する。これら分散データは、データ更新の都度ストレージサーバ１５０へ格納されてもよく、又は後のアクセス終了のタイミングでストレージサーバ１５０へ格納されてもよい。ユーザによりアクセス終了が指示され、又はメモリ２５０がユーザ端末２００から接続切断されると、ユーザモジュール２２２は、アクセス終了をアクセス管理サーバ１００へと通知する。アクセス管理サーバ１００は、この通知に応じて、アクセス鍵として使用されていたランダムビット列Ｒ及び対象データＭ´´を消去する。
【００９０】
図９に示したシナリオによれば、有効なユーザ分散鍵を有しているユーザがアクセス管理システム１へアクセスしている期間中にのみ、対象データの実体がシステム内に存在する。その期間の前及び後においては、システム内で利用可能な分散鍵の数が定足数ｋを満たさないため、閾値分散法の性質に起因してアクセス鍵（ランダムビット列）は理論上復元不能であり、転じてＡＯＮＴ法の性質に起因して対象データもまた復元不能である。一方、ある正当なユーザが少なくとも１つの自らのユーザ分散鍵をシステムに提供することによりアクセス鍵は復元されることができ、よって対象データはアクセス可能となる。他の正当なユーザもまた、有効に複製された自らのユーザ分散鍵をシステムに提供することにより対象データへアクセスすることができる。複製されるユーザ分散鍵の数に上限は無いため、上述した手法は、高いデータ秘匿性に加えて、ユーザ数の変化に対する拡張可能性に優れている。
【００９１】
＜３．処理の流れ＞
本節では、上述したアクセス管理システム１において実行されるいくつかの処理の流れについて、シーケンス図を用いて詳細に説明する。
【００９２】
（１）金庫生成処理
図１０は、一実施形態に係る金庫生成処理の流れの一例を示すシーケンス図である。図１０に示した金庫生成処理には、アクセス管理サーバ１００の構成管理サブモジュール１２４及び秘密分散サブモジュール１２６、ストレージサーバ１５０、並びにユーザ端末２００のユーザモジュール２２２が関与する。
【００９３】
まず、ユーザモジュール２２２は、金庫情報要求を構成管理サブモジュール１２４へ送信する（ステップＳ１００）。構成管理サブモジュール１２４は、ユーザにとって利用可能な金庫に関する情報を含む金庫情報応答をユーザモジュール２２２へ送信する（ステップＳ１０２）。ユーザモジュール２２２は、金庫情報応答に含まれる情報に基づいて、「新たな金庫の生成」を機能メニューとして含むＧＵＩを表示させる。
【００９４】
ユーザが例えばＧＵＩ上で「新たな金庫の生成」を選択すると、金庫生成指示がユーザモジュール２２２により検出される（ステップＳ１１０）。ユーザモジュール２２２は、金庫生成指示の検出に応じて、金庫生成要求を秘密分散サブモジュール１２６へ送信する（ステップＳ１１２）。秘密分散サブモジュール１２６は、金庫生成要求の受信に応じて、金庫登録要求を構成管理サブモジュール１２４へ送信する（ステップＳ１１４）。構成管理サブモジュール１２４は、金庫の生成を指示したユーザが正当な生成権限を有するかをチェックする（ステップＳ１１６）。ユーザが正当な生成権限を有する場合、構成管理サブモジュール１２４は、新たな金庫を金庫ＤＢ１３４へ登録し（ステップＳ１１８）、金庫登録応答を秘密分散サブモジュール１２６へ送信する（ステップＳ１２０）。金庫登録応答は、例えば、ユーザに割り当てられたインデックスの値を含む。
【００９５】
秘密分散サブモジュール１２６は、アクセス鍵（Ｒ）を生成し（ステップＳ１２２）、生成したアクセス鍵をｎ個の分散鍵へと分散する（ステップＳ１２４）。秘密分散サブモジュール１２６は、ｎ個の分散鍵のうちのｉ個の分散鍵をシステム分散鍵としてストレージサーバ１５０に記憶させる（ステップＳ１２６）。ｎ個の分散鍵のうちの少なくとも１つは、ユーザに割り当てられたインデックス（例えばｉ＋１）に対応する分散鍵、即ちユーザ分散鍵である。秘密分散サブモジュール１２６は、金庫ＩＤ、ユーザ分散鍵及び対応するインデックスを含む金庫生成応答を、ユーザモジュール２２２へ送信する（ステップＳ１２８）。
【００９６】
ユーザモジュール２２２は、金庫生成応答の受信に応じて、ユーザ分散鍵及び対応するインデックスを、金庫ＩＤに関連付けて、ユーザが所有するメモリへと格納する（ステップＳ１３０）。そして、ユーザモジュール２２２は、鍵格納通知を秘密分散サブモジュール１２６へ送信する（ステップＳ１３２）。秘密分散サブモジュール１２６は、ユーザ分散鍵及び関連するデータを消去する（ステップＳ１３４）。
【００９７】
（２）金庫アクセス処理
図１１は、一実施形態に係る金庫アクセス処理の流れの一例を示すシーケンス図である。図１１に示した金庫アクセス処理には、構成管理サブモジュール１２４、秘密分散サブモジュール１２６、ストレージサーバ１５０及びユーザモジュール２２２が関与する。
【００９８】
金庫へのアクセスが開始される前に、ユーザ端末２００において「金庫へのアクセス」を機能メニューとして含むＧＵＩが表示されているものとする。ユーザが例えばＧＵＩ上で「金庫へのアクセス」を選択すると、金庫アクセス指示がユーザモジュール２２２により検出される（ステップＳ１４０）。ユーザモジュール２２２は、金庫アクセス指示の検出に応じて、権限チェック要求を構成管理サブモジュール１２４へ送信する（ステップＳ１４２）。構成管理サブモジュール１２４は、ユーザＤＢ１３２を参照して、ユーザの権限の正当性をチェックし（ステップＳ１４４）、権限チェック応答をユーザモジュール２２２へ送信する（ステップＳ１４６）。ここでは、ユーザは金庫へアクセスするための正当な権限を有しているものとする。ユーザモジュール２２２は、アクセス要求を秘密分散サブモジュール１２６へ送信する（ステップＳ１４８）。アクセス要求は、上述したように、ユーザのユーザＩＤ、選択された金庫の金庫ＩＤ、ユーザ分散鍵及び対応するインデックスを含む。
【００９９】
秘密分散サブモジュール１２６は、アクセス要求の受信に応じて、ユーザ分散鍵の有効性を検証するための検証要求を構成管理サブモジュール１２４へ送信する（ステップＳ１５０）。構成管理サブモジュール１２４は、金庫ＤＢ１３４の金庫ＩＤにより識別されるレコードを参照して、ユーザＩＤとユーザ分散鍵に対応するインデックスとの間のマッピングが有効であるかを検証し（ステップＳ１５２）、検証応答を秘密分散サブモジュール１２６へ送信する（ステップＳ１５４）。ここでは、ユーザ分散鍵は有効であるものとする。
【０１００】
秘密分散サブモジュール１２６は、ストレージサーバ１５０内に記憶されているｉ個のシステム分散鍵を取得し（ステップＳ１５６）、ユーザモジュール２２２から受信したユーザ分散鍵とｉ個のシステム分散鍵とに基づいて、アクセス鍵を復元する（ステップＳ１５８）。また、秘密分散サブモジュール１２６は、ストレージサーバ１５０内に記憶されている分散データを取得し（ステップＳ１６０）、復元したアクセス鍵を用いて、分散データの結合及び逆変換を通じて対象データを復元する（ステップＳ１６２）。そして、秘密分散サブモジュール１２６は、対象データが復元されたことを示すアクセス応答をユーザモジュール２２２へ送信する（ステップＳ１６４）。
【０１０１】
ユーザモジュール２２２は、アクセス応答に含まれるデータパスを用いて、復元された対象データの閲覧又は更新を可能とする（ステップＳ１６６）。ユーザ端末において対象データが更新され、更新された対象データの保存が要求されると、秘密分散サブモジュール１２６は、更新された対象データをアクセス鍵を用いてＡＯＮＴ変換し、１つ以上の分散データを生成する（ステップＳ１６８）。
【０１０２】
ユーザモジュール２２２は、アクセス終了指示の検出、又はユーザ分散鍵を記憶しているメモリの接続切断の検出に応じて、アクセス終了通知を秘密分散サブモジュール１２６へ送信する（ステップＳ１７０）。秘密分散サブモジュール１２６は、アクセス鍵、ユーザ分散鍵及び関連するデータを消去する（ステップＳ１７２）
【０１０３】
（３）鍵複製処理
図１２は、一実施形態に係る鍵複製処理の流れの一例を示すシーケンス図である。図１２に示した鍵複製処理には、構成管理サブモジュール１２４、秘密分散サブモジュール１２６、ストレージサーバ１５０及び第１のユーザのユーザモジュール２２２ａが関与する。
【０１０４】
鍵の複製が開始される前に、ユーザ端末２００ａにおいて「ユーザ分散鍵の複製」を機能メニューとして含むＧＵＩが表示されているものとする。第１のユーザは、例えばＧＵＩ上で「ユーザ分散鍵の複製」を選択し、新たな鍵の配布先となるべきユーザを指定する。ユーザモジュール２２２ａは、鍵複製指示を検出し（ステップＳ２１０）、鍵複製要求を秘密分散サブモジュール１２６へ送信する（ステップＳ２１２）。
【０１０５】
秘密分散サブモジュール１２６は、鍵複製要求の受信に応じて、複製登録要求を構成管理サブモジュール１２４へ送信する（ステップＳ２１４）。構成管理サブモジュール１２４は、鍵の複製を指示した第１のユーザ及び指定された第２のユーザの権限をチェックし、並びにユーザモジュール２２２ａから受信されたユーザ分散鍵の有効性を検証する（ステップＳ２１６）。双方のユーザが正当な権限を有し及びユーザ分散鍵が有効である場合、構成管理サブモジュール１２４は、選択された金庫についての新たなインデックスを第２のユーザに割り当てる（ステップＳ２１８）。そして、構成管理サブモジュール１２４は、複製登録応答を秘密分散サブモジュール１２６へ送信する（ステップＳ２２０）。複製登録応答は、例えば、第２のユーザに割り当てられたインデックスの値を含む。
【０１０６】
秘密分散サブモジュール１２６は、ストレージサーバ１５０内に記憶されているｉ個のシステム分散鍵を取得し（ステップＳ２２４）、ユーザモジュール２２２ａから受信したユーザ分散鍵とｉ個のシステム分散鍵とに基づいて、多項式を復元する（ステップＳ２２６）。秘密分散サブモジュール１２６は、第２のユーザに割り当てられたインデックスに対応する多項式の値を計算することにより、第２のユーザのためのユーザ分散鍵を生成する（ステップＳ２２８）。そして、秘密分散サブモジュール１２６は、ユーザ分散鍵が複製されたことを示す鍵複製応答をユーザモジュール２２２ａへ送信する（ステップＳ２３０）。
【０１０７】
（４）鍵取得処理
図１３Ａは、一実施形態に係る鍵取得処理の流れの第１の例を示すシーケンス図である。図１３Ａに示した鍵取得処理には、秘密分散サブモジュール１２６及び第２のユーザのユーザモジュール２２２ｂが関与する。
【０１０８】
鍵の取得が開始される前に、ユーザ端末２００ｂにおいて「ユーザ分散鍵の取得」を機能メニューとして含むＧＵＩが表示されているものとする。第２のユーザが例えばＧＵＩ上で「ユーザ分散鍵の取得」を選択すると、ユーザモジュール２２２ｂは、鍵取得指示を検出し（ステップＳ２４０）、ユーザ分散鍵の受信を待ち受ける状態に入る。鍵取得指示は、ユーザ分散鍵の複製を要求した他のユーザのユーザ端末、又はアクセス管理サーバ１１００から受信されてもよい。秘密分散サブモジュール１２６は、図１２に例示したような鍵複製処理の結果として生成された第２のユーザのためのユーザ分散鍵を、対応するインデックス及び関連付けられる金庫ＩＤと共にユーザモジュール２２２ｂへ送信する（ステップＳ２５０）。
【０１０９】
ユーザモジュール２２２ｂは、受信したユーザ分散鍵及び対応するインデックスを、金庫ＩＤに関連付けて、第２のユーザが所有するメモリへと格納する（ステップＳ２５２）。そして、ユーザモジュール２２２ｂは、鍵格納通知を秘密分散サブモジュール１２６へ送信する（ステップＳ２５４）。秘密分散サブモジュール１２６は、ユーザ分散鍵及び関連するデータを消去する（ステップＳ２５６）。
【０１１０】
図１３Ｂは、一実施形態に係る鍵取得処理の流れの第２の例を示すシーケンス図である。図１３Ｂに示した鍵取得処理には、構成管理サブモジュール１２４、秘密分散サブモジュール１２６及び第２のユーザのユーザモジュール２２２ｂが関与する。
【０１１１】
ユーザモジュール２２２ｂは、鍵取得指示を検出する（ステップＳ２４０）。ユーザモジュール２２２ｂは、鍵取得指示の検出に応じて、鍵取得要求を秘密分散サブモジュール１２６へ送信する（ステップＳ２４２）。秘密分散サブモジュール１２６は、鍵取得要求の受信に応じて、権限チェック要求を構成管理サブモジュール１２４へ送信する（ステップＳ２４４）。構成管理サブモジュール１２４は、第２のユーザが複製されたユーザ分散鍵を使用するための正当な権限を有するかをチェックし（ステップＳ２４６）、その結果を示す権限チェック応答を秘密分散サブモジュール１２６へ送信する（ステップＳ２４８）。ここでは、第２のユーザは正当な権限を有しているものとする。秘密分散サブモジュール１２６は、図１２に例示したような鍵複製処理の結果として生成された第２のユーザのためのユーザ分散鍵を、対応するインデックス及び関連付けられる金庫ＩＤと共にユーザモジュール２２２ｂへ送信する（ステップＳ２５０）。
【０１１２】
ユーザモジュール２２２ｂは、受信したユーザ分散鍵及び対応するインデックスを、金庫ＩＤに関連付けて、第２のユーザが所有するメモリへと格納する（ステップＳ２５２）。そして、ユーザモジュール２２２ｂは、鍵格納通知を秘密分散サブモジュール１２６へ送信する（ステップＳ２５４）。秘密分散サブモジュール１２６は、ユーザ分散鍵及び関連するデータを消去する（ステップＳ２５６）。
【０１１３】
（５）鍵使用停止処理
図１４は、一実施形態に係る鍵使用停止処理の流れの一例を示すシーケンス図である。図１４に示した鍵使用停止処理には、構成管理サブモジュール１２４、第１のユーザのユーザモジュール２２２ａ及び第２のユーザのユーザモジュール２２２ｂが関与する。
【０１１４】
鍵の使用停止が要求される前に、ユーザ端末２００ａにおいて「ユーザ分散鍵の使用停止」を機能メニューとして含むＧＵＩが表示されているものとする。第１のユーザは、ある金庫について「ユーザ分散鍵の使用停止」を選択し、停止すべき鍵を有するユーザを指定する。ここでは、第２のユーザが指定されるものとする。ユーザモジュール２２２ａは、鍵使用停止指示を検出し（ステップＳ２６０）、使用停止要求を構成管理サブモジュール１２４へ送信する（ステップＳ２６２）。
【０１１５】
構成管理サブモジュール１２４は、ユーザＤＢ１３２を参照して、第１のユーザの権限の正当性をチェックし（ステップＳ２６４）、第１のユーザが正当な権限を有する場合に、選択された金庫のための第２のユーザのインデックスを金庫ＤＢ１３４において無効化する（ステップＳ２６６）。そして、構成管理サブモジュール１２４は、第２のユーザのユーザ分散鍵の使用が停止されたことを示す使用停止応答をユーザモジュール２２２ａへ送信する（ステップＳ２６８）。
【０１１６】
その後、第２のユーザがユーザ端末２００ｂにおいて金庫へのアクセスを指示すると（ステップＳ２７０）、ユーザ端末２００ｂのユーザモジュール２２２ｂは、権限チェック要求を構成管理サブモジュール１２４へ送信する（ステップＳ２７２）。構成管理サブモジュール１２４は、ユーザＤＢ１３２を参照して、第２のユーザの権限の正当性をチェックする（ステップＳ２７４）。ここでは、選択された金庫のための第２のユーザのインデックスが金庫ＤＢ１３４において無効化されているため、構成管理サブモジュール１２４は、第２のユーザが当該金庫へアクセスするための正当な権限を有しないと判定する。その結果、構成管理サブモジュール１２４は、アクセスが許可されないことを示す権限チェック応答をユーザモジュール２２２ｂへ送信する（ステップＳ２７６）。
【０１１７】
本節において説明したいずれの処理においても、処理ステップは必ずしも図示された順序で実行されなくてよい。いくつかの処理ステップは、並列的に実行されてもよい。また、追加的な処理ステップが採用されてもよく、一部の処理ステップが省略されてもよい。
【０１１８】
＜４．まとめ＞
ここまで、図１〜図１４を用いて本開示に係る技術の実施形態について詳細に説明した。上述した実施形態では、秘匿されるデータへのアクセスを管理するためのアクセス管理システムにおいて、秘匿されるデータへアクセスするために要するアクセス鍵が分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散され、ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵がシステム分散鍵として１つ又は複数の記憶装置内に記憶され、ｎ個の分散鍵のうちの少なくとも１つの残りの分散鍵が第１のユーザへ提供される第１のユーザ分散鍵として設定される。かかる構成によれば、システム側において保持されるシステム分散鍵の数は定足数ｋを満たさないために、システムにおいてどのような不正行為がなされたとしてもアクセス鍵が復元されることが無く、秘匿されるデータへの不正なアクセスは防止される。また、第１のユーザは、自らのために設定された少なくとも１つのユーザ分散鍵をシステムに提供することにより、アクセス鍵をシステムに復元させて所望のデータへアクセスすることができる。その際、多くのユーザが集まってそれぞれのシェアを提供することは必要とされないため、通常のユーザ活動は制約されず、ユーザの利便性は損なわれない。
【０１１９】
また、上述した実施形態では、第１のユーザからユーザ分散鍵の複製が要求された場合に、第１のユーザが所有するメモリから取得される上記第１のユーザ分散鍵と、１つ又は複数の記憶装置が記憶している上記システム分散鍵とに基づいて、第２のユーザ分散鍵が生成される。これは、第１のユーザのアクションが無ければ分散鍵の数が定足数ｋを満たさず、悪意ある第三者によって不正にユーザ分散鍵が複製されないこと、及び第１のユーザが自らのユーザ分散鍵をシステムに提供するだけで、別個のユーザ分散鍵を新たに生成できることを意味する。即ち、上述した手法は、高いデータ秘匿性を実現すると同時に、ユーザ数の変化に対する拡張可能性に優れている。さらに、上述した手法によって生成される第２のユーザ分散鍵は、第１のユーザ分散鍵と同一のコピーではない。そのため、それらユーザ分散鍵が異なるユーザへ配布されるとしても、データアクセスの際に本来の鍵の持ち主によってその鍵が使用されているかを判別することが容易である。
【０１２０】
また、上述した実施形態では、上記第２のユーザ分散鍵は、第１のユーザにより指定される第２のユーザへ提供されるユーザ分散鍵として設定される。かかる構成によれば、最初にデータを秘匿させた第１のユーザ以外にデータへアクセスすべき第２のユーザが存在する場合に、第１のユーザが、自らの意図する第２のユーザへ鍵の複製を通じてデータへアクセスする権限を与えることができる。このとき、旧来のアクセス管理の手法で必要とされるようなシステム管理者の関与は不要である。従って、システム管理者による不正行為に起因するセキュリティリスクも生じない。
【０１２１】
また、上述した実施形態では、上記第２のユーザ分散鍵と上記システム分散鍵とに基づく第３のユーザ分散鍵の生成は、第２のユーザに鍵複製権限が付与された場合にのみ行われ得る。かかる構成によれば、ユーザ分散鍵が多くのユーザに配布されるケースでも、ユーザからのデータアクセスを、最初にデータを秘匿させた第１のユーザ又は正当に権限を付与されたユーザの適切な管理下に置くことができる。
【０１２２】
また、上述した実施形態では、管理モジュールから提供されるユーザ分散鍵をユーザが所有するメモリへ記憶させるように構成されるユーザモジュール、がさらに提供される。かかる構成によれば、管理モジュールからのユーザへのユーザ分散鍵の配布を安全に実行し、ユーザ分散鍵の逸失又は漏洩といったリスクを最小化することができる。
【０１２３】
また、上述した実施形態では、各ユーザ分散鍵に対応する多項式補間におけるインデックスと各ユーザ分散鍵の正当なユーザとの間のマッピングが管理され、そのマッピングにおいて正当なユーザとして登録されていないユーザによるユーザ分散鍵の使用は拒否され得る。このように、分散鍵に基づく多項式補間のためのインデックスごとにユーザ分散鍵の有効性を管理することにより、セキュリティリスクにさらされているユーザ分散鍵の使用停止、及び重複するユーザ分散鍵の生成の防止などといった仕組みを簡易に実装することができる。
【０１２４】
典型的な用途において、システム分散鍵の数ｉ及び定足数ｋは、ｉ＝ｋ−１という条件を満たす。この場合、１人のユーザが自身の有効な１つのユーザ分散鍵を用いてデータへとアクセスすることが可能である。しかしながら、本開示に係る技術は、上述した条件には限定されない。１つの応用例において、ｉ＝ｋ−２であってもよい。この応用例において、例えば当初のユーザ（いわゆるオーナユーザ）には２つのユーザ分散鍵が提供される一方、他のユーザにはそれぞれ１つのユーザ分散鍵が提供されてもよい。この場合、オーナユーザは１人で（自らの２つのユーザ分散鍵を用いて）データへアクセスすることができるのに対し、他のユーザは２人集まらなければデータへアクセスできない、といった形の、段階的なデータ利用の制約を実現することができる。
【０１２５】
典型的な用途において、上記アクセス鍵は、秘匿すべきデータに対するＡＯＮＴ法での変換又は逆変換の際に使用されるランダムビット列を含んでよい。この場合、アクセス鍵が復元不能であれば、ＡＯＮＴ法の性質に起因して対象データもまた理論上復元不能であり、いかなるセキュリティ攻撃に対しても対象データを保護することができる。ユーザは、アクセスしたいデータがＡＯＮＴ法で変換済みである場合には、自身のユーザ分散鍵をシステムへと提供し、そのユーザ分散鍵とｉ個のシステム分散鍵とに基づいて復元されるランダムビット列を用いて、変換済みのデータに対するＡＯＮＴ逆変換をシステムに実行させることができる。また、ＡＯＮＴ逆変換を通じて復元されたデータをユーザが更新した場合、システムは、ユーザからのデータ保存要求に応じて、更新されたデータに対するＡＯＮＴ法での変換を上記復元されたランダムビット列を用いて実行することにより、データを再び秘匿することができる。
【０１２６】
上述した説明に関わらず、本開示に係る技術は、ＡＯＮＴ法でのデータの秘匿化に限定されない。例えば、上記アクセス鍵として、パスワード認証のためのパスワード又は秘密鍵暗号方式における秘密鍵が利用されてもよい。パスワード又は秘密鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散し、それら分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として、少なくとも１つの残りの分散鍵をユーザ分散鍵として設定することによっても、セキュリティの強化と同時にユーザの利便性の維持又は向上を図ることができる。
【０１２７】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１２８】
本明細書において説明したコンピュータプログラムは、装置の内部又は外部に設けられる非一時的なコンピュータ読取可能な媒体に格納される。そして、それらプログラムの各々は、例えば、実行時にＲＡＭへとロードされ、プロセッサにより実行される。コンピュータ読取可能な媒体は、例えば、ＲＯＭ（Read  Only  Memory）、ＣＤ（Compact  Disk）、ＤＶＤ（Digital  Versatile  Disc）、ＨＤＤ、ＳＳＤ、光磁気ディスク、磁気ディスク、磁気テープ、カセットテープ若しくは半導体メモリ、又はこれらの組合せなどといった、いかなる種類の媒体であってもよい。
【符号の説明】
【０１２９】
１        アクセス管理システム
５        ネットワーク
１００    アクセス管理サーバ
１２２    管理モジュール
１２４    構成管理サブモジュール
１２６    秘密分散サブモジュール
１３２    ユーザＤＢ
１３４    金庫ＤＢ
１５０    ストレージサーバ
２００    ユーザ端末
２１０    内部メモリ（二次記憶装置）
２２２    ユーザモジュール
２５０    外部メモリ
Ｒ        アクセス鍵（ランダムビット列）
Ｍ        対象データ
Ｋ１，…，Ｋｎ  分散鍵
Ｘ１，…，Ｘｍ  分散データ
【図１】
2018106026.tif 000003
【図２】
2018106026.tif 000004
【図３】
2018106026.tif 000005
【図４】
2018106026.tif 000006
【図５】
2018106026.tif 000007
【図６】
2018106026.tif 000008
【図７】
2018106026.tif 000009
【図８】
2018106026.tif 000010
【図９】
2018106026.tif 000011
【図１０】
2018106026.tif 000012
【図１１】
2018106026.tif 000013
【図１２】
2018106026.tif 000014
【図１３Ａ】
2018106026.tif 000015
【図１３Ｂ】
2018106026.tif 000016
【図１４】
2018106026.tif 000017
【手続補正書】
【提出日】平成29年10月31日(2017.10.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のユーザにより共有されるデータサーバ上で扱われるデータへのアクセスを管理するためのアクセス管理システムであって、
前記データサーバ上の登録フォルダ内のデータをアクセス鍵を用いて無意味なビット列へ変換することにより当該データを秘匿する、ように構成される管理モジュールと、
少なくとも１つの記憶装置と、
構成管理データベースと、
を含み、
前記管理モジュールは、第１のユーザのためのフォルダ登録要求が受信された場合に、
前記第１のユーザに割り当てられるフォルダのデータパスを前記構成管理データベースへ登録し、
アクセス鍵を生成し、
生成した前記アクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散し、
前記ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として前記少なくとも１つの記憶装置に記憶させ、
前記ｎ個の分散鍵のうちの前記システム分散鍵以外の少なくとも１つの残りの分散鍵を、前記第１のユーザへ提供される第１のユーザ分散鍵として設定し、
前記システム分散鍵の識別情報及び前記第１のユーザ分散鍵の識別情報を、前記データパスに関連付けて前記構成管理データベースに登録する、
ように構成され、
前記第１のユーザ分散鍵は、前記第１のユーザのメモリ内に記憶され、
前記管理モジュールは、前記第１のユーザからの登録フォルダへのアクセス要求が受信された場合に、
前記アクセス要求と共に受信される前記第１のユーザ分散鍵と前記システム分散鍵とに基づいて前記アクセス鍵を復元し、
復元した前記アクセス鍵を用いて復元される対象データを、前記構成管理データベースに登録されている前記データパスにより特定される前記登録フォルダへ展開する、
ようにさらに構成される、
アクセス管理システム。
【請求項２】
前記管理モジュールは、前記アクセス要求に応じて前記アクセス鍵を復元した後、アクセス終了の通知が受信された場合に、復元した前記アクセス鍵を消去する、ようにさらに構成され、
前記登録フォルダは、前記アクセス鍵が存在している期間においてのみ前記データサーバへ一時的にマウントされる、
請求項１に記載のアクセス管理システム。
【請求項３】
前記管理モジュールは、前記アクセス鍵が存在している期間において、前記登録フォルダ内の前記対象データの保存の要求に応じて、前記対象データを前記アクセス鍵を用いて無意味なビット列へ変換する、ようにさらに構成される、請求項１又は請求項２に記載のアクセス管理システム。
【請求項４】
前記登録フォルダは、前記対象データとして、単一のデータファイル、複数のファイルの集合、若しくはファイル及びフォルダの混成を含み、又は空のフォルダである、請求項１〜３のいずれか１項に記載のアクセス管理システム。
【請求項５】
前記システム分散鍵の識別情報は、前記システム分散鍵のインデックスであり、
前記第１のユーザ分散鍵の識別情報は、前記第１のユーザ分散鍵のインデックスである、
請求項１〜４のいずれか１項に記載のアクセス管理システム。
【請求項６】
前記管理モジュールは、前記第１のユーザからのユーザ分散鍵の複製要求が受信された場合に、
前記第１のユーザの前記メモリから取得される前記第１のユーザ分散鍵と、前記少なくとも１つの記憶装置が記憶している前記システム分散鍵とに基づいて、第２のユーザ分散鍵を生成し、
生成した前記第２のユーザ分散鍵を、前記第１のユーザにより指定される第２のユーザへ提供されるユーザ分散鍵として設定する、
ようにさらに構成される、請求項１〜５のいずれか１項に記載のアクセス管理システム。
【請求項７】
前記管理モジュールは、前記第２のユーザに鍵複製権限が付与された場合にのみ、前記第２のユーザからの要求に応じて、前記第２のユーザ分散鍵と前記システム分散鍵とに基づいて第３のユーザ分散鍵を生成する、ようにさらに構成される、請求項６に記載のアクセス管理システム。
【請求項８】
前記システム分散鍵の数ｉ及び前記定足数ｋは、ｉ＝ｋ−１を満たす、請求項１〜７のいずれか１項に記載のアクセス管理システム。
【請求項９】
前記管理モジュールは、前記分散鍵に基づく多項式補間のためのインデックスごとに、設定済みのユーザ分散鍵が有効であるか否かを示すデータを管理する、ようにさらに構成される、請求項５に記載のアクセス管理システム。
【請求項１０】
前記管理モジュールは、セグメント化されるデータブロックごとに、ランダムビット列を用いて前記対象データを無意味なビット列へ変換する、ように構成され、
前記アクセス鍵は、前記ランダムビット列である、
請求項１〜９のいずれか１項に記載のアクセス管理システム。
【請求項１１】
複数のユーザにより共有されるデータサーバ上で扱われるデータへのアクセスを管理するための、アクセス管理システムの管理モジュールにより実行される方法であって、
前記管理モジュールは、前記データサーバ上の登録フォルダ内のデータをアクセス鍵を用いて無意味なビット列へ変換することにより当該データを秘匿する、ように構成され、
前記方法は、第１のユーザのためのフォルダ登録要求が受信された場合に、
前記第１のユーザに割り当てられるフォルダのデータパスを構成管理データベースへ登録することと、
アクセス鍵を生成することと、
生成した前記アクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散することと、
前記ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として前記アクセス管理システムの少なくとも１つの記憶装置に記憶させることと、
前記ｎ個の分散鍵のうちの前記システム分散鍵以外の少なくとも１つの残りの分散鍵を、前記第１のユーザへ提供される第１のユーザ分散鍵として設定することと、
前記システム分散鍵の識別情報及び前記第１のユーザ分散鍵の識別情報を、前記データパスに関連付けて前記構成管理データベースに登録することと、
を含み、
前記第１のユーザ分散鍵は、前記第１のユーザのメモリ内に記憶され、
前記方法は、前記第１のユーザからの登録フォルダへのアクセス要求が受信された場合に、
前記アクセス要求と共に受信される前記第１のユーザ分散鍵と前記システム分散鍵とに基づいて前記アクセス鍵を復元することと、
復元した前記アクセス鍵を用いて復元される対象データを、前記構成管理データベースに登録されている前記データパスにより特定される前記登録フォルダへ展開することと、
をさらに含む、方法。
【請求項１２】
複数のユーザにより共有されるデータサーバ上で扱われるデータへのアクセスを管理するためのアクセス管理システムにおいて、情報処理装置のプロセッサを、前記データサーバ上の登録フォルダ内のデータをアクセス鍵を用いて無意味なビット列へ変換することにより当該データを秘匿するように構成される管理モジュールとして機能させるためのコンピュータプログラムであって、
前記管理モジュールは、第１のユーザのためのフォルダ登録要求が受信された場合に、
前記第１のユーザに割り当てられるフォルダのデータパスを構成管理データベースへ登録し、
アクセス鍵を生成し、
生成した前記アクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散し、
前記ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として前記アクセス管理システムの少なくとも１つの記憶装置に記憶させ、
前記ｎ個の分散鍵のうちの前記システム分散鍵以外の少なくとも１つの残りの分散鍵を、前記第１のユーザへ提供される第１のユーザ分散鍵として設定し、
前記システム分散鍵の識別情報及び前記第１のユーザ分散鍵の識別情報を、前記データパスに関連付けて前記構成管理データベースに登録する、
ように構成され、
前記第１のユーザ分散鍵は、前記第１のユーザのメモリ内に記憶され、
前記管理モジュールは、前記第１のユーザからの登録フォルダへのアクセス要求が受信された場合に、
前記アクセス要求と共に受信される前記第１のユーザ分散鍵と前記システム分散鍵とに基づいて前記アクセス鍵を復元し、
復元した前記アクセス鍵を用いて復元される対象データを、前記構成管理データベースに登録されている前記データパスにより特定される前記登録フォルダへ展開する、
ようにさらに構成される、
コンピュータプログラム。
【手続補正書】
【提出日】平成30年1月9日(2018.1.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のユーザにより共有されるデータサーバ上で扱われるデータへのアクセスを管理するためのアクセス管理システムであって、
前記データサーバ上の登録フォルダ内のデータをアクセス鍵を用いて無意味なビット列へ変換することにより当該データを秘匿する、ように構成される管理モジュールと、
少なくとも１つの記憶装置と、
構成管理データベースと、
を含み、
前記管理モジュールは、第１のユーザのためのフォルダ登録要求が受信された場合に、
前記第１のユーザに割り当てられるフォルダのデータパスを前記構成管理データベースへ登録し、
アクセス鍵を生成し、
生成した前記アクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散し、
前記ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として前記少なくとも１つの記憶装置に記憶させ、
前記ｎ個の分散鍵のうちの前記システム分散鍵以外の少なくとも１つの残りの分散鍵を、前記第１のユーザへ提供される第１のユーザ分散鍵として設定し、
前記システム分散鍵の識別情報及び前記第１のユーザ分散鍵の識別情報を、前記データパスに関連付けて前記構成管理データベースに登録する、
ように構成され、
前記第１のユーザ分散鍵及び前記第１のユーザ分散鍵の識別情報は、前記第１のユーザのメモリ内に記憶され、
前記管理モジュールは、前記第１のユーザからの登録フォルダへのアクセス要求が受信された場合に、
前記アクセス要求と共に受信される前記第１のユーザ分散鍵及び前記第１のユーザ分散鍵の識別情報、前記構成管理データベースにおいて前記第１のユーザ分散鍵の識別情報に関連付けて登録されている前記システム分散鍵の識別情報、並びに前記少なくとも１つの記憶装置から取得される前記システム分散鍵に基づいて前記アクセス鍵を復元し、
復元した前記アクセス鍵を用いて復元される対象データを、前記構成管理データベースに登録されている前記データパスにより特定される前記登録フォルダへ展開する、
ようにさらに構成される、
アクセス管理システム。
【請求項２】
前記管理モジュールは、前記アクセス要求に応じて前記アクセス鍵を復元した後、アクセス終了の通知が受信された場合に、復元した前記アクセス鍵を消去する、ようにさらに構成され、
前記登録フォルダは、前記アクセス鍵が存在している期間においてのみ前記データサーバへ一時的にマウントされる、
請求項１に記載のアクセス管理システム。
【請求項３】
前記管理モジュールは、前記アクセス鍵が存在している期間において、前記登録フォルダ内の前記対象データの保存の要求に応じて、前記対象データを前記アクセス鍵を用いて無意味なビット列へ変換する、ようにさらに構成される、請求項１又は請求項２に記載のアクセス管理システム。
【請求項４】
前記登録フォルダは、前記対象データとして、単一のデータファイル、複数のファイルの集合、若しくはファイル及びフォルダの混成を含み、又は空のフォルダである、請求項１〜３のいずれか１項に記載のアクセス管理システム。
【請求項５】
前記システム分散鍵の識別情報は、前記システム分散鍵のインデックスであり、
前記第１のユーザ分散鍵の識別情報は、前記第１のユーザ分散鍵のインデックスである、
請求項１〜４のいずれか１項に記載のアクセス管理システム。
【請求項６】
前記管理モジュールは、前記第１のユーザからのユーザ分散鍵の複製要求が受信された場合に、
前記第１のユーザの前記メモリから取得される前記第１のユーザ分散鍵と、前記少なくとも１つの記憶装置が記憶している前記システム分散鍵とに基づいて、第２のユーザ分散鍵を生成し、
生成した前記第２のユーザ分散鍵を、前記第１のユーザにより指定される第２のユーザへ提供されるユーザ分散鍵として設定する、
ようにさらに構成される、請求項１〜５のいずれか１項に記載のアクセス管理システム。
【請求項７】
前記管理モジュールは、前記第２のユーザに鍵複製権限が付与された場合にのみ、前記第２のユーザからの要求に応じて、前記第２のユーザ分散鍵と前記システム分散鍵とに基づいて第３のユーザ分散鍵を生成する、ようにさらに構成される、請求項６に記載のアクセス管理システム。
【請求項８】
前記システム分散鍵の数ｉ及び前記定足数ｋは、ｉ＝ｋ−１を満たす、請求項１〜７のいずれか１項に記載のアクセス管理システム。
【請求項９】
前記管理モジュールは、前記分散鍵に基づく多項式補間のためのインデックスごとに、設定済みのユーザ分散鍵が有効であるか否かを示すデータを管理する、ようにさらに構成される、請求項５に記載のアクセス管理システム。
【請求項１０】
前記管理モジュールは、セグメント化されるデータブロックごとに、ランダムビット列を用いて前記対象データを無意味なビット列へ変換する、ように構成され、
前記アクセス鍵は、前記ランダムビット列である、
請求項１〜９のいずれか１項に記載のアクセス管理システム。
【請求項１１】
複数のユーザにより共有されるデータサーバ上で扱われるデータへのアクセスを管理するための、アクセス管理システムの管理モジュールにより実行される方法であって、
前記管理モジュールは、前記データサーバ上の登録フォルダ内のデータをアクセス鍵を用いて無意味なビット列へ変換することにより当該データを秘匿する、ように構成され、
前記方法は、第１のユーザのためのフォルダ登録要求が受信された場合に、
前記第１のユーザに割り当てられるフォルダのデータパスを構成管理データベースへ登録することと、
アクセス鍵を生成することと、
生成した前記アクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散することと、
前記ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として前記アクセス管理システムの少なくとも１つの記憶装置に記憶させることと、
前記ｎ個の分散鍵のうちの前記システム分散鍵以外の少なくとも１つの残りの分散鍵を、前記第１のユーザへ提供される第１のユーザ分散鍵として設定することと、
前記システム分散鍵の識別情報及び前記第１のユーザ分散鍵の識別情報を、前記データパスに関連付けて前記構成管理データベースに登録することと、
を含み、
前記第１のユーザ分散鍵及び前記第１のユーザ分散鍵の識別情報は、前記第１のユーザのメモリ内に記憶され、
前記方法は、前記第１のユーザからの登録フォルダへのアクセス要求が受信された場合に、
前記アクセス要求と共に受信される前記第１のユーザ分散鍵及び前記第１のユーザ分散鍵の識別情報、前記構成管理データベースにおいて前記第１のユーザ分散鍵の識別情報に関連付けて登録されている前記システム分散鍵の識別情報、並びに前記少なくとも１つの記憶装置から取得される前記システム分散鍵に基づいて前記アクセス鍵を復元することと、
復元した前記アクセス鍵を用いて復元される対象データを、前記構成管理データベースに登録されている前記データパスにより特定される前記登録フォルダへ展開することと、
をさらに含む、方法。
【請求項１２】
複数のユーザにより共有されるデータサーバ上で扱われるデータへのアクセスを管理するためのアクセス管理システムにおいて、情報処理装置のプロセッサを、前記データサーバ上の登録フォルダ内のデータをアクセス鍵を用いて無意味なビット列へ変換することにより当該データを秘匿するように構成される管理モジュールとして機能させるためのコンピュータプログラムであって、
前記管理モジュールは、第１のユーザのためのフォルダ登録要求が受信された場合に、
前記第１のユーザに割り当てられるフォルダのデータパスを構成管理データベースへ登録し、
アクセス鍵を生成し、
生成した前記アクセス鍵を分散数ｎ及び定足数ｋで閾値分散法を用いてｎ個の分散鍵へと分散し、
前記ｎ個の分散鍵のうちのｉ（１≦ｉ＜ｋ）個の分散鍵をシステム分散鍵として前記アクセス管理システムの少なくとも１つの記憶装置に記憶させ、
前記ｎ個の分散鍵のうちの前記システム分散鍵以外の少なくとも１つの残りの分散鍵を、前記第１のユーザへ提供される第１のユーザ分散鍵として設定し、
前記システム分散鍵の識別情報及び前記第１のユーザ分散鍵の識別情報を、前記データパスに関連付けて前記構成管理データベースに登録する、
ように構成され、
前記第１のユーザ分散鍵及び前記第１のユーザ分散鍵の識別情報は、前記第１のユーザのメモリ内に記憶され、
前記管理モジュールは、前記第１のユーザからの登録フォルダへのアクセス要求が受信された場合に、
前記アクセス要求と共に受信される前記第１のユーザ分散鍵及び前記第１のユーザ分散鍵の識別情報、前記構成管理データベースにおいて前記第１のユーザ分散鍵の識別情報に関連付けて登録されている前記システム分散鍵の識別情報、並びに前記少なくとも１つの記憶装置から取得される前記システム分散鍵に基づいて前記アクセス鍵を復元し、
復元した前記アクセス鍵を用いて復元される対象データを、前記構成管理データベースに登録されている前記データパスにより特定される前記登録フォルダへ展開する、
ようにさらに構成される、
コンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１０８
【補正方法】変更
【補正の内容】
【０１０８】
鍵の取得が開始される前に、ユーザ端末２００ｂにおいて「ユーザ分散鍵の取得」を機能メニューとして含むＧＵＩが表示されているものとする。第２のユーザが例えばＧＵＩ上で「ユーザ分散鍵の取得」を選択すると、ユーザモジュール２２２ｂは、鍵取得指示を検出し（ステップＳ２４０）、ユーザ分散鍵の受信を待ち受ける状態に入る。鍵取得指示は、ユーザ分散鍵の複製を要求した他のユーザのユーザ端末、又はアクセス管理サーバ１００から受信されてもよい。秘密分散サブモジュール１２６は、図１２に例示したような鍵複製処理の結果として生成された第２のユーザのためのユーザ分散鍵を、対応するインデックス及び関連付けられる金庫ＩＤと共にユーザモジュール２２２ｂへ送信する（ステップＳ２５０）。