(57)【特許請求の範囲】
【請求項１】
コンピュータ化システム（３０１）であって、
−オブジェクトおよび前記オブジェクトに関連させた属性値を記憶する記憶システム（３０２、３０８）であって、
前記属性値が１組のＮ個の属性タイプに従って組織化され、ここでＮ≧１であり、前記属性タイプの各々についてオブジェクトを属性値に関連付けることができ、
前記属性タイプの各々を各グラフ（３０、４０）に関連させ、
前記各グラフの各ノードを鍵に関連させ、前記鍵が、
−根ノードを除いて、前記各ノードの親ノードに関連させた鍵によってラップされ、
−前記各グラフに対応する前記属性タイプのための１つの属性値に関連させられ、
前記オブジェクトの各々が１つ以上の鍵に基づいて暗号化されて記憶され、前記１つ以上の鍵の各々が、前記オブジェクトの前記各々に関連付けた１つの属性値に関連させられている、記憶システムと、
−鍵を削除するように構成された鍵管理手段（３０４）と、
を含み、
前記属性タイプの１つが前記コンピュータ化システムのファイルシステム上にマッピングされたファイルシステム・ツリーに対応し、前記ファイルシステム・ツリーの各ノードが、
−前記各ノードが前記ファイルシステムのディレクトリまたはファイルに対応するように前記ファイルシステムのディレクトリまたはファイルを一意に識別する属性値と、
−根ノードを除いて前記各ノードの親ノードに関連させた鍵によってラップした鍵と、
に関連付けられ、
前記ファイルシステム・ツリーの各葉ノードに対応する前記ファイルシステムのファイルが各々、前記ファイルシステム・ツリーの各葉ノードに関連させた鍵に基づいて暗号化されていて、
前記ファイルシステム・ツリーの各葉ノードに対応する前記ファイルシステムの前記ファイルが各々、少なくとも２つの鍵に基づいて暗号化され、前記２つの鍵の一方を前記ファイルシステム・ツリーの各葉ノードに関連させ、前記２つの鍵の他方を前記ファイルシステム・ツリーに対応するものとは別の属性タイプに関連させている、
コンピュータ化システム。
【請求項２】
コンピュータ化システム（３０１）であって、
−オブジェクトおよび前記オブジェクトに関連させた属性値を記憶する記憶システム（３０２、３０８）であって、
前記属性値が１組のＮ個の属性タイプに従って組織化され、ここでＮ≧１であり、前記属性タイプの各々についてオブジェクトを属性値に関連付けることができ、
前記属性タイプの各々を各グラフ（３０、４０）に関連させ、
前記各グラフの各ノードを鍵に関連させ、前記鍵が、
−根ノードを除いて、前記各ノードの親ノードに関連させた鍵によってラップされ、
−前記各グラフに対応する前記属性タイプのための１つの属性値に関連させられ、
前記オブジェクトの各々が１つ以上の鍵に基づいて暗号化されて記憶され、前記１つ以上の鍵の各々が、前記オブジェクトの前記各々に関連付けた１つの属性値に関連させられている、記憶システムと、
−鍵を削除するように構成された鍵管理手段（３０４）と、
を含み、
各オブジェクトが少なくとも２つの鍵に基づいて暗号化され、前記鍵の各々が異なるタイプの各属性値に関連付けられている、請求項１に記載のコンピュータ化システム。
【請求項３】
各オブジェクトが単一の鍵を用いて暗号化され、前記単一の鍵が前記少なくとも２つの鍵に基づいて取得される、請求項２に記載のコンピュータ化システム。
【請求項４】
各オブジェクトが単一の鍵を用いて暗号化され、前記単一の鍵が、前記少なくとも２つの鍵の連結のハッシュ関数等、前記少なくとも２つの鍵を入力として用いる一方向関数によって取得される、請求項３に記載のコンピュータ化システム。
【請求項５】
前記属性タイプの１つがユーザに対応し、このタイプのための別個の属性値が別個のユーザに対応するようになっている、請求項１から４のいずれかに記載のコンピュータ化システム。
【請求項６】
前記属性タイプの１つが時間に対応し、このタイプの別個の属性値が好ましくは別個の年または別個の保持期間に対応するようになっている、請求項１から５のいずれかに記載のコンピュータ化システム。
【請求項７】
前記オブジェクトの各々がオール・オア・ナッシング変換に基づいて暗号化されて記憶され、前記オブジェクトの各々の一部が前記１つ以上の鍵に基づいて暗号化される、請求項１から６のいずれかに記載のコンピュータ化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータ・サイエンスの分野に関し、更に特定すれば、１つ以上の鍵に基づいて暗号化されたオブジェクトを記憶すると共に鍵の削除を行うためのコンピュータ化システム、方法、プログラム、およびデータ記憶媒体に関する。
【背景技術】
【０００２】
多くの場合、セキュアなデータ削除は、多数の領域における要件として重要である。一例として、様々な国々のプライバシーおよびデータ保護の規定は、ある１組の共通の原則について意見が一致している。それらの中でも、「目的」および「セキュリティ」は特に重要である。これは、「個人データ処理に係る個人の保護および当該データの自由な移動に関する欧州議会および理事会の指令」（９５／４６／ＥＣ）（１９９５年１０月２４日）から、並びに「プライバシーの保護および個人データの国際流通に関するＯＥＣＤによるガイドライン」からも明らかである。「目的」の原則が示すのは、個人データはデータ所有者が同意した目的のためにのみ記憶することができること、および、いったんこの目的が有効でなくなったらデータを消去すべきであることである。セキュリティの原則に結び付けて、データはいかなる潜在的な悪用に対してもセキュアなまま維持しなければならないことが要求される。「期限切れの」データの処理においては、立法者によって特別な配慮が求められることは明らかである。実際、目的が期限切れになったデータにアクセスすることは、明らかに双方の原則に違反することである。
【０００３】
これが特に当てはまるのは、手元にある情報が健康管理および財務等の特に機密の領域に属する場合である。この場合、多くの既存の規定では、罰金を課し、更には民事的および刑事的な責任を課すことで、企業および政府の機密データの不正な暴露を回避することを求めている。この例として、米国連邦議会による、１９９６年の医療保険の相互運用性と説明責任に関する法令、１９９９年の金融サービス近代化法案、２００２年の上場企業会計改革および投資家保護法、および２００３年の信用取引の公正・適正化に関する法律が挙げられる。
【０００４】
従って、極めて長期にわたってデータを保持すると、例えばセキュリティ侵害または召喚状による望ましくない開示のリスクが高くなる。この記述の真実性を裏付けるのは、企業が機密データを失った多数の事件である。かかる事件は様々なニュース記事および研究において述べられている。例えば、J. Vijayanによる「Programmer who stole drive containing 1million bank records gets 42 months（１００万の銀行記録を含むドライブを盗んだプログラマーに４２か月の懲役）」と題するもの（Computer Worlds、２００８年）、またはD. Sharpによる「Breachexposes 4.2 million credit, debit cards（不正行為により４２０万のクレジット・カードとデビット・カードが漏洩）」と題するもの（Associated Press、２００８年）、またはJ. Eversによる「Creditcard breach exposes 40 million accounts（クレジット・カード不正で４０００万のアカウントが漏洩）」と題するもの（CNET News、２００５年）である。「U.S.cost of a data breach（米国でのデータ侵害のコスト）」と題する２０１０年の１年間の研究（Symantec Corporation、２０１１年）は、かかるデータ侵害の平均コストが百万ドルのオーダーであり、このコストが徐々に上昇していることを示した。
【０００５】
これらの単純な事実が示すのは、もはや必要でない情報は企業にとって負担にしかなり得ないということであり、更に、企業世界におけるＩＴシステムの重要な目標はセキュアな方法で情報の処分を可能にすることだということである。
【０００６】
標準的なＯＳ削除の原始的な方法では、セキュアな削除という問題に対する解決策は得られない。実際、Ｕｎｉｘオペレーティング・システムにおけるｕｎｌｉｎｋ（）およびｒｅｍｏｖｅ（）等の削除動作は、ファイルシステム・データ構造からファイルに対する参照を削除するだけであり、実際のデータは物理ディスク上に残る。
【０００７】
セキュアなファイル削除のための第１の既知の手法は上書きである。しかしながら、上書きの実行が稚拙である場合、ディスクに過去のデータの磁気トレース（magnetic traces）が残ったままであり得る。Gutmann等は、ドライブの低レベルの符号化機構に適合されたあるパターンを用いてコンテンツを上書きすることによってどのようにセキュアな削除を達成可能であるかを示した（P. Gutmann「Secure deletion of data from magnetic andsolid-state memory」、Proceedings of the 6th USENIXSecurity Symposium、７７〜８９ページ、１９９６年）。しかしながら、この解決策には多くの問題が影響する。第１に、大きいファイルは効率的に消去することができない。第２に、ファイルが複製されて可用性が高くなった場合、またはバックアップされた場合、コピー数に対して線形に削除の負担が増大する。
【０００８】
更に、既知のオペレーティング・システムのために開発されたワイプ（wipe）、イレーザー（eraser）、およびシュレッド（shred）のようなツールが機能するのは、上書きパターンが手元にある実際の物理デバイスに適用される場合、パターンを実際にディスクに（キャッシュだけでなく）書き込んでいる場合、および、書き込みのターゲットがデータを含むディスク・セクタである場合だけである。手元にある媒体について詳細な知識が無い場合、第１の条件を保証することは難しい。第２の条件を保証することができるのは、ＯＳレベルまたはディスク・レベルの書き込みバリア、書き込みキャッシュのフラッシュ、または書き込みキャッシュをディスエーブルすることによる複雑な方法である。第３の条件に関しては、現在のファイルシステムにおいて書き込みローカリティを実施することは極めて難しい。実際、例えばＪＦＳ、ＲｅｉｓｅｒＦＳ、ＸＦＳ、Ｅｘｔ３等のジャーナリング・ファイルシステムは、直接ディスクに対してではなくジャーナル上に書き込み動作を実行する。他のファイルシステムは冗長データを書き込み、他のものはディスクのスナップショットをとり、またはデータを一時的なロケーションにキャッシュする。更に、M. Wei、L. M. Grupp、F. M. Spada、およびS. Swansonによって、「Reliablyerasing data from flash-based solid state drives」（Proceedingsof the 20th USENIX Security Symposium、２０１１年）と題する論文において、複数の固体ドライブ等の異なる媒体上にデータが記憶されている場合には利用可能なディスク上書き技法はどれも有効でないことが示されている。一般に、多くの記憶システムは多くのレイヤを有する。問題は、下位レイヤの実施機構の知識が乏しく、インタフェースが下位レイヤにセキュアなデータ削除を命令するための方法を含まないことである。
【０００９】
多数の研究によって、既存のファイルシステムの自動特性として上書きベースの技法を実施することが試みられている。BauerおよびN. B. Priyanthaによる「Securedata deletion for linux file systems」（Proceedingsof the 10th conference on USENIX Security Symposium、Volume 10、SSYM’ 01、１２〜１２ページ、米国カリフォルニア州バークレー、２００１年、USENLX Association）と題する論文において、著者等はｅｘｔ２ファイルシステムのための上書きベースのセキュアな削除の拡張の実施を提示している。このシステムは、削除済みとマークしたブロックの非同期上書きを実行する別個のデーモンに基づいている。この研究は、旧式の非ジャーナル系ファイルシステムしかサポートしないという欠点を有する。N. Joukov、H. Papaxenopoulos、およびE. Zadokによる「Securedeletion myths, issues, and solutions」（Proceedingsof the second ACM workshop on Storage security and survivability、Storage SS’ 06、６１〜６６ページ、米国ニューヨーク州ニューヨーク、２００６年、ＡＣＭ）、並びに、N. JoukovおよびE. Zadokによる「Adding secure deletion to your favorite filesystem」（Proceedings of the Third IEEEInternational Security in Storage Workshop、６３〜７０ページ、米国ワシントンＤＣ、２００５年、IEEE Computer Society）と題する論文において、著者等は、削除のコールの傍受およびｌｉｎｋ（）／ｕｐｌｉｎｋ（）動作によるそれらの変換を行ってファイルを指定フォルダに移すことに基づいたセキュアな削除のための解決策を提示している。次いでこれらのファイルにシュレッド・ユーティリティを非同期に用いる。これらの研究は全て、先に強調した上書きベースの手法の欠点を有する。
【００１０】
「Arevocable backup system」（proceedings of the 6th conferenceon USENIX Security Symposium、Focusing on Applications ofCryptography、Volume 6、９〜９ページ、米国カリフォルニア州バークレー、１９９６年、USENIX Association）と題する論文において、D. BonehおよびR. J.Liptonnは、コンテンツ、特にバックアップされたオフライン・コンテンツを削除するための手法を提示している。著者等が提案する重要なアイディアは、セキュアな削除を必要とし得る全てのコンテンツを暗号化し、セキュアな削除が要求された場合にファイル・コンテンツを削除するのでなく鍵の削除を実行することである。また著者等は、バージョンごとのバックアップ（versioned backup）のサポートも紹介している。しかしながらこのようなシステムの使用は、言い換えれば、個々のファイルごとに多数の暗号鍵を管理する必要があるということである。
【００１１】
セキュアな削除を達成するために暗号を活用するというアイディアは、以降の多くの研究によって採用されている。Z. N. J. Peterson、R. Burns、J. Herring、A. Stubblefield、およびA. D.Rubinによる「USENIX Association」（proceedings of the 4th conference on USENIXConference on File and Storage Technologies、Volume 4、１１〜１１ページ、米国カリフォルニア州バークレー、２００５年、USENIX Association）と題する論文では、著者等は、バージョニング・ファイルシステムにおいてセキュアな削除をサポートするための解決策を提示している。これは、暗号により計算された短いタグをファイルに追加するというアイディアに基づいている。タグの削除は、ファイルの回復が不可能となることを示唆する。しかしながら、鍵とは異なり、タグは公開されるものであり、正常データとして記憶し複製することができる。
【００１２】
「Theephemerizer: making data disappear」（Technical report、サンマイクロシステムズ社、米国カリフォルニア州マウンテン・ビュー、２００５年）と題する論文において、Perlmanは、イフェマライザ（ephemerizer）の概念を提示している。すなわちこれは、公開鍵を生成し発表する部分的に信頼された（semi-trusted）第３者であり、所定の時間量の後にそれらをセキュアに削除することを保証する。このためユーザは、イフェマライザの鍵の１つを用いて、相互にメッセージを暗号化する際に用いるセッション鍵を暗号化することができ、それらの期限後に鍵が利用可能でなくなることが保証される。「File system design with assureddelete」（Proceedings of the Third IEEEInternational Security in Storage Workshop、８３〜８８ページ、米国ワシントン州、２００５年、IEEE Computer Society）と題する論文では、同じ著者が、かかるアイディアを用いてファイルシステムを実施可能とする解決策を提示している。しかしながらこの研究は、そもそも異なるユーザ間のメッセージの暗号化のために設計された解決策に基づいて構築されているという不利な点がある。
【００１３】
R. Geambasu、T. Kohno、A. A. Levy、およびH. M. Levyによる「Vanish:increasing data privacy with self-destructing data」（proceedings of the 18th conference on USENIXsecurity symposium、SSYM’ 09、２９９〜３１６ページ、米国カリフォルニア州バークレー、２００９年、USENIX Association）と題する論文において、著者等は、セキュアな削除を達成するためにどのようにＤＨＴベースのピア・ツー・ピア・システムのチャーン・レート（解約率）を使用可能であるかについて示している。この解決策では、暗号鍵を用いてコンテンツを暗号化する必要があり、かかる鍵は、例えばA. Shamirによる「How to share a secret」（Commun. ACM, 22、６１２〜６１３ページ、１９７９年１１月）と題する論文において発表されたＳｈａｍｉｒの手法を用いて、複数の割り当て分に分割する必要がある。次いで、鍵の様々な割り当て分をＤＨＴのランダムなユーザに分配することができる。ユーザはやがてＤＨＴからいなくなるので、鍵が非永続的なメモリにだけ記憶されるならば、ある時間量の後に鍵は利用可能でなくなる。しかしながらこのスキームは、ＤＨＴに対する周知のシビル・アタック（Sybil attack）を利用することで攻撃される恐れがある。これについては、Wolchok、Hofmann、Heninger、Felten、Halderman、Rossbach、Waters、およびWitchelによる「DefeatingVanish with low-cost Sybil attacks against large DHTh」（proc. 17th Network and Distributed SystemSecurity Symposium（ＮＤＳＳ）、ＩＳＯＣ、２０１０年２月）と題する論文において説明されている。
【００１４】
以下でDiCrescenzo等の手法と称する、セキュアな削除の問題を抽象化するための手法を構成する手法について提示する。この手法は、Di Crescenzo、N. Ferguson、R.Impagliazzo、およびM. Jakobssonによる「How to forget a secret」（proceedings of the 16th annual conference onTheoretical aspects of computer science、STACS’ 99、５００〜５０９ページ、ハイデルベルク、ベルリン、１９９９年、Springer-Verlag）と題する論文においても記載されている。
【００１５】
この方法は、任意のサイズの小さい一定サイズの標準（非消去可能）メモリの外部の消去可能メモリから任意のサイズの消去可能メモリを構築することを含む。このアイディアは、鍵ツリーを中心としたものである。ツリーの各ノードを暗号鍵に関連させる。鍵は、ツリーにおいてプレーンテキストで記憶されず、その親ノードに関連させた鍵で暗号化した後に記憶される（鍵の暗号化を鍵ラップ（key-wrapping）とも呼ぶ）。根に関連させた鍵は外部の消去可能メモリに記憶され、他の値は標準メモリに記憶される。
【００１６】
鍵ツリーは完全なｎ分木であり、セキュアな削除を必要とするＮ＝ｎｍ値が、このツリーの葉として配置される。従って葉は、値が実データであり暗号鍵でない唯一のノードである。葉に関連付けたデータは、各ノードの親ノードの鍵を用いて暗号化される。
【００１７】
図１は、かかるツリーの例示を表し、この例ではバイナリ形式のものであり、８個の値ｖ１、．．．、ｖ８を暗号化するために用いられる。（Ａ）Ｂは、値ＡがＢを鍵として用いて対称暗号化によって暗号化されていることを示す。
【００１８】
ある値がセキュアな削除を必要とする場合、ツリーに対して以下の動作を実行する。削除を必要とするノードと根との間の経路における各ノードについて、（１）新しい値を鍵空間から引き出し、その先祖の新しいラップされていない値を用いてラップする。（２）その兄弟の各々の値を、先祖の新しいラップされていない前述の値を用いて再びラップする。ツリーの根に関連させた鍵について同じことを行う。更に、かかる鍵はセキュアに消去可能なメモリに記憶されているので、削除動作後の検索は不可能である。セキュアな削除を必要とするノードは再暗号化されない。このようにして、そのセキュアな削除が保証される。なぜならそれを復号するには、ツリーの特性のため、根の古い値にアクセスする必要があるが、これは消去可能メモリに記憶されるので明らかにもはや不可能だからである。
【００１９】
DiCrescenzo等の手法を用いれば、記憶サービスの場合にファイルのセキュアな削除を行うための解決策を構築することができる可能性がある。このために、ツリーの葉の前に考慮される値は鍵暗号化鍵（ＫＥＫ：Key-Encrypting Key）であり、これはファイル暗号化鍵（ＦＥＫ：File-Encrypting Key）を暗号化するために用いられる。セキュアな削除を必要とするファイルはＦＥＫを用いて暗号化することができ、ＦＥＫは対応するＫＥＫでラップされて記憶されるだけである。ファイルがセキュアな削除を必要とする場合、対応するＫＥＫ上で削除動作を呼び出す。その後、ファイルはゆっくりと削除することができる。
【先行技術文献】
【非特許文献】
【００２０】
【非特許文献１】J.Vijayanによる「Programmer who stole drivecontaining 1 million bank records gets 42 months」（ComputerWorlds、２００８年）
【非特許文献２】D.Sharpによる「Breach exposes 4.2 million credit,debit cards」（Associated Press、２００８年）
【非特許文献３】J.Eversによる「Credit card breach exposes 40million accounts」（CNET News、２００５年）
【非特許文献４】「U.S.cost of a data breach」（Symantec Corporation、２０１１年）
【非特許文献５】P.Gutmannによる「Secure deletion of data frommagnetic and solid-state memory」（Proceedings of the 6th USENIXSecurity Symposium、７７〜８９ページ、１９９６年）
【非特許文献６】M.Wei、L. M. Grupp、F. M. Spada、およびS.Swansonによる「Reliably erasing data fromflash-based solid state drives」（Proceedings of the 20th USENIXSecurity Symposium、２０１１年）
【非特許文献７】BauerおよびN. B. Priyanthaによる「Securedata deletion for linux file systems」（Proceedingsof the 10th conference on USENIX Security Symposium、Volume 10、SSYM’ 01、１２〜１２ページ、米国カリフォルニア州バークレー、２００１年、USENLX Association）
【非特許文献８】N.Joukov、H. Papaxenopoulos、およびE. Zadokによる「Securedeletion myths, issues, and solutions」（Proceedingsof the second ACM workshop on Storage security and survivability、Storage SS’ 06、６１〜６６ページ、米国ニューヨーク州ニューヨーク、２００６年、ＡＣＭ）
【非特許文献９】N.JoukovおよびE. Zadokによる「Adding secure deletion to your favorite filesystem」（Proceedings of the Third IEEEInternational Security in Storage Workshop、６３〜７０ページ、米国ワシントンＤＣ、２００５年、IEEE Computer Society）
【非特許文献１０】D.BonehおよびR. J. Liptonｎによる「A revocable backup system」（proceedings of the 6th conference on USENIXSecurity Symposium、Focusing on Applications ofCryptography、Volume 6、９〜９ページ、米国カリフォルニア州バークレー、１９９６年、USENIX Association）
【非特許文献１１】Z.N. J. Peterson、R. Burns、J. Herring、A.Stubblefield、およびA. D. Rubinによる「Secure deletion for a versioning file system」（proceedings of the 4th conference on USENIXConference on File and Storage Technologies、Volume 4、１１〜１１ページ、米国カリフォルニア州バークレー、２００５年、USENIX Association）
【非特許文献１２】Perlmanによる「The ephemerizer: making data disappear」（Technical report、サンマイクロシステムズ社、米国カリフォルニア州マウンテン・ビュー、２００５年）
【非特許文献１３】Perlmanによる「File system design with assured delete」（Proceedings of the Third IEEE InternationalSecurity in Storage Workshop、８３〜８８ページ、米国ワシントン州、２００５年、IEEE Computer Society）
【非特許文献１４】R.Geambasu、T. Kohno、A. A. Levy、およびH. M.Levyによる「Vanish: increasing data privacywith self-destructing data」（proceedings of the 18th conferenceon USENIX security symposium、SSYM’ 09、２９９〜３１６ページ、米国カリフォルニア州バークレー、２００９年、USENIX Association）
【非特許文献１５】A.Shamirによる「How to share a secret」（Commun. ACM, 22、６１２〜６１３ページ、１９７９年１１月）
【非特許文献１６】Wolchok、Hofmann、Heninger、Felten、Halderman、Rossbach、Waters、およびWitchelによる「DefeatingVanish with low-cost Sybil attacks against large DHTh」（proc. 17th Network and Distributed SystemSecurity Symposium（ＮＤＳＳ）、ＩＳＯＣ、２０１０年２月）
【非特許文献１７】DiCrescenzo、N. Ferguson、R. Impagliazzo、およびM.Jakobssonによる「How to forget a secret」（proceedings of the 16th annual conference onTheoretical aspects of computer science、STACS’ 99、５００〜５０９ページ、ハイデルベルク、ベルリン、１９９９年、Springer-Verlag）
【発明の概要】
【発明が解決しようとする課題】
【００２１】
この解決策は、記憶サービスの場合にファイルをセキュアに削除するには不適当である。第１に、鍵ツリーでは、ｍレベルのツリー内のｍ−１のノード以外は全てコンテンツを暗号化するために実際に用いられるので、サイズが大きすぎる。第２に、前の段落で述べたように、実際のコンテンツはツリーの葉として配置され、各葉はその父に関連させた鍵を用いて暗号化される。これは、ｎ個の兄弟ノードがｎ分木において同一の鍵を用いて暗号化されることを示唆する。しかしながら、ノードのセキュアな削除がその兄弟の再暗号化を必要とするならば、Di Crescenzo等の手法が提示する解決策がファイル記憶に適用された場合、ファイルのセキュアな削除は他のおそらく極めて大きいファイルの再暗号化を必然的に伴う。更に、Di Crescenzo等の手法は、再暗号化プロセスの結果として得られた一時的な平文値が消去可能メモリに記憶されることを想定する。しかしながらこの結果、データの大部分が消去可能メモリに記憶されることになり、または極めて大きいＩ／Ｏ帯域幅が必要とされることになる。最後に、このスキームは、単一データ・ユニットの削除しか処理することができない。しかしながらこれは、共通のセマンティクスを有する大きな１組のファイルの削除が必要である場合に適合しない。
【００２２】
従って、コンピュータ化システムの記憶システムに記憶されたオブジェクトを削除するための改良された解決策が求められている。
【課題を解決するための手段】
【００２３】
一態様によれば、本発明は、オブジェクトおよびこのオブジェクトに関連させた属性値を記憶する記憶システムを含むコンピュータ化システムとして具現化される。属性値は、１組のＮ個の属性タイプに従って組織化され、ここでＮ≧１であり、前記属性タイプの各々についてオブジェクトを属性値に関連付けることができる。前記属性タイプの各々を各グラフに関連させる。各グラフの各ノードを鍵に関連させる。前記鍵は、根ノードを除いて、前記各ノードの親ノードに関連させた鍵によってラップされ、各グラフに対応する属性タイプのための１つの属性値に関連させられる。また、オブジェクトの各々は１つ以上の鍵に基づいて暗号化されて記憶され、前記１つ以上の鍵の各々は、オブジェクトの前記各々に関連付けた１つの属性値に関連させられている。また、このシステムは、鍵を削除するように構成された鍵管理手段を含む。
【００２４】
例において、コンピュータ化システムは、以下の特性の１つ以上を含むことができる。すなわち、
−属性タイプの１つがコンピュータ化システムのファイルシステム上にマッピングされたファイルシステム・ツリーに対応し、ファイルシステム・ツリーの各ノードが、前記各ノードがファイルシステムのディレクトリまたはファイルに対応するようにファイルシステムのディレクトリまたはファイルを一意に識別する属性値と、根ノードを除いて前記各ノードの親ノードに関連させた鍵によってラップした鍵と、に関連付けられ、ファイルシステム・ツリーの各葉ノードに対応するファイルシステムのファイルが各々、ファイルシステム・ツリーの各葉ノードに関連させた鍵に基づいて暗号化され、
−ファイルシステム・ツリーの各葉ノードに対応するファイルシステムの前記ファイルが各々、少なくとも２つの鍵に基づいて暗号化され、前記２つの鍵の一方をファイルシステム・ツリーの各葉ノードに関連させ、前記２つの鍵の他方をファイルシステム・ツリーに対応するものとは別の属性タイプに関連させ、
−各オブジェクトが少なくとも２つの鍵に基づいて暗号化され、鍵の各々が異なるタイプの各属性値に関連付けられ、
−各オブジェクトが単一の鍵を用いて暗号化され、前記単一の鍵が前記少なくとも２つの鍵に基づいて取得され、
−各オブジェクトが単一の鍵を用いて暗号化され、前記単一の鍵が、前記少なくとも２つの鍵の連結のハッシュ関数等、前記少なくとも２つの鍵を入力として用いる一方向関数によって取得され、
−属性タイプの１つがユーザに対応し、このタイプのための別個の属性値が別個のユーザに対応するようになっており、
−属性タイプの１つが時間に対応し、このタイプの別個の属性値が好ましくは別個の年または別個の保持期間に対応するようになっており、
−オブジェクトの各々がオール・オア・ナッシング変換に基づいて暗号化されて記憶され、オブジェクトの各々の一部が前記１つ以上の鍵に基づいて暗号化される。
【００２５】
別の態様によれば、本発明は、上述のコンピュータ化システムに記憶されたオブジェクトをセキュアに管理するコンピュータ実施方法として具現化され、この方法はグラフの鍵を削除するステップを含み、これによって、削除された鍵によって以前ラップした鍵の各々を再び導出することと、少なくとも前記削除された鍵に基づいて暗号化されたいずれかのオブジェクトにアクセスすることと、を防止する。
【００２６】
この方法は、削除するステップの前に、ツリーにおいて所与のノードを選択するステップと、これまでそのノードに関連付けられていた鍵とは別個の新しい鍵を生成し、新しい鍵をそのノードに関連付けるステップと、新しい鍵によって、そのノードの子ノードに関連させた鍵をラップするステップと、を更に含むことができる。更に、削除するステップは、これまでそのノードに関連付けられていた鍵を削除することを含む。
【００２７】
別の態様によれば、本発明は、前述のコンピュータ化システムとして記憶システムを有するコンピュータ化システムを構成するため、または前述の方法を実行するための命令を含むコンピュータ・プログラムとして具現化される。
【００２８】
別の態様によれば、本発明は、上述のコンピュータ・プログラムを記録しているデータ記憶媒体として具現化される。
【００２９】
これより、非限定的な例として、添付図面を参照して、本発明を具現化するシステムおよびプロセスについて記載する。
【図面の簡単な説明】
【００３０】
【図１】従来技術の鍵ツリーの例示を表す。
【図２】コンピュータ化システムに記憶されたオブジェクトをセキュアに管理する方法の一例のフローチャートを示す。
【図３】コンピュータ化システムの一例の鍵ツリーの例示を表す。
【図４】コンピュータ化システムの一例の鍵ツリーの例示を表す。
【図５】コンピュータ化システムの第３の例の図による表現を表す。
【図６】コンピュータ化システムの一例を表す。
【発明を実施するための形態】
【００３１】
当業者によって認められるように、本発明の態様は、コンピュータ化システム、このシステムを使用または構成するための方法、またはこの方法を実行するためのコンピュータ・プログラムとして具現化することができる。従って、本発明の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、または、ソフトウェアおよびハードウェアの態様を組み合わせた実施形態という形態を取ることができ、それらは全て本明細書において、「回路」、「モジュール」、または「システム」と一般的に称することができる。更に、本発明の態様は、具現化されたコンピュータ読み取り可能プログラム・コードが記録された１つ以上のコンピュータ読み取り可能媒体（すなわちデータ記憶媒体）において具現化されたコンピュータ・プログラムの形態を取ることも可能である。
【００３２】
１つ以上のコンピュータ読み取り可能媒体のあらゆる組み合わせを利用することができる。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体とすることができる。コンピュータ読み取り可能記憶媒体は例えば、限定ではないが、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、または前述のもののいずれかの適切な組み合わせとすることができる。コンピュータ読み取り可能記憶媒体の更に具体的な例（非網羅的な列挙）は、以下を含む。すなわち、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、携帯型コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、または前述のもののいずれかの適切な組み合わせである。この文書の文脈において、コンピュータ読み取り可能記憶媒体すなわちデータ記憶媒体は、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを含有または記憶することが可能ないずれかの有形の（tangible）媒体とすることができる。
【００３３】
コンピュータ読み取り可能信号媒体は、例えばベースバンドにおいてまたは搬送波の一部として、具現化されたコンピュータ読み取り可能プログラム・コードを有する伝播データ信号を含むことができる。かかる伝播信号は様々な形態のいずれかを取ることができ、それらは限定ではないが、電磁、光、またはそれらのいずれかの適切な組み合わせを含む。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体でないが、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを伝達、伝播、または転送することが可能ないずれかのコンピュータ読み取り可能媒体とすることができる。
【００３４】
コンピュータ読み取り可能媒体上で具現化されるプログラム・コードは、限定ではないが、無線、有線、光ファイバ・ケーブル、ＲＦ等、または前述のもののいずれかの適切な組み合わせを含むいずれかの適切な媒体を用いて伝送することができる。
【００３５】
本発明の態様の動作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ（ＴＭ）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同様のプログラミング言語等の従来の手順プログラミング言語を含む１つ以上のプログラミング言語のいずれかの組み合わせにおいて記述することができる。プログラム・コードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上でおよび部分的にリモート・コンピュータ上で、または全体的にリモート・コンピュータもしくはサーバ上で、実行することができる。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを介してユーザのコンピュータに接続することができ、または、接続は、（例えばインターネット・サービス・プロバイダを用いてインターネットを介して）外部コンピュータに対して行うことができる。
【００３６】
本発明の実施形態に従った方法、装置（システム）、およびコンピュータ・プログラムのフローチャート図またはブロック図あるいはその両方を参照して、本発明の態様について以下に記載する。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組み合わせは、コンピュータ・プログラム命令によって実施可能であることは理解されよう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を生成することができ、これによって、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能／行為を実施するための手段を生成するようになっている。
【００３７】
また、これらのコンピュータ・プログラム命令はコンピュータ読み取り可能媒体に記憶することができ、これによって、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに、特定の方法で機能するように指示することができる。また、コンピュータ・プログラム命令を、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードして、そのコンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させてコンピュータ実施プロセスを生成することができ、これによって、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能／行為を実施するためのプロセスを提供するようになっている。
【００３８】
オブジェクトおよびこのオブジェクトに関連させた属性値を記憶する記憶システムを含むコンピュータ化システムが提供される。属性値は、１組のＮ個の属性タイプ（Ｎ≧１）に従って組織化され、前記属性タイプの各々について、オブジェクトを属性値に関連付けることができる。前記属性タイプの各々を各グラフに関連させる。各グラフの各ノードを鍵に関連させる。前記鍵は、根ノードを除いて、前記各ノードの親ノードに関連させた鍵でラップされる。各オブジェクトは、１つ以上の鍵に基づいて暗号化されて記憶される。前記１つ以上の鍵の各々は、前記各オブジェクトに関連付けた１つの属性値に関連させる。また、コンピュータ化システムは、鍵の生成、管理、または削除あるいはそれら全てを行うように構成された鍵管理手段を含む。かかるシステムは、記憶システムに記憶されたオブジェクトの削除を改善する。
【００３９】
「コンピュータ化システム」は、例えばハードウェア・プロセッサを有するシステム等、コンピューティング機能を有するいずれかのタイプのシステムを意味する。例えばこれはデスクトップ・コンピュータまたはラップトップ・コンピュータを意味する。コンピュータ化システムは記憶システムを含む。記憶システムは、不揮発性部分または揮発性部分あるいはその両方を含むハードウェア・メモリ等、データを記憶するためのいずれかの手段から成る。検討されるコンピュータ化システムの記憶システムは、オブジェクトおよびこのオブジェクトに関連させた属性値（任意選択として、多くても各属性タイプおよび各オブジェクトに１つの値）を実際に記憶する（すなわち記憶するように適合されている）。オブジェクトは、あるまとまりを形成するデータ量から成る。例えばオブジェクトは、ファイル（例えばコンピュータ・ファイル）またはディレクトリあるいはその両方である。属性値は単に属性タイプの値を指定する。従って属性値はオブジェクトに関連させたデータを構成する。「関連させる」とは、システムが、オブジェクトから属性値への、またはその逆の、あるいはその両方のリンクまたはポインタを記憶することを意味し、１つの属性の１つの値に関連させた１つのオブジェクトまたは複数のオブジェクトあるいはその両方に関連させた属性値（複数の属性値）を検索するようになっている。属性値は１組のＮ個の属性タイプに従って組織化される。属性タイプはオブジェクトを特徴付ける特性である。換言すると、記憶した各オブジェクトについて、このオブジェクトに関連させて１つ以上の属性値が組織化された方法で記憶されている（すなわち属性タイプは検索可能な属性値に対応する）。前記属性タイプの各々について、オブジェクトを属性値に関連付けることができる。換言すると、Ｎ個の属性タイプがあり、それらの各々について、所与のオブジェクトに対応する１つの値がそのオブジェクトに関連させて記憶されている。留意すべきこととして、全ての属性タイプの属性値の組とオブジェクトとの間に１対１のマッピングがあり得る（すなわち各オブジェクトは各属性タイプごとに１つ、多くても１つの属性値を有する）。Ｎ≧１は、Ｎがいずれかの非ゼロの自然数であることを意味する。
【００４０】
前記属性タイプの各々を各グラフに関連させる（このため記憶システムは、かかるグラフを記憶するように更に適合され、所与の時点でそれを記憶することができる）。各グラフの各ノードを、全単射に従って、（記憶システムに記憶された）鍵に関連させる（グラフの各ノードに１つだけの鍵）。前記鍵自体は、例えばグラフ階層に従って、根ノードを除いて、前記各ノードの親ノードに関連させた鍵によってラップ（すなわち暗号化）される。換言すると、グラフの各ノードは、（例えば暗号化アルゴリズムに従って）親ノードの鍵で暗号化された鍵（すなわち、例えば暗号化アルゴリズムに従って他のデータの暗号化に用いたデータ）を指し示す。これが意味するのは、グラフは有向グラフであり、各弧は開始ノード（すなわち親ノード）および終了ノード（すなわち子ノード）を有するということである。また、これは、グラフの所与の鍵（グラフのノードに関連させている）がそれ自体では使用可能でないことも意味する。これは最初に、この所与の鍵を関連させたノードの親ノードの鍵を用いて復号しなければならない。これが当てはまらない唯一の事例は、グラフの根ノードすなわち親ノードが存在しないノードに関連させた鍵の場合である。根ノードおよび有向弧を有することで、グラフをツリー・グラフとすることができる。
【００４１】
また、前記鍵を、各グラフに対応する属性タイプの１つの属性値に関連させる。換言すると、グラフの鍵をオブジェクトに関連させ、更に具体的には、グラフの属性タイプに対応するそのオブジェクトの属性値に関連させる。従ってコンピュータ化システムは、Di Crescenzo等の手法に比べて最適なグラフ・データの使用を提供する。実際、グラフの全ノードを鍵に関連させ、これ自体をデータ（本例ではオブジェクトに関連させた属性値）に関連させるが、葉ノードはこれを行わない。このため、葉でないノードに関連させた鍵を用いて、データ（すなわちオブジェクトの属性値）を暗号化すること、および別の鍵（すなわち子ノードに関連させた鍵）をラップすることの双方を行う。
【００４２】
次いで、オブジェクトの各々を、１つ以上の鍵に基づいて暗号化して記憶する（例えばオブジェクトの少なくとも一部に暗号化アルゴリズムを実行した後。アルゴリズムは前記１つ以上の鍵をパラメータ（複数のパラメータ）として用いる）。前記１つ以上の鍵の各々は、前記各オブジェクトに関連付けた１つの属性値に関連させている。換言すると、オブジェクトはそれ自体では記憶システムに記憶されず、オブジェクトの１つ以上の属性値に関連させた各鍵に基づいて隠れるように暗号化される。各属性値は各属性タイプに対応する。オブジェクトを読み取る（すなわちそのコンテンツにアクセスする）ためには、１つ以上の鍵が必要である（更に暗号化アルゴリズムも必要であるが、これももちろん記憶することができるか、またはオブジェクトを読み取ろうとする者には既知であり得る）。従って、１つ以上の鍵の少なくとも１つを削除することによって、オブジェクトをセキュアに削除することが可能である。実際、「１つ以上の鍵」の１つが削除されると、オブジェクトはもはや復号することができない。更に、コンピュータ化システムは実際に、鍵を削除するように構成された鍵管理手段を含む。鍵はオブジェクトよりも削除することが容易であり、管理および制御することも容易である。
【００４３】
ここで、鍵は有向グラフに従って組織化され、ノードに関連させた各鍵は親ノードに関連させた鍵によってラップされるので、システムは、実際には親の鍵または他のいずれかの先祖の鍵を削除することによって、ノードに関連させた鍵の削除を可能とする。実際、グラフの各ノードは親ノードを有し（根ノードを除く）、親ノードに関連させた鍵でラップされた１つの所与の鍵に関連させている。このため、先祖ノードに関連させた鍵を削除すると、所与の鍵はもはや復号することができない。従ってこの方法は、セキュアで効率的な削除システムを提供する。
【００４４】
実際、コンピュータ化システムに記憶されたオブジェクトをセキュアに管理する方法が提供される。この方法は、グラフの鍵を削除するステップを含む。グラフは、属性タイプを関連させた各グラフの１つである。従って削除した鍵は、それまでグラフの所与のノードに関連させていたものである。これによって、この方法は、削除した鍵で（これまで）ラップしていた各鍵を再び導出することを防止する。また、この方法は、少なくとも前記の削除した鍵に基づいて暗号化したオブジェクトに対するアクセスを防ぐ。
【００４５】
この方法は、削除するステップの前に、グラフ内の所与のノード（削除対象の鍵を関連させたグラフのノード）を選択するステップと、そのノードにこれまで関連させていた鍵とは別個の新しい鍵を生成し（新しい鍵は削除対象の鍵とは異なる値を有する）、新しい鍵をそのノードに関連付けるステップ（従って新しい鍵は削除対象の鍵に取って代わる）と、そのノードの子ノードに関連させた鍵を新しい鍵でラップするステップと、を更に含むことができる。換言すると、所与のノード（削除対象の鍵を関連させたもの）の子であるノードに関連させた鍵を、新しい鍵を用いて再びラップする（それらはこれまで削除対象の鍵の値を用いてラップされていた）。また、孫および更に下の子孫の世代も同じ方法で再びラップすることができる。換言すると、所与のノード（すなわちこの方法で削除した鍵に関連させたノード）の子孫についてラップを反復することができる。その場合、削除するステップは、これまでそのノードに関連付けられていた鍵を削除することを含む。
【００４６】
図２はそのような方法の一例を示しており、グラフの鍵を削除するステップ（Ｓ４０）であって、これまでそのノードに関連付けられていた鍵を削除することを含むステップを含み、削除ステップ（Ｓ４０）の前に、グラフにおいて所与のノードを選択するステップ（Ｓ１０）と、これまでそのノードに関連付けられていた鍵とは別個の新しい鍵を生成し、新しい鍵をそのノードに関連付けるステップ（Ｓ２０）と、新しい鍵でそのノードの子ノードに関連させた鍵をラップするステップ（Ｓ３０）と、を含む。
【００４７】
ここで、各グラフの少なくとも少数の初期レベル、好ましくは根ノードに関連させた鍵は、外部の消去可能メモリに記憶することができ、それらのキャッシュ、ジャーナル、またはスナップショット、あるいはそれら全てのバージョンは標準メモリに記憶しない。一方、他の鍵はいずれかの方法で標準メモリに記憶することができる。標準メモリは、消去可能メモリよりも大きい任意のサイズのものである。外部の消去可能メモリは、そのコンテンツの削除に関して高レベルのセキュリティを提供するいずれかのメモリである。グラフの初期レベルはグラフの第１のレベルである。グラフの第１のレベルはその根ノードである。グラフの第２のレベルは根ノードの子を含む、等とする。「少なくとも少数の初期レベル」とは、根ノードを含む連続ノードであるが全てのノード・レベルは含まないことを意味する。
【００４８】
この場合、コンピュータ化システムは、コンテンツの効率的でセキュアな削除を行う。実際、消去可能メモリにおいていずれかの鍵を削除することによって、オブジェクトに対するアクセスを不可能とする（すなわちオブジェクトを削除する）ことができるが、その鍵は、そのオブジェクトの属性値のいずれかに関連させた鍵に対するノード（オブジェクトはその鍵に基づいて暗号化されて記憶されている）と同一グラフの根ノードとの間の経路に存在するノードに関連させたものである。他のオブジェクトを完全な状態に保つため、削除対象の鍵の値を変更し、（削除対象のオブジェクト以外の）その鍵に基づいて記憶されたデータを再び暗号化することができる。このデータは例えば、子孫ノードに関連させた鍵およびそれに基づいて暗号化されたオブジェクト等である。従ってコンピュータ化システムは、実際に手段を提供することができる。また、コンピュータ化システムは、新しいオブジェクトの生成および新しい属性タイプまたは属性値の提供をサポートすることができる。
【００４９】
第１の例において、属性タイプの１つは、コンピュータ化システムのファイルシステム上にマッピングされたファイルシステム・ツリーに対応することができる。換言すると、属性タイプの１つは、ファイルシステム・ツリーをミラーリングするツリーに関連させることができる。従って各グラフは、かかる属性タイプのためのファイルシステム・ツリーの構造を有するツリーである。かかる場合、ファイルシステム・ツリーの各ノードは、ファイルシステムのディレクトリまたはファイルを一意に識別する属性値に関連付けられて、前記各ノードがファイルシステムのディレクトリまたはファイルに対応するようになっている。実際、オブジェクトはファイルシステムのファイルおよびディレクトリとすることができる。このため、グラフに関連させた属性値は、例えばファイルまたはディレクトリのパス名であるか、またはこれに対応する場合がある。ファイルシステム・ツリーの前記各ノードは更に、根ノードを除いて、前記各ノードの親ノードに関連させた鍵でラップした鍵に関連付けられている。これについては先に説明した。ファイルシステム・ツリーの各葉ノードに対応するファイルシステムのファイルは各々、ファイルシステム・ツリーの各葉ノードに関連させた鍵に基づいて暗号化されている。このため、ツリーの葉ノードに関連させた鍵はファイル暗号化鍵（ＦＥＫ）を含み、他の鍵は鍵暗号化鍵（ＫＥＫ）であり、従ってディレクトリを暗号化することができる。実際、ファイルであるオブジェクトは必然的にツリーの葉に対応する。これによって削除処理を高速化することができる。実際、ユーザは一般にファイルシステムからファイルまたはディレクトリを削除する。暗号化鍵のためにこのようなグラフ構造を有することによって、削除の速度が上がる。
【００５０】
ファイルシステム・ツリーの各葉ノードに対応するファイルシステムの前記ファイルは各々、少なくとも２つの鍵に基づいて暗号化することができる。例えば前記ファイルは各々、Ｎ個の鍵（Ｎ＞１）に基づいて暗号化することができる。前記２つの鍵の一方は、ファイルシステム・ツリーの各葉ノードに関連させることができる。前記２つの鍵の他方は、ファイルシステム・ツリーに対応するものでなく別の属性タイプに関連させることができる。換言すると、各々が異なる属性タイプ（それらの一方はファイルシステムのディレクトリまたはファイルを一意に識別する）に関連付けられた少なくとも２つの鍵が、オブジェクトを暗号化することができる。これによって、削除対象のオブジェクトを異なる方法で（異なる属性タイプにより）識別することによってセキュアな削除を実行可能とし、システムはコンテンツ削除をいっそう簡便に実行することが保証される。
【００５１】
図３はこの第１の例を示す。図３が示すグラフは、コンピュータ化システムのファイルシステム上にマッピングされたファイルシステム・ツリー３０である。コンピュータ化システムの記憶システムは、オブジェクトおよびこれらのオブジェクトに関連させた属性値を記憶する。属性値は１組のＮ個の属性タイプ（Ｎ≧１）に従って組織化され、前記属性タイプの各々について属性値にオブジェクトを関連付けることができる。前記属性タイプの１つは、ファイルシステム・ツリー３０に関連させる／対応する。ファイルシステム・ツリー３０は、ディレクトリおよびファイルを有するコンピュータ化システムのファイルシステム上にマッピングすることができる。ファイルシステム・ノード３０の各ノードは、ファイルシステムのディレクトリまたはファイルを一意に識別する属性値に関連付けられ、これは例えば、図３においてディレクトリでは参照「ｄｉｒ１」、「ｄｉｒ２」、．．．、「ｄｉｒ７」によって、ファイルでは「ｆｉｌｅ１」および「ｆｉｌｅ２」によって表されるパス名であり、前記各ノードがファイルシステムのディレクトリ（「ｄｉｒ１」、「ｄｉｒ２」、．．．、「ｄｉｒ７」）またはファイル（「ｆｉｌｅ１」、「ｆｉｌｅ２」）に対応する。また、ファイルシステム・ツリー３０の各ノードは、鍵Ｋ０、Ｋ０１、Ｋ０２、Ｋ０３、Ｋ０４、Ｋ０１１、Ｋ０１２、Ｋ０３１、Ｋ０４１、Ｋ０４１１に関連付けられている。根でないノードに関連付けられた鍵Ｋ０１、Ｋ０２、Ｋ０３、Ｋ０４、Ｋ０１１、Ｋ０１２、Ｋ０３１、Ｋ０４１、Ｋ０４１１は、親ノードに関連付けた鍵Ｋ０１、Ｋ０３、Ｋ０４、Ｋ０４１でラップされている。根ノードは、他のいずれの鍵でもラップされていない鍵Ｋ０に関連させる。図３において（また、後述の図４にも当てはまるように）、鍵Ａを別の鍵Ｂでラップした場合、かかるラップ関係を示すためにＡＢと示す。
【００５２】
ファイルシステム・ツリー３０の各葉ノードに対応するファイルシステムのファイル「ｆｉｌｅ１」および「ｆｉｌｅ２」は各々、ファイルシステム・ツリー３０の各葉ノードに関連させた鍵（Ｋ０３１およびＫ０４１１）に基づいて暗号化されている。換言すると、ファイル「ｆｉｌｅ１」は鍵Ｋ０３１に基づいて暗号化され、ファイル「ｆｉｌｅ２」は鍵Ｋ０４１１に基づいて暗号化されている。
【００５３】
第１の例と組み合わせることができる第２の例では、各オブジェクトは少なくとも２つの鍵に基づいて暗号化され、それぞれの鍵を異なるタイプの各属性値に関連させている。例えば前記オブジェクトは各々、Ｎ個の鍵（Ｎ＞１）に基づいて暗号化することができる。これによって、前述のように、削除の実行がいっそう簡便となることが保証される。
【００５４】
図４は、図３に示したもの以外の鍵ツリーの例示を示す。換言すると図４は、図３のものとは異なる記憶システムの属性タイプに関連させたツリー４０としてのグラフを示す。コンピュータ化システムの記憶システムが記憶する各オブジェクトは、２つの鍵に基づいて暗号化することができる。その一方は図３のファイルシステム・ツリー３０に関連させた属性値に関連付けられ、他方は図４のツリー４０に関連させた属性値に関連付けられている。
【００５５】
ツリー４０は、記憶システムのオブジェクトの所有権に対応した属性タイプに関連させている。属性値は「ｔｅｎａｎｔ１」、「ｔｅｎａｎｔ２」、「ｔｅｎａｎｔ３」、「ｔｅｎａｎｔ４」、「ｕｓｅｒ１」、「ｕｓｅｒ２」、「ｕｓｅｒ３」とすることができ、オブジェクトは、「ｔｅｎａｎｔ１」、「ｔｅｎａｎｔ２」、「ｔｅｎａｎｔ３」、「ｔｅｎａｎｔ４」、「ｕｓｅｒ１」、「ｕｓｅｒ２」、「ｕｓｅｒ３」のいずれかに属することができる。ツリー４０の各ノードを、鍵Ｋ’０、Ｋ’０１、Ｋ’０２、Ｋ’０３、Ｋ’０４、Ｋ’０１１、Ｋ’０１２、Ｋ’０３１に関連させる。前記鍵は、根ノードを除いて、前記各ノードの親ノードに関連させた鍵でラップされている。これについては図３を参照して説明した。また、前記鍵は、属性タイプ「所有権」についての１つの属性値に関連させる（根ノードに関連させたＫ’０はヌル値に関連させる）。
【００５６】
オブジェクトが例えばファイルシステムの要素（すなわちファイルまたはディレクトリ）である場合、コンピュータ化システムが含む記憶システムは、これらの要素、ファイルシステムのディレクトリまたはファイルを一意に識別する値「ｄｉｒ１」、「ｄｉｒ２」、．．．、「ｄｉｒ７」、「ｆｉｌｅ１」、「ｆｉｌｅ２」、および要素の所有権の値「ｔｅｎａｎｔ１」、「ｔｅｎａｎｔ２」、「ｔｅｎａｎｔ３」、「ｔｅｎａｎｔ４」、「ｕｓｅｒ１」、「ｕｓｅｒ２」、「ｕｓｅｒ３」、を記憶し、更に、鍵Ｋ０、Ｋ０１、Ｋ０２、Ｋ０３、Ｋ０４、Ｋ０１１、Ｋ０１２、Ｋ０３１、Ｋ０４１、Ｋ０４１１、および鍵Ｋ’０、Ｋ’０１、Ｋ’０２、Ｋ’０３、Ｋ’０４、Ｋ０’１１、Ｋ’０１２、Ｋ’０３１の鍵構造を記憶する図３のファイルシステム・ツリー３０および図４のツリー４０を記憶することができる。また、記憶システムは、ツリー３０の鍵およびツリー４０の鍵に基づいて各ファイルを記憶する。このように、ファイルシステム内の位置またはその所有権あるいはその両方に基づいて検索することで、例えばファイルを効率的に削除することができる。
【００５７】
ここで、第１および第２の例の双方のオプションについて論じる。
【００５８】
各オブジェクトは、単一の鍵を用いて暗号化することができる。前記単一の鍵は、前記少なくとも２つの鍵に基づいて取得することができる。例えばオブジェクトを暗号化する単一の鍵は、オブジェクトを暗号化する際に用いる少なくとも２つの鍵に鍵導出関数を適用することによって取得することができる。前記単一の鍵は例えば、前記少なくとも２つの鍵の連結のハッシュ関数等、前記少なくとも２つの鍵を入力として用いる一方向関数によって取得することができる。
【００５９】
また、いずれかの暗号的にセキュアな鍵導出関数によって、入力としてＮ＞１個の鍵を用い、入力ビットの各々に依存する単一の鍵を出力として発生することで、適切な関数を得ることも可能である。
【００６０】
属性タイプの１つをユーザに対応させることで、このタイプの別個の属性値を別個のユーザに対応させることができる。換言すると、属性タイプの１つがユーザ所有権等のユーザに関する情報を提供し、異なる値が異なるユーザを参照する。一例において、属性タイプの１つはファイルシステム・ツリーに対応し、別の属性タイプはユーザ所有権に対応する。
【００６１】
属性タイプの１つを時間に対応させることで、このタイプの別個の属性値を好ましくは別個の年または別個の保持期間に対応させることも可能である。
【００６２】
このため、コンピュータ化システムが提供するスキームは、Di Crescenzo等の手法の基本的なアイディアを活用することで、記憶システムにおけるセキュアな削除の問題に適切な解決策を構築する。第１の例の重要なアイディアは、記憶についてのセキュアな削除の問題に取り組んでいる場合、外部の論理鍵構造に頼ることは不可能であり、かかる鍵構造をファイルシステムに結合させた方が良いということである。第１の見通しは、鍵・ツリーをファイルシステム・ツリーと結合させることで、記憶の問題にいっそう適した解決策が得られるということである。
【００６３】
更に、コンピュータ化システムが提供するスキームは、異なる精度（granularity）で異なる次元にわたって高性能なセキュア削除動作をサポートすることができる。次元は、特定の共通セマンティクスでファイルをグループ化することに対応させることができる。例えばコンピュータ化システムでは、鍵ツリーにおける単一のセキュア削除動作は犠牲になるが、全フォルダのサブツリーのまたはシステムの単一ユーザに属するファイルのセキュアな削除をサポートすることができる。この解決策の背景にある重要なアイディアは、多くの別個の鍵ツリーを構築することができ、各ツリーに属する鍵の組み合わせでファイルを暗号化する必要があり得るということである。
【００６４】
以下に、コンピュータ化システムの２つの現実的な実施を提示する。これらは前述の第１および第２の例に対応する。
【００６５】
提示する第１の手法は、ディレクトリに含まれるファイルのツリーとしてファイルシステムをすでに表現することができるという観察に基づいている。
【００６６】
この解決策は以下のように構築される。各ファイルは、ファイル暗号化鍵（ＦＥＫ）を用いて暗号化される。ファイル暗号化鍵は、それらを含むフォルダのメタデータに記憶され、フォルダに関連させた鍵暗号化鍵（ＫＥＫ）でラップする。次いで、各フォルダのＫＥＫは、その親フォルダに関連させたＫＥＫを用いてラップされ、後者のメタデータに記憶される。根フォルダに到達するまでこれが反復される。根フォルダは鍵ツリーの根に関連させている。
【００６７】
まず、ツリーを完全なｎ分木のツリーとしてではなく、任意のサイズおよび構造の（不完全である可能性が極めて高い）ツリーとして形成していることに留意すべきである。この実施手法において、各フォルダはツリー内の葉でないノードに関連させ、これはそのフォルダのＫＥＫを表し、このノードは特にファイルシステム階層内のフォルダの位置に依存する（例えば／ａ／ａは鍵ツリーの根の第１の子ノードの第１の子ノードにマッピングすることができる）。各ファイルはツリー内の葉ノードに関連付けられ、これはそのファイルのＦＥＫを表す。各フォルダはそのローカルのメタデータに、それ自身に含まれるファイルおよびフォルダの全てのＫＥＫおよびＦＥＫを記憶し、それ自身のＫＥＫを用いてラップされ、これは次いでその親のメタデータに記憶される。
【００６８】
１つのファイルまたは１つのフォルダに属する全ファイルをセキュアに削除することが必要になると、通常、ファイル（複数のファイル）はリンク解除（unlink）され、それらに関連させた鍵は、根フォルダまでの親フォルダのＫＥＫを変更することでセキュアに削除される。
【００６９】
この手法は多数の利点を有する。第１に、鍵は同一のファイルシステムのメタデータに記憶されるので、鍵記憶の信頼性はファイル記憶の信頼性と等しい。このため、例えばディスク故障のために鍵を喪失すると、ファイルの喪失が生じる可能性が極めて高く、逆も同様である。第２に、この解決策はファイルシステムの固有の設計を利用する。所与の経路において所与のファイルにアクセスすると、オペレーティング・システムは所望のファイルに到達するために各フォルダのメタデータを横断する。キャッシュを用いて、性能を向上させ、頻繁に訪れるパス／ファイルのディスク・アクセスを回避する。同じ手法は、我々のシステムにおける鍵の処理に適している。鍵は、ファイル・アクセス時に調べられ同じ方法でキャッシュされる同じメタデータ・オブジェクトに記憶することができるからである。セキュアな削除の動作では、このキャッシュの無効化およびそのコンテンツの消去が必要であり、これはＰＳ実施によって内部で処理することができる。
【００７０】
第２の例は、多数鍵階層を用いて柔軟な削除を提供する。
【００７１】
DiCrescenzo等の手法に対して示された単純な解決策は、記憶ベースのシステムには適していない。実際、このスキームは単一データ・ユニットの削除しか処理することができず、（大型である可能性のある）１組のファイルの削除を一度に処理しなければならない場合には適切でない。これはサブツリー全体を除去することで実行可能であるという主張はあり得るが、削除を必要とする要素を葉の組に連続的にグループ化できない場合、または更に重要なのは、単一要素が多数の削除の組に属する必要がある場合は、この解決策は最適でない。
【００７２】
実際、更に別の要求として、例えば所与のユーザに属する全てのファイルを効率的に一度に削除可能であることが求められ、しかも組織化されたファイル配置（例えばユーザの全ファイルが単一のフォルダまたはバケツ内に含まれる）が想定されないという場合がある。これによって必要な次元は３まで増える。追加される次元は、多数所有権システムにおけるサブ・テナントおよびテナント（所有者）とすることができる。
【００７３】
この要求はほとんど無関係であることに留意すべきである。実際、大企業レベルの記憶システムに強く求められることは、ユーザ・マイグレーションのサポートであり、このため、ある記憶の解決策から別のものにコンテンツを効率的にコピーする必要があり、これに関連して、データの古いコピーが存在しないことを保証することができるように前者内でコンテンツをセキュアに削除することが要求される。従って、単一のユーザが所有する多数である場合があるファイルを一度に削除することは、重要な要求である。
【００７４】
従って、第２の例のコンピュータ化システムは、第１の例で提示した基本的なアイディアを潜在的に利用することで、記憶システムにおけるセキュアな削除の問題に適切な解決策を構築する。重要なアイディアは、削除動作の次元および精度を高めるために異なるツリーを採用することである。
【００７５】
このために、コンピュータ化システムは、ｎ個の別個のツリーのいわゆる森を構築（および記憶）することができる。ここでｎは直交次元数を表し、例えば２本のツリーを有する２次元空間は、単一ファイルおよびフォルダ内の全ファイルのセキュアな削除を扱うように機能する。３本のツリーを有する３次元空間は、単一ファイル、フォルダ内のファイル、および所与のユーザに属する全ファイルに対処するために使用可能である。この状況は、もっと複雑な場合に対応するように容易に拡張することができる。
【００７６】
DiCrescenzo等の手法においては、単一のＫＥＫを用いて単一のＦＥＫをラップ（すなわち暗号化）し、このＦＥＫを用いて所望のファイルを暗号化する。我々の解決策では、単一のＦＥＫを、それぞれ別個のツリーに属するｎ個の鍵を用いて暗号化する。これを達成するため、セキュアな鍵導出関数
【数１】
0005647754.tif 000002
（ｋは必要な鍵の長さである）を用いてｎ個の鍵を組み合わせる。従って、以前は単一のツリーからの単一の鍵であった実際のＫＥＫはこの時点で、それぞれが各ツリーからのｎ個の鍵に関数Ｆを適用することで計算されると言える。
【００７７】
【数２】
0005647754.tif 000003
を、第ｉのツリーとし、
【数３】
0005647754.tif 000004
を、例えばストリング等の属性タイプとする。これは、第ｉ次元内の所与のファイルを識別する（例えばファイル名、バケツ名、または所有ユーザ名）。マッピング関数
【数４】
0005647754.tif 000005
が、第ｉ次元のファイルの所与の識別子を、第ｉツリーの要素にマッピングするものとする。このため、必要な１組の鍵を決定するために最初にマッピング関数を適用することで各ＫＥＫを得ることができ、次いでかかる１組に鍵導出関数を用いて鍵を発生することができる。アルゴリズムは次のように考えることができる。
【００７８】
【表１】
0005647754.tif 000006
【００７９】
このスキームを更に有効かつセキュアにするため、Ｆは疑似ランダム関数とし（出力が暗号鍵であるために必要な基準を満たすように）、出力の発生において各ツリーから各鍵を呼び出して、単一の値が欠如している場合に鍵を回復することは不可能となっている。かかる関数の候補は、前述のように、ブロック暗号等の鍵導出関数によって各鍵を処理することができる。
【００８０】
セキュアな削除が必要である場合、まず、関連する次元ｉを識別し、次いで削除要求を識別するストリング（例えばあるユーザに属する全ファイルをセキュアに削除するためのユーザ名ｉｄｉ）にマッピングＭを適用して、Ｔｉ＝｛Ｅｉ，ｎｉ｝において要素ｅｌｉを識別する。次いで、Di Crescenzo等の手法を参照して記載したステップを適用して、ツリーからセキュアにこの要素を削除する。このスキームが構築された方法の結果として、ツリーＴｉにおける要素ｅｌｉにマッピングされた鍵を削除した後は、次元ｉにおいてｉｄｉで識別されたファイルは全て回復が不可能となる。
【００８１】
このように、企業の記憶システムにおけるセキュアな削除の問題に対する有効な解決策を記載した。２つの異なる例を提示したが、これらを組み合わせて、この問題に完全な解決策を提供することができる。
【００８２】
第１の例は、ファイルシステムとの統合を最大限としながら、最小限のコストでファイルシステム・ツリー内でどのようにセキュアな削除を効率的に実施可能であるかを示す。
【００８３】
第２の例は、単一ファイルの効率的な削除では充分でない複雑なシステムにおいて、効率的でセキュアな削除の要求に応える。実際、任意の数の削除「次元」をサポートする柔軟な解決策を構築することで、いくつかの現実的な状況に対処することができる。
【００８４】
ここまで、どのようにオブジェクトを暗号化して記憶するかについてはほとんど述べていない。これはもちろん、当業者に既知のいずれかの方法で実行可能である。あるいは、第１および第２の例と組み合わせることが可能な第３の例においては、オール・オア・ナッシング変換（all-or-nothing transform）に基づいて各オブジェクトを暗号化して記憶するが、例えばセキュアな削除の目的（例えばその秘密性を保護するため）とは無関係な目的のために所有者によって暗号化を前もって行うことができる。換言すると、オール・オア・ナッシング変換に基づいて、すなわち暗号化したデータが検索可能である場合にのみデータを復号することができる暗号化アルゴリズムによって、オブジェクトは前もって暗号化される。次いでコンピュータ化システムは、前記１つ以上の鍵に基づいて、（すでに一度暗号化された）各オブジェクトの一部のみを暗号化することができる（換言すると、第２の暗号化を実行し、これは各オブジェクトの一部にのみ関係する）。これによって暗号化が更に効率的になる。
【００８５】
これは、作業負荷が重いと、クライアントは記憶サービスの提供者にアップロードする前にすでにデータの暗号化を実行するという事実を利用している。これが事実である理由は、この方法の例では、ｉ）クライアントがクライアント側の暗号化を実行して記憶提供者に対してもデータの秘密性を得ることができる、およびｉｉ）多数の規定によって機密データ（例えばクレジット・カード情報）の暗号化が求められているからである。
【００８６】
この想定のもとでは、第３の例の背景にある見通しは以下のとおりである。クライアント側の暗号化レイヤによって、データの小さい部分の喪失が全データの喪失と等価であることが確実とされる場合、セキュアな削除に専用の鍵によって別の時点でこの小さい部分を暗号化することで目的が達成される。実際、このアイディアを用いて、単一の鍵によって１組のファイルの小さい部分を暗号化することができる。１組のうちの単一のファイルをセキュアに削除することは、その１組のために新しい鍵を選ぶこと、およびセキュアな削除を必要としないファイルの小さい部分を再び暗号化することを意味する。
【００８７】
従って、再暗号化の数と鍵の数との間で実際に何らかのトレードオフを行う可能性がある。なぜなら、前述のように最適化を妨げたＦＥＫが、ここではユーザから受信したファイルの部分によって置換されるからである。
【００８８】
この解決策では、暗号化レイヤによってデータの小さい部分の喪失が全データの喪失と等価であることを確実とする必要がある。これらの暗号構造はオール・オア・ナッシング変換として既知であり、例えば、Ronald Riverstによる「All-or-nothing encryption and the packagetransform」（ＦＳＥ、２１０〜２１８ページ、１９９７年）と題する論文において最初に紹介されたものがある。
【００８９】
Rivestの構造では、単一のデータ・ブロックを喪失すると、元の平文は部分的にさえ再構築が不可能となることが保証される。
【００９０】
クライアントがオール・オア・ナッシング変換を適用することを想定すると、このスキームは次のように動作する。Ｆを、セキュアな削除を必要とする１組のファイルとし、Ｓ＝｛ｓ０，…，ｓｎ｝を、濃度ｍのｎ組のファイルとする。構成により、｜Ｆ｜＝ｎｘｍとする。上への関数
【数５】
0005647754.tif 000007
は、各ファイルｆをＳにおける組に割り当てることと定義される。Ｋ＝｛ｋ０，…，ｋｎ｝を、１組のｎ個の鍵とする。全単射
【数６】
0005647754.tif 000008
は、単一の鍵を単一の組に割り当てることと定義される。
【００９１】
各ファイルは、暗号化されて記憶提供者に到達する。いずれかの所与のファイルｆは、可変数の暗号文ブロックｂｉから成る。前記のように、全ブロックが利用可能である場合にのみ復号が可能である。クライアントからファイルを受信すると、サービス提供者は以下のように単一の所定のブロックを暗号化する（簡略化のため、このブロックを
【数７】
0005647754.tif 000009
と識別する）。
【００９２】
【数８】
0005647754.tif 000010
【００９３】
簡潔に述べると、暗号文ブロック
【数９】
0005647754.tif 000011
は、ファイルが属する組にマッピングされた鍵を用いて再び暗号化される。再暗号化されたブロックが、元のブロックの代わりに記憶され、この元のブロックが代わりに抹消される。
【００９４】
図５は、このアイディアの図による表現を示す。第１のブロック行は元のファイルを表し、ｌブロックの暗号文を発生するオール・オア・ナッシング変換を用いてクライアントにより暗号化されている。第１のブロックは、サーバに制御された鍵を用いた再暗号化のために選出される。再暗号化されたブロックは記憶され、元のものは抹消される。
【００９５】
パラメータｎおよびｍに、最適化の余地がある。セキュアに削除する対象のファイルの濃度が一定である場合、ｎを大きくすることで、いっそう高速なセキュアな削除動作の代償としてもっと多くの鍵を記憶することを許容する。これに対し、ｍを大きくすることで、記憶することができる鍵の数を少なくするために、セキュアな削除動作の効率の低下を許容する。
【００９６】
Rivestのオール・オア・ナッシング変換では、暗号文のいかなるブロックが失われた場合も、元のデータの復号は確実に不可能となる。しかしながら、セキュアな削除のために、このコンピュータ化システムでは、暗号文の特定ブロックが失われると復号が不可能となるだけで良い。
【００９７】
この事実を利用して、オール・オア・ナッシング変換かのもっと簡単な形態を構築することができる。この簡略化したものは、ＰＣＢＣと呼ばれるブロック暗号の特定の動作モードにおいて構築する。かかるモードは、A. J. Menezes、P. C. van Oorschot、およびS. A. Vaustoneによる、「Handbookof Applied Cryptography」（CRC Press、２００１年）と題する書籍において提示されている。
【００９８】
簡単に述べると、この動作モードでは、第ｉの暗号文ブロックが失われた場合、最初のｉ−１ブロック以外の復号が確実に不可能となる。セキュアな削除に用いる鍵によって第１の暗号文ブロックを暗号化することで、この特性を用いることができる。全ファイルを削除する必要がある場合、ブロックの暗号化に用いた鍵は削除され、この結果、全ファイルはもはや再構築することができない。
【００９９】
しかしながら、元の平文ブロックのエントロピーが低い場合、ブロックは暗号化を飛び越して再構築することができるので、特別な注意が必要である。従って、第１のブロックは、全ファイルのコンテンツに適用した疑似ランダム関数の出力から構築すべきである。ファイル自体に平文のハッシュを先頭に付加することは、どのようにこれを実際に達成可能であるかの一例である。
【０１００】
従って、かかるコンピュータ化システムは、セキュアな削除のために暗号化技術の使用を可能とする現実的な解決策を提供する。実際、暗号化技術はセキュアな削除の問題に有効な解決策となるので、暗号鍵を管理しなければならないという固有の問題が伴う。多くの場合、後者は現実的なシステムに対する妨害的な要因となる。不注意によって鍵をなくすと、法律上の責任が生じることまたは評判を損なうことになり得るからである。
【０１０１】
しかしながら、鍵の数を減らすことは、極めて非効率的な実施につながるので、実行は不可能である。クライアント側の暗号化を利用すれば、性能も柔軟性も低下させることなく鍵の数を劇的に減らすことができることについては、すでに説明した。
【０１０２】
図６は、本発明の一実施形態に従ったコンピュータ化システムのハードウェアのブロック図である。本発明の一実施形態に従ったコンピュータ化システム３０１は、ＣＰＵ３０４およびメイン・メモリ３０２を含み、これらはバス３００に接続されている。バス３００はディスプレイ・コントローラ３１２に接続され、これはＬＣＤモニタ等のディスプレイ３１４に接続されている。ディスプレイ３１４を用いて、コンピュータ・システムに関する情報を表示する。また、バス３００は、ＩＤＥまたはＳＡＴＡコントローラ等のデバイス・コントローラ３０６を介して、ハード・ディスク３０８またはＤＣＤ３１０等の記憶デバイスにも接続されている。バス３００は、キーボード／マウス・コントローラ３２０またはＵＳＢコントローラ（図示せず）を介してキーボード３２２およびマウス３２４にも接続されている。また、バスは、例えばイーサネット（登録商標）プロトコルに準拠する通信コントローラ３１８にも接続されている。通信コントローラ３１８を用いて、コンピュータ・システム３１０をネットワーク３１６に物理的に接続する。
【０１０３】
メイン・メモリ３０２は消去可能メモリとすることができ、ここに各グラフの少なくとも少数の初期レベルを記憶することができる。これはグラフ全体である場合がある。留意すべきこととして、メイン・メモリ３０２は、図３のツリー３０および図４のツリー４０を記憶することができる。また、コンピュータ化システム３０１は、ハード・ディスク３０８を含む標準メモリ、および、各グラフの他のレベルのキャッシュ、ジャーナル、またはスナップショットあるいはそれら全てのバージョン（例えば消去可能メイン・メモリには記憶されていない）を記憶するためのキャッシュ・メモリ（図示せず）を含むことができる。メイン・メモリ上にグラフの重要なレベルを集中化させることで、オブジェクトの削除の管理が容易になる。
【０１０４】
鍵管理手段等、システムに固有の異なる手段は、一連のコンピュータ・プログラム命令に存在することができ、これは例えばメイン・メモリ３０２、または例えばＨＤＤ３０８上に記録され、メイン・メモリ３０２上にインポート可能であり、ＣＰＵ３０４にかかる手段の機能を実行させる。留意すべきこととして、コンピュータ化システムは、ＣＰＵ３０４に図２の方法を実行させるように構成することができる。
【要約】
【課題】本発明は、特に、オブジェクトおよびこのオブジェクトに関連させた属性値を記憶する記憶システム（３０２、３０８）を含むコンピュータ化システム（３０１）に関する。
【解決手段】属性値は、１組のＮ個の属性タイプに従って組織化され、ここでＮ≧１であり、前記属性タイプの各々についてオブジェクトを属性値に関連付けることができる。前記属性タイプの各々を各グラフに関連させる。各グラフの各ノードを鍵に関連させる。前記鍵は、根ノードを除いて、前記各ノードの親ノードに関連させた鍵によってラップされる。また、前記鍵は、各グラフに関連させた属性タイプのための１つの属性値に関連させられている。オブジェクトの各々は、１つ以上の鍵に基づいて暗号化されて記憶されている。前記１つ以上の鍵の各々は、オブジェクトの前記各々に関連付けた１つの属性値に関連させられている。かかるシステムは、コンピュータ化システムの記憶システム上に記憶されたオブジェクトの削除を改良する。
【選択図】図３【図１】
0005647754.tif 000012
【図２】
0005647754.tif 000013
【図３】
0005647754.tif 000014
【図４】
0005647754.tif 000015
【図５】
0005647754.tif 000016
【図６】
0005647754.tif 000017