いくつかの例示的実施形態では、本発明は自己充足、自己保護、自己制御型のインテリジェントな暗号転送オブジェクト(ICTO)を含み、それはコンピュータ可読媒体に格納され得る。ICTOはポータブルな動的規則セット(PDRS)を備える参加物セットを含む。そのようなICTOを作成し、アクセスし、そして使用するコンピュータ実装方法およびそのようなICTOの実行可能部分を実行するように構成されたコンピューティングデバイスもまた提供される。
様々な実施形態において、本発明は従来のデータ保護システムおよび方法の重大な欠陥に対処する。既存のスキームは境界防御、ユーザアクセス(ユーザおよびユーザのデバイスの両方)および異常検出に対処するが、データ自体に付与されていないため、本発明は既存の保護システムの欠陥を補う。従来技術の暗号化が利用される場合、キーコード管理の負担が生産性を低下させるか、またはその欠陥が同様に保護する必要があるキーを暴露することによって、更なる脆弱性をもたらす恐れがある。
本開示の実施形態は、自己充足、自己保護、自己支配型のデータ中心の解決法を提供し、これは、データ管理、保護および運営のための制御が各データセットにグラフトされてその一部となり、データセットのアクセスおよび使用を直接監視することを意味する。本開示のいくつかの実施形態では、あるデータは許可されたエージェントによる解析または使用のために保護対象から除外され得るが、保護対象からの除外方法は、1つまたは複数の保護メカニズムを逆行させたものではないため、予測可能ではない。本発明は、データの生存期間にわたり、動的で、ポータブルな、独立した、持続的な、インテリジェントなデータ支配を維持するための、予測不能で不可逆的なシステムおよびそれに関連する方法を含む。このシステムは、データを格納中または送信中であっても、そして、信頼されるデータユーザまたは信頼できないデータユーザの手中であっても、データを保護することが可能である。
本開示のいくつかの実施形態では、データ保護スキームは、データセット内に埋め込まれ、データセットにグラフトされ、データセット内で維持される。また、データ保護スキームは、データへのアクセス試行の監査証跡を作成することもできる。データの既知のまたは許可されたユーザは埋込ログに記録される一方で、未知の当事者によるまたは他の無許可のデータへのアクセスの試行も同様に埋込ログに記録され、リアルタイムでデータ所有者に送信され表示され得る。無許可の当事者がデータへのアクセスを試行すると、自己保護データが自らを防御し、侵入に対する攻撃措置を取り、無許可の試行をデータ所有者に警告し、および/または他の任意の適切な動作を行うことができる。
データ所有者は、保護スキームを、データに対する当事者の関係性を継続して確認する簡単で軽量の管理ツールとして利用する。攻撃者の観点から、すべての許可された当事者は確立されたアイデンティティが保護スキームに組み込まれているため、システムは予測不能である。所有者、ユーザおよびデータセットの各組合せについて特有な保護スキームを提供することができ、これは、許可された当事者Aにデータが開示される方法は、許可された当事者Bにデータが開示される方法ではないことを意味する。
更に、所有者、ユーザ、データセットおよび規則セットの組合せに対して提供される特有な保護スキームも、同一の組合せが後に保護される度に同様にしてそれ自体に対して特有である。即ち、所有者、ユーザ、データセットおよび規則セットの組合せが本明細書で述べるように保護される度に、それが同じ組合せであっても異なる組合せであっても、ICTOは一意的に保護されたICTOとなる。
いくつかの実施形態では、異なる技法を使用して、データを保護したり、保護データにアクセスしたりすることができる。例えば、不可逆の保護スキームを使用して、データの複数の断片を組み合わせて単一のデジタル混合物にする一方で、選択的な復元手段を使用して、デジタル混合物の他の保護データへのアクセスを得ることなく、単一のデジタル混合物からデータの断片を選択的に復元することができる。そのような実施形態では、データが適正にアクセスされると、許可された受取人に対する所有者の意向に基づいて、データが選択的に開示される。情報を開示する経路は元のステップを後戻りすることとの関係性がなく、そして、データの複数の断片を組み合わせるために使用された元の保護スキームは、個別に要求されたデータの断片に関してのみ、可逆的であり得る。言い換えれば、保護スキームによって格納されたデータの断片へはアクセスはできても、元のコンテンツ全体の再構成を可能にする方法でのデジタル混合物全体へのアクセスはできない。本開示の実施形態は、真正な参加物として内含されるか否かのようにして、いかなるユーザまたはエンティティのアイデンティティも確実に識別するよう構成され、そして、データ所有者は、識別された真正ユーザがアクセスを得られるのはデータのどの部分または断片であるかを制御する。無許可の当事者は、意図する受取人または受取人のネットワークの内側であろうが外部であろうが、決して非保護形式でのデータにアクセスすることはできない。本開示の実施形態は、データのセキュリティを確保するため、アクセスを提供する前に、信頼される当事者のアイデンティティをはっきりと確認する。保護スキームの逆行またはリバースエンジニアリングでは、元の結果を得ることはできない。
本開示のいくつかの実施形態では、規則はデジタル混合物の実行可能部分によって実行され、第三者または部外者、アプリケーション、またオペレーティングシステムに頼ることなしに、データ所有者の絶対的な意向が実行されることを保証する。データを保護および非保護にするために保護スキームはアプリケーションまたはオペレーティングシステムに依存的であることはなく、即ち、データは自己保護および自己制御型である。保護スキームは、オペレーティングシステム、環境、および、アプリケーション(即ち、外部や中央集中やサーバでのキー管理、パスワード管理およびアイデンティティ管理アプリケーション)から独立している。プロトコルにおける方法は、データ混合物に格納された実行可能コードで実装され、構築されたAPIを介してデータにアクセスするというユーザによる要求の検出に応答して実行される。更に、データは如何なるタイプ(例えば、テキスト、オーディオ、ビデオ、またはそれらの組合せ)のものでも、そして、如何なるタイプのコンテナ、データベースまたは環境(例えば、バッファ、ディレクトリ、ファイル、またはそれらの組合せ)でもあり得る。APIまたは本明細書で述べる他の手段を介するアクセス以外のデータへのアクセスの試行は何れも、適用されるクローキングパターンによって阻止されることになり、クローキングパターンは、APIを実装するコンポーネントの外部のまたはそれ以外の如何なるコンポーネントによっても弱体化され得ない。APIまたはここで述べる他の手段を介してデータにアクセスを試みると、保護スキームは、真正なユーザだけがデータ所有者により許可されたデータにアクセスできることを保証する。
APIを介して開始される他の方法または他のICTO認識アプリケーション、デバイスまたはオペレーティングシステムは、最初にICTOを有効性確認する。続いて、外側クローキング技法がデジタル混合物内に格納された実行可能コード、暗号エンジンまたは混合器を見つける。アクセス要求は、エージェントのためにAPIまたは他のICTO認識アプリケーション、デバイスまたはオペレーティングシステムを介して、実行可能コードにより受信される。実行可能コードが作動され、または「覚醒」させられた時点で、ポータブル動的規則セットが制御を取得し、自己支配型データオブジェクトがクローズされまたは休止状態になるまで制御を維持する。実行可能コードを起動させずに自己保護、自己制御型のデジタル混合物にアクセスしようとする如何なる試みも失敗する。
図1は、本発明の様々な態様による、自己支配型データの例示的な実施形態を説明する概略図である。動的参加物コントローラ110または「混合器」は、以下で更に論じられるように、許可されたエージェント、デバイスの場所、データを使用するための規則および/または他の成分の記述を含む、デジタル成分(「参加物」)のセット101を特定する。これらの成分を混ぜ合わせることで、混合器110は、クローキング済みのエンティティ、即ちインテリジェント暗号転送オブジェクト(ICTO)115を作成する。ICTO 115は、「デジタル混合物」とも呼ばれる。ここで論じられるように、当業者であれば、「ICTO」、「デジタル混合物」および「自己支配型データ」という用語は同義で使用できることが理解されよう。ICTO 115を直接閲覧している無許可のエンティティまたは第三者にとっては、ICTO 115は、単にデータセットのようにしか見えないであろう。ICTO 115は、元の成分に類似することも、元の成分を露呈することもなく、均質な混合物として外部に現れる。しかしながら、APIを実装するアプリケーション(混合器110、ICTO認識クライアントアプリケーション(図示せず)および/または同様なものなど)を介してアクセスされると、ICTO 115の実行可能部分がアクセスされて、ICTO 115によって支配される保護データへのアクセスを提供することができる。
いくつかの実施形態では、ICTO 115の実行可能部分は、APIを実装するアプリケーションが実行可能部分を容易に見つけられるように、ICTO 115内部の決定可能な場所に格納することができる。いくつかの実施形態では、追加の保護が、ICTO 115内の変位可能な場所にICTO 115の1つまたは複数の実行可能部分を格納することによって、ICTO 115に適用可能である。これらの可変場所は、無許可のユーザがICTO 115の実行可能部分を見つけることを極めて難しくするが、ICTO 115にアクセスするためのAPIを実装するICTO認識アプリケーションは、ICTO 115の特徴に基づいて、所与のICTO 115に対する可変場所を演算することができる。例えば、安全なアプリケーションは、ファイルサイズ、作成時刻および/または同様なものなどのICTO 115の属性を読み取ることができ、シードとして属性を使用して場所を決定する計算を実行することができる。計算の詳細を秘密にしておくことで、ICTO 115の実行可能部分の場所も同様に秘密にしておくことができる。
参加物セット101は、オブジェクト記述102、混合物メタデータ104、所有者データ106、クローキングパターン107、アイデンティティモジュール109、およびインテリジェンスモジュール111を含み得る。いくつかの実施形態では、アイデンティティモジュール109とインテリジェンスモジュール111との組合せは一緒にしてポータブル動的規則セット108と見做すことができる。オブジェクト記述102は、所有者定義イヤマークおよび所有者特定イヤマーク、データ識別子および/または特性を含み得る。所有者データ106は、ドキュメント、ファイル、バッファ、ディレクトリ、リモートに格納されたデータへのポインタ、データベースおよび/または同様なものなど、ICTO 115内で保護すべきデータを含み得る。いくつかの実施形態では、例えば、基本の署名済みデータとは関連付けられない署名検証方法に対してのみICTO 115が使用される場合は、所有者データ106は任意選択のものであり得る。いくつかの実施形態では、所有者データ106の複数の断片を単一のICTO 115に含めることができる。いくつかの実施形態では、複数の所有者からの所有者データ106を単一のICTO 115に含めることができる。
クローキングパターン107は、混合器110によりサポートされるデータ保護とアクセス技法との様々な組合せを指定する。クローキングパターン107に含まれるデータ保護およびアクセス技法は、業界標準の検証された暗号化、圧縮、ランダム化、正規化および/または他の技法などを含み得る。クローキングパターン107としての使用に適した技法は、現在知られている技法に限定されず、現在知られまたは将来開発される私的または公的に利用可能な暗号化および/または復号化の任意の技法も含み得る。データ保護および/またはデータアクセスのためのクローキングパターン107の使用は、そのデータへのクローキングパターン107中に特定されるデータ保護および/またはアクセス技法の組合せを適用することを伴うことができる。
混合物メタデータ104は、ディレクトリ、キーコード、ユーザファイル、署名および/または同様なものを含む仮想ファイルシステムデータなどのデジタル混合物115についての組織的な情報を提供する。
アイデンティティモジュール109は、トランザクションにおいて保護エージェントを一意的に識別する動的アイデンティティ属性を含み得る。いくつかの実施形態では、アイデンティティモジュール109は、保護オブジェクトに対して一定の権限が与えられたコンピューティングデバイスの構成を表すデータを含み得る。アイデンティティモジュール109は、コンピューティングデバイスの識別に使用可能なコンピューティングデバイス上に導入されたハードウェアまたはソフトウェア構成についての特定の情報を含み得る。アイデンティティモジュール109は、これらに限定されないが、モデル番号、コア数、速度、および/または、同様なものを含むCPU情報、シャーシシリアル番号、製造業者データ、揮発性メモリ容量、不揮発性メモリ容量、1つまたは複数の記憶装置シリアル番号および/またはモデル番号、インストールされたソフトウェアタイトルおよび/またはバージョン番号、並びに/あるいは、同様なものを含むデータを含み得る。
いくつかの実施形態では、トランザクションは、1つまたは複数のエージェントが所定のコンテキストの中でデータを指定された意向で安全に交換する、ICTO 115を使用するアトミックアクションである。許可されたエージェントは、人間のユーザ、一意的な機械的オブジェクト、一意的な電子オブジェクト、一意的なソフトウェアまたはプログラムオブジェクトおよび/または同様なものなどのような、人間のおよび非人間のエンティティを含み得る。ICTO 115に含まれる動的アイデンティティ属性は、ICTO 115との相互作用の過程内または同過程中に、インテリジェンスモジュール111によって修正することができ、アプリケーション指定識別子、アカウント識別子、バイオメトリック署名、デバイスおよび/または場所署名、時間データ、暗号キーおよび/または同様なものを含み得る。いくつかの実施形態では、場所署名は、GPS、GSMネットワーク測位、IPアドレス測位、推測航法および/または同様なものなどのジオロケーション技術からのデータを含み得る。場所署名は、経度、緯度、高度、大よその住所および/または同様なものを含み得る。通り、都市、州、国、郵便番号および/または同様なものなどの追加場所データも存在し得る。いくつかの実施形態では、時間データは、タイムスタンプおよび/または同様なものを含み得、それにより、規則または他のインテリジェントコードがタイマ、期限管理、動的キーおよび/または同様なものを実施することが可能になる。時間データは、簡単な日付/時間値を含み得るか、またはタイムスタンプ範囲および/もしくは他のスケジューリングガイドラインを含む複雑なスケジュールを含み得る。
いくつかの実施形態では、各ICTO 115は、少なくとも1つのデジタル署名キーを含む。デジタル署名キーは、混合器110に対して利用可能な外部のデジタル証明書を使用して有効性を確認することができる。ICTO 115のアクセスに際して、混合器110は、外部のデジタル証明書を使用してデジタル署名キーの有効性確認を行い、現在ICTO 115にアクセス中のエージェントに対してデジタル署名キーが有効であることを検証する。いくつかの実施形態では、複数のエージェントがICTO 115に署名することができる。そのような実施形態では、ICTO 115は、署名キーのチェーンを含み得、各署名キーは、有効性確認のための別々の外部のデジタル証明書と関連付けることができる。例えば、ICTO 115は、複数のエージェントに転送するための保護ファイルを作成するために、一所有者によって使用され得、各エージェントは、ファイル全体ではなく、ファイルの異なるセクションに、同時にまたは逐次的にアクセスすることができる。所有者とエージェントは両方とも、トランザクションの進行を可能にするため、有効なデジタル署名を提供しなければならない場合がある。
インテリジェンスモジュール111は、ICTO 115を保護する動作を実行するための構成可能な機能を提供するインテリジェントコードとともに、アクセスデータおよび他の関連履歴の記録および伝達が可能な動的規則セットを含み得る。規則は、オブジェクト作成時に提供することができる。しかしながら、いくつかの実施形態では、規則は、以前に作成されたICTO 115に対して、その規則自体または他の規則を修正する能力を有し得る。いくつかの実施形態では、規則は、追加規則を作成する能力を有し得る。例えば、規則は、アイデンティティデータから、所定のICTO 115に対して、追加保護が望ましいことを決定することができる。次いで、規則は、適用すべき追加の暗号化および/または解読規則を作成することができる。規則はICTO 115内に保護されて含まれる。いくつかの実施形態では、規則は、インテリジェンスモジュール111の実行可能部分によってのみ実行可能であり得る、および/または、プロプライエタリーな言語で記載され、コンパイルされた形式またはバイナリ形式で格納することができる。アイデンティティモジュール109の規則および要件に基づいて、インテリジェンスモジュール111は、その規則および要件に従って動作する。アプリケーション指定識別子は、アクセスごとに異なり得、そしてエージェントのタイプに応じて異なり得る。例えば、人間のユーザに対し、アプリケーション指定識別子は、アカウントキー、トランザクション情報、コンテキストキー、関連目的および/または同様なものを含み得る。また、電子オブジェクト、デジタル資産または他の任意の潜在的エージェントに対し、アプリケーション指定識別子は、IPアドレス、URL、ファイル仕様および/または同様なものも含み得る。
いくつかの実施形態では、1つのまたは複数の埋込ポータブル動的規則セットは、参加物101がICTO 115により保護されている間でさえ、埋込参加物101への読み取り/書き込みアクセスを有する。言い換えれば、規則は、ICTO 115の混合物メタデータ104および所有者データ106に対する読み取りおよび書き込みを行うことができる。このことは、日付、時刻、場所および同様なものなどのアクセス情報の記録、および/または、攻撃が検出された場合のデータを破壊することに役立てられる。規則内のインテリジェントコードにより行われる決定または行われる動作のいくつかの例は、これらに限定されないが、有効性に関しオブジェクトコンテンツおよびコンテキストを評価すること、アイデンティティ証明に関しエージェントにチャレンジすること、クライアントコードと相互作用すること、有効性確認のためにサーバと連絡を取ること、ICTO 115を自己破壊させること、オブジェクトアクセスの履歴を維持し、履歴情報をサーバに送ること、オンラインおよび/またはオフラインオブジェクトアクセスを許可すること、動的サーバ更新に基づき新しい規則を作成すること、データの暗号化および解読を行うこと、データのマングリング(mangling)およびアンマングリング(unmangling)を行うこと、並びに/あるいは、同様なものを含み得る。
ポータブル動的規則の使用は、様々な利益を有し得る。例えば、プレ暗号化およびプレ解読の規則は、参加物指定基準に基づいて、動的ソルト(salt)および暗号キーを提供できる。そのような動的キーは、プレ暗号化規則で指定された時間データ、環境データまたは任意の他のアルゴリズムに基づき得る。別の例として、規則は、非保護データを無許可ユーザに暴露することなくエージェントの有効性確認を行うために、ICTO 115内の暗号化されたアイデンティティのアーチファクトにアクセスできる。規則はポータブルであり、したがって、ICTO 115内に含まれるので、規則はオフラインまたはネットワークの外であっても無許可アクセスからICTO 115を十分に保護できるように記述することができる。更なる別の一例として、規則は、入れ子にされた保護を追加できる。作成から1時間以内に1人のエージェントによって読まれることになっているドキュメントをICTO 115が保護する場合、規則は、タイマを実装して、自己破壊メカニズムを発行できる。
上述のように、埋込混合器110は、埋込ポータブル動的規則セット108を使用して、自己保護、自己支配型ICTO 115を構成するオブジェクト記述102、混合物メタデータ104、所有者データ106、クローキングパターン107、アイデンティティモジュール109およびインテリジェンスモジュール111の混合物を作成する。いくつかの実施形態では、ICTO 115の様々なコンポーネントは、改ざんを検出するために、符号化されたチェックサムによってマーク付けできる。例えば、ICTO 115全体、規則、所有者データおよび/またはユーザデータは各々、チェックサムによって有効性確認を行うことができる。チェックサムは、チェックサム対象のコンテンツに基づいて生成されるハッシュ値であり得る。いくつかの実施形態では、チェックサムの生成に使用されるアルゴリズムは、大量のドキュメントであっても、そのシングルビット値の変化を確実に検出できるほど十分に感度が高い。いくつかの適切なアルゴリズムは、MD5およびSHAを含むが、他の任意の適切なアルゴリズムも使用できる。各チェックサムを格納するためには、チェックサム対象の末尾または先頭に追加してよいし、またはそれ以外の態様でチェックサム対象に結合してもよいし、あるいは別個の場所に格納してもよい。
図7は本発明の追加の実施形態による、自己充足、自己制御、自己支配型のデータ保護の他の例示的な実施形態を説明する概略図である。APIまたは他のICTO認識アプリケーション、デバイス、またはオペレーティングシステムが動的参加物コントローラまたは実行可能な混合器702に対する要求を開始してそれを作動させることにより、デジタル参加物セット701を保護する。デジタル参加物は、これらに限られないが、集められて自己保護、自己支配型データオブジェクト(即ち、デジタル混合物、またはICTO)710に含まれる、許可されたエージェント、デバイス、場所、データを使用するための規則、および/または更に以下で述べられるような他のデジタル成分を含む。前記オブジェクトが構成される際、動的参加物コントローラは起動されると、仮のまたは「スターター」規則セットを用いて中間暗号オブジェクト703を作成する。中間暗号オブジェクト703は、混合器702によって生成されたアルゴリズムにより選択、生成または作成された1つまたは複数の外側クローキングパターン704を用いて、クローキングされる。
いくつかの事例では、追加の保護または機能、あるいはそれらの組合せが、ICTO 710内の変位可能な場所にICTO 710の1つまたは複数の実行可能部分を格納することにより適用され得る。ICTO 710の実行可能部分の最初のエントリーポイントは、ICTO認識アプリケーション、オペレーティングシステムまたはデバイスによってのみ計算されて見つけられ得る。実行可能部分、即ちDPC702が見つけられ発動されると、一意的なオフセットのテーブルがDPC702に利用可能となってICTO 710内のポータブル動的規則セット711を見つけることができ、それがICTO 710の活動中は制御を取得して維持する。
デジタル参加物セット701は、これらに限定されないが、外側クローキングパターン704、混合物メタデータ705、所有者データ706、内側クローキングパターン707、アイデンティティモジュール708、およびインテリジェンスモジュール709を含み得る。いくつかの実施形態では、内側クローキングパターン707、アイデンティティモジュール708およびインテリジェンスモジュール709の組合せを一緒にしてポータブル動的規則セット(PDRS)711と見做すことができる。ICTO 710内で保護されPDRS711により支配されるべき所有者データ706は、これらに限定されないが、イメージ、ビデオ、メッセージ、電子メール、ドキュメント、ファイル、バッファ、ディレクトリ、遠隔に格納されたデータのポインタ、ポータル、および同様なものを含み得る。いくつかの実施形態では、例えばICTO 710が反論の余地がなく確実な署名検証方法として単に使用されるようなときには、所有者データ706は任意選択であって含まれなくともよい。いくつかの実施形態では、所有者データの複数の断片を混合して単一のICTOとすることができる。他の実施形態では、複数の所有者からの所有者データを単一のICTOに含めることができる。更なる実施形態では、複数のICTOを混合して単一のICTOとすることができる。
内側クローキングパターン707は、ポータブル動的規則セット711に示された所有者規則により決定され且つ動的参加物コントローラまたは混合器702によりサポートされる、データ保護とアクセス技法との様々な組合せを指定する。内側クローキングパターン707に含まれるデータ保護およびアクセス技法は、これらに限定されないが、業界標準の暗号化、プロプライエタリーな暗号化、圧縮、ランダム化、正規化、および同様なものなどの技法を含み得る。内側クローキングパターン707として使用するのに適した技法は、現在知られている技法に限定されず、現在知られまたは将来開発される、任意の私的または公的に利用可能な符号化および/または復号化技法を含むことができる。データ保護および/またはデータアクセスのための内側クローキングパターン707の使用は、ポータブル動的規則セット711で指定されたデータ保護および/またはアクセス技法の組合せをデータおよび他の参加物に適用することを伴い得る。
外側クローキングパターン704は、中間暗号オブジェクト703を作成するために中間規則セットを使用する動的参加物コントローラ702により計算、使用、または生成される1つまたは複数のアルゴリズムを介して選択される、データ保護とアクセス技法との様々な組合せを指定する。外側クローキングパターン704に含まれるデータ保護およびアクセス技法は、これらに限定されないが、業界標準検証済み暗号化、圧縮、ランダム化、正規化、および同様なものなどの技法を含み得る。外側クローキングパターン704としての使用に適する技法は、現在知られている技法に限定されず、現在知られまたは将来開発される、任意の私的または公的に利用可能な符号化および/または復号化技法をも含むことができる。データの保護および/またはアクセスのための外側クローキングパターン704の使用は、動的参加物コントローラ702により計算され、中間規則セットにより指定されるデータ保護の組合せを適用することを伴い得る。混合物メタデータ705は、これらに限定されないが、ディレクトリ、ユーザファイル、および同様なものを含む仮想ファイルシステムデータのような、デジタル混合物710についての組織的な情報を提供する。
アイデンティティモジュール708は、トランザクションにおいて正当なエージェントを一意的に識別する動的アイデンティティ属性を含み得る。動的アイデンティティ属性は、これらに限定されないが、場所、デバイス、およびアクセス挙動のような、PDRS内のアイデンティティモジュールに追加される学習された情報であってよい。学習された情報が収集され、将来のアクセス要求セッションで使用されることによって、追加のインテリジェンスおよび決定ポイントが追加される。加えて、動的アイデンティティ属性は、ディテールが揮発性(即ち、予測不能な)なものであってよい。それらは、ICTOへのアクセスを要求しているエージェントの正当性確認の判断の際に、単独でまたは個人アイデンティティ属性と共に、認証プロセス中に提示され得る。
いくつかの実施形態では、アイデンティティモジュール708は、保護オブジェクトに対する一定の権利が付与され得るコンピューティングデバイスの構成を表すデータを含み得る。アイデンティティモジュール708は、コンピューティングデバイスの識別に使用可能なコンピューティングデバイス上に導入されたハードウェアまたはソフトウェア構成についての情報を含み得る。アイデンティティモジュール708は、これらに限定されないが、モデル番号、コア数、速度、および/または同様なものを含むCPU情報、シャーシシリアル番号、製造元データ、揮発メモリ容量、不揮発メモリ容量、1つまたは複数の記憶デバイスのシリアル番号および/またはモデル番号、インストールされたソフトウェアのタイトルおよび/またはバージョンナンバー、ならびに/あるいは、同様なものを含むデータを含み得る。
いくつかの実施形態では、トランザクションは、1つまたは複数の正当な許可されたエージェントが所与のコンテキストの中で特定の目的でデータまたは情報を安全に交換する、ICTO 710を用いるアトミックアクションである。正当な許可されたエージェントは、人間のユーザ、一意的な機械的オブジェクト、一意的な電子オブジェクト、一意的なソフトウェアまたはプログラムオブジェクト、または同様なものなどのような、人間のおよび非人間のエンティティを含み得る。ICTO 710に含まれる動的アイデンティティ属性は、ICTO 710との相互作用の過程内でまたは同過程中に、インテリジェンスモジュール709により修正することができ、そして、これらに限定されないが、アプリケーション指定識別子、アカウント識別子、バイオメトリック署名、デバイスおよび/または場所署名、時間データ、暗号キーまたはデータ、および同様なものを含み得る。いくつかの実施形態では、場所署名は、GPS、GSMネットワーク測位、IPアドレス測位、推測航法、および同様なものなどのジオロケーション技術からのデータを含み得る。場所署名は、経度、緯度、高度、大よその住所および同様なものを含み得る。通り、都市、州、国、郵便番号および/または同様なものなどの追加場所データも存在し得る。いくつかの実施形態では、時間データは、タイムスタンプまたは同様なものを含み得、それにより、規則または他のインテリジェンスコードが、タイマ、期限管理、動的キーおよび同様なものを実施することが可能になる。時間データは、簡単な日付/時間値を含み得るか、または、タイムスタンプ範囲および/もしくは他のスケジューリングガイドラインを含む複雑なスケジュールを含み得る。
いくつかの実施形態では、各ICTO 710は、人間のまたは非人間の、1つまたは複数のデジタル署名要件を含む。ICTO 710による認証の間、ボータブル動的規則セット711は、PDRS711により支配される情報へのアクセスを要求する正当なエージェントについて、デジタル署名が有効か判断する。いくつかの実施形態では、複数の正当なエージェントが他の正当なエージェントの権限を検証することができる。そのような実施形態では、PDRS711はデジタル署名要件のチェーンを実施し、そこで、各デジタル署名は別個の正当なエージェントに関連づけられる。例えば、ICTO 710は、承認、署名、および複数の正当なエージェントへの転送のための自己支配型ファイルを作成するために一所有者により用いられ得るが、その際、各正当なエージェントは、ファイル全体ではなくファイルの異なるセクションに、同時にまたは逐次的にアクセスすることができる。所有者および正当なエージェントの両者が、トランザクションを進めるため有効なデジタル署名を提供しなければならない場合がある。
インテリジェンスモジュール709は、ICTO 710を支配する動作を実行するための構成可能な機能を提供するインテリジェントなコードとともに、アクセスデータおよび他の関連事象の記録および伝達が可能な動的規則セットを含み得る。規則は、オブジェクト作成時に提供することができる。しかしながら、いくつかの実施形態では、規則は、自らを、または所与のICTO 710インスタンスの他の規則を、修正することができる。いくつかの実施形態では、規則は、追加規則を作成することができる。例えば、規則は、正当なエージェントの認証の際に、所与のICTO 710について、追加保護が望ましいと決定できる。そして、規則は、追加のアクセス、防御、クローキングおよび同様なものの要件を作成し得る。いくつかの実施形態では、規則は、動的参加物コントローラ702にだけ実行可能であるか、またはICTOの参加物またはそれらの組合せとしてバイナリ形式で格納することができる。アイデンティティモジュール708の規則および要件に基づいて、インテリジェンスモジュール709は、所有者エージェントから提供される通りにその規則および要件に従って動作する。ポータブル動的規則セット711識別子は、アクセスごとに異なり得、エージェントのタイプに応じて異なり得る。例えば、人間のユーザに対して、ポータブル動的規則セット711指定識別子は、アカウントキー、トランザクション情報、コンテキストキー、関連目的および同様なものを含み得る。また、電子オブジェクト、デジタル資産または他の任意の潜在的エージェントに対して、ポータブル動的規則セット711識別子は、IPアドレス、URL、ファイル仕様および同様なものをも含み得る。
いくつかの実施形態では、規則は、デジタル参加物701がICTO 710によって保護されている間でさえ、デジタル参加物701への読み取り/書き込みアクセスを有する。言い換えれば、規則は、ICTO 710の混合物メタデータ705および所有者データ706に対する読み取りおよび書き込みを行うことができる。このことは、日付、時間、場所、および同様なものなどのアクセス情報を記録し、また、いくつかの場合には、攻撃が検出されたと場合のデータを破壊することに役立てられる。インテリジェンスモジュール709により行われる決定または行われる動作のいくつかの例は、これらに限定されないが、有効性に関してオブジェクトコンテンツおよびコンテキストを評価すること、アイデンティティ証明に関しをエージェントにチャレンジすること、クライアントコードと相互作用すること、信頼性検証のためにサーバと連絡を取ること、ICTO 710を自己破壊させること、オブジェクトアクセスの履歴を維持し、電子メール、SMS、FTPにより履歴情報をサーバに送ることまたはICTO 710で格納しておくこと、オンラインおよび/またはオフラインオブジェクトアクセスを許可すること、動的サーバ更新に基づき新しい規則を作成すること、データのクローキングおよびデクローキングを行うこと、およびデータのマングリングおよびデマングリングを行うことを含み得る。
前記ポータブル動的規則セット711の使用は、様々な利益および目的を有する。一例示的実施形態では、アクセス規則は、内部で生成され、内部で管理される、所有者指定基準に基づいて、特有なキーを利用し得る。前記特有なキーは、所有者規則セットにより指定された時間データ、環境データ、または他の任意のアルゴリズムに基づき得る。別の例として、前記規則は、保護データを世間に暴露することなくエージェントを認証し有効性確認を行うために、ICTO 710内で保護されたアイデンティティのアーチファクトにアクセスし得る。更に別の例として、前記規則は自己充足的で、ポータブルであり、プラットフォーム非依存であるから、ICTO 710に内含されるので、規則はオフラインであっても無許可アクセスからICTO 710を十分に保護できるように記述することができる。
更なる例として、規則は入れ子にされた保護を追加し得る。ICTO 710が現在のまたは外側ICTO 710内の1つまたは複数のICTO 710を保護する場合、外側ICTO 710は、各々の所有者データ706の一部として管理される1つまたは複数のICTO 710と通信可能であり得る。外側ICTO 710は、逆も可能なのだが、外側ICTO 710の所有者データ706に含まれる任意のICTO710内で管理される規則を実行させることができ、または、内包される1つまたは複数のICTO 710に含まれる規則の結果としての新規則を作成することができる。別の実施形態では、ICTO710のPDRS711に埋め込まれた規則は自己支配型である。作成から1時間以内に1人の正当なエージェントによりアクセスされることになっているドキュメントをICTO 710がアクセス後最大1時間保護する場合、規則はタイマを実装して期間満了後に自己破壊メカニズムを発行することができる。
前述のように、動的参加物コントローラ702、即ち混合器は、ポータブル動的規則セット711を使用して、ICTO 710を構成する外側クローキングパターン704、混合物メタデータ705、所有者データ706、内側クローキングパターン707、アイデンティティモジュール708およびインテリジェンスモジュール709の混合物を作成する。いくつかの例では、ICTO 710の様々なコンポーネントが、改ざんを検出するべく、符号化されたチェックサムのために組合わされ得る。例えば、ICTO710全体、規則、所有者データおよび/または参加物データ712は各々、チェックサム712によって有効性確認を行うことができる。チェックサム712は、チェックサム712の対象のコンテンツに基づいて生成されるハッシュ値であり得る。いくつかの実施形態では、チェックサムの生成に使用されるアルゴリズムは、大量のドキュメントであっても、そのシングルビット値の変化を確実に検出できるほど十分に感度が高い。いくつかの適切なアルゴリズムは、MD5およびSHAを含むが、他の任意の適切なアルゴリズムも使用できる。各チェックサムを格納するためには、チェックサム対象の末尾または先頭に追加してよいし、またはそれ以外の態様でチェックサム対象に結合してもよいし、あるいは別個の場所に格納してもよい。
図2は、本開示の様々な態様による、ICTO 115を構築する方法200の例示的な実施形態を示すフローチャートである。示される方法200は、比較的簡単なICTO 115の作成について説明しているが、当業者であれば、同様の技法を使用して、はるかに複雑なICTO 115を作成できることが理解されよう。いくつかの実施形態では、混合器110は、方法200を実行するよう構成される。いくつかの実施形態では、方法200は、以下で説明されるように、混合器110の機能性を提供するよう構成されたコンピューティングデバイスによって実行される。当業者であれば、ICTO 115の構築および利用は何れも、前記コンピューティングデバイスのタイプにも、前記コンピューティングデバイスと関連付けられた任意のオペレーティングシステムにも依存しないが、代わりに、任意の適切な手段を介して構築および利用できることが認識されよう。
開始ブロックから、方法200はブロック202に進み、ブロック202では、共通のデジタル成分または参加物のセットが得られる。共通の参加物は参加物101であり、参加物101は、複数のICTO 115において使用することも、複数のICTO 115における同様の対応するコンポーネントを少なくとも有することもでき、ICTO 115に含めるために混合器110によって指定および/または生成される。例えば、オブジェクト記述102、混合物メタデータ104、クローキングパターン107、アイデンティティモジュール109およびインテリジェンスモジュール111はすべて、共通の参加物であり得る。次いで、ブロック204では、動的参加物コントローラ(「混合器」)110が初期化される。いくつかの実施形態では、混合器110の初期化は、予想されるまたはそうでなければ信頼されるアプリケーションによって混合器110が実行されていることを検証することを含み得る。ブロック206では、混合器110は、保護すべき所有者データ106の1つまたは複数の断片を受信する。上記で論じられるように、いくつかの実施形態では、所有者データ106はオプションとしてよく、ユーザアイデンティティを検証することおよび/またはユーザから署名を得るためには、ICTO 115のアクセス保護特徴を使用することができる。
方法200はブロック208に進み、ブロック208では、混合器110は、ポータブル動的規則セット108を実行させる。ブロック210では、ポータブル動的規則セット108のインテリジェンスモジュール111は、参加物101の保護に使用すべき1つまたは複数のアイデンティティベースのクローキングパターンを決定し、ブロック212では、混合器110は、1つまたは複数のクローキングパターンを参加物101に適用し、クローキング済みの参加物セットを作成する。
ポータブル動的規則セット108は、保護すべきデータの所有者の希望に基づいて、各参加物101に適用すべきクローキングパターンを決定する。各参加物101には異なるクローキングパターンを適用することができる。さらに、各参加物101は、異なるエージェントによるアクセスのために別々のクローキングパターンを使用して保護することができる。言い換えれば、所有者データ106などの参加物101は、第1のエージェントによるアクセスのために第1のクローキングパターンによって保護することができ、第2のエージェントによるアクセスのために第2のクローキングパターンによって保護することができる。クローキングパターンの選択は、保護すべき参加物101の属性、データへのアクセスを与えるべきエージェントの属性、場所、目的および/または他の任意の適切な情報に基づき得る。クローキングパターンの選択は、既存のクローキングパターンから選択することを含み得、および/または、混合器110によってサポートされる保護技法の組合せから新しいクローキングパターンを作成することを含み得る。適用されたクローキングパターンの記録は、混合物メタデータ104に格納することができる。
クローキングパターンは、ICTO 115内の参加物101を保護するために参加物101に適用された変換や、参加物101にアクセスするためにどのようにそれらの変換を逆行することができるかについて説明する。変換は、これらに限定されないが、データ圧縮、データ正規化および暗号化/暗号解読を含み得る。所定のクローキングパターンは、これらの技法のうちの1つもしくは複数またはここで列挙されていない他の技法を含み得る。データ圧縮は、ICTO 115の全体のサイズを低減することができ、これを受けて、輸送時間および帯域幅使用法を改善することができる。データ圧縮は、これらに限定されないが、DEFLATE、LZW、LZR、LZX、JBIG、DjVuおよび/または同様のものを含む、任意の適切なロスレスの圧縮アルゴリズムによって実行することができる。データ正規化は、効率的に処理できる形式にデータを置く任意の適切なプロセスによって実行される。いくつかの実施形態では、データは、Base64符号化アルゴリズムを通過して、バイナリまたはテキスト形式に関わらず、データを正規化された英数字ストリングに変換することができる。これは単なる例示であり、限定するものと見なしてはならない。他の実施形態では、他のアルゴリズムを使用して、データを正規化することができる。
いくつかの実施形態では、クローキングパターンは、参加物101の異なるコンポーネントへの別々の暗号化技法の適用を、アイデンティティモジュール109およびインテリジェンスモジュール111に行わせることができる。例えば、第1の暗号化規則は、実行されると、暗号化されたデジタル混合物115の第1の部分を特定して暗号化し、暗号化されたデジタル混合物115の第2の部分を不変のままにすることができる。第2の暗号化規則は、実行されると、異なる暗号化アルゴリズム、異なる暗号化キーおよび/または同様のものを使用して、暗号化されたデジタル混合物115の第2の部分を特定して暗号化することができる。
いくつかの実施形態では、クローキングパターンおよび/またはポータブル動的規則セット108は、暗号化の2つ以上の入れ子にした層を確立することができる。例えば、第1の暗号化規則の実行は、暗号化されたデジタル混合物115の第1の部分を暗号化することができる。次いで、第2の暗号化規則の実行は、第1の暗号化規則および対応する第1の暗号解読規則と共に、暗号化されたデジタル混合物115の暗号化された第1の部分を再度暗号化させることができる。したがって、暗号化されたデジタル混合物115の第1の部分に後にアクセスするには、第2の暗号化規則に対応する第2の暗号解読規則が実行されて、暗号化されたデジタル混合物115の二重に暗号化された第1の部分が暗号解読され、第1の暗号解読規則が得られる。次いで、第1の暗号解読規則が実行されて、暗号化されたデジタル混合物115の第1の部分が暗号解読され、デジタル混合物115の第1の部分の平文バージョンが生成される。
クローキング済みの参加物セットを作成するためにクローキングパターンが参加物101に適用された時点で、方法200はブロック214に進み、ブロック214では、混合器110は、デジタル混合物(ICTO)115を作成し、クローキング済みの参加物セットをデジタル混合物115に追加する。いくつかの実施形態では、データのシャッフリング、追加暗号化もしくはデジタル署名および/または同様のものなどの追加保護をデジタル混合物115全体に適用することができる。次いで、方法200は終了ブロックに進み、終了する。
当業者であれば、論考を容易にするために、あるステップが図2から省略されていることが理解されよう。しかし、本開示の範囲から逸脱することなく、図2に明確に示されていない他のステップも方法200に含めることができる。例えば、クローキングパターンを適用している間または規則を実行している間にエラーが検出された場合、方法200は、停止し、完成ICTO 115を生成しない場合がある。別の例として、いくつかの実施形態では、所有者データ106は、入れ子にした保護を提供する方法として、1つまたは複数のICTOを含み得る。いくつかの実施形態では、入れ子にしたICTO内の規則には、外側のICTO 115内の参加物データ101へのアクセスを提供することができる。いくつかの実施形態では、第1のICTO内の規則は、第2のICTOを作成させ、第1のICTOが第2のICTOの内側に入れ子にされるように、第1のICTOを第2のICTOに追加させることができる。同様に、いくつかの実施形態では、第1のICTO内の規則は、第2のICTOを作成させ、第2のICTOが第1のICTOの内側に入れ子にされるように、第2のICTOを第1のICTOに追加させることができる。
図8は、本発明の様々な態様による、ICTO 710を構築する方法800の代替的で例示的な実施形態を説明する処理フローである。図示の方法800は、簡単なICTO 710の作成を説明している。しかしながら、同様の技法を使用して複雑なICTO 710を構築することができる。いくつかの実施形態では、ICTO認識アプリケーション、デバイスまたはオペレーティングシステムが方法800を始動し促進するように構成されている。ICTOが簡単でもあるいは複雑でも、その構築と利用は、特定のオペレーティングシステムやデバイスに依存しない。
開始801から、方法800は動的参加物コントローラ702即ち混合器の初期化802で始まる。いくつかの実施形態では、混合器の初期化802は、オブジェクトが真正ICTOであること、および/または、初期化要求がICTO認識アプリケーション、デバイス、オペレーティングシステムおよび/または他のICTO認識プロセスからであることの有効性確認を行うことを含み得る。ブロック803に進み、デジタル参加物セット701がICTO 710に含めるために混合器702に提供される。デジタル参加物セットは複数のICTO 710において用いられてよく、または少なくとも類似のまたは共通のコンポーネントが複数のICTO 710にあってよい。例えば、外側クローキングパターン704、混合物メタデータ705、追加のクローキングパターン707、アイデンティティモジュール708、およびインテリジェンスモジュール709は全て、共通のデジタル参加物セット701と見做すことができる。ブロック804に進み、1つまたは複数のアルゴリズムを使用する混合器702は1つまたは複数の外側クローキングパターン704を選択してデジタル参加物セット701に適用し、ICTO 710についての初期クローキングパターンを作成する中間規則セットを使用して、初期中間暗号オブジェクト703を作成する。ブロック805に進み、1つまたは複数の所有者データエレメントがICTO 710に含めるためにデジタル参加物セットに追加される。いくつかの実施形態では、所有者データ706はオプションとしてよく、正当なエージェントのアイデンティティおよび/または正当なエージェントの署名を検証するためには、ICTO 710のアクセス保護機能を使用することができる。
方法800はブロック806に進み、そこで、所有者規則がPDRS711から取得され、そして混合器702により利用されることにより、ICTO 710の作成初期に使用された中間規則セットが置き換えられる。ブロック807に進み、混合器702は、1つまたは複数のアルゴリズムを使用して、1つまたは複数の内側クローキングパターン707を選択し、所有者データ706を含めてデジタル参加物セット701の一部または全部に適用させる。アルゴリズムは特有な数値としての時間と所有者規則を使用して、内側クローキングパターン707を更にランダム化する。使用されたアルゴリズムはアイデンティティモジュール708に追加され、PDRS711により内部で管理されて、外部では共有されない。最後にブロック808で混合器702は、クローキングされたデジタル参加物のセット720を作成するICTO 710の構築を完了する。ブロック803で提供されたようにして、同様のまたは共通のデジタル参加物セット701が使用され得る一方、併せて、当該方法によって、各構築されたICTO 710について特有のデジタル混合物808が作成される。
1つまたは複数のアルゴリズムを用いる混合器702は、特有な数値としての時間とインテリジェンスモジュール709により生成される他の内部要因をランダムに適用する一方、各デジタル参加物セット701にどの内側クローキングパターンを適用すべきかを決定する。次いで、内側クローキングパターン707を選択するために混合器702により使用されたアルゴリズムは、アイデンティティモジュール708に追加され、内部で管理され、そしてICTO 710の外部には共有も/交換も/暴露もされない。各参加物701は、デジタル混合物710の他の参加物701を保護する1つまたは複数の内側クローキングパターン707とは一意的に異なり得る1つまたは複数の内側クローキングパターン707を使用して保護され得る。例えば、所有者データ706のような参加物は、アイデンティティモジュール708を保護するために使用される1つまたは複数のクローキングパターン707および内部規則とは一意的に異なる1つまたは複数のクローキングパターンおよび内部規則により保護され得る。更に、1つまたは複数の内側クローキングパターン707の使用および特有な数値としての時間および内部規則の使用によって、次々に特有なクローキングパターンが作成され、それらは参加物701毎にアイデンティティモジュール708に追加される。インテリジェンスモジュール709に埋め込まれる内部規則は、これらのものに限定されないが、場所、時間、認証要件および同様なものを含み得る。
内側クローキングパターン707は、ICTO 710内の参加物701を保護するために当該参加物701に適用された変換、および参加物701の一部または全部にアクセスするためにそれらの変換を逆行する方法について記述する。変換は、これらに限定されないが、データ圧縮、データ正規化および暗号化を含み得る。所与の内側クローキングパターン701は、これらの技法のうちの1つまたは複数、および/または他の技法を含み得る。データ圧縮は、ICTO 710の全体サイズを低減でき、これを受けて、転送時間および帯域幅使用を改善することができる。データ圧縮は、これらに限定されないが、DEFLATE、LZW、LZR、LZX、JBIG、DjVuおよび/または同様なものを含む、任意の適切なロスレスの圧縮アルゴリズムによって実行することができる。データ正規化は、効率的に処理できる形式にデータを配置する任意の適切なプロセスによって実行される。いくつかの実施形態では、データは、Base64符号化アルゴリズムを通過して、バイナリまたはテキスト形式に関わらず、データを正規化された英数字ストリングに変換できる。これは単なる例示であり、限定するものと見做してはならない。他の実施形態では、他のアルゴリズムを使用してデータを正規化することができる。
内側クローキングパターン707は1つまたは複数の暗号化技法も含み得る。クローキングパターンは、暗号キーを導き出す方法を指定すること、これらに限定されないが、NISTまたはFIPSまたは他のプロプライエタリーな暗号化アルゴリズムなどである特定の暗号化アルゴリズムもしくはキー長を指定すること、および/または、時間シード、Xor符号化、またはクローキングスキームのエレメントを生成するための他の業界標準の符号化および復号化技法などの他の構成可能なオプションを指定すること、またはそれらの組合せを指定することができる。いくつかの実施形態では、暗号化技法は、参照コンテンツまたは同様なものに対するハッシュ値を導き出すことなど、暗号化以外の演算または計算を実行することができる。いくつかの実施形態では、内側クローキングパターン707は、内側クローキングパターン707自体にまたはICTO 710内の他の場所に、内部で管理されるが外部で共有されることなしに、使用された暗号キーまたは解読キーの記録を格納する(または格納を要求する規則を含める)ことができる。内側クローキングパターン707を使用して保護情報へのアクセスが行われると、クローキングアルゴリズム/デクローキングアルゴリズムおよびキーが内部で管理され、ICTO 710内の動的参加物コントローラ702に与えられて情報へのアクセスが提供されるが、ICTO 710の外部の要求エージェントまたは他の如何なるエージェント、あるいはアプリケーション、デバイス、オペレーティングシステムが利用できるようにするわけではない。言い換えれば、クローキングアルゴリズム/デクローキングアルゴリズムおよびキーはICTO 710の外部に格納されたり暴露されたりしないし、如何なるエージェントにも利用可能とされないので、外部でのキー管理機能の必要性がなくなり、したがって、そこからの脆弱性はなく、それらの秘密は維持される。
いくつかの実施形態では、インテリジェンスモジュール709に示された規則は、参加物701の別々のコンポーネントへの別々の内側クローキングパターン707の適用を、混合器702に行わせることができる。例えば、第1の規則は、実行されると、保護デジタル混合物710の第1の部分を特定してクローキングパターンを適用し、保護デジタル混合物710の第2の部分を不変のままにすることができる。第2の規則は、実行されると、異なるパターンを有する異なるクローキングパターンまたは同様なものを用いて、保護デジタル混合物710の第2の部分を特定してクローキングパターンを適用することができる。
いくつかの実施形態では、ポータブル動的規則セット711のインテリジェンスモジュール709は、参加物701の一部または全部のクローキングの2つ以上の入れ子にした層を要求することができる。例えば、第1の規則の混合器702による実行は、保護されたデジタル混合物710の第1の部分をクローキングすることができる。第2の規則の混合器702による実行は、第1の規則および対応する第1のクローキング規則と共に、異なる内側クローキングパターン707を用いて、保護されたデジタル混合物710のクローキング済みの第1の部分を再度クローキングさせることができる。したがって、保護されたデジタル混合物710の第1の部分に後にアクセスするには、第2の規則に対応する第2のデクローキング規則が実行されて、保護されたデジタル混合物710の入れ子式にクローキングされた第1の部分がデクローキングされ、第1のデクローキング規則が得られる。次いで、第1のデクローキング規則が実行されて、保護されたデジタル混合物710の第1の部分がデクローキングされ、デジタル混合物710の第1の部分の平文バージョンが生成される。
クローキング済みの参加物セット720を作成するためにクローキングパターン707が参加物701に適用された時点で、方法800はブロック808に進み、そこでは、混合器702は、デジタル混合物(即ち、ICTO)715の構築を完了する。いくつかの実施形態では、データのシャッフリング、追加のクローキングもしくはデジタル署名および/または同様のものなどの追加保護をデジタル混合物710全体に適用することができる。次いで、方法800は終了ブロックに進み、終了する。
本開示の範囲から逸脱することなく、図8に明確に示されていない他のステップも方法800に含めることができる。例えば、クローキングパターンを適用している間または規則を実行している間に異常が検出された場合、方法800は停止し、完成ICTO 710を生成しない場合がある。別の例として、いくつかの実施形態では、所有者データ706は、入れ子にした保護を提供する方法として、1つまたは複数のICTOを含み得る。いくつかの実施形態では、入れ子にしたICTO内の規則には、外側のICTO 710内の参加物データ701へのアクセスを提供することができる。いくつかの実施形態では、第1のICTO内の規則は、第2のまたは複数のICTOを作成させ、第1のICTOが第2のICTOの内側に入れ子にされるように、第1のICTOを第2のICTOに追加させることができる。同様に、いくつかの実施形態では、第1のICTO内の規則は、第2のICTOを作成させ、第2のICTOが第1のICTOの内側に入れ子にされるように、第2のICTOを第1のICTOに追加させることができる。
図3は、本開示の様々な態様による、ICTO 115によって保護されたデータにアクセスする方法300の例示的な実施形態を示すフローチャートである。ICTO 115を起動した後、ICTO 115は、ポータブル動的規則セット108に含まれる規則セットに指定されるように、その現在の環境、アクセスの試み、許可されたエージェントおよび他の条件の検証および有効性確認を開始する。この検証および有効性確認は、始動時に一度、アクティブ期間に連続して、アクティブ期間に定期的に、または、他の任意の適切な間隔でもしくは任意の適切な状態変化に応答して、実行することができる。規則およびエージェントのアイデンティティが肯定的に確認されると、ICTO 115は、混合物の均質な特質および残りのデータの保護を維持しながら、ICTO 115自体の許可された部分へのアクセスを許可する。
上で説明された方法200と同様に、いくつかの実施形態では、混合器110は、方法300を実行するよう構成される。いくつかの実施形態では、コンピューティングデバイスの1つまたは複数のプロセッサが、コンピューティングデバイスにそうさせるコンピュータ実行可能命令を実行する場合、方法300は、コンピューティングデバイスによって実行される。当業者によって理解されるように、ICTO 115の構築および利用は何れも、前記コンピューティングデバイスのタイプにも、前記コンピューティングデバイスと関連付けられた任意のオペレーティングシステムにも依存しない。データ保護プロトコルは、データセットに埋め込まれる。起動されたICTO 115は、データの使用年数にわたって、データ所有者と通信することができる(アクセスの試み、無許可の場所または無許可のエージェントに対する警報、自己破壊または自己再生の通知などの情報を)。さらに、ICTO 115内の規則は、その規則自体およびICTO 115の他の部分を更新することができるため、ICTO 115は、その環境から学習し、その学習に基づいてその今後の挙動を変更することができる。保護プロトコルは、カスタム化することができ、クローキングパターンにおいて指定されるように、各所有者、データセットおよびユーザの組合せに特有のものである。
開始ブロックから、方法300はブロック302に進み、ブロック302では、エージェントによるデジタル混合物115へのアクセス要求に応答して、デジタル混合物115内のポータブル動的規則セットが起動される。いくつかの実施形態では、スーパーアイデンティティは、ICTO 115に埋め込まれ、ICTO 115へのアクセスを試みるエージェントのアイデンティティを検証するための基準、エージェントの有効性確認を行い、データの現状を決定するインテリジェントな認識を提供するための動的規則、および、クローキングパターンにおいて指定されるようなデータクローキングに対するアルゴリズムを含む。チャレンジ/レスポンスの対、デジタル署名、バイオメトリック情報および/または同様のものなどの検証基準は、エージェントのアイデンティティを検証するために使用することができる。ブロック304では、ポータブル動的規則セット108は、エージェントが関連コンテキスト内のデジタル混合物115への要求されたアクセスを認められていることを検証するために実行される。アイデンティティモジュール109およびインテリジェンスモジュール111は、起動されると、検証されたエージェントによる現在のアクセスの試みを評価し、信頼レベルを確立する。いくつかの実施形態では、各参加物101、すなわち、データ所有者、エージェント(データユーザ)およびデータ自体の連続検証および有効性確認があるという点において、この評価は継続的なプロセスである。いくつかの実施形態では、ポータブル動的規則セット108からのプレアクセス規則は、混合器110による内部での使用のため、混合器110以外のエージェントによる暗号解読データへのアクセスを認めることなく、ICTO 115の少なくともいくつかの部分を暗号解読するため、混合器110で実行することができる。プレアクセス規則は、参加物101へのアクセスを有し、アイデンティティアーチファクトをテストする能力、ならびに、所有者およびエージェントデータを評価する能力を含む。信頼レベルが低下すれば、プロトコルは、参加物101の再評価を行う。いくつかの実施形態では、ICTO 115へのアクセスを試みるエージェントがそれらの正当性を再度確立できない場合、防御または攻撃行為を発動することができる。エージェントが新しいチャレンジセットを満たすことができれば、アクセスの進行または継続が認められる。
いくつかの実施形態では、プレアクセス規則は、アイデンティティまたは認証データに対する読み取りアクセスのみが認められているが、いくつかの実施形態では、プレアクセス規則は、例えば、ICTO 115を開く(または開くことを試みる)際のアクセスの試み属性の記録に使用することができる書き込みアクセスも有し得る。
方法300はブロック306に進み、ブロック306では、ポータブル動的規則セット108は、要求されたデータの保護に使用されたクローキングパターンを決定する。ポータブル動的規則セット108は、混合物メタデータ104を調べて、エージェントのアイデンティティ、データ要求、データが要求されているコンテキストおよび/または同様のものに基づいて、どのクローキングパターン107が適用されたかを決定する。使用されたクローキングパターン107が決定された時点で、方法300はブロック308に進み、ブロック308では、クローキングパターン107を使用して、要求されたアクセスをエージェントに提供する。クローキングパターン107が、要求されたデータの保護に使用された一連の技法を示す方法と同様に、クローキングパターン107は、ICTO 115に格納された保護バージョンからの要求されたデータの再構築に使用された一連の技法も示す。次いで、方法300は終了ブロックに進み、終了する。
図9はICTO 710によって保護されたデータにアクセスする方法900の代替的実施形態を示す処理フローである。ICTO 710を起動した後、PDRS711は、PDRS711に指定されるように、ICTO 710の現在の環境、アクセスの試み、正当なエージェントおよび他の条件の検証と有効性確認を開始する。この検証および有効性確認の処理は、生得的に効率的で、データの完全性を確実にするものであり、始動時に一度、アクティブ期間に連続して、アクティブ期間に定期的に、または、他の任意の適切な間隔でもしくは任意の適切な状態変化に応答して、実行することができる。規則および正当なエージェントのアイデンティティが肯定的に確認されると、PDRS711は、混合物の均質な特質および残りの参加物の保護を維持しながら、ICTO 710の許可された部分へのアクセスを許可する。いくつかの実施形態では、ICTO認識アプリケーション、デバイスまたはオペレーティングシステムが方法900を始動し、そして促進するように構成される。
開始ブロック901から、方法900はブロック902に進み、そこで、保護されたデジタル混合物即ちICTO 710内の動的参加物コントローラ702は、エージェントによるデジタル混合物即ちICTO 710へのアクセス要求に応答してICTO認識アプリケーション、デバイス、または、オペレーティングシステムによって作動される。いくつかの実施形態では、所有者/エージェントのアイデンティティおよび/または1つ以上のエージェントのアイデンティティは、ICTO 710内に埋め込まれたアイデンティティモジュール708に含まれており、ICTO 710へのアクセスを試みるエージェントのアイデンティティ、真正性および正当性を確認するための基準と、エージェントの正当性の確認とデータの現状の決定を行うためのインテリジェントな認識を与える動的規則と、クローキングパターンにおいて指定されるようなデータクローキングに対するアルゴリズムとを含む。チャレンジ/レスポンスの対、外部の許可、デジタル署名、バイオメトリック情報および/または、同様なものなどの検証基準は、エージェントのアイデンティティの認証、確認および/または検証を行うために使用することができる。ブロック903では、ポータブル動的規則セット711を用いて、効率的で、十分で、完全な且つ関連するコンテキストで要求エージェントが検証され、デジタル混合物710へのアクセスが認められる。
方法900はブロック904に進み、そこで、ポータブル動的規則セット711は、動的参加物コントローラ702に対して、エージェントのアイデンティティ、データ要求、データが要求されているコンテキストおよび/または同様なものに基づいて、要求されたデータを保護するために使用された1つまたは複数のクローキングパターン107を提供する。ブロック905に進むと、DPC即ち混合器702は、ポータブル動的規則セット711からの指示に応じて、正当なエージェントについてのデータ所有者の規則、データ要求、データが要求されているコンテキスト、および/またはポータブル動的規則セット711で管理される同様なものに基づいて、ICTO 710内部の保護データの一部または全部をデクローキングする。
本開示の範囲から逸脱することなく、図9に明確に示されていない他のステップも方法900に含めることができる。例えば、デクローキングパターンを適用している間または規則を実行している間に異常が検出された場合、方法800は停止し、保護されたICTO 710へのアクセス許さないことができる。別の一例として、方法900は、正当なエージェントの許可の完了に先立って外部の許可の必要性を生じさせ得るICTO 710に対する要求エージェントの正当性を判断する。更には、ICTO 710への正当で許可されたアクセスの結果として警報が送信されてもよい。別の一例として、いくつかの実施形態では、方法900は、無許可のアクセスが試みられていると判断すると、ICTO 710内のPDRS711に警報を送信させ、アクセスの試みを記録させ、および/または同様のことをさせることができる。別の一例として、いくつかの実施形態では、方法900は、無許可のアクセスの試みが現在進行中であると判断すると、ICTO内の偽りのデータへのアクセスをイネーブルし、活動を記録する、警報を送信する、および/または同様のことを行う。警報は、これらに限定されないが、失敗したアクセスの試み、認識されなかったアクセスアドレス(デバイスおよび場所の詳細を含み得る)、スケジュール違反、ICTOの無許可の移動、および同様なものを含む。
したがって、本発明は自己充足、自己制御および自己支配型のICTOに結実する。データ所有者により決定されるようなすべてのアクセス権、関与規則、法令順守規則、監査要件、および同様な規則および制約は、PDRSに含まれ、そしてICTOに埋め込まれ、かくしてPDRSによってデータ所有者のために制御され(オンラインであってもオフラインであっても、制御はICTO内から維持され)、そしてPDRSにより実行される。PDRSはICTOの作成時から生存期間を通して自己支配および制御のための手段である。それはICTOと一緒に移動し、データ所有者により確立された規則に常時従い、そして、これに限定されないが、(場所、時間、およびデバイスのような)環境に基づいて学習された情報に基づいて自己管理および決定するように適応的(即ち、動的)である。PDRSは、制御および管理を維持するのに、如何なる外部資源(例えば、IAMまたはSIEMシステム)または特定の動作環境を必要としない。PDRSは、ICTO内部からのICTO管理の完全性を維持する。PDRSはICTOに永続的に埋め込まれICTOと一緒に移動することによって、自己充足、自己制御、自己支配型のエンティティを作成する。
図4は、本開示の実施形態に対する例示的な使用事例を示す概略図である。当業者であれば、この使用事例は単なる例示であり、本開示のある特徴を示すために説明されるが、この使用事例は本明細書で開示される技術のあらゆる特徴を利用することも説明することもしないことが理解されよう。図4では、第1のユーザ418は、第1のコンピューティングデバイス416を使用して、本開示の実施形態を使用して、データの第1の断片(データ1 404)およびデータの第2の断片(データ2 406)を保護する。データ1の保護バージョン410およびデータ2の保護バージョン412を含むICTO 408が作成される。ICTO 408を作成する際、第1のユーザ418は、第2のユーザ422がデータ1 404にアクセスできることを指定するが、第2のユーザ422がデータ2 406にアクセスできることは指定しない。したがって、ICTO 408は、検証された時点でユーザ2 422によるデータ1 404へのアクセスを可能にする規則をポータブル動的規則セット108に含む。
第1のコンピューティングデバイス416は、LAN、ワイヤレスネットワーク、インターネットおよび/または同様のものなどのネットワークを介して、第2のユーザ422によって使用される第2のコンピューティングデバイス420にICTO 408を送信する。第2のユーザ422は、ICTO 408を起動させ、データ1 404にアクセスするという要求424を提出する。ICTO 408は第2のユーザ422のアイデンティティを検証し、この検証は、第2のユーザ422が当人であることを検証するべく、ICTO 408に格納されたチャレンジ/レスポンスの対を処理することおよび/または信頼されるサービス409(証明書サーバ、RADIUSもしくは他の認証サーバおよび/または同様のものなど)を調べることを含み得る。第2のユーザ422のアイデンティティが検証された時点で、ICTO 408は、保護データ1 410の作成に使用されたクローキングパターンを調べ、そのクローキングパターンを使用して、データ1 404へのアクセスを第2のユーザ422に与える。また、第2のユーザ422は、データ2 406にアクセスするという要求426を提出することもできる。しかし、第2のユーザ422に対してデータ2 406へのアクセスを提供するという指示をICTO 408は受けていないため、ICTO 408は、第2のユーザ422がデータ2 406にアクセスすることを認めない。
代替的処理フローでは、第1のコンピューティングデバイス416は、LAN、ワイヤレスネットワーク、インターネット、および/または同様なものなどのネットワークを介して、第2のユーザ422によって使用される第2のコンピューティングデバイス420にICTO 408を送信する。第2のユーザ422は、ICTO認識アプリケーション、デバイスまたはオペレーティングシステムを使用してICTO 408を覚醒させ、ICTO 408内の保護データ1へのアクセス要求を受信する。ICTO 408は第2のユーザ422のアイデンティティを検証し、この検証は、第2のユーザ422が正当であり許可されていることを検証するべく、ICTO 408に格納された複数対のチャレンジ/レスポンスおよび/または外部の許可または同様のことを処理することを含み得る。加えて、信頼されるサービス409が、所有者により定められたアクセス規則に基づき、更に時間、物理的場所および同様なものを検証するために用いられ得る。第2のユーザ422のアイデンティティが検証された(即ち、真正であり正当であることが確立された)時点で、ICTO 408は、保護データ1 410を作成するために用いられた1つまたは複数のクローキングパターンを決定し、保護データ1 410をデクローキングしてデータ1 404を第2のユーザ422に開示する。第2のユーザ422は、保護データ2 412へのアクセスを要求することもできる。しかしながら、第2のユーザ422はICTO408内の保護データ2へのアクセスが許可されていないため、第2のユーザ422が保護データ2 412にアクセスすることは認められない。
認証サービスを提供する信頼されるサービス409について説明されているが、他のタイプの信頼されるサービスも利用することができる。例えば、所定の時間の間だけアクセスを可能にするという規則がICTO 408に含まれている場合、信頼される日付/時刻値を提供する信頼されるサービス409を使用することができる。別の例として、信頼されるサービス409は、ICTO 408がエージェントにアクセス権を認めるかどうかを決定する間、他のユーザからの入力を求めることができる。示されるように、信頼されるサービス409は、Eメール、SMSまたは他の任意の適切な技法を介して、アクセスの試みについて第1のユーザ418に通知し、第1のユーザ418から対応する承諾が受信されるまで、試みが行われたアクセスが認められるのを待つことができる。
この使用事例は、本開示のいくつかの利点を示す。ICTO 408が作成されると、アクセスを要求するためのICTO 408の処理を発動することなく、保護データ1 410および保護データ2 412にアクセスすることはできない。従って、ICTO 408が第1のコンピューティングデバイス416上に格納される際、ICTO 408がネットワーク402上で送信されている際、および、ICTO 408が第2のコンピューティングデバイス416上に格納される際、データは保護される。また、ICTO 408が第2のユーザ422にデータ1 404へのアクセスを提供しても、それにも関わらず、データ2 406はアクセスから保護される。
この簡単な使用事例は本開示のいくつかの特徴を示すが、はるかに複雑な使用事例も可能である。例えば、図5は、本開示の実施形態に対する例示的な作業フローの態様を示す概略図である。第1のユーザ(「ユーザA」)は、第2のユーザ(「ユーザB」)、第3のユーザ(「ユーザC」)および第4のユーザ(「ユーザD」)によって、トランザクションを通じて機密性を保ちながら承認且つ署名されるべき一連のドキュメント(「ドキュメントX、YおよびZ」)を有し得る。ドキュメントXは、ユーザBが署名する必要がある。ドキュメントYは、ユーザBおよびユーザCが署名する必要があるが、それはドキュメントXが署名された後にのみ行われる。ドキュメントZは、ユーザDが署名する必要があるが、それはドキュメントXおよびYが署名された後にのみ行われる。さらに、ドキュメントXおよびドキュメントYは、現地会社の方針を遵守するように、勤務時間中(午前9時から午後5時までの間)に署名されなければならないが、ドキュメントZ(ドキュメントYの作業草案)は、ドキュメントXおよびYが承認且つ署名された時点で署名され、監査ログを取らなければならず、その後ドキュメントZは破棄されるが、やはり監査ログを取ってである。
本開示の実施形態は、そのような作業フローをサポートする。ユーザAは、ドキュメントX、YおよびZを含むICTOを作成する。ユーザAは、ユーザBがドキュメントXを見直して署名できるようにする、ドキュメントXに対するアクセス規則を作成する。ユーザAは、ドキュメントXにおける署名を得た時点で、ユーザBおよびユーザCがドキュメントYを見直して署名できるようにする、ドキュメントYに対するアクセス規則を作成する。ユーザAは、ユーザCがドキュメントXを見直して署名をチェックできるようにする、ドキュメントXに対するアクセス規則を作成することができるか、または、ドキュメントXに対するアクセス規則は、ドキュメントXに適用された署名を検出し、署名が検出された時点でドキュメントYに署名できるようにする、ドキュメントYに対するアクセス規則を動的に更新することができる。ユーザAは、ドキュメントXおよびYにおける署名をチェックし、そのような署名が検出され次第、ユーザDがドキュメントZに署名できるようにする、ドキュメントZに対するアクセス規則を作成する。また、これらの規則の各々は、関連時間要件も実施し、時間要件が満たされない場合はアクセスを認めない。また、ユーザAは、何れのドキュメント対する何れのアクセスもユーザAに報告を返す規則を作成することもでき、その結果、ユーザAは、プロセスをモニタすることができる。規則の各々は、各ユーザを特定する方法、関連特権、ユーザがドキュメントにアクセスすることが認められるデバイス、および、ユーザがドキュメントにアクセスすることが認められる場所を指定することができる。
例えば、ユーザBがICTOを受信した時点で、ユーザBは、ICTO内で実行可能コードを起動するよう構成されたアプリケーションを発動する。実行可能コードは、信頼されるアイデンティティサービスを調べることによって、規則に含まれるチャレンジへのレスポンスをチェックすることによって、または、他の任意の方法によって、ユーザBのアイデンティティを決定する。アイデンティティ、時刻、場所および他の要件が満たされた時点で、ユーザBは、ドキュメントXへのアクセスが認められるが、他のいかなるドキュメントへのアクセスは認められない。ユーザBがドキュメントXに署名した後、ICTOは、次のユーザに転送され、ICTOが残りの作業フローを通過する際にドキュメントの保護を実施する。
代替的に、例えば、ユーザBがICTOを受信し、ユーザBがICTO認識アプリケーションを発動してICTO内のPDRSを起動する。実行可能コードは、複数対のチャレンジ/レスポンスおよび/または外部許可コードを提供する、ICTO内に用意されたアイデンティティクレデンシャルを使用して、ユーザBのアイデンティティを判断する。アイデンティティ、時刻、場所および他の要件が満たされた時点で、ユーザBは、ドキュメントXへのアクセスが認められるが、他のいかなるドキュメントへのアクセスは認められない。ユーザBがドキュメントXに署名した後、ICTOは、次のユーザに転送され、ICTOが残りの作業フローを通過する際にドキュメントの保護を実施する。
別の例示的な実施形態では、保護プロトコルがポータルアイデンティティアプライアンス(PIA)の形で制定される。PIAは、直観的で自律的な認証方法を用いて、ポータブルで離散的なデジタルアイデンティティを規定する。PIAは組込式ICTOプロトコルを究極的に実装するものであり、インテリジェントなオブジェクトそれ自体になる。いくつかの実施形態では、PIAは所有者データ(例えば、ファイル、画像および同様なもの)を含まないICTOである。PIAは、所有者についての追加の(名刺または公開された名簿での利用可能な情報と同様な)公的に利用可能な情報とともにPDRSを使用するICTOから成るものであり、必ずしも所有者データを含まなくてもよい。このように、PIAは、所有者のアイデンティティを確実に提示する目的を有する、自己保護、自己制御、自己支配型のICTOである。
図10乃至13に示されるように、保護されたPIAが作成されると、データと組み合わさって保護データオブジェクト703が作成され、1つまたは複数の当事者間のセキュアなメッセージの送信を促進(例えば、発信人と受信人の正当性およびデータの完全性を確認・維持)し、ウェブサイト、ポータル、ネットワークまたは他の資源を保証またはガードするために使用することが可能な、セキュアで信頼できるアイデンティティを提供する。
このように、PIAは、既存の署名技法を凌ぐ非常に多くの利点を呈する。既存の署名技法は通常、認証局から購入した証明書を基にしている。証明書の信頼性は、証明書の保持者と証明書の発行者に基づいて推定される。しかしながら、証明書は盗まれたり、なりすまされたりすることがあり、且つ一意的に定規定されたアイデンティティに基づいていない。
このように、ICTOは「署名」が要求される、アイデンティティの確実な検証のために用いることができる。署名ICTOは、外的なアイデンティティ検証として、アイデンティティの絶対的な検証を必要とする法律文書を含むICTOと併せて使用することができる。署名ICTOは、オリジナルのICTO内に含まれた「最終」法的文書の(埋め込まれた)一部になることができる。更に、署名ICTOは、署名を必要とする所有者文書に加えて、追加の保護データエレメントとしてICTO内に(即ち、入れ子式に)含めることができ、かくして、文書とともに移動する所要の署名者を事前に規定し、且つ事前検証を提供することができる。署名ICTOは、ICTOにではなく、ICTO認識アプリケーションに含まれる文書において、アイデンティティの確実な検証として使用することができる。例えばそれらは、契約条件の電子的な受諾またはプライバシーノーティスの確認を提供するために使用することができる。
文書署名というコンテキストでの署名ICTOは、「法的に検証され認証された」所有者のデジタルバージョンと捉えることができ、しかも確実である。各署名ICTOは、所有者データを備えたICTOとまさに同様に一意的であり、したがって署名ICTOの実際の所有者の振りをしている人やエンティティによる「なりすまし」ができない。加えて、署名ICTOは、必ずしも人間を表さなくてよい。それは機械を表すことができ、そうすることによって、デジタル処理フローが進行するには、許可の有効性確認を行うための、途中での署名(検証)が必要となる。そして、この署名は文書化されなければならない。署名ICTOは標準デジタルが現在求められる場ではどこでも使用可能であるが、その使用方法については現在のものに限定されない。上述の如く、いくつかの実施形態では、その使用のためにICTO認識の存在が必須である。
当業者であれば、上記の使用事例は単なる例示であり、本明細書で開示される対象物に対する他の多くの使用事例が可能であることが認識されよう。例えば、ポータブル動的規則セットは実行可能コードを含むため、ICTOは、ICTOのセキュリティチェックを満たす場合にのみ実行可能な実行可能コンテンツを保護することができる。また、ICTOは、任意の規則の成功または失敗に応答してそのようなコンテンツを実行できるため、ICTOは、成功したアクセスを記録するか、または、無許可のアクセスの試みを検出次第、データ所有者への警告、自己破壊シーケンスの始動もしくは他の動作などの動作を行うことができる。
代替的に、本明細書で開示されている対象物に対して他の多くの使用事例がある。例えば、ICTOは独立した自己管理のための実行可能コードを含むため、ICTOは、ICTO内に含まれるデータ所有者により示されたセキュリティチェックと規則を満たすときにのみアクセス可能なコンテンツを保護することができる。また、ICTOは、任意の規則の成功または失敗に応答して、そのようなアクセスを記録するか、または、無許可のアクセスの試みを検出次第、データ所有者への警告、自己破壊シーケンスの始動もしくは他の動作などの動作を行うことができる。
図6は、本開示の実施形態での使用に適したコンピューティングデバイス500の例示的なハードウェアアーキテクチャを示すブロック図である。当業者および他の者であれば、コンピューティングデバイス500は、これに限定されないが、デスクトップコンピュータ、サーバコンピュータ、ラップトップコンピュータ、埋め込みコンピューティングデバイス、特定用途向け集積回路(ASIC)、スマートフォン、タブレットコンピュータおよび/または同様のものを含む、現在利用可能なまたは未だ開発されていないいくつものデバイスの何れか1つであり得ることが認識されよう。その最も基本的な構成では、コンピューティングデバイス500は、通信バス506によって接続された、少なくとも1つのプロセッサ502と、システムメモリ504とを含む。デバイスの正確な構成およびタイプに応じて、システムメモリ504は、読み取り専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、EEPROM、フラッシュメモリまたは同様のメモリ技術などの揮発性または不揮発性メモリであり得る。当業者および他の者であれば、システムメモリ504は、通常、プロセッサ502が速やかにアクセス可能なおよび/またはプロセッサ502によって現在動作中のデータおよび/またはプログラムモジュールを格納することが認識されよう。この点で、プロセッサ502は、命令の実行をサポートすることによって、コンピューティングデバイス500の演算中枢として機能する。
図6で更に示されるように、コンピューティングデバイス500は、ネットワーク上で他のデバイスと通信するための1つまたは複数のコンポーネントを備えるネットワークインターフェース510を含み得る。本開示の実施形態は、共通のネットワークプロトコルを使用して通信を実行するため、ネットワークインターフェース510を利用する基本サービスにアクセスすることができる。図6で描写される例示的な実施形態では、コンピューティングデバイス500は、記憶媒体508も含む。しかし、サービスは、ローカルの記憶媒体にデータを存続させるための手段を含まないコンピューティングデバイスを使用して、アクセスすることができる。したがって、図6で描写される記憶媒体508は、記憶媒体508が任意選択のものであることを示すため、点線で表される。いかなる事象においても、記憶媒体508は、これらに限定されないが、ハードドライブ、ソリッドステートドライブ、CD−ROM、DVD、他のディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置および同様のものなどの、揮発性または不揮発性の、取り外し可能または取り外し不可能なものであり、情報の格納が可能ないかなる技術も使用して実装することができる。
本明細書で使用される場合、「コンピュータ可読媒体」という用語は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報の格納が可能ないかなる方法でも技術でも実装される、揮発性および不揮発性の、取り外し可能および取り外し不可能な媒体を含む。この点で、図6で描写されるシステムメモリ504および記憶媒体508は、コンピュータ可読媒体の単なる例示である。
プロセッサ502、システムメモリ504、通信バス506、記憶媒体508およびネットワークインターフェース510を含むコンピューティングデバイスの適切な実装形態は、公知であり、市販されている。図解を容易にするため、そして、特許請求される対象物の理解には重要ではないため、図6は、多くのコンピューティングデバイスの典型的なコンポーネントの一部を示さない。この点で、コンピューティングデバイス500は、キーボード、マウス、マイクロホン、タッチ入力デバイスおよび/または同様のものなどの入力デバイスを含み得る。同様に、コンピューティングデバイス500は、ディスプレイ、スピーカ、プリンタおよび/または同様のものなどの出力デバイスも含み得る。これらのデバイスはすべて当技術分野で周知であるため、本明細書ではこれ以上説明されない。
かくして、本明細書に記載の実施形態および例示は、発明の原理とその実践的応用をもっともよく説明することにより、当業者が様々な実施形態において、企図された特定用途向けの様々な修正とともに本発明をもっともよく活用できるように、選択され記載されたと理解されるべきである。本発明の特定の実施形態が記載されたが、それら実施形態が網羅的であると解されるべきではない。当業者には明らかであろういくつもの変形例が存在する。