JP2018110442A - アクセス管理システム、アクセス管理方法及びプログラム - Google Patents

アクセス管理システム、アクセス管理方法及びプログラム Download PDF

Info

Publication number
JP2018110442A
JP2018110442A JP2018029018A JP2018029018A JP2018110442A JP 2018110442 A JP2018110442 A JP 2018110442A JP 2018029018 A JP2018029018 A JP 2018029018A JP 2018029018 A JP2018029018 A JP 2018029018A JP 2018110442 A JP2018110442 A JP 2018110442A
Authority
JP
Japan
Prior art keywords
user
key
access
data
distributed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018029018A
Other languages
English (en)
Other versions
JP2018110442A5 (ja
Inventor
淳 國井
Atsushi Kunii
淳 國井
清 友村
Kiyoshi Tomomura
清 友村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zenmutech Inc
Original Assignee
Zenmutech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zenmutech Inc filed Critical Zenmutech Inc
Priority to JP2018029018A priority Critical patent/JP2018110442A/ja
Publication of JP2018110442A publication Critical patent/JP2018110442A/ja
Publication of JP2018110442A5 publication Critical patent/JP2018110442A5/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】セキュリティを強化しつつ、ユーザの利便性を維持し又は向上させるアクセス管理システムを提供する。【解決手段】アクセス管理システムの管理モジュールは、データサーバ上の登録フォルダ内のデータMをアクセス鍵Rを用いて無意味なビット列へ変換することによりデータMを秘匿するS21。管理モジュールは、秘匿されるデータMへアクセスするために要するアクセス鍵Rを分散数n及び定足数kで閾値分散法を用いてn個の分散鍵へと分散しS12、n個の分散鍵のうちのi(1≦i<k)個の分散鍵をシステム分散鍵として記憶装置に記憶させS13、n個の分散鍵のうちの少なくとも1つの残りの分散鍵を、第1のユーザへ提供される第1のユーザ分散鍵として設定するS14。【選択図】図2

Description

本開示は、アクセス管理システム、アクセス管理方法及びプログラムに関する。
近年、企業、官公庁、教育機関又はその他の団体により管理される情報が漏洩する事件が相次いで発生している。この原因の1つは、情報通信技術の発達の結果として情報へのアクセスが容易になり及び情報の可搬性も拡大しているにも関わらず、情報への不正なアクセス又はユーザの不注意による情報漏洩を防止する仕組みが十分に整備されていないことである。
概して、セキュリティリスクから情報を保護するためのアクセス管理は、各ユーザのアクセス権限を端末、フォルダ又はデータファイルなどの単位で定義することにより行われる。しかし、こうしたアクセス管理は、アカウントの乗っ取り又は(いわゆるルート権限を与えられた)システム管理者による不正行為に対しては脆弱である。
機密データをより強固に保護する技術として、秘密分散法が知られている。秘密分散法の一種である閾値分散法によれば、データはn個の断片(シェアともいう)へと分散され、n個の断片のうち定足数k以上の断片が集められない限り元のデータは復元不能とされる。閾値分散法を機密データに適用し、n個の断片を信頼できるn人のユーザに配布しておけば、少なくともk人のユーザが悪意を持って協力しない限り、機密データが漏洩することはない。
非特許文献1は、閾値分散法がデータを複数の断片へと分散する結果として総データサイズを顕著に増大させてしまう問題点に対し、データ自体を分散するのではなく、データを暗号化し及び復号する際に使用される暗号鍵を閾値分散法に従ってn個の断片へと分散して、分散されたn個の断片をn人のユーザに配布する手法を提案している。
非特許文献2は、AONT(All Or Nothing Transform)法と呼ばれるデータ変換技術を開示している。AONT法によれば、総データサイズをほとんど増大させることなくデータがランダムなビット列へと変換され、そのビット列のうちの1ビットでも欠如すると元のデータは復元不能となる。AONT変換後のビット列を複数の断片へと分割してそれら断片を複数のユーザに配布することで、閾値分散法において分散数nが定足数kに等しいケースと同等の効果(即ち、n人のユーザが協力しない限り、元のデータを復元することができない)を達成することができる。よって、AONT法もまた、秘密分散法の一種として位置付けることができる。
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
しかしながら、どういった種類の方式が用いられるかに関わらず、定足数のユーザが集まらなければデータへアクセスすることができないという制約は、秘密分散法の用途及び応用を狭めてしまう。通常、秘匿すべきデータが生成される当初からそのデータへのアクセスを何人のユーザに許容するかを確定させることは困難である。また、データを共有するユーザの数が決定されるまでデータが秘匿されないとしたら、本来のセキュリティ強化の目的が損なわれる。アクセス管理の仕組みを実現するにあたっては、セキュリティの強化が重要であると同時に、ユーザの利便性を維持し又は向上させることもまた重要である。
本開示に係る技術は、上述した既存の技術の欠点のうちの1つ以上を解決し又は少なくとも軽減する仕組みを提供する。
本開示のある観点によれば、複数のユーザにより共有されるデータサーバ上で扱われるデータへのアクセスを管理するためのアクセス管理システムが提供される。前記アクセス管理システムは、前記データサーバ上の登録フォルダ内のデータをアクセス鍵を用いて無意味なビット列へ変換することにより当該データを秘匿する、ように構成される管理モジュールと、少なくとも1つの記憶装置と、構成管理データベースと、を含む。ある実施形態において、前記管理モジュールは、第1のユーザのためのフォルダ登録要求が受信された場合に、前記第1のユーザに割り当てられるフォルダのデータパスを前記構成管理データベースへ登録し、アクセス鍵を生成し、生成した前記アクセス鍵を分散数n及び定足数kで閾値分散法を用いてn個の分散鍵へと分散し、前記n個の分散鍵のうちのi(1≦i<k)個の分散鍵をシステム分散鍵として前記少なくとも1つの記憶装置に記憶させ、前記n個の分散鍵のうちの前記システム分散鍵以外の少なくとも1つの残りの分散鍵を、前記第1のユーザへ提供される第1のユーザ分散鍵として設定し、前記システム分散鍵の識別情報及び前記第1のユーザ分散鍵の識別情報を、前記データパスに関連付けて前記構成管理データベースに登録する、ように構成され得る。前記第1のユーザ分散鍵及び前記第1のユーザ分散鍵の識別情報は、前記第1のユーザのメモリ内に記憶され得る。ある実施形態において、前記管理モジュールは、前記第1のユーザからの登録フォルダへのアクセス要求が受信された場合に、前記アクセス要求と共に受信される前記第1のユーザ分散鍵及び前記第1のユーザ分散鍵の識別情報、前記構成管理データベースにおいて前記第1のユーザ分散鍵の識別情報に関連付けて登録されている前記システム分散鍵の識別情報、並びに前記少なくとも1つの記憶装置から取得される前記システム分散鍵に基づいて前記アクセス鍵を復元し、復元した前記アクセス鍵を用いて復元される対象データを、前記構成管理データベースに登録されている前記データパスにより特定される前記登録フォルダへ展開する、ように構成され得る。
前記管理モジュールは、前記アクセス要求に応じて前記アクセス鍵を復元した後、アクセス終了の通知が受信された場合に、復元した前記アクセス鍵を消去する、ようにさらに構成されてもよく、前記登録フォルダは、前記アクセス鍵が存在している期間においてのみ前記データサーバへ一時的にマウントされてもよい。
前記管理モジュールは、前記アクセス鍵が存在している期間において、前記登録フォルダ内の前記対象データの保存の要求に応じて、前記対象データを前記アクセス鍵を用いて無意味なビット列へ変換する、ようにさらに構成されてもよい。
前記登録フォルダは、前記対象データとして、単一のデータファイル、複数のファイルの集合、若しくはファイル及びフォルダの混成を含み、又は空のフォルダであってもよい。
前記システム分散鍵の識別情報は、前記システム分散鍵のインデックスであってもよく、前記第1のユーザ分散鍵の識別情報は、前記第1のユーザ分散鍵のインデックスであってもよい。
前記管理モジュールは、前記第1のユーザからのユーザ分散鍵の複製要求が受信された場合に、前記第1のユーザの前記メモリから取得される前記第1のユーザ分散鍵と、前記少なくとも1つの記憶装置が記憶している前記システム分散鍵とに基づいて、第2のユーザ分散鍵を生成し、生成した前記第2のユーザ分散鍵を、前記第1のユーザにより指定される第2のユーザへ提供されるユーザ分散鍵として設定する、ようにさらに構成されてもよい。
前記管理モジュールは、前記第2のユーザに鍵複製権限が付与された場合にのみ、前記第2のユーザからの要求に応じて、前記第2のユーザ分散鍵と前記システム分散鍵とに基づいて第3のユーザ分散鍵を生成する、ようにさらに構成されてもよい。
前記システム分散鍵の数i及び前記定足数kは、i=k−1を満たしてもよい。
前記管理モジュールは、前記分散鍵に基づく多項式補間のためのインデックスごとに、設定済みのユーザ分散鍵が有効であるか否かを示すデータを管理する、ようにさらに構成されてもよい。
前記管理モジュールは、セグメント化されるデータブロックごとに、ランダムビット列を用いて前記対象データを無意味なビット列へ変換する、ように構成されてもよく、前記アクセス鍵は、前記ランダムビット列であってもよい。
他の観点によれば、複数のユーザにより共有されるデータサーバ上で扱われるデータへのアクセスを管理するための、アクセス管理システムの管理モジュールにより実行される方法が提供される。前記管理モジュールは、前記データサーバ上の登録フォルダ内のデータをアクセス鍵を用いて無意味なビット列へ変換することにより当該データを秘匿する、ように構成される。ある実施形態において、前記方法は、第1のユーザのためのフォルダ登録要求が受信された場合に、前記第1のユーザに割り当てられるフォルダのデータパスを構成管理データベースへ登録することと、アクセス鍵を生成することと、生成した前記アクセス鍵を分散数n及び定足数kで閾値分散法を用いてn個の分散鍵へと分散することと、前記n個の分散鍵のうちのi(1≦i<k)個の分散鍵をシステム分散鍵として前記アクセス管理システムの少なくとも1つの記憶装置に記憶させることと、前記n個の分散鍵のうちの前記システム分散鍵以外の少なくとも1つの残りの分散鍵を、前記第1のユーザへ提供される第1のユーザ分散鍵として設定することと、前記システム分散鍵の識別情報及び前記第1のユーザ分散鍵の識別情報を、前記データパスに関連付けて前記構成管理データベースに登録することと、を含み得る。前記第1のユーザ分散鍵及び前記第1のユーザ分散鍵の識別情報は、前記第1のユーザのメモリ内に記憶され得る。ある実施形態において、前記方法は、前記第1のユーザからの登録フォルダへのアクセス要求が受信された場合に、前記アクセス要求と共に受信される前記第1のユーザ分散鍵及び前記第1のユーザ分散鍵の識別情報、前記構成管理データベースにおいて前記第1のユーザ分散鍵の識別情報に関連付けて登録されている前記システム分散鍵の識別情報、並びに前記少なくとも1つの記憶装置から取得される前記システム分散鍵に基づいて前記アクセス鍵を復元することと、復元した前記アクセス鍵を用いて復元される対象データを、前記構成管理データベースに登録されている前記データパスにより特定される前記登録フォルダへ展開することと、を含み得る。
他の観点によれば、複数のユーザにより共有されるデータサーバ上で扱われるデータへのアクセスを管理するためのアクセス管理システムにおいて、情報処理装置のプロセッサを、前記データサーバ上の登録フォルダ内のデータをアクセス鍵を用いて無意味なビット列へ変換することにより当該データを秘匿するように構成される管理モジュールとして機能させるためのコンピュータプログラムが提供される。ある実施形態において、前記管理モジュールは、第1のユーザのためのフォルダ登録要求が受信された場合に、前記第1のユーザに割り当てられるフォルダのデータパスを構成管理データベースへ登録し、アクセス鍵を生成し、生成した前記アクセス鍵を分散数n及び定足数kで閾値分散法を用いてn個の分散鍵へと分散し、前記n個の分散鍵のうちのi(1≦i<k)個の分散鍵をシステム分散鍵として前記アクセス管理システムの少なくとも1つの記憶装置に記憶させ、前記n個の分散鍵のうちの前記システム分散鍵以外の少なくとも1つの残りの分散鍵を、前記第1のユーザへ提供される第1のユーザ分散鍵として設定し、前記システム分散鍵の識別情報及び前記第1のユーザ分散鍵の識別情報を、前記データパスに関連付けて前記構成管理データベースに登録する、ように構成され得る。前記第1のユーザ分散鍵及び前記第1のユーザ分散鍵の識別情報は、前記第1のユーザのメモリ内に記憶され得る。ある実施形態において、前記管理モジュールは、前記第1のユーザからの登録フォルダへのアクセス要求が受信された場合に、前記アクセス要求と共に受信される前記第1のユーザ分散鍵及び前記第1のユーザ分散鍵の識別情報、前記構成管理データベースにおいて前記第1のユーザ分散鍵の識別情報に関連付けて登録されている前記システム分散鍵の識別情報、並びに前記少なくとも1つの記憶装置から取得される前記システム分散鍵に基づいて前記アクセス鍵を復元し、復元した前記アクセス鍵を用いて復元される対象データを、前記構成管理データベースに登録されている前記データパスにより特定される前記登録フォルダへ展開する、ように構成され得る。
本開示に係る技術によれば、上述した既存の技術の欠点のうちの1つ以上を解決し又は少なくとも軽減することができる。
一実施形態に係るアクセス管理システムの概要について説明するための説明図である。 一実施形態に係るアクセス管理の基本的な原理について説明するための第1の説明図である。 一実施形態に係るアクセス管理の基本的な原理について説明するための第2の説明図である。 一実施形態に係るユーザ分散鍵の複製の基本的な原理について説明するための説明図である。 一実施形態に係る管理サーバの構成の一例を示すブロック図である。 分散鍵のインデックスについて説明するための説明図である。 分散鍵の使用停止について説明するための説明図である。 一実施形態に係るユーザ端末の構成の一例を示すブロック図である。 ユーザが対象データへのアクセスを開始し及び終了するまでの一連の動作の概略について説明するための説明図である。 一実施形態に係る金庫生成処理の流れの一例を示すシーケンス図である。 一実施形態に係る金庫アクセス処理の流れの一例を示すシーケンス図である。 一実施形態に係る鍵複製処理の流れの一例を示すシーケンス図である。 一実施形態に係る鍵取得処理の流れの第1の例を示すシーケンス図である。 一実施形態に係る鍵取得処理の流れの第2の例を示すシーケンス図である。 一実施形態に係る鍵使用停止処理の流れの一例を示すシーケンス図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、以下の順序で説明を行う。
1.システムの概要
2.装置の構成例
2−1.アクセス管理サーバ
2−2.ユーザ端末
3.処理の流れ
3−1.金庫生成処理
3−2.金庫アクセス処理
3−3.鍵複製処理/鍵取得処理
3−4.鍵使用停止処理
4.まとめ
<1.システムの概要>
(1)システム構成例
まず、図1を参照しながら、本開示に係る技術の一実施形態に係るアクセス管理システムの概要について説明する。図1に示したアクセス管理システム1は、アクセス管理サーバ100、ストレージサーバ150、及び1つ以上のユーザ端末200a、200bを含む。
アクセス管理サーバ100は、ユーザが秘匿することを望むデータへのアクセスを管理するための管理機能群を提供する情報処理装置である。アクセス管理サーバ100は、ネットワーク5を介して1つ以上のユーザ端末200a、200bと接続される。ネットワーク5は、企業、官公庁、教育機関又はその他の団体のプライベートネットワーク(例えば、LAN(Local Area Network)若しくはVPN(Virtual Private Network))であってもよく、又はインターネット若しくはクラウドネットワークなどのパブリックネットワークであってもよい。アクセス管理サーバ100は、さらにストレージサーバ150と接続される。ストレージサーバ150は、アクセス管理サーバ100によるアクセス管理の対象とされるデータを記憶するデータストレージである。アクセス管理サーバ100は、ネットワーク5を介してストレージサーバ150と接続されてもよく、又は、ファイバチャネル若しくはiSCSI(Internet Small Computer System Interface)などのトランスポートプロトコルを用いて構築されるストレージ専用のネットワークを介してストレージサーバ150と接続されてもよい。説明の簡明さのために、図1には単一のアクセス管理サーバ100及び単一のストレージサーバ150のみを示している。しかしながら、後述するアクセス管理サーバ100の管理機能群は、複数のサーバ装置へ分散的に配置されてもよい。また、アクセス管理の対象とされるデータは、複数のデータストレージにより記憶されてもよい。
ユーザ端末200aは、ユーザUaが所有する端末装置である。ユーザ端末200bは、ユーザUbが所有する端末装置である。本明細書において、これらユーザ端末を互いに区別する必要の無い場合には、符号の末尾のアルファベットを省略することにより、これらをユーザ端末200と総称する。他の構成要素の符号の扱いも同様である。ユーザ端末200は、例えば、ノートブックPC(Personal Computer)、タブレットPC、デスクトップPC、スマートフォン、セルラーフォン、ナビゲーション端末又はPDA(Personal Digital Assistant)などの、いかなる種類の端末装置であってもよい。ユーザは、ユーザ端末200を用いて、例えばテキスト、文書、通信メッセージ、画像、映像、音声、設定データ又は実行可能ファイルといった様々な形態のデータを扱う。ユーザ端末200上で扱われるデータは、ユーザが秘匿することを望むデータを含む。
1つのシナリオにおいて、ユーザUaは、企業の役員である。ユーザUaは、秘匿されるべき機密データをユーザ端末200a上で作成する。旧来の典型的なアクセス管理の手法によれば、ユーザUaは、作成した機密データを企業の共有サーバ(例えば、ストレージサーバ150又は図示しない他のサーバ)へ格納する。ユーザには、共有サーバのフォルダ又はファイル単位のアクセス権限が付与され、アクセス権限はディレクトリサービスにより管理される。ユーザUaは、共有サーバへアクセスする際に自らのID及びパスワードを認証画面へと入力し、成功裏の認証の後に共有サーバ内の機密データへとアクセスする。もう1人の役員であるユーザUbもまた、有効なアクセス権限を付与されている場合には、ID及びパスワードを用いたユーザ認証の後に、同じ機密データへとアクセスすることができる。ユーザ認証と共に、又はユーザ認証とは独立的に、ユーザ端末の端末固有のアドレス(例えば、IPアドレス又はMACアドレス)に基づく端末認証が行われる場合もある。
上述した旧来のアクセス管理の手法の欠点は、共有サーバを運用するために必要とされるルート権限(スーパーユーザ権限ともいう)を有するアカウントが乗っ取られるリスク、及びルート権限を正当に与えられたシステム管理者による不正行為のリスクに対する脆弱性である。ルート権限が悪意ある人間により入手されると、共有サーバに格納された機密データは自由に閲覧され、改竄され、及び外部へと漏洩されかねない。
上述したセキュリティリスクに対して機密データをより強固に保護する技術として、秘密分散法が知られている。既存の秘密分散法によれば、機密データは複数のシェアへと分散され、それら複数のシェアがそれぞれ複数のユーザへ配布される。そして、定足数以上のシェアが集まる場合に限り、元の機密データへのアクセスが可能とされる。例えば、図1のケースにおいて、定足数kが3に等しい(k=3)と仮定すると、ユーザUaが第1のシェアを、ユーザUbが第2のシェアを、図示しない第3のユーザが第3のシェアをそれぞれ提供することにより、元の機密データを復元することが可能となる。
しかしながら、それらユーザのうちの1人でも不在であれば(定足数が満たされなければ)データへのアクセスが不可能であるという事実は、ユーザの活動に制約を課し、利便性を大きく低下させる。また、通常、秘匿すべきデータが生成される当初からそのデータへのアクセスを何人のユーザに許容するかを確定させることは困難である。データを共有するユーザの数が決定されるまでデータが秘匿されないとしたら、本来のセキュリティ強化の目的が損なわれる。
本開示に係る技術の一実施形態は、これら既存の技術の欠点のうちの1つ以上を解決し又は少なくとも軽減するために導入される。一実施形態において、アクセス管理サーバ100は、秘匿されるデータへアクセスするために要するアクセス鍵を、分散数n及び定足数kで閾値分散法を用いてn個の分散鍵へと分散する。例えば、アクセス鍵は、ランダム化されたデータを元データへと復元するために要するビット列、暗号化されたデータを復号するために要する暗号鍵、又はデータへのアクセスを開放するために要するパスワードなどであってよい。本明細書において、データを秘匿するとの用語は、元データを推測することが不可能となるようにデータを変換すること、データを無意味なビット列へとランダム化すること、データを暗号化すること、及びデータへのアクセスを遮断することなど、データ保護に関連する技術を広く含むことを意図される。n個の分散鍵のうちのi(1≦i<k)個の分散鍵は、システム分散鍵としてストレージサーバ150内に記憶される。また、アクセス管理サーバ100は、n個の分散鍵のうちの少なくとも1つの残りの分散鍵をユーザ分散鍵として設定する。ユーザUaは、自身に割り当てられた少なくとも1つのユーザ分散鍵を受け取り、当該ユーザ分散鍵を例えばメモリ250内に格納する。後に詳しく説明するように、ユーザUaは、秘匿されるデータ(例えば、ストレージサーバ150に格納した機密データ)へアクセスすることを望む場合、メモリ250内のユーザ分散鍵をアクセス管理サーバ100へ提供するだけでよい。ストレージサーバ150はi個のシステム分散鍵を記憶するが、i個のシステム分散鍵は定足数kを満たさないため、ルート権限を有する悪意ある人間がそれらシステム分散鍵を読み出すことができたとしても、データへの不正なアクセスは防止される。ユーザ分散鍵を記憶する(各ユーザが所有する)メモリは、図1に示したメモリ250のような外付け型の記憶媒体であってもよく、又はメモリ210のようなユーザ端末により内蔵される記憶媒体であってもよい。
(2)基本的な原理
次に、図2〜図4を参照しながら、一実施形態に係るアクセス管理の基本的な原理についてより具体的に説明する。ここで説明する実施形態では、上述したアクセス鍵として、秘匿すべきデータに対するAONT法での変換又は逆変換の際に使用されるランダムビット列が採用される。
図2の左下において“M”とラベリングされたボックスは、ユーザが秘匿することを望む対象データを表す。対象データは、単一のデータファイル、複数のファイルの集合、ファイル及びフォルダの混成、又は空のフォルダであってもよい。
アクセス管理の開始に際して、まず、ランダムビット列Rが生成される(ステップS11)。ランダムビット列Rは、暗号学的な疑似乱数を表すビット列であり得る。ランダムビット列Rは、分散数n及び定足数kで閾値分散法を用いてn個の分散鍵K,…,Kへと分散される(ステップS12)。典型的には、n=kであってよい。そして、n個の分散鍵のうちのi(1≦i<k)個の分散鍵K,…,Kが、ユーザに配布されることなくシステム分散鍵として記憶される(ステップS13)。一方、少なくとも1つの残りの分散鍵は、ユーザへ提供されるユーザ分散鍵として設定され、当該ユーザが所有するメモリ内に記憶される(ステップS14)。初期のユーザは、ユーザ分散鍵の複製権限を有するオーナとしてシステムに登録され得る。ユーザ分散鍵の設定が完了すると、ランダムビット列Rは消去され得る(ステップS15)。
一方、分散鍵の初期生成の際に、又は初期生成よりも後のタイミングで、対象データMは、ランダムビット列Rを用いてAONT法で1つ以上の分散データX,…,X(1≦m)へと変換(あるいは分散)される(ステップS21)。それら分散データX,…,Xは、1つ又は複数の記憶装置内に記憶される(ステップS22)。
AONT法の性質に起因して、分散データX,…,X(又はそれらの結合である変換済みデータX)のビット列のうちの1ビットでも欠如すると、対象データMは復元不能となる。
一例として、AONT法を実装するためのアルゴリズムの一種であるOAEP(Optimal Asymmetric Encryption Padding)法に従った変換の手順は、次のA1)〜A6)の通りである:
A1)対象データMにゼロをパディングすることにより、ビット長を所定のサイズへと拡張したデータM´を導出
A2)暗号学的ハッシュ関数Gを用いて、ランダムビット列Rを上記所定のサイズを有するハッシュ値G(R)へと拡張
A3)M´とG(R)との排他的論理和を計算することにより、変換済みデータX(X,…,X)を導出
A4)暗号学的ハッシュ関数Hを用いて、変換済みデータXをRと同じサイズを有するハッシュ値H(X)へと縮小
A5)RとH(X)との排他的論理和を計算することにより、変換済みデータYを導出
A6)XとYとの連結X||Yを出力とする
対象データMのサイズが上記所定のサイズを上回る場合、対象データMを複数の部分データへとセグメント化し、各部分データについて上記手順を反復することにより、対象データMの全体をAONT変換することができる。
OAEP法に従った逆変換の手順は、次のB1)〜B3)の通りである:
B1)X||YをX及びYへと分離
B2)YとH(X)との排他的論理和を計算することにより、ランダムビット列Rを導出
B3)XとG(R)との排他的論理和を計算することにより、対象データMを導出
本実施形態では、対象データMに対するAONT変換において、上記手順のうちのA4)〜A6)は省略される。その代わりに、ランダムビット列Rが閾値分散法を用いて複数の分散鍵K,…,Kへと分散され、定足数kを下回る数のシステム分散鍵のみがシステム側で保管されることにより、対象データMの保護が実現される。対象データMを復元する際には、AONT逆変換において、上記手順のうちのB1)及びB2)が省略され、その代わりにk個の分散鍵からランダムビット列Rが復元される。
図3は、秘匿された対象データMへユーザがアクセスするための基本的な原理を示している。ここでは、定足数k及びシステム分散鍵の数iがi=k−1を満たすものとする。
まず、ユーザはユーザ分散鍵Kをシステムへ送信する(ステップS31)。システムは、ユーザ分散鍵Kに加えて、i個のシステム分散鍵K,…,Kを取得する(ステップS32)。そして、ユーザ分散鍵Kとシステム分散鍵K,…,Kとに基づいて閾値分散法を用いてランダムビット列Rが復元される(ステップS33)。
さらに、分散データX,…,Xがストレージから取得され(ステップS41)、分散データX,…,Xを結合することにより得られる結合データXがランダムビット列Rを用いてAONT法で対象データMへと逆変換される(ステップS42)。
複製権限を付与されたユーザが自身の第1のユーザ分散鍵を提供すれば、閾値分散法の性質に起因して、他のユーザが対象データMへアクセスするための第2のユーザ分散鍵を生成することが可能である。図4は、ユーザ分散鍵の複製の基本的な原理を示している。ここでも、定足数k及びシステム分散鍵の数iがi=k−1を満たすものとする。
まず、オーナであるユーザUaは、第1のユーザ分散鍵Kをシステムへ送信する(ステップS51)。システムは、第1のユーザ分散鍵Kに加えて、i個のシステム分散鍵K,…,Kを取得する(ステップS52)。そして、第1のユーザ分散鍵Kとシステム分散鍵K,…,Kとに基づいて、閾値分散法におけるk−1次の多項式(多項式の係数セット)が復元される(ステップS53)。概念的には、このステップは、k個の参照点の座標が決定されれば二次元平面上でそれら参照点の全てを通るk−1次の多項式を多項式補間によって導出できるという原理に基づく。さらに、k個の参照点とは異なるk+1番目の参照点を多項式の軌跡上に設定することにより、第2のユーザ分散鍵Kk+1を生成することができる(ステップS54)。この第2のユーザ分散鍵Kk+1は、ユーザUaが信頼を与えたユーザUbへと配布され得る(ステップS55)。上述したようにランダムビット列Rを復元するための分散鍵の定足数はkに等しいため、ユーザUbは、ユーザUaが不在であっても、図3に示した原理に従い自らのユーザ分散鍵Kk+1を用いて対象データMへアクセスすることができる。
ここまでの説明から理解されるように、上述した原理の下では、同時に変換され又は同時に復元される1つのデータセットごとに1つのアクセス鍵(ランダムビット列R)が必要とされる。1つのアクセス鍵でアクセスされるそうしたデータセットを、本明細書では「金庫」と称する。最初のユーザ鍵が設定される際、金庫は空であってもよく、又は何らかのデータを含んでもよい。ユーザは、ユーザ鍵を用いて金庫を開錠(データセットを復元)する。ファイルの生成又は更新が終了すると、金庫は施錠される。アクセス管理サーバ100は、ストレージサーバ150を利用して、システム分散鍵及び金庫に収容される分散データの実体を管理する。アクセス管理システム1内に複数の金庫(即ち、別個のアクセス鍵でそれぞれアクセスされる複数のデータセット)が存在してもよい。複数の金庫へそれぞれアクセスするための複数のユーザ鍵が1人のユーザへ配布されてもよい。ユーザ鍵は、信頼できる何人のユーザへと複製されてもよい。次節より、こうした原理を実装するための各装置のより詳細な構成の例を具体的に説明する。
<2.装置の構成例>
<2−1.アクセス管理サーバ>
(1)ハードウェア構成
図5は、一実施形態に係るアクセス管理サーバの構成の一例を示すブロック図である。図5を参照すると、アクセス管理サーバ100は、通信インタフェース102、接続インタフェース104、メインメモリ112、バス118、プロセッサ120及び内部ストレージ130を備える。
通信インタフェース102は、アクセス管理サーバ100によるネットワーク5を介した他の装置との通信のためのインタフェースである。通信インタフェース102は、有線通信インタフェースであってもよく、又は無線通信インタフェースであってもよい。
接続インタフェース104は、アクセス管理サーバ100へ外部機器又は周辺機器を接続するためのインタフェースである。接続インタフェース104は、例えば、ファイバチャネル又はiSCSIなどのトランスポートプロトコルをサポートし、1つ以上のストレージサーバ150をアクセス管理サーバ100へ接続させる。
メインメモリ112は、典型的には、揮発性メモリ(例えば、RAM(Random Access Memory))である。メインメモリ112は、アクセス管理サーバ100の動作に必要とされるコンピュータプログラム及びデータを、動作の実行時に一時的に記憶する。
バス118は、通信インタフェース102、接続インタフェース104、メインメモリ112、プロセッサ120及び内部ストレージ130を相互に接続する信号線である。
プロセッサ120は、例えばCPU(Central Processing Unit)又はMPU(Micro Processing Unit)であってよい。プロセッサ120は、例えば内部ストレージ130又は他の何らかの記憶媒体により予め記憶され、メインメモリ112へと読み込まれるコンピュータプログラムを実行することにより、管理モジュール122を動作させる。管理モジュール122は、データの秘匿化及び復元を通じて本実施形態に係るアクセス管理の仕組みを具現化するモジュールである。本実施形態において、管理モジュール122は、構成管理サブモジュール124及び秘密分散サブモジュール126を含む。図5の例に限定されず、構成管理サブモジュール124及び秘密分散サブモジュール126は、それぞれ物理的に別個のサーバ装置上に配置されてもよい。これら機能モジュールの役割について、後にさらに説明する。
内部ストレージ130は、アクセス管理サーバ100の二次記憶装置である。内部ストレージ130は、例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)であってよい。内部ストレージ130は、プロセッサ120により実行される上述したコンピュータプログラムを記憶してもよい。さらに、内部ストレージ130は、上述した管理モジュール122がアクセス管理のために使用するデータベース(DB)を記憶する。本実施形態では、一例として、内部ストレージ130は、ユーザDB132及び金庫DB134を記憶する。これらデータベースの役割について、後にさらに説明する。
(2)管理モジュール−構成管理サブモジュール
構成管理サブモジュール124は、ユーザDB132を用いて、アクセス管理システム1を利用するユーザのアクセス権限を管理する。また、構成管理サブモジュール124は、金庫DB134を用いて、アクセス管理システム1内に生成される金庫の構成を管理する。
ユーザDB132は、例えば次のようなデータ項目を有し得る:
・「ユーザID」
・「ユーザ名」
・「役職」
・「所属グループ」
・「金庫生成権限フラグ」
・「金庫利用権限フラグ」
・「デバイス識別情報」
「ユーザID」は、ユーザを一意に識別するための識別子である。「ユーザ名」は、画面に表示されるユーザの名称を表す。「役職」は、アクセス管理システム1を運用する組織におけるユーザの役職を表す。「所属グループ」は、当該組織においてユーザが所属するグループを表す。「金庫生成権限フラグ」は、「ユーザID」により識別されるユーザが金庫を生成する権限を有するか否かを示すフラグである。「金庫利用権限フラグ」は、「ユーザID」により識別されるユーザが金庫を利用する権限を有するか否かを示すフラグである。例えば、「金庫生成権限フラグ」が「No」を示し、「金庫利用権限フラグ」が「Yes」を示すユーザは、金庫の生成を要求することはできないが、複製されたユーザ鍵を用いて他のユーザが生成した金庫へアクセスすることは許容される。「デバイス識別情報」は、端末認証が行われる場合に利用され得る情報である。例えば、「デバイス識別情報」は、ユーザが所有する端末の固有のアドレス(例えば、IPアドレス又はMACアドレス)、及びユーザが所有するメモリの固有のデバイスID、の一方又は双方を含んでよい。
構成管理サブモジュール124は、金庫が生成される際に、生成される金庫に金庫IDを付与する。そして、構成管理サブモジュール124は、金庫IDに関連付けて金庫の属性を金庫DB134へ登録する。金庫DB134は、例えば次のようなデータ項目を有し得る:
・「金庫ID」
・「金庫名」
・「金庫アクセス用アドレス」
・「生成日時」
・「アクセス日時」
・「データサイズ」
・「システム分散鍵インデックスリスト」
・「定足数」
・「ユーザ分散鍵インデックスリスト」
・「インデックス別ユーザIDリスト」
・「オーナユーザID」
・「展開先パス」
「金庫ID」は、金庫を一意に識別するための識別子である。「金庫名」は、画面に表示される金庫の名称を表す。「金庫アクセス用アドレス」は、ユーザ端末200が金庫へアクセスする際に使用されるアドレス(例えば、URL(Uniform Resource Locator))を表す。「生成日時」は、金庫が生成された日付及び時刻を表す。「アクセス日時」は、金庫への最後のアクセスが行われた日付及び時刻を表す。「データサイズ」は、金庫に収容されている対象データのデータサイズを表す。「システム分散鍵インデックスリスト」は、i個のシステム分散鍵のインデックスのリストである。「定足数」は、金庫を開錠するために必要とされる最小の分散鍵の数を表す。システム全体にわたって定足数が一定である場合、金庫DB134のデータ項目から「定足数」は省略されてもよい。「ユーザ分散鍵インデックスリスト」は、1つ以上のユーザ分散鍵のインデックスのリストである。「インデックス別ユーザIDリスト」は、「ユーザ分散鍵インデックスリスト」により示される個々のインデックスに対応するユーザ分散鍵の配布先ユーザのユーザIDのリストである。「オーナユーザID」は、金庫のオーナとして登録されたユーザのユーザIDを表す。「展開先パス」は、金庫内のデータが復元された場合に復元されたデータが展開されるデータパスを表す。
金庫が生成される際、後述する秘密分散サブモジュール126により、アクセス鍵がn個の分散鍵へと分散される。構成管理サブモジュール124は、n個の分散鍵のうちのi(1≦i<k)個の分散鍵をシステム分散鍵として設定し、及び少なくとも1つの残りの分散鍵を金庫の生成を要求したユーザへ提供されるユーザ分散鍵として設定する。これら分散鍵の設定は、対応するインデックスを金庫DB134の上述したインデックスリストへ登録することを含む。また、ユーザ分散鍵の設定は、対応するユーザIDを「インデックス別ユーザIDリスト」へ登録することを含む。ユーザ分散鍵が複製される際には、構成管理サブモジュール124は、秘密分散サブモジュール126により生成される新たな分散鍵を、複製を要求したユーザ(第1のユーザ)により指定される他のユーザ(第2のユーザ)へ提供されるユーザ分散鍵(第2のユーザ分散鍵)として設定する。第2のユーザ分散鍵のインデックスは「ユーザ分散鍵インデックスリスト」へ登録され、第2のユーザのユーザIDは「インデックス別ユーザIDリスト」へ登録される。
図6は、分散鍵のインデックスについて説明するための説明図である。図6のグラフは、1つの金庫のためのアクセス鍵であるランダムビット列Rを閾値分散する際に設定された多項式の軌跡を表す。グラフの横軸は多項式の定義域に相当し、縦軸は値域に相当する。ここでは、横軸の値をインデックスといい、あるインデックスに対応する多項式の値(縦軸の値)を鍵値という。一例として、定足数kは3に等しく、システム分散鍵の数iは2に等しいものとする。この場合、構成管理サブモジュール124は、金庫の生成の際に、例えばインデックス「1」及び「2」をシステム分散鍵のインデックスとして登録する。インデックス「1」に対応するシステム分散鍵の鍵値はKである。インデックス「2」に対応するシステム分散鍵の鍵値はKである。また、構成管理サブモジュール124は、金庫のオーナであるユーザUaへインデックス「3」を割り当てる。インデックス「3」に対応するユーザ分散鍵の鍵値はKである。構成管理サブモジュール124は、ユーザUaからユーザUbのためのユーザ分散鍵の複製が要求されると、ユーザUbへインデックス「j」を割り当てる。インデックス「j」に対応するユーザ分散鍵の鍵値はKである。このように複数のユーザに異なるインデックスを割り当てて割り当てインデックスにそれぞれ対応するユーザ分散鍵を発行することで、鍵値の重複が防止され、ユーザごとの鍵値の管理が容易となる。ここではインデックスとして自然数を使用する例を示しているが、インデックスは概して任意の有理数であってよい。
上述した「インデックス別ユーザIDリスト」は、各ユーザ分散鍵に対応する多項式補間のためのインデックスと各ユーザ分散鍵のユーザとをマッピングするマッピングデータとしての役割を有する。一例として、構成管理サブモジュール124は、あるユーザがユーザ分散鍵を使用しようとする場合に、
・ユーザDB132において当該ユーザが正当な権限を有するか、及び
・金庫DB134において当該ユーザが有効なマッピング(有効なインデックスとユーザIDとのマッピング)を有するか、
を検証するように構成される。構成管理サブモジュール124は、正当な権限を有するユーザによる有効なユーザ分散鍵の使用(例えば、金庫の開錠又はユーザ分散鍵の複製)を許容する一方、正当な権限を有しないユーザによるユーザ分散鍵の使用、及び有効ではないユーザ分散鍵の使用を拒否する。
図7は、分散鍵の使用停止について説明するための説明図である。図7には、図6に示したものと同様のランダムビット列Rを閾値分散する際に設定された多項式の軌跡が表されている。金庫は既に生成済みであり、インデックス「1」及び「2」に対応する2つのシステム分散鍵が設定されている。また、インデックス「3」に対応するユーザ分散鍵が金庫のオーナであるユーザUaのために設定されている。インデックス「5」に対応するユーザ分散鍵は、ユーザUcのために設定されている。ユーザUaは、例えばユーザUcがセキュリティリスクにさらされている(例えば、メモリの紛失又はアカウントの乗っ取りなど)と判断される場合、構成管理サブモジュール124へユーザUcの分散鍵の使用停止を要求する。構成管理サブモジュール124は、要求に応じて、金庫DB134の「ユーザ分散鍵インデックスリスト」に、インデックス「5」が無効化されたことを示す標識を登録する。その結果、ユーザUc又は第三者によるインデックス「5」に対応するユーザ分散鍵はもはや使用不能となる。
ユーザ分散鍵を複製する権限は、オーナユーザのみに付与されてもよい。オーナユーザの追加又は変更が可能であってもよい。さらに、ユーザ分散鍵を複製する権限がオーナユーザ以外のユーザへ付与されてもよい。但し、ユーザ分散鍵の複製は、少なくとも自らのユーザ分散鍵を有するユーザのみによって要求されることができる。一例として、ある第2のユーザは、オーナユーザではなく、第2のユーザ分散鍵を有しているものとする。構成管理サブモジュール124は、第2のユーザに鍵複製権限が付与された場合にのみ、第2のユーザからの要求に応じて、第2のユーザ分散鍵とシステム分散鍵とに基づいて第3のユーザ分散鍵を生成(即ち、複製)する。第3のユーザ分散鍵は、第2のユーザにより指定される第3のユーザのために設定され得る。ユーザDB132において、各ユーザによる鍵の複製を許容するか否かを示す「鍵複製権限フラグ」が追加的に定義されてもよい。また、金庫DB134において、「インデックス別ユーザIDリスト」に列挙されたユーザの各々が鍵複製権限を有するか否かを示す標識(例えば、フラグ)が追加されてもよい。
(3)管理モジュール−秘密分散サブモジュール
秘密分散サブモジュール126は、秘密分散処理を実行するサブモジュールである。より具体的には、秘密分散サブモジュール126は、金庫が生成される際に、秘匿されるデータへアクセスするために要するアクセス鍵を生成する。本実施形態において、アクセス鍵は、秘匿すべきデータに対するAONT法での変換又は逆変換の際に使用されるランダムビット列を含む。秘密分散サブモジュール126は、生成したアクセス鍵を分散数n及び定足数kで閾値分散法を用いてn個の分散鍵へと分散する。さらに、秘密分散サブモジュール126は、n個の分散鍵のうちのi(1≦i<k)個の分散鍵をシステム分散鍵としてストレージサーバ150に記憶させる。また、秘密分散サブモジュール126は、構成管理サブモジュール124によりユーザ分散鍵として設定される少なくとも1つの残りの分散鍵を、対応するインデックスを示す鍵情報と共にユーザへ提供する。
ユーザ分散鍵は、プライベートネットワークなどのセキュアな環境においては、電子メールに添付するなど、任意の手法でアクセス管理サーバ100からユーザ端末200へ送信されてよい。非セキュアな環境では、ユーザ分散鍵は、例えばSSH(Secure Shell)、TLS(Transport Layer Security)又はSSL(Secure Sockets Layer)などの通信プロトコルを用いて形成されるセキュアなチャネルを通じて送信され得る。秘密分散サブモジュール126からユーザ端末200上の後述するユーザモジュール222へとユーザ分散鍵が利用可能であるという通知のみが送信され、ユーザモジュール222からのアクセスに応じてユーザ分散鍵がユーザ端末200へとダウンロードされてもよい。秘密分散サブモジュール126は、ユーザ分散鍵がユーザモジュール222により成功裏に取得された後に、アクセス管理サーバ100に存在するユーザ分散鍵を消去する。
秘密分散サブモジュール126は、ユーザが秘匿することを要求した対象データに対して、ランダムビット列などのアクセス鍵を用いてAONT法での変換を実行する。システム側のユーザ分散鍵が消去された後にAONT変換が実行される場合、秘密分散サブモジュール126は、まず、ユーザが所有するメモリ内に記憶されている少なくとも1つのユーザ分散鍵をユーザモジュール222から受信する。また、秘密分散サブモジュール126は、ストレージサーバ150内に記憶されているi個のシステム分散鍵を取得する。そして、秘密分散サブモジュール126は、これらユーザ分散鍵及びシステム分散鍵に基づいてアクセス鍵を復元して、復元されたアクセス鍵を対象データのAONT変換のために使用する。秘密分散サブモジュール126は、AONT変換後のデータをさらに1つ以上の分散データへと分散し、それら分散データをストレージサーバ150に記憶させる。AONT変換のために使用されたアクセス鍵、及びアクセス鍵の復元のために使用されたユーザ分散鍵が消去されると、対象データは、システム側に残る情報のみからは復元不能となる。
秘密分散サブモジュール126は、AONT変換を通じて秘匿された対象データへのアクセスをユーザが要求した場合、まず、ユーザが所有するメモリ内に記憶されている少なくとも1つのユーザ分散鍵をユーザモジュール222から受信する。また、秘密分散サブモジュール126は、ストレージサーバ150内に記憶されているi個のシステム分散鍵をストレージサーバ150から取得する。秘密分散サブモジュール126は、これらユーザ分散鍵及びシステム分散鍵に基づいて、アクセス鍵を復元する。また、秘密分散サブモジュール126は、1つ以上の分散データをストレージサーバ150から取得して、それら分散データを結合することにより変換済みデータを復元する。そして、秘密分散サブモジュール126は、k個の分散鍵に基づいて復元されたアクセス鍵を用いて、変換済みデータに対してAONT法での逆変換を実行することにより、対象データを復元する。
秘密分散サブモジュール126は、単一のデータファイル、複数のファイルの集合、ファイル及びフォルダの混成、又は空のフォルダであり得る対象データを、金庫DB134の「展開先パス」により示されるデータパスへと展開する。対象データの展開先のデータパスは、アクセス管理サーバ100(又は他のデータサーバ)において一時的にマウントされるフォルダ又はディレクトリであってもよい。秘密分散サブモジュール126は、アクセス鍵が実体として存在している限られた期間においてのみ一時的にマウントされるデータパスにおいて対象データを維持し、アクセスが終了するとそのデータパスをアンマウントして関連するデータを消去し得る。アクセスの終了は、例えばユーザ分散鍵を記憶しているメモリの接続切断、又はユーザからの明示的な指示などのイベントを契機として、ユーザモジュール222から秘密分散サブモジュール126へと通知され得る。秘密分散サブモジュール126は、所定の期間にわたってユーザアクションが検出されない場合のタイムアウトを契機としてアクセスが終了したと判定してもよい。こうした構成により、一旦復元された対象データが悪意ある第三者に読み取られてしまうリスクを最小化することができる。
秘密分散サブモジュール126は、例えば、アクセス管理サーバ100のオペレーティングシステムを介して対象データの更新を監視してもよい。例えば、ユーザは、ユーザ端末200上で動作するアプリケーションを用いて、対象データを更新する。ユーザ又はアプリケーションは、更新された対象データを保存することをアクセス管理サーバ100へ要求する。このファイル保存要求は、アクセス管理サーバ100のオペレーティングシステムにより受け付けられる。秘密分散サブモジュール126は、オペレーティングシステムを介して対象データについてのファイル保存要求を検出すると、アクセス鍵を用いてAONT法で対象データを1つ以上の分散データへと変換し得る。このように、対象データの閲覧及び更新のために利用されるアプリケーションと秘密分散サブモジュール126との間にオペレーティングシステムを介在させることで、既存の及び将来的に開発され得る多様なアプリケーションとアクセス管理システム1との間の円滑な連携が保証される。
秘密分散サブモジュール126は、ユーザ分散鍵を有する正当なユーザからユーザ分散鍵の複製が要求された場合に、当該ユーザが所有するメモリから取得されるユーザ分散鍵と、ストレージサーバ150が記憶しているシステム分散鍵とに基づいて、他のユーザによる対象データへのアクセスを可能とするための他のユーザ分散鍵を生成する。ユーザ分散鍵の複製は、図4及び図6を用いて説明したように、指定されたユーザへの新たなインデックスの割り当て、k個の分散鍵に基づくk−1次の多項式の導出、及び新たなインデックスに対応する鍵値の導出を含み得る。秘密分散サブモジュール126は、このように複製したユーザ分散鍵を、対応するインデックスを示す鍵情報と共に、指定されたユーザへ提供する。
<2−2.ユーザ端末>
(1)ハードウェア構成
図8は、一実施形態に係るユーザ端末の構成の一例を示すブロック図である。図8を参照すると、ユーザ端末200は、通信インタフェース202、接続インタフェース204、入力インタフェース206、ディスプレイ208、二次記憶装置210、メインメモリ212、バス218及びプロセッサ220を備える。
通信インタフェース202は、ユーザ端末200によるネットワーク5を介した他の装置との通信のためのインタフェースである。通信インタフェース202は、有線LANインタフェース、無線LANインタフェース又はセルラー通信インタフェースなどを含んでよい。
接続インタフェース204は、ユーザ端末200へ外部機器又は周辺機器を接続するためのインタフェースである。接続インタフェース204は、例えば、USB(Universal Serial Bus)インタフェース、IC(Integrated Circuit)カードインタフェース又はメモリカードインタフェースなどを含んでよい。図8の例では、接続インタフェース204を介してユーザ端末200へ外部メモリ250が接続されている。
入力インタフェース206は、ユーザがユーザ端末200を操作し又はユーザ端末200へ情報を入力するために使用されるユーザインタフェース(UI)である。入力インタフェース206は、例えば、タッチセンサ、キーパッド、キーボード、ボタン、スイッチ又はポインティングデバイスなどといった、いかなる種類のインタフェースを含んでもよい。入力インタフェース206は、マイクロフォン(図示せず)を介して取得されるユーザからの音声コマンドをユーザ入力として認識する音声入力モジュールを含んでもよい。
ディスプレイ208は、例えば、液晶ディスプレイ(LCD)又は有機発光ダイオード(OLED)ディスプレイなどといった表示モジュールである。ディスプレイ208は、後述するユーザモジュール222により生成されるGUI(Graphical User Interface)を表示し、及び他のアプリケーション画面を表示するために使用され得る。
二次記憶装置210は、例えばHDD又はSSDであってよく、プロセッサ220により実行されるコンピュータプログラム、設定データ及びアプリケーションデータなどを記憶する。
メインメモリ212は、典型的には、揮発性メモリ(例えば、RAM)である。メインメモリ212は、ユーザ端末200の動作に必要とされるコンピュータプログラム及びデータを、動作の実行時に一時的に記憶する。
バス218は、通信インタフェース202、接続インタフェース204、入力インタフェース206、ディスプレイ208、二次記憶装置210、メインメモリ212及びプロセッサ220を相互に接続する信号線である。
プロセッサ220は、例えば、CPU又はMPUであってよい。プロセッサ220は、例えば二次記憶装置210又は他の何らかの記憶媒体により予め記憶され、メインメモリ212へと読み込まれるコンピュータプログラムを実行することにより、アクセス管理システム1のクライアント側モジュールとしての役割を有するユーザモジュール222を動作させる。この機能モジュールの役割について、次に説明する。
(2)ユーザモジュール
ユーザモジュール222は、アクセス管理サーバ100により設定されるユーザ分散鍵を用いたユーザ端末200からの金庫へのアクセスを管理する。ユーザモジュール222は、例えば、アプリケーションメニューからの選択、又はユーザ分散鍵を記憶している外部メモリ250のユーザ端末200への接続の検出などのイベントを契機として起動される。ユーザモジュール222は、例えば、アクセス管理サーバ100から利用可能な金庫に関する情報を取得し、利用可能な金庫のリスト及び関連する機能メニューをディスプレイ208に表示させる。
ユーザモジュール222によりユーザへと提供され得る機能メニューは、例えば次を含む:
・新たな金庫の生成
・金庫へのアクセス
・ユーザ分散鍵の複製
・ユーザ分散鍵の使用停止
・複製権限の付与
・ユーザ分散鍵の取得
・(金庫へアクセス中の場合)アクセス終了
なお、実際の表示される機能メニューは、ユーザDB132において定義されるユーザの権限に依存して異なる。例えば、金庫生成権限を有しないユーザには、「新たな金庫の生成」機能は提供されない。金庫へアクセス可能な正当なユーザとして金庫DB134に登録されていないユーザには、当該金庫についての「金庫へのアクセス」機能は提供されない。金庫のオーナユーザではなく複製権限を付与されていないユーザには、当該金庫についての「ユーザ分散鍵の複製」機能、「ユーザ分散鍵の使用停止」機能及び「複製権限の付与」機能は提供されない。
ユーザモジュール222は、新たな金庫の生成がユーザにより指示されると、金庫生成要求をアクセス管理サーバ100へ送信する。金庫生成要求は、少なくともユーザのユーザIDを含む。金庫の識別子又は名称がユーザにより指定される場合には、金庫生成要求は、これら情報をさらに含んでもよい。金庫生成要求に応じて、アクセス管理サーバ100により金庫が生成され、生成された金庫へアクセスするためのユーザ分散鍵が設定される。ユーザモジュール222は、アクセス管理サーバ100から提供されるユーザ分散鍵及び対応するインデックスを取得し、取得したユーザ分散鍵及びインデックスをユーザが所有するメモリへ記憶させる。ユーザ分散鍵及びインデックスは、金庫IDに関連付けて記憶される。ユーザモジュール222は、ユーザ分散鍵がメモリへと成功裏に格納されると、鍵格納通知をアクセス管理サーバ100へ送信して、システム側のユーザ分散鍵及び関連するデータを消去させる。ユーザ分散鍵は、例えば、二次記憶装置210内に記憶されてもよく、又は外部メモリ250内に記憶されてもよい。ユーザは、外部メモリ250にユーザ分散鍵を記憶させ、他のユーザ端末に外部メモリ250を接続して当該他のユーザ端末からアクセス管理サーバ100へ次回のアクセスを行ってもよい。
ユーザモジュール222は、金庫へのアクセスがユーザにより指示されると、アクセス要求をアクセス管理サーバ100へ送信する。アクセス要求は、例えば、ユーザのユーザID、選択された金庫の金庫ID、ユーザ分散鍵及び対応するインデックスを含む。アクセス管理サーバ100は、ユーザDB132を参照して、ユーザの権限の正当性をチェックする。また、アクセス管理サーバ100は、金庫DB134の金庫IDにより識別されるレコードを参照して、ユーザIDとユーザ分散鍵に対応するインデックスとの間のマッピングが有効であるかを検証する。権限のチェックは、アクセス要求よりも前に行われてもよい。権限のチェック及びユーザ分散鍵の有効性の検証に成功すると、アクセス管理サーバ100によりアクセス鍵が復元され、及び金庫内で秘匿されていた対象データが復元される。ユーザモジュール222は、アクセス管理サーバ100から受信されるアクセス応答に含まれるデータパスを取得する。その結果、ユーザモジュール222又はユーザ端末200上の他のアプリケーションによって、アクセス管理サーバ100上に展開された対象データへアクセスすることが可能となる。
ユーザモジュール222は、金庫へのアクセスの終了が指示され、又はユーザ分散鍵を記憶している外部メモリ250がユーザ端末200から接続切断されると、アクセス終了通知をアクセス管理サーバ100へ送信して、システム側に一時的に存在したユーザ分散鍵及び関連するデータを消去させる。
ユーザモジュール222は、ユーザ分散鍵の複製が第1のユーザにより指示されると、鍵複製要求をアクセス管理サーバ100へ送信する。鍵複製要求は、例えば、第1のユーザのユーザID、選択された金庫の金庫ID、ユーザ分散鍵、対応するインデックス、及び指定された第2のユーザ(複製されたユーザ分散鍵を受け取るべきユーザ)のユーザIDを含む。アクセス管理サーバ100は、ユーザDB132を参照して、第1のユーザが正当な鍵複製権限を有するか、及び第2のユーザが金庫利用権限を有するかをチェックする。また、アクセス管理サーバ100は、金庫DB134の金庫IDにより識別されるレコードを参照して、ユーザIDとユーザ分散鍵に対応するインデックスとの間のマッピングが有効であるかを検証する。権限のチェック及びユーザ分散鍵の有効性の検証に成功すると、アクセス管理サーバ100により新たなユーザ分散鍵が生成される。
ユーザモジュール222は、ユーザ端末200のユーザのためにアクセス管理サーバ100によりユーザ分散鍵が生成され又は複製された後、ユーザ分散鍵を取得することを指示され得る。一例として、ユーザモジュール222は、そうした指示の検出に応じて、アクセス管理サーバ100から提供されるユーザ分散鍵及び対応するインデックスの受信に向けて待機する。ユーザモジュール222は、アクセス管理サーバ100からユーザ分散鍵及びインデックスが受信されると、ユーザ分散鍵及びインデックスを金庫IDに関連付けてメモリへ記憶させる。ユーザモジュール222は、ユーザ分散鍵がメモリへと成功裏に格納されると、鍵格納通知をアクセス管理サーバ100へ送信して、システム側のユーザ分散鍵及び関連するデータを消去させる。他の例として、ユーザモジュール222は、ユーザ分散鍵の取得が指示されると、鍵取得要求をアクセス管理サーバ100へ送信してもよい。鍵取得要求は、少なくともユーザID及び金庫IDを含む。ユーザの権限のチェックが終了した後。ユーザモジュール222は、アクセス管理サーバ100から提供されるユーザ分散鍵及び対応するインデックスを受信し得る。
ユーザモジュール222は、第2のユーザのために複製されたユーザ分散鍵の使用停止が第1のユーザにより指示されると、使用停止要求をアクセス管理サーバ100へ送信する。使用停止要求は、例えば、第1のユーザのユーザID、金庫ID、及び指定された第2のユーザのユーザIDを含む。第2のユーザのユーザIDの代わりに、使用を停止されるべきユーザ分散鍵のインデックスが使用停止要求に含められてもよい。アクセス管理サーバ100は、第1のユーザが正当なオーナユーザである場合には、第2のユーザのために複製されたユーザ分散鍵のインデックスを「ユーザ分散鍵インデックスリスト」において削除し又は無効化することにより、そのユーザ分散鍵の使用を停止する。
図9は、ユーザが対象データへのアクセスを開始し及び終了するまでの一連の動作の概略について説明するための説明図である。
メモリ250内に、既に有効なユーザ分散鍵が記憶されているものとする。メモリ250が接続インタフェース204を介してユーザ端末200へ接続されると、ユーザモジュール222は、メモリ250内のユーザ分散鍵を検出する。ユーザモジュール222は、選択された金庫の金庫ID、ユーザ分散鍵及び対応するインデックスをアクセス管理サーバ100へ送信することにより、選択された金庫へのアクセスを開始する。アクセス管理サーバ100は、受信したユーザ分散鍵とi個のシステム分散鍵とに基づいて、ランダムビット列Rを復元する。また、アクセス管理サーバ100は、m個の分散データX,…,Xをランダムビット列Rを用いて対象データMへと逆変換する。ユーザは、このように復元される対象データMを、ユーザ端末200上の任意のアプリケーションを用いて閲覧し、再生し、又は更新することができる。ユーザが対象データMをM´へと更新し、対象データM´の保存を要求すると、アクセス管理サーバ100は、ランダムビット列Rを用いて対象データM´をm個の分散データX´,…,X´へと変換(分散)する。ユーザが対象データM´をさらにM´´へと更新し、対象データM´´の保存を要求すると、アクセス管理サーバ100は、ランダムビット列Rを用いて対象データM´´をm個の分散データX´´,…,X´´へと変換(分散)する。これら分散データは、データ更新の都度ストレージサーバ150へ格納されてもよく、又は後のアクセス終了のタイミングでストレージサーバ150へ格納されてもよい。ユーザによりアクセス終了が指示され、又はメモリ250がユーザ端末200から接続切断されると、ユーザモジュール222は、アクセス終了をアクセス管理サーバ100へと通知する。アクセス管理サーバ100は、この通知に応じて、アクセス鍵として使用されていたランダムビット列R及び対象データM´´を消去する。
図9に示したシナリオによれば、有効なユーザ分散鍵を有しているユーザがアクセス管理システム1へアクセスしている期間中にのみ、対象データの実体がシステム内に存在する。その期間の前及び後においては、システム内で利用可能な分散鍵の数が定足数kを満たさないため、閾値分散法の性質に起因してアクセス鍵(ランダムビット列)は理論上復元不能であり、転じてAONT法の性質に起因して対象データもまた復元不能である。一方、ある正当なユーザが少なくとも1つの自らのユーザ分散鍵をシステムに提供することによりアクセス鍵は復元されることができ、よって対象データはアクセス可能となる。他の正当なユーザもまた、有効に複製された自らのユーザ分散鍵をシステムに提供することにより対象データへアクセスすることができる。複製されるユーザ分散鍵の数に上限は無いため、上述した手法は、高いデータ秘匿性に加えて、ユーザ数の変化に対する拡張可能性に優れている。
<3.処理の流れ>
本節では、上述したアクセス管理システム1において実行されるいくつかの処理の流れについて、シーケンス図を用いて詳細に説明する。
(1)金庫生成処理
図10は、一実施形態に係る金庫生成処理の流れの一例を示すシーケンス図である。図10に示した金庫生成処理には、アクセス管理サーバ100の構成管理サブモジュール124及び秘密分散サブモジュール126、ストレージサーバ150、並びにユーザ端末200のユーザモジュール222が関与する。
まず、ユーザモジュール222は、金庫情報要求を構成管理サブモジュール124へ送信する(ステップS100)。構成管理サブモジュール124は、ユーザにとって利用可能な金庫に関する情報を含む金庫情報応答をユーザモジュール222へ送信する(ステップS102)。ユーザモジュール222は、金庫情報応答に含まれる情報に基づいて、「新たな金庫の生成」を機能メニューとして含むGUIを表示させる。
ユーザが例えばGUI上で「新たな金庫の生成」を選択すると、金庫生成指示がユーザモジュール222により検出される(ステップS110)。ユーザモジュール222は、金庫生成指示の検出に応じて、金庫生成要求を秘密分散サブモジュール126へ送信する(ステップS112)。秘密分散サブモジュール126は、金庫生成要求の受信に応じて、金庫登録要求を構成管理サブモジュール124へ送信する(ステップS114)。構成管理サブモジュール124は、金庫の生成を指示したユーザが正当な生成権限を有するかをチェックする(ステップS116)。ユーザが正当な生成権限を有する場合、構成管理サブモジュール124は、新たな金庫を金庫DB134へ登録し(ステップS118)、金庫登録応答を秘密分散サブモジュール126へ送信する(ステップS120)。金庫登録応答は、例えば、ユーザに割り当てられたインデックスの値を含む。
秘密分散サブモジュール126は、アクセス鍵(R)を生成し(ステップS122)、生成したアクセス鍵をn個の分散鍵へと分散する(ステップS124)。秘密分散サブモジュール126は、n個の分散鍵のうちのi個の分散鍵をシステム分散鍵としてストレージサーバ150に記憶させる(ステップS126)。n個の分散鍵のうちの少なくとも1つは、ユーザに割り当てられたインデックス(例えばi+1)に対応する分散鍵、即ちユーザ分散鍵である。秘密分散サブモジュール126は、金庫ID、ユーザ分散鍵及び対応するインデックスを含む金庫生成応答を、ユーザモジュール222へ送信する(ステップS128)。
ユーザモジュール222は、金庫生成応答の受信に応じて、ユーザ分散鍵及び対応するインデックスを、金庫IDに関連付けて、ユーザが所有するメモリへと格納する(ステップS130)。そして、ユーザモジュール222は、鍵格納通知を秘密分散サブモジュール126へ送信する(ステップS132)。秘密分散サブモジュール126は、ユーザ分散鍵及び関連するデータを消去する(ステップS134)。
(2)金庫アクセス処理
図11は、一実施形態に係る金庫アクセス処理の流れの一例を示すシーケンス図である。図11に示した金庫アクセス処理には、構成管理サブモジュール124、秘密分散サブモジュール126、ストレージサーバ150及びユーザモジュール222が関与する。
金庫へのアクセスが開始される前に、ユーザ端末200において「金庫へのアクセス」を機能メニューとして含むGUIが表示されているものとする。ユーザが例えばGUI上で「金庫へのアクセス」を選択すると、金庫アクセス指示がユーザモジュール222により検出される(ステップS140)。ユーザモジュール222は、金庫アクセス指示の検出に応じて、権限チェック要求を構成管理サブモジュール124へ送信する(ステップS142)。構成管理サブモジュール124は、ユーザDB132を参照して、ユーザの権限の正当性をチェックし(ステップS144)、権限チェック応答をユーザモジュール222へ送信する(ステップS146)。ここでは、ユーザは金庫へアクセスするための正当な権限を有しているものとする。ユーザモジュール222は、アクセス要求を秘密分散サブモジュール126へ送信する(ステップS148)。アクセス要求は、上述したように、ユーザのユーザID、選択された金庫の金庫ID、ユーザ分散鍵及び対応するインデックスを含む。
秘密分散サブモジュール126は、アクセス要求の受信に応じて、ユーザ分散鍵の有効性を検証するための検証要求を構成管理サブモジュール124へ送信する(ステップS150)。構成管理サブモジュール124は、金庫DB134の金庫IDにより識別されるレコードを参照して、ユーザIDとユーザ分散鍵に対応するインデックスとの間のマッピングが有効であるかを検証し(ステップS152)、検証応答を秘密分散サブモジュール126へ送信する(ステップS154)。ここでは、ユーザ分散鍵は有効であるものとする。
秘密分散サブモジュール126は、ストレージサーバ150内に記憶されているi個のシステム分散鍵を取得し(ステップS156)、ユーザモジュール222から受信したユーザ分散鍵とi個のシステム分散鍵とに基づいて、アクセス鍵を復元する(ステップS158)。また、秘密分散サブモジュール126は、ストレージサーバ150内に記憶されている分散データを取得し(ステップS160)、復元したアクセス鍵を用いて、分散データの結合及び逆変換を通じて対象データを復元する(ステップS162)。そして、秘密分散サブモジュール126は、対象データが復元されたことを示すアクセス応答をユーザモジュール222へ送信する(ステップS164)。
ユーザモジュール222は、アクセス応答に含まれるデータパスを用いて、復元された対象データの閲覧又は更新を可能とする(ステップS166)。ユーザ端末において対象データが更新され、更新された対象データの保存が要求されると、秘密分散サブモジュール126は、更新された対象データをアクセス鍵を用いてAONT変換し、1つ以上の分散データを生成する(ステップS168)。
ユーザモジュール222は、アクセス終了指示の検出、又はユーザ分散鍵を記憶しているメモリの接続切断の検出に応じて、アクセス終了通知を秘密分散サブモジュール126へ送信する(ステップS170)。秘密分散サブモジュール126は、アクセス鍵、ユーザ分散鍵及び関連するデータを消去する(ステップS172)
(3)鍵複製処理
図12は、一実施形態に係る鍵複製処理の流れの一例を示すシーケンス図である。図12に示した鍵複製処理には、構成管理サブモジュール124、秘密分散サブモジュール126、ストレージサーバ150及び第1のユーザのユーザモジュール222aが関与する。
鍵の複製が開始される前に、ユーザ端末200aにおいて「ユーザ分散鍵の複製」を機能メニューとして含むGUIが表示されているものとする。第1のユーザは、例えばGUI上で「ユーザ分散鍵の複製」を選択し、新たな鍵の配布先となるべきユーザを指定する。ユーザモジュール222aは、鍵複製指示を検出し(ステップS210)、鍵複製要求を秘密分散サブモジュール126へ送信する(ステップS212)。
秘密分散サブモジュール126は、鍵複製要求の受信に応じて、複製登録要求を構成管理サブモジュール124へ送信する(ステップS214)。構成管理サブモジュール124は、鍵の複製を指示した第1のユーザ及び指定された第2のユーザの権限をチェックし、並びにユーザモジュール222aから受信されたユーザ分散鍵の有効性を検証する(ステップS216)。双方のユーザが正当な権限を有し及びユーザ分散鍵が有効である場合、構成管理サブモジュール124は、選択された金庫についての新たなインデックスを第2のユーザに割り当てる(ステップS218)。そして、構成管理サブモジュール124は、複製登録応答を秘密分散サブモジュール126へ送信する(ステップS220)。複製登録応答は、例えば、第2のユーザに割り当てられたインデックスの値を含む。
秘密分散サブモジュール126は、ストレージサーバ150内に記憶されているi個のシステム分散鍵を取得し(ステップS224)、ユーザモジュール222aから受信したユーザ分散鍵とi個のシステム分散鍵とに基づいて、多項式を復元する(ステップS226)。秘密分散サブモジュール126は、第2のユーザに割り当てられたインデックスに対応する多項式の値を計算することにより、第2のユーザのためのユーザ分散鍵を生成する(ステップS228)。そして、秘密分散サブモジュール126は、ユーザ分散鍵が複製されたことを示す鍵複製応答をユーザモジュール222aへ送信する(ステップS230)。
(4)鍵取得処理
図13Aは、一実施形態に係る鍵取得処理の流れの第1の例を示すシーケンス図である。図13Aに示した鍵取得処理には、秘密分散サブモジュール126及び第2のユーザのユーザモジュール222bが関与する。
鍵の取得が開始される前に、ユーザ端末200bにおいて「ユーザ分散鍵の取得」を機能メニューとして含むGUIが表示されているものとする。第2のユーザが例えばGUI上で「ユーザ分散鍵の取得」を選択すると、ユーザモジュール222bは、鍵取得指示を検出し(ステップS240)、ユーザ分散鍵の受信を待ち受ける状態に入る。鍵取得指示は、ユーザ分散鍵の複製を要求した他のユーザのユーザ端末、又はアクセス管理サーバ100から受信されてもよい。秘密分散サブモジュール126は、図12に例示したような鍵複製処理の結果として生成された第2のユーザのためのユーザ分散鍵を、対応するインデックス及び関連付けられる金庫IDと共にユーザモジュール222bへ送信する(ステップS250)。
ユーザモジュール222bは、受信したユーザ分散鍵及び対応するインデックスを、金庫IDに関連付けて、第2のユーザが所有するメモリへと格納する(ステップS252)。そして、ユーザモジュール222bは、鍵格納通知を秘密分散サブモジュール126へ送信する(ステップS254)。秘密分散サブモジュール126は、ユーザ分散鍵及び関連するデータを消去する(ステップS256)。
図13Bは、一実施形態に係る鍵取得処理の流れの第2の例を示すシーケンス図である。図13Bに示した鍵取得処理には、構成管理サブモジュール124、秘密分散サブモジュール126及び第2のユーザのユーザモジュール222bが関与する。
ユーザモジュール222bは、鍵取得指示を検出する(ステップS240)。ユーザモジュール222bは、鍵取得指示の検出に応じて、鍵取得要求を秘密分散サブモジュール126へ送信する(ステップS242)。秘密分散サブモジュール126は、鍵取得要求の受信に応じて、権限チェック要求を構成管理サブモジュール124へ送信する(ステップS244)。構成管理サブモジュール124は、第2のユーザが複製されたユーザ分散鍵を使用するための正当な権限を有するかをチェックし(ステップS246)、その結果を示す権限チェック応答を秘密分散サブモジュール126へ送信する(ステップS248)。ここでは、第2のユーザは正当な権限を有しているものとする。秘密分散サブモジュール126は、図12に例示したような鍵複製処理の結果として生成された第2のユーザのためのユーザ分散鍵を、対応するインデックス及び関連付けられる金庫IDと共にユーザモジュール222bへ送信する(ステップS250)。
ユーザモジュール222bは、受信したユーザ分散鍵及び対応するインデックスを、金庫IDに関連付けて、第2のユーザが所有するメモリへと格納する(ステップS252)。そして、ユーザモジュール222bは、鍵格納通知を秘密分散サブモジュール126へ送信する(ステップS254)。秘密分散サブモジュール126は、ユーザ分散鍵及び関連するデータを消去する(ステップS256)。
(5)鍵使用停止処理
図14は、一実施形態に係る鍵使用停止処理の流れの一例を示すシーケンス図である。図14に示した鍵使用停止処理には、構成管理サブモジュール124、第1のユーザのユーザモジュール222a及び第2のユーザのユーザモジュール222bが関与する。
鍵の使用停止が要求される前に、ユーザ端末200aにおいて「ユーザ分散鍵の使用停止」を機能メニューとして含むGUIが表示されているものとする。第1のユーザは、ある金庫について「ユーザ分散鍵の使用停止」を選択し、停止すべき鍵を有するユーザを指定する。ここでは、第2のユーザが指定されるものとする。ユーザモジュール222aは、鍵使用停止指示を検出し(ステップS260)、使用停止要求を構成管理サブモジュール124へ送信する(ステップS262)。
構成管理サブモジュール124は、ユーザDB132を参照して、第1のユーザの権限の正当性をチェックし(ステップS264)、第1のユーザが正当な権限を有する場合に、選択された金庫のための第2のユーザのインデックスを金庫DB134において無効化する(ステップS266)。そして、構成管理サブモジュール124は、第2のユーザのユーザ分散鍵の使用が停止されたことを示す使用停止応答をユーザモジュール222aへ送信する(ステップS268)。
その後、第2のユーザがユーザ端末200bにおいて金庫へのアクセスを指示すると(ステップS270)、ユーザ端末200bのユーザモジュール222bは、権限チェック要求を構成管理サブモジュール124へ送信する(ステップS272)。構成管理サブモジュール124は、ユーザDB132を参照して、第2のユーザの権限の正当性をチェックする(ステップS274)。ここでは、選択された金庫のための第2のユーザのインデックスが金庫DB134において無効化されているため、構成管理サブモジュール124は、第2のユーザが当該金庫へアクセスするための正当な権限を有しないと判定する。その結果、構成管理サブモジュール124は、アクセスが許可されないことを示す権限チェック応答をユーザモジュール222bへ送信する(ステップS276)。
本節において説明したいずれの処理においても、処理ステップは必ずしも図示された順序で実行されなくてよい。いくつかの処理ステップは、並列的に実行されてもよい。また、追加的な処理ステップが採用されてもよく、一部の処理ステップが省略されてもよい。
<4.まとめ>
ここまで、図1〜図14を用いて本開示に係る技術の実施形態について詳細に説明した。上述した実施形態では、秘匿されるデータへのアクセスを管理するためのアクセス管理システムにおいて、秘匿されるデータへアクセスするために要するアクセス鍵が分散数n及び定足数kで閾値分散法を用いてn個の分散鍵へと分散され、n個の分散鍵のうちのi(1≦i<k)個の分散鍵がシステム分散鍵として1つ又は複数の記憶装置内に記憶され、n個の分散鍵のうちの少なくとも1つの残りの分散鍵が第1のユーザへ提供される第1のユーザ分散鍵として設定される。かかる構成によれば、システム側において保持されるシステム分散鍵の数は定足数kを満たさないために、システムにおいてどのような不正行為がなされたとしてもアクセス鍵が復元されることが無く、秘匿されるデータへの不正なアクセスは防止される。また、第1のユーザは、自らのために設定された少なくとも1つのユーザ分散鍵をシステムに提供することにより、アクセス鍵をシステムに復元させて所望のデータへアクセスすることができる。その際、多くのユーザが集まってそれぞれのシェアを提供することは必要とされないため、通常のユーザ活動は制約されず、ユーザの利便性は損なわれない。
また、上述した実施形態では、第1のユーザからユーザ分散鍵の複製が要求された場合に、第1のユーザが所有するメモリから取得される上記第1のユーザ分散鍵と、1つ又は複数の記憶装置が記憶している上記システム分散鍵とに基づいて、第2のユーザ分散鍵が生成される。これは、第1のユーザのアクションが無ければ分散鍵の数が定足数kを満たさず、悪意ある第三者によって不正にユーザ分散鍵が複製されないこと、及び第1のユーザが自らのユーザ分散鍵をシステムに提供するだけで、別個のユーザ分散鍵を新たに生成できることを意味する。即ち、上述した手法は、高いデータ秘匿性を実現すると同時に、ユーザ数の変化に対する拡張可能性に優れている。さらに、上述した手法によって生成される第2のユーザ分散鍵は、第1のユーザ分散鍵と同一のコピーではない。そのため、それらユーザ分散鍵が異なるユーザへ配布されるとしても、データアクセスの際に本来の鍵の持ち主によってその鍵が使用されているかを判別することが容易である。
また、上述した実施形態では、上記第2のユーザ分散鍵は、第1のユーザにより指定される第2のユーザへ提供されるユーザ分散鍵として設定される。かかる構成によれば、最初にデータを秘匿させた第1のユーザ以外にデータへアクセスすべき第2のユーザが存在する場合に、第1のユーザが、自らの意図する第2のユーザへ鍵の複製を通じてデータへアクセスする権限を与えることができる。このとき、旧来のアクセス管理の手法で必要とされるようなシステム管理者の関与は不要である。従って、システム管理者による不正行為に起因するセキュリティリスクも生じない。
また、上述した実施形態では、上記第2のユーザ分散鍵と上記システム分散鍵とに基づく第3のユーザ分散鍵の生成は、第2のユーザに鍵複製権限が付与された場合にのみ行われ得る。かかる構成によれば、ユーザ分散鍵が多くのユーザに配布されるケースでも、ユーザからのデータアクセスを、最初にデータを秘匿させた第1のユーザ又は正当に権限を付与されたユーザの適切な管理下に置くことができる。
また、上述した実施形態では、管理モジュールから提供されるユーザ分散鍵をユーザが所有するメモリへ記憶させるように構成されるユーザモジュール、がさらに提供される。かかる構成によれば、管理モジュールからのユーザへのユーザ分散鍵の配布を安全に実行し、ユーザ分散鍵の逸失又は漏洩といったリスクを最小化することができる。
また、上述した実施形態では、各ユーザ分散鍵に対応する多項式補間におけるインデックスと各ユーザ分散鍵の正当なユーザとの間のマッピングが管理され、そのマッピングにおいて正当なユーザとして登録されていないユーザによるユーザ分散鍵の使用は拒否され得る。このように、分散鍵に基づく多項式補間のためのインデックスごとにユーザ分散鍵の有効性を管理することにより、セキュリティリスクにさらされているユーザ分散鍵の使用停止、及び重複するユーザ分散鍵の生成の防止などといった仕組みを簡易に実装することができる。
典型的な用途において、システム分散鍵の数i及び定足数kは、i=k−1という条件を満たす。この場合、1人のユーザが自身の有効な1つのユーザ分散鍵を用いてデータへとアクセスすることが可能である。しかしながら、本開示に係る技術は、上述した条件には限定されない。1つの応用例において、i=k−2であってもよい。この応用例において、例えば当初のユーザ(いわゆるオーナユーザ)には2つのユーザ分散鍵が提供される一方、他のユーザにはそれぞれ1つのユーザ分散鍵が提供されてもよい。この場合、オーナユーザは1人で(自らの2つのユーザ分散鍵を用いて)データへアクセスすることができるのに対し、他のユーザは2人集まらなければデータへアクセスできない、といった形の、段階的なデータ利用の制約を実現することができる。
典型的な用途において、上記アクセス鍵は、秘匿すべきデータに対するAONT法での変換又は逆変換の際に使用されるランダムビット列を含んでよい。この場合、アクセス鍵が復元不能であれば、AONT法の性質に起因して対象データもまた理論上復元不能であり、いかなるセキュリティ攻撃に対しても対象データを保護することができる。ユーザは、アクセスしたいデータがAONT法で変換済みである場合には、自身のユーザ分散鍵をシステムへと提供し、そのユーザ分散鍵とi個のシステム分散鍵とに基づいて復元されるランダムビット列を用いて、変換済みのデータに対するAONT逆変換をシステムに実行させることができる。また、AONT逆変換を通じて復元されたデータをユーザが更新した場合、システムは、ユーザからのデータ保存要求に応じて、更新されたデータに対するAONT法での変換を上記復元されたランダムビット列を用いて実行することにより、データを再び秘匿することができる。
上述した説明に関わらず、本開示に係る技術は、AONT法でのデータの秘匿化に限定されない。例えば、上記アクセス鍵として、パスワード認証のためのパスワード又は秘密鍵暗号方式における秘密鍵が利用されてもよい。パスワード又は秘密鍵を分散数n及び定足数kで閾値分散法を用いてn個の分散鍵へと分散し、それら分散鍵のうちのi(1≦i<k)個の分散鍵をシステム分散鍵として、少なくとも1つの残りの分散鍵をユーザ分散鍵として設定することによっても、セキュリティの強化と同時にユーザの利便性の維持又は向上を図ることができる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
本明細書において説明したコンピュータプログラムは、装置の内部又は外部に設けられる非一時的なコンピュータ読取可能な媒体に格納される。そして、それらプログラムの各々は、例えば、実行時にRAMへとロードされ、プロセッサにより実行される。コンピュータ読取可能な媒体は、例えば、ROM(Read Only Memory)、CD(Compact Disk)、DVD(Digital Versatile Disc)、HDD、SSD、光磁気ディスク、磁気ディスク、磁気テープ、カセットテープ若しくは半導体メモリ、又はこれらの組合せなどといった、いかなる種類の媒体であってもよい。
1 アクセス管理システム
5 ネットワーク
100 アクセス管理サーバ
122 管理モジュール
124 構成管理サブモジュール
126 秘密分散サブモジュール
132 ユーザDB
134 金庫DB
150 ストレージサーバ
200 ユーザ端末
210 内部メモリ(二次記憶装置)
222 ユーザモジュール
250 外部メモリ
R アクセス鍵(ランダムビット列)
M 対象データ
,…,K 分散鍵
,…,X 分散データ

Claims (12)

  1. 複数のユーザにより共有されるデータサーバ上で扱われるデータへのアクセスを管理するためのアクセス管理システムであって、
    前記データサーバ上の登録フォルダ内のデータをアクセス鍵を用いて無意味なビット列へ変換することにより当該データを秘匿する、ように構成される管理モジュールと、
    少なくとも1つの記憶装置と、
    構成管理データベースと、
    を含み、
    前記管理モジュールは、第1のユーザのためのフォルダ登録要求が受信された場合に、
    前記第1のユーザに割り当てられるフォルダのデータパスを前記構成管理データベースへ登録し、
    アクセス鍵を生成し、
    生成した前記アクセス鍵を分散数n及び定足数kで閾値分散法を用いてn個の分散鍵へと分散し、
    前記n個の分散鍵のうちのi(1≦i<k)個の分散鍵をシステム分散鍵として前記少なくとも1つの記憶装置に記憶させ、
    前記n個の分散鍵のうちの前記システム分散鍵以外の少なくとも1つの残りの分散鍵を、前記第1のユーザへ提供される第1のユーザ分散鍵として設定し、
    前記システム分散鍵の識別情報及び前記第1のユーザ分散鍵の識別情報を、前記データパスに関連付けて前記構成管理データベースに登録する、
    ように構成され、
    前記第1のユーザ分散鍵及び前記第1のユーザ分散鍵の識別情報は、前記第1のユーザのメモリ内に記憶され、
    前記管理モジュールは、前記第1のユーザからの登録フォルダへのアクセス要求が受信された場合に、
    前記アクセス要求と共に受信される前記第1のユーザ分散鍵及び前記第1のユーザ分散鍵の識別情報、前記構成管理データベースにおいて前記第1のユーザ分散鍵の識別情報に関連付けて登録されている前記システム分散鍵の識別情報、並びに前記少なくとも1つの記憶装置から取得される前記システム分散鍵に基づいて前記アクセス鍵を復元し、
    復元した前記アクセス鍵を用いて復元される対象データを、前記構成管理データベースに登録されている前記データパスにより特定される前記登録フォルダへ展開する、
    ようにさらに構成される、
    アクセス管理システム。
  2. 前記管理モジュールは、前記アクセス要求に応じて前記アクセス鍵を復元した後、アクセス終了の通知が受信された場合に、復元した前記アクセス鍵を消去する、ようにさらに構成され、
    前記登録フォルダは、前記アクセス鍵が存在している期間においてのみ前記データサーバへ一時的にマウントされる、
    請求項1に記載のアクセス管理システム。
  3. 前記管理モジュールは、前記アクセス鍵が存在している期間において、前記登録フォルダ内の前記対象データの保存の要求に応じて、前記対象データを前記アクセス鍵を用いて無意味なビット列へ変換する、ようにさらに構成される、請求項1又は請求項2に記載のアクセス管理システム。
  4. 前記登録フォルダは、前記対象データとして、単一のデータファイル、複数のファイルの集合、若しくはファイル及びフォルダの混成を含み、又は空のフォルダである、請求項1〜3のいずれか1項に記載のアクセス管理システム。
  5. 前記システム分散鍵の識別情報は、前記システム分散鍵のインデックスであり、
    前記第1のユーザ分散鍵の識別情報は、前記第1のユーザ分散鍵のインデックスである、
    請求項1〜4のいずれか1項に記載のアクセス管理システム。
  6. 前記管理モジュールは、前記第1のユーザからのユーザ分散鍵の複製要求が受信された場合に、
    前記第1のユーザの前記メモリから取得される前記第1のユーザ分散鍵と、前記少なくとも1つの記憶装置が記憶している前記システム分散鍵とに基づいて、第2のユーザ分散鍵を生成し、
    生成した前記第2のユーザ分散鍵を、前記第1のユーザにより指定される第2のユーザへ提供されるユーザ分散鍵として設定する、
    ようにさらに構成される、請求項1〜5のいずれか1項に記載のアクセス管理システム。
  7. 前記管理モジュールは、前記第2のユーザに鍵複製権限が付与された場合にのみ、前記第2のユーザからの要求に応じて、前記第2のユーザ分散鍵と前記システム分散鍵とに基づいて第3のユーザ分散鍵を生成する、ようにさらに構成される、請求項6に記載のアクセス管理システム。
  8. 前記システム分散鍵の数i及び前記定足数kは、i=k−1を満たす、請求項1〜7のいずれか1項に記載のアクセス管理システム。
  9. 前記管理モジュールは、前記分散鍵に基づく多項式補間のためのインデックスごとに、設定済みのユーザ分散鍵が有効であるか否かを示すデータを管理する、ようにさらに構成される、請求項5に記載のアクセス管理システム。
  10. 前記管理モジュールは、セグメント化されるデータブロックごとに、ランダムビット列を用いて前記対象データを無意味なビット列へ変換する、ように構成され、
    前記アクセス鍵は、前記ランダムビット列である、
    請求項1〜9のいずれか1項に記載のアクセス管理システム。
  11. 複数のユーザにより共有されるデータサーバ上で扱われるデータへのアクセスを管理するための、アクセス管理システムの管理モジュールにより実行される方法であって、
    前記管理モジュールは、前記データサーバ上の登録フォルダ内のデータをアクセス鍵を用いて無意味なビット列へ変換することにより当該データを秘匿する、ように構成され、
    前記方法は、第1のユーザのためのフォルダ登録要求が受信された場合に、
    前記第1のユーザに割り当てられるフォルダのデータパスを構成管理データベースへ登録することと、
    アクセス鍵を生成することと、
    生成した前記アクセス鍵を分散数n及び定足数kで閾値分散法を用いてn個の分散鍵へと分散することと、
    前記n個の分散鍵のうちのi(1≦i<k)個の分散鍵をシステム分散鍵として前記アクセス管理システムの少なくとも1つの記憶装置に記憶させることと、
    前記n個の分散鍵のうちの前記システム分散鍵以外の少なくとも1つの残りの分散鍵を、前記第1のユーザへ提供される第1のユーザ分散鍵として設定することと、
    前記システム分散鍵の識別情報及び前記第1のユーザ分散鍵の識別情報を、前記データパスに関連付けて前記構成管理データベースに登録することと、
    を含み、
    前記第1のユーザ分散鍵及び前記第1のユーザ分散鍵の識別情報は、前記第1のユーザのメモリ内に記憶され、
    前記方法は、前記第1のユーザからの登録フォルダへのアクセス要求が受信された場合に、
    前記アクセス要求と共に受信される前記第1のユーザ分散鍵及び前記第1のユーザ分散鍵の識別情報、前記構成管理データベースにおいて前記第1のユーザ分散鍵の識別情報に関連付けて登録されている前記システム分散鍵の識別情報、並びに前記少なくとも1つの記憶装置から取得される前記システム分散鍵に基づいて前記アクセス鍵を復元することと、
    復元した前記アクセス鍵を用いて復元される対象データを、前記構成管理データベースに登録されている前記データパスにより特定される前記登録フォルダへ展開することと、
    をさらに含む、方法。
  12. 複数のユーザにより共有されるデータサーバ上で扱われるデータへのアクセスを管理するためのアクセス管理システムにおいて、情報処理装置のプロセッサを、前記データサーバ上の登録フォルダ内のデータをアクセス鍵を用いて無意味なビット列へ変換することにより当該データを秘匿するように構成される管理モジュールとして機能させるためのコンピュータプログラムであって、
    前記管理モジュールは、第1のユーザのためのフォルダ登録要求が受信された場合に、
    前記第1のユーザに割り当てられるフォルダのデータパスを構成管理データベースへ登録し、
    アクセス鍵を生成し、
    生成した前記アクセス鍵を分散数n及び定足数kで閾値分散法を用いてn個の分散鍵へと分散し、
    前記n個の分散鍵のうちのi(1≦i<k)個の分散鍵をシステム分散鍵として前記アクセス管理システムの少なくとも1つの記憶装置に記憶させ、
    前記n個の分散鍵のうちの前記システム分散鍵以外の少なくとも1つの残りの分散鍵を、前記第1のユーザへ提供される第1のユーザ分散鍵として設定し、
    前記システム分散鍵の識別情報及び前記第1のユーザ分散鍵の識別情報を、前記データパスに関連付けて前記構成管理データベースに登録する、
    ように構成され、
    前記第1のユーザ分散鍵及び前記第1のユーザ分散鍵の識別情報は、前記第1のユーザのメモリ内に記憶され、
    前記管理モジュールは、前記第1のユーザからの登録フォルダへのアクセス要求が受信された場合に、
    前記アクセス要求と共に受信される前記第1のユーザ分散鍵及び前記第1のユーザ分散鍵の識別情報、前記構成管理データベースにおいて前記第1のユーザ分散鍵の識別情報に関連付けて登録されている前記システム分散鍵の識別情報、並びに前記少なくとも1つの記憶装置から取得される前記システム分散鍵に基づいて前記アクセス鍵を復元し、
    復元した前記アクセス鍵を用いて復元される対象データを、前記構成管理データベースに登録されている前記データパスにより特定される前記登録フォルダへ展開する、
    ようにさらに構成される、
    コンピュータプログラム。
JP2018029018A 2018-02-21 2018-02-21 アクセス管理システム、アクセス管理方法及びプログラム Pending JP2018110442A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018029018A JP2018110442A (ja) 2018-02-21 2018-02-21 アクセス管理システム、アクセス管理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018029018A JP2018110442A (ja) 2018-02-21 2018-02-21 アクセス管理システム、アクセス管理方法及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016252820A Division JP6300286B1 (ja) 2016-12-27 2016-12-27 アクセス管理システム、アクセス管理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2018110442A true JP2018110442A (ja) 2018-07-12
JP2018110442A5 JP2018110442A5 (ja) 2021-02-12

Family

ID=62845232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018029018A Pending JP2018110442A (ja) 2018-02-21 2018-02-21 アクセス管理システム、アクセス管理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2018110442A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297596A (zh) * 2021-06-09 2021-08-24 东北大学 一种面向静态数据的高效茫然读取方法
JP2021141524A (ja) * 2020-03-09 2021-09-16 三菱電機インフォメーションシステムズ株式会社 復号システム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004328293A (ja) * 2003-04-23 2004-11-18 C4 Technology Inc 電子チケット、電子チケット方式、認証方式および情報処理方式
JP2004341152A (ja) * 2003-05-15 2004-12-02 Oki Electric Ind Co Ltd 秘密分散方法、秘密分散システム、及び分散演算装置
WO2005104430A1 (ja) * 2004-04-23 2005-11-03 Matsushita Electric Industrial Co., Ltd. 個人情報管理装置、分散鍵記憶装置、個人情報管理システム
JP2006129340A (ja) * 2004-11-01 2006-05-18 Oki Electric Ind Co Ltd 秘密情報管理装置、秘密情報管理システム、及び秘密情報管理方法
JP2006301849A (ja) * 2005-04-19 2006-11-02 Global Friendship Inc 電子情報保存システム
JP2008199278A (ja) * 2007-02-13 2008-08-28 Toshiba Corp 情報管理システム、情報管理装置、情報管理プログラム
JP2009222778A (ja) * 2008-03-13 2009-10-01 Toshiba Corp 分散情報追加装置、方法及びプログラム
JP2010186232A (ja) * 2009-02-10 2010-08-26 Kddi Corp 管理者追加処理システム、管理者追加処理方法およびプログラム
JP2014238546A (ja) * 2013-06-10 2014-12-18 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ再生成装置、データ再生成方法およびプログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004328293A (ja) * 2003-04-23 2004-11-18 C4 Technology Inc 電子チケット、電子チケット方式、認証方式および情報処理方式
JP2004341152A (ja) * 2003-05-15 2004-12-02 Oki Electric Ind Co Ltd 秘密分散方法、秘密分散システム、及び分散演算装置
WO2005104430A1 (ja) * 2004-04-23 2005-11-03 Matsushita Electric Industrial Co., Ltd. 個人情報管理装置、分散鍵記憶装置、個人情報管理システム
JP2006129340A (ja) * 2004-11-01 2006-05-18 Oki Electric Ind Co Ltd 秘密情報管理装置、秘密情報管理システム、及び秘密情報管理方法
JP2006301849A (ja) * 2005-04-19 2006-11-02 Global Friendship Inc 電子情報保存システム
JP2008199278A (ja) * 2007-02-13 2008-08-28 Toshiba Corp 情報管理システム、情報管理装置、情報管理プログラム
JP2009222778A (ja) * 2008-03-13 2009-10-01 Toshiba Corp 分散情報追加装置、方法及びプログラム
JP2010186232A (ja) * 2009-02-10 2010-08-26 Kddi Corp 管理者追加処理システム、管理者追加処理方法およびプログラム
JP2014238546A (ja) * 2013-06-10 2014-12-18 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ再生成装置、データ再生成方法およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021141524A (ja) * 2020-03-09 2021-09-16 三菱電機インフォメーションシステムズ株式会社 復号システム
JP6997821B2 (ja) 2020-03-09 2022-01-18 三菱電機インフォメーションシステムズ株式会社 復号システム
CN113297596A (zh) * 2021-06-09 2021-08-24 东北大学 一种面向静态数据的高效茫然读取方法
CN113297596B (zh) * 2021-06-09 2023-10-31 东北大学 一种面向静态数据的高效茫然读取方法

Similar Documents

Publication Publication Date Title
JP6300286B1 (ja) アクセス管理システム、アクセス管理方法及びプログラム
US9805210B2 (en) Encryption-based data access management
US8489889B1 (en) Method and apparatus for restricting access to encrypted data
JP6290932B2 (ja) データセキュリティサービス
EP3959853A1 (en) Method, system and computer readable storage medium for accessibility controls in distributed data systems
US12041166B2 (en) Protecting data using controlled corruption in computer networks
US11546341B2 (en) Secure group file sharing
US20090092252A1 (en) Method and System for Identifying and Managing Keys
JP6678457B2 (ja) データセキュリティサービス
US10346319B1 (en) Separate cryptographic keys for protecting different operations on data
US20150143107A1 (en) Data security tools for shared data
Yu et al. Data security in cloud computing
US10623400B2 (en) Method and device for credential and data protection
WO2022184456A1 (en) Authorized encryption
JP2018110442A (ja) アクセス管理システム、アクセス管理方法及びプログラム
Thota et al. Split key management framework for Open Stack Swift object storage cloud
Kumari et al. A Review on Challenges of Security for Secure Data Storage in Cloud
WO2023135879A1 (ja) 計算機システム及び鍵交換方法
US11870906B1 (en) Providing a secure isolated account for cloud-based storage services
Kanungo et al. Cloud Computing Based Security Enhancement
WO2023052845A2 (en) Protecting data using controlled corruption in computer networks
WO2024157087A1 (en) Systems and methods for managing and protecting data in computing networks
TW202105220A (zh) 私鑰管理系統
Jneid et al. Cloud Application Model
Prakash OTK: Key Distribution Center at Cloud Providers towards Secure the Services

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20181031

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20181031

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20181102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20181105

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210325

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210824