(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-06
(45)【発行日】2023-12-14
(54)【発明の名称】構造化ユーザーデータファイル内のユーザーコンテンツの難読化
(51)【国際特許分類】
G06F 21/62 20130101AFI20231207BHJP
G06F 3/0482 20130101ALI20231207BHJP
G06F 3/04842 20220101ALI20231207BHJP
【FI】
G06F21/62 345
G06F3/0482
G06F3/04842
(21)【出願番号】P 2022163262
(22)【出願日】2022-10-11
(62)【分割の表示】P 2019552265の分割
【原出願日】2018-03-16
【審査請求日】2022-10-11
(32)【優先日】2017-03-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100147991
【氏名又は名称】鳥居 健一
(72)【発明者】
【氏名】アレン,フィリップ・デービッド
(72)【発明者】
【氏名】ヘルナンデス,サラ・クリスティナ・オロペザ
【審査官】松平 英
(56)【参考文献】
【文献】米国特許出願公開第2016/0063269(US,A1)
【文献】米国特許第9177174(US,B1)
【文献】米国特許出願公開第2008/0228466(US,A1)
【文献】米国特許出願公開第2010/0042583(US,A1)
【文献】米国特許出願公開第2010/0250497(US,A1)
【文献】特表2017-530460(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
3/048-3/04895
12/14
21/00-21/88
G09C 1/00-5/00
H04K 1/00-3/00
H04L 9/00-9/40
(57)【特許請求の範囲】
【請求項1】
ユーザーアプリケーションのデータ難読化フレームワークを提供する、処理システムにより実施される方法であって、
前記ユーザーアプリケーション内で閲覧可能なユーザーデータファイルを含むユーザーコンテンツを、1つ又は複数のチャンクに分割するステップと、
前記ユーザーコンテンツを処理して、前記ユーザーコンテンツの一部分を1つ又は複数の所定のデータスキームに対応する機密コンテンツを含むものとして分類するように構成された分類サービスに、前記1つ又は複数のチャンク及び各チャンクのチャンクメタデータを提供するステップであって、前記チャンクメタデータは、前記ユーザーコンテンツの中での各チャンクの位置オフセット及び長さを含むチャンクプロパティを示す、ステップと、
前記分類サービスから、前記機密コンテンツを含むチャンクの、前記ユーザーコンテンツ中での位置オフセット及び長さを含む指示を受信するステップと、
前記機密コンテンツを含む前記チャンクの前記位置オフセット及び長さに基づいて、前記ユーザーコンテンツ内の前記機密コンテンツの位置を特定するステップと、
前記機密コンテンツをマスキングする前に、ユーザーインタフェース内の前記ユーザーコンテンツの前記1つ又は複数の部分の各々に前記機密コンテンツを含むとして注釈をつける、前記ユーザーインタフェース内で閲覧可能なグラフィック注釈を、前記ユーザーアプリケーションに提示するステップと、
前記ユーザーインタフェースにおいて、前記グラフィック注釈に対応し且つ前記機密コンテンツをマスキングする難読化オプションを示す、グラフィック選択要素を提示するステップと、
関連するユーザーコンテンツについてのグラフィック選択要素における前記難読化オプションのうちの少なくとも1つの前記ユーザーインタフェース内でのユーザー選択に応答して、少なくとも前記関連するユーザーコンテンツを、少なくとも前記関連するユーザーコンテンツのデータスキームを維持する難読化コンテンツで置換するステップと、
を含む、方法。
【請求項2】
前記難読化オプションを、前記選択された部分内の前記機密コンテンツをマスキングする第1のオプションと、前記選択された部分、及び前記選択された部分と同じデータスキームを有する別の機密コンテンツを含む前記ユーザーコンテンツの別の部分内の前記機密コンテンツをマスキングする第2のオプションとを含むものとして提示するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記難読化オプションを、前記選択された部分内のターゲットユーザーコンテンツの難読化版の例を少なくとも示すものとして提示するステップをさらに含む、請求項1に記載の方法。
【請求項4】
前記ユーザーコンテンツの前記1つ又は複数の部分の各々に注釈をつける前記グラフィック注釈が、前記難読化オプションを提示するために前記ユーザーインタフェース内で選択可能な、前記1つ又は複数の部分の各々の近傍に位置決めされたインジケーターを含む、請求項1に記載の方法。
【請求項5】
前記関連するユーザーコンテンツの前記データスキームを維持する前記難読化コンテンツが、前記関連するユーザーコンテンツの前記データスキームを維持しながら、前記関連するユーザーコンテンツの識別を防止するように前記関連するユーザーコンテンツの前記データスキームに部分的に基づいて選択されるシンボルを含む、請求項1に記載の方法。
【請求項6】
前記関連するユーザーコンテンツを前記難読化コンテンツで置換したことに応答して、前記難読化コンテンツを前記分類サービスに提供して、前記難読化コンテンツが別の機密コンテンツを含まないことを確認するステップをさらに含む、請求項1に記載の方法。
【請求項7】
前記1つ又は複数の所定のデータスキームが、1つもしくは複数の所定のコンテンツパターン又は1つもしくは複数の所定のコンテンツタイプを示すものとして前記一部分を識別するために前記ユーザーコンテンツを解析するために使用される1つ又は複数の正規表現によって定義される、請求項1に記載の方法。
【請求項8】
前記1つ又は複数の所定のデータスキームが、難読化される第1の部分と、難読化されないままとなる第2の部分とをそれぞれ含み、難読化される前記第1の部分が、複数の許容される文字を有する位置に対応し、難読化されないままとなる前記第2の部分が、区切り文字を含む許容される文字を1つだけ有し、前記方法が、
前記第1の部分の一部が、難読化後も一意性のために識別可能なままであるように指定されているかどうかを識別し、前記一部を、難読化されないままとなるように指定するステップをさらに含む、請求項1に記載の方法。
【請求項9】
ユーザーアプリケーションのデータ難読化フレームワークであって、
1つ又は複数のコンピューター可読ストレージ媒体と、
前記1つ又は複数のコンピューター可読ストレージ媒体に動作可能に結合された処理システムと、
前記1つ又は複数のコンピューター可読ストレージ媒体に記憶されたプログラム命令であり、前記処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、
前記ユーザーアプリケーション内で閲覧可能なユーザーデータファイルを含むユーザーコンテンツを1つ又は複数のチャンクに分割し、
前記ユーザーコンテンツを処理して、前記ユーザーコンテンツの一部分を1つ又は複数の所定のデータスキームに対応する機密コンテンツを含むものとして分類するように構成された分類サービスに、前記1つ又は複数のチャンク及び各チャンクのチャンクメタデータを提供し、前記チャンクメタデータは、前記ユーザーコンテンツの中での各チャンクの位置オフセット及び長さを含むチャンクプロパティを示し、
前記分類サービスから、前記機密コンテンツを含むチャンクの、前記ユーザーコンテンツ中での位置オフセット及び長さを含む指示を受信し、
前記機密コンテンツを含む前記チャンクの前記位置オフセット及び長さに基づいて、前記ユーザーコンテンツ内の前記機密コンテンツの位置を特定し、
前記機密コンテンツをマスキングする前に、ユーザーインタフェース内の前記ユーザーコンテンツの前記1つ又は複数の部分の各々に前記機密コンテンツを含むとして注釈をつける、前記ユーザーインタフェース内で閲覧可能なグラフィック注釈を、前記ユーザーアプリケーションに提示し、
前記ユーザーインタフェースにおいて、前記グラフィック注釈に対応し且つ前記機密コンテンツをマスキングする難読化オプションを示す、グラフィック選択要素を提示し、
関連するユーザーコンテンツについてのグラフィック選択要素における前記難読化オプションのうちの少なくとも1つの前記ユーザーインタフェース内でのユーザー選択に応答して、少なくとも1つの前記関連するユーザーコンテンツを、少なくとも1つの前記関連するユーザーコンテンツのデータスキームを維持する難読化コンテンツで置換する
ように前記処理システムに指示するプログラム命令と、を含む、データ難読化フレームワーク。
【請求項10】
前記処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、
前記難読化オプションを、前記選択された部分内の前記機密コンテンツをマスキングする第1のオプションと、前記選択された部分、及び前記選択された部分と同じデータスキームを有する別の機密コンテンツを含む前記ユーザーコンテンツの別の部分内の前記機密コンテンツをマスキングする第2のオプションとを含むものとして提示する
ように前記処理システムに指示するプログラム命令をさらに含む、請求項9に記載のデータ難読化フレームワーク。
【請求項11】
前記処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、
前記難読化オプションを、前記選択された部分内のターゲットユーザーコンテンツの難読化版の例を少なくとも示すものとして提示する
ように前記処理システムに指示するプログラム命令をさらに含む、請求項9に記載のデータ難読化フレームワーク。
【請求項12】
前記ユーザーコンテンツの前記1つ又は複数の部分の各々に注釈をつける前記グラフィック注釈が、前記難読化オプションを提示するために前記ユーザーインタフェース内で選択可能な、前記1つ又は複数の部分の各々の近傍に位置決めされたインジケーターを含む、請求項9に記載のデータ難読化フレームワーク。
【請求項13】
前記関連するユーザーコンテンツの前記データスキームを維持する前記難読化コンテンツが、前記関連するユーザーコンテンツの前記データスキームを維持しながら、前記関連するユーザーコンテンツの識別を防止するように前記関連するユーザーコンテンツの前記データスキームに部分的に基づいて選択されるシンボルを含む、請求項9に記載のデータ難読化フレームワーク。
【請求項14】
前記処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、
前記関連するユーザーコンテンツを前記難読化コンテンツで置換したことに応答して、前記難読化コンテンツを前記分類サービスに提供して、前記難読化コンテンツが別の機密コンテンツを含まないことを確認する
ように前記処理システムに指示するプログラム命令をさらに含む、請求項9に記載のデータ難読化フレームワーク。
【請求項15】
前記1つ又は複数の所定のデータスキームが、1つもしくは複数の所定のコンテンツパターン又は1つもしくは複数の所定のコンテンツタイプを示すものとして前記一部分を識別するために前記ユーザーコンテンツを解析するために使用される1つ又は複数の正規表現によって定義される、請求項9に記載のデータ難読化フレームワーク。
【請求項16】
前記1つ又は複数の所定のデータスキームが、難読化される第1の部分と、難読化されないままとなる第2の部分とをそれぞれ含み、難読化される前記第1の部分が、複数の許容される文字を有する位置に対応し、難読化されないままとなる前記第2の部分が、区切り文字を含む許容される文字を1つだけ有し、
前記データ難読化フレームワークが、前記処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、
前記第1の部分の一部が、難読化後も一意性のために識別可能なままであるように指定されているかどうかを識別し、前記一部を、難読化されないままとなるように指定するように前記処理システムに指示するプログラム命令をさらに含む、請求項9に記載のデータ難読化フレームワーク。
【請求項17】
ユーザーアプリケーションを動作させる、処理システムにより実施される方法であって、
ユーザーデータファイルのユーザーコンテンツを、1つ又は複数のチャンクに分割するステップと、
前記ユーザーコンテンツを処理して、前記ユーザーコンテンツの1つ又は複数の部分を1つ又は複数のデータスキームに対応する機密コンテンツを含むものとして分類するように構成された分類サービスに、前記1つ又は複数のチャンク及び各チャンクのチャンクメタデータを提供するステップであって、前記チャンクメタデータは、前記ユーザーコンテンツの中での各チャンクの位置オフセット及び長さを含むチャンクプロパティを示す、ステップと、
前記分類サービスから、前記機密コンテンツを含むチャンクの、前記ユーザーコンテンツ中での位置オフセット及び長さを含む指示を受信するステップと、
前記機密コンテンツを含む前記チャンクの前記位置オフセット及び長さに基づいて、前記ユーザーコンテンツ内の前記機密コンテンツの位置を特定するステップと、
前記機密コンテンツをマスキングする前に、ユーザーインタフェース内の前記ユーザーコンテンツの前記1つ又は複数の部分の各々に前記機密コンテンツを含むとしてフラグを設定する注釈を、前記ユーザーインタフェース内に提示するステップであって、前記注釈は、前記1つ又は複数の部分の各々の近傍に位置決めされ、難読化オプションを提示するために前記ユーザーインタフェース内で選択可能である、ステップと、
前記注釈のうちの第1の注釈の選択に応答して、前記ユーザーインタフェースにおいて、前記注釈に対応し、且つ関連する機密コンテンツを置換するための第1の難読化オプションを示す、グラフィック選択要素を提示するステップと、
前記第1の難読化オプションのうちの少なくとも1つの前記ユーザーインタフェース内でのユーザー選択に応答して、少なくとも1つの前記関連する機密コンテンツを、少なくとも1つの前記関連する機密コンテンツのデータスキームを維持する難読化コンテンツで置換するステップと、
を含む、方法。
【請求項18】
前記関連する機密コンテンツを前記難読化コンテンツで置換する第1のオプションと、前記関連する機密コンテンツ、及び前記関連する機密コンテンツと同じデータスキームを有する前記ユーザーデータファイルの別の機密コンテンツを置換する第2のオプションとを含むものとして、前記第1の難読化オプションを提示するステップをさらに含む、請求項17に記載の方法。
【請求項19】
前記関連する機密コンテンツの前記データスキームを維持する前記難読化コンテンツが、前記関連するユーザーコンテンツの前記データスキームを維持しながら、前記関連する機密コンテンツの識別を防止するように選択される1つ又は複数のシンボルを含み、前記1つ又は複数のシンボルが、前記関連する機密コンテンツの前記データスキームに部分的に基づいて選択される、請求項17に記載の方法。
【請求項20】
前記1つ又は複数のデータスキームが、難読化される第1の部分と、難読化されないままとなる第2の部分とをそれぞれ含み、難読化される前記第1の部分が、複数の許容される文字を有する位置に対応し、難読化されないままとなる前記第2の部分が、区切り文字を含む許容される文字を1つだけ有し、前記方法が、
前記第1の部分の一部が、難読化後も一意性のために識別可能なままであるように指定されているかどうかを識別し、前記一部を、難読化されないままとなるように指定するステップをさらに含む、請求項17に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、構造化ユーザーデータファイル内のユーザーコンテンツの難読化に関する。
【背景技術】
【0002】
[0001]様々なユーザープロダクティビティアプリケーションにより、ユーザーコンテンツのデータ入力及び解析が可能である。これらのアプリケーションは、スプレッドシート、プレゼンテーション、テキストドキュメント、混合メディアドキュメント、メッセージングフォーマット、又はその他のユーザーコンテンツフォーマットを使用した、コンテンツの作成、編集、及び解析を実現することができる。このユーザーコンテンツの中でも、様々なテキスト、英数字、又はその他の文字に基づく情報は、ユーザー又は組織が、出版又は配信される作品に含めたくないと思う可能性がある機密データ(sensitive data)を含むこともある。例えば、スプレッドシートは、社会保障番号(SSN)、クレジットカード情報、医療識別番号、又はその他の情報を含むこともある。このデータ又はユーザーコンテンツを入力するユーザーは、こうした機密データを閲覧する許可を有していることがあるが、他のエンティティ又は配信エンドポイントは、その許可を有していないこともある。
【0003】
[0002]情報の保護及び管理技術は、この機密データの不正流用及び不適切な割当てを回避しようとするデータ損失防止(DLP)と呼ばれることがある。スプレッドシート、スライドに基づくプレゼンテーション、及びグラフィック作図アプリケーションに含まれるものなど、特定のコンテンツフォーマット又はコンテンツタイプでは、ユーザーコンテンツは、様々なセル、オブジェクト、又はその他の構造化もしくは半構造化データエンティティに含まれる可能性がある。さらに、機密データは、複数のデータエンティティの間で分割されることもある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
このようなドキュメントが機密データを含むときに、機密データの損失を識別し、損失から保護しようとすると、様々な困難が生じる可能性がある。
【課題を解決するための手段】
【0005】
[0003]本明細書では、ユーザーアプリケーションのデータ難読化フレームワークのシステム、方法、及びソフトウェアを提供する。例示的な方法は、ユーザーコンテンツを、ユーザーコンテンツを処理して、ユーザーコンテンツの一部分を機密コンテンツを含むものとして分類するように構成された分類サービスに提供するステップと、分類サービスから、機密コンテンツを含むユーザーコンテンツを示す指示を受信するステップと、を含む。この方法は、ユーザーコンテンツに機密コンテンツを含むとして注釈をつけるグラフィック指示を、ユーザーアプリケーションへのユーザーインタフェースに提示するステップと、ユーザーインタフェースにおいて、ユーザーコンテンツの中の少なくとも選択された部分内の機密コンテンツをマスキングする難読化オプションを提示するステップと、を含む。この方法は、難読化オプションのうちの少なくとも1つのユーザー選択に応答して、関連するユーザーコンテンツを、関連するユーザーコンテンツのデータスキームを維持する難読化コンテンツで置換するステップを含む。
【0006】
[0004]この発明の概要は、以下の発明を実施するための形態においてさらに説明する一連の概念を簡単な形態で紹介するために与えたものである。この概要は、請求対象となる主題の重要な特徴又は不可欠な特徴を特定するためのものではなく、また請求対象となる
主題の範囲を限定するために使用されるように意図されたものでもない。
【0007】
[0005]本開示の多くの態様は、以下の図面を参照するとより深く理解することができる。これらの図面と関連付けていくつかの実施態様について説明するが、本開示は、本明細書に開示するこれらの実施態様に限定されない。逆に、全ての代替形態、修正形態、及び均等物をカバーするものとして意図されている。
【図面の簡単な説明】
【0008】
【
図1】[0006]1例におけるデータ損失防止環境を示す図である。
【
図2】[0007]1例におけるデータ損失防止環境の要素を示す図である。
【
図3】[0008]1例におけるデータ損失防止環境の要素を示す図である。
【
図4】[0009]1例におけるデータ損失防止環境の動作を示す図である。
【
図5】[0010]1例におけるデータ損失防止環境の動作を示す図である。
【
図6】[0011]1例におけるデータ損失防止環境の動作を示す図である。
【
図7】[0012]1例におけるデータ損失防止環境の動作を示す図である。
【
図8】[0013]1例におけるデータ損失防止環境のデータしきい値動作を示す図である。
【
図9】[0014]本明細書に開示するアーキテクチャ、プロセス、プラットフォーム、サービス、及び動作シナリオのうちのいずれかを実施するのに適したコンピューティングシステムを示す図である。
【発明を実施するための形態】
【0009】
[0015]ユーザープロダクティビティアプリケーションは、スプレッドシート、スライド、ベクターグラフィックス要素、ドキュメント、電子メール、メッセージングコンテンツ、データベース、又はその他のアプリケーションデータのフォーマット及びタイプを使用した、ユーザーによるデータ及びコンテンツの作成、編集、及び解析を実現する。ユーザーコンテンツには、様々なテキスト、英数字、又はその他の文字に基づく情報が含まれ得る。例えば、スプレッドシートは、社会保障番号(SSN)、クレジットカード情報、医療識別番号、パスポート番号、又はその他の情報を含むこともある。このデータ又はユーザーコンテンツを入力するユーザーは、機密データを閲覧する許可を有することがあるが、他のエンティティ又は配信エンドポイントは、そのような許可を有していないこともある。どのタイプのデータ又はユーザーコンテンツが性質的に機密であるかを示す、様々なプライバシーポリシー又はデータプライバシー規則を確立することができる。本明細書に記載する強化型データ損失防止(DLP)対策を実施すれば、この機密データの不正流用及び不適切な割当てを回避することができる。
【0010】
[0016]スプレッドシート、スライドに基づくプレゼンテーション、及びグラフィック作図アプリケーションに含まれるものなど、特定のコンテンツフォーマット又はコンテンツタイプでは、ユーザーコンテンツは、様々なセル、オブジェクト、又はその他の構造化もしくは半構造化データエンティティに含まれ得る。さらに、機密データは、複数のデータ要素又はエンティティの間で分割されることもある。本明細書の例は、構造化データ要素を含むユーザーデータファイル中の機密データの強化した識別を提供する。さらに、本明細書の例は、機密データについてユーザーに通報する(alert)ための強化したユーザーインタフェースも提供する。これらのユーザーインタフェース要素は、個々の機密データを含むデータをマークする要素、並びにコンテンツの編集中に通報するためのしきい値を含み得る。
【0011】
[0017]スプレッドシートアプリケーションなど、構造化データ要素を使用する1つの例示的なアプリケーションでは、行列状に配列されたセルにデータを入力することができる。各セルは、ユーザーデータ又はユーザーコンテンツを含むことができ、また、1つ又は複数の他のセルのユーザー入力データを参照することができる計算を実行するために使用される1つ又は複数の表現も含むことができる。スライドショープレゼンテーションアプリケーションなど、他のユーザーアプリケーションは、複数のスライド上に、並びにそれらのスライドに含まれるオブジェクト内に、ユーザーコンテンツを含むことができる。
【0012】
[0018]本明細書の例及び実施態様は、データ損失防止サービスのための強化した動作及び構造を提供するので有利である。これらの強化した動作及び構造は、ドキュメント内の、特にスプレッドシート、プレゼンテーション、及びグラフィック作図などの構造化ドキュメントの機密コンテンツの識別が速くなるという技術的効果を有する。さらに、複数のアプリケーションが、多数の異なるアプリケーション及びエンドユーザープラットフォームにまたがってユーザーデータファイル内の機密コンテンツの検出及び識別を提供する1つの分類サービスを共有することもできる。エンドユーザーレベルの注釈及び難読化プロセスも、アプリケーションとのユーザーインタフェースにおいて有意な利点及び技術的効果をもたらす。例えば、機密コンテンツのグラフィック注釈、及び様々な難読化又はマスキングオプションを提示するポップアップダイアログボックスを、ユーザーに提示することができる。また、様々な強化された注釈しきい値を確立し、機密コンテンツをユーザーに対して動的に示して、ユーザーコンテンツの編集及び機密データの難読化をさらに効率的に、かつ様々なデータ損失防止のポリシー及び規則にさらに準拠するようにすることもできる。
【0013】
[0019]ユーザーアプリケーションのためのデータ損失防止環境の第1の例として、
図1を与える。
図1は、1例におけるデータ損失防止環境100を示す図である。環境100は、ユーザープラットフォーム110と、データ損失防止プラットフォーム120とを含む。
図1の要素は、1つ又は複数の物理的又は論理的通信リンクを介して通信することができる。
図1には、リンク160~161が示してある。ただし、これらのリンクは、単なる例示に過ぎず、1つ又は複数の追加のリンクが含まれてもよく、それらは、ワイヤレスの部分、有線の部分、光学的な部分、又は論理的な部分を含んでもよいことを理解されたい。
【0014】
[0020]データ損失防止フレームワークは、特定のユーザーアプリケーションにローカルな部分と、多数のアプリケーションにまたがって利用される共用部分とを含んでもよい。ユーザープラットフォーム110は、ユーザーがユーザーインタフェース112を介してユーザーアプリケーション111の要素と対話するためのアプリケーション環境を提供する。アプリケーション111とのユーザー対話中に、コンテンツの入力及びコンテンツの走査が実行されることもある。アプリケーションデータ損失防止(DLP)モジュール113は、アプリケーション111内における機密データの注釈及び置換のための機能の部分を提供することができる。アプリケーションDLPモジュール113は、この例ではユーザープラットフォーム110にローカルであるが、アプリケーション111から分離している、又はアプリケーション111に一体化されていることもある。アプリケーションDLPモジュール113は、ユーザー及びアプリケーション111の機密データの注釈及び置換を提供することができる。データ損失防止プラットフォーム120は、データ損失防止フレームワークの共用部分を提供し、関連付けられた位置のDLP部分193を有するアプリケーション190などの多数のアプリケーションが共用するための共用DLPサービス121を提供する。
【0015】
[0021]動作時には、アプリケーション111は、1つもしくは複数のデータファイルを介してロードすることができる、又はユーザーインタフェース112を介して入力することができるユーザーコンテンツの入力、編集、及びその他の操作を行うなど、ユーザーがアプリケーション111と対話することを可能にするユーザーインタフェース112を提供する。
図1には、行列状に配置されたセルを有するスプレッドシートブックが示してあ
る。アプリケーション111の一部として、機密ユーザーコンテンツを識別して、ユーザーが機密ユーザーコンテンツを安全なテキスト又はデータで置換することができるようにする、データ損失防止サービスが提供される。機密コンテンツは、プライバシーに関連し得るコンテンツ、プライバシーポリシー/規則、又は拡散することが望ましくない、もしくは不要なその他の性質を含む。この文脈におけるデータ損失とは、個人データ又は機密データが未承認のユーザー又はエンドポイントに拡散することを指す。
【0016】
[0022]機密コンテンツを識別するために、アプリケーション111は、ユーザーコンテンツを複数のピース又はチャンクに分割し、そのピース又はチャンクをデータ損失防止サービスに提供する。
図1には、個々のコンテンツ部分141~145が時間経過とともにDLPサービス121に提供されるコンテンツ部分140が示してある。通常は、アプリケーション111は、アプリケーション111に関係する1つ又は複数の処理スレッドが遊休状態である、又はアクティビティしきい値未満であるときなど遊休期間中に、ユーザーコンテンツを処理して複数の部分に分割する。以下で述べるように、構造化ユーザーコンテンツは、分割プロセス中に「フラット化」又は非構造化配置に変換される。この非構造化配置には、DLPサービス121による処理にとっていくつかの利点がある。
【0017】
[0023]次いで、DLPサービス121は、ユーザーコンテンツの各部分又は「チャンク」を個々に処理して、それらの部分が機密コンテンツを含むかどうかを判定する。データスキーム、データパターン、又はプライバシーポリシー/規則など、様々な分類規則125をDLPサービス121に導入して、機密データの識別を行うことができる。DLPサービス121がユーザーコンテンツの個々のチャンクのそれぞれを解析した後で、ユーザーデータファイル内の機密データの位置オフセットを決定し、アプリケーションDLPモジュール113に対して示す。アプリケーションDLPモジュール113内のマッパー機能が、チャンクのオフセットとドキュメントの構造との間の構造的関係を決定する。位置オフセット、機密データの長さ、機密データのタイプを示す指示を、機密データ指示150として示すように、アプリケーション111に提供することができる。DLPサービス121によって示される位置オフセットは、その機密コンテンツについてのユーザーデータファイルの構造要素の中での正確な、又は詳細な位置を生じないこともある。これらの例では、アプリケーション111のアプリケーションDLPモジュール113が、マッピングプロセスを利用して、機密データを含む具体的な構造要素を決定することができる。
【0018】
[0024]詳細な位置が決定されると、アプリケーション111は、ユーザーインタフェース112内で機密データに注釈をつけることができる。この注釈は、機密データのグローバル又は個別のフラグ設定又はマーキングを含んでもよい。注釈は、ユーザーインタフェース中に提示される「ポリシーヒント」を含むことができる。次いで、ユーザーコンテンツを難読化するなどして元の機密コンテンツとして識別不能にする1つ又は複数のオプションを、ユーザーに提示することができる。機密コンテンツの通知について、ユーザーデータファイル内に存在する機密データの数又は量に基づいてトリガするように、様々なしきい値を確立することができる。
【0019】
[0025]1例では、ユーザーデータファイル114は、スプレッドシートブックの特定のワークシート又はページに関連付けられていることもあるユーザーデータファイル114の特定のセルに、コンテンツ115、116、及び117を含む。様々なコンテンツが、これらの関連するセルに含まれてもよく、このコンテンツは、
図1においてSSN、電話番号、及び住所として示す例のように、機密であり得るデータを含んでもよい。このコンテンツの一部は、複数のセルにまたがる、又は複数のグラフィックオブジェクトにまたがるなど、ユーザーデータファイルの構造的境界を越えることもある。「チャンク」がデータを複数の行又は行グループに分割する場合には、フラット化表現(すなわち任意の構造的コンテンツが除去されている)で、依然として1つ又は複数のセル内の機密データを識
別することができる。
【0020】
[0026]ユーザープラットフォーム110及びDLPプラットフォーム120のそれぞれの要素は、通信インタフェース、ネットワークインタフェース、処理システム、コンピューターシステム、マイクロプロセッサ、ストレージシステム、ストレージ媒体、又はその他の何らかの処理デバイスもしくはソフトウェアシステムを含んでもよく、複数のデバイス間に、又は複数の地理的位置間に分散していてもよい。ユーザープラットフォーム110及びDLPプラットフォーム120のそれぞれの要素の例は、オペレーティング・システム、アプリケーション、ログ、インタフェース、データベース、ユーティリティ、ドライバ、ネットワーキングソフトウェア、及びコンピューター可読媒体に格納されたその他のソフトウェアなどのソフトウェアを含んでもよい。ユーザープラットフォーム110及びDLPプラットフォーム120のそれぞれの要素は、分散型コンピューティングシステム又はクラウドコンピューティングサービスをホストとする1つ又は複数のプラットフォームを含んでもよい。ユーザープラットフォーム110及びDLPプラットフォーム120のそれぞれの要素は、ソフトウェア定義インタフェース、及びアプリケーションプログラミングインタフェース(API)などの論理的インタフェース要素を含んでもよい。
【0021】
[0027]ユーザープラットフォーム111の要素は、アプリケーション111と、ユーザーインタフェース112と、アプリケーションDLPモジュール113とを含む。この例では、アプリケーション111は、スプレッドシートアプリケーションを含む。ユーザーアプリケーション111は、プロダクティビティアプリケーション、通信アプリケーション、ソーシャルメディアアプリケーション、ゲーミングアプリケーション、モバイルアプリケーション、又はその他のアプリケーションなど、任意のユーザーアプリケーションを含むことができることを理解されたい。ユーザーインタフェース112は、ユーザーに対して表示される出力を生成することができ、かつユーザーからの入力を受け取ることができる、グラフィカルユーザーインタフェース要素を含む。ユーザーインタフェース112は、ユーザーインタフェースシステム908について
図9に示して後述する要素を含むことができる。アプリケーションDLPモジュール113は、動作の中でも特に、コンテンツを分類サービスに配布するために分割し、機密として示されているデータに注釈をつけ、機密データを難読化するように構成された1つ又は複数のソフトウェア要素を含む。
【0022】
[0028]DLPプラットフォーム120の要素は、DLPサービス121を含む。DLPサービス121は、アプリケーションプログラミングインタフェース(API)122の形態の外部インタフェースを含むが、その他のインタフェースを利用することもできる。DLPサービス121は、トラッカー123、及び分類サービス124も含むが、これらについては、以下でさらに詳細に説明する。API122は、特にウェブインタフェース、API、端末インタフェース、コンソールインタフェース、コマンドラインシェルインタフェース、拡張可能マークアップ言語(XML)インタフェースなどの、1つ又は複数のユーザーインタフェースを含んでもよい。トラッカー123は、構造化ユーザーコンテンツのフラット化部分内の特定のドキュメントについて発見された機密データの数又は量を保持し、また、構造化ユーザーコンテンツ内の機密データの位置に対応する、構造化ユーザーコンテンツのフラット化部分内の位置オフセットのレコードも保持する。トラッカー123は、しきい値解析を実行して、しきい値量の機密データが発見され、アプリケーションDLPモジュール113によって注釈をつけるべきときを決定することもできる。ただし、他の例では、DLPサービス121のしきい値/カウント部分は、DLPモジュール113に含まれることもある。分類サービス124は、フラット化ユーザーコンテンツを解析して、機密データの存在を判定し、機密データを識別する規則及びポリシーを定義する様々な入力を利用することができる。アプリケーションDLPモジュール113及び共用DLPサービス121の要素は、構成の中でも特に、共用DLPサービス121の一部分がアプリケーションDLPモジュール113又はアプリケーション111に含まれる場合など、
図1に示す様々な配置又は分布で構成することができる。1例では、共用DLPサービス121の一部分は、アプリケーション111及びアプリケーションDLPモジュール113によって使用されるユーザープラットフォーム110上に含まれるダイナミックリンクライブラリ(DLL)を含む。
【0023】
[0029]リンク160~161は、分かりやすくするために
図1の要素としては図示していない他のリンクとともに、ワイヤレス又は有線のネットワークリンクを含む1つ又は複数のネットワークリンクなど、1つ又は複数の通信リンクをそれぞれ含み得る。これらのリンクは、様々な論理的インタフェース、物理的インタフェース、又はアプリケーションプログラミングインタフェースを含み得る。例示的な通信リンクは、金属、ガラス、光学材料、空気、空間、又はその他の何らかの材料を伝送媒体として使用することができる。これらのリンクは、インターネットプロトコル(IP)、イーサネット(登録商標)、光/同軸ハイブリッドシステム(hybrid fiber-coax)(HFC)、同期光ネットワーク(SONET)、非同期転送モード(ATM)、時分割多重(TDM)、回線交換、通信シグナリング、ワイヤレス通信、又はこれらの組合せ、改良、もしくは変形を含む、その他の何らかの通信フォーマットなど、様々な通信プロトコルを使用することができる。これらのリンクは、直接リンクであることも、又は中間のネットワーク、システム、もしくはデバイスを含むこともあり、複数の物理リンクを介して転送される論理ネットワークリンクを含んでもよい。
【0024】
[0030]環境100の要素及び動作についてさらに説明するために、
図2を与える。
図2は、要素の中でも特に、アプリケーションDLPモジュール113の例示的な動作を強調するアプリケーションDLPモジュール113の例示的な構成200を示すブロック図である。
図2では、アプリケーションDLPモジュール113は、コンテンツアポーショナー(apportioner)211と、アノテーター(annotator)212と、マッパー213と、オブファスケーター214とを含む。要素211~214はそれぞれ、アプリケーションDLPモジュール113によって利用されて以下に述べるように動作するソフトウェアモジュールを含んでもよい。
【0025】
[0031]動作時には、
図1にユーザーデータファイル114として示すように、スプレッドシートファイル又はブックなどのユーザーコンテンツが、アプリケーションDLPモジュール113に提供される。このユーザーデータファイルは、スプレッドシートの例では行及び列に整理されるセルなど、構造化又は半構造化フォーマットに整理することができる。これに代わり、ページ/スライド及び多数の個別のグラフィックオブジェクトを有するスライドショープレゼンテーション、様々なページに様々なオブジェクトを有するベクター形式の描画プログラム、様々なオブジェクト(表、テキストボックス、ピクチャ)を有するワードプロセッシングドキュメント、データベース、ウェブページコンテンツ、又はそれらの組合せを含むその他のフォーマットなど、他のデータフォーマットを利用することもできる。ユーザーデータファイルは、機密コンテンツ又は機密データを含むこともある。この機密データは、1つ又は複数のパターン又はデータスキームに適合する任意のユーザーコンテンツを含んでもよい。例示的な機密データの種類は、社会保障番号、クレジットカード番号、パスポート番号、住所、電話番号、又はその他の情報を含む。
【0026】
[0032]ユーザーデータファイルの編集又は閲覧と平行して、コンテンツアポーショナー211は、ユーザーコンテンツを、元/ネイティブの構造化又は階層型形態からフラット化形態である1つ又は複数の部分又は「チャンク」に細分する。コンテンツアポーショナー211は、次いで、これらのコンテンツチャンクを、各チャンクのチャンクメタデータとともに、共用DLPサービス121に提供することができる。チャンクメタデータは、コンテンツ全体の中でのチャンクの位置オフセット、及びチャンクの長さなど、様々なチャンクプロパティを示すことができる。位置オフセットは、ユーザードキュメント/ファイル全体に対するチャンクの位置に対応し、チャンク長は、チャンクのサイズに対応する。
【0027】
[0033]共用DLPサービス121は、コンテンツチャンクを個別に解析して、それらのチャンクのフラット化されたユーザーコンテンツの中で機密データを識別し、機密データを示す指示をアプリケーションDLPモジュール113に返送する。以下に述べるいくつかの例では、指示をアプリケーションDLPモジュール113に提供する前に、機密データの数又は量に様々なしきい値を適用する。これらの指示は、機密データを含む各チャンクについてのオフセット、チャンクの長さ、及び任意選択で機密データに関連付けられたデータタイプ又はデータスキームを示すインジケーターを含む。これらの機密データ指示を利用して、ユーザーデータファイルの構造化データの中での機密コンテンツの実際の、又は詳細な位置を決定することができる。データタイプのインジケーターは、整数値など、マッパー213が注釈のためにデータタイプを識別するために使用することができるインジケーターのリストを参照するシンボル又は数値で符号化されたインジケーターとすることができる。
【0028】
[0034]マッパー213を利用して、オフセット及び長さを、ドキュメント又はユーザーファイル内の詳細な位置に変換することができる。オフセット及び長さは、マッパー213によって保持され、セッション識別子と関連付けて格納される詳細なチャンク識別に対応する。セッション識別子は、少なくともユーザーがドキュメントを開いた状態又は閲覧されている状態にしておくセッションの間持続する、一意的な識別子とすることができる。マッパー213は、コンテンツアポーショナー211からチャンクメタデータを提供されると、チャンクのオフセットと、長さと、セッション識別子との間にマップ関係を形成することができる。機密データを示す指示を受信したのに応答して、マッパー213は、マップ関係を利用して、チャンクのオフセット及び長さに対応する、ドキュメント内の機密データについて示される粗い位置を識別することができる。チャンクはユーザーデータファイルの複数の構造的又は階層的要素を含むことがあるので、マッパー213は、機密データについてのユーザーデータファイル内の詳細な位置を発見するために、さらなる位置特定プロセスを実行することもある。
【0029】
[0035]例えば、オフセットが、スプレッドシート内の特定の行又は特定の列など、粗い位置を示すことがある。示された行又は列内のセルなど、詳細な位置を決定するためには、マッパー213は、オフセット/長さを、構造化データ及びユーザーデータファイル自体についてのローカルな知識とともに使用して、構造化データの中での機密データを位置特定することができる。マッパー213は、スプレッドシートの例では、関連する行、列、ワークシートなど、またスライドショーの例では、関連するスライド/ページ、及びオブジェクトなど、ユーザーデータファイル内のどこからチャンクが提供されたかを決定する。ワードプロセッシングの例など、他の例では、構造がそれほどないこともあり、コンテンツは、より容易にフラット化され、オフセットは、ドキュメントのワード数又はそれに類する配置に基づくことができる。
【0030】
[0036]いくつかの例では、特定の粗い位置において機密データを検索することによって、詳細な位置を決定する。特定のオフセットによって複数の構造的要素又は階層的要素が暗示されるときには、マッパー213は、それらの要素のそれぞれを反復して検索又はウォークスルーして、機密データを位置特定することができる。例えば、ドキュメント内に「n」レベルの構造/階層がある場合には、マッパー213は、最初に上層の階層内を移動し、その後に下層の階層内を移動する。スプレッドシートの例では、階層/構造は、関連する行及び列を有するワークシートを含むことがある。ドキュメントプレゼンテーションの例では、階層/構造は、関連する図形/オブジェクトを有するスライド/ページを含むことがある。オフセットによって示される各ワークシート及びスライド内を進行していって、機密コンテンツを含む正確なセル又はオブジェクトを発見することができる。さらに別の例では、機密データの位置特定は、粗い位置に関連する1つ又は複数のチャンクを再作成し、それらの作成したチャンク内で機密データを発見して、機密データの詳細な位置を発見することによって行うことができる。
【0031】
[0037]機密データの詳細な位置が決定されたら、アノテーター212を利用して、ユーザーに対して、機密データにマークするなどしてフラグを設定することができる。この注釈は、機密コンテンツがユーザーデータファイル内に存在することをユーザーに対して示すグローバルなフラグ又はバナーの形態をとることができる。この注釈は、機密データの近傍のマークを示す個別フラグの形態をとることもできる。1例では、
図2は、現在閲覧又は編集のために開いているブックを有するスプレッドシートユーザーインタフェースのビューを有する構成201を示す。バナー注釈220、並びに個別セル注釈221が示してある。個別セル注釈221は、ユーザーコンテンツの1つ又は複数の部分に注釈をつけるグラフィック指示を含み、また、その1つ又は複数の部分の近傍に位置決めされた、ユーザーインタフェース112内で難読化オプションを提示するために選択可能なインジケーターを含む。
【0032】
[0038]特定の注釈が選択されたときに、1つ又は複数のオプションをユーザーに提示することができる。特に切り取り、コピー、貼り付けなど、様々な閲覧/編集オプションを含むポップアップメニュー202が提示されることもある。ポップアップメニュー202は、難読化オプションを含むこともできる。難読化オプションのうちの1つを選択すると、関連するユーザーコンテンツのデータスキームを維持し、関連するユーザーコンテンツのデータスキームを維持しながら、関連するユーザーコンテンツの識別は防止するように選択されたシンボルを含む、難読化されたコンテンツを生成することができる。いくつかの例では、シンボルは、考慮事項の中でも特に、関連するユーザーコンテンツのデータスキームに部分的に基づいて選択される。例えば、データスキームが数値データスキームを含む場合には、難読化シンボルとして文字が使用されることもある。同様に、データスキームが英字データスキームを含む場合には、難読化シンボルとして数字が使用されることもある。英数字コンテンツの例では、難読化シンボルとして、文字と数字の組合せ、又はその他のシンボルが選択されることもある。
【0033】
[0039]
図2では、第1の難読化オプションは、機密コンテンツを、マスクするなどして難読化されたテキストで置換することを含み、第2の難読化オプションは、全てのコンテンツを、現在選択されている注釈のコンテンツと同様のパターン又はデータスキームで置換することを含む。例えば、SSNがセルに含まれる場合には、SSNのデータスキームは変更せずに残しながら、すなわち馴染みのあるダッシュ文字で分離された「3-2-4」の文字配列は変更せずに残しながら、SSN中の数字を文字「X」で置換するオプションが、ユーザーに提示されることもある。さらに、さらなる難読化オプションが、選択したSSNのパターンに適合する全てのSSNを文字「X」で置換するオプションを含み得る。上記とは異なる例示的な難読化オプションを提示することもでき、異なる文字を置換プロセスで使用することもできることを理解されたい。ただし、利用される難読化文字にかかわらず、機密データは、匿名化され、サニタイズされ、「クリーン」になり、又は元のコンテンツとして識別不能になる。
【0034】
[0040]次に
図3を参照すると、DLPサービス121の特徴に注目した例示的な構成300が示してある。
図3では、DLPサービス121は、コンテンツアポーショナー211によって1つ又は複数のコンテンツチャンクに含めて提供される、フラット化されたユーザーコンテンツの一部分を、コンテンツ全体の中でのオフセット及びチャンクの長さを少なくとも含むチャンクメタデータとともに受信する。
図3には、2つの例示的なタイプの構造化ユーザーコンテンツ、すなわちスプレッドシートコンテンツ301、及びスライドショー/プレゼンテーションコンテンツ302が示してある。スプレッドシートコンテンツ301は、個々のセルを定義する行321及び列322を反映した構造を有する。さらに、スプレッドシートコンテンツ301は、このワークシートの下にタブで区切られた複数のワークシート320を有することもあり、各ワークシートが、別個の行/列のセットを有することができる。各セルは、文字、英数字コンテンツ、テキストコンテンツ、数字コンテンツ、又はその他のコンテンツなどのユーザーコンテンツを有することがある。スライドショーコンテンツ302は、複数のオブジェクト324を含む1つ又は複数のスライド又はページ323を有することができる。各オブジェクトは、文字、英数字コンテンツ、テキストコンテンツ、数字コンテンツ、又はその他のコンテンツなどのユーザーコンテンツを有することがある。
【0035】
[0041]コンテンツアポーショナー211は、ユーザーコンテンツを複数のピースに細分し、例えばテキスト又は英数字コンテンツなど任意のユーザーコンテンツをセル又はオブジェクトから抽出し、次いで、抽出したコンテンツを、DLPサービス121に送付するために、フラット化された、又は線形のチャンクに配置することなどにより、任意の関連する構造を除去する。これらのチャンク及びチャンクメタデータは、潜在的な機密データを発見するためにDLPサービス121に提供される。
【0036】
[0042]DLPサービス121がユーザーコンテンツの個々のチャンクを受信すると、分類サービス124によって様々な処理がこれらのチャンクに対して実行される。また、トラッカー123は、オフセット/長さ及びセッション識別子を発見された機密データの数と関係付ける1つ又は複数のデータ構造を含むデータレコード332を保持する。データレコード332は、そのDLPサービス121が、機密データを含むチャンクについてのオフセット/長さを、その中で発見された任意の機密コンテンツのさらなる位置特定及び注釈付けが行われるように要求側のアプリケーションに返送するように記憶される。
【0037】
[0043]分類サービス124は、各チャンクを様々な分類規則331と突き合わせて解析して、機密データ又は機密コンテンツを識別する。分類規則331は、チャンクの一部分を1つもしくは複数の所定のコンテンツパターン又は1つもしくは複数の所定のコンテンツタイプを示すものとして識別するためにフラット化チャンク/データ表現を解析するために使用される1つ又は複数の表現によって定義される1つ又は複数の所定のデータスキームを確立することができる。
【0038】
[0044]機密コンテンツは、通常は、機密コンテンツと関連付けられたデータ構造パターン又はデータ「スキーム」に基づいて識別される。これらのパターン又はスキームは、チャンクの正確なコンテンツが異なり得るが、データは機密データタイプを反映するパターン又は配置に適合し得るときを識別することができる。例えば、SSNは、相互に混合され、所定数のダッシュで分離された、所定数の数字を有する特定のデータ配置を有することがある。分類規則331は、機密データの識別において使用される様々な定義及びポリシーを含むことができる。これらの分類規則は、プライバシーポリシー、データパターン、データスキーム、及びしきい値ポリシーを含んでもよい。プライバシーポリシーは、考慮事項の中でも特に、特定の機密である可能性があるデータが、企業、組織、又はユーザーのポリシーにより、アプリケーションに対して機密として示されない可能性があることを示すことがある。しきい値ポリシーは、機密データの存在がアプリケーションに報告される前に様々なチャンク内で機密データを発見するための最小しきい値を確立することがある。分類規則331は、ユーザーが確立することもできるし、又は管理者などのポリシー作成者が確立することもできる。
【0039】
[0045]さらに、分類サービス124は、正規表現(regex)サービス333によって処理される1つ又は複数の正規表現を通してデータコンテンツを処理することができる
。regexサービス333は、ユーザー又はポリシー作成者が機密データの識別のために展開し得る様々な正規表現とともに、正規表現一致及び処理サービスを含んでもよい。regexサービス333のさらに別の例については、
図7を参照して以下で説明する。
【0040】
[0046]具体例として、分類プロセス341は、ドキュメント又はユーザーデータファイルの構造的又は階層的配置に元々含まれていたコンテンツの線形版であるいくつかのコンテンツチャンクC1~C8を示している。分類サービス124は、これらのチャンクを処理して、これらのチャンクのうち機密データを含むものを識別する。任意の機密データが発見された場合には、指示をアプリケーションに提供することができる。これらの指示は、その機密データについてのオフセット及び長さを含んでもよく、マッパー213がユーザーデータファイルの構造内で機密データを位置特定するために提供される。チャンク自体は、各チャンクを処理して機密データの識別を行った後で、分類サービス124によって廃棄することができる。オフセット及び長さによって元のデータファイル内の機密データを発見することができ、(その間に編集が行われていなければ)元のコンテンツがデータファイル内に残るので、処理した後で実際のチャンクを保存する必要はない。
【0041】
[0047]チャンクを形成するために、コンテンツアポーショナー211は、テキストなどの英数字コンテンツを、文字列又はBSTR(基本文字列(basic string)又はバイナリ文字列)などの1つ又は複数の線形データ構造にバンドルする。分類サービス124は、これらの線形データ構造を処理し、結果のリストを決定する。機密データがないかどうかチャンクを検査し、線形データ構造の一部分を、機密コンテンツを有するものとして決定することができる。分類サービス124は、トラッカー123と協働して、線形データ構造の中の機密データを含むチャンクに対応するオフセット/長さを決定する。これらのオフセットは、粗い位置を示すことができ、これらの粗い位置を、ユーザーコンテンツを含む元のドキュメント(例えばユーザーデータファイル)内の詳細な位置に変換することができる。トラッカー123は、チャンクを受信すると、各チャンクを、チャンクメタデータ内に示されるオフセット/長さ情報と相関させることができる。マッパー213は、このオフセット/長さ情報を使用して、元のドキュメントの構造又は階層に逆マッピングすることができる。
【0042】
[0048]ただし、DLPサービス121は、通常は、コンテキストの一部のみを、最初に生成された線形データ構造内のオフセットなどによって示される元のドキュメント又はユーザーデータファイルに戻す。さらに、線形データ構造及びユーザーコンテンツ自体は、分類プロセスの終了時に分類サービス124によって解除/削除されていることもある。これは、分類サービス124が、機密コンテンツを直接検索して、元のドキュメント内で機密データを詳細に位置特定することができないことがあり、分類サービス124が正確な機密コンテンツを検索することができたとしても、「チャンク化」アルゴリズムが元のドキュメント又はデータファイル内の下位層構成又は構造の境界を越えることがあるので、分類サービス124が、機密コンテンツを発見することができないこともあるということを意味し得る。具体例として、スプレッドシートドキュメントのワークシート320は、4つの隣接するセルにまたがるテキスト「SSN 123 45 6789」を有することがある。分類サービス124は、機密コンテンツを含むものとしてこのテキストを発見することができるので有利である。ただし、分類サービス124による越境(boundary-crossing)解析により、ポリシー規則評価の終了時には、分類サービス124は、通常は、元のドキュメント内で機密データを発見してユーザーに提示できるだけの十分なデータを有していない。ユーザーは、機密コンテンツは存在しなかったという誤った印象を持つこともある。
【0043】
[0049]機密コンテンツがないかどうかユーザーコンテンツを効率的にスキャンするために、分類サービス124は、アプリケーションが遊休状態である間のある時点でユーザー
コンテンツのチャンクを読み込み、部分解析を行い、このプロセスを継続する。分類サービス124は、全てのコンテンツの読取りを終了したときに、開始点/オフセット及び長さのみしか有していないなど、元のコンテンツ内での機密コンテンツの粗い位置しか有していない。構造化又は半構造化ドキュメントに効率的に逆マッピングするために、マッパー213は、複数の技術を組み合わせて利用することができる。これらの技術は、コンテンツがしきい値を超えたかどうかを理解するためには、単なる単語/文/段落だけでなくコンテンツ全体が必要となり得ることなどの理由により、スペルチェック及び文章校正の機能の仕方とは異なることに留意されたい。
【0044】
[0050]元のドキュメント内に存在する物理的下位層又は構造(すなわちブックにおけるワークシート、又はプレゼンテーションにおけるスライド)の全てのレベルについて、マッパー213は、識別子を使用して、マッピングデータ構造中の存在を示し、妥当な数の階層レベル(すなわちワークシートにおける行、スライドにおける図形)でコンテンツをさらに細分して、各階層レベルが処理されるにつれて、マッパー213が元のコンテンツの長さを把握し、またマップへの挿入の順序に基づいてその要素の暗黙的な開始点を把握するようになっている。識別子は、特定のドキュメントの開いているインスタンス間で持続するプロセス耐性識別子であることも、又は、その特定のドキュメントの各インスタンスで異なることもある。いくつかの例では、未処理のコンテンツが残っておらず、コンテンツをさらに変化させることになる保留状態の編集もなくなるまで、機密コンテンツの有無を混同する計算は差し控えられる。
【0045】
[0051]機密コンテンツが存在すると仮定すると、マッパー213は、DLPサービス121から、各機密コンテンツの開始点及び長さを受信し、最も正確なマップ領域内の機密コンテンツの識別子及びインセットのマッピングデータ構造においてルックアップを実行して、正確な位置を発見する。実施上の理由から、特定の数の階層レベルしかトラッキングしないこともあり、それによりスライド内の図形内の表、又はワークシート内の行内のセルを個別にトラッキングしないこともある。したがって、正確な位置を発見するために、逆マッピングを行った後で、部分的なリウォーク(re-walk)を実行することもある。
【0046】
[0052]具体例として、ブックが、20枚のワークシートを有し、数百万行、及びその数百万行のそれぞれが、50列のユーザーデータを有することもある。この例において、機密データが比較的少数である(すなわち1枚のシートが機密データを有する列を1列しか有していない)場合には、分類プロセスは、極めてメモリ集中的になり、20×100万×50個の記憶される「長さ+オフセット」データを有することもある。機密データが実際には元のドキュメント内で識別されているときには、最後の次元を除去すると、50倍のメモリ節約になり、計算コストも少なくなる。メモリ占有領域を小さく保ち、開始点/長さを元のコンテンツに逆マッピングすることができるので、有利である。
【0047】
[0053]
図1~
図3の要素の動作をさらに説明するために、
図4に流れ図を与える。
図4には、2つの主要な流れ、すなわち機密データを識別するための第1の流れ400と、機密データの注釈付け及び難読化を行うための第2の流れ401とが示してある。第1の流れ400から第2の流れ401につながることができるが、その他の構成も可能である。
【0048】
[0054]
図4では、DLPサービス121は、関連するフラット化表現に統合された構造化ユーザーコンテンツのサブセットを受信する(410)。これらの関連するフラット化表現はそれぞれ、構造化ユーザーコンテンツの対応するサブセットへのマッピングを有する。上述のように、構造化コンテンツは、シート/行/列に整理されたスプレッドシートコンテンツを含むこともあるし、又は特にスライド/オブジェクトに整理されたスライドショーコンテンツ、ページ/オブジェクトに整理された作図プログラムコンテンツ、もし
くはページに整理されたテキストコンテンツなど、その他の構造を含むこともある。構造化ユーザーコンテンツのこれらのサブセットは、特に、
図1に示す「チャンク」141~146、又は
図3に示すチャンクC
1~C
8を含むことができる。基になるユーザーコンテンツの構造は、これらのサブセットではフラット化又は除去されてチャンクを形成しており、各サブセットが、例えばシート/行/列又はスライド/オブジェクトなどの構造識別子又はローカライザーを参照することによって、元の構造に逆マッピングする。
【0049】
[0055]DLPサービス121は、例えば
図1のリンク160又はAPI122などを介して、これらのチャンク及びチャンクメタデータを受信し、フラット化表現を個別に解析して、一部分を1つ又は複数の所定のデータスキームに対応する機密コンテンツを含むものとして分類する(411)。分類規則125は、チャンクの一部分を1つもしくは複数の所定のコンテンツパターン又は1つもしくは複数の所定のコンテンツタイプを示すものとして識別するために平坦化チャンク/データ表現を解析するために使用される1つ又は複数の表現によって定義される1つ又は複数のデータスキームを確立することができる。
【0050】
[0056]機密データが発見された場合(412)には、各部分について、DLPサービス121は、トラッカー123に保持されるデータレコード332に示される構造化ユーザーコンテンツについての関連するオフセット/長さを決定する(413)。DLPサービス121は、次いで、少なくともそれらの部分についての関連するオフセット/長さをユーザーアプリケーション111に対して示して、ユーザーアプリケーション111へのユーザーインタフェース112内で機密コンテンツがマーク付けされるようにする(414)。機密データが発見されない場合、又はいかなる関連するしきい値も満たされない場合には、チャンクのさらなる処理を継続することができる、又は、ユーザーアプリケーション111から提供される追加のチャンクがないかどうかさらに監視を継続することができる。さらに、ユーザーコンテンツの編集又は変更によって、任意の変更又は編集されたユーザーコンテンツについての分類プロセスの追加又は反復が促されることもある。
【0051】
[0057]アプリケーションDLPモジュール113は、DLPサービス121の分類サービスから、ユーザーコンテンツの機密コンテンツを含む1つ又は複数の部分を示す指示を受信する(415)。ここで、この指示は、機密コンテンツに関連するオフセット/長さを含む。アプリケーションDLPモジュール113は、ユーザーコンテンツのその1つ又は複数の部分に機密コンテンツを含むとして注釈をつけるグラフィックインジケーターを、ユーザーアプリケーション111へのユーザーインタフェース112に提示する(416)。アプリケーションDLPモジュール113は、次いで、ユーザーインタフェース112において、ユーザーコンテンツのその1つ又は複数の部分のうちの少なくとも選択した部分内で機密コンテンツをマスクする難読化オプションを提示することができる(417)。この難読化オプションのうちの少なくとも1つがユーザーによって選択されたのに応答して、アプリケーションDLPモジュール113は、関連するユーザーコンテンツを、その関連するユーザーコンテンツのデータスキームを維持する難読化コンテンツで置換する(418)。
【0052】
[0058]
図5は、
図1~
図3の要素の動作をさらに説明するためのシーケンス
図500を示している。さらに、
図5は、
図5のプロセスステップのうちの一部についての詳細な例示的構造510も含む。
図5では、アプリケーション111は、ユーザーによる閲覧又は編集のためにドキュメントを開くことがある。このドキュメントを、アプリケーションDLPモジュール113が検出することができる。任意の関連するポリシー又は分類規則をDLPサービス121にプッシュして、任意の分類ポリシーを定義することができる。これで、DLPサービス121は、いくつかの開いているドキュメントのリストを含むことがあるレコード332中の開いているドキュメントの処理インスタンスを保持することができる。アプリケーション111の遊休処理時間枠がDLPモジュール113によって検
出されると、遊休インジケーターをDLPサービス121に提示することができ、DLPサービス121は、これに応答して、ユーザーコンテンツのチャンクを分類のために要求する。あるいは、DLPモジュール113は、アプリケーション111の遊休期間中に、ユーザーコンテンツのチャンクをDLPサービス121にプッシュすることもできる。DLPモジュール113は、ユーザーコンテンツをチャンクに分割し、これらのチャンクは、ドキュメントの構造又は階層オブジェクトに含まれるテキスト又はその他のコンテンツに基づいて決定されることがある。チャンクが決定されると、DLPモジュール113は、分類のためにチャンクをDLPサービス121に転送する。DLPサービス121は、各チャンクを個別に分類し、それらのチャンクに分類規則を適用して、それらのチャンクの中で機密である可能性があるユーザーコンテンツを識別する。この分類プロセスは、反復プロセスにして、DLPモジュール113によって転送される全てのチャンクが処理されていることを保証することができる。チャンクの中で機密データ又はコンテンツが発見された場合には、DLPサービス121は、機密データの存在をDLPモジュール113に対して示して、さらなる処理が行われるようにする。本明細書で述べているように、機密データは、オフセット、粗い位置、又はその他の位置情報、並びに長さ情報によって示すことができる。次いで、DLPモジュール113は、ドキュメント内の機密データに対して、1つ又は複数の注釈プロセス及び難読化プロセスを実行することができる。
【0053】
[0059]分類規則は、例えばユーザー、管理者、ポリシー担当者、又はその他のエンティティなどによって、分類プロセスの前に確立することができる。構造510に見られるように、様々な規則511及び512は、1つ又は複数の述語に基づくことができる。述語は、
図5では、2つのカテゴリで、すなわちコンテンツ関連述語511及びアクセス関連述語512として示してある。コンテンツ関連述語511は、データパターン、データ構造情報、又はデータスキームを定義する正規表現など、機密データを示すデータスキームを含み得る。アクセス関連述語512は、機密データが特定のユーザー、組織、又はその他の要因による拡散又は解放に望ましくないときを定義するコンテンツ共有規則など、ユーザーレベル、組織レベル、又はその他のアクセスベースの規則を含む。
【0054】
[0060]コンテンツ関連述語及びアクセス関連述語のうちの1つ又は複数を結合してポリシー551~554にするポリシー規則513を、確立することができる。各ポリシー規則は、優先度、及び関連するアクションも有する。一般に、優先度は、アクションの重要度に一致する。例えば、ポリシー規則は、アプリケーションの「保存」フィーチャー(feature)がブロックされると定義することもある。別の例示的なポリシー規則では、ユーザーコンテンツは、コンテンツ関連述語に従って定義されるSSNを含むことがあるが、アクセス関連述語によれば、これらのSSNは、拡散が許容できないこともある。ほとんどのポリシー規則は、述語511~512の中から少なくとも1つの分類述語を含む。これらのポリシーは、1つ又は複数のアクション514を実施することができる。これらのアクションは、特に、ユーザーの通知、通知及びユーザーによるオーバーライドの許可、フィーチャー/機能(すなわち「保存」又は「コピー」フィーチャー)のブロック、及び正当なオーバーライドなど、アプリケーションが機密コンテンツの識別に応答して行うことがある様々な注釈動作を含み得る。
【0055】
[0061]
図6は、
図1~
図3の要素の動作をさらに説明するための流れ
図600を示している。
図6は、機密データの識別、注釈付け、及び難読化プロセスを含む1つの例示的なプロセス全体に着目している。サブプロセス601は、ポリシー及び規則の確立、記憶、及び取得を含む。これらのポリシー及び規則は、本明細書に記載する情報の中でも特に、注釈規則、分類規則、正規表現、整理/ユーザーポリシーであってもよい。
図6の動作611では、検出ポリシーを構成するために、様々な検出規則630及び置換規則631を、ユーザーインタフェース又はAPIを介して導入することができる。検出規則630及び置換規則631は、特に、
図5に見られる様々な述語及び規則を含み得る。ユーザー、管理者、ポリシー担当者、又はその他のエンティティは、例えばエンティティ及びアクティビティの中でも特に、ユーザー、組織、又はアプリケーション用途についてのポリシーを確立することなどによって、検出規則630及び置換規則631を導入することができる。検出規則630及び置換規則631は、動作612で、後に使用することができるように、1つ又は複数のストレージシステムに記憶することができる。1つ又は複数のクライアントが、検出規則630及び置換規則631によって確立されたポリシーを使用したいと思う場合には、動作613で、これらのポリシーをダウンロード又は取得することができる。例えば、注釈規則は、あるアプリケーションによってダウンロードされて、ユーザーインタフェースで機密コンテンツに注釈をつける際に使用されることがあり、分類規則は、ユーザーコンテンツを機密コンテンツとして分類するために共用DLPサービスがダウンロードすることがある。
【0056】
[0062]サブプロセス602は、ユーザーインタフェースで編集又は閲覧するためにドキュメントをロードすること、及び分類のためにそれらのドキュメントのチャンクを提供することなどのクライアント側アプリケーションアクティビティを含む。動作614で、クライアントアプリケーションは、動作の中でも特に、ユーザーコンテンツを処理する、ユーザーコンテンツを編集する、又はユーザーコンテンツを閲覧する、1つ又は複数のエンドユーザーエクスペリエンスを提供することができる。動作614で、後述する注釈プロセス及び難読化プロセスも提供することができる。動作615で、このユーザーコンテンツの一部を、ユーザーコンテンツの分類のために共用DLPサービスに提供する。いくつかの例では、これらの部分は、元のドキュメントから関連する構造又は階層が除去された、ユーザーコンテンツのフラット化チャンクを含む。
【0057】
[0063]サブプロセス603は、ユーザーコンテンツの中で機密データを検出するためのユーザーコンテンツの分類、並びにこの機密データのユーザーに対する注釈付けを含む。動作616では、検出規則及びプロセスの中でも特に、
図7を参照して後述する正規表現など、様々な検出規則が適用される。機密データが発見された場合には、動作617で、ユーザーに通知すべきかどうかを判定する。この通知は、機密データの量が通報しきい値量未満である場合には行われないこともある。ただし、ユーザーに通報する場合には、動作619で、構造化データの検出領域内の機密データの位置を計算することができる。本明細書に記載するように、マッピングプロセスを利用して、機密データの文字列又は部分のフラット化されたデータのオフセット及び長さから、構造化要素又は階層要素内の機密データの詳細な位置を決定することができる。これらの詳細な位置が決定されたら、動作618で、それらの位置をユーザーに対して表示することができる。注釈又はその他の強調ユーザーインタフェース要素を利用して、ユーザーコンテンツの中に機密データが存在することをユーザーに知らせる。
【0058】
[0064]サブプロセス604は、構造化又は階層要素を含むユーザーコンテンツ内の機密データの難読化を含む。動作621で、ユーザー入力を受け取って、機密データの少なくとも1つのインスタンスを「安全な」又は難読化されたデータ/テキストで置換することができる。注釈又は「ポリシーヒント」を出現させた機密データを示す強調領域がユーザーに対して示されると、機密データをその機密データを難読化する「安全なテキスト」で置換するオプションをユーザーに対して提示することができる。動作611で最初にポリシーを設定したエンティティによって行われる選択に応じて、動作622及び624で、1つ又は複数の置換又は難読化規則を決定及び生成する。難読化規則は、内部コード名をマーケティング用の承認名で置換するために使用することができ、個人を特定できる情報(PII)を定型名で難読化するために使用することもでき、あるいは数値機密データを、実際の機密データを明らかにすることなく機密データのタイプ(すなわち、特にクレジットカード番号、社会保障番号、車両識別番号)を将来のドキュメントの閲覧者に対して示す文字のセットで置換するために使用することもできる。動作623で、機密データを
難読化データで置換する。難読化データを使用して、数値機密データを、データスキーム又はコンテンツタイプを確認するために使用することができるが、たとえ決意の固い人間であってもそこから元のデータを導出するには不十分である(すなわちそのコンテンツピースがSSNであると判定することはできても、実際のSSNを明らかにするには不十分である)文字のセットで置換することができる。ユーザーは、難読化テキストによる機密コンテンツの個別の、もしくは単一インスタンスの置換を実行することもできるし、又は機密コンテンツの複数のインスタンスを示すユーザーインタフェースからの一括置換を実行することもできる。
【0059】
[0065]テキスト又は英数字コンテンツなどの機密コンテンツの置換は、正規表現を用いて行うこともできるし、あるいは非決定性有限オートマトン(NFA)、決定性有限オートマトン(DFA)、プッシュダウンオートマトン(PDA)、チューリングマシン、任意関数コード、又はその他のプロセスを介して行うこともできる。機密コンテンツの置換は、通常は、テキスト又はコンテンツの間でのパターンマッチングを含む。このパターンマッチングは、例えば区切り文字の場合など、ターゲットパターンが、複数の文字が文字列内の指定された位置に存在する能力を有し、それらの文字をマスクする必要がないかどうかを考慮することによって、マスクされない文字又はコンテンツを残してもよい。例えば、マスキングプロセスの後で、文字列「123-12-1234」は「xxx-xx-xxxx」になることがあり、文字列「123 12 1234」は「xxx xx xxxx」になることがある。このパターンマッチングは、一意性のために、クレジットカード又はSSNの末尾の所定数の数字など、特定の部分を識別可能に保つこともできる。例えば、「1234-1234-1234-1234」は、マスキングプロセスの後で、「xxxx-xxxx-xxxx-1234」になることがある。コード名のマスキング/置換では、全てのアスペクトがパターンであるとは限らず、実際には内部コード名又はその他のキーワードであることもある。例えば、「Whistler」というコード名が、マスキングプロセスの後で、「Windows XP」になることもある。さらに、可変数の文字を安全なテキストで置換するパターンは、長さを不変に保つ、又は長さを既知の定数に設定することが許容されることもある。例えば、同じ規則が、「1234-1234-1234-1234」を、マスキングプロセスの後で、「xxxx-xxxx-xxxx-1234」及び「xxxxx-xxxxx-x1234」に変換してもよい。この場合、こうした任意のケースを取り扱うのに十分なデータを含むパターンが必要になることがある。正規表現は、各アトム(atom)一致表現を括弧で括り、どの拡張「マッチ」ステートメントがどの「置換」ステートメントと対になるかを把握することによって正規表現を拡張することにより、このようなシナリオを取り扱うことができる。正規表現マッチングの他の例は、以下に述べる
図7に示してある。
【0060】
[0066]複数のドキュメント/ファイルの間で注釈及び分類プロセスの整合性を維持するために、様々なプロセスを確立することができる。検出/分類、注釈、及び難読化の規則及びポリシーは、通常は、ドキュメントファイルに含まれない。これにより、ポリシーの変更が可能になり、難読化技術のリバースエンジニアリングが防止される。例えば、ユーザーがドキュメントを保存し、その後にそのドキュメントを閉じ、ロードする場合には、ポリシーの問題によって変更され得る機密データの存在を考慮するために必要な、そのドキュメントのどの部分が機密データを含むかについての規則。さらに、注釈フラグは、切り取り、コピー、又は貼り付けなどのクリップボード動作に含めてはならない。ユーザーが1つのドキュメントのコンテンツをコピーして、別のドキュメントに貼り付けようとする場合には、その2つ目のドキュメントには、異なる検出/分類、注釈、及び難読化規則が適用されていることもある。ユーザーが第1のドキュメントのテキストをコピーして、第2のドキュメントに貼り付けようとする場合には、第1のドキュメントの注釈は、再分類されるまで無関係であると考えなければならない。ユーザーが1つのドキュメントのコンテンツを同じドキュメント内にコピーしようとする場合でも、機密コンテンツの任意の
カウントがシフトしてもよく、ドキュメント内で強調する必要があるものが変化してもよい。
【0061】
[0067]
図7は、
図1~
図3の要素の動作をさらに説明するための流れ
図700を示している。
図7は、機密データ難読化プロセス中の正規表現に着目している。
図7では、架空の運転免許証の例の正規表現730の正規表現、(regex)、及びそれに一致する文字列を与え、動作711に示すように、それぞれの分離可能な文字一致表現(例えば各アトム)を括弧で括ることによって正規表現を少なくとも拡張することにより、完全一致を生じることができる。次いで、動作712で、その拡張した正規表現を再適用又は実行して、難読化又はマスキングプロセスを実行することができる。一致するたびに、動作713~714で、実際に一致した最も広い文字セット及び最も狭い文字セットを決定する。例えば、一致した文字が「-」であるときには、この文字は、1文字であるので、狭い。一致した文字が全ての英字のセットであるときには、広い。どの領域にあってもよい文字の絶対数が、重要な決定要因である。動作715の難読化プロセスでは、一致の幅に応じて文字を置換することができる。一致した文字がばらばらの文字である場合には、難読化プロセスは変更を加えることはできない。一致した文字が広いグループに含まれる文字である場合には、難読化プロセスで、それらの文字を、そのセットに含まれない「安全な」文字で置換する。例えば、全ての文字のセットが「0」になり、全ての数字のセットが「X」になり、英数字の混合したコンテンツが「?」になり、使い果たすまで使用される文字の予備リストがある。テキスト又はコンテンツに難読化又はマスキングプロセスが行われたら、動作716で、その新たなテキスト/コンテンツの文字列が元のregexと一致しなくなったときに、そのテキスト又はコンテンツが上手く難読化されたと確認する。
【0062】
[0068]
図8は、
図1~
図3の要素の動作をさらに説明するための流れ
図800を示している。
図8は、ユーザーインタフェースにおける機密データの注釈付けに使用される拡張しきい値プロセスに着目している。
図8の動作は、機密データに注釈をつける拡張ヒステリシス動作を含んでもよく、様々なしきい値又は注釈規則が、エンティティの中でも特に、ポリシー管理者又はユーザーによって設定されてもよい。
【0063】
[0069]
図8は、ドキュメント内に存在する機密データ/コンテンツ項目の量を示す縦軸及び時間を示す横軸を含むグラフ800を含む。ユーザーインタフェースにおける機密データの注釈の提示又は除去を開始することができる第1のしきい値820が、確立されている。やはり機密データの注釈の提示又は除去を開始することができる第2のしきい値822が、確立されている。第1のしきい値及び第2のしきい値の挙動を修正するための弾性因子821及び回復性823を確立することができる。
【0064】
[0070]ユーザーインタフェースにおいて、機密データに例えばフラグ、マーク、又はハイライトなどによって注釈がつけられると、ユーザーは、その機密コンテンツを編集して、(例えば1つ又は複数の難読化オプションを選択することなどによって)機密コンテンツの問題を解決することがある。しかし、しきい値数の機密コンテンツの問題を解決すると、問題の残りのインスタンスが、整理又は保存位置についての機密コンテンツ規則に全体として違反しているとの文書の注釈を保証するのに十分でなくなることがある。同様に、新たな機密コンテンツが文書に導入されると、ユーザーに機密コンテンツを示す文書の注釈を保証するのに十分なインスタンスであることがある。
【0065】
[0071]ユーザーによるコンテンツ編集プロセス中には、1つ又は複数のコンテンツ要素についての注釈インジケーターを有効にしたり無効にしたりすることは、少なくとも部分的には、注釈規則に関連するコンテンツ要素の現在の量に基づくことができる。注釈規則は、少なくとも、第1のしきい値量820、有効時に第1のしきい値量820を第2のしきい値量822に修正するための弾性因子821、及びいつ第2のしきい値量822が第
1のしきい値量820をオーバーライドするかを示すしきい値回復性又は「持続性」823の指示を含んでもよい。アノテーター212などの注釈サービスは、コンテンツ編集に関連するターゲットエンティティについて確立される
図5に示すポリシー規則513及びアクション514などの注釈規則を決定又は識別することができる。ターゲットエンティティは、特に、コンテンツ編集を実行するユーザー、コンテンツ編集を実行するユーザーを含む組織、又はユーザーアプリケーションのアプリケーションタイプを含んでもよい。機密コンテンツを含む、又は機密コンテンツを含み得るドキュメントのユーザーによる編集中には、アノテーター212は、ユーザーアプリケーションへのユーザーインタフェースにコンテンツ編集のために提示される関連するユーザーデータファイル内のユーザーコンテンツを監視する。アノテーター212は、本明細書に記載する1つ又は複数の所定のデータスキームに対応するユーザーコンテンツの中で機密コンテンツを含むコンテンツ要素の量を識別する。これらのコンテンツ要素は、セル、オブジェクト、図形、単語、又はその他のデータ構造もしくはデータ階層要素を含むことがある。
【0066】
[0072]編集中に、コンテンツ要素の量が少なくとも第1のしきい値量を超えたことに基づいて、アノテーター212は、ユーザーインタフェースにおいて、ユーザーインタフェース内のユーザーコンテンツに少なくとも第1の機密コンテンツを含むものとしてフラグを設定する少なくとも1つの注釈インジケーターの提示を開始する。
図8(「オフ」状態の注釈から開始する)では、第1のしきい値820は、ユーザーインタフェースにおける注釈インジケーターの提示をトリガするものとして、移行点830に、例示的な量「8」を示している。機密コンテンツを有するコンテンツ要素の量は、例えばユーザーによる編集などによって増加し得、その後、ユーザーがその機密データが存在することを理解し、その機密コンテンツをマスクするために難読化オプションを選択し始めた後で、減少することがある。
【0067】
[0073]コンテンツ要素の量が、最初に第1のしきい値量820を超え、その後に弾性因子821が第1のしきい値量820に適用されたときに第1のしきい値量820を下回ったことに少なくとも基づいて、アノテーター212は、少なくとも弾性因子に基づいて第2のしきい値量822を確立する。第2のしきい値量822がアクティブであるとき(すなわち弾性因子821が第1のしきい値量820に適用されるとき)には、移行点832に示すように量が第2のしきい値量822を下回ったときに、第2のしきい値量822を使用して、上記の少なくとも1つの注釈インジケーターの提示の除去を開始する。ただし、コンテンツ要素の量が、最初に第1のしきい値量820を超え、その後に弾性因子が第1のしきい値量820に適用されていないときに第1のしきい値量820を下回ったことに少なくとも基づいて、移行点831に示すように、上記の少なくとも1つの注釈インジケーターの提示は除去される。
【0068】
[0074]弾性因子821は、0パーセントから100パーセントの範囲のパーセント、又は別のメトリックを含み得る。具体例では、100個を超えるSSNをドキュメントに含めることは企業のポリシーに違反すると定義する注釈規則が確立されることもある。100個のSSNを超えるドキュメントの編集中には、第1のしきい値量についての注釈規則により、ドキュメント内の全てのSSNを強調することが促されることもある。ユーザーがSSNを難読化し始めると、残りの未難読化SSNの量が減少する。弾性因子は、例えば99個のSSNが未難読化の状態であるときなど、注釈をトリガした第1のしきい値量820が満たされなくなった場合でも、SSNの注釈又は協調を維持することができる。弾性因子が100であるということは、第1のしきい値量が修正されないことに対応し、弾性因子が0であるということは、全てのSSNが難読化されるまで、注釈が除去されないことに対応する。弾性因子が中間の値の50であるということは、注釈の提示が最初にトリガされてから50番目の入力が修正されたら注釈を除去することに対応する。したがって、
図8の例では、弾性因子が、注釈がユーザーに対して提示された後で注釈を除去するための第2のしきい値量を確立する。この例では、第2のしきい値量822は「2」であり、したがって、移行点832に示すように残りの機密コンテンツの問題が「2」未満になったときに、注釈が除去されることになる。
【0069】
[0075]第2のしきい値量822を下回り、次いでコンテンツ編集中に追加の機密コンテンツの問題が生じた場合には、アノテーター212は、いつ注釈を再度提示することによってユーザーに通報するかを判断しなければならない。コンテンツ要素の量が最初に第2のしきい値量822を下回り、その後、しきい値回復性823が第2のしきい値量822に適用されたときに第2のしきい値量822を超えたことに少なくとも基づいて、アノテーター212は、ユーザーインタフェースにおいて、移行点833に示すように、ユーザーインタフェース内のユーザーコンテンツに機密コンテンツを含むものとしてフラグを設定するさらに別の注釈の提示を開始する。
【0070】
[0076]回復性823は、第2のしきい値量822の「持続性」を含み、オン/オフ又はブール条件によって定義される。無効であるときには、第2のしきい値量822は、超えた場合でも、注釈の再提示のためには使用されない。有効であるときには、第2のしきい値量822は、超えた場合に、注釈の再提示のために使用される。したがって、コンテンツ要素の量が最初に第2のしきい値量822を下回り、その後に回復性が第2のしきい値量822に適用されていないときに第2のしきい値量822を超えたことに少なくとも基づいて、アノテーター212は、コンテンツ要素の量が再度第1のしきい値量820を超えるまで、ユーザーインタフェース内のユーザーコンテンツに少なくとも機密コンテンツを含むものとしてフラグを設定する注釈の提示を差し控える。
【0071】
[0077]次に
図9を参照すると、コンピューティングシステム901が示してある。コンピューティングシステム901は、本明細書に開示する様々な動作アーキテクチャ、シナリオ、及びプロセスを実施することができる任意のシステム又はシステムの集合体を表す。例えば、コンピューティングシステム901を使用して、
図1のユーザープラットフォーム110又はDLPプラットフォーム120のいずれかを実施することもできる。コンピューティングシステム901の例は、これらに限定されるわけではないが、サーバーコンピューター、クラウドコンピューティングシステム、分散型コンピューティングシステム、ソフトウェア定義ネットワーキングシステム、コンピューター、デスクトップコンピューター、ハイブリッドコンピューター、ラックサーバー、ウェブサーバー、クラウドコンピューティングプラットフォーム、及びデータセンター機器、並びにその他の任意のタイプの物理又は仮想サーバーマシン、並びにその他のコンピューティングシステム及びデバイス、並びにそれらの任意の変形形態又は組合せを含む。コンピューティングシステム901の一部分がユーザーデバイス上に実装されるときには、例示的なデバイスは、スマートフォン、ラップトップコンピューター、タブレットコンピューター、デスクトップコンピューター、ゲームシステム、エンターテインメントシステムなどを含む。
【0072】
[0078]コンピューティングシステム901は、単一の装置、システム、もしくはデバイスとして実装されることも、又は複数の装置、システム、もしくはデバイスとして分散して実装されることもある。コンピューティングシステム901は、これらに限定されるわけではないが、処理システム902と、ストレージシステム903と、ソフトウェア905と、通信インタフェースシステム907と、ユーザーインタフェースシステム908とを含む。処理システム902は、ストレージシステム903、通信インタフェースシステム907、及びユーザーインタフェースシステム908に動作可能に結合される。
【0073】
[0079]処理システム902は、ストレージシステム903からソフトウェア905をロードして、実行する。ソフトウェア905は、アプリケーションDLP環境906、及び/又は共用DLP環境909を含み、これらは、前述の図面を参照して説明したプロセスを表す。処理システム902によって実行されて、ユーザーコンテンツを処理して、機密コンテンツの識別、注釈、及び難読化を行うときには、ソフトウェア905は、少なくとも前述の実施態様において説明した様々なプロセス、動作シナリオ、及び環境について本明細書に記載するように動作するように処理システム902に指示する。コンピューティングシステム901は、簡潔にするためにここでは説明しない追加のデバイス、フィーチャー、又は機能を任意選択で含むこともある。
【0074】
[0080]さらに
図9を参照して、処理システム902は、ストレージシステム903からソフトウェア905を取得して実行するマイクロプロセッサ及び処理回路を含むことがある。処理システム902は、単一の処理デバイス内に実装されることもあるが、協働してプログラム命令を実行する複数の処理デバイス又はサブシステムの間に分散していることもある。処理システム902の例は、汎用中央処理装置、特定用途向けプロセッサ、及び論理デバイス、並びにその他の任意のタイプの処理デバイス、それらの組合せ又は変形形態を含む。
【0075】
[0081]ストレージシステム903は、処理システム902が読み取ることができる、ソフトウェア905を記憶することができる任意のコンピューター可読ストレージ媒体を含んでもよい。ストレージシステム903は、コンピューター可読命令、データ構造、プログラムモジュール、又はその他のデータなどの情報を記憶するための任意の方法又は技術で実装される、揮発性媒体及び不揮発性媒体、リムーバブル媒体及び非リムーバブル媒体を含んでもよい。ストレージ媒体の例は、ランダムアクセスメモリ、読取り専用メモリ、磁気ディスク、抵抗変化型メモリ、光ディスク、フラッシュメモリ、仮想メモリ及び非仮想メモリ、磁気カセット、磁気テープ、磁気ディスクストレージデバイスもしくはその他の磁気ストレージデバイス、又はその他の任意の適当なストレージ媒体を含む。コンピューター可読ストレージ媒体が伝搬信号であることはない。
【0076】
[0082]コンピューター可読ストレージ媒体の他に、いくつかの実施態様では、ストレージシステム903は、ソフトウェア905の少なくとも一部を内部で、又は外部と通信できるようにする、コンピューター可読通信媒体を含むこともある。ストレージシステム903は、単一のストレージデバイスとして実装されることもあるが、互いに同じ位置にある、又は分散している、複数のストレージデバイス又はサブシステムにまたがって実装されることもある。ストレージシステム903は、処理システム902、又は場合によっては他のシステムと通信することができる、制御装置などの追加の要素を含むこともある。
【0077】
[0083]ソフトウェア905は、プログラム命令に実装することができ、機能の中でも特に、処理システム902によって実行されたときに、本明細書に例示する様々な動作シナリオ、シーケンス、及びプロセスに関連して記載するように動作するように処理システム902に指示することができる。例えば、ソフトウェア905は、本明細書に記載するデータセット処理環境及びプラットフォームを実施するプログラム命令を含むこともある。
【0078】
[0084]特に、プログラム命令は、協働するなどして相互作用して、本明細書に記載する様々なプロセス及び動作シナリオを実行する、様々なコンポーネント又はモジュールを含むことがある。これらの様々なコンポーネント又はモジュールは、コンパイル済みもしくは解釈済み命令で、又はその他の何らかの命令の変形形態もしくは組合せで実施することができる。これらの様々なコンポーネント又はモジュールは、同期もしくは非同期で、連続的もしくは並列的に、単一スレッド環境もしくはマルチスレッド環境で、又はその他の任意の適当な実行パラダイムで、それらの変形形態もしくは組合せで、実行することができる。ソフトウェア905は、アプリケーションDLP環境906又は共用DLP環境909に加えて、オペレーティングシステムソフトウェア又はその他のアプリケーションソフトウェアなどの追加のプロセス、プログラム、又はコンポーネントを含むことも、あるいはアプリケーションDLP環境906又は共用DLP環境909を含む、オペレーティングシステムソフトウェア又はその他のアプリケーションソフトウェアなどの追加のプロセス、プログラム、又はコンポーネントを含むこともある。ソフトウェア905は、ファームウェア、又は処理システム902によって実行可能なその他の何らかの形態の機械可読処理命令を含むこともある。
【0079】
[0085]一般に、ソフトウェア905は、処理システム902にロードされて実行されたときに、(コンピューティングシステム901が表す)適当な装置、システム、又はデバイスの全体を、汎用コンピューティングシステムから、機密コンテンツの識別、注釈、及び難読化を行うためのユーザーコンテンツの拡張処理を容易にするようにカスタマイズされた特殊目的コンピューティングシステムに変換することがある。実際に、ストレージシステム903上でソフトウェア905を符号化することにより、ストレージシステム903の物理構造を変換することができる。物理構造が具体的にどのように変換されるかは、本明細書の様々な実施形態の様々な要因によって決定され得る。このような要因の例は、これらに限定されるわけではないが、ストレージシステム903のストレージ媒体を実装するために使用される技術、及びコンピューターストレージ媒体が1次ストレージとして特徴付けられるか又は2次ストレージとして特徴付けられるか、並びにその他の要因を含み得る。
【0080】
[0086]例えば、コンピューター可読ストレージ媒体が半導体型メモリとして実装される場合には、ソフトウェア905は、プログラム命令がその内部で符号化されたときに、例えばトランジスタ、コンデンサ、又はその他の半導体メモリを構成するディスクリート回路要素の状態を変換することによって、半導体メモリの物理的状態を変換することがある。磁気媒体又は光媒体でも、同様の変換が起こることがある。本明細書の範囲を逸脱することなく、その他の物理的媒体の変換も可能であり、上記の例は、本明細書の説明を容易にするために与えたものに過ぎない。
【0081】
[0087]アプリケーションDLP環境906又は共用DLP環境909は、それぞれ、OS921/931及びアプリケーション922/932など、1つ又は複数のソフトウェア要素を含む。これらの要素は、ユーザー、データソース、データサービス、又はその他の要素が対話するコンピューティングシステム901の様々な部分を記述することができる。例えば、OS921/931は、アプリケーション922/932がそこで実行されて、機能の中でも特に機密コンテンツの識別、注釈、及び難読化を行うようにユーザーコンテンツを処理することを可能にするソフトウェアプラットフォームを提供することができる。
【0082】
[0088]1例では、DLPサービス932は、コンテンツアポーショナー924と、アノテーター925と、マッパー926と、オブファスケーター927とを含む。コンテンツアポーショナー924は、分類サービスによる処理のために、構造化又は階層型ユーザーコンテンツ要素をフラット化して線形チャンクにする。アノテーター925は、ユーザーインタフェース内で機密データ又はコンテンツをグラフィックで強調して、しきい値量の機密データの存在をユーザーに通報できるようにする。マッパー926は、例えば分類サービスからオフセット/長さ/IDのみが提供されてドキュメントの様々な構造型又は階層型要素において機密データを位置特定するときなどに、機密データの注釈付けのためにドキュメントから詳細な位置を導出することができる。オブファスケーター927は、機密データとして識別されたユーザーコンテンツのマスキング/置換を行うための難読化オプションを提示する。オブファスケーター927は、また、難読化オプションがユーザーによって選択されたのに応答して、機密コンテンツを置換する。
【0083】
[0089]別の例では、DLPサービス933は、分類サービス934と、トラッカー93
5と、ポリシー/規則モジュール936と、regexサービス937とを含む。分類サービス934は、データ又はコンテンツの線形チャンクを解析して、機密データを識別する。トラッカー935は、分類サービス934によって発見された機密データ項目の数又は量を保持し、ドキュメント内での注釈付けのために、機密データのオフセット及び長さをマッパーに対して示す(マッパー926及びアノテーター925など)。ポリシー/規則モジュール936は、注釈、分類、検出、難読化、又はその他のユーザーコンテンツに対する動作のための様々なポリシー及び規則を受け取り、保持することができる。regexサービス937は、データパターン又はデータスキームを使用して機密データを識別し、一致したコンテンツのテキストを難読化したコンテンツで置換する、正規表現マッチングを使用した1つの例示的な分類技術を含む。
【0084】
[0090]通信インタフェースシステム907は、通信ネットワーク(図示せず)を介した他のコンピューティングシステム(図示せず)との通信を可能にする通信接続及びデバイスを含むことがある。協働してシステム間通信を可能にする接続及びデバイスの例は、ネットワークインタフェースカード、アンテナ、電力増幅器、RF回路、トランシーバ、及びその他の通信回路を含み得る。これらの接続及びデバイスは、金属、ガラス、空気、又はその他の任意の適当な通信媒体などの通信媒体を介して通信して、他のコンピューティングシステム又はシステムのネットワークと通信を交換することができる。通信インタフェースシステム907の物理要素又は論理要素は、テレメトリソースからデータセットを受信し、データセット及び制御情報を1つ又は複数の分散したデータストレージ要素間で転送し、ユーザーとインタフェースをとって、フィーチャーの中でも特に、データの選択を受け取り、視覚化データセットを提供することができる。
【0085】
[0091]ユーザーインタフェースシステム908は、任意選択であり、ユーザーからの入力を受け取るためのキーボード、マウス、音声入力デバイス、タッチ入力デバイスを含むことがある。ディスプレイ、スピーカー、ウェブインタフェース、端末インタフェース、及びその他のタイプの出力デバイスなどの出力デバイスも、ユーザーインタフェースシステム908に含まれることがある。ユーザーインタフェースシステム908は、通信インタフェースシステム907などのネットワークインタフェースを介して、出力を提供し、かつ入力を受け取ることができる。ネットワークの例では、ユーザーインタフェースシステム908は、表示データ又はグラフィックデータを、1つ又は複数のネットワークインタフェースを介して結合された表示システム又はコンピューティングシステムによって遠隔表示するために、パケット化することもある。ユーザーインタフェースシステム908の物理又は論理要素は、動作の中でも特に、ユーザー又はポリシー担当者から分類の規則又はポリシーを受け取り、ユーザーからのデータ編集アクティビティを受け取り、機密コンテンツの注釈をユーザーに提示し、難読化オプションをユーザーに提供し、難読化したユーザーコンテンツをユーザーに提示することができる。ユーザーインタフェースシステム908は、上述した様々なユーザー入力デバイス及び出力デバイスをサポートするために処理システム902によって実行可能な関連するユーザーインタフェースソフトウェアを含むこともある。ユーザーインタフェースソフトウェア及びユーザーインタフェースデバイスは、別個に、又は互いに、また他のハードウェア要素及びソフトウェア要素と協働して、グラフィカルユーザーインタフェース、ナチュラルユーザーインタフェース、又はその他の任意のタイプのユーザーインタフェースをサポートすることができる。
【0086】
[0092]コンピューティングシステム901と他のコンピューティングシステム(図示せず)の間の通信は、1つ又は複数の通信ネットワークを介して、様々な通信プロトコル、プロトコルの組合せ、又はそれらの変形形態に従って生じてもよい。例としては、イントラネット、種々のインターネット(internets)、インターネット(the Internet)、ローカルエリアネットワーク、広域ネットワーク、ワイヤレスネットワーク、有線ネットワーク、仮想ネットワーク、ソフトウェア定義ネットワーク、データ
センターバス、コンピューティングバックプレーン、又はその他の任意のタイプのネットワーク、ネットワークの組合せ、もしくはそれらの変形形態が挙げられる。前述の通信ネットワーク及びプロトコルは、周知であり、ここでは詳細に説明する必要はない。しかし、使用され得るいくつかの通信プロトコルとしては、これらに限定されるわけではないが、インターネットプロトコル(IP、IPv4、IPv6など)、伝送制御プロトコル(TCP)、及びユーザーデータグラムプロトコル(UDP)、並びにその他の任意の適当な通信プロトコル、それらの変形又は組合せが挙げられる。
【0087】
[0093]特定の発明性のある態様は、以下にその様々な例を挙げる上記の開示から理解することができる。
[0094]例1。ユーザーアプリケーションのデータ難読化フレームワークを提供する方法であって、ユーザーコンテンツを、ユーザーコンテンツを処理して、ユーザーコンテンツの一部分を1つ又は複数の所定のデータスキームに対応する機密コンテンツを含むものとして分類するように構成された分類サービスに提供するステップと、分類サービスから、機密コンテンツを含むユーザーコンテンツの1つ又は複数の部分を示す指示を受信するステップと、を含む、方法。この方法は、ユーザーコンテンツの1つ又は複数の部分に機密コンテンツを含むとして注釈をつけるグラフィック指示を、ユーザーアプリケーションへのユーザーインタフェースに提示するステップと、ユーザーインタフェースにおいて、ユーザーコンテンツの1つ又は複数の部分の中の少なくとも選択された部分内の機密コンテンツをマスキングする難読化オプションを提示するステップと、を含む。この方法は、難読化オプションのうちの少なくとも1つのユーザー選択に応答して、関連するユーザーコンテンツを、関連するユーザーコンテンツのデータスキームを維持する難読化コンテンツで置換するステップを含む。
【0088】
[0095]例2。難読化オプションを、選択された部分内の機密コンテンツをマスキングする第1のオプションと、選択された部分、及び選択された部分と同様のデータスキームを有する別の機密コンテンツを含むユーザーコンテンツの別の部分内の機密コンテンツをマスキングする第2のオプションとを含むものとして提示するステップをさらに含む、例1の方法。
【0089】
[0096]例3。難読化オプションを、選択された部分内のターゲットユーザーコンテンツの例示的な難読化版を少なくとも示すものとして提示するステップをさらに含む、例1~2の方法。
【0090】
[0097]例4。ユーザーコンテンツの1つ又は複数の部分に注釈をつけるグラフィック指示が、難読化オプションを提示するためにユーザーインタフェース内で選択可能な、1つ又は複数の部分の近傍に位置決めされたインジケーターを含む、例1~3の方法。
【0091】
[0098]例5。関連するユーザーコンテンツのデータスキームを維持する難読化コンテンツが、関連するユーザーコンテンツのデータスキームを維持しながら、関連するユーザーコンテンツの識別を防止するように関連するユーザーコンテンツのデータスキームに部分的に基づいて選択されるシンボルを含む、例1~4の方法。
【0092】
[0099]例6。関連するユーザーコンテンツを難読化コンテンツで置換したことに応答して、難読化コンテンツを分類サービスに提供して、難読化コンテンツが別の機密コンテンツを含まないことを確認するステップをさらに含む、例1~5の方法。
【0093】
[0100]例7。1つ又は複数の所定のデータスキームが、1つもしくは複数の所定のコンテンツパターン又は1つもしくは複数の所定のコンテンツタイプを示すものとして一部分を識別するためにユーザーコンテンツを解析するために使用される1つ又は複数の正規表
現によって定義される、例1~6の方法。
【0094】
[0101]例8。1つ又は複数の所定のデータスキームが、難読化される第1の部分と、難読化されないままとなる第2の部分とをそれぞれ含み、難読化される第1の部分が、複数の許容される文字を有する位置に対応し、難読化されないままとなる第2の部分が、区切り文字を含む許容される文字を1つだけ有する、例1~7の方法。この方法は、第1の部分の一部が、難読化後も一意性のために識別可能なままであるように指定されているかどうかを識別し、上記一部を、難読化されないままとなるように指定するステップをさらに含む。
【0095】
[0102]例9。ユーザーアプリケーションのデータ難読化フレームワークであって、1つ又は複数のコンピューター可読ストレージ媒体と、1つ又は複数のコンピューター可読ストレージ媒体に動作可能に結合された処理システムと、1つ又は複数のコンピューター可読ストレージ媒体に記憶されたプログラム命令と、を含む、データ難読化フレームワーク。これらのプログラム命令は、処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、ユーザーコンテンツを、ユーザーコンテンツを処理して、ユーザーコンテンツの一部分を1つ又は複数の所定のデータスキームに対応する機密コンテンツを含むものとして分類するように構成された分類サービスに提供し、分類サービスから、機密コンテンツを含むユーザーコンテンツの1つ又は複数の部分を示す指示を受信するように処理システムに指示する。これらのプログラム命令は、処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、ユーザーコンテンツの1つ又は複数の部分に機密コンテンツを含むとして注釈をつけるグラフィック指示を、ユーザーアプリケーションへのユーザーインタフェースに提示し、ユーザーインタフェースにおいて、ユーザーコンテンツの1つ又は複数の部分の中の少なくとも選択された部分内の機密コンテンツをマスキングする難読化オプションを提示し、難読化オプションのうちの少なくとも1つのユーザー選択に応答して、関連するユーザーコンテンツを、関連するユーザーコンテンツのデータスキームを維持する難読化コンテンツで置換するように処理システムに指示する。
【0096】
[0103]例10。処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、難読化オプションを、選択された部分内の機密コンテンツをマスキングする第1のオプションと、選択された部分、及び選択された部分と同様のデータスキームを有する別の機密コンテンツを含むユーザーコンテンツの別の部分内の機密コンテンツをマスキングする第2のオプションとを含むものとして提示するように処理システムに指示するプログラム命令をさらに含む、例9のデータ難読化フレームワーク。
【0097】
[0104]例11。処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、難読化オプションを、選択された部分内のターゲットユーザーコンテンツの例示的な難読化版を少なくとも示すものとして提示するように処理システムに指示するプログラム命令をさらに含む、例9~10のデータ難読化フレームワーク。
【0098】
[0105]例12。ユーザーコンテンツの1つ又は複数の部分に注釈をつけるグラフィック指示が、難読化オプションを提示するためにユーザーインタフェース内で選択可能な、1つ又は複数の部分の近傍に位置決めされたインジケーターを含む、例9~11のデータ難読化フレームワーク。
【0099】
[0106]例13。関連するユーザーコンテンツのデータスキームを維持する難読化コンテンツが、関連するユーザーコンテンツのデータスキームを維持しながら、関連するユーザーコンテンツの識別を防止するように関連するユーザーコンテンツのデータスキームに部分的に基づいて選択されるシンボルを含む、例9~12のデータ難読化フレームワーク。
【0100】
[0107]例14。処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、関連するユーザーコンテンツを難読化コンテンツで置換したことに応答して、難読化コンテンツを分類サービスに提供して、難読化コンテンツが別の機密コンテンツを含まないことを確認するように処理システムに指示するプログラム命令をさらに含む、例9~13のデータ難読化フレームワーク。
【0101】
[0108]例15。1つ又は複数の所定のデータスキームが、1つもしくは複数の所定のコンテンツパターン又は1つもしくは複数の所定のコンテンツタイプを示すものとして一部分を識別するためにユーザーコンテンツを解析するために使用される1つ又は複数の正規表現によって定義される、例9~14のデータ難読化フレームワーク。
【0102】
[0109]例16。1つ又は複数の所定のデータスキームが、難読化される第1の部分と、難読化されないままとなる第2の部分とをそれぞれ含み、難読化される第1の部分が、複数の許容される文字を有する位置に対応し、難読化されないままとなる第2の部分が、区切り文字を含む許容される文字を1つだけ有する、例9~15のデータ難読化フレームワーク。このデータ難読化フレームワークは、データ難読化フレームワークが、処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、第1の部分の一部が、難読化後も一意性のために識別可能なままであるように指定されているかどうかを識別し、一部を、難読化されないままとなるように指定するように処理システムに指示するプログラム命令をさらに含む。
【0103】
[0110]例17。ユーザーアプリケーションを動作させる方法であって、ユーザーデータファイルのユーザーコンテンツを、ユーザーコンテンツを処理して、ユーザーコンテンツの1つ又は複数の部分を1つ又は複数のデータスキームに対応する機密コンテンツを含むものとして分類するように構成された分類サービスに提供するステップと、ユーザーコンテンツの上記1つ又は複数の部分に機密コンテンツを含むとしてフラグを設定するインジケーターをユーザーインタフェースにおいて提示するステップとを含み、上記インジケーターが、上記1つ又は複数の部分の近傍に位置決めされ、難読化オプションを提示するためにユーザーインタフェース内で選択可能である、方法。この方法は、インジケーターのうちの第1のインジケーターの選択に応答して、インジケーターのうちの第1のインジケーターによってフラグが設定されたユーザーコンテンツの第1の部分内の関連する機密コンテンツを置換する第1の難読化オプションをユーザーインタフェースに提示するステップを含む。この方法は、第1の難読化オプションのうちの少なくとも1つのユーザー選択に応答して、関連する機密コンテンツを、関連する機密コンテンツのデータスキームを維持する難読化コンテンツで置換するステップを含む。
【0104】
[0111]例18。第1の難読化オプションを、関連する機密コンテンツを難読化コンテンツで置換する第1のオプションと、関連する機密コンテンツ、及び関連する機密コンテンツと同様のデータスキームを有するユーザーデータファイルの別の機密コンテンツを置換する第2のオプションとを含むものとして提示するステップをさらに含む、例17の方法。
【0105】
[0112]例19。関連する機密コンテンツのデータスキームを維持する難読化コンテンツが、関連するユーザーコンテンツのデータスキームを維持しながら、関連する機密コンテンツの識別を防止するように選択される1つ又は複数のシンボルを含み、この1つ又は複数のシンボルが、関連する機密コンテンツのデータスキームに少なくとも部分的に基づいて選択される、例17~18の例。
【0106】
[0113]例20。1つ又は複数のデータスキームが、難読化される第1の部分と、難読化
されないままとなる第2の部分とをそれぞれ含み、難読化される第1の部分が、複数の許容される文字を有する位置に対応し、難読化されないままとなる第2の部分が、区切り文字を含む許容される文字を1つだけ有する、例17~19の方法。この方法は、第1の部分の一部が、難読化後も一意性のために識別可能なままであるように指定されているかどうかを識別し、上記一部を、難読化されないままとなるように指定するステップをさらに含む。
【0107】
[0114]図面に与えた機能ブロック図、動作シナリオ及びシーケンス、並びに流れ図は、本開示の新規の態様を実行するための例示的なシステム、環境、及び方法を表すものである。説明を簡潔にするために、本明細書に含まれる方法は、機能図、動作シナリオもしくはシーケンス、又は流れ図の形態をとることがあり、一連のアクションとして説明することもあるが、これらの方法は、そのアクションの順序によって限定されず、これらの方法によれば、一部のアクションは、本明細書に図示して説明した順序とは異なる順序で、及び/又は他のアクションと同時に起こることもあることを理解及び認識されたい。例えば、ある方法は、別法として、例えば状態図などの相互に関係する一連の状態又は事象として表現することもできることを、当業者なら理解及び認識するであろう。さらに、1つの方法に示す全てのアクションが、新規の実施態様に必要であるとは限らない。
【0108】
[0115]本明細書の説明及び図面は、どのようにすれば最良の選択を行って使用することができるかを当業者に教示するために具体的な実施態様を示すものである。発明性のある原理を教示するために、いくつかの従来の態様は簡略化又は省略してある。当業者なら、本開示の範囲に含まれる、これらの実施態様の変形形態を理解するであろう。また、当業者なら、上述した特徴を様々に組み合わせて、複数の実施態様を構成することができることに認識するであろう。結果として、本発明は、上述の具体的な実施態様に限定されず、特許請求の範囲及びその均等物によってのみ限定される。