JP2019505937A - データベース・テーブル、テキスト・ファイル、及びデータ・フィード中のテキストのソルティング - Google Patents

データベース・テーブル、テキスト・ファイル、及びデータ・フィード中のテキストのソルティング Download PDF

Info

Publication number
JP2019505937A
JP2019505937A JP2018554317A JP2018554317A JP2019505937A JP 2019505937 A JP2019505937 A JP 2019505937A JP 2018554317 A JP2018554317 A JP 2018554317A JP 2018554317 A JP2018554317 A JP 2018554317A JP 2019505937 A JP2019505937 A JP 2019505937A
Authority
JP
Japan
Prior art keywords
salting
field
data
key
records
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018554317A
Other languages
English (en)
Other versions
JP6970686B2 (ja
Inventor
コールマン、アーサー
リン、クリスティーナ レオン、ズー
リン、クリスティーナ レオン、ズー
アンダーソン、マイケル
ルバロン、マット
ローズ、マーティン
Original Assignee
アクシオム コーポレーション
アクシオム コーポレーション
コールマン、アーサー
リン、クリスティーナ レオン、ズー
リン、クリスティーナ レオン、ズー
アンダーソン、マイケル
ルバロン、マット
ローズ、マーティン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アクシオム コーポレーション, アクシオム コーポレーション, コールマン、アーサー, リン、クリスティーナ レオン、ズー, リン、クリスティーナ レオン、ズー, アンダーソン、マイケル, ルバロン、マット, ローズ、マーティン filed Critical アクシオム コーポレーション
Publication of JP2019505937A publication Critical patent/JP2019505937A/ja
Application granted granted Critical
Publication of JP6970686B2 publication Critical patent/JP6970686B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • G06F7/10Selecting, i.e. obtaining data of one kind from those record carriers which are identifiable by data of a second kind from a mass of ordered or randomly- distributed record carriers

Abstract

データベース・テーブル、テキスト・ファイル、及びデータ・フィードの「水平方向」ソルティングのためのシステムは、データの有用性に影響を及ぼすことなしに、キー・フィールド及びそのフィールド内の文字位置、「キー文字」、並びに少なくとも2つの状態のうちの1つ中に合法的にあり得るコンテンツを含んでいるソルティング・フィールドを利用する。データの受信側に割り当てられた一意の識別子が、2進数0又は1を表すために、ソルティング・フィールド中の状態の変動を使用することによってデータ内に隠れており、キー文字の値は、一意の識別子内の2進数0又は1のビット位置を識別する。このタイプのソルティングは、データ・ファイルの受信側に見えず、データの正確さを変更せず、データ・ファイルを受信する特定の当事者について一意にされるか、又は各データ・ファイルについて一意にされ得る。

Description

本発明の分野は、データが不適切にコピー又は使用されたどうかを決定するための、データのソルティングであり、特に、そのような目的のための消費者データのソルティングである。ソルティングは、データが漏洩された場合、データのサブセット中に含まれているデータがデータ所有者に識別され得るように、データのサブセットに一意のデータ(ソルト)を挿入する仕組みである。
この背景技術のセクションにおいて述べられる言及は、本発明に関して従来技術であると認められるものではない。
データ漏洩は、所有者又は許可されたユーザ以外の誰かによるデータの不正の使用として定義され得る。データ漏洩の財政的影響は、世界的に毎年数億ドル単位であると推定され、したがって、データ・サービス産業における非常に重要な問題を表す。データ漏洩を防ぐことを試みるソリューションが、しばらくの間存在している。これらのソリューションは、データが組織のファイアウォール外に漏洩するのを防ぐか、又はデータがファイアウォールを出て「ワイヤ上の」オープン・ネットワーク上に移動するときにデータを暗号化する。グラフィカル、ビデオ、オーディオ、又はドキュメント(すなわち、テキスト又はpdf)データが、ファイアウォール外に平文で実際に暴露された後、そのデータの所有権を主張するためのソリューションも存在しており、組織は、誤用からそれらのデータを保護するためのものとして知られる、これらの「デジタル・ウォーターマーキング」ソリューションを使用する。(「ウォーターマーキング」という用語は、印刷媒体から借用され、ウォーターマークは、真正性を検証するための印刷文書上の転写画像又はパターンからなるが、デジタル・ウォーターマークは、同じ目的をはたすためにデジタル・ファイル中に埋め込まれた一種のマーカーである。)データ所有者が法廷においてウォーターマークを所有権及び著作権侵害の証拠として使用することができるので、ウォーターマークは、データ所有者が無認可使用についての損害を回復することを可能にする。同時に、そのような法的救済が存在することは、個人又はグループが、その著作物を無料で取得し、次いで使用することを希望することを阻止する。
不幸にも、テキスト及びデータベース・ファイルのデータ漏洩は、平文で受け渡されるのか使用の時点において解読されるのかにかかわらず、未解決の問題のままである。消費者データの所有者(「データ所有者」)は、しばしば、自身のデータを、金融サービスにおけるレギュレーションB或いは地域、州又は連邦政府によって設定されたプライバシー法など、契約上の要件又はデータ処理規則に従って、そのデータを法的様式でのみ使用すると確信される個人又は組織(「信用できる第三者」又は「TTP」)に与えるか、リースするか、又は販売する。このデータは、通常、一連のデータベース・テーブル(たとえば、.sqlフォーマット)、テキスト・ファイル(たとえば、.csv、.txt、.xls、.doc、及び.rtpフォーマット)として、又はリアルタイム・データ・フィード(たとえば、XML又はJSON)として送信される。これにもかかわらず、データ所有者のデータが、承知の上で又は知らないでのいずれかで適切な許可なしにさらには違法にデータを使用する他人(「バッド・アクター(Bad Actor)」)の手中に漏洩することがしばしば行われる(漏洩されたファイルは、本明細書では「漏洩されたサブセット」として定義される)。これは、たとえば、TTPが、承知の上でデータを公開し、それ自体がバッド・アクターであるか、TTPの従業員が承知の上で又は偶然にデータを公開するか、或いはデータ所有者自体の従業員が承知の上で又は知らないでデータを漏洩するので、起こり得る。これは、テキスト・データが、セキュア形式から、漏洩が容易に行われ得るフォーマットに移ることが、データ所有者からデータ・ユーザへの一連のステップ中の最後のステップにおいてであるので、業界において「ラスト・マイル」問題と呼ばれることがある。
データベース及びテキスト・ファイルのウォーターマーキングは、固有の課題を提示する。画像、ビデオ又はオーディオ・ファイルは、高密度で、高度に構造化される。これらのタイプのファイルは雑音耐性があるので、ファイルの情報コンテンツ又はユーザ・エクスペリエンスを劣化させることなしに、これらのファイル中にウォーターマークとして少量のデータを埋め込むことが容易である。雑音耐性ファイルは、(ウォーターマークなどの)わずかな雑音が、得られるデータを劣化させることなしに追加され得るファイルであり、たとえば、ウォーターマークは、閲覧者が変化に気づくことなしに、数ビットのデータを変更すること又は隣接フレームの順序を変更することによってビデオ・ファイルに追加され得る。同時に、このタイプのデータの高度に構造化された性質は、バッド・アクターがウォーターマークを除去することを困難にする。データベース・テーブル及びテキスト・ファイルは、それと比較して、比較的軽量であり、したがって、雑音の導入に耐えられない。たとえば、名前又は住所中の単一の文字を変更することさえ、そのレコード中のデータを無用にし得る。このタイプのデータの構造は、ウォーターマークをもろくし、検出しやすくし、したがって、データが不適切に使用されたことを立証しようとする当事者に認識不可能にするのを容易にするやり方(たとえば、列を並べ替えること、行を付加すること、行を削除すること)で、容易に操作され得る。たとえば、検出を回避するために、データ・テーブル内の要素が変更され得、データが他のデータ・ソースからのデータとマージされ得、データがサブセットに分割され及び/又は他のやり方で再構成され、操作され得る。その結果、データベース又はテキスト・ファイル(或いはそれのJSON又はXML等価物)の所有権を主張すること及び/或いはデータを漏洩することの原因である当事者を検出することを希望するデータ所有者にとって著しい障害が存在する。データ所有者は、適用可能な証拠基準を満たす不法行為の証明を欠くので、訴訟(action at law)を通して収益減を容易に回復することもできない。その上、データ漏洩を検出するための現在の方法は、主に手動操作を通してであり、したがって、時間がかかり、労働集約的であり、費用がかかり、誤りを起こしやすい。したがって、これらのタイプのファイルにウォーターマークを入れるか又は「ソルティングする」改善されたシステム及び方法が、大いに利益になるであろう。
本発明は、本明細書では「水平方向」ソルティングと呼ばれる、データベース・テーブル、テキスト・ファイル、データ・フィード、及び同様のデータをソルティングする(又はそれらにウォーターマークを適用する)ための方法を対象とする。水平方向ソルティングは、本出願の発明者によって開発されたウォーターマーキングの仕組みであり、それにより、ごく少数の一意の及び識別可能な変更が、データのフルセット又はサブセット上で行われる。水平方向ソルティングは、データの有用性に影響を及ぼすことなしに、2つの構成要素、すなわち、評価される、キー・フィールド及びそのフィールド内の文字位置、並びに合法的に少なくとも2つの状態のうちの1つにあり得るコンテンツを含んでいるソルティング・フィールドに基づいて、データ・ファイルに影響を及ぼす。これらの構成要素は、様々な実施例では、レコード中の同じフィールド又は異なるフィールドであり得る。いくつかの実施例では、キー文字は、英数字の全範囲など、多種多様な値を有し得る。データ・ファイルが表フォーマットにおいて構成されるとき、しばしば個々の行として示されたデータの個々のレコードに対する変更が行われ、したがって、ソルティングは、操作が行ごとの方法で行われるという意味で「水平方向」であるので、「水平方向」ソルティングという用語がここで造り出される。この手法の結果は、以下で説明されるように、ソルトを見つけるためにファイル全体を分析する必要がなく、むしろ、少数の行又はいくつかの場合には1つの行のみ分析する必要があることである。これは、プロセスの計算速度を大幅に改善する。
本明細書で説明される本発明のいくつかの実装形態による水平方向ソルティング・システムは、以下の原理に従う。
1.限定的摂動。フィンガープリンティングを除く、ウォーターマーキングのあらゆる形式は、データの何らかの摂動を伴う。問題は、データの品質がデータを使用不可能にするのに十分損なわれるようになるまで、どのくらいの摂動がデータベースに挿入され得るかである。その上、データが使用不可能であるかどうかは、それの意図された使用事例に大きく依存する。たとえば、メーリング・リスト中の1つの人名を変更することでさえ、商業的結果を有し、ウォーターマーキングは、複数の名前を変更することを必要とすることがある。したがって、その使用事例では、ウォーターマーキング目的のためにこのフィールドを使用することは可能でない。しかしながら、名前が医療データの統計的分析のために使用されるデータベースの一部である場合、名前のわずかな変動が許容できる。
2.ウォーターマークの一意性。ウォーターマークは、使用事例に必要なグラニュラリティのレベルに固有であるべきである。商用システムでは、ウォーターマークは、会社による所有権を主張し、データを漏洩した可能性が最も高かった1つの個人及び会社を識別するために使用される。したがって、会社に結合されたウォーターマークが、おそらく、この使用事例におけるグラニュラリティの妥当なレベルである。あらゆるファイルについて異なるウォーターマークを有することが、さらに高い精度を提供し得るが、それは、ウォーターマークを作成及び検出するために必要とされるシステムのサイズを増加させる。スケールのあらゆる増加は、関連するコストを有し、会社レベルのウォーターマーキングで間に合うとき、ファイルレベル・グラニュラリティは、費用がかかりすぎて努力に値しないことを証明し得る。本発明のいくつかの実装形態では、システムは、ファイル・レベル又は顧客レベルのいずれかにおいて高度に一意のウォーターマークを適用することのフレキシビリティを有する。これは、以下で説明されるように、受信側IDをファイル又は顧客に割り当てることによって達成される。
3.盲目。理想的には、データベース又はテキスト・ファイル中のウォーターマークを識別することは、元のウォーターマークを入れられていないデータベースの知識もウォーターマーク情報も必要とするべきでない。この性質は、データの元のソースが未知である状況においてさえデータベースのコピー中でウォーターマークが検出されることを可能にするので、重要である。本明細書で提示されるシステムは、元のウォーターマークを入れられていないデータベースの知識もウォーターマーク情報も必要としない。代わりに、システムは、ウォーターマークを検索するために、ウォーターマークを入れられたワイルド・ファイルを処理する。検出されたウォーターマーク及びそれの対応する受信側IDは、ウォーターマークの所有者を検索するために、データベースに対して照合され得る。
4.非干渉。ワイルドで発見されるファイルは、2つ又はそれ以上のソースからのデータを含んでいることがあり、それらのいずれかがウォーターマークを入れられていることがある。したがって、あるウォーターマークの存在が、ファイル中の別のウォーターマークの発見に干渉するべきでない。システムは、ファイル中の2つ以上のウォーターマークを検出することが可能である。ウォーターマーク検出プロセスは、ワイルド・ファイルの所有者を検索するために、ウォーターマーク・データベースに照合するために、ワイルド・ファイルからすべての可能なウォーターマーク及び対応する受信側IDを暴露することを試みる。
5.罪の法的確認(legal confirmation of guilt)についての妥当性。いかなる商用ウォーターマーキング・システムも、法廷において通用することができるウォーターマークを生成しなければならない。一意のウォーターマークは、良いスタートである。しかし、法廷では、ウォーターマークが特有の会社のファイルに属することを証明するだけでなく、検索されるウォーターマークが、別の会社のために使用されるウォーターマークと混同され得ないことをも証明する必要があり得る。システムは、検出された(1つ又は複数の)ウォーターマークを(1つ又は複数の)受信側IDとともに出力する。(1つ又は複数の)受信側IDは、ウォーターマークがファイルに適用されたとき、検出された受信側IDがシステムによって割り当てられたことを保証するために、ウォーターマーク・データベースに照合される。単一のウォーターマークが検出された場合、データの所有者が見つけられたということが大いにあり得る。複数のウォーターマークが検出された場合、システムによって与えられる情報が、ファイル中のデータについて複数のソースを潜在的に発見することにつながるきっかけとして働く。
本明細書に記載された水平方向ソルティングの結果として、漏洩されたサブセット又は「ワイルド・ファイル」中に含まれているデータは、変更された場合でも、特有の受信側及び受信側が受信した特定のファイルに与えられたものとして識別され得る。バッド・アクター及び特有の漏洩されたデータ・セットを識別するこのプロセスは、罪の割当て(guilt assignment)と呼ばれる。罪の評価(guilt assessment)は、データ所有者が、データの水平方向ソルティングに基づいて、バッド・アクターをそれによって起訴する強い証拠事例を構築することを可能にする。水平ソルティングは、バッド・アクターによって検出することが困難であり、したがって、バッド・アクターが、データがソルティングされたか又はソルティングされ得たことに気づいている場合でも、バッド・アクターが除去することが困難又は不可能である。したがって、水平ソルティングは、潜在的バッド・アクターが最初に取得したデータを事実上不適切に使用する可能性を低減し、それは、そのような不適当な使用が検出され得、法的措置を生じることを知ることによるものである。
本発明のこれらの及び他の特徴、目的並びに利点は、以下で説明されるように、図面とともに、好ましい実施例の以下の詳細な説明及び添付の特許請求の範囲を考慮するとより良く理解されるようになるであろう。
本発明の一実施例による、ソルトが新しいファイルに追加されるプロセスを示す図である。 本発明の一実施例による、出所不明(unknown origin)のファイルが、ソルトの存在のために分析されるプロセスを示す図である。 本発明の一実施例による、ソルティング・システムのインフラストラクチャ及びアーキテクチャを示す図である。
本発明がさらに詳細に説明される前に、本発明の範囲は特許請求の範囲によってのみ限定されるので、本発明が、説明される特定の実施例及び実装形態に限定されないこと、並びに特定の実施例及び実装形態を説明する際に使用される用語が、それらの特定の実施例及び実装形態を説明するためのものにすぎず、限定するものではないことを理解されたい。
本発明のいくつかの実装形態の説明を始めるために、関連する技術的記述の正確な定義が以下のように提示される。Dを、限定はしないが、会社Cによって所有されるフラット・ファイルを含む、データベースとする。Dは、リレーショナル形式又は構造化テキスト(たとえば、.csv、XML、又はSQLデータ)におけるタプルからなる。Sを、Dからのタプルのサブセットとする。Mを、D又はDよりもはるかに小さいSの表現Wを生成するための一意の方法とする。その場合、目的は、以下のようなWを生成することである。
1.Wは、所与のMについてのD又はSの一意の「フィンガープリント」である(すなわち、Mは、2つの異なるD又はSのために同じWを生成することができない)。
2.Wは、統計的信頼性を用いて、Dのコピー、又はSと部分的に重複する異なるSを受信する他のエージェントA、A、...Aに対して、エージェントAが、D又はSを配信又は変更するバッド・アクターであると決定することができる。
3.Wは、D’、すなわちDの第2のコピー又はサブセットがCの同意を得ることなく作成されたことを証明するための証拠基準を満たすのに十分にロバストであることになる。これは、フォールス・ネガティブ(D’が違法でないとき、それを違法であるとして識別すること)又はフォールス・ポジティブ(D’が合法的でないとき、それを合法的として識別すること)の確率が小さくなければならないことを意味する。
4.Wは、バッド・アクターがMを知っている場合でも、読取り可能でないか又は再生可能でない。
5.Wは、特定のAについて生成されるときにD又はSからの情報の損失を生じてはならない。
6.MがD中にWを埋め込む場合、Wの復元は盲目的である。すなわち、Wは、D’とDとが、又はそれぞれD及びD’から取られた厳密な重複SとS’とが等価である場合にのみ、Dを知らずにD’から取得され得る。
7.Wがそれによって作成されるプロセスは、フォールス・ネガティブを生成することなしに、DとD’との間のタプルの顕著な差(たとえば、余分のブランクスペース、データ再ソーティング、タプル削除、タプル追加)に対処するのに十分にロバストでなければならない。
8.Mは、CからのDが定期的に更新され、Dになることを考慮に入れ、DをDと区別する能力を可能にしなければならない。
9.Mは、すぐに利用可能な計算機器を用いて計算的に実現可能でなければならない。
10.Mは、D又はSがD’又はS’になるとき、どんな変更がD又はSに行われたかを正確に識別する必要はないが、D’又はS’の詳細な検査が、Aのバッド・アクター・ステータスのインジケータとしてWについての裏付けとなる証拠を提供することができ、それを提供するべきである。
これらの要件を満たす本明細書で説明される水平方向ソルティング方法を実装することによって、データ所有者は、漏洩されたサブセットを自身のデータ・セットから発生したものとしてより頻繁に識別し、さらに、そのデータがどのTTPに最初に送られたかを識別することができる。これは、データ及び受信側に一意の識別子(「ソルト」)がわずかに埋め込まれた、漏洩されたサブセット内のいくつかのデータ要素を分析することによって行われる。このソルトは、訓練されていない眼にはそれが見えないので、ソルティング機構の事前情報なしに検出され得ない。
上述のように、水平方向ソルティングは、データの有用性に影響を及ぼすことなしに、2つの構成要素、すなわち、評価される、キー・フィールド及びそのフィールド内の文字位置(「キー文字」)、並びに合法的に少なくとも2つの状態のうちの1つにあり得るコンテンツを含んでいるソルティング・フィールド(「ソルティング・フィールド」)に基づいて、ファイルに影響を及ぼす。これらの構成要素は、同じフィールド又は異なるフィールドであり得るが、しかしながら、キー文字は、ソルティング方法によって使用され得る様々な状態によって変更され得ない。理想的には、キー文字は、英数字の全範囲など、多種多様な値を有するべきである。値がより広く、より均等に分散されるほど、キー文字は、以下で説明されるように、より良くそれの目的をはたす。
ソルティング・フィールドの異なる、しかも合法的な状態は、数値の精度の変動(たとえば、1.00対1.0)、略語の使用の変動(たとえば、Road対Rd)、ピリオドなどの句読法の使用の変動(たとえば、Jr.対Jr)、敬称の使用又は不使用(たとえば、John Doe氏対John Doe)、書籍の名前におけるイタリック体などの書体変更の適用(たとえば、The Lord of the Rings対

)などを含み得る。データの受信側に割り当てられた一意の識別子が、2進数0又は1を表すために、ソルティング・フィールド中の状態の変動を使用することによってデータ内に隠れており、キー文字の値は、一意の識別子内の2進数0又は1のビット位置を識別する。
実例として、説明の目的で簡略化されるが、可能な受信側の極めて小さいセットのうちの1つの受信側が、2進数で値0110によって表される、6の一意の識別子を割り当てられ得る。受信側が、性別フィールドとセンチメートル単位の身長フィールドとを含むデータを送られ、性別フィールドが、「M」、「F」、「U」、及びブランクの可能な値を含んでおり、身長フィールドが、100分の1センチメートルの精度をもつ値を含んでいる、と仮定する。性別フィールドにおける第1の(及び唯一の)文字が、キー文字として使用され得、「M」の値が第1のビットに、「F」が第2のビットに、「U」が第3のビットに、「 」(ブランク)が第4のビットに対応し、身長フィールドが、ソルティング・フィールドとして使用され得、100分の1までの精度をもつ値が0の2進値を示し、1000分の1までの精度をもつ値が1の2進値を示す。
ソルティングされたデータからの数個のレコードを検査する際に、以下が参照される。
性別、身長
M、183.63
F、177.420
F、180.220
、166.17
M、179.11
U、175.130
U、168.960
データを検査する際に、第1のレコードが、(それが性別フィールドにおける「M」の値を有することにより)第1のビット位置に関係するソルティング・データと、(身長フィールドが100分の1の精度を有することにより)0の値とを保持することがわかり得る。第2のレコードは、(それが性別フィールドにおける「F」の値を有することにより)第2のビット位置に関係するソルティング・データを保持し、(身長フィールドが1000分の1までの精度を有することにより)第2のビット位置の値が1であることがわかる。レコードのさらなる分析は、0110のビット値をサポートし、したがって、その識別子を割り当てられた受信側にファイルが送られたことが知られる。これは単純な実例であり、ソルティングは、機構が知られると比較的容易に見つかるが、より多くのフィールドをもつ、ソルティング機構が知られていない、より大きいデータ・ファイルでは、ソルトは、手作業で識別することが非常に困難であり得る。
次に図1を参照しながら、本発明の実装形態による、ソルティングされたファイルを作成するためのシステムが、より詳細に説明され得る。ステップ10において、キー文字及びソルティング・フィールドが、ソルティングされることになっているファイルのために決定される。上記の実例では、キー文字は性別フィールドであり、身長フィールドはソルティング・フィールドとして使用される。これは一実例にすぎず、上述されてもいるように、多くの他のタイプのフィールドが、利用可能なデータ・フィールドに応じてキー文字及びソルティング・フィールドのために使用され得る。Acxiom社によって維持されるInfoBaseデータベースなど、包括的な消費者データベース中に含まれているレコードなど、いくつかのタイプのデータ・レコードは、消費者又は世帯に関係する各レコードについての何百ものデータ・フィールドを含み得、そのような場合、キー文字及びソルティング・フィールドのために使用され得る多くの候補フィールドがあり、ソルティング・システムを妨害することを試みる誰かのタスクをさらに複雑にする。
ステップ12において、受信側IDがファイルに割り当てられる。この情報は、データ・プロバイダによって、ファイルに関係するデータ(作成の日付、データのタイプ、データを受信するエンティティ、及びデータについての使用など)を受信側IDデータベース中の受信側IDと照合するテーブル中に維持される。
ステップ14において、ソルティングされたファイルを生じるために、ファイルがソルトを用いて変更される。このプロセスは、元のファイル中の各レコードについての反復2ステップ動作(ステップ16)を含む。第1に、サブステップ18において、キー文字が、ビット位置を決定するために評価される。第2に、サブステップ20において、そのレコード中のソルティング・フィールドが、ビット位置中のビット値を反映するために更新される。ステップ18において各レコードが処理されると、ソルティングされたファイルが完成され、ステップ22において顧客に送られ得る。
次に図2を参照しながら、ワイルド・ファイル中のソルトの存在を決定するためのプロセスがより詳細に説明される。ステップ30において、ファイルがデータ・プロバイダによって受信され、ステップ32において、ファイルのフィールドが、データ・プロバイダの受信側IDデータベースからの知られているキー文字及びソルティング・フィールドと比較される。これは、すべての知られている受信側IDについて繰り返され、これは、バッド・アクターが複数のソルティングされたファイルをマージした場合を考慮する。ステップ34において一致が見つからない場合、ステップ36においてプロセスが終了し、これは、ソルトがファイル中に見つからなかったことを示す。一致が見つかった場合、ステップ38において、ソルトのための各可能なフィールド組合せを評価するための処理が継続する。これは反復的プロセスを伴い、必要な場合、ステップ40がファイル中の各レコードについて実行される。サブステップ42は、ビット位置を決定するためにキー文字を評価する。サブステップ44は、ビット位置中のビット値を決定するためにソルティング・フィールドを評価する。
ステップ40において各レコードが処理されると、ステップ46において、ソルトの存在又は不在を決定するための分析結果がデータ・プロバイダに返される。
次に図3を参照しながら、上記で説明されたプロセスを実装するためのコンピュータ・ネットワーク・システムのための物理的構造が次に説明され得る。(インターネットなどの)ネットワーク50が、システムにアクセスするために使用される。仮想プライベート・ネットワーク(VPN)52が、「DMZ」エリア、すなわち、システムのファイアウォールの背後での進入より前に外部(outside)ファイルが隔離されるエリアへのセキュア接続を提供するために使用され得る。セキュア・ファイル転送プロトコル(SFTP)システムを使用して、ファイルがSFTP外部ロード・バランサ54に転送され得、FTPは、コンピュータ・ネットワーク上のクライアントとサーバとの間でコンピュータ・ファイルを転送するために使用されるよく知られているネットワーク・プロトコルである。UI/APP外部ロード・バランサ56が、コンピュータ・アプリケーションによって送られるファイルを受信するために使用され得、AP外部ロード・バランサ58が、アプリケーション・ソフトウェア間の通信を可能にするサブルーチン定義、プロトコル、及びツールを開発するためのよく知られている概念である、アプリケーション・プログラミング・インターフェース(API)に従って送られるファイルを受信するために使用され得る。システムのロード・バランサは、システム中の個々のサーバがファイル要求で過負荷をかけられないことを保証する。
次にシステムのフロント・エンド・レイヤに移動すると、それ自体のSFTPサーバ復元可能ストレージ62に関連付けられたSFTPサーバ60が、ファイルがDMZエリアから移った後、FTPによって送られたファイルを受信する。同様に、UI/APP内部ロード・バランサ64が、ファイルがDMZエリアを出た後、UI/APP外部ロード・バランサ56からファイルを受信し、それらを1つ又は複数のUI/APP仮想マシン(VM)66(2つが図3に示されている)に受け渡す。サービス・エリアに移動すると、これらのサブシステムは、データをAPI内部ロード・バランサ70に受け渡し、次いで、API内部ロード・バランサ70は、1つ又は複数のAPI VM72(同じく、2つが図3に示されている)に情報を受け渡す。
システム・バックエンドにおいて、API VM72からのデータが、ファイル階層化推論エンジン(FLIE:file layering inference engine)内部ロード・バランサ76に移り、ファイル階層化推論エンジン(FLIE)内部ロード・バランサ76は、1つ又は複数のファイルVM78に情報を受け渡す。FLIEシステムの目的は、入力データ・ファイルの各フィールド中のデータのタイプを自動的に識別することである。FLIEシステムにデータを受け渡すことに加えて、API VM72は1つ又は複数のマルチテナント・データストア84にデータを記憶するように構成された処理クラスタ及びデータストア82にもデータを受け渡し、マルチテナント・データストア84の各々は、データストア復元可能記憶エリア86(各々の3つが図3に示されている)に関連付けられる。マルチテナント・データストア84に記憶されるデータの実例としては、受信側ID及び各ファイルのウォーターマーキングに関係する他のデータがある。
本明細書で説明されるシステムを開発し、テストする際に、攻撃のいくつかのタイプが考慮された。それらのうちに含まれるのは以下である。
1.良性(benign)更新。マークされたデータが、追加されるか、削除されるか、又は更新され、これは、埋め込まれたウォーターマークを除去し得るか、又は埋め込まれたウォーターマークを検出不可能にさせ得る。
2.サブセット攻撃。データのサブセットを削除又は更新すること。
3.スーパーセット攻撃。いくつかの新しいデータ又は属性が、ウォーターマークを入れられたデータベースに追加され、これは、ウォーターマークの正しい検出に影響を及ぼすことがある。
4.共謀攻撃。この攻撃は、攻撃者が、同じファイルの複数のウォーターマークを入れられたコピーへのアクセスを有することが必要である。
これらの攻撃カテゴリーに対する有効性をテストするために、3つのテスト・シナリオが使用された。第1のシナリオでは、削除(ソルティングされたファイルからいくつかのレコードを除去することによってソルトを検出する可能性をテストすること)が採用された。これは、サブセット攻撃及び良性攻撃に関連する。第2のシナリオでは、インサート(データ・ファイルにランダムに挿入される変動する数のソルティングされていないレコードの挿入をテストすること)が採用された。これは、良性攻撃及びスーパーセット攻撃に関連する。第3のシナリオでは、混合受信側IDテスト(2つ以上の受信側IDから生成されたソルティングされたレコードを組み合わせることによって、ソルトを検出する可能性をテストすること)が採用された。これは共謀攻撃に関連する。
第1のシナリオでは、以下のステップが実行された。
1.2014年1月のInfoBase 1%ファイルから100Kのレコードのランダム・サンプルを取る。(InfoBaseはAcxiom社によって維持されるファイルされた包括的な消費者データベースである。)このファイルはデータ・ファイルとして参照される。
2.完全なデータ・ファイルを水平方向にソルティングするために、1つの受信側IDを使用する。
3.10Kをランダムに除去することによって、データ・ファイル中のレコードの数を低減する。このファイルはワイルド・ファイルとして参照される。
4.ワイルド・ファイル中に存在する受信側IDビットの数を検出し、記録する。
5.受信側IDビットの数が36に等しい場合、ステップ3及び4を繰り返し、他の場合、ステップ6に進む。
6.1Kのレコードをランダムに除去することによって、データ・ファイル中のレコードの数を低減する。
7.ワイルド・ファイル中に存在する受信側IDビットの数を検出し、記録する。
8.ワイルド・ファイル中のレコードの数が1Kよりも大きい場合、ステップ6及び7を繰り返し、他の場合、ステップ9に進む。
9.500のレコードをランダムに除去することによって、データ・ファイル中のレコードの数を低減する。
10.ワイルド・ファイル中に存在する受信側IDビットの数を検出し、記録する。
11.400のレコードをランダムに除去することによって、データ・ファイル中のレコードの数を低減する。
12.ワイルド・ファイル中に存在する受信側IDビットの数を検出し、記録する。
このテストの結果は、表1に示されているものであった。

10kのレコードよりも大きいサイズのワイルド・ファイルの場合、識別され、一致した受信側IDビットの数が36であり、これは、68Bに1つの一意性、したがって、事実上100%の信頼区間を生じることがわかり得る。サイズ100〜10kのレコードのワイルド・ファイルの場合、識別され、一致した受信側IDビットの数が、22から35の間であり、4MMに1つの一意性、したがって、99%を超える信頼区間を生じる。サイズ100のレコードの極めて小さいワイルド・ファイルの場合でさえ、識別され、一致した受信側IDビットの数が21であり、2.1MMに1つの一意性、したがって、約99%の信頼区間を生じる。テスト結果は、10Kが、すべての36(すなわち0〜9、a〜z)の受信側IDビットが識別可能である最小ファイル・サイズであることを示す。すべての36の受信側IDビットが識別されるとき、36の受信側IDが680億に1つの一意性を表すので、ワイルド・ファイルが水平方向ソルトを含んでいる信頼区間は100%である。ファイル・サイズが10Kを下回るにつれて、受信側IDビットの数が減少するが、テストは、システムが、依然として、ワイルド・ファイル中のわずか100のレコードを用いて21の受信側IDビットを識別することができることを示す。21の受信側IDの識別は、2.1MMに1つを表し、これは、99%に近い極めて高い信頼区間を生じる。システムが罪を割り当てるために完全なファイルを処理する必要がないので、暗示は、したがって、システム処理及びスケーラビリティに関係する。システムが21の受信側IDを識別するまで、100のバッチ中の増分レコードを処理することで十分である。
第2のシナリオでは、以下のステップが実行された。
1.所与の時間に、推定された最大数の顧客アカウントをシミュレートするために、5000の受信側IDを生成する。
2.2014年1月のInfoBase 1%ファイルから5K、50K、及び100Kのランダム・サンプルを取る。これらのファイルは、データ・ファイル1、データ・ファイル2及びデータ・ファイル3として参照される。
3.各データ・ファイルを完全に水平方向にソルティングするために、ステップ1における受信側IDのうちの1つをランダムに選択する。
4.データ・ファイル1、データ・ファイル2及びデータ・ファイル3について、2015年1月のInfoBase 1%ファイルからランダムに選択された(データ・ファイル・サイズに対する)1%のソルティングされていないレコードを挿入する。これらのファイルは、ワイルド・ファイル1、ワイルド・ファイル2及びワイルド・ファイル3として参照される。
5.ワイルド・ファイル中に存在する受信側IDビットの数を検出し、記録する。
6.ランダムに選択された20%、40%、60%及び80%のソルティングされていないレコードを挿入することによって、ステップ3を繰り返す。
7.各区間においてワイルド・ファイル中に存在する受信側IDビットの数を検出し、記録する。
このテストの結果は、表2に示されているものであった。

上記のテスト結果テーブル2から観測されるように、テスト・ファイルにわたる(31よりも大きい)識別された高い数の受信側IDビットに基づいて、テスト結果は、システムが、変動するワイルド・ファイル・サイズ及び挿入割合にわたって、ランダム・レコード挿入に対する水平方向ソルトを検出することができる、99%を超える高い信頼性レベルを示す。
第3のシナリオでは、任意の受信側IDからの未知数のソルティングされたレコードを用いて、2つ、3つ、及び5つの受信側IDによって生成されたソルトを検出する能力をテストするために、以下のステップが実行された。手法は、5000の受信側IDを生成することによって5000のクライアントがあるシナリオをシミュレートすることであった。
1.所与の時間に、推定された最大数の顧客アカウントをシミュレートするために、5000の受信側IDを生成する。
2.2014年1月のInfoBase 1%ファイルからそれぞれ100Kのレコードの2つのランダム・サンプルを取る。これらのファイルは、データ・ファイル1及びデータ・ファイル2と表示される。
3.完全なデータ・ファイル1を水平方向にソルティングするために、5000の受信側IDのうちの1つを使用する。
4.完全なデータ・ファイル2を水平方向にソルティングするために、ステップ1における5000の受信側IDからランダムに選択された第2の受信側IDを使用する。
5.2015年1月のInfoBase 1%ファイルからランダムに選択された10K(元のデータ・ファイル・サイズの10%)のソルティングされていないレコードを挿入する。
6.100%、80%、70%、及び60%の信頼区間を使用して、ワイルド・ファイル中に存在する受信側IDビットの数を検出し、記録する。100%において、1又は0のいずれかである、受信側IDビットは、時間の100%、ビットが同じビットにマッピングされることによって決定される。80%において、受信側IDビットは、時間の少なくとも80%、ビットが同じビットにマッピングされることによって決定される。残りの区間、70%及び60%は、同じルールに従う。
7.ステップ6における各区間について、ワイルド・ファイル中に存在する受信側IDビットの数を検出し、記録する。
これらのステップを実行することの結果は、表3に示されている。

テスト結果は、ワイルド・ファイルが、2つの別個の受信側IDを用いて2つのソルティングされたデータ・ファイルをマージすることの結果であったとき、システムがすべての受信側IDを完全に識別することができることを示す。システムは、(5000の中から)ワイルド・ファイル中に存在するすべての3つの受信側IDを含んでいる、10の潜在的受信側IDに絞るので、極めて有効である。受信側IDの数が3を超えるとき、テストは、識別されているあまりに多くの可能な受信側IDがあり、これは、自動システムのために有効でないことがあることを示すが、バッド・アクターが、実生活において同じデータ・プロバイダから3つ以上のソルティングされたデータ・ファイルをマージすることは極めてありそうもないと考えられている。
このテストからの全体的結論として、水平方向ソルティングの仕組みは、レコードが挿入又は削除される場合の、並びにファイルがマージされるときの共通攻撃を容易に克服したことがわかり得る。詳細には、テスト結果は、このデジタル・ウォーターマーキング・プロセスの計算速度及び効率を増加させることをそのように行う際に、システムが、たいていの挿入/削除シナリオの下で、>99%の信頼性で受信側IDを識別し、わずか100のレコードを用いて約99%の信頼性で受信側IDを識別し、ワイルド・ファイルが2つの受信側IDを含んでいるとき、マージ攻撃の下で100%の信頼性で2つの受信側IDを識別し、ワイルド・ファイルが3つの受信側IDを含んでいるとき、すべての受信側IDの99.8%をなくすことができることを証明した。
説明される本発明の実装形態は、受信側に気づかせることなしに又はデータの有用性を妨げることなしに、所与のデータ・ファイルの受信側を決定するための一意の方法を生じることがわかり得る。さらに、システムは、スケーラブルであり、流通している潜在的に何百万もの「ワイルド」ファイルのセットの間でファイル及びそれの受信側の一意性を識別することが可能である。実際的であるために、商用等級ウォーターマーキング・システムは、1日につき何百ものファイルを処理することが可能でなければならず、これは、処理インフラストラクチャ全体が拡張可能及びスケーラブルでなければならないことを意味する。ビッグ・データのこの世代では、処理されるべきデータ・ファイルのサイズは、サイズが数メガバイトから数テラバイトまで著しく変動し、これらのファイルがシステムに流れ込む方法が、極めて予測不可能であり得る。スケーラブル・システムを構成するために、システムがこの予測不可能性を扱うようにサイズ決定されること保証するために、所与の時間における最大処理要件を推定するための予測モデルを構築しなければならない。
本明細書で説明される実装形態によるソルティング・システムは、無制限サイズのデータ・ファイル、データベース・テーブル、及びデータ・フィードをソルティングする能力を有する。しかしながら、顧客は、ファイルが配信される前にウォーターマーキングが行われるために数日又は数週間待つことができないので、処理速度も重要である。顧客は、毎日及び場合によっては一層速く、顧客の基礎をなすデータへの更新をリリースしていることがある。システムは、次のファイルの生成のサイクル時間内に、ファイルにウォーターマークを入れることが可能でなければならず、そうでなければシステムはボトルネックになり、ファイルはキューに分類され、それは、ビジネス・モデル全体を壊すことになる。したがって、実用限界生産物(MVP:Marginally Viable Product)リリースは、約20秒中に1MMのレコードの最小ソルティング・スループットを有しなければならない。ソルト検出プロセスは、ウォーターマークの存在を決定するために、ワイルド・ファイルの所与のファイル・サイズについてわずか100のレコードを処理することを必要とする。MVPリリースにおけるウォーターマークを検出するための処理時間は数秒である。ワイルド・ファイルが盗まれたかどうかを決定するために、完全なファイルをパースすること、並びにワイルド・ファイルをマスタ・データベースと照合することが必要でないので、計算能力が低減される。このシステムを使用するソルト検出の一部として人間の対話及び検査が必要とされない。この理由で、さらなる時間及びコスト削減が実現され、エラーが低減される。
データ・ウォーターマーキングに関する調査のほとんどすべてが、データの1人又は2人の所有者及び1人又は2人のバッド・アクターについてテストされたアルゴリズムに基づいている。商用等級システムは、完全に未知のソースをもつファイルが復元される状況において、多数の顧客及び未知数のバッド・アクターについて、ウォーターマークを生成し、記憶し、検索することが可能でなければならない。たとえば、商用ウォーターマーキング会社が、それのためにファイルにウォーターマークを入れる5000人の顧客を有することについて考える。この実例では、ウォーターマーキング会社は、盗まれたデータをファイルが含んでいないことを検証することを望む第三者からのファイルを検索する。これを決定するために、ウォーターマーキング会社は、一致を見つけるまで、各会社のウォーターマークに対してファイルをテストしなければならない。最悪の場合、ウォーターマーキング会社は、5000回テストした後に一致を見つけず、その場合、行われ得る唯一の主張は、データがシステム中の5000人の所有者のうちのいずれからも盗まれていないことである。いくつかの実施例によるシステムは、顧客の数に対する限定を有さず、システムは、ウォーターマーク中に表された無限個のシステム生成された一意の受信側IDをサポートすることが可能である。
水平方向ソルティングは、何百万ものレコードを構文解析し、処理することとは対照的に、データ所有権を証明するために、わずか100のランダム・レコードを必要とするにすぎない、ロバストな機構である。Acxiomの実例では、一般的なファイルは256MMのレコードを含んでおり、この機構は、最良の場合のシナリオでは、100/256MMだけ(又は2.56MM倍)検出を改善する。現在のシステム・インフラストラクチャの下で、システムがファイル中のすべてのレコードを読み取り、処理しなければならない(完全走査)、(最悪の場合の)シナリオの下で、4752〜100万のレコード(表4)をもつファイル・サイズ間でソルト検出をベンチマーク評価した。ソルト検出処理の平均レートは、レコード当たり0.00084984681秒である。100万のレコードをもつファイルは、より悪い場合の完全走査シナリオでは、ソルト検出のために6.96分かかる。この機構によって適用されるソルトは見えないので、時間フレーム内の雑音の中からの抽出信号が、何らかのビジネスによって実際的であり、使用可能であると見なされる高度信号処理機構なければ、手動ソルト識別にとって実際的でなく、不可能である。
別段に明記されていない限り、本明細書で使用されるすべての技術用語及び科学用語は、本発明が属する当技術分野の当業者によって一般に理解されるものと同じ意味を有する。本明細書で説明されるものと同様の又は等価な方法及び材料が、本発明の実施又はテストにおいても使用され得るが、限られた数の例示的な方法及び材料が本明細書で説明される。はるかに多くの変更が、本明細書の発明的概念から逸脱することなく可能であることが当業者には明らかであろう。
本明細書で使用されるすべての用語は、コンテキストに一致する最も広い可能な様式で解釈されるべきである。グループ化が本明細書で使用されるとき、グループのすべての個々のメンバー並びにグループの可能なすべての組合せ及び部分組合せが個々に含まれるものとする。本明細書で範囲が明記されるとき、範囲は、範囲内のすべてのサブ範囲及び個々の点を含むものとする。本明細書で引用されるすべての参照は、本明細書の本開示との不整合がない範囲で、参照により本明細書に組み込まれる。
本発明は、例にすぎないことが意図され、添付の特許請求の範囲に記載されたような本発明の完全な範囲に限定するものではない、いくつかの好ましい実施例及び代替実施例に関して説明された。

Claims (24)

  1. データ・ファイルを水平方向にソルティングするための方法であって、前記データ・ファイルが複数のレコードを含み、前記レコードの各々が複数のフィールドを含み、前記方法は、
    a.前記データ・ファイルの前記レコードの各々中のキー・フィールドを識別するステップであって、前記キー・フィールドが複数のキー・データ値のうちの1つを含んでいる、識別するステップと、
    b.数値を前記キー・データ値の各々に関連付けるステップと、
    c.前記データ・ファイルの前記レコードの各々中のソルティング・フィールドを識別するステップと、
    d.前記データ・ファイル中の少なくとも1つのレコードについて、前記キー・フィールド中の前記キー・データ値に関連付けられた前記数値に基づいて、ソルトを用いて前記ソルティング・フィールドをソルティングするステップであって、前記ソルティング・フィールドが、前記ソルティング・フィールド中のソルティング・フィールド値に関連付けられた意味が不変であるような様式で変更される、ソルティングするステップと
    を含む、方法。
  2. 前記ソルティング・フィールドをソルティングする前記ステップにおいて変更された前記レコードの各々を含む、ソルティングされたデータ・ファイルを出力するステップをさらに含む、請求項1に記載の方法。
  3. 前記ソルティング・フィールドが、少なくとも2つの別個の状態のうちの1つを含み得、さらに、前記ソルティング・フィールドの前記別個の状態が、前記ソルティング・フィールド中の前記ソルティング・フィールド値の前記意味に影響を及ぼさないようなものである、請求項1に記載の方法。
  4. 前記キー・フィールドと前記ソルティング・フィールドとが同等である、請求項1に記載の方法。
  5. 前記キー・フィールドと前記ソルティング・フィールドとが別個のフィールドである、請求項1に記載の方法。
  6. 前記キー・フィールドが英数字のセットのうちの1つを含む、請求項1に記載の方法。
  7. 前記ソルティング・フィールドをソルティングする前記ステップが、数値の精度における複数の変動のうちの1つを割り当てるステップを含む、請求項1に記載の方法。
  8. 前記ソルティング・フィールドをソルティングする前記ステップが、略語の使用における複数の変動のうちの1つを割り当てるステップを含む、請求項1に記載の方法。
  9. 前記ソルティング・フィールドをソルティングする前記ステップが、句読点の使用を変動させるステップを含む、請求項1に記載の方法。
  10. 句読点の前記使用を変動させる前記ステップが、ソルトとしてピリオドを含むこと又は含まないことのいずれかを行うステップを含む、請求項9に記載の方法。
  11. 前記ソルティング・フィールドをソルティングする前記ステップが、敬称を含むこと又は含まないことのいずれかを行うステップを含む、請求項1に記載の方法。
  12. 前記ソルティング・フィールドをソルティングする前記ステップが、書体変更を適用すること又は適用しないことのいずれかを行うステップを含む、請求項1に記載の方法。
  13. 前記キー値のうちの1つに関連付けられた前記数値の各々が2進数である、請求項1に記載の方法。
  14. 前記データ・ファイルの前記レコードのうちの少なくとも1つ中の、前記キー・データ・フィールド中の前記複数のキー・データ値のうちの少なくとも1つが、ブランク値である、請求項1に記載の方法。
  15. 前記ソルティング・フィールドをソルティングする前記ステップが、前記データ・ファイル中のデータの値を顧慮せずに実行される、請求項1に記載の方法。
  16. a.前記データ・ファイルの前記レコードの各々中の第2のキー・フィールドを識別するステップであって、前記第2のキー・フィールドが複数の第2のキー・データ値のうちの1つを含んでいる、識別するステップと、
    b.第2の数値を前記第2のキー・データ値の各々に関連付けるステップと、
    c.前記データ・ファイルの前記レコードの少なくともサブセット中の第2のソルティング・フィールドを識別するステップと、
    d.前記データ・ファイル中のレコードの前記サブセット中の少なくとも1つのレコードについて、前記第2のキー・フィールド中の前記第2のキー・データ値に関連付けられた前記第2の数値に基づいて、第2のソルトを用いて前記第2のソルティング・フィールドをソルティングするステップであって、前記第2のソルティング・フィールドが、前記第2のソルティング・フィールド中の第2のソルティング・フィールド値に関連付けられた意味が不変であるような様式で変更される、ソルティングするステップと
    をさらに含む、請求項1に記載の方法。
  17. 前記ソルティング・フィールドをソルティングする前記ステップと前記第2のソルティング・フィールドをソルティングする前記ステップとにおいて変更された前記レコードの各々を含む、ソルティングされたデータ・ファイルを出力するステップをさらに含む、請求項16に記載の方法。
  18. a.受信側IDを前記データ・ファイルに割り当てるステップと、
    b.前記受信側IDを用いて受信側IDデータベースを更新するステップであって、前記受信側IDが、前記データ・ファイル、前記キー文字、及び前記ソルティング・フィールドのための識別情報を用いて、前記受信側IDデータベース中に関連付けられる、更新するステップと
    をさらに含む、請求項1に記載の方法。
  19. 前記データ・ファイルのための前記識別情報が前記データ・ファイルについて一意である、請求項18に記載の方法。
  20. 前記データ・ファイルのための前記識別情報が、前記データ・ファイルの単一の受信側に送られたどのデータ・ファイルについても同じである、請求項18に記載の方法。
  21. 単一のソースから発信した複数のデータ・ファイルを水平方向にソルティングするための方法であって、前記データ・ファイルが各々、複数のレコードを含み、前記レコードの各々が複数のフィールドを含み、前記方法は、
    a.前記データ・ファイルの各々の前記レコードの各々中のキー・フィールドを識別するステップであって、前記キー・フィールドが複数のキー・データ値のうちの1つを含んでいる、識別するステップと、
    b.数値を前記キー・データ値の各々に関連付けるステップと、
    c.前記データ・ファイルの各々の前記レコードの各々中のソルティング・フィールドを識別するステップと、
    d.前記データ・ファイルの各々中の少なくとも1つのレコードについて、前記キー・フィールド中の前記キー・データ値に関連付けられた前記数値に基づいて、ソルトを用いて前記ソルティング・フィールドをソルティングするステップであって、前記ソルティング・フィールドが、前記ソルティング・フィールド中のソルティング・フィールド値に関連付けられた意味が不変であるような様式で変更される、ソルティングするステップと
    を含む、方法。
  22. ワイルドデータ・ファイルが漏洩されたデータ・ファイルであるかどうかを決定するための方法であって、前記ワイルドデータ・ファイルが複数のレコードを含み、前記レコードの各々が複数のフィールドを含み、前記方法は、
    a.受信側IDデータベースに記憶された受信側IDレコードについて、前記受信側IDに関連付けられた前記受信側IDデータベースから、キー・フィールド、数値、及びソルティング・フィールドを読み取るステップと、
    b.前記データ・ファイルの前記レコードのうちの少なくとも1つ中の前記キー・フィールドを識別するステップであって、前記キー・フィールドが複数のキー・データ値のうちの1つを含んでいる、識別するステップと、
    c.前記数値を対応するキー・データ値に関連付けるステップと、
    d.前記データ・ファイルの前記レコードのうちの少なくとも1つ中の前記ソルティング・フィールドを識別するステップと、
    e.前記データ・ファイル中の前記レコードのうちの少なくとも1つについて、前記キー・フィールド中の前記キー・データ値に関連付けられた前記数値に基づいて、前記ソルティング・フィールド中のソルトの存在について検査するステップと、
    f.前記ソルトが見つけられたかどうかのインジケータを返すステップと、前記インジケータを前記受信側IDに関連付けるステップと
    を含む、方法。
  23. 前記ステップの各々が、前記受信側IDデータベース中の複数の受信側IDについて繰り返される、請求項22に記載の方法。
  24. 前記ステップの各々が、前記受信側IDデータベース中の前記受信側IDのすべてについて繰り返される、請求項22に記載の方法。
JP2018554317A 2015-12-31 2016-12-22 データベース・テーブル、テキスト・ファイル、及びデータ・フィード中のテキストのソルティング Active JP6970686B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562274137P 2015-12-31 2015-12-31
US62/274,137 2015-12-31
PCT/US2016/068418 WO2017117024A1 (en) 2015-12-31 2016-12-22 Salting text in database tables, text files, and data feeds

Publications (2)

Publication Number Publication Date
JP2019505937A true JP2019505937A (ja) 2019-02-28
JP6970686B2 JP6970686B2 (ja) 2021-11-24

Family

ID=59225838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018554317A Active JP6970686B2 (ja) 2015-12-31 2016-12-22 データベース・テーブル、テキスト・ファイル、及びデータ・フィード中のテキストのソルティング

Country Status (6)

Country Link
US (2) US11003747B2 (ja)
EP (1) EP3398051A4 (ja)
JP (1) JP6970686B2 (ja)
CN (1) CN109416625A (ja)
CA (1) CA3043860A1 (ja)
WO (1) WO2017117024A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3014072A1 (en) * 2016-02-08 2017-08-17 Acxiom Corporation Change fingerprinting for database tables, text files, and data feeds
CN106649797A (zh) * 2016-12-28 2017-05-10 中国建设银行股份有限公司 一种文本数据集解析方法和装置
US11086939B2 (en) * 2019-05-28 2021-08-10 Salesforce.Com, Inc. Generation of regular expressions
US11669601B2 (en) * 2020-09-18 2023-06-06 Huawei Cloud Computing Technologies Co., Ltd. Digital watermarking for textual data
CN115987682A (zh) * 2023-02-02 2023-04-18 浙江网商银行股份有限公司 数据处理方法
CN117113302B (zh) * 2023-10-11 2024-02-06 腾讯科技(深圳)有限公司 文本水印生成方法和文本验证方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099501A (ja) * 1998-09-17 2000-04-07 Internatl Business Mach Corp <Ibm> 文書データへの情報の埋め込み方法およびシステム
JP2001501339A (ja) * 1996-09-30 2001-01-30 ノキア テレコミュニカシオンス オサケ ユキチュア 無断公表を露見するための電子文書のマーキング
JP2002189715A (ja) * 2000-12-22 2002-07-05 Sharp Corp 暗号番号埋め込みシステム
JP2003230001A (ja) * 2002-02-01 2003-08-15 Canon Inc 文書用電子透かし埋め込み装置及び文書用電子透かし抽出装置並びにそれらの制御方法
US7610382B1 (en) * 2006-06-30 2009-10-27 Amazon Technologies, Inc. System and method for marking content
JP2012216083A (ja) * 2011-03-31 2012-11-08 Nifty Corp 文書作成装置、文書作成プログラム、文書作成方法及び文書作成装置を用いた漏洩元特定システム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848426A (en) * 1993-03-05 1998-12-08 Metanetics Corporation Automatic data translation between different business systems
US20060028689A1 (en) 1996-11-12 2006-02-09 Perry Burt W Document management with embedded data
US7756892B2 (en) 2000-05-02 2010-07-13 Digimarc Corporation Using embedded data with file sharing
US20020141593A1 (en) * 2000-12-11 2002-10-03 Kurn David Michael Multiple cryptographic key linking scheme on a computer system
US6912294B2 (en) 2000-12-29 2005-06-28 Contentguard Holdings, Inc. Multi-stage watermarking process and system
CA2502232C (en) 2002-10-15 2013-10-01 Trent J. Brundage Identification document and related methods
US7900052B2 (en) * 2002-11-06 2011-03-01 International Business Machines Corporation Confidential data sharing and anonymous entity resolution
US8014557B2 (en) 2003-06-23 2011-09-06 Digimarc Corporation Watermarking electronic text documents
US7779039B2 (en) * 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US7730037B2 (en) 2004-10-18 2010-06-01 George Mason Intellectual Properties, Inc. Fragile watermarks
CN100364326C (zh) 2005-12-01 2008-01-23 北京北大方正电子有限公司 一种在文本文档中嵌入及检测数字水印的方法和装置
US8046827B2 (en) * 2007-06-12 2011-10-25 Francisco Corella Access control of interaction context of application
GB0719964D0 (en) * 2007-10-12 2007-11-21 Katholleke Universiteit Leuven Method for detecting and resolving hidden text salting
KR100991855B1 (ko) 2008-03-19 2010-11-04 주식회사 마크애니 전자 문서 발급 및 검증 시스템, 전자 문서 발급 방법 및전자 문서 검증 방법
KR101498288B1 (ko) * 2008-06-24 2015-03-03 삼성전자주식회사 복수의 키 데이터를 전송하기 위한 장치 및 방법
US8819448B2 (en) * 2011-04-29 2014-08-26 Georgetown University Method and system for managing information on mobile devices
US9202078B2 (en) * 2011-05-27 2015-12-01 International Business Machines Corporation Data perturbation and anonymization using one way hash
US10607726B2 (en) * 2013-11-27 2020-03-31 Accenture Global Services Limited System for anonymizing and aggregating protected health information
US10013422B2 (en) * 2014-05-28 2018-07-03 Oath Inc. Incremental data processing
US9288204B1 (en) * 2015-08-28 2016-03-15 UniVaultage LLC Apparatus and method for cryptographic operations using enhanced knowledge factor credentials
CN105205355B (zh) 2015-11-05 2018-04-10 南通大学 一种基于语义角色位置映射的文本水印嵌入及提取方法
WO2017142981A1 (en) * 2016-02-18 2017-08-24 Acxiom Corporation Salting text and fingerprinting in database tables, text files and data feeds
US10498541B2 (en) * 2017-02-06 2019-12-03 ShocCard, Inc. Electronic identification verification methods and systems
GB201703864D0 (en) * 2017-03-10 2017-04-26 Irdeto Bv Secured system operation
CA3056601A1 (en) * 2017-03-17 2018-09-20 Liveramp, Inc. System and method for identifying leaked data and assigning guilt to a suspected leaker
CN108111303B (zh) * 2017-12-27 2021-06-25 北京环尔康科技开发有限公司 一种智能家庭网关的安全连接方法
US11188670B2 (en) * 2019-03-28 2021-11-30 Snowflake Inc. Secure data joins in a multiple tenant database system
US11265148B1 (en) * 2019-05-17 2022-03-01 Wells Fargo Bank, N.A. Blockchain anonymous tokenization system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001501339A (ja) * 1996-09-30 2001-01-30 ノキア テレコミュニカシオンス オサケ ユキチュア 無断公表を露見するための電子文書のマーキング
JP2000099501A (ja) * 1998-09-17 2000-04-07 Internatl Business Mach Corp <Ibm> 文書データへの情報の埋め込み方法およびシステム
JP2002189715A (ja) * 2000-12-22 2002-07-05 Sharp Corp 暗号番号埋め込みシステム
JP2003230001A (ja) * 2002-02-01 2003-08-15 Canon Inc 文書用電子透かし埋め込み装置及び文書用電子透かし抽出装置並びにそれらの制御方法
US7610382B1 (en) * 2006-06-30 2009-10-27 Amazon Technologies, Inc. System and method for marking content
JP2012216083A (ja) * 2011-03-31 2012-11-08 Nifty Corp 文書作成装置、文書作成プログラム、文書作成方法及び文書作成装置を用いた漏洩元特定システム

Also Published As

Publication number Publication date
US20210326414A1 (en) 2021-10-21
EP3398051A4 (en) 2019-07-03
JP6970686B2 (ja) 2021-11-24
US11620365B2 (en) 2023-04-04
US20190034601A1 (en) 2019-01-31
WO2017117024A1 (en) 2017-07-06
EP3398051A1 (en) 2018-11-07
CA3043860A1 (en) 2017-07-06
WO2017117024A8 (en) 2018-12-27
CN109416625A (zh) 2019-03-01
US11003747B2 (en) 2021-05-11

Similar Documents

Publication Publication Date Title
US11620365B2 (en) Salting text in database tables, text files, and data feeds
JP6934022B2 (ja) データベース・テーブル、テキスト・ファイル、及びデータ・フィード中におけるソルティング・テキスト及びフィンガープリンティング
US20200106793A1 (en) Methods, systems, and computer program products for continuous cyber risk monitoring
US11568028B2 (en) Data watermarking and fingerprinting system and method
US8442997B2 (en) Method and apparatus for monitoring the distribution of electronic files
US20160292396A1 (en) System and method for authenticating digital content
US6807634B1 (en) Watermarks for customer identification
JP2004088598A (ja) 電子透かし埋め込み装置、電子透かし解析装置、電子透かし埋め込み方法、電子透かし解析方法及びプログラム
Zhao et al. Towards graph watermarks
CN109461110B (zh) 确定图片的溯源信息的方法及装置
JP7046970B2 (ja) 漏洩したデータを識別し、疑わしい漏洩者に有罪性を割り当てるためのシステム及び方法
WO2021258860A1 (zh) 数据加密处理方法、装置、计算机设备和存储介质
US11120129B2 (en) System and method for detecting leaked documents on a computer network
JP2002165081A (ja) 電子透かしシステム、電子透かし解析装置、電子透かし解析方法及び記録媒体
Zhao et al. Graph watermarks
US20130198621A1 (en) Document Tracking System and Method
Dandavate et al. Data Leakage Detection using Image and Audio Files
Almahmoud et al. Hash-Comb: A Hierarchical Distance-Preserving Multi-Hash Data Representation for Collaborative Analytics
Pol et al. Data leakage detection
US20240111882A1 (en) Automatic Classification of Files with Hierarchical Structure with the Digital Fingerprints Library
Sharma et al. Hybrid Approach for Securing Image Tempering in Cloud Storage
Mucsi-Nagy Digital fingerprinting for sharing of confidential data
Niu et al. Detecting LSB steganography based on noise function
Dobryakova et al. The 2D-steganography method based on analysis of two adjacent LSB

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20190508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190513

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210105

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210603

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211022

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211029

R150 Certificate of patent or registration of utility model

Ref document number: 6970686

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150