JP2005310122A - ファイルロッカー、およびファイルロッカーを提供し使用するための機構 - Google Patents

ファイルロッカー、およびファイルロッカーを提供し使用するための機構 Download PDF

Info

Publication number
JP2005310122A
JP2005310122A JP2005083537A JP2005083537A JP2005310122A JP 2005310122 A JP2005310122 A JP 2005310122A JP 2005083537 A JP2005083537 A JP 2005083537A JP 2005083537 A JP2005083537 A JP 2005083537A JP 2005310122 A JP2005310122 A JP 2005310122A
Authority
JP
Japan
Prior art keywords
file
locker
environment
user
management component
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
JP2005083537A
Other languages
English (en)
Other versions
JP2005310122A5 (ja
Inventor
Bryan M Willman
エム.ウィルマン ブライアン
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005310122A publication Critical patent/JP2005310122A/ja
Publication of JP2005310122A5 publication Critical patent/JP2005310122A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01FMIXING, e.g. DISSOLVING, EMULSIFYING OR DISPERSING
    • B01F25/00Flow mixers; Mixers for falling materials, e.g. solid particles
    • B01F25/40Static mixers
    • B01F25/42Static mixers in which the mixing is affected by moving the components jointly in changing directions, e.g. in tubes provided with baffles or obstructions
    • B01F25/421Static mixers in which the mixing is affected by moving the components jointly in changing directions, e.g. in tubes provided with baffles or obstructions by moving the components in a convoluted or labyrinthine path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01KANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
    • A01K61/00Culture of aquatic animals
    • A01K61/10Culture of aquatic animals of fish
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01FMIXING, e.g. DISSOLVING, EMULSIFYING OR DISPERSING
    • B01F23/00Mixing according to the phases to be mixed, e.g. dispersing or emulsifying
    • B01F23/20Mixing gases with liquids
    • B01F23/23Mixing gases with liquids by introducing gases into liquid media, e.g. for producing aerated liquids
    • B01F23/232Mixing gases with liquids by introducing gases into liquid media, e.g. for producing aerated liquids using flow-mixing means for introducing the gases, e.g. baffles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01FMIXING, e.g. DISSOLVING, EMULSIFYING OR DISPERSING
    • B01F23/00Mixing according to the phases to be mixed, e.g. dispersing or emulsifying
    • B01F23/20Mixing gases with liquids
    • B01F23/23Mixing gases with liquids by introducing gases into liquid media, e.g. for producing aerated liquids
    • B01F23/232Mixing gases with liquids by introducing gases into liquid media, e.g. for producing aerated liquids using flow-mixing means for introducing the gases, e.g. baffles
    • B01F23/2323Mixing gases with liquids by introducing gases into liquid media, e.g. for producing aerated liquids using flow-mixing means for introducing the gases, e.g. baffles by circulating the flow in guiding constructions or conduits
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01FMIXING, e.g. DISSOLVING, EMULSIFYING OR DISPERSING
    • B01F23/00Mixing according to the phases to be mixed, e.g. dispersing or emulsifying
    • B01F23/20Mixing gases with liquids
    • B01F23/23Mixing gases with liquids by introducing gases into liquid media, e.g. for producing aerated liquids
    • B01F23/237Mixing gases with liquids by introducing gases into liquid media, e.g. for producing aerated liquids characterised by the physical or chemical properties of gases or vapours introduced in the liquid media
    • B01F23/2376Mixing gases with liquids by introducing gases into liquid media, e.g. for producing aerated liquids characterised by the physical or chemical properties of gases or vapours introduced in the liquid media characterised by the gas being introduced
    • B01F23/23761Aerating, i.e. introducing oxygen containing gas in liquids
    • B01F23/237612Oxygen
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01FMIXING, e.g. DISSOLVING, EMULSIFYING OR DISPERSING
    • B01F23/00Mixing according to the phases to be mixed, e.g. dispersing or emulsifying
    • B01F23/20Mixing gases with liquids
    • B01F23/23Mixing gases with liquids by introducing gases into liquid media, e.g. for producing aerated liquids
    • B01F23/237Mixing gases with liquids by introducing gases into liquid media, e.g. for producing aerated liquids characterised by the physical or chemical properties of gases or vapours introduced in the liquid media
    • B01F23/2376Mixing gases with liquids by introducing gases into liquid media, e.g. for producing aerated liquids characterised by the physical or chemical properties of gases or vapours introduced in the liquid media characterised by the gas being introduced
    • B01F23/23762Carbon dioxide
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F1/00Treatment of water, waste water, or sewage
    • C02F1/66Treatment of water, waste water, or sewage by neutralisation; pH adjustment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01FMIXING, e.g. DISSOLVING, EMULSIFYING OR DISPERSING
    • B01F2101/00Mixing characterised by the nature of the mixed materials or by the application field
    • B01F2101/305Treatment of water, waste water or sewage

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Environmental Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Animal Husbandry (AREA)
  • Hydrology & Water Resources (AREA)
  • Environmental & Geological Engineering (AREA)
  • Water Supply & Treatment (AREA)
  • Zoology (AREA)
  • Organic Chemistry (AREA)
  • Marine Sciences & Fisheries (AREA)
  • Dispersion Chemistry (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 ファイルロッカー、およびファイルロッカーを提供し使用するための機構を提供する。
【解決手段】 ファイルロッカーは、ソフトウェアオブジェクトの保護されたデータの格納および使用を管理する。保護された環境は、暗号および分離のインフラストラクチャを維持して、信頼されたエージェントによって使用されるように、データ項目の密封をサポートする。ファイルロッカーは保護された環境の密封機能を使用して、ファイルロッカーの排他的なアクセスのためにデータ項目を密封する。ファイルロッカーはソフトウェアオブジェクトから受信したファイルをそれ自体のために密封し、そのファイルを、要求に応じて、また要求者の信頼性、認証、および/または識別の十分な証明の後で提供する。
【選択図】 図3

Description

本発明は一般にコンピューティングの分野に関し、より詳細には、データの格納および取り出しの機構に関する。
コンピュータセキュリティシステムの1つの側面は、データの機密を保護することができる能力である。データは、暗号化によって保護することができ、正しく機能しているコンピュータセキュリティシステムは、データが信頼された空間外で、暗号化されていない明瞭な形で表示されるのを防ぐ必要がある。
このタイプのデータ保護を実施する1つの方法は、信頼されたプログラム、または「エージェント」が稼働することができる信頼されたオペレーティングシステムを提供し、データを信頼されたエージェントのために密封することができるデータ密封機関(data sealing facility)を提供することである。信頼された環境で稼働するエージェントは、データをそれ自体のために密封することができ、信頼された環境は、データをそのために密封するエージェント以外の誰かのためにデータの密封を解除することを拒否する。さらに、動作環境は、耐改ざん(tamper−resistance)機構および分離機構を使用して密封の回避を阻止する。したがって、密封されたデータは、次の範囲まで保護される。(1)密封機関を備える環境は、密封が破られるのを防ぐものと信頼できる、(2)データをそのために密封するエージェントは、データの密封が解除されるときにデータが悪用されることから守るものと信頼できる。
上記の密封機構に関する問題は、密封機関は、信頼されたエージェントにしか使用できないことである。したがって、信頼された環境の密封機関でデータ、例えばファイルなどを保護したい任意のソフトウェアオブジェクトは、信頼された環境で稼働し、ファイルの格納および密封を管理する密封機構と対話する機能を含む信頼されたエージェントを有する、またはそうしたエージェントである必要がある。このことは、特に、従来のアプリケーション、例えば従来の安全ではないオペレーティングシステム下で稼働するように設計されているワードプロセッサまたはスプレッドシートなどでは問題がある。というのは、一般にこれらのプログラムは、一般にその挙動を予想でき、信頼することができる小さいプログラムのみを稼働させる信頼された環境で稼働することができないからである。安全ではないアプリケーションを、セキュリティ関連の機能のために協働する専用の信頼されたエージェントを備えるように書くことはできる。しかし、従来のアプリケーション、特にその実装が特定の安全なコンピューティングプラットフォーム以前のものは、一般に信頼されたエージェントを有していない。さらに、信頼されたコンピューティングを念頭に設計されたアプリケーションでさえ、こうした各アプリケーションが密封されたファイルを管理する機能を含むことはわずらわしい。様々なソフトウェアオブジェクト、例えば従来のアプリケーション、オペレーティングシステム、仮想マシンなどによって機関を使用することができる、保護し、管理するための信頼された環境の密封機能を使用する一般の機関を提供することが好ましい。
上記を鑑み、従来技術の欠点を克服する機構が必要である。
本発明は、データ密封機関を使用して、他のエンティティの代わりにファイルを保護するファイルロッカーを提供する。ファイルの保護を望むエンティティは、ファイルをファイルロッカーに提供する。次いでファイルロッカーは、データ密封機関を使用してファイルをそれ自体のために密封し、それによってファイルをファイルロッカーの「保護監督」下に置く。ファイルロッカーの保護監督下にあるファイルを取り出したいエンティティは、ファイルロッカーにファイルを要求することができる。要求されたファイルに対する要求側エンティティの資格の十分な証拠を基に、ファイルロッカーはファイルの密封を解除し、ファイルを要求側エンティティに提供する。
好ましい実施形態では、ファイルロッカーは、例えばその挙動に関する保証が低い「オープンな」環境から、その挙動に関する保証が高い「信頼された」環境まで多岐にわたる様々な信頼度を有する環境の同時の使用をサポートするプラットフォーム上で稼働する。こうしたプラットフォームでは、データ密封機関は、信頼された環境のインフラストラクションの一部とすることができる。つまり信頼された環境は、データが、封に示されたエージェントによってのみ取り出すことができるように、その環境で稼働するプログラムまたは「エージェント」がデータを密封できるようにすることができ、信頼された環境は、暗号技術、メモリ分離、耐改ざんなどの機構で密封を実施することができる。さらにこうしたプラットフォームでは、ファイルロッカーは、信頼された環境で稼働しているエージェントとすることができ、ファイルを受信し、こうしたファイルをそれ自体のために密封することによって、信頼された環境の内外の他のエンティティにファイル保護サービスを提供することができる。
ファイルロッカーを使用するエンティティは、例えば、信頼された環境で稼働するプログラム、他の信頼性が低い環境で稼働するプログラム、または他のプログラムが稼働する環境全体とすることができる。ファイルの保護を望むエンティティは、ファイルをファイルロッカーに提供し、ファイルロッカーは、ファイルをそれ自体のために密封する。エンティティは、ファイルを要求することができる。この場合、ファイルロッカーは、エンティティがファイルの受信を許可されていることを確認し、他の任意の妥当性検査を要求側エンティティに対して行うことができる。次いでファイルロッカーは、ファイルを要求側エンティティに提供する。
ファイルロッカーの使用は、ファイルロッカーにファイルを要求するエンティティには見えないようにすることができる。例えば、アプリケーションは、標準アプリケーションプログラミングインターフェース(API)、またはシステムコールを使用してファイルを開き、どのファイルが信頼されたエリアに格納され、どのファイルがそうでないかがわかるようにAPIまたはシステムコールを改良することができる。ファイルが信頼されたエリアに格納されると、APIは、ファイルロッカーと通信してファイルを取り出す。
任意選択で、ファイルロッカーまたは協働しているエージェントは、ファイルがそのエンティティにチェックアウトされている間、ファイルを要求するエンティティの挙動を監視することができる。例えば、ファイルが信頼性のない環境でアプリケーションにチェックアウトされると、ファイルロッカーまたは協働しているエージェントは、アプリケーションを観察し、かつ/またはアプリケーションに対する制御を行使して、ファイルがファイルロッカーの保護監督下にない間にファイルが決して悪用されないようにすることができる。
本発明の他の特徴を下記に述べる。
前記概要、および次の好ましい実施形態の詳細な説明は、添付の図面と併せ読めばよりよく理解できる。本発明の説明上、本発明の構築例を図面に示している。しかし本発明は、開示された特定の方法および手段に限定されない。
(コンピューティング構成の例)
図1は、本発明の態様を実施できるコンピューティング環境例を示している。コンピューティングシステム環境100は、適したコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲に関する限定を示唆するものではない。また、コンピューティング環境100を、動作環境100の例に示した構成要素のいずれか1つ、またはその組合せに関連する依存性または必要条件を有しているものと解釈すべきではない。
本発明は、他の多くの汎用または専用コンピューティングシステム環境または構成で動作可能である。本発明との使用に適したよく知られているコンピューティングシステム、環境、および/または構成の例には、それだけには限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、組み込みシステム、上記の任意のシステムまたは装置を含む分散コンピューティング環境などがある。
本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。一般にプログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。また、本発明は、タスクが通信ネットワークまたは他のデータ通信媒体によってリンクされているリモート処理装置によって実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールおよび他のデータを、メモリストレージ装置を含むローカルおよびリモートのコンピュータストレージ媒体に置くことができる。
図1を参照すると、本発明を実施するシステムの例は、汎用コンピューティング装置をコンピュータ110の形で含んでいる。コンピュータ110の構成要素は、それだけには限定されないが、処理ユニット120、システムメモリ130、およびシステムメモリを含む様々なシステム構成要素を処理ユニット120に結合するシステムバス121を含み得る。処理ユニット120は、マルチスレッドプロセッサ上でサポートされるものなど、複数の論理処理ユニットを表し得る。システムバス121は、様々なバスアーキテクチャのうちの任意のものを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のうちどんなものでもよい。こうしたアーキテクチャには、それだけには限定されないが一例として、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子装置規格化協会(VESA)ローカルバス、およびメザニンバスとしても知られている周辺部品相互接続(PCI)バスなどがある。システムバス121は、通信装置間のポイントツーポイント接続、スイッチングファブリック、pci−expresなどとして実装することもできる。
コンピュータ110は、一般に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110からアクセスできる使用可能な任意の媒体とすることができ、揮発性および不揮発性媒体、取外式および固定式媒体を含む。コンピュータ可読媒体は、それだけには限定されないが一例として、コンピュータストレージ媒体および通信媒体を含み得る。コンピュータストレージ媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、他のデータなど、情報を格納するための任意の方法または技術で実施される揮発性および不揮発性の取外式および固定式媒体がある。コンピュータストレージ媒体には、それだけには限定されないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ装置または他の磁気ストレージ装置、または所望の情報の格納に使用でき、コンピュータ110からアクセスできる他の任意の媒体などがある。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを搬送波または他の移送機構などの変調されたデータ信号に組み込む。これには任意の情報配送媒体がある。「変調されたデータ信号」という用語は、信号に情報を符号化するように1つまたは複数のその特性が設定または変更された信号を意味する。通信媒体には、それだけには限定されないが一例として、有線ネットワーク、直接配線された接続などの有線媒体、および音響、RF、赤外線、その他の無線媒体などの無線媒体がある。また、上記のどんな組合せでもコンピュータ可読媒体の範囲内に含まれるものとする。
システムメモリ130は、読み取り専用メモリ(ROM)131やランダムアクセスメモリ(RAM)132など、揮発性および/または不揮発性メモリの形のコンピュータストレージ媒体を含む。基本入出力システム133(BIOS)は、例えば起動中など、コンピュータ110内の要素間での情報の転送を助ける基本ルーチンを含み、一般にROM131に格納されている。RAM132は一般に、処理ユニット120から直接アクセス可能な、かつ/または処理ユニット120が現在処理しているデータおよび/またはプログラムモジュールを含む。図1は、それだけには限定されないが一例として、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示している。
コンピュータ110は、他の取外式/固定式、揮発性/不揮発性コンピュータストレージ媒体を含むこともできる。一例にすぎないが、図1は、固定式不揮発性磁気媒体から読み取り、あるいはそこに書き込むハードディスクドライブ140、取外式不揮発性磁気ディスク152から読み取り、あるいはそこに書き込む磁気ディスクドライブ151、およびCD−ROMや他の光媒体など、取外式不揮発性光ディスク156から読み取り、あるいはそこに書き込む光ディスクドライブ155を示している。動作環境の例で使用できる他の取外式/固定式、揮発性/不揮発性コンピュータストレージ媒体には、それだけには限定されないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体RAM、半導体ROMなどがある。ハードディスクドライブ141は一般に、インターフェース140などの固定式メモリインターフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は一般に、インターフェース150などの取外式メモリインターフェースによってシステムバス121に接続される。
上述し、図1に示したドライブおよびその関連のコンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ110の他のデータのストレージを提供する。図1では例えば、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を格納するものとして示されている。これらの構成要素は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同じであっても、異なっていてもよいことに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147は少なくとも異なるコピーであることを示すために、ここではそれらに異なる番号を付している。ユーザは、キーボード162、および一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティング装置161などの入力装置を介してコマンドおよび情報をコンピュータ20に入力することができる。図には示していないが、他の入力装置には、マイクロフォン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどがある。これらおよび他の入力装置は、しばしばシステムバスに結合されているユーザ入力インターフェース160を介して処理ユニット120に接続されるが、パラレルポートやゲームポート、ユニバーサルシリアルバス(USB)など他のインターフェースおよびバス構造で接続してもよい。モニタ191または他のタイプの表示装置もまた、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続される。モニタに加えて、コンピュータは、出力周辺インターフェース195を介して接続できるスピーカ197、プリンタ196などの他の周辺出力装置を含むこともできる。
コンピュータ110は、リモートコンピュータ180など1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク式環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、または他の一般のネットワークノードでよく、一般にコンピュータ110に関連して上述した多くまたはすべての要素を含むが、図1にはメモリストレージ装置181のみを示している。図1に示した論理接続は、ローカルエリアネットワーク(LAN)171および広域ネットワーク(WAN)173を含むが、他のネットワークを含んでいてもよい。こうしたネットワーキング環境は、オフィス、全社規模のコンピュータネットワーク、イントラネット、およびインターネットではごく一般的である。
LANネットワーキング環境で使用する場合、コンピュータ110は、ネットワークインターフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用する場合、コンピュータ110は一般に、モデム172、またはインターネットなどWAN173を介して通信を確立する他の手段を含む。モデム172は、内蔵のものでも外付けのものでもよく、ユーザ入力インターフェース160または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク式環境では、コンピュータ110に関連して示したプログラムモジュール、またはその一部をリモートメモリストレージ装置に格納することができる。図1は、それだけには限定されないが一例として、リモートアプリケーションプログラム185をメモリ装置181上に存在するものとして示している。図示したネットワーク接続は例であり、コンピュータ間の通信リンクを確立する他の手段を使用してもよいことは理解されよう。
(保護されたストレージ)
本発明の一態様は、エンティティがその機関にデータを預けて密封することができる保護されたストレージ機関を使用する。データが密封されると、データがそのために密封されたエンティティ以外のエンティティからはデータにアクセスすることができない。図2は、こうした保護されたストレージ機関206、およびその使用を示している。
保護されたストレージ機関206は、1つまたは複数のエンティティからデータを受信し、受信したデータをエンティティのために格納することができる。例えば、エンティティ202(1)、202(2)、...202(n)はそれぞれ保護されたストレージ機関206と通信して、保護されたストレージ機関206にデータを預ける。図2の例では、エンティティ202(1)、202(2)、...202(n)は、データ204(1)、204(2)、...204(n)をそれぞれ保護されたストレージ機関206に提供する。エンティティ202(1)から202(n)のそれぞれは、格納されているデータをそれ自体のために密封し、保護されたストレージ機関206は、こうした密封を行う機能を提供する。データをあるエンティティのために「密封」することは、そのエンティティに対してのみ解放することができるようにデータを格納することを意味する。データの密封は通常、暗号化、すなわちデータの解読に必要なキーを、データがそのために密封されたエンティティからのみ使用できるようにデータを暗号化することによって行われる。図2に示すように、各データ204(1)、204(2)、...204(n)は、それぞれエンティティ202(1)、202(2)、...202(n)のために密封される。
データが保護されたストレージ機関206に格納され、密封された後、エンティティは、保護されたストレージ機関206が密封されたデータを要求側エンティティに戻すことを要求することができる。データの密封を解除する前に、保護されたストレージ機関は、要求側エンティティが主張している者であることを決定するために、要求側エンティティの検証210を行うことが好ましい。例えばデータ204(1)は、エンティティ202(1)のために密封され、したがってエンティティ202(1)以外のどんなエンティティにも提供されてはならない。したがって、データ204(1)の要求が保護されたストレージ機関206に入るとき、保護されたストレージ機関は、例えばエンティティ202(1)の証明書をチェックする、エンティティ202(1)のハッシュまたはチェックサムを計算する、または他の任意のタイプのテストをエンティティ202(1)に対して行うなどによって要求側エンティティが本当にエンティティ202(1)であることを確認する。一例では、エンティティ202(1)は、証明ベクトル(attestation vector)208に関連付けられている。証明ベクトルは、エンティティ202(1)の様々なセキュリティ属性を指定し、また、エンティティ202(1)の証明書またはデジタル署名を含むこともできる。この証明ベクトルを使用して、エンティティ202(1)が本当に主張しているエンティティであることを確認することができる。こうした証明ベクトル、署名、証明書などを、認証/識別チェックの一部として確認することができる方法は、当業者には知られており、したがって本明細書では説明しない。
一般に、ソフトウェアオブジェクト、ユーザなど、何らかの方法で識別することができる任意のエンティティは、データをそれ自体のために密封することができる。一般に、データの密封された格納を要求するエンティティは、例えばアプリケーション、エージェント、装置ドライバなどのソフトウェアオブジェクトである。
図2のために、データをあるエンティティのために密封することができ、また、データがそのために密封されたエンティティ以外の任意のエンティティによって要求されたときに、その密封されたデータへのアクセスを拒否することができる何らかの保護されたストレージ機関があると仮定する。さらに、保護されたストレージ機関206は、あるエンティティのために密封されたデータがそのエンティティからのみアクセスできるという機能を実施するために、分離、耐改ざんなどの十分な機能を有している、またはその機能を有する環境で動作すると仮定する。こうした保護されたストレージ機関を実施する方法は、当業者には明らかであり、したがって本明細書では詳述しない。一例で、保護されたストレージ機関は、メモリ分離、安全な起動、およびプラットフォーム当たりの暗号化キーのハードウェアによって実施される機密保持を提供する環境で稼働することができる。
(密封されたストレージを使用するエンティティとしてのファイルロッカー)
密封されたストレージを使用することができる1つのタイプのエンティティは、ファイルロッカーである。ファイルロッカーは、ソフトウェアからファイルを受信し、保護されたストレージ機関を使用してこうしたファイルをそれ自体のために密封する。次いでファイルロッカーは、ファイルの要求を受信し、こうしたファイルを要求側ソフトウェアオブジェクトに提供することができる様々なポリシーを管理する。例えば、ファイルの要求が受信されると、ファイルロッカーは、要求者が要求されたファイルへのアクセス権を有しているかどうかを決定し、こうした権利が存在する場合にのみ、保護されたストレージからファイルの密封を解除することができる。さらに、要求者がファイルへのアクセス権を有している場合、ファイルロッカーは、そのエンティティによるファイルの悪用から保護するために、ファイルが「ロッカー」外にある間、要求側ソフトウェアオブジェクトの挙動が監視されることを要求することができる。
図3は、ソフトウェアオブジェクトからファイルを受信し、保護されたストレージ機関を使用してこうしたファイルをそれ自体のために密封するファイルロッカー302を示している。図3の例では、ソフトウェアオブジェクト310は、ファイルに書きたい何らかのデータ301を有する。次いでデータ301は、ファイル306に書き込まれ、そのファイルは、保護するためにファイルロッカー302に提供される。ソフトウェアオブジェクト310は、ファイルをファイルロッカー306に提供していることを知っている場合も知らない場合もあることに留意されたい。ある例では、ソフトウェアオブジェクト310は、明示的かつ意図的にファイルロッカー306を使用してファイルを保護し、別の例では、ソフトウェアオブジェクト310は、単に標準ファイル書き込みAPIを使用し、書き込まれたファイルをファイルロッカーに格納する機能は、そのAPIに組み込まれている。ファイルロッカーの使用が行われ得る様々なシナリオ例は、「シナリオ例」セクションで後述する。
ファイルロッカー302は、ファイル306を受信すると、ファイル306を保護されたストレージ機関206に格納する。次いでファイルロッカー302はファイル306をそれ自体のために密封する。好ましい実施形態では、ファイルロッカー302に提供されて格納される任意のファイルは、ファイルロッカー302のために密封されるのであり、そのファイルの元のソースのために密封されるのではないことに留意されたい。例えばファイル306はファイルロッカー302のために密封され、ソフトウェアオブジェクト310のために密封されるのではない。上述したように、ソフトウェアオブジェクト310は、ファイルロッカー302を使用していることを知らない場合があり、また密封されたストレージを直接使用することができない場合もあり、したがってファイルロッカー302は、すべてのファイルをそれ自体のために密封することによって、密封されたストレージを直接使用することができないソフトウェアオブジェクトが密封されたストレージの何らかの保護から恩恵を受けることができるようにする。
ファイルロッカー302は、ファイル306を保護されたストレージ機関206に格納する。ファイルロッカー302は、識別子304をファイル306に関連付けることが好ましい。識別子は、ファイルを識別し、最終的にどのソフトウェアオブジェクトがそのファイルにアクセスすることができるかを示すことが好ましい。識別子304は、必ずしも密封されたストレージに格納されているとは限らないが、ファイルロッカー302からアクセス可能なインデックスに格納することができる。特に、こうしたファイルの要求が入ってくると、密封されたストレージからどのファイルを取り出す必要があるか、また密封を解除する前にどんな条件が満たされなければならないかを決定するために、ファイルロッカー302は、密封されたストレージの外部の識別子にアクセスすることができなければならない。
ファイルロッカー302は、ファイルロッカー302の保護監督下にあるファイルの要求を受信すると、検証312を行う。検証312は、任意の特定のタイプの検証に限定されない。一例では、検証312は、要求者に対して行われる。例えば図3では、ソフトウェアオブジェクト310は、ファイル、例えば以前にファイルロッカー302の保護監督下に提供された同じファイル306などを要求し、ファイルロッカー302は、ファイルロッカー302が実施するセキュリティの一部として、要求されたファイルを提供する前提条件として何らかのタイプの検証312を行う。本発明は、任意の特定のタイプの検証312には限定されないが、いくつかの例には、例えばソフトウェアオブジェクト310の証明書をチェックする、ソフトウェアオブジェクト310のチェックサムまたはハッシュを計算し、計算された値を格納されている値と比較するなど、ソフトウェアオブジェクト310の識別をチェックする、またはソフトウェアオブジェクト310またはソフトウェアオブジェクト310のコールスタックの認証をチェックするチェックなどがある。しかし多くの場合、要求者自体に対する検証を行うことができず、したがってファイルロッカー302は、例えば安全な入力/出力を介して特定のファイルを編集しようとしていることを確認することをユーザに求めることによる、またはファイルの所有者として登録されている人間のユーザが現在ファイルロッカーにログインしている、またはファイルロッカーが稼働する安全な環境にログインしていることを確認することによるなど、他の何らかのタイプの検証を行うことができる。ファイルロッカー302は、ファイルを要求側ソフトウェアオブジェクトに提供する前に、いくつかのセキュリティパラメータが満たされていることを確認するように設計されているが、本発明は、こうしたパラメータが満たされているかどうかを決定するための任意の特定のセキュリティパラメータの組、または任意の特定の機構に限定されない。
検証312の結果が好ましい場合、すなわち関連のセキュリティパラメータが満たされている場合、ファイルロッカー302は、ソフトウェアオブジェクト310が要求されたファイルを取り出す権利を与えられていると決定する。次いでファイルロッカー302は、保護されたストレージ機関206と通信して、ファイル306の密封を解除し、それを取り出す。次いでファイルロッカー302は、ファイル306をソフトウェアオブジェクト310に戻す。
ソフトウェアオブジェクト310は、ファイル306を終了した後、ソフトウェアオブジェクト310が加えた任意の変更を含むファイルをファイルロッカー302の保護監督下に送り返すことによって取り出されたファイルを「チェックイン」することができる。
ソフトウェアオブジェクト310は、任意の特定のタイプのソフトウェアに限定されないことに留意されたい。一例として、ソフトウェアオブジェクト310は、アプリケーションプログラム、アプリケーションプログラムのサービス提供エージェント、他のプログラムが稼働するオペレーティングシステム、オペレーティングシステムが稼働できる仮想マシンなどとすることができる。
(ファイルロッカーが動作し得るシナリオ例)
ファイルロッカーが動作し得るシナリオ例は、異なるレベルのセキュリティまたは保護を備える複数の環境が同時に稼働するシステムにある。図4は、こうしたシナリオを示している。
図4では、同時に動作する複数の環境、「環境1」、「環境2」、「環境3」、「環境4」がある。これらの環境は、単一のマシン上、または分散されたマシン群の上で動作することができる。各環境は、オペレーティングシステム、仮想マシン、または何らかのタイプのコードの実行が行われ得る他の任意のタイプの環境とすることができる。異なる環境は、何らかのレベルの相互の分離を維持する。すなわち、必ずしも絶対に確実な程度までとは限らないが少なくともある程度まで、ある環境における動作が別の環境からの干渉無しに行われることが可能でなければならない。異なる環境は、異なるレベルのセキュリティを提供し得る。例えば環境1は、非常に限られた組のプログラムのみが稼働することができ、相対的にほとんど機能を提供しないが、その環境で行われる機能が正しく行われ、他の環境で行われるイベントからの侵入を受けないことの高度の保証も提供する高セキュリティまたは高保証環境とすることができる。範囲(spectrum)の他端にある環境4は、任意のコードが稼働することが許可され、しかし、別の環境から始まる侵入または改ざんに対する保証をほとんど提供しない、完全にオープンな環境とすることができる。ハイパーバイザーまたは仮想マシンモニタ404、または何らかの同様の構成要素は、これらの環境の同時の動作を管理することができ、また、ある環境を他方の環境と分離するのに必要なサービスを提供することもできる。
環境1が高セキュリティまたは高度保証環境である例では、ファイルロッカー302は、その環境でソフトウェアオブジェクトとして稼働する。環境1で動作する封印されたストレージをオブジェクトに提供する能力は、環境1の特徴である。すなわち環境1は、オブジェクトが環境1で、図2および3に示した保護されたストレージ機関206の一部または同じものとすることができる密封されたストレージ機関402にデータを格納し、そのデータをそれら自体のために密封するのに使用することができる密封されたストレージインターフェース406を提供する。密封されたストレージ機関402は、環境1の一部である場合は一例にすぎず、代替として、密封されたストレージ機関を、仮想マシンモニタ/ハイパーバイザー404、または十分なセキュリティの特徴を有する他の任意の構成要素によって提供することができることに留意されたい。
様々なタイプのソフトウェアオブジェクトは、ファイルロッカー302を使用してファイルを格納することができる。例えば、この例では環境3で稼働しているアプリケーション412は、ファイルロッカー302にファイルを格納することができる。別の例では、環境3は、それ自体、ファイルロッカー302にファイルを格納することができるソフトウェアオブジェクトとすることができる。例えば環境3は、格納するファイルをアプリケーションから受け付け、ファイルロッカー302に格納することによって、ファイルロッカー302の存在を、環境3で稼働するアプリケーションには見えないようにすることができる。さらに別の例として、エージェント410、すなわち低保証環境で稼働しているアプリケーションにセキュリティサービスを提供するために高保証環境で稼働する小さいアプリケーションは、ファイルロッカー302を使用してファイルを格納することができる。エージェント410は、それ自体のために密封されたストレージインターフェース406を使用することができ、しかし、エージェント410がそれ自体でサービスを重複的に実施するのではなく、ファイルロッカー302によって提供されたファイルロッカー302のサービス、例えばファイル管理サービスなどを使用することがより便利となり得る環境1で稼働していることに留意されたい。
ファイルがファイルロッカー302から、またはアプリケーション402によって使用する環境3に解放されると、エンジェル(angel)408は、任意選択で、アプリケーション402または環境3の挙動を監視して、ファイルがファイルロッカー302の保護監督外にある間、ファイルが決して悪用されないようにすることができる。エンジェル408は、環境1で動作するエージェントであり、その機能は、ソフトウェアオブジェクトの挙動を監視し、場合によっては制御することによって、セキュリティがより低い環境で稼働するソフトウェアオブジェクトをより安全にすることである。ファイルロッカー302の保護監督外にある間、ファイルの使用を監視することが有用となり得るが、すべてのセキュリティモデルがこうした監視を必要とするわけではない。多くのセキュリティモデルでは、ファイルがいったんファイルロッカー302の保護監督下に戻されると、改ざん、悪用、または干渉がないようにファイルを保証することができる限り、ファイルロッカー302の保護監督外のファイルがこうした改ざん、悪用、および干渉を受けやすくなることを許容できる。
ファイルロッカー302を使用できるいくつかのシナリオ例について、下記で説明する。
(ファイルロッカーを使用できるシナリオ例)
ファイルロッカーを使用できるシナリオ例は次の通りである。
1.手動のロック解除。あらゆる標準システム規則、またはファイルロッカーのユーザインターフェースへの直接のログインによって決定された許可されたユーザは、ファイルのロックを解除することをファイルロッカーに求める。ファイルロッカーは通常、元のファイルを保持している間にユーザが使用するようにファイルのロック解除された、暗号化されていないコピーを提供する。あるいは、ユーザに、ソースファイルへの直接のアクセスを許可することができる。ファイルロッカーは、ユーザにキーを提供せず、単に、ユーザが表示、編集などを行うようにファイルのプレーンテキストを提供する。
ファイルをロック解除すると、ユーザは、通常のツール/アプリケーションを使用してファイルを操作する。
操作を行うと、ユーザは、変更したファイルをファイルロッカーに送信する。次いでファイルロッカーは、ファイルを暗号化し、密封する。
任意選択で、ファイルがファイルホルダ、例えばサーバなどに送り返される前に、ユーザに、ダウンロードしたファイルと送信するファイルとの間のファイル差異リストを閲覧するよう求めることができる。この差異リストは、安全なビデオ、すなわち、ビデオ出力の傍受が潜在的なセキュリティホールを提示するため、ファイルロッカーから画面上に表示する差異が実際にユーザが閲覧する差異であるという高度の保証があるビデオを使用して表示されることが好ましい。
ユーザは、ファイルをファイルロッカーに送り返す前に、ファイルを任意の回数編集することができる、またはまったく編集することができない、または、ユーザがファイルロッカーにファイルを決して送り返さない場合もあり得る。
このモデルで、ファイルロッカーは、ファイルが危険にさらされることなく、または変更されることなくユーザのマシンに届くことを保証することができる。また、ユーザが明示的にファイルの使用を要求するまで、確実にファイルを読めない、または変更できないようにするので、ファイルの任意の違反またはその内容への攻撃は、ファイルが「開いている間」、すなわちファイルがファイルロッカーの制御および保護監督の外にあることがわかっているユーザ側で行われるはずである。
ユーザがこれらのファイルをロック解除すること、またそれらをウィルスまたは他のセキュリティリスクにさらすことを決定する前に、ファイルロッカー内のファイルを安全に読むことができるように、ファイルロッカーは、少なくとも一部のファイル形式をユーザに表示することができる機能を有することができる。
2.投影されたロック解除(projected unlock)。投影されたロック解除では、ファイルロッカーは、ファイルを、そのコードIDが承認されたリスト上にある特定のバイナリにのみ示す。また、ファイルがバイナリとユーザの正しい組合せのみに解放されるように、ユーザはログインを求められることが好ましい。高保証環境で稼働しないソフトウェアオブジェクトのコードIDを計算するために、何らかの形式の「投影(projection)」が使用される。この文脈での「投影」とは、非高保証ソフトウェアオブジェクトの挙動に関してある程度のセキュリティを提供するために、高保証環境で稼働するエージェントは、非高保証環境で稼働するソフトウェアオブジェトの挙動を監視し、かつ/またはそれに影響を与える場合を指す。この例では、ファイルロッカーは、エンジェル、すなわち特定の非高保証アプリケーションの場合に上述した投影を実行するエージェント、またはおそらくArchAngel、すなわち特定のアプリケーションまたはアプリケーションの組ではなく、一般にアプリケーションの場合に投影を実行するエージェントのためにデータを密封解除し、示す場合があり得る。好ましい実施形態では、次いでエンジェルは、アプリケーションアドレス空間にデータを直接投入する。例えば、非高保証環境で稼働しているMICROSOFT EXCELスプレッドシートは、そのバージョンおよびコードIDを計算し、次いで高保証環境を呼び出したライブラリを呼び出す。高保証環境は、バージョンおよびコードIDの妥当性検査を行うことになる。高保証環境は、非高保証環境、または少なくともEXCELプログラムに投影を適用しているため、コードIDはかなり耐久性があり、すなわち人がEXCELのコードを編集することは難しい。次いでEXCELは、再度ライブラリを呼び出して、ファイルデータを読み取り、データがEXCELのアドレス空間に表示される。非高保証環境からの何らかの協力で、エンジェルは、ページがページアウトされる前にEXCELの空間内でページを暗号化することができる。また、EXCELをデバッグしようとする試行を阻止する場合もある。
したがって、このモデルでは、ローカルおよびリモートの委託側(trustor)は、ファイルロッカーおよび承認されたバージョンのEXCEL、つまりウィルスまたは他の承認されていない挙動のないもののみがプレーンテキストを表示できるようになることを確信することができる。さらに投影の取り組みにより、EXCELのそのバージョンは耐久性があり、データはディスク上のプレーンテキストにはない。
このシナリオは、例えばEXCELなど特定のアプリケーションの挙動に関する不確実性を許容することができ、保護されるべき主な脅威が他のソフトウェアである場合に十分なセキュリティを提供する。これは、一般的な脅威モデルである。安全なビデオによって表示する特徴、および再ロック前の差異の比較を可能にする特徴は、このシナリオで使用することができる。
3.ファイルロッカーとボトリング(bottling)との併用。「ボトリング」とは、あるレベルの挙動予測可能性および他のボトルからの分離が維持される場合、1組のアプリケーションがコンテナ、パーティション、または「ボトル」内で稼働する場合を指す。例えば、ボトルは、何らかの制約付きのオペレーティングシステム、例えばWINDOWS(登録商標)XPの小さい構成、またはゲストが何らかのオペレーティングシステムを稼働させる仮想マシンでも、またはそれを含むものでもよい。コンテナ、コンテナオペレーティングシステム、およびコンテナで稼働するアプリケーションまたはアプリケーションの組はすべて「ボトル」である。投影を使用して、ボトル内に保護を適用することができる。
ボトルが与えられると、ファイルロッカーは、ボトルまたはボトル内の何らかの特定のアプリケーションに対してファイルを解放し、データをボトル内でのみプレーンテキスト形式で具体化するように設定することができ、全体としてボトルは、例えば暗号によりページ化(crypto paged)され、そのためデータは、いったんボトル内に入ると、ボトルの外部のすべてのものから安全である。
シナリオ#3は本質的に、#2をより強力に分離したバージョンである。これは、動的リンクライブラリのツリーなどのツリーを備えるMICROSOFT OFFICEのアプリケーションスイートなどのアプリケーションの組とよく働き、ボトル化されたアプリケーション下のオペレーティングシステムについての相対的に強力なステートメントを作成する。つまり、ボトル内のオペレーティングシステムは、望ましくは、制約され、証明された小型のオペレーティングシステムであるため、例えば、何らかの不正を働くドライバが、オペレーティングシステムの上で稼働しているアプリケーションからデータを盗まないというかなりの信頼があり得る。というのは、こうした不正を働くドライバは、ボトル内では許可されないからである。
4.ファイルをファイルロッカーに送信する第1のソフトウェアオブジェクトは、ローカルまたはリモートでよく、ファイルを暗号化された形式、または暗号化されていない形式で送信することができる。例えばサーバは、ファイルをファイルロッカーに、あらかじめ暗号されて、または送信のために暗号化され、しかしファイルロッカーがそれを再度暗号化する形式で送信することができる。ファイルを使用するソフトウェアオブジェクトは、もともとファイルをロッカーに入れたソフトウェアオブジェクトとは異なっていてもよい。すなわち、ファイルはあるオブジェクトからロッカーに来て、後で異なるオブジェクトによって使用することができる。次いでファイルを、第1のオブジェクトまたはさらに異なる何らかのオブジェクトに送り返す、または送り返さないことができる。
5.ファイルをファイルロッカーに送信する第1のソフトウェアオブジェクトは、ファイルロッカーがファイルに対して実施することになっているローカル規則を指定することができる。こうした規則は、次のような要件を含むことができる。(1)ファイルのすべてのバージョンは記録されるため、別の環境、例えば信頼されない環境で異なるソフトウェアオブジェクトによってどんな変更が加えられても、変更は常に元に戻すことができる。(2)すべての変更は、ある種のブラウザ/異なるビューアによる安全な入力および安全な出力などで人間のユーザによって見直され、人間によって「意図通り」または意図通りではないとして証明されることが必要であり、この証明書は変更とともに格納される。この技術は、ファイルを扱う第2のソフトウェアオブジェクトが不完全に制御された場合に有用となり得る。基本的な概念は、ファイルロッカーは、例えばWordの.docファイルのすべてのバージョンを保存することである。ファイルがWordなどのアプリケーションで編集され、ファイルロッカーにおそらく透過的に再度書き込まれた後、ファイルロッカーは、ユーザに確認を要求する。ユーザは、信頼された環境で稼働することができる、.docファイルの簡単な「ビューア」を使用することができ、これらの変更はユーザが意図したものであることを、安全な入力を介してファイルロッカーに直接知らせることができる。この方法は、ウィルスが基礎を成すアプリケーション、例えばWordなどを予期せぬように挙動させ、ファイルを予期せぬ方法で編集した場合でさえ、ユーザは、ファイルロッカーを使用して、こうした任意の変更を元に戻す、またはユーザが意図した変更のみが「記録」されることを確実にすることができる。
6.ファイルロッカーは、第1のソフトウェアオブジェクトまたはローカルユーザの代わりに、様々な整合性チェックをファイルに適用することができる。例えば、アプリケーションによって書かれたファイル上でウィルスおよび正当性チェッカを走らせることができる。基本的な概念は、ファイルの変更は保存され、しかしファイルがウィルスを持っていない、破損されていないことなどがわかるまで、「公式として記録」されないことである。この技術は、#5で上述した技術と組み合わせることができる。
7.安全な入力を使用する人間のユーザがそうすることは許容されると言う限り、ファイルロッカーは、所与のソフトウェアオブジェクトがファイルにアクセスすることができるようにする。これは、例えば、ユーザ「fred」がファイルロッカーにログインした場合、任意のツールがfredのロックされたファイルを表示することができる一般的なベース、または、例えばWordがfredのファイル「my taxes 2003」にアクセスしようとしたとき、ファイルロッカーは、これがOKであるかどうかをfredに直接尋ねる特定のベースで行われ得る。さらにユーザは、すべての、または特定のファイルを「あらかじめロック解除」することができる。そのためユーザは、ファイルロッカーに行き、ファイルa.docおよびb.docを使用したいことを伝える。これらのファイルは、証明ベクトルチェック有り、または、なしで、アクセスが許可される。「アクセス許可された」ビットのすべては、ユーザがログオフすると、またはある一定のタイムアウトの後に期限切れになる。さらに、ユーザは、読み取り、または読み取り−書き込みのためにファイルをロック解除することができる。ユーザは、特定の組の変更が記録される、またはバージョン化されることを指定することができる。
8.ファイルロッカーは、2つのステークホルダに基づいて、バージョン履歴を記録する、記録しない、保持する、または保持しないことができる。ファイルロッカーは、一定のポリシーとして、またはファイル作成時にダイアログに応答して人間のユーザの命令でそれを行うことができる。または、1番目のオブジェクトによってファイルが作成されたときに、ファイルとともに送信された行動の命令に応答してそれを行うことができる。そのため、賢明なクライアントは、ファイル作成時に「バージョンの保持、変更の記録、変更の証明書の要求」を設定することができる。
9.ファイルロッカーは、ファイルが開かれた時点で、常に最後に証明されたバージョンのファイルを透過的に戻すことができる。
10.ファイルロッカーは、ファイル名、作成者、ファイルのサムネイルなど、ファイルのパブリック概要情報とともに格納することができる。この概要情報の一部は、ファイル名など、デフォルトで得られるものであり、他の概要情報は、ファイルが作成されたときにそれに添付されたものであり、さらに別の概要情報は、ファイルロッカーについてファイルを検査した何らかの信頼されたツールによって計算されることになる。次いでファイルロッカーは、あまり信頼されない環境からのいくつかのサービスコールが概要情報を見ることができるようにし、他のコールは、ファイルがロック解除されている場合を除いて何も見えない。例えば、.tiffファイルがファイルロッカーに入れられたとき、ファイルロッカーに入っていくソフトウェアオブジェクトは、ファイルロッカーに対してファイルのサムネイルを宣言することができる。おそらく異なる関連のファイル、またはストリームなどのサムネイルは、要求に応じて、それを要求する第2のソフトウェアオブジェクトに提供される。これは、例えば、通常の信頼されていない仮想マシンまたは他の環境で稼働するファイルエクスプローラアプリケーションがサムネイル、ファイル名、Word.doc概要データなどを表示することができるようにする。これは、キーワード検索を許可する場合もある。しかし、実際のデータをファイルから読み取ることは、ユーザがそれらを読み取るためにロック解除する、または読み取る/書き込むためにロック解除することを必要とし、または第2のソフトウェアオブジェクトが権利証明ベクトルを有することを必要とすることになる。
11.一例では、攻撃のタイプは、ファイルに不要情報を書き込む、またバックアップバージョンを削除するために、Wordなどのアプリケーションが何らかの方法で変更される場合がある。このタイプの攻撃を停止するために、ファイルロッカーは、最後の証明されたバージョンに対するそれ以上の編集を許可する前にファイルへの証明されたすべての変更がリモートファイルストア、またはローカルの信頼されたファイルストアに確実に保存されるようにすることができる。したがって、ユーザが信頼された環境で稼働するプログラムを使用して、その変更が正当であることを証明するたびに、ファイルロッカーは、そのファイルの暗号化/鍵付きハッシュ化(hmac’d)され、また任意選択で署名されたバージョンを信頼されたストアまたはリモートストアに送信する。これが成功したことがわかると、ファイルを再度編集することができる。この環境では、ウィルスまたはクライアントコンピュータへの他の攻撃者は、ユーザが現在開いている/証明されていない編集を削除し、ユーザに、最後にチェックインされたバージョンのファイルをリモートの/信頼されたストアに要求させることができるだけである。ファイルを暗号化し、課されるどんな要求についてもファイルロッカーが満されるまで解放を拒否するファイルロッカーの機能は、こうした規則を実施するための特異な力を与える。
(ファイルロッカーを使用するプロセス例)
図5は、ファイルロッカーがファイルを格納し、取り出すために使用されるプロセスの例を示す。最初に、ファイルをファイルロッカーの保護監督下に置くために、ソフトウェアオブジェクトはファイルをファイルロッカーに提供する(502)。次いでファイルロッカーは、密封されたストレージ機関にファイルをそれ自体のために密封する(504)。
ある時間量が経過した後、ソフトウェアオブジェクトは、ファイルロッカーがファイルをソフトウェアオブジェクトに戻すことを要求することができる(506)。ファイルロッカーは、ソフトウェアオブジェクトのある種の検証を行う(508)。上述したように、本発明は、特定のタイプの検証に限定されないが、検証は、要求側ソフトウェアオブジェクトの識別、認証などのチェックを含み得る。
検証がパスした場合(510)、要求されたファイルがソフトウェアオブジェクトに提供される(514)。ソフトウェアオブジェクトがファイルを所有している間、ファイルロッカー、またはファイルロッカーと協働する何らかの構成要素は、任意選択で、ファイルロッカーからチェックアウトしている間、ファイルが決して悪用されないようにするために、要求側ソフトウェアオブジェクトの挙動を監視し、かつ/または制御する(516)。要求側ソフトウェアオブジェクトがファイルを処理すると、ファイルはファイルロッカーの保護監督下に戻される(518)。
510で、検証がパスしなかった場合、ファイルロッカーは、ファイルの密封を解除せず、ファイルは、要求側エンティティに提供されない(512)。
516と同様に、ファイルがファイルロッカーの保護監督外にある間にファイルを悪用から保護することは必須ではないことに留意されたい。ファイルロッカーは、ファイルがファイルロッカーの保護監督外にあるとき、悪用を防ごうと試行するように実施され得るが、ファイルロッカーが単にファイルはファイルロッカーの保護監督下にある間改ざんされないことを保証し、ファイルロッカーの保護監督外のファイルに起こることについて保証しない許容可能なセキュリティモデルでもある。また、人間のユーザ、または許可された人間のユーザがそうすべきであると言うと、ファイルがその保護監督下から出ることを保証するものでもある。
「信頼されたストア」無しのシステムでは、攻撃者は、ファイルロッカーの保護監督下にある暗号化されたファイルを削除し、したがってファイルを破壊し、他の場所に保存されていない作業が失われる場合がある。たとえそうであっても、ファイルロッカーは、こうした環境で有用である。というのは、これは、(a)これらのファイルへの不意の変更がないことがわかり、承認される前に任意の変更が安全に見直されることを実施することができ、(b)ファイルの内容がアクティブに使用されていない間、任意の方法で示されるのを防ぐことができるからである。「信頼されたストア」を備えるシステムでは、ファイルロッカーは、それを使用して、ファイルが保護監督下にある間、ファイルを削除できず、その保護監督外にあるときでさえ、ファイルへの最近の変更のみが失われるように、記録されたバージョンを保持することができることをさらに保証することができる。
上記の例は、単に説明の目的で示したものであり、決して本発明を限定するものとして解釈されるものではないことに留意されたい。様々な実施形態を参照して本発明を説明してきたが、本明細書で使用された単語は、限定の単語ではなく、説明および例示の単語であることを理解されたい。さらに、本発明は、本明細書で特定の手段、材料、および実施形態を参照して説明してきたが、本明細書に開示した詳細に限定されるものではなく、むしろ本発明は、添付の特許請求の範囲内に含まれるような構造、方法、および使用に等しいすべての機能まで拡大される。本明細書の教示の利益を得る当業者は、それに多数の修正を加えることができ、本発明のその態様の範囲および意図から逸脱することなく、変更を加えることができる。
本発明の態様を実施できるコンピューティング環境例を示すブロック図である。 複数のエンティティによって使用可能であり、データをエンティティのために密封するために使用することができるストレージ機関を示すブロック図である。 密封されたストレージを使用してソフトウェアオブジェクトの代わりにファイルを保護するファイルロッカーを示すブロック図である。 ファイルロッカーがファイルを保護するように動作し得るシナリオ例を示すブロック図である。 本発明の一態様によるファイルを保護する方法例を示すフロー図である。
符号の説明
100 コンピューティング環境
120 処理ユニット
121 システムバス
131 システムメモリ
134 オペレーティングシステム
135 アプリケーションプログラム
136 他のプログラムモジュール
137 プログラムデータ
140 固定式不揮発性メモリインターフェース
144 オペレーティングシステム
145 アプリケーションプログラム
146 他のプログラムモジュール
147 プログラムデータ
150 取外式不揮発性メモリインターフェース
160 ユーザ入力インターフェース
161 マウス
162 キーボード
170 ネットワークインターフェース
171 ローカルエリアネットワーク
172 モデム
173 広域ネットワーク
180 リモートコンピュータ
185 リモートアプリケーションプログラム
190 ビデオインターフェース
191 モニタ
195 出力周辺インターフェース
196 プリンタ
197 スピーカ
202(1) エンティティ
204(1) データ
204(2) データ
204(n) データ
206 保護されたストレージ機関
208 証明ベクトル
306 保護されたストレージ機関
301 データ
302 ファイルロッカー
304 識別子
310 ソフトウェアオブジェクト
402 密封されたストレージ機関
404 ハイパーバイザー/VMM
406 密封されたストレージインターフェース
408 エンジェル
410 エージェント
412 アプリケーション

Claims (33)

  1. ファイル管理構成要素を使用してファイルを保護する方法であって、
    ファイルをオブジェクトから受信するステップと、
    データストレージシステムを使用してファイル管理構成要素のためにファイルを密封するステップであって、前記データストレージシステムは、指定されたカテゴリの構成要素からデータを受信し、受信されたデータがそのために密封されたのではない任意の構成要素によって前記データを密封解除できないように、前記データを前記構成要素のうちの1つまたは複数のために密封することができ、前記ファイル管理構成要素は、前記指定されたカテゴリの構成要素のうちの1つであるステップと、
    ファイルの要求を発行するオブジェクトが前記ファイルを開くことを許可されるかどうかに基づいて前記ファイルへのアクセスを制限するステップであって、前記要求を発行する前記オブジェクトが許可されるかどうかに関する決定は、前記要求を発行する前記オブジェクトが前記ファイルを開くことを許可された場合に前記データストレージシステムから前記ファイルを密封解除する前記ファイル管理構成要素によってなされるステップと
    を含むことを特徴とする方法。
  2. 前記ファイルが前記オブジェクトによって使用されている間、前記オブジェクトの挙動を監視し、かつ/または制御するステップ
    をさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記オブジェクトは前記オブジェクトを識別する証明ベクトルに関連付けられており、アクセスを制限する前記動作は、前記オブジェクトの関連する証明ベクトルのチェックに基づいていることを特徴とする請求項1に記載の方法。
  4. 前記オブジェクトは、ファイルを開くインターフェース呼出を介して前記ファイルを開くプログラムを含み、前記ファイルを開くインターフェース呼出は、前記ファイル管理構成要素を介して前記ファイルを要求するように構成されており、それによって前記ファイル管理構成要素の使用が前記オブジェクトには見えないことを特徴とする請求項1に記載の方法。
  5. 前記オブジェクトはプログラムが稼働可能な第1の動作環境を含むことを特徴とする請求項1に記載の方法。
  6. 前記方法は2つ以上の動作環境を同時に提供するコンピューティング構成で行われ、前記環境のうちの第1のものはそれが前記第1の環境の予想された挙動に一致することの第1のレベルの保証を提供する高保証環境であり、前記環境のうちの第2のものは前記第2の環境が前記第2の環境の予想された挙動に一致することの第2のレベルの保証を提供する相対的に低い保証環境であり、前記第2のレベルの保証は前記第1のレベルより相対的に低く、前記データストレージ機関にデータを密封する機能は前記第1の環境の特徴であり、前記ファイル管理構成要素は前記第1の環境で稼働し、前記オブジェクトは前記第2の環境で稼働することを特徴とする請求項1に記載の方法。
  7. 前記指定されたカテゴリは前記第1の環境で稼働する構成要素に限定されることを特徴とする請求項6に記載の方法。
  8. 前記ファイルの要求を発行する前記オブジェクトは、前記ファイルがそこから受信された前記オブジェクトとは異なり、前記要求を発行する前記オブジェクトは、前記ファイルを開くことが許可されることを特徴とする請求項1に記載の方法。
  9. 前記ファイルがそこから受信された前記オブジェクトは前記ファイルの使用に規則を課すことを特徴とする請求項1に記載の方法。
  10. 前記規則は
    前記ファイルの前のバージョンのすべてが記録され、それによって前記ファイルロッカーに保存されている前のバージョンのファイルを復元することができる要件と、
    前記ユーザはファイルロッカーによって前記ファイルを格納する前に、前記ファイルロッカーとの入力セッションに従事し、前記セッションは、前記ユーザが前記ファイルを保存する要求を肯定的に表明し、前記ユーザによって表示される前記ファイルの表示が前記ファイルおよび加えられた変更を正しく表示することの相対的に高度の保証を提供する状況で、前記ユーザに前記ファイルへの任意の変更を表示する機会を与えることを確実にする方法で行われる要件と
    のうちの少なくとも1つであることを特徴とする請求項9に記載の方法。
  11. 前記ファイルに関する概要情報を格納するステップであって、前記ファイル管理構成要素は、前記ファイルへのアクセスが許可されない少なくとも1つの状況で前記概要情報へのアクセスを許可するステップ
    をさらに含むことを特徴とする請求項9に記載の方法。
  12. ファイルを受信し、前記ファイルがファイルロッカーによってのみ密封解除できるように前記ファイルを前記ファイルロッカーのために密封し、オブジェクトから前記ファイルの要求を受信し、前記オブジェクトが前記ファイルを受信する権限を与えられていることを確認し、前記オブジェクトが前記ファイルを受信する権限を与えられているかどうかに従って前記ファイルを前記オブジェクトに提供する、または提供しないロジックを含むことを特徴とするファイルロッカー。
  13. 前記ファイルロッカーは、2つ以上の動作環境を提供するコンピューティング構成上で動作し、前記環境のうちの第1のもので動作することを特徴とする請求項12に記載のファイルロッカー。
  14. 前記オブジェクトは第2の環境であることを特徴とする請求項13に記載のファイルロッカー。
  15. 前記オブジェクトは前記環境のうちの第2の環境で動作することを特徴とする請求項13に記載のファイルロッカー。
  16. 前記第1の環境は、脅威からの、前記第2の環境より相対的に高いレベルの保護を提供することを特徴とする請求項15に記載のファイルロッカー。
  17. 構成要素は、前記ファイルが前記オブジェクトによって使用されている間に前記オブジェクトの挙動を監視し、かつ/または制御する前記第1の環境で実行されることを特徴とする請求項16に記載のファイルロッカー。
  18. 前記ファイルの密封を解除するのに必要な暗号化キーがあり、前記第1の環境は前記暗号化キーを前記第1の環境の外で使用することができないことのあるレベルの保証を提供することを特徴とする請求項16に記載のファイルロッカー。
  19. 前記オブジェクトは、前記オブジェクトを識別する証明ベクトルに関連付けられており、前記ロジックは前記証明ベクトルの妥当性を検査し、前記証明ベクトルを確証できない場合、前記オブジェクトへのアクセスを拒否することを特徴とする請求項12に記載のファイルロッカー。
  20. 前記要求がそこから受信される前記オブジェクトは、前記ファイルがそこから受信されるオブジェクトとは異なり、前記要求がそこから受信される前記オブジェクトは、前記ファイルを受信する権限を与えられていることを特徴とする請求項12に記載のファイルロッカー。
  21. 前記ファイルロッカーは、前記ファイルロッカーによって受信され、格納されている前記ファイルのすべてのバージョンを記録することを特徴とする請求項12に記載のファイルロッカー。
  22. 前記ファイルロッカーは、前記ファイルが受信された時点でユーザとの対話セッションに従事し、前記セッションは、前記ファイルの現在のバージョンの格納の要求を主張することを前記ユーザに要求し、前記セッションは、前記ファイルロッカーと前記ユーザとの間の通信が危険にさらされていないことの相対的に高レベルの保証を提供する状況で行われる前記ファイルロッカーと前記ユーザとの間の通信を含むことを特徴とする請求項12に記載のファイルロッカー。
  23. ファイル管理構成要素でファイルを受信するステップと、
    前記ファイルを前記ファイル管理構成要素のために密封するステップと、
    前記ファイルの要求を要求者から受信するステップと、
    前記要求者は前記ファイルを受信する権限を与えられていることを確認するステップと、
    前記要求者が前記ファイルを受信する権限を与えられている場合は前記ファイルの密封を解除し、前記ファイルを前記要求者に提供し、そうでない場合は前記ファイルの密封を解除せず、前記ファイルを前記要求者に提供しないステップと
    を含むことを特徴とする方法を実行するコンピュータ実行可能命令でエンコードされたコンピュータ可読媒体。
  24. 前記要求者からの要求が受信され、前記要求者が前記ファイルを受信する権限を与えられていることが確認されたときを除いて、前記ファイルをアクセスから保護するステップ
    をさらに含むことを特徴とする請求項23に記載のコンピュータ可読媒体。
  25. 前記ファイルは前記ファイル管理構成要素で前記要求者から受信されることを特徴とする請求項23に記載のコンピュータ可読媒体。
  26. 前記要求者は前記ファイルを生成し、または操作するソフトウェアオブジェクトであることを特徴とする請求項23に記載のコンピュータ可読媒体。
  27. 前記要求者は前記ファイル管理構成要素の存在または使用を前記要求者には見えないようにするインターフェースを介して前記ファイルを前記ファイル構成要素に提供することを特徴とする請求項26に記載のコンピュータ可読媒体。
  28. 前記ファイル管理構成要素は第1の環境で動作し、前記要求者は第2の環境で動作し、前記第1の環境は、定義された組の脅威からの、前記第2の環境より相対的に高いレベルの分離または保護を提供することを特徴とする請求項26に記載のコンピュータ可読媒体。
  29. 前記ファイル管理構成要素は、前記第1の環境で動作するエンティティから使用可能であり、前記第1の環境以外の任意の環境で動作するエンティティからは使用できないデータストレージ機関を使用して前記ファイルを前記ファイル管理構成要素のために密封することを特徴とする請求項28に記載のコンピュータ可読媒体。
  30. 前記方法は、
    前記第1の環境で構成要素を使用して、前記ファイルが前記要求者によって使用されている間に前記要求者の挙動を監視し、かつ/または制御し、それによって前記ファイルの密封が解除されている間に前記ファイルが悪用から保護されるステップ
    をさらに含むことを特徴とする請求項28に記載のコンピュータ可読媒体。
  31. 前記ファイルの新しいバージョンを前記ファイル管理構成要素に保存する前に前記ファイルのすべてのバージョンを記録し、それによって前記ファイルの前のバージョンを取り出すことができる要件と、
    前記ファイルの新しいバージョンを前記ファイル構成要素に保存する前に、前記ファイル管理構成要素およびユーザが通信に従事し、前記通信は、前記通信が危険にさらされていないことの相対的に高度の保証を提供する状況で行われる要件と
    のうちの少なくとも1つを含む規則を前記ファイルの使用に課すステップ
    をさらに含むことを特徴とする請求項23に記載のコンピュータ可読媒体。
  32. 前記通信は、前記ファイル管理構成要素に保存しようとする前記ファイルの新しいバージョンを前記ユーザに対して表示し、前記ユーザに、前記新しいバージョンが前記ユーザにとって許容可能であることを確認することを求めるステップを含むことを特徴とする請求項31に記載のコンピュータ可読媒体。
  33. 前記ファイル管理構成要素に前記ファイルを保存する前に、前記ファイルがあらかじめ決定された標準に一致することを確認するステップ
    をさらに含むことを特徴とする請求項23に記載のコンピュータ可読媒体。
JP2005083537A 2004-04-23 2005-03-23 ファイルロッカー、およびファイルロッカーを提供し使用するための機構 Pending JP2005310122A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/831,596 US7330981B2 (en) 2004-04-23 2004-04-23 File locker and mechanisms for providing and using same

Publications (2)

Publication Number Publication Date
JP2005310122A true JP2005310122A (ja) 2005-11-04
JP2005310122A5 JP2005310122A5 (ja) 2008-05-08

Family

ID=34939186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005083537A Pending JP2005310122A (ja) 2004-04-23 2005-03-23 ファイルロッカー、およびファイルロッカーを提供し使用するための機構

Country Status (5)

Country Link
US (1) US7330981B2 (ja)
EP (1) EP1594032A3 (ja)
JP (1) JP2005310122A (ja)
KR (1) KR20060045000A (ja)
CN (1) CN1690910A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110061A (ja) * 2007-10-26 2009-05-21 Nec Corp 版数管理システムおよび版数管理方法
JP2010039748A (ja) * 2008-08-05 2010-02-18 Fujitsu Ltd アーカイブ装置,不正アクセス検出方法及び不正アクセス検出プログラム

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8181255B2 (en) * 2004-06-22 2012-05-15 Nds Limited Digital rights management system
US20060259947A1 (en) * 2005-05-11 2006-11-16 Nokia Corporation Method for enforcing a Java security policy in a multi virtual machine system
CN100464295C (zh) * 2006-05-17 2009-02-25 联想(北京)有限公司 一种基于虚拟机的安全输入方法
US8826023B1 (en) * 2006-06-30 2014-09-02 Symantec Operating Corporation System and method for securing access to hash-based storage systems
WO2008018055A2 (en) * 2006-08-09 2008-02-14 Neocleus Ltd Extranet security
EP2130322B1 (en) * 2007-03-21 2014-06-25 Intel Corporation Protection against impersonation attacks
WO2008114256A2 (en) * 2007-03-22 2008-09-25 Neocleus Ltd. Trusted local single sign-on
US8474037B2 (en) * 2008-01-07 2013-06-25 Intel Corporation Stateless attestation system
EP2088743B1 (en) 2008-02-11 2013-07-03 Accenture Global Services Limited Digital file locker
US8429180B1 (en) * 2008-03-31 2013-04-23 Symantec Corporation Cooperative identification of malicious remote objects
US20090307705A1 (en) * 2008-06-05 2009-12-10 Neocleus Israel Ltd Secure multi-purpose computing client
US8122514B2 (en) * 2008-07-30 2012-02-21 Microsoft Corporation Software enhanced trusted platform module
KR101016615B1 (ko) * 2008-09-10 2011-02-22 소프트캠프(주) 실행파일 형태의 에이피아이를 이용한 보안파일 전송시스템과 전송방법
JP4653230B2 (ja) * 2008-09-22 2011-03-16 株式会社エヌ・ティ・ティ・ドコモ Api検査装置及び状態監視装置
US8161285B2 (en) * 2008-09-26 2012-04-17 Microsoft Corporation Protocol-Independent remote attestation and sealing
US8468344B2 (en) * 2009-05-26 2013-06-18 Raytheon Company Enabling multi-level security in a single-level security computing system
US8745385B2 (en) * 2009-06-24 2014-06-03 Raytheon Company System and method for protecting data with multiple independent levels of security
US8627112B2 (en) * 2010-03-30 2014-01-07 Novell, Inc. Secure virtual machine memory
US9426652B2 (en) * 2010-09-09 2016-08-23 Joseph Nutaro High assurance authorization device
US20120222051A1 (en) * 2011-02-25 2012-08-30 Microsoft Corporation Shared resource access verification
US9210190B1 (en) 2012-05-09 2015-12-08 Andrew John Polcha Leveraging digital security using intelligent proxies
US8656182B2 (en) * 2011-09-12 2014-02-18 Microsoft Corporation Security mechanism for developmental operating systems
US20140136502A1 (en) * 2011-10-31 2014-05-15 Hewlett-Packard Development Company, L.P. File Lock Preservation
US9875239B2 (en) * 2012-03-19 2018-01-23 David W. Victor Providing different access to documents in an online document sharing community depending on whether the document is public or private
US9594767B2 (en) 2012-03-19 2017-03-14 David W. Victor Providing access to documents of friends in an online document sharing community based on whether the friends' documents are public or private
US9355384B2 (en) 2012-03-19 2016-05-31 David W. Victor Providing access to documents requiring a non-disclosure agreement (NDA) in an online document sharing community
US20140082752A1 (en) * 2012-09-17 2014-03-20 International Business Machines Corporation Read-Once Data Sets and Access Method
CN103927152B (zh) * 2013-01-14 2017-07-14 北大方正集团有限公司 一种文件处理方法及装置
CN106127071B (zh) * 2016-06-22 2020-03-06 惠州Tcl移动通信有限公司 一种基于移动终端的文件访问保护方法、***及移动终端
US10496292B2 (en) 2017-01-19 2019-12-03 International Business Machines Corporation Saving/restoring guarded storage controls in a virtualized environment
US10732858B2 (en) 2017-01-19 2020-08-04 International Business Machines Corporation Loading and storing controls regulating the operation of a guarded storage facility
US10579377B2 (en) 2017-01-19 2020-03-03 International Business Machines Corporation Guarded storage event handling during transactional execution
US10496311B2 (en) 2017-01-19 2019-12-03 International Business Machines Corporation Run-time instrumentation of guarded storage event processing
US10725685B2 (en) * 2017-01-19 2020-07-28 International Business Machines Corporation Load logical and shift guarded instruction
US10452288B2 (en) 2017-01-19 2019-10-22 International Business Machines Corporation Identifying processor attributes based on detecting a guarded storage event

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312242A (ja) * 2001-04-09 2002-10-25 Fiinikkusu Technologies Ltd コンピュータ・デバイス認証のシステムおよび方法
JP2002318719A (ja) * 2001-04-24 2002-10-31 Hitachi Ltd 高信頼計算機システム
US20030097578A1 (en) * 2001-11-16 2003-05-22 Paul England Operating system upgrades in a trusted operating system environment
JP2003330804A (ja) * 2002-05-13 2003-11-21 Matsushita Electric Ind Co Ltd 画像蓄積表示装置及び画像蓄積表示方法
JP2004005595A (ja) * 2002-04-17 2004-01-08 Microsoft Corp 公開鍵暗号化に基づくデータの保存および検索

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704753B1 (en) 1998-01-29 2004-03-09 International Business Machines Corporation Method of storage management in document databases
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6343297B1 (en) 1998-12-30 2002-01-29 International Business Machines Corporation Methods, systems and computer program products for providing document management for software development systems
US6658406B1 (en) 2000-03-29 2003-12-02 Microsoft Corporation Method for selecting terms from vocabularies in a category-based system
US7051200B1 (en) * 2000-06-27 2006-05-23 Microsoft Corporation System and method for interfacing a software process to secure repositories
US7107518B2 (en) 2001-04-03 2006-09-12 Microsoft Corporation Automating a document review cycle
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312242A (ja) * 2001-04-09 2002-10-25 Fiinikkusu Technologies Ltd コンピュータ・デバイス認証のシステムおよび方法
JP2002318719A (ja) * 2001-04-24 2002-10-31 Hitachi Ltd 高信頼計算機システム
US20030097578A1 (en) * 2001-11-16 2003-05-22 Paul England Operating system upgrades in a trusted operating system environment
JP2004005595A (ja) * 2002-04-17 2004-01-08 Microsoft Corp 公開鍵暗号化に基づくデータの保存および検索
JP2003330804A (ja) * 2002-05-13 2003-11-21 Matsushita Electric Ind Co Ltd 画像蓄積表示装置及び画像蓄積表示方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110061A (ja) * 2007-10-26 2009-05-21 Nec Corp 版数管理システムおよび版数管理方法
JP2010039748A (ja) * 2008-08-05 2010-02-18 Fujitsu Ltd アーカイブ装置,不正アクセス検出方法及び不正アクセス検出プログラム
US8266403B2 (en) 2008-08-05 2012-09-11 Fujitsu Limited Storage system, unauthorized access detection method, and non-transitory computer-readable medium storing unauthorized access detection program

Also Published As

Publication number Publication date
US7330981B2 (en) 2008-02-12
KR20060045000A (ko) 2006-05-16
US20050257048A1 (en) 2005-11-17
EP1594032A2 (en) 2005-11-09
CN1690910A (zh) 2005-11-02
EP1594032A3 (en) 2006-07-19

Similar Documents

Publication Publication Date Title
US7330981B2 (en) File locker and mechanisms for providing and using same
US7210043B2 (en) Trusted computer system
US6044155A (en) Method and system for securely archiving core data secrets
US7694121B2 (en) System and method for protected operating system boot using state validation
US7487365B2 (en) Saving and retrieving data based on symmetric key encryption
EP1391801B1 (en) Saving and retrieving data based on public key encryption
US7529946B2 (en) Enabling bits sealed to an enforceably-isolated environment
Mossop et al. Security models in the password-capability system
CN104809364A (zh) 数字版权管理drm客户端应用程序处理方法及装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110712