(57)【要約】      （修正有）【課題】データ項目の内部汚染追跡を実行する、改善された汚染追跡装置を提供する。【解決手段】データ項目が生成された時、制御されたシステム１１０、１２０はデータ項目に関する名前及び汚染を計算し２０２、初期化関数を実行し２０４、データ項目の名前及びデータを追跡エンティティ１３０に知らせる。汚染は更なるデータ項目に伝搬される一方で、名前は変更することができ、データ項目がエキスポート２１０又はインポートされる時、データ項目の名前及び汚染をそのソース及び宛先も併せて追跡エンティティ１３０に知らせる２１６、２２４、２３２。制御されたシステム１１０、１２０は、追跡エンティティ１３０からの伝搬履歴を要求することができる２３６。追跡エンティティ１３０が１以上の制御されたシステム１１０、１２０によって共有されるとき、制御されたシステムにわたって汚染追跡を実行することが可能である。【選択図】図１
2016015128.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも更なる汚染追跡装置を用いた汚染追跡に関与するための装置であって、前記装置は、
データ項目に関する内部汚染を生成するための手段と、
データ項目に関する汚染追跡を実行するための手段であって、データ項目に関する前記汚染追跡は、内部汚染を少なくとも１つの更なるデータ項目に伝搬することを含む、手段と、
データ項目を更なるデバイスに送るための手段と、
前記更なるデバイスに送られた各データ項目に関して、前記データ項目に関する名前及び汚染を汚染追跡エンティティに送るための手段と、
を備えた、前記装置。
【請求項２】
前記更なるデバイスに送られた各データ項目に関して、前記装置の識別子及び前記更なるデバイスの識別子を前記追跡エンティティに送るための手段をさらに備えた、請求項１に記載の装置。
【請求項３】
前記更なるデバイスからデータ項目を受信するための手段と、前記更なるデバイスから受信した各データ項目に関して、前記データ項目に関する名前及び汚染を前記汚染追跡エンティティに送るための手段と、をさらに備えた、請求項１に記載の装置。
【請求項４】
前記更なるデバイスから受信した各データ項目に関して、前記装置の識別子及び前記更なるデバイスの識別子を前記追跡エンティティに送るための手段をさらに備えた、請求項３に記載の装置。
【請求項５】
データ項目の前記名前は、前記データ項目に関する初期内部汚染である、請求項１に記載の装置。
【請求項６】
前記汚染は、フィンガープリント関数を用いて取得される、請求項１に記載の装置。
【請求項７】
前記フィンガープリント関数は、ハッシュ関数である、請求項６に記載の装置。
【請求項８】
前記ハッシュ関数は、ＳＨＡ−３である、請求項７に記載の装置。
【請求項９】
汚染追跡のための方法であって、装置のプロセッサで、
データ項目に関する名前及び汚染を生成するステップと、
前記データ項目を更なるデバイスに送るステップと、
前記データ項目に関して、前記データ項目に関する前記名前及び前記汚染を汚染追跡エンティティに送るステップと、
を含む、前記方法。
【請求項１０】
前記データ項目に関して、前記装置の識別子及び前記更なるデバイスの識別子を前記追跡エンティティに送るステップをさらに含む、請求項９に記載の方法。
【請求項１１】
前記データ項目に関する前記名前は、前記データ項目に関する初期内部汚染である、請求項９に記載の方法。
【請求項１２】
前記汚染は、フィンガープリント関数を用いて取得される、請求項９に記載の方法。
【請求項１３】
前記フィンガープリント関数は、ハッシュ関数である、請求項１２に記載の方法。
【請求項１４】
前記ハッシュ関数は、ＳＨＡ−３である、請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にコンピュータシステムに関し、特にそのようなシステムにおけるデータ汚染追跡に関する。
【背景技術】
【０００２】
このセクションは、以下で説明され、特許請求された本開示の様々な態様に関することができる従来技術の様々な態様を読者に紹介することを意図している。この議論は、本開示の様々な態様のよりよい理解を容易にするための背景技術情報を読者に提供する手助けとなると考えられる。従って、これらの陳述は、この観点から読まれるべきであり、従来技術の自白として読まれるべきではないことを理解すべきである。
【０００３】
デジタルデータは様々な理由に関して繊細であり得ることは周知である；例えば、秘密にすべき個人データ又は企業秘密であり得る。基本的な例は以下である。アリスはテキストファイルΔを書いた。彼女はボブにドロップボックスを介してそれを送り、Δは誰にも開示すべきではない旨を明記する。後に、アリスはファイルΔが開示されたことを疑う。彼女は、ファイルΔが、彼女のマシン若しくはボブのマシンから、ドロップボックスから、又は（現在のドロップボックス実装において用いられる）アマゾンＥＣ２マシンから漏洩したかどうかを知りたいであろう。
【０００４】
様々な解決法がそのようなデータの漏洩に対抗するために見い出されてきた。これらの解決法は、大まかに、データ漏洩防止対策及びデータ漏洩検出の２つのグループに分けることができる。
【０００５】
データ漏洩防止対策は、認証されないデータ出力をブロッキングすることを目的としている。例示的なシステムである、Security-Enhanced Linux（SELinux）において実装されるロールベースアクセスコントロールは、多くのユーザアクションを禁止し、それによりホームネットワークにおけるそれによりホームネットワークにおけるユーザなどの全てのタイプのユーザに適用しない。さらに、攻撃者は、データ漏洩防止対策に関わらずデータを回避する手法を絶えず見つける。
【０００６】
データ漏洩検出は、データが漏洩することになるという事実を仮定する。そのアイデアは、データ漏洩が起こるときはいつでもデータ漏洩を検出及び報告することである。データ漏洩検出は、データマーキングから汚染追跡まで、広い範囲の技術を包含し、いくつかは以下で説明するであろう。
【０００７】
データマーキングは、データにプロパティを追加すること又はデータに透かしを入れることによって追跡されるデータの変更に基づく。変更は、可視又は不可視とすることができる。変更は、ロバストな透かしなどの場合には攻撃者によって除去するのが困難であることもあるし、又は脆弱な透かし若しくは無署名の文書プロパティなどの場合には除去することが容易であることがある。典型例は、プライベートな写真をボブ及びキャロルに送ることを望んでいるアリスである。アリスは、写真のわずかに変更されたバージョンをボブに送り、写真の異なる変更がされたバージョンをキャロルに送る。後に、アリスが写真の漏洩されたバージョンを見つけたとき、彼女は漏洩されたバージョンがボブ又はキャロルのバージョンであるかどうかをチェックすることができる。
【０００８】
そのような技術には多くの制限があり、長い間知られているにもかかわらず、比較的数少ない事例において展開されたそれらに引き起こしている。第１の制限は、追跡されたデータおよび受領者は前もって知られていなければならないということであり、さもなければデータが意図された受領者の各々に関して変更することができないためである。第２の制限は、その変更が、バイナリ未加工データ（例えば圧縮又は暗号化データ）の事例などにおいて常に可能というわけではないデータのセマンティックを変更してはいけないということである。
【０００９】
（汚染チェックとも呼ばれる）汚染追跡は、任意のデータ漏洩がプログラムのコード実行中に検出されるという意味で動的なデータである。汚染追跡は、例えば入力データなど、プログラムによって操作されたデータに汚染を関連付ける。それから、その汚染は、汚染されたデータに何らかの形で依存した任意のデータに伝搬される。すなわち、汚染されたデータからデータが生成された場合、その後同様に汚染される。従って、いくつかの出力データが汚染された時、これはこの出力データが同様の汚染を有する入力データに何らかの形で依存することを意味する。
【００１０】
分析されたプログラムを実行するシステムは、汚染追跡に関する機器を搭載しなければならない：それは、汚染をオブジェクトに関連付ける「汚染マップ」を含む。PIN [PIN - A Dynamic Binary Instrumentation Tool, Intel Developer Zoneを参照]で構築されることができるlibdft [V. P. Kemerlis, G. Portokalidis, K. Jee, and A. D. Keromytis, “libdft: Practical Dynamic Data Flow Tracking for Commodity Systems,” in VEE ’12, 2012] およびTaintEraserとも呼ばれるPrivacyScope [D. (Yu) Zhu, J. Jung, D. Song, T. Kohno, and D. Wetherall, “TaintEraser: Protecting Sensitive Data Leaks Using Application-Level Taint Tracking,” ACM Oper. Syst. Rev., 2011.]などのいわゆるきめの細かい（fine-grained）汚染追跡システムは、バイト（byte）レベルで汚染することを可能とし、汚染マップが汚染をメモリの各バイトと関連付けることを意味する。PHPおよびRubyプログラミング言語において含まれるような他の汚染追跡システムは、変数などのより高いレベルのオブジェクト上で働く。TaintDroidおよびBlareなどの粗い（coarse-grained）汚染追跡システムは、メモリページ、メソッド、メッセージ、ファイル等、より大きなオブジェクト上で動作する。
【００１１】
汚染マップに関して２つの重大な制約がある。第１に、汚染マップは、攻撃者等が汚染を微調整してデータ漏洩検出を妨げるときにセキュアであるべきである。第２に、汚染マップは意味論的に妥当であるべきであり、汚染（典型的にはビットのシーケンス）がその遂行の間に全て同一のセマンティックを有することを意味する。
【００１２】
最先端の汚染追跡の解決法は、制御されたシステム（controlled systems）：実行監視（execution monitored）、搭載カーネル及びより最近ではセキュアネットワーク、においてこれらの２つの制約を満たす。しかしながら、機器を搭載しないシステムによってデータが操作される、制御されていないシステム（uncontrolled systems）においては解決法が存在しない。
【００１３】
更なる技術は、流出推定、静的分析及び記号的実行を含むプログラム分析のための１組の静的技術である、情報流出追跡である。「静的（static）」は、プログラムが実行前にデータ漏洩に関して分析されたことを意味する。情報流出追跡の目標は、実行するための機会を有する前に、プログラムにおいて漏洩の可能性を検出することである。漏洩可能性が検出されない場合、プログラムは更なる予防措置なしで実行することができる。そうでなければ、ユーザはプログラムを禁止することができ、又はプログラムは特別に保護されたモードの下で実行することができる。単独で用いられるとき、情報流出追跡はデータ漏洩防止対策のためのものであるが、汚染追跡と連結して用いられるとき、後述するようにデータ漏洩検出を改善することができる。
【００１４】
どの汚染が（レターがネットワークインタフェースであり得る）どのファイル／コンテナに対して許容されるかを特定する１組のセキュリティポリシーと組み合わせられる汚染追跡を使用するBlareにおいて、更なる解決法が実装される。Blareは、粗く（coarse-grained）、カーネルレベルで動作する。2012年において、Blareはセキュアネットワークに部分的に拡張され、そのため商用インターネットプロトコルセキュリティオプション(CIPSO)を用いるホストの間での汚染を転送することを可能にする。
【００１５】
最先端技術は、当該事例においてアリスを手助けしない。例えば、透かしは、アリスがボブに送ったコピーが漏洩されたということを彼女が判断することを可能にするが、彼女は漏洩のソースを判断することはできない。そして、データ追跡技術はアリスによって制御されたシステム内のデータ追跡のみを許容するが、データが彼女の制御されたシステムを離れたときは更なる情報は発生しないであろう。たとえボブが彼のシステムにおいて汚染追跡フレームワークを置くことを認めても、最先端技術はアリス及びボブのフレームワーク間の協調を許容しない。アリスが最大限望み得ることは、ファイルΔが彼女のシステムにおけるマシンから漏洩されたという情報である。
【００１６】
それ故、現在の汚染追跡システムを改善することができる解決法に対する必要性があるということを理解することができる。本開示は、そのような解決法を提供する。
【発明の概要】
【００１７】
第１の態様において、本開示は、少なくとも更なる汚染追跡装置を用いた汚染追跡に関与するための装置に向けられる。本装置は、データ項目のための内部汚染を生成するための手段と、データ項目のための汚染追跡を実行するための手段であって、データ項目のための上記汚染追跡は、内部汚染を少なくとも１つの更なるデータ項目に伝搬することを含む、手段と、データ項目を更なるデバイスに送るための手段と、上記更なるデバイスに送られた各データ項目に関して、上記データ項目に関する名前及び汚染を汚染追跡エンティティに送るための手段と、を備える。
【００１８】
第１の実施形態において、本装置は、上記更なるデバイスに送られた各データ項目に関して、上記装置の識別子及び上記更なるデバイスの識別子を上記追跡エンティティに送るための手段をさらに備える。
【００１９】
第２の実施形態において、本装置は、上記更なるデバイスからデータ項目を受信するための手段と、上記更なるデバイスから受信した各データ項目に関して、上記データ項目に関する名前及び汚染を上記汚染追跡エンティティに送るための手段と、をさらに備える。本装置は、上記更なるデバイスから受信した各データ項目に関して、上記装置の識別子及び上記更なるデバイスの識別子を上記追跡エンティティに送るための手段をさらに備える。
【００２０】
第３の実施形態において、データ項目の上記名前は、上記データ項目に関する初期内部汚染である。
【００２１】
第４の実施形態において、上記汚染は、フィンガープリント（fingerprinting）関数を用いて取得される。上記フィンガープリント関数は、ハッシュ関数、特にＳＨＡ３であることが有利である。
【００２２】
第２の態様において、本開示は、汚染追跡のための方法であって、装置のプロセッサで、データ項目のための名前及び汚染を生成するステップと、上記データ項目を更なるデバイスに送るステップと、上記データ項目に関して、上記データ項目に関する上記名前及び汚染を汚染追跡エンティティに送るステップと、を含む、上記方法に向けられる。
【００２３】
第１の実施形態において、上記方法は、上記データ項目に関して、上記装置の識別子及び上記更なるデバイスの識別子を上記追跡エンティティに送るステップをさらに含む。
【００２４】
第２の実施形態において、上記データ項目の上記名前は、上記データ項目に関する初期内部汚染である。
【００２５】
第３の実施形態において、上記汚染は、フィンガープリント関数を用いて取得される。上記フィンガープリント関数は、ハッシュ関数、特にＳＨＡ３であることが有利である。
【図面の簡単な説明】
【００２６】
本開示の好ましい態様は、制限されない例示の目的で、添付の図面を参照して、ここで説明されることとなる。
【図１】本開示の例示的な実施形態のシステムおよび方法を例示する。
【発明を実施するための形態】
【００２７】
図１は、本開示の例示的な実施形態の例示的なシステムおよび方法を例示する。本システムは、データ項目を受信及び送信するように構成された３つのシステムＮ１、Ｎ２、Ｎ３を備える。３つのシステムのうち、Ｎ１及びＮ２は制御されている。すなわち、以下でさらに説明するように、それらは、汚染追跡フレームワークを実装し、追跡エンティティＢＴＭを用いて特定のデータ項目の汚染を通信するように構成されている。制御されたシステムＮ１及びＮ２、実際には追跡エンティティＢＴＭは、標準的なパーソナルコンピュータ（ＰＣ）又はワークステーションなどの、計算を実行することが可能な任意の種類の適切なコンピュータ又はデバイスとすることができる１以上の物理的デバイスとして実装することができる。
【００２８】
制御されたシステムＮ１、Ｎ２及び追跡エンティティＢＴＭは、各々好ましくは、少なくとも１つのハードウェアプロセッサ１１１、１２１、１３１と、内部又は外部メモリ１１２、１２２、１３２と、ユーザとやりとりするためのユーザインタフェース１１３、１２３、１３３と、他のデバイスとやりとりするための通信インタフェース１１４、１２４、１３４と、を備える。当業者は、明確性の理由で例示されたデバイスが非常に簡略化されており、加えて実際のデバイスは永続記憶装置及び内部接続などの特徴を備えることになるということを理解するであろう。
【００２９】
制御されていないシステムをデータが通る可能性がある事例にデータ追跡技術を拡張することは有利であり得ることを理解されるであろう。部分的な拡張でさえ、データ漏洩のケースにおいて追加の情報をもたらすことができる。大きな困難性は、（オープンネットワーク、クラウドシステム、等）の制御されていないシステムによって分離された異なる制御されたシステム間のセマンティックの喪失である。特に、制御されたシステムにおける汚染は、他の制御されたシステムにおいて異なる意味を有することができる。
【００３０】
システムは、データ追跡フレームワークを実行するとき、制御される。事例で述べたように、データファイルΔは、（制御された）アリスのホストから（制御されていない）DropBoxを実装する１組のホストを通して（制御された）ボブのホストに流出する。例示しやすくするために、以下の事を仮定する：
・  制御されたシステムの各々は、Blare、Pedigree、Privacy Scope、TaintDroid等のいくつかのデータ追跡フレームワークを実装する。制御されたシステムの全てが同じフレームワークを実装する必要はない。
・  追跡される必要があるデータは、制御されたシステムから由来する。
・  制御されたシステムは、データ入力及びデータ出力を報告することを認める。入力又は出力を報告することのプライバシーな態様は考慮されないことに留意する。
・  フィンガープリント関数ｆｐは、データΔ及びΔ’の２つの項目が、ｆｐ(Δ)＝ｆｐ(Δ’)の時かつその時に限り等しいと考慮されるように用いられる。フィンガープリント関数ｆｐは、例えば、識別関数、暗号ハッシュ関数、又は、デジタルピクチャのためのScale-Invariant Feature Transform [SIFT; Lowe, David G. “Distinctive Image Features from Scale-Invariant Keypoints”, International Journal of Computer Vision, 60.2 (2004): 91-110参照]などの、追跡されたデータに関する適切なフィンガープリントとすることができる。フィンガープリント関数ｆｐは、好ましくは、暗号圧入性（injectivity）及び偽装不可能性（unforgeability）のプロパティを有する。
【００３１】
本システムは、
・  複数の制御されたシステムに入る又は離れるデータに関する汚染マップ情報の追跡を維持し、
・  複数の制御されたシステムに関する均一な汚染セマンティックを伝達し、
・  複数の制御されたシステムにおけるデバイスからの要求に回答する、
新しい汚染マップデバイスＢＴＭを使用する。
【００３２】
ＢＴＭ及びデータ項目Δが与えられると、制御されたシステムＥ（におけるデバイス）は、少なくとも以下の動作を実行することができる：
init(BTM, Δ, E)  この動作は、データ項目Δが制御されたシステムＥによって今追跡されていることをＢＴＭに知らせる。  
out(BTM, Δ, E, T)  この動作は、データ項目Δが、制御された又は制御されていない対象システムＴに対して（意図的又は漏洩して）送られたことを制御されたシステムＥが検出したことをＢＴＭに知らせる。  
in(BTM, Δ, S, E)  この動作は、制御されたシステムＥが、制御された又は制御されていないソースシステムＳからデータ項目Δを受信した（又は読み込んだ）ことをＢＴＭに知らせる。  
hist(BTM, Δ, E)  この動作は、システムＥに関するデータ項目Δの履歴を要求する。先行するinit(BTM, Δ, E)がない場合、当該返された履歴は空（empty）である。そうでなければ、当該返された履歴は、好ましくは、init(BTM, Δ, E)に後続のデータ項目Δに関するＢＴＭによって受信された動作の完全な履歴のサブセットを少なくとも備える。
【００３３】
実装に関して、好ましい実装形態においては：
・フィンガープリント関数ｆｐは、ＳＨＡ−３であり、
・データ項目Δの名前は、データ項目Δのフィンガープリントｆｐ(Δ)であり、
・データ項目Δの初期汚染は、フィンガープリントｆｐ(Δ)であり、
・制御されたシステムは汚染追跡フレームワークとしてBlare又はPedigreeを使用する。
【００３４】
加えて、レディスキーバリューストア（redis key-value store）はＢＴＭデータを格納するために使用され、ＢＴＭ関数は好ましくは以下のように実装される：
init(BTM, Δ, E)  この動作は、Ｅの汚染追跡フレームワークにおけるデータ項目Δに対する汚染ｆｐ(Δ)に起因し、パラメータ、system＝E、name＝fp(Δ)、taint＝fp(Δ)、state＝init、source＝none、を有するメッセージをＢＴＭに送る。  
out(BTM, Δ, E, T)  {t1…tk}がＥの汚染追跡フレームワークにおけるデータ項目Δのｋ個の現在の汚染である場合、この動作は、以下のパラメータ、system＝Ｅ, name＝fp(Δ), taint＝ti, state＝out, dest＝T、を有するメッセージ（すなわち、現在の汚染ごとに１つのメッセージ）をＢＴＭに送る。  
in(BTM, Δ, S, E)  制御されたシステムＥにおいてデータ項目Δが受領されると、この動作は、Ｅの汚染追跡フレームワークにおけるΔに対する汚染ｆｐ(Δ)に起因し、パラメータ、system=E、name=fp(Δ)、taint=fp(Δ)、state=init、source=S、を有するメッセージをＢＴＭに送る。initと比較した差異は、ソースがnoneの代わりにＳに設定されることであることに留意する。  
hist(BTM, Δ, E)  この動作は、第１にＢＴＭに要求を送る。ＢＴＭは、system=E、name=fp(Δ)、taint=fp(Δ)、state=init（ソースは不特定のまま）、を有する格納された以前のメッセージを検索する。そのようなメッセージが見つからなかった場合、回答は空のセット（empty set）である。少なくとも１つのメッセージが見つかった場合、ＢＴＭは（好ましい実施形態において）最も古いメッセージを選択し、(state=out および taint=fp(Δ))又は(state=init および name=fp(Δ))を有する後続メッセージを再帰的に検索する。任意の見つかった名前及び汚染が、新しい名前及び新しい汚染が見つからなくなるまで後続の再帰的な検索に使用される。その結果は、ＢＴＭにおけるリンクに対応する汚染及び名前の間のリンクを有する、全ての収集値のサブツリーである。
【００３５】
当業者は、hist(BTM,Δ,E)の実装は、system=E、name=fp(Δ)、taint=fp(Δ)、state=init、を有するメッセージが存在するという条件の下、ＢＴＭによって誘導された２つの関係、taint→nameおよびname→taint、の推移閉包として表現されることもできる。
【００３６】
図１は、ピクチャΔを格納している第１の協調ノードＮ１が変更ピクチャＧ(Δ)を他の協調ノードＮ２に送信し、他の協調ノードＮ２が同一の変更ピクチャＧ(Δ)を非協調ノードＮ３に順々に送信する、本開示の例示的な使用を例示する。
【００３７】
ステップ２０２で、Ｎ１は、ピクチャΔのname=fp(Δ)及び対応する汚染t(Δ)=fp(Δ)を計算する。その後、ステップ２０４で、Ｎ１は適切なパラメータでinit：init(BTM, name(Δ), t(Δ))を実行し、ステップ２０６でメッセージをＢＴＭに送り、ステップ２０８でＢＴＭはピクチャΔに関して格納した汚染データを更新する。名前及び汚染が等しいため、Initはこれらの変数のうちただ１つを用いて実行されることができる。汚染データはその後、以下の通りである。
【００３８】
【表１】
2016015128.tif 000003
【００３９】
それから、ステップ２１０で、Ｎ１は、変更ピクチャＧ(Δ)（例えば、オリジナルピクチャΔの白黒又はクロップされたバージョン）を生成する。Ｎ１のローカルデータ追跡フレームワークは、オリジナルピクチャΔと同じ汚染を変更ピクチャＧ(Δ)に与えるが、これはオリジナルピクチャΔの汚染が変更ピクチャに伝搬されるからである。それから、ステップ２１２で、Ｎ１は、変更ピクチャＧ(Δ)をＮ２に送る。それから、ステップ２１４で、Ｎ１は、out(BTM, name(G(Δ)), t(Δ), N1, N2)を実行し、ステップ２１６で、メッセージをＢＴＭに送る。ステップ２１８で、ＢＴＭはピクチャΔに関する格納された汚染データを更新する。汚染データは以下の通りである：
【００４０】
【表２】
2016015128.tif 000004
【００４１】
Ｎ２は、変更ピクチャG(Δ)を有するメッセージを受信し、ステップ２２０で、名前及び汚染ｔ(Ｇ(Δ))を計算し、ステップ２２２で、in(BTM, 名前(G(Δ)), t(Δ), N1, N2)を実行し、ステップ２２４で、メッセージをＢＴＭに送る。ステップ２２６で、ＢＴＭは、格納された汚染データを更新する。汚染データは以下の通りである：
【００４２】
【表３】
2016015128.tif 000005
【００４３】
それから、ステップ２２８で、Ｎ２は、変更ピクチャG(Δ)をＮ３に送り、ステップ２３０で、out(BTM, name(G(Δ)), t(G(Δ)), N2, N3)を実行し、ステップ２３２で、メッセージをＢＴＭに送る。ステップ２３４で、ＢＴＭはピクチャΔに関する格納された汚染データを更新する。汚染データは以下の通りである：
【００４４】
【表４】
2016015128.tif 000006
【００４５】
それから、ステップ２３６で、Ｎ１は、動作hist(BTM, name(Δ))を実行し、ステップ２３８で、メッセージをＢＴＭに送る。ステップ２４０で、ＢＴＭは、名前がname(Δ)であるピクチャに関する追跡履歴を取得し、ステップ２４２でメッセージをＮ１に送る。その結果は、「Ｎ１→Ｎ２；Ｎ２→Ｎ３」であり、言い換えると、ピクチャはＮ１からＮ２に送られ、その後Ｎ２からＮ３に送られた。
【００４６】
同様にして、Ｎ２は要求hist(BTM, name(G(Δ))を送ることにより履歴Ｎ２→Ｎ３を取得することができる。しかしながら、name(Δ)の知識なしで、Ｎ２はＮ１から始まる履歴を取得することができない。
【００４７】
同じ値ｆｐ(Δ)は、データ項目Δの名前及び初期汚染の両方に用いられることを理解されるであろう。この選択は、より履歴情報を検索するために、汚染に対する名前のリンク付けを許容し、逆も同様である。
【００４８】
ＳＨＡ−３ハッシュ値のサイズは２５６ビットとすることができ、大抵の既存の汚染追跡フレームワークが汚染に関して２５６ビットを提供しないため、適合を必要とすることができることも理解されるであろう。
【００４９】
好ましい適合は、十分に多くのビットを有する汚染を許容するために、フレームワークをパッチすることがある。代替的な適合として、ＳＨＡ−３ハッシュ値を変更されない汚染システムにおいて許容される最大ビット数（Pedigreeに関しては６４ビット、Blareに関しては２６．６ビット）に切り捨てる（truncate）すること、フィンガープリント等式チェックに従って切り捨てることである。
【００５０】
好ましい実施形態において、制御されたシステムは、それらをＢＴＭに対して認証することを必要としないことがさらに理解されるであろう。制御されたシステムＥは、識別としてハンドルネームを使用することができる。すなわち、ＩＰアドレス、完全修飾ドメイン名（ＦＱＤＮ）又は任意のニックネームを使用することができる。唯一の要求は、制御されたシステムＥが一貫性のある履歴を求める場合、そのハンドルネームが経時変化すべきではないということである。そうでなければ、制御されたシステムＥはその新しいハンドルネームを用いて新しい履歴を始めることとなる。
【００５１】
さらに、ｆｐ(Δ)が初期名前及び初期汚染の両方として用いられる場合、ｆｐ(Δ)の知識は、ＢＴＭに対する履歴要求を作るために要求される。データ項目Δを得る制御されたシステムはｆｐ(Δ)を簡単に計算することができるが、データ項目Δへのアクセスをしてないシステムは、制御されていてもいなくても、ｆｐ(Δ)を計算することができない。
【００５２】
他の留意点で、汚染追跡を用いるときの周知の欠点は過剰なトレーニングである。すなわち、汚染の十分な伝搬後、システムの一つ一つのファイルが最終的に汚染され、汚染分析が無意味となり得るというリスクがあることである。
【００５３】
例えば、汚染されたピクチャＰでＧＩＭＰ(Gnu Image Manipulation Program)を使用した後、ピクチャＰの汚染がＧＩＭＰプロセスに伝搬するため、各単一のファイルが汚染される。Ｐの「ストーリー（story）」内にこれらの他のピクチャを含めることは通常役に立たない。
【００５４】
従って、ファイルの機密を解除する必要があり、すなわち、あるファイルに対する無用な伝播を回避するために、考慮されるファイルの汚染を除去する必要がある。好ましいローカル機密解除関数は、無用と考えられるある汚染されたファイルの機密を解除する権利をユーザに与え、再帰関数として表現されることができる：  
Ｔ＝（汚染のセット），Ｄ＝（デバイスのセット），∀ｎ＞０，∀ｔ∈Ｔ，∀ｄ∈Ｄ
【００５５】
【数１】
2016015128.tif 000007
【００５６】
関数declassify0(d, t)は、ある日、汚染されたデータｔ（ｔ≡（汚染）≡（データの名前））を受信した各デバイスの名前、及び派生ファイル、すなわちｔで汚染されたファイルであるが、ｔではないファイルの名前を戻す。ローカル機密解除関数をｎレベルまで、すなわち懸念される汚染が処分されたかどうかをユーザが尋ねるたびに、実行することは可能である。
【００５７】
本開示は、ホームネットワークおよびパーソナルデータプライバシーにおける直接利用を見い出すことができる。
【００５８】
本開示は、従来のフィンガープリント／透かしアプローチとは異なる汚染追跡を許容することができる。特に、本開示は、透かしが困難なデータ、すなわち暗号化又は圧縮データ、ウェブアプリケーショントラフィックを含むビット符号化データ、ソースコードを含む未加工のネットワークパケットテキスト文書、等の汚染追跡を許容する。
【００５９】
本開示は、メディアメトリ（すなわち、視聴者測定）の形成を許容することもできる。制御されたシステムＥは、データ項目Δを汚染し、及びデータ項目Δを多くの受領者に自発的に漏洩（すなわち送信）することができる。このファイルを受信すると、制御されていない システムはなにも報告しないだろうが、制御されたシステムは動作in(BTM, Δ, E,)をＢＴＭに報告するであろう。十分に誠実な制御されたシステムが展開される場合、これは、メディアメトリソースを提供する。
【００６０】
本開示は、異なる制御されたシステム間の汚染追跡を提供することが理解されるであろう。
【００６１】
発明の詳細な説明並びに（適切な場所の）特許請求の範囲及び図面に開示された各特徴は、独立又は任意の適切な組み合わせにおいて提供されることができる。ハードウェアにおいて実装されるように記述された特徴は、ソフトウェアにおいても実装されることができ、逆も同様である。特許請求の範囲において現れる参照番号は、例示のみの目的であり、特許請求の範囲の権利範囲を制限する効果はない。
【図１】
2016015128.tif 000008
【外国語明細書】
2016015128000001.pdf