(57)【特許請求の範囲】
【請求項１】
クラウドベースネットワーク内でプライベートデータを保護するためのデバイスであって、
オペレーティングシステムを記憶するメモリと、
オペレーティングシステムを実行するプロセッサとを備え、プロセッサが、
方向をもつプライベートデータの流れであるデータの方向流に対する１つまたは複数の許可を識別し、前記デバイスのグラフィカルユーザインタフェース上に、データの方向流を、送信元ポイント、中間ポイントおよび宛先ポイントを含む有向グラフとして表示し、前記デバイスのユーザから前記グラフィカルユーザインタフェースを介して許可関連情報を受信し、前記許可関連情報に基づいて１つまたは複数の許可を生成、追加、削除または修正し、
記憶されたオペレーティングシステム（ＯＳ）の動作を通じて、識別された許可に基づき、前記データの方向流を制御する
よう動作可能な、デバイス。
【請求項２】
プロセッサが、ＯＳの動作を通じて、識別された許可に基づき、プライベートデータに対するアクセスのモードを制御するよう、さらに動作可能な、請求項１に記載のデバイス。
【請求項３】
プロセッサが、識別された許可に基づき、デバイスの機能、デバイスに関連付けられたプロセス、またはデバイスに関連付けられたサービスへのアクセスを付与または拒否するよう、さらに動作可能な、請求項２に記載のデバイス。
【請求項４】
プロセッサが、識別された許可に基づきプライベートデータの１つまたは複数の部分へのアクセスを付与または拒否するよう、さらに動作可能な、請求項１に記載のデバイス。
【請求項５】
プロセッサが、ＯＳの動作を通じて、識別された許可に基づきプライベートデータを暗号化するよう、さらに動作可能な、請求項１に記載のデバイス。
【請求項６】
プロセッサが、ＯＳの動作を通じて、識別された許可に基づきプライベートデータを復号するよう、さらに動作可能な、請求項１に記載のデバイス。
【請求項７】
ＯＳが、少なくともＬｉｎｕｘベースＯＳ、ＵＮＩＸベースＯＳ、ＭｉｃｒｏｓｏｆｔベースＯＳ、およびＡｐｐｌｅベースＯＳからなるグループから選択されたオペレーティングシステムを含む、請求項１に記載のデバイス。
【請求項８】
データがコンテンツを含む、請求項１に記載のデバイス。
【請求項９】
デバイスが、無線デバイス、クライアントデバイス、またはネットワークデバイスを含む、請求項１に記載のデバイス。
【請求項１０】
クライアントデバイスが、ラップトップ、デスクトップ、タブレット、スマートフォン、または電話を含む、請求項９に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プライベートデータを保護するための方法およびデバイスに関する。
【背景技術】
【０００２】
クラウドベースネットワーク内に記憶されたプライベートデータを保護するための既存の方法は、不用意な、悪意ある、または疑わしい活動を識別するために、複雑な分析、または膨大なコンピューティングリソースに依拠している。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
よって、過度に複雑な分析または膨大なコンピューティングリソースに依拠する必要のない、プライベートデータを保護するための方法および関連デバイスを提供することが望ましい。
【課題を解決するための手段】
【０００４】
クラウドベースネットワーク内のプライベートデータは、そのようなデータへの不用意な、悪意ある、または疑わしいアクセスが緩和されることを保証することによって保護され得る。到達性分析は、グラフィカルユーザインタフェース上のパスとして表示され得る有向グラフを生成することができる。表示されたパスのコンポーネントが、不用意な、または悪意あるアクセスが発生する可能性があると示す場合、そのようなアクセスを防止するための修正動作がとられ得る。
【０００５】
プライベートデータを保護する方法の例示的実施形態が提供される。例えば、一実施形態では、プライベートデータ（例えば、ビデオ、オーディオ、およびテキストコンテンツなどのコンテンツ）を保護するための方法が、プライベートデータ、データの流れ、または関連するユーザ、アプリケーション、もしくはデバイスに関連付けられた１つまたは複数の許可（ｐｅｒｍｉｓｓｉｏｎ）（例えば、読み込みおよび書き込み動作）を識別するステップと、有線または無線クラウドベースネットワーク内の有線または無線デバイス（ローカルデバイスまたはネットワークデバイス）に記憶されたオペレーティングシステム（ＯＳ）の動作を通じて、識別された許可に基づき、プライベートデータに関連付けられたデータの方向流を制御するステップとを含み得る。ローカルデバイスの例は、ラップトップ、デスクトップ、タブレット、スマートフォン、または電話であり、ネットワークデバイスの例は、クラウドベースサーバである。ＯＳは、例えば、少なくともＬｉｎｕｘ（登録商標）ベースＯＳ、ＵＮＩＸ（登録商標）ベースＯＳ、ＭｉｃｒｏｓｏｆｔベースＯＳ、およびＡｐｐｌｅベースＯＳからなるグループから選択されたものとすることができる。
【０００６】
プライベートデータへのアクセスを制御するステップは、識別された許可に基づきプライベートデータの１つまたは複数の部分へのアクセスを付与または拒否するステップと、識別された許可に基づき、プライベートデータの１つまたは複数の部分を修正するためのアクセスを付与または拒否するステップとを含み得る。
【０００７】
さらに、本方法は、ＯＳの動作を通じて、識別された許可に基づきアクセスのモードを制御するステップも含み得る。例としては、識別された許可に基づき、デバイスの機能、デバイスに関連付けられたプロセス、またはデバイスに関連付けられたサービスへのアクセスを、付与または拒否するステップが挙げられる。
【０００８】
プライベートデータをさらに保護するために、本方法は、暗号化および復号を含み得る。例えば、一実施形態では、方法は追加的に、（ｉ）ＯＳの動作を通じて、識別された許可に基づきデータの方向流を暗号化するステップと、（ｉｉ）ＯＳの動作を通じて、プライベートデータに関連付けられたデータの、実質的にすべての方向流を、識別された許可に基づき、流れごとに同一の暗号化キーを使用して、暗号化するステップと、（ｉｉｉ）ＯＳの動作を通じて、プライベートデータに関連付けられたデータの、１つまたは複数の方向流を、識別された許可に基づき、その１つまたは複数の流れごとに異なる暗号化キーを使用して、暗号化するステップと、（ｉｖ）ＯＳの動作を通じて、識別された許可に基づきデータの方向流を復号するステップと、（ｖ）ＯＳの動作を通じて、プライベートデータに関連付けられたデータの、実質的にすべての方向流を、識別された許可に基づき、流れごとに同一の復号キーを使用して、復号するステップと、（ｖｉ）ＯＳの動作を通じて、プライベートデータに関連付けられたデータの、１つまたは複数の方向流を、識別された許可に基づき、その１つまたは複数の流れごとに異なる復号キーを使用して、復号するステップとを含み得る。
【０００９】
許可を、プライベートデータまたはそのようなデータの流れと関連付けることに加えて、方法は、許可を、アプリケーション、ユーザ、またはデバイスに関連付けるためにも提供される。例えば、一実施形態では、方法が、アプリケーション（例えば、コンテンツ配布アプリケーション）に関連付けられた１つまたは複数の許可を識別するステップと、ＯＳの動作を通じて、アプリケーションに関連付けられた、識別された許可に基づきデータの方向流を制御するステップとを含み得る。許可は、ＯＳの動作を通じて、アクセスのモードを制御するためにも使用され得る。これまでに記述した方法と同様に、追加の方法も、いくつかの形式の暗号化および復号を組み込み得る。例えば、方法は、（ｉ）ＯＳの動作を通じて、アプリケーションに関連付けられたデータの、実質的にすべての方向流を、識別された許可に基づき、流れごとに同一の暗号化キーを使用して、暗号化するステップと、（ｉｉ）ＯＳの動作を通じて、アプリケーションに関連付けられたデータの、１つまたは複数の方向流を、識別された許可に基づき、その１つまたは複数の流れごとに異なる暗号化キーを使用して、暗号化するステップと、（ｉｉｉ）ＯＳの動作を通じて、アプリケーションに関連付けられたデータの、実質的にすべての方向流を、識別された許可に基づき、流れごとに同一の復号キーを使用して、復号するステップと、（ｉｖ）ＯＳの動作を通じて、アプリケーションに関連付けられたデータの、１つまたは複数の方向流を、識別された許可に基づき、その１つまたは複数の流れごとに異なる復号キーを使用して、復号するステップとを含み得る。
【００１０】
デバイス、ユーザ、またはアプリケーションからのプライベートデータが、そのようなプライベートデータを受信することを意図されたもの以外のいかなる他のデバイス、ユーザ、またはアプリケーションにも流れないことを保証するために、到達性分析が完了されてもよい。上述および本明細書に記述される方法は、到達性分析を形成することができる。いくつかの実施形態では、到達性分析は、そのようなデータへの、不用意な、悪意ある、または疑わしいアクセスが最小化されるか、そのようなアクセスを防止するための修正動作がとられ得ることを保証するために、データ流、デバイス、ユーザ、またはアプリケーションに関連付けられた許可および他の条件を、識別および分析することができる。
【００１１】
上述（および本明細書に記述）の方法と併せて、到達性分析は、１つまたは複数の許可に関連付けられたルールのセットを指定するステップと、許可を再調査するステップと、１つまたは複数のルールまたは許可が違反されているという決定に基づき、試みられたアクション（例えば、新規アプリケーション、デバイスのインストール）をキャンセルするステップとを含み得る。１つまたは複数の許可に基づき、いわゆる「有向グラフ」を生成するために、特定の到達性分析が使用されてもよい。有向グラフは、データの流れを表すことができる。ユーザまたは管理マネージャが、有向グラフを生成および分析するのを援助するために、ユーザインタフェース（ＵＩ）が提供されてもよい。ある実施形態によれば、ＵＩを通じて入力された情報（ルールなど）に基づき、１つまたは複数の有向グラフが生成されてもよい。その後、こうして生成されたグラフは、ＵＩに関連付けられたディスプレイ上に表示されてもよい。ユーザまたは管理者をさらに援助するために、グラフの１つまたは複数の部分が、ＵＩ上で視覚的に強調されてもよい。グラフのある部分の視覚的強調などを通じて、コンポーネント（例えば、潜在的な新規の許可、ルールもしくは条件、新規のデバイス、アプリケーション、またはデータの流れ）に伴う問題は、ＵＩを使用して表示および発見され、次いで、修正されてもよい。
【００１２】
いくつかの実施形態は、プライベートデータを保護するための、関連デバイスを提供する。一実施形態では、有線または無線クラウドベースネットワーク内の有線または無線デバイスが、プライベートデータ（例えば、ビデオ、オーディオ、およびテキストコンテンツなどのコンテンツ）、データの流れ、ユーザ、アプリケーション、またはデバイスに関連付けられた、１つまたは複数の許可を識別し、記憶されたＯＳの動作を通じて、識別された許可（例えば、読み込みおよび書き込み動作）に基づき、プライベートデータ、データの流れ、または関連するユーザ、アプリケーション、もしくはデバイスに関連付けられたデータの方向流を制御するよう動作可能とすることができる。デバイスは、例えば、ローカルデバイスまたはネットワークデバイスとすることができる。上記記述と同様に、ローカルデバイスの例は、ラップトップ、デスクトップ、タブレット、スマートフォン、または電話であり、ネットワークデバイスの例は、クラウドベースサーバである。ＯＳは、例えば、少なくともＬｉｎｕｘベースＯＳ、ＵＮＩＸベースＯＳ、ＭｉｃｒｏｓｏｆｔベースＯＳ、およびＡｐｐｌｅベースＯＳからなるグループから選択されたものとすることができる。
【００１３】
例示的デバイスは、識別された許可に基づきプライベートデータの１つまたは複数の部分へのアクセスを付与または拒否することにより、または識別された許可に基づき、プライベートデータの１つまたは複数の部分を修正するためのアクセスを付与または拒否することにより、プライベートデータへのアクセスを制御することができる。そのようなデバイス、または代替物は、ＯＳの動作を通じて、識別された許可に基づきアクセスのモードを制御することもできる。具体的には、デバイスは、識別された許可に基づき、デバイスの機能、デバイスに関連付けられたプロセス、またはデバイスに関連付けられたサービスへのアクセスを、付与または拒否することができる。
【００１４】
プライベートデータをさらに保護するために、デバイスは、暗号化および復号機能および特徴を含み得る。例えば、一実施形態では、デバイスは、追加的に、（ｉ）ＯＳの動作を通じて、識別された許可に基づきデータの方向流を暗号化し、（ｉｉ）ＯＳの動作を通じて、プライベートデータに関連付けられたデータの、実質的にすべての方向流を、識別された許可に基づき、流れごとに同一の暗号化キーを使用して、暗号化し、（ｉｉｉ）ＯＳの動作を通じて、プライベートデータに関連付けられたデータの、１つまたは複数の方向流を、識別された許可に基づき、その１つまたは複数の流れごとに異なる暗号化キーを使用して、暗号化し、（ｉｖ）ＯＳの動作を通じて、識別された許可に基づきデータの方向流を復号し、（ｖ）ＯＳの動作を通じて、プライベートデータに関連付けられたデータの、実質的にすべての方向流を、識別された許可に基づき、流れごとに同一の復号キーを使用して、復号し、（ｖｉ）ＯＳの動作を通じて、記憶されたデータに関連付けられたデータの、１つまたは複数の方向流を、識別された許可に基づき、その１つまたは複数の流れごとに異なる復号キーを使用して、復号するよう動作可能とすることができる。
【００１５】
許可を、プライベートデータまたはそのようなデータの流れと関連付けるデバイスを提供することに加えて、許可を、アプリケーション、ユーザ、またはデバイスに関連付ける、追加のデバイスが提供される。例えば、一実施形態では、デバイスが、アプリケーション（例えば、コンテンツ配布アプリケーション）に関連付けられた１つまたは複数の許可を識別し、ＯＳの動作を通じて、アプリケーションに関連付けられた、識別された許可に基づきデータの方向流を制御するよう動作可能とすることができる。許可は、ＯＳの動作を通じて、アクセスのモードを制御するためにも使用され得る。
【００１６】
これまでに記述した実施形態と同様に、これらの追加のデバイスも、何らかの形式の暗号化および復号を組み込み得る。
【００１７】
上述および本明細書に記述されるデバイスは、到達性分析を完了するために使用され得る。例えば、１つの例示的デバイスが、１つまたは複数の許可に関連付けられたルールのセットを指定し、許可を再調査し、１つまたは複数のルールまたは許可が違反されているという決定に基づき、試みられたアクション（例えば、新規アプリケーション、デバイスのインストール）をキャンセルするよう動作可能とすることができる。有向グラフを生成するために、特定の到達性分析がデバイスによって使用されてもよい。
【００１８】
加えて、ユーザまたは管理マネージャが、有向グラフを生成および分析するのを援助するために、ＵＩが提供されてもよい。ある実施形態によれば、デバイスが、ＵＩを通じて入力された情報（ルールなど）に基づき、１つまたは複数の有向グラフを生成してもよい。その後、デバイスが、こうして生成されたグラフを、ＵＩに関連付けられたディスプレイ上に表示するよう動作可能とすることができる。ユーザまたは管理者をさらに援助するために、例えば、ユーザまたは管理者が、コンポーネントに伴う、表示された問題を発見し、修正動作をとることを許可するために、グラフの１つまたは複数の部分が、ＵＩ上で視覚的に強調されてもよい。
【００１９】
本発明の追加の特徴が、以下の詳細な記述および添付された図面から明らかになろう。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態による、クラウドベースネットワークなどのネットワークの簡易ブロック図である。図１は、本発明の一実施形態によるアンテナを描写している。
【発明を実施するための形態】
【００２１】
プライベートデータを保護するための方法およびデバイスの例示的実施形態が、本明細書に詳細に記述され、図面内に例として示される。以下の記述および図面の全体を通して、同様の参照番号／符号は、同様の要素を指す。
【００２２】
本明細書では特定の例示的実施形態が検討されるが、本発明の範囲をそのような実施形態に限定する意図はないことを理解されたい。反対に、本明細書で検討される例示的実施形態は例示を目的としたものであり、修正を施された実施形態、および代替実施形態が、本発明の範囲から逸脱することなく実装され得ることを理解されたい。本明細書に開示される、特定の構造的、機能的、および方法論的詳細は、例示的実施形態の記述を目的とした、単なる代表にすぎない。
【００２３】
いくつかの例示的実施形態は、プロセスまたは方法（単数的表現か複数的表現かは問わない）として記述されることに留意されたい。方法は、一連の逐次的ステップとして記述される場合もあるが、それらのステップは、並行して、同時進行で、または一斉に遂行されてもよい。加えて、方法内の各ステップの順序は、再編成されてもよい。方法は、完了時に終結されてもよく、また本明細書に記述されない追加のステップも含んでよい。
【００２４】
「識別する」「制御する」「決定する」「付与する」「拒否する」「暗号化する」および「復号する」という用語、ならびに他のアクション、機能的または方法論的用語、およびそれらの様々な時制が、本明細書において使用されるとき、そのようなアクション、機能、または方法は、１つまたは複数のメモリ（まとめて、「命令メモリ」と表現される）に記憶された命令を実行するよう動作可能な、１つまたは複数のプロセッサ（まとめて、「プロセッサ」と表現される）によって実装または完了され得ることを理解されたい。そのようなプロセッサおよび命令メモリは、より大きいデバイス（例えば、ネットワークデバイス（サーバ）、アクセスデバイス、またはラップトップ、デスクトップ、タブレット、およびスマートフォンなどのローカルクライアントデバイス）の一部とすることができる。
【００２５】
本明細書で使用される、「もしくは」「または」および「あるいは」という語は、別段の指示（例えば、「またはそうでない場合」や「または代わりに」など）がない限り、非排他的な「もしくは」「または」および「あるいは」を表す。別段の指定がない限り、ある要素が、別の要素と接続中または通信中であるものとして、参照、または記述もしくは描写される場合、別の要素と直接的に接続されても、直接的に通信していてもよく、または介在する要素が存在してもよいことを理解されたい。要素またはコンポーネント間の接続または通信関係を記述するために使用される他の言葉も、同様の仕方で解釈されるべきである。文脈が別段指示しない限り、または本出願の効力を維持するのに必要な場合、本明細書で使用される単数的表現は、複数的表現を含むものと意図されない。
【００２６】
本明細書で使用される、「実施形態」という用語は、本発明の実施形態を指す。
【００２７】
ここで図１を参照すると、ネットワーク１の簡易ブロック図が描写されている。例示的実施形態では、ネットワーク１は、クラウドベースネットワークなど、任意の適当なネットワークを含むことができる。ネットワーク１は、例えば、少なくともローカルデバイス、およびネットワークデバイスから選択されたデバイスなどの、１つまたは複数の異なるタイプのデバイスを含むことができる。示されているように、ネットワーク１は、ローカルデバイス３（例えば、ラップトップ、デスクトップ、タブレット、スマートフォン、または電話）と、通信チャネル５を介して通信する、ネットワークデバイス２（例えば、クラウドベースサーバ）を含むことができる。図１に示される各デバイスは、当分野で知られている有線または無線通信手段を介して通信可能な、有線または無線デバイスとすることができる。図１には、単独のネットワークデバイスおよびローカルデバイスのみが示されるが、ネットワーク１内には、それぞれのタイプのデバイスが複数含まれ、接続されてもよいことを理解されたい。図１に示される各デバイスは、関連付けられた命令メモリに記憶された命令を実行して、本明細書に記述される機能、特徴、および方法を完了するよう動作可能なプロセッサ２１、３１を、それぞれ含むことができる。本発明の記述を簡略にするため、含まれる命令メモリは、図１には示されない。一実施形態では、プロセッサ３１は、デバイス３内に記憶され得る、文書関連データ、ゲーム関連データ、および画像データ（それぞれ、多数のデータタイプのごく一部を示すにすぎない）などのデータを記憶するため、またはこうしたデータにアクセスするために、メモリセクション３０ａ、３０ｂ、３０ｃと連動して稼働するよう動作可能とすることができる。加えて、プロセッサ３１は、さらに、例えば、ゲームアプリケーションセクション４ａ、テキストエディタアプリケーションセクション４ｂ、およびオーディオ／ビデオ（ａ／ｖ）アプリケーションセクション４ｃ内に記憶されたアプリケーションなどの、１つまたは複数の記憶されたアプリケーションを制御するよう動作可能とすることができる。
【００２８】
同様に、ネットワークデバイス２のプロセッサ２１は、データメモリセクション２０ａ、２０ｂ、２０ｃ、ならびにアプリケーションセクション４ａ、４ｂ、および４ｃと連動して稼働するよう動作可能とすることができる。ある実施形態では、デバイス３によって記憶または使用される任意のデータが、デバイス３の代わりに動作するデバイス２によって記憶および使用され得るように、また、同様に、デバイス２によって記憶または使用される任意のデータが、デバイス３によって記憶および使用され得るように、セクション２０ａ、２０ｂ、２０ｃが、セクション３０ａ、３０ｂ、３０ｃと同様に構成されてもよい。図１に描写するように、デバイス２、３のセクション４ａ、４ｂ、４ｃは、記憶され、配布されたアプリケーションを含むことができる。なぜなら、それらは、例えば、デバイス２、３のそれぞれの内に存在するか、または配布されるからである。
【００２９】
図１に示されるデバイスを、従来の方法論の制限を克服する、画期的機能、特徴、および方法を完了するよう動作可能とすることができると有利である。具体的には、図１に示されるデバイスは、プライベートデータ（例えば、ビデオコンテンツ、オーディオコンテンツ、テキストコンテンツ、ゲームコンテンツなどのコンテンツ）の保護に際して関連するものとすることができる。こうしたプライベートデータは、図１に示されるデバイス２、３内に記憶されるか、相互間で交換されるか、またはネットワーク１の外側（すなわち、別のネットワーク内）に存在し得るデバイス内に記憶されるか、相互間で交換される可能性がある。もう少し詳細に述べると、ある実施形態では、デバイス２、３はそれぞれ、プロセッサ２１、３１の部分をなし得る命令メモリ内に記憶される、または別個のメモリ（図示なし）に記憶され得る、オペレーティングシステム（ＯＳ）を含むことができる。各ＯＳは、例えば、アプリケーション４ａ、４ｂ、および４ｃを制御し、デバイス２、３間のデータの流れを制御し、セクション２０ａ、２０ｂ、２０ｃ、３０ａ、３０ｂ、および３０ｃ内に記憶されたデータへのアクセスを制御するよう動作可能とすることができる。代替実施形態では、デバイス２またはデバイス３内のＯＳは、それぞれ、少なくともＬｉｎｕｘベースＯＳ、ＵＮＩＸベースＯＳ、ＭｉｃｒｏｓｏｆｔベースＯＳ、およびＡｐｐｌｅベースＯＳからなるグループから選択されたものとすることができる。デバイス２、３は、例えば、入出力（Ｉ／Ｏ）回路を含む、互いに通信するのに必要な、すべての電子コンポーネントを備えるということを理解されたい。さらに、図１に描写されるメモリおよびアプリケーションセクションも、それぞれ、互いに通信するのに必要なＩ／Ｏ回路などを含む。この回路はよく知られているので、図１には示されない。
【００３０】
デバイス２、３がどのようにして互いに通信し得るかを示すために、ゲームアプリケーション４ａが、ユーザインタフェース（ＵＩ）３２を介したデバイス３のユーザによって（または、ユーザが介入せずにデバイス３内のファームウェア（まとめて「ファームウェア」と表現される）によって）呼び出されて、最近終了されたオンラインゲームに関連するデータを、メモリ３０ａ内に記憶し、次いで、記憶されたデータを、デバイス２内のメモリ２０ａに転送すると仮定する。いくつかの実施形態では、デバイス３（またはデバイス２）内のＯＳは、データのストレージおよびデバイス２へのその転送を制御するよう動作可能とすることができる。データをメモリ３０ａ内に記憶し、続いてデータ（例えば、コピー）をデバイス２に転送するために要求される動作のシーケンスは、データ「流」を含み得る。さらに、データ流は「方向」をもつと言われ得る。この場合では、方向は、デバイス３内のメモリ３０ａから、デバイス２内のメモリ２０ａに向かっている。ある方向に向かって流れるデータは、データの方向流と表現されてもよい。ユーザによって、またはユーザの代わりに、作成および記憶されたデータは、そのユーザにより、内密または独特なものと見なされる可能性があるので、そのデータは、本明細書において、プライベートデータと表現され得る。そのようなデータの流れは、データの方向流、または単にデータの流れと表現され得る。
【００３１】
ある実施形態によれば、デバイス３、より具体的には、（例えば）そのＯＳは、プライベートデータ、またはそのようなデータの方向流に関連付けられた、１つまたは複数の「許可」を識別し、次いで、識別された許可に基づき、そのようなデータの流れを制御するよう動作可能とすることができる。いくつかの実施形態では、プライベートデータに「関連付けられた」データとは、例えば、メモリ（例えば、メモリ３０ａ）内に記憶されたデータの全部、メモリ内に記憶されたデータの一部、メモリ内に記憶されることになるデータ、またはメモリに向かう、およびメモリから出る、そのようなデータの方向流のことを指し得る。許可は、プライベートデータが、例えば、どのように作成され、記憶され、アクセスされ、交換され、転送され、暗号化され、または復号され得るかを掌握する、例えば、ルールのセットを含むことができる。許可は、ユーザインタフェース（ＵＩ）３２（以下でより詳細に説明される）を介したユーザによって、ＵＩ２２を介したネットワーク管理者によって、生成されることが可能であり、またはデバイス２、３のメモリ内のファームウェアによって生成されることが可能である。許可は、ユーザ、アプリケーション、またはデバイスを対象とすることもできる。ある実施形態によれば、ＯＳは、メモリ（図示なし）に記憶されたアクセス制御モデル内に存在し得る、記憶された許可を識別するために、そのモデルにアクセスするよう動作可能とすることができ、この場合、許可が、ユーザ、アプリケーション、またはデバイスは、プライベートデータを（に）、例えば、作成、記憶、アクセス、交換、または転送する権利を、付与され得るか（またはされ得ないか）否かを掌握する。加えて、許可は、認証および暗号化（まとめて「暗号化」）許可、ならびに情報（例えば、暗号化キー、パスワード）を含むことができる。
【００３２】
識別され、記憶された許可が、デバイス３に、プライベートデータをメモリ３０ａからメモリ２０ａに転送する許可を付与すると、さらに仮定する。このシナリオでは、メモリ３０ａ内のプライベートデータの一部または全部が、識別された許可に基づき、メモリ２０ａに転送され得るように、デバイス３内のＯＳを、データの流れを制御するよう動作可能とすることができる。それに対し、識別された許可が、そのような転送を許可しない場合、さらに、ＯＳを、例えば、プライベートデータが転送され得ないように、またはデータの一部分のみが転送され得るように、データの流れを制御するよう動作可能とすることができる。
【００３３】
データの流れを制御することに加えて、いくつかの実施形態は、データ流、データへのアクセスのモード、または機能、プロセス、もしくはサービスへのアクセスのモードの制御も対象とすることができる。そのようなアクセスは、まとめて、プライベートデータ（またはアプリケーション、ユーザ、デバイス）に関連付けられた「アクセスのモード」と表現され得る。よって、さらに別の実施形態では、デバイス３は、そのようなアクセスのモードを制御する、デバイス３のＯＳの動作を通じて、１つまたは複数の許可を識別するよう動作可能とすることができる。より具体的には、デバイス３（またはデバイスを操作するユーザ）は、識別された許可に基づき、デバイスの機能、デバイスに関連付けられたプロセス、またはデバイスに関連付けられたサービスへのアクセスを、付与または拒否するよう動作可能とすることができる。
【００３４】
本明細書で使用される、「アクセス」という用語の意味は、少なくとも以下のように、「記憶」または「転送」という用語の意味とは異なることを理解されたい。アクセスとは、（ａ）メモリに既に記憶されている可能性のあるデータを分析する能力、または（ｂ）デバイス、アプリケーションなどの機能にアクセスする能力、のどちらかを表す。読み込みおよび書き込み動作はともに、そのようなアクセスの例である。例えば、表示のため、アプリケーションに、オーディオ／ビデオメモリから記憶されたビデオを読み込むことを可能にさせる、という許可は、アクセスの一例である。さらに、アプリケーション（またはユーザ）に、ウェブカメラを使用することを可能にさせる、という許可も、そのアプリケーション（またはユーザ）に対するアクセスの付与である。これらは、考え得る多数の例のうちの２つにすぎず、データへのアクセスの制御、ならびにアプリケーションまたはデバイスに関連付けられた機能、プロセス、およびサービスへのアクセスの制御は、アクセスという用語の意味の範疇に含まれることが理解される。代替実施形態では、ウェブベースカメラを使用して画像をキャプチャするなどの機能、プロセス、またはサービスへのアクセスが、アプリケーションまたはユーザに付与されてもよいが、同時に、記憶された画像へのアクセスは付与されない場合もあるということに留意されたい。したがって、データへのアクセス、ならびに機能、プロセス、およびサービスへのアクセスは、アクセス制御モデル内の、所与の許可（複数可）によって分離され得る。
【００３５】
それに対し、記憶または転送は、データを分析またはさらに使用することがない、単なる記憶または転送のことを指す。したがって、許可は、アプリケーションに、ファイル間のデータ転送、またはメモリへのデータ記憶の許可を付与し得るが、アプリケーションがデータ自体を分析または使用することを許可し得ない。
【００３６】
続けて、代替実施形態では、デバイス３は、ＯＳの動作を通じて、プライベートデータに関連付けられた１つまたは複数の許可を識別し、次いで、識別された許可に基づきプライベートデータの１つまたは複数の部分へのアクセスを付与または拒否するよう動作可能とすることができる。そのうえ、アクセスを付与されているユーザ、アプリケーション、またはデバイスが、メモリ内のプライベートデータの追加修正を要求する場合、そのようなアクションは、識別された許可に基づき、付与または拒否されてもよい。
【００３７】
いくつかの実施形態では、所与のユーザ、アプリケーション、またはデバイスが、多数の許可に関連付けられてもよい。２つまたはそれ以上のユーザ、アプリケーション、またはデバイスが互いに通信を開始すると、許可の数が劇的に増加する可能性がある。多数の許可は、プライベートデータ、またはプライベートデータの流れへの不用意なアクセスを許し得る動作を招くおそれがあり、ことによると、その許可が、他人が悪意をもってプライベートデータにアクセスすることを可能にするおそれもある。例えば、デバイス３のユーザは、プライベートデータが、そのユーザのデバイスからデバイス２に流れることを可能にするものの、その他のいかなるデバイスに流れることも可能にしない、という許可に関連付けられてもよい。しかし、デバイス２のユーザは、プライベートデータが、デバイス２から、他のいくつかのユーザデバイスに流れることを可能にする許可に、関連付けられてもよい。デバイス３からのプライベートデータが、デバイス２以外のいかなる他のデバイスにも流れないことを保証するために、片方または両方のデバイス（例えば、プロセッサ２１、３１）は、データ流、デバイス、ユーザ、またはアプリケーションに関連付けられた許可および他の条件を識別および分析する、到達性分析を完了するよう動作可能とすることができる。
【００３８】
いくつかの実施形態では、到達性分析は「有向グラフ」を使用することができ、この場合、プライベートデータの流れが、有向グラフによって表され得る。例えば、ゲームアプリケーション４ａが、メモリ３０ａ内のプライベートデータにアクセスし、それをメモリ２０ａに転送し、メモリ２０ａにおける、そのストレージを制御できるものと仮定すると、有向グラフは、以下のように表され得る：
（ｉ）メモリ３０ａ  →  アプリケーション４ａ  →  アプリケーション４ａ  →  メモリ２０ａ。
【００３９】
いくつかの実施形態では、到達性分析に含まれる許可は、ＵＩ３２を介したユーザによって生成され、デバイス３に入力されてもよい。例えば、ユーザは、プライベートデータが不用意に、または悪意をもってアクセスされないことを保証するために、許容到達条件（例えば、ファイルのアクセス可またはアクセス不可、あるいは文書の印刷可または印刷不可）を規定するルールのセットを指定することができる。デバイス３は、例えば、新規アプリケーションがデバイス３にインストールされることを試みるたびに、またはデバイス３によって既に記憶されているアプリケーションのセキュリティ設定上に修正が試みられるたびに生成される、これらのルールおよび関連付けられた許可を、再調査するよう動作可能とすることができる。新規アプリケーションもしくはソフトウェアコンポーネントのインストールの試み、またはセキュリティ設定の変更もしくは別の許可への変更の試み（まとめて「試みられたアクション」と表現される）が、１つまたは複数のルールまたは関連付けられた許可に違反する可能性があると決定された場合、デバイス３（例えば、そのプロセッサおよびＯＳ）は、例えば、その試みられたアクションをキャンセルし、アラームや警告を生成および出力することにより、ユーザに通知するよう動作可能とすることができる。
【００４０】
許可の数およびタイプは、多数かつ可変的なものとなり得る。上述の許可に加えて、別のタイプの許可は、（ａ）ユーザ、アプリケーション、またはデバイスに、読み込み動作を通じて、所与のリソース（例えば、電話帳）、またはリソースのサブセット（例えば、特定の電話帳エントリ、ファイルシステム内の特定のサブフォルダ、画像フォルダなど）へのアクセスを付与するものの、（ｂ）同一のエンティティ／コンポーネントの、インターネットまたはクラウドストレージプロバイダを介した、外部データストレージデバイスへの書き込み（例えば、アップロード）権限を拒否する、といった情報を含むことができる。別のタイプの許可は、所与のリソース（例えば、メモリ３０ａ）が、インターネットからデータを読み込む許可を付与されている特定のアプリケーションから、データを受信できるか否かを掌握する情報を含むことができる。さらに別のタイプの許可は、機密性の高いデータが、例えば、（ａ）特定のリソース（例えば、メモリ３０ａ）から別の特定のリソース（例えば、メモリ２０ａ）へ出力され得るか否か、または（ｂ）暗号化／復号され得るか否か、を掌握する情報を含むことができる。さらに詳述すると、ある実施形態では、例えば、許可が生成され、それがデータの一方向流（例えば、メモリへの入力）への暗号化を含む場合、同一の許可（または第２の、リンクされた許可）が、その戻り、逆、または反対方向（例えば、メモリからの出力）への復号も実施することができる。いくつかの実施形態によれば、暗号化および復号は、アプリケーションではなく、ＯＳによって制御されてもよい。したがって、所与のアプリケーションは、暗号化／復号を「迂回」、または別の方法で回避することはできない。
【００４１】
上記の有向グラフ（ｉ）は、他のユーザ／デバイス／アプリケーションが、メモリ３０ａからメモリ２０ａに転送されたデータにアクセスすることを妨げようとする要求を、明示的に含んだり、示したりはしていない。ある実施形態では、プライベートデータを暗号化する、追加のプロセスが含まれてもよい。暗号化を含む、関連付けられた有向グラフは、以下のように表され得る：
（ｉｉ）メモリ３０ａ  →  Ｅ  →  アプリケーション４ａ  →  アプリケーション４ａ  →  メモリ２０ａ。
【００４２】
この「Ｅ」の表記は、メモリ３０ａからのプライベートデータが、アプリケーション４ａに転送される前に暗号化された、ということを示す。繰り返すが、これは、アプリケーションではなく、ＯＳが、暗号化（ならびに復号）を制御する実施形態を示す助けとなる。ひとたび暗号化されると、転送されたプライベートデータへのアクセスは、通常、（以下により詳細に説明するように）復号を通じてのみ可能であるため、メモリ２０ａから別のユーザ、デバイスなどへのデータ転送が、そのようなデータへのアクセスをもたらし得ないことを保証する。有向グラフの生成および表示は、本来なら、プライベートデータへの不用意な、または悪意あるアクセスにつながりかねない動作を、ユーザが発見するのを援助することができる。上述の有向グラフは、いくつかの実施形態において生成および表示され得る、多数のグラフのうちの２つにすぎないということに留意されたい。
【００４３】
先に触れたように、許可は、読み込みまたは書き込み動作を含むことができる。読み込みまたは書き込み許可は、メモリ３０ａ、ローカルファイルシステム、およびローカルデータベースなどの、ローカルリソースに関連付けられてもよく、またそれを対象としてもよい。さらに、インターネットそれ自体を含む、リモートに位置するリソースが、所与の許可に関連付けられてもよい。例示的許可は、インターネットからページを読み込むことを可能にし得るが、（ａ）ウェブシステムに、または（ｂ）外部クラウドストレージプロバイダに、または（ｃ）ＦＴＰサーバ、コンテンツ管理システムなどの、他のタイプの外部データストレージシステムに、データを送信することは可能にし得ない。
【００４４】
上で簡潔に記述したように、いくつかの実施形態は、データ流の暗号化を提供する。具体的には、許可が、暗号化／復号情報を含み得る。したがって、一実施形態では、デバイス３は、そのＯＳの動作を通じて、暗号化情報を含む、識別された許可に基づき、１つまたは複数のデータの方向流を暗号化するよう動作可能とすることができる。上で触れたように、（許可の生成を通じて）暗号化／復号を制御するのはＯＳである。プライベートデータの暗号化（および復号）の制御機能を、アプリケーションの代わりにＯＳに置くことは、不用意なアクセスに対する、ある水準の保証を提供する。別の言い方をすると、アプリケーションのプロバイダが、プライベートデータを暗号化するための暗号化機能をアプリケーションに含めない場合、この省略により、データにアクセスすることができなくなる可能性がある。なぜなら、ＯＳが、例えば、記憶されたアクセス制御モデルによって与えられた許可に従って、あらゆるイベントにおいて、そのデータを暗号化し得るからである。
【００４５】
いくつかの実施形態では、暗号化キーへのアクセス、およびその使用は、制限され得る。例えば、デバイス３は、特定のデータ流、特定のユーザ、特定のアプリケーション、または特定のデバイスを扱う場合のみ、暗号化キーにアクセス可能かつ使用可能となるように、そのキーへのアクセスを制限するよう動作可能とすることができる。ある実施形態では、キーへのアクセスの制限は、デバイスのＯＳによって制御され得る。代わりに、デバイス３が、トラステッドプラットフォームモジュール（ＴＰＭ）チップなどの特別な耐タンパコンポーネント、またはスマートカードを備えることもできる。さらに、ＯＳは、デバイス間で暗号化キーが交換される場合（例えば、ユーザが、複数のデバイスから、そのユーザのデータまたはサービスにアクセスし得る場合）に使用され得る、セキュアプロトコルの使用を制御することができる。
【００４６】
暗号化キーの使用によるプライベートデータの暗号化は、暗号化方法の１つである。このような方法が使用されるとき、関連する、復号キーも、暗号化されたデータを復号するために使用され得る。対称暗号化キー（すなわち、同一のキーが暗号化および復号のために使用される）または非対称暗号化キー（すなわち、キーのペアが使用され、この場合、暗号化キーおよび復号キーの両者があわせて生成され得る）を含む、多くのタイプの暗号化および復号キーが使用され得ることを理解されたい。さらに、キーの長さは、所望される暗号化の度合（例えば、弱から強）に基づき、変化してもよい。いくつかの実施形態では、キーは、ファイルシステム内の、ＴＰＭチップなどのデバイス内の特別なコンポーネント内の、またはスマートカードなどの外部デバイス内の、メモリに記憶されてもよい。キーは、プレーンテキスト形式、または暗号化形式で記憶されてもよい。キーは、例えば、ユーザパスフレーズから生成された、さらなるキーを使用して暗号化されてもよい。暗号化キーを生成するための方法および手段は多数あり、したがって、例えば、公開鍵基盤（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ：ＰＫＩ）またはキーエスクロウ機構の使用を含むキーを生成、記憶、および管理するために、そういった手段および方法が、いくらでも使用されてよいことを理解されたい。
【００４７】
関連して、プライベートデータに関連付けられたデータの方向流は、実質的にすべて、識別された許可に従って、流れごとに同一の暗号化キーを使用して、暗号化（および復号）されてもよい。代わりに、プライベートデータに関連付けられたデータの、１つまたは複数の方向流は、識別された許可に基づき、１つまたは複数の流れごとに異なる暗号化キーを使用して、暗号化（および復号）されてもよい。例えば、デバイス３（例えば、そのＯＳ）が、特定のキーを使用して、メモリ３０ａからのデータを暗号化する場合、デバイス２が、関連するキーを使用してそのデータを復号し、次いで、例えば、メモリ２０ａ内に、復号したデータを記憶してもよい。この逆も可能である（すなわち、デバイス２が暗号化し、デバイス３が復号する）。
【００４８】
上述のように、データの流れに許可を関連付けることに加えて、許可は、その流れがユーザ、アプリケーション、またはデバイスに、本来的に何度も関係する可能性はあるものの、ユーザ、アプリケーション、またはデバイスにも関連付けられてよい。よって、さらに別の実施形態では、（例えば）デバイス３は、ゲームアプリケーション４ａ（例えば、コンテンツ配布アプリケーション）などのアプリケーションに関連付けられた、１つまたは複数の許可を識別し、次いで、そのＯＳの動作を通じて、アプリケーション４ａに関連付けられた、識別された許可に基づきデータの方向流またはアクセスのモードを制御するよう動作可能とすることができる。先と同様に、許可は、暗号化／復号情報を含み得る。よって、別の実施形態では、デバイス３は、さらに、（ｉ）そのＯＳの動作を通じて、アプリケーション４ａなどのアプリケーションに関連付けられたデータの、実質的にすべての方向流（例えば、デバイス３とデバイス２の間の流れ）を、識別された許可に基づき、流れごとに同一の暗号化キーを使用して、暗号化したり、（ｉｉ）そのＯＳの動作を通じて、アプリケーションに関連付けられたデータの、１つまたは複数の方向流を、識別された許可に基づき、その１つまたは複数の流れごとに異なる暗号化キーを使用して、暗号化したり、（ｉｉｉ）そのＯＳの動作を通じて、アプリケーションに関連付けられたデータの、実質的にすべての方向流を、識別された許可に基づき、流れごとに同一の復号キーを使用して、復号したり、（ｉｖ）そのＯＳの動作を通じて、アプリケーションに関連付けられたデータの、１つまたは複数の方向流を、識別された許可に基づき、その１つまたは複数の流れごとに異なる復号キーを使用して、復号したりするよう動作可能とすることができる。
【００４９】
図１は、ＵＩ２２および３２をそれぞれ描写している。ＵＩは、到達性分析に関連する、いくつかの異なる特徴、機能、および方法を完了するために使用され得る。ＵＩ２２、２３はそれぞれ、例えば、グラフィカルユーザインタフェース（ＧＵＩ）として機能するディスプレイを備えることができる。ある実施形態では、デバイス３のユーザは、ＵＩ３２を使用して、許可を追加、削除、または修正することができる。これらの許可は、デバイス３内のメモリに記憶され得る。許可関連情報（ルール、条件を含む）を、ＵＩ３２を介してユーザから受信すると、デバイス３、具体的にはプロセッサ３１およびそれに関連付けられたＯＳが、その情報に基づき、１つまたは複数の関連付けられた有向グラフを生成するよう動作可能とすることができる。ひとたびグラフが生成されると、デバイス３が、さらに、こうして生成された有向グラフを、例えば、ＵＩ３２の部分をなすディスプレイ上に表示するよう動作可能とすることができる。先と同様に、許可は、データの流れ、１人または複数のユーザ、１つまたは複数のアプリケーション、１つまたは複数のデバイス、またはこれらのパラメータの組み合わせと関連付けられてもよい。ＧＵＩを介して、有向グラフをユーザに表示することにより、そのユーザは、問題が疑われるデータ流、すなわち、例えば、プライベートデータへの、またはプライベートデータの流れへの不用意なアクセスにつながり得るデータ流を、すばやく識別できるようになる可能性がある。
【００５０】
上述の有向グラフ（ｉ）および（ｉｉ）は、生成され得る多数のタイプのグラフのうちの２つにすぎない。グラフを表示することに加えて、ＧＵＩは、例えば、暗号化に関連するグラフの部分など、グラフの一部分を、ユーザ（またはデバイス）が、より容易に気付く、または発見できるように、視覚的に強調するか、または目立つフォントもしくは別のインジケータを使用するよう動作可能とすることもできる。同様に、ＧＵＩは、グラフ（ｉ）および（ｉｉ）において使用される、記号「→」など、いくつかの記号を使用して、グラフの２箇所の間のつながりを示すよう動作可能とすることができる。さらに、ＧＵＩは、例えば、１つの部分またはつながりを他から区別するために、ある部分またはつながりを、１つまたは複数の異なる色で表示することができる（上記の記述は、まとめて、グラフのある部分を「視覚的に強調する」と表現され得る）。
【００５１】
こうして生成された有向グラフは、潜在的到達「パス」を決定するのに使用され得る。すなわち、デバイス３は、潜在的開始または送信元ポイント（例えば、メモリ３０ａ）を、中間ポイント（例えば、メモリ２０ａ）、および宛先ポイント（例えば、ネットワーク１内の別のノード）とともに、そのようなポイントに関連付けられた許可に加えて受信し、例えば、送信元から中間ポイント、そして宛先ポイントへの、プライベートデータの流れ（でなくとも）を表す有向グラフとしてのパスを、生成および表示するよう動作可能とすることができる。ＧＵＩ２２、３２上での潜在的パスの表示により、ユーザまたは管理マネージャが、意図的であれ不用意であれ、プライベートデータへの、またはプライベートデータの流れへのアクセスにつながり得るこれらのパスを可視化あるいは別の方法で決定することや、既存の条件（すなわち、許可）への違反を可視化または決定することを、援助することができる。
【００５２】
追加の例は、ＧＵＩ２２、３２の有用性を示す助けとなり得る。デバイス２などの外部クラウドプロバイダが、メモリ３０ａ内に記憶された、ユーザのデータ向けとなる、効果的なデータバックアップサービスを提供できるように、ユーザは、情報の入力、または別の方法でデバイス３（例えば、そのＯＳ）の構成を行って、メモリ３０ａからのプライベートデータが暗号化され、次いで、外部クラウドプロバイダによって操作されるデバイスに送信されることを可能にする、許可または条件を生成することができる。しかし、この例では、許可または条件は、クラウドプロバイダがプライベートデータにアクセスすることを許可し得ない（すなわち、データがプロバイダによって復号されることは不可能である）。代わりに、データは、例えば、メモリ２０ａに単純に記憶される。別の例では、ユーザは、入力または別の方法でデバイス３の構成を行って、プライベートデータを、メモリ３０ａから、その他のすべてのユーザ、アプリケーション、またはデバイスに送信することへのあらゆる要求を、たとえそのデータが暗号化されていたとしても、禁止または拒否する、許可または条件を生成することができる。
【００５３】
いくつかの時点で、予め生成された、有向グラフが存在してもよい。よって、これらのグラフを分析するための、方法およびデバイスが提供される。例えば、ユーザは、１つまたは複数の既存のグラフを、ＧＵＩ３２の部分をなすディスプレイ上に表示するために、そのＧＵＩを操作するよう操作可能であってよい。既存のグラフが表示されている間、ユーザは、潜在的な新規許可または条件が、既存のグラフ上でもち得る効果、ならびにグラフの各部に関連付けられた、データ流、ユーザ、デバイス、およびアプリケーションを可視化でき得る。ユーザは、ＵＩ３２上に特定のグラフを表示することにより、示された問題のトラブルシューティングを行うことができる。表示が行われた後、ユーザは、パス、およびパスに関連付けられたデータ流、ユーザ、デバイス、およびアプリケーション（まとめて、パスまたはグラフの「コンポーネント」と表現される）を、ＧＵＩ３２上に可視化でき得る。ある実施形態では、グラフの表示は、コンポーネントのうちの１つが問題の原因となる可能性があるかどうかを、ユーザが発見する助けとなり得る。問題が疑われるコンポーネントが問題の原因と識別された場合、デバイス３は、ＧＵＩ３２を介してユーザから入力を受けると（またはファームウェアなどを通じて、デバイス自身により）、例えば、問題が疑われるコンポーネント（例えば、アプリケーション）のアンインストール、問題が疑われるコンポーネント（例えば、ユーザまたはデバイス）の切断、または問題が疑われるコンポーネント（例えば、ファイル）の検疫を行うことにより、修正動作をとるよう動作可能とすることができる。これらは、プライベートデータへの、またはプライベートデータの流れへの不用意な、または悪意あるアクセスを防ぐために、ユーザまたはデバイス３およびそのＧＵＩ３２によって開始され完了され得る、多数のタイプの修正動作のうちの、わずか一部を挙げたにすぎない。
【００５４】
例示的実施形態が、本明細書に示され、記述されてきたが、開示された実施形態の変形は、本発明の趣旨および範囲から逸脱することなくなされ得ることを理解されたい。例えば、本明細書に記述された以外の、または本明細書に記述されたものと併用する、追加の許可、有向グラフ、およびパスを含む、本明細書に記述された到達性分析の変形は、本発明の範囲内で実装されることが可能であり、続く特許請求の範囲によって包含され得る。
【図１】
0006461137.tif 000002