JP7289081B2 - フォーマット保持暗号化を通じて透かしを入れるための方法 - Google Patents

フォーマット保持暗号化を通じて透かしを入れるための方法 Download PDF

Info

Publication number
JP7289081B2
JP7289081B2 JP2020567221A JP2020567221A JP7289081B2 JP 7289081 B2 JP7289081 B2 JP 7289081B2 JP 2020567221 A JP2020567221 A JP 2020567221A JP 2020567221 A JP2020567221 A JP 2020567221A JP 7289081 B2 JP7289081 B2 JP 7289081B2
Authority
JP
Japan
Prior art keywords
data
format
dataset
subset
watermarking
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.)
Active
Application number
JP2020567221A
Other languages
English (en)
Other versions
JP2021529364A (ja
Inventor
ソセアヌ、オムリ
ゴールドスティーン、アビゲイル
グリーンバーグ、レブ
ローゼンバーグ、ボリス
ファルカーシュ、アリエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2021529364A publication Critical patent/JP2021529364A/ja
Application granted granted Critical
Publication of JP7289081B2 publication Critical patent/JP7289081B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、フォーマット保持暗号化を用いたデータ透かし入れのための技法に関する。
透かし入れは、データ内に情報を秘密裏に埋め込むことを伴う。デジタル透かしは、誤りもしくはノイズ耐性のある信号またはデータ、例えば、オーディオ、ビデオまたは画像データ中に秘密裏に埋め込まれうる情報である。例えば、デジタル透かし入れは、信号またはデータの著作権の所有権を識別するために用いられてよい。デジタル透かし入れは、信号またはデータセットを修正することを伴うので、誤りもしくはノイズ耐性は、信号またはデータの使用に対するかかる修正の否定的影響を軽減する。
誤り耐性のあるフィールドを、たとえあったとしても、わずかしかもたないデータセットは、チャネル容量の減少に起因する、透かし入れシステムに対する課題を提示する。かかる状況では、透かしが埋め込まれてよいスペースがわずかしかない。既存のデータ透かし入れ技法は、データ中へ透かしを埋め込むために誤りに耐えうるフィールドの存在に依拠する。これが意味するのは、いくつかのケースで、透かし容量が、大量の情報を含むのに小さ過ぎるであろう、あるいはまた、誤り補正の量を削減して、その結果、透かしのロバストネスを減少させるであろうということである。
誤り耐性のあるフィールドに依拠せず、それによって、透かしを入れるのに適するとは考えられなかったデータ中への透かしの組み込みを提供する、データ透かし入れを提供しうる技法の必要性が生じる。
本システムおよび方法の実施形態は、誤り耐性のあるフィールドに依拠せず、それによって、透かしを入れるのに適するとは考えられなかったデータ中への透かしの組み込みを提供する、データ透かし入れを提供できる。
例えば、ある実施形態において、データに透かしを入れるためのコンピュータ実施方法は、フォーマット保持暗号化を必要とするフィールド中へ透かしデータを挿入するステップを含んでよい。
複数の実施形態において、挿入するステップは、フォーマット保持暗号化を必要とするフィールドをデータ・フォーマットに関する制約条件を保持するように暗号化するステップと、暗号化されたデータセットの少なくとも1つのサブセットへ透かしデータをマッピングすることによって、フォーマット保持暗号化を必要とするフィールド中へ透かしデータを挿入するステップとを含んでよい。少なくとも1つのサブセットは、データセットによって用いられていないとして識別されてよい。データセットによって用いられていないとして識別された少なくとも1つのサブセットが、データセットによって実際には使用中であることが見出された場合には、データセットによって用いられていないとして識別された異なるサブセットへ透かしデータをマッピングする。少なくとも1つのサブセットは、データセットのデータ・ドメインをスパース表現からより密な表現へ変換するために追加的な情報の挿入を許容する、データセットの特性を見出すことによって識別されてよい。挿入するステップは、少なくとも1つのサブセット中、または少なくとも1つのサブセットの数値中に透かしデータの各数値をエンコードするステップを含んでよい。透かしを挿入するステップは、誤りを生み出しえず、挿入は、可逆的であってよい。利用可能なサブセットは、マッピング・ルール、マッピング・テーブル、または両方を用いて、入力データセットからの複数の数値をエンコードされた数値へマッピングし、使用中のエンコードされたデータの群を機械学習またはエキスパート知識を用いて識別して、エンコードされたデータの識別された群に含まれていない利用可能なサブセットを見出すことによって見出されてよい。
ある実施形態において、データに透かしを入れるためのシステムは、プロセッサ、プロセッサによってアクセス可能なメモリ、およびメモリに格納されて、フォーマット保持暗号化されたフィールド中へ透かしデータを挿入するステップを行うためにプロセッサによって実行可能であるコンピュータ・プログラム命令を備えてよい。
ある実施形態において、データに透かしを入れるためのコンピュータ・プログラム製品は、それをもって具現されたプログラム命令を有する非一時的コンピュータ可読ストレージを備えてよく、プログラム命令は、フォーマット保持暗号化されたフィールド中へ透かしデータを挿入するステップを含む方法をコンピュータに行わせるためにコンピュータによって実行可能である。データに透かしを入れるための方法、システム、コンピュータ・プログラム、およびコンピュータ・プログラム製品では、暗号化のセキュリティは、低下しない。
本発明の詳細は、その構造およびオペレーションの両方について、同様の参照番号および指定が同様の要素を指す、添付図面を参照することによって最もよく理解できる。
記載される実施形態が実装されてよいシステムを示す。 本実施形態に含まれる透かし入れプロセスの例示的なデータ・フロー図である。 本実施形態に含まれる前処理の例示的なフロー図である。 本実施形態に含まれる透かし入れおよび暗号化プロセスの例示的なフロー図である。 本実施形態に含まれる動的に変化するデータベースにおける透かし入れおよび暗号化プロセスの例示的なフロー図である。 本明細書に記載される実施形態に含まれるプロセスが実装されてよいコンピュータ・システムの例示的なブロック図である。
本システムおよび方法の実施形態は、誤り耐性のあるフィールドに依拠せず、それによって、透かしを入れるのに適するとは考えられなかったデータ中への透かしの組み込みを提供する、データ透かし入れを提供できる。
本システムおよび方法の実施形態は、検証などの理由でデータのフォーマットを維持することが必要なときにデータを暗号化するために用いられる方法である、フォーマット保持暗号化(FPE:format preserving encryption)を用いてよい。標準的な暗号化と比較すると、フォーマット保持暗号化は、暗号化されたデータがオリジナル・データから識別できないというさらなる利点を有する。本システムおよび方法の実施形態は、透かし入れプロセスとフォーマット保持暗号化とを、損失のない仕方で、統合することによって、FPEフィールドを現在有するデータセット中に透かしを入れるための容量の増加を提供できる。
透かし入れとフォーマット保持暗号化方法とを統合すると、透かし入れに適するとは現在考えられなかったデータ中への透かしの組み込みを提供することができ、全体的な透かし入れ容量の増加を提供できる。複数の実施形態において、この統合は、可逆的な透かし入れ方法のために提供されてよい。かかる可逆的な透かし入れ方法は、自然画像、信号、電子メール・アドレス、パスポート番号リストなどのような、データセットにおいて共通に満たされる、ビットワイズ/要素間の特性に関する一定の前提条件を有してよい。別の状況では、いくつかのケースで、プレーン・データ特性に依存して、これらの前提条件を透かし入れ前プロセスを通じて満たすことができる。エキスパート知識または機械学習技法を用いて行われてよい、前処理は、データ特性を変換し、オリジナル・データに関して予め適用可能ではなかった一定の透かし入れ技法を適用可能にしてよい。
本システムおよび方法の実施形態が実装されてよい、システム100の例示的なブロック図が図1に示される。この例では、システム100は、データ・ソース102A~Nおよびコンピュータ・システム104を含む。データ・ソース102A~Nは、インターネット、コンピュータ・システム、他のコンピューティング・デバイス、例えば、スマートフォン、タブレットなどのようなデータのソース、あるいはコンピュータ・システム104上に存在する、またはそれへ転送されるファイルのようなデータ・ソースを含んでよい。コンピュータ・システム104は、1つ以上のプログラムされた汎用コンピュータ・システム、例えば、エンベデッド・プロセッサ、システム・オン・チップ、パーソナル・コンピュータ、ワークステーション、サーバ・システム、およびミニコンピュータまたはメインフレーム・コンピュータを用いて、あるいは分散型ネットワーク化コンピューティング環境において実装されてよい。コンピュータ・システム104は、透かし入れ処理106および暗号化処理108を含んでよい。透かし入れ処理106は、本明細書に開示される技法に従ってデータの透かし入れを行ってよい。同様に、暗号化処理108は、本明細書に開示される技法に従ってデータの暗号化を行ってよい。コンピュータ・システム104において行われる処理の結果として、出力データセット110が生成されてよい。
本システムおよび方法の実施形態は、FPEを用いて暗号化されたフィールド中へ透かしを組み込んでよい。かかる処理の例が図2に示される。この例では、入力データ202は、その各々が複数のデータ・フィールド206A~Nを含みうる、複数のデータ・レコード204A~Zを含んでよい。例えば、ある実施形態は、データ内の局在性のような、データのビットワイズの特性を活用してよい。例えば、204Aおよび(図示されない)204Bのような、データセット内で位置的に接近したレコードは、接近した数値、数値/桁の出現の間の相関性、レコード内/間の順序などを有してよい。これらの特性は、画像および音響データ、電子メール・アドレス、順序づけられた識別番号リストなどのような、自然にサンプリングされたデータ中に見出されうる。すでに暗号化されたデータ、ランダム・データ、圧縮されたデータなどのような、高エントロピー・データには、かかる相関性を示す特性が存在しない。かかる相関性を示す特性が存在するときに、透かし入れ処理208A~Nが適用されてよい。図2に示されるように、複数の実施形態において、データ・フィールドのコンテンツに依存して、異なる透かし入れ処理208A~Nが各データ・フィールド206A~Nに適用されてよい。透かし入れ処理208A~Nは、例えば、単一のレコードまたはレコードの群に関するテキストから整数へのマッピングで始まってよい。前述の特性を利用する、可逆的な透かし入れ方法が次に適用されてよい。210A~Nにおいて、整数フォーマット保持暗号化(IFPE:Integer Format Preserving Encryption)および整数からテキストへのマッピングが適用されてよい。結果として生じる出力データ212は、透かしも含むフォーマットされ、暗号化されたレコード(単数または複数)214A~Zを含んでよい。複数の実施形態において、結果として生じた出力データ212は、暗号化プロセスに起因して、透かしを入れてない暗号化されたレコードから識別できないであろう。
例えば、FPEを用いると、入力データ・ドメインは、出力データ・ドメインと同じサイズであってよい。例えば、FPEを用いて暗号化された16桁のクレジット・カード番号のケースでは、暗号化された出力もクレジット・カード番号フォーマットに従って16桁の番号であってよい。この1対1マッピング(16桁イン、16桁アウト)のゆえに、追加的な情報(透かし入れ情報)を挿入するために、現在の技法の実施形態は、用いられていない16桁内のサブセット(数値、領域、サブセットなど)を識別してよい。これらの用いられていないサブセットが透かし入れ情報を挿入するために次に用いられてよい。例えば、挿入されることになる透かし入れ情報のデータ値ごとに、各データ値をエンコードするために、用いられていない少なくとも1つのデータ値が必要とされてよい。
ある実施形態において、相関性を示す特性を得るために前処理が用いられてよい。かかる前処理300の例が図3に示される。かかる前処理は、例えば、学習または構成のいずれかを行うことができるいくつかのパターンをもつスパース・データセットに適用されてよい。例えば、データセットおよびデータセットのフォーマットが解析されてよく、用いられていないサブセット(数値、領域、サブセットなど)が識別されてよい。かかる用いられていないサブセットが、例えば、エキスパート知識または機械学習を用いることによって識別されてよい。かかるサブセットは、例えば、データセットのスパースネスまたはフォーマットの制約条件などの結果として発生しうる。例えば、16桁のクレジット・カード番号のセットを考えよう。いずれの有効なクレジット・カード番号も4桁の「0000」で始まらないかもしれないが、それでもなおフォーマット制限によればそれが有効な場合がある。そのときには、「0000」で始まるクレジット・カード番号のサブセットが、透かし情報をエンコードする際に使用可能であるとして識別されてよい。いくつかの事例では、用いられていないとして識別されたあるサブセットが実際には使用中であることが見出されることがある。すなわち、処理中にこのサブセット中の1つ以上の数値に遭遇することがある。これらの事例では、実際には使用中であることが見出されたサブセットの代わりに別のサブセットが用いられてよい。
例えば、言語フォーマットLに準拠するN個のトークンの入力データセット302を考慮すると、304において、ソリューション(NがL中のワードの数よりはるかに小さいと仮定する)は、すべてのトークンをLの2つ以上の互いに素のサブセットへマッピングすることであってよい。306において、各データ値を表す(またはエンコードする)ためにあるサブセットを選択することによって、透かしを入れたデータが生成されてよい。例えば、各々のサブセットがビットの異なる組み合わせの透かしエンコーディングを表してよい。透かし入れプロセス中に、透かしビットに従って適切なサブセットが選ばれてよく、各サブセットからデータに従って適切なワードが選ばれてよい。次に、透かしを入れたデータセット308が生成されてよい。例えば、「0000」で始まるクレジット・カード番号が利用可能であるとして識別された、クレジット・カード番号を仮定すると、「0」の透かしビットは、修正されていないクレジット・カード番号を用いることによって表されてよく、一方で「1」の透かしビットは、その他の点ではクレジット・カード番号フォーマットを満たすが、「0000」で始まる16桁の番号を用いて表現されてよい。別の例として、10個の16桁のクレジット・カード番号を含むデータセットを仮定しよう。第1のクレジット・カード番号は、例えば、「0」の透かしビットをエンコードするために、「1000000000000001」へマッピングされてよく、例えば、「1」の透かしビットをエンコードするために、「1100000000000001」へマッピングされてよい。第2のクレジット・カード番号は、例えば、「0」の透かしビットをエンコードするために、「1000000000000002」へマッピングされてよく、例えば、「1」の透かしビットをエンコードするために、「1100000000000002」へマッピングされてよいなどである。かかるエンコーディングは、データセットのサイズであるマッピング・テーブルを必要とするかもしれない。エキスパート知識または機械学習のいずれかを用いて、マッピング・テーブルのサイズが縮小されて、データ内の冗長性を利用しうるコンパクトな関数で置き換えられてよい。かかるコンパクトなエンコーダは、各数値を1対1の様式で表さないことがある。かかるケースのために、マッピング・テーブルが用いられてよい。
ある実施形態において、透かし入れおよび暗号化プロセス400の例が図4に示される。プロセス400は、透かし入れデータを格納するために利用可能でありうる、データセット中のデータ値/領域を見出すために、およびこれらの利用可能なデータ値/領域へデータをエンコードするためのエンコーディング・ルールおよび/またはマッピング・テーブルを生成するために、入力データセット402を処理する。404において、透かし入れより前に、データセット402をその現在の状態において用いてエンコーダを構築するためにオフラインの学習および/またはマニュアル・ルール構成プロセスが行われてよい。406において、入力データセット402からの数値が、エンコードされた数値へマッピングされてよい。かかるマッピングは、例えば、マッピング・ルールのセットおよび/または1つ以上のマッピング・テーブル中に格納されてよい。408において、入力データ・セット404からの数値を用いて透かしを入れたデータを生成するために、生成されたマッピングが用いられてよい。機械学習は、データ内の下地パターンを発見するため、および用いられていないかもしれず、透かし入れデータを格納するために利用可能でありうるデータ中のデータ値/領域を見出すために用いられてよい。真にランダムなデータについては、かかる利用可能な数値/領域を見出すことができないかもしれない。しかしながら、多くのケースについて、データは、真にランダムではない。レコードの群をコンパクトに記載しうる、クラスタリングのような機械学習技法がこのプロセスのために用いられてよい。クラスタリングを通じて、別の方法では知られなかった、または専門家にしか知られなかったであろうルールが学習されてよい。これらの学習されたルールは、利用可能なデータ値/領域を見出すことによって、データセットの特性に基づいて、データ・ドメインをスパース表現から密な表現へ変換するために次に用いられてよい。例えば、クレジット・カード番号を見ると、非常にありふれた番号プレフィックスがありうるが、一方で他のプレフィックスは、決して用いられない。プレフィックスについて検出されたクラスタが、それゆえに、決して用いられない数値へマッピングされてよい。加えて、いくつかの透かし入れ方法は、データが「透かし入れ可能」であるか、すなわち、それが一定の特性を満たすかどうかを決定してよく、さらに、データの透かし容量を決定することが可能であってよい。この決定は、機械学習プロセス404のためのコスト関数として用いられてよく、機械学習プロセス404中に変換されたデータが所望の特性を保持するまで用いられてよい。そのようにして、容量が増加され、または最大化されてよく、一方では、いずれのメモリ使用量閾値も超過することはない。
410において、透かしを入れたデータ408を生成した後に、各数値の変換が可逆的であることを確かめるために透かし入れプロセス408がテストされてよい。412において、透かし入れプロセス408が1対1の様式で変換できないワードについて、この変換されないデータをマッピングするためにマッピング・テーブルが構築されてよい。414において、データセットおよびフォーマット言語サイズの制限の下で構築された、変換関数を用いて、データセット中のワードごとのビット・エンコーディングが定義されてよい。例えば、ある透かしビットおよびデータセットからのあるワードが与えられると、変換関数は、両方を表す(言語Lのフォーマットでの)ワードを示してよい。複数の実施形態において、変換関数は、各ワードにおける複数の、透かしを入れたビットを表してよい。加えて、学習段階が、いくつかの実施形態において、反復的であってよいので、いずれの先行データも必要としないであろう。
初期のマッピング段階後に、416において、Lと同じフォーマットを踏襲するが、今や情報を秘密裏にエンコードしうる新しい、透かしを入れたデータセット416が定義された。複数の実施形態において、透かしそれ自体を生成する関数は、いずれか既知の、または新たに開発された透かし入れ方法から選ばれてよい。同様に、リレーショナル・データベースのためのいずれか既知の、または新たに開発された透かし入れ方法を用いて、レコードがデータベース中へ挿入されてよい。かかる方法は、透かし取り出しを依然として許容しつつ、動的に変化するデータベース中へ透かしを挿入しうる。ある実施形態において、動的に変化するデータベースにおける透かし入れおよび暗号化プロセス500の例が図5に示される。502において、新しいレコードがデータベースへ追加されるにつれて、すでに構築された透かし入れプロセス408を用いて、新しいワードがテストされてよい。504において、新しいワードが適切に取り扱われないケースでは、これらのワードがマッピング・テーブルへ追加されてよい。506において、透かしを入れたワードに関してフォーマット保持暗号化(FPE)が行われてよい。510において、透かしを得る必要性が生じたときには、ワードがマップ中に現れるときにそのテーブル・マップを用いて、透かしを入れたワードをデコードすることによって、あるいは別の状況ではエンコーダを用いることによってフォーマット保持復号化(FPD)が行われてよい。512において、透かしがオリジナル・トークンから分離されて、透かし入れ関数を用いて透かしが抽出されてよい。
本明細書に記載される実施形態に含まれるプロセスが実装されてよい、コンピュータ・システム602の例示的なブロック図が図6に示される。コンピュータ・システム602は、1つ以上のプログラムされた汎用コンピュータ・システム、例えば、エンベデッド・プロセッサ、システム・オン・チップ、パーソナル・コンピュータ、ワークステーション、サーバ・システム、およびミニコンピュータまたはメインフレーム・コンピュータを用いて、あるいは分散型ネットワーク化コンピューティング環境において実装されてよい。コンピュータ・システム602は、1つ以上のプロセッサ(CPU)602A~602N、入力/出力回路素子604、ネットワーク・アダプタ606、およびメモリ608を含んでよい。CPU602A~602Nは、本通信システムおよび方法の機能を実施するためにプログラム命令を実行する。典型的に、CPU602A~602Nは、1つ以上のマイクロプロセッサ、例えば、INTEL CORE(R)プロセッサである。図6は、コンピュータ・システム602が単一のマルチ・プロセッサ・コンピュータ・システムとして実装された、ある実施形態を示し、このコンピュータ・システムでは複数のプロセッサ602A~602Nがシステム・リソース、例えば、メモリ608、入力/出力回路素子604、およびネットワーク・アダプタ606を共有する。しかしながら、本通信システムおよび方法は、コンピュータ・システム602が、シングルプロセッサ・コンピュータ・システム、マルチプロセッサ・コンピュータ・システム、またはそれらの混合であってよい、複数のネットワーク化コンピュータ・システムとして実装された実施形態も含む。
入力/出力回路素子604は、コンピュータ・システム602へデータを入力するための能力、またはそれからデータを出力するための能力を提供する。例えば、入力/出力回路素子は、入力デバイス、例えば、キーボード、マウス、タッチパッド、トラックボール、スキャナ、アナログ・デジタル変換器など、出力デバイス、例えば、ビデオ・アダプタ、モニタ、プリンタなど、および入力/出力デバイス、例えば、モデムなどを含んでよい。ネットワーク・アダプタ606は、デバイス600をネットワーク610とインターフェース接続する。ネットワーク610は、インターネットを含むが、それには限定されない、いずれかのパブリックもしくはプロプライエタリLANまたはWANであってよい。
メモリ608は、コンピュータ・システム602の機能を行うために、CPU602によって実行されるプログラム命令、およびCPU602によって用いられ、処理されるデータを格納する。メモリ608は、例えば、電子メモリ・デバイス、例えば、ランダム・アクセス・メモリ(RAM:random-access memory)、リード・オンリ・メモリ(ROM:read-only memory)、プログラマブル・リード・オンリ・メモリ(PROM:programmable read-only memory)、電気的消去可能プログラマブル・リード・オンリ・メモリ(EEPROM:electrically erasable programmable read-only memory)、フラッシュ・メモリなど、および電気機械メモリ、例えば、磁気ディスク・ドライブ、テープ・ドライブ、光ディスク・ドライブなどを含んでよく、これらのメモリは、integrated drive electronics(IDE)インターフェース、またはそのバリエーションもしく拡張、例えば、enhanced IDE(EIDE)またはultra-direct memory access(UDMA)、あるいはsmall computer system interface(SCSI)ベース・インタフェース、またはそのバリエーションもしくは拡張、例えば、fast-SCSI、wide-SCSI、fast wide-SCSIなど、あるいはSerial Advanced Technology Attachment(SATA)、またはそのバリエーションもしくは拡張、あるいはfiber channel-arbitrated loop(FC-AL)インターフェースを用いてよい。
メモリ608のコンテンツは、コンピュータ・システム602が行うようにプログラムされた機能に依存して変化してよい。図6に示される例では、上記のプロセスの実施形態のためのルーチンおよびデータを表す例示的なメモリ・コンテンツが示される。しかしながら、これらのルーチンは、それらのルーチンに関係するメモリ・コンテンツとともに、1つのシステムまたはデバイス上に含まれなくてもよく、むしろよく知られた工学的考察に基づいて、複数のシステムまたはデバイス間に分散されてもよいことを当業者は認識するであろう。本通信システムおよび方法は、あらゆるかかる配置を含んでよい。
複数の実施形態において、図6に示されるソフトウェアの少なくとも一部分は、現在のリーダ・サーバ上に実装されてよい。同様に、複数の実施形態において、図6に示されるソフトウェアの少なくとも一部分が現在のリーダ・サーバ以外のコンピュータ・システム上に実装されてもよい。
図6に示される例において、メモリ608は、学習ルーチン612、透かし入れルーチン614、暗号化ルーチン616、入力データセット618、エンコードされたデータセット620、変換/マッピング・データ622およびオペレーティング・システム620を含んでよい。学習ルーチン612は、図2に示される、ルール生成器206、節抽出222、編集224、および評価226を実装するような、事前計算処理タスクを行うためのソフトウェア・ルーチンを含んでよい。ランタイム・ルーチン614は、図2に示される、ターゲット識別246、リクエスト書き換え248、ランタイム節評価250、リクエスト低減252、およびリクエスト実行254のような、ランタイム処理タスクを行うためのソフトウェア・ルーチンを含んでよい。データ616は、図2に示される、ターゲット・データ230、コンテキスト・データ232、同意データ234、編集されたUberルール236、および評価された節238のような、例えば、データ・レーク228中に格納されてよい、データを含んでよい。データ618は、図2に示される、アクセス特性210、ポリシー212、データ・スキーマ214、データ・ターゲット216、クエリ240、ルール・エンジン・ルール242、アクセス・ルール244および準拠データ256のようなデータを含んでよい。オペレーティング・システム620は、総合的なシステム機能性を提供できる。
図6に示されるように、本通信システムおよび方法は、マルチ・プロセッサ、マルチ・タスキング、マルチ・プロセス、および/またはマルチ・スレッド・コンピューティングを提供する1つもしくは複数のシステム上の実装、ならびにシングル・プロセッサ、シングル・スレッド・コンピューティングのみを提供する複数のシステム上の実装を含んでよい。マルチ・プロセッサ・コンピューティングは、1つより多いプロセッサを用いてコンピューティングを行うことを伴う。マルチ・タスキング・コンピューティングは、1つより多いオペレーティング・システム・タスクを用いてコンピューティングを行うことを伴う。タスクとは、実行されているプログラムとオペレーティング・システムによって用いられるブックキーピング情報との組み合わせを指すオペレーティング・システム概念である。プログラムが実行されるときにはいつでも、オペレーティング・システムがそのための新しいタスクを生み出す。タスクは、タスク番号をもつプログラムをそれが識別して、他のブックキーピング情報をそれにアタッチするという点でプログラムのためのエンベロープのようなものである。Linux(R)、UNIX(R)、OS/2(R)およびWindows(R)を含めて、多くのオペレーティング・システムが多くのタスクを同時に作動させることが可能であり、マルチタスキング・オペレーティング・システムと呼ばれる。マルチ・タスキングは、1つより多い実行ファイルを同時に実行するためのオペレーティング・システムの能力である。各実行ファイルは、それ自体のアドレス・スペース内で作動しており、つまり、複数の実行ファイルがそれらのメモリのいずれかを共有することはできない。これは、いずれのプログラムもシステム上で作動している他のプログラムのいずれかの実行を損なうことが不可能であるため、有利である。しかしながら、これらのプログラムは、オペレーティング・システムを通じて(またはファイル・システム上に格納されたファイルを読み取ることによる)以外、いずれの情報も交換することができない。タスクおよびプロセスという用語がしばしば同義で用いられるので、マルチ・プロセス・コンピューティングは、マルチ・タスキング・コンピューティングと同様であるが、いくつかのオペレーティング・システムは、2つを区別する。
本発明は、いずれか可能な技術的に詳細な統合レベルにおけるシステム、方法、および/またはコンピュータ・プログラム製品であってよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実施させるためのコンピュータ可読プログラム命令をその上に有する(1つもしくは複数の)コンピュータ可読ストレージ媒体を含んでよい。コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持して格納できる有形のデバイスとすることができる。
コンピュータ可読ストレージ媒体は、例えば、以下には限定されないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または前述のものの任意の適切な組み合わせであってよい。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティック、フレキシブル・ディスク、パンチ・カードもしくはその上に記録された命令を有する溝中の隆起構造のような、機械的にエンコードされたデバイス、および前述のものの任意の適切な組み合わせを含む。コンピュータ可読ストレージ媒体は、本明細書では、それ自体が一時的な信号、例えば、電波または他の自由伝搬する電磁波、導波路もしくは他の伝送媒体を通って伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいは線を通って伝送される電気信号であると解釈されるべきではない。
本明細書に記載されるコンピュータ可読プログラム命令をコンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスへ、あるいはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークおよび/または無線ネットワークを介して外部コンピュータもしくは外部ストレージ・デバイスへダウンロードできる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイヤウォール、スイッチ、ゲートウェイ・コンピュータ、および/またはエッジ・サーバを備えてよい。各コンピューティング/処理デバイス中のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受信して、それらのコンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体中に格納するために転送する。
本発明のオペレーションを実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路素子のための構成データ、あるいはSmalltalk、C++、または同様のもののようなオブジェクト指向プログラミング言語、ならびに「C」プログラミング言語または同様のプログラミング言語のような、手続き型プログラミング言語を含めて、1つ以上のプログラミング言語のいずれかの組合せで書かれたソース・コードまたはオブジェクト・コードのいずれかであってよい。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンド・アローンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、あるいは全体的にリモート・コンピュータまたはサーバ上で実行してよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含めて、いずれかのタイプのネットワークを通してユーザのコンピュータへ接続されてもよく、あるいは(例えば、インターネット・サービス・プロバイダを用いてインターネットを通して)外部コンピュータへ接続が行われてもよい。いくつかの実施形態において、例えば、プログラマブル・ロジック回路素子、フィールド・プログラマブル・ゲート・アレイ(FPGA:field-programmable gate array)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路素子は、本発明の態様を行うために、電子回路素子をパーソナライズすべくコンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行してよい。
本発明の態様は、本発明の実施形態による方法、装置(システム)、ならびにコンピュータ・プログラム製品のフローチャート説明図および/またはブロック図を参照して本明細書に記載される。フローチャート説明図および/またはブロック図の各ブロック、ならびにフローチャート説明図および/またはブロック図におけるブロックの組み合わせをコンピュータ可読プログラム命令によって実装できることが理解されるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する、それらの命令が、フローチャートおよび/またはブロック図の1つもしくは複数のブロックにおいて指定された機能/作用を実装するための手段を生み出すような、マシンを作り出すために汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサへ提供されてよい。これらのコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体中に格納されてもよく、これらのプログラム命令は、その中に格納された命令を有するコンピュータ可読ストレージ媒体が、フローチャートおよび/またはブロック図の1つもしくは複数のブロックにおいて指定された機能/作用の態様を実装する命令を含む製造品を備えるような、特定の仕方で機能するようにコンピュータ、プログラマブル・データ処理装置、および/または他のデバイスに命令できる。
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行する命令が、フローチャートおよび/またはブロック図の1つもしくは複数のブロックにおいて指定された機能/作用を実装するような、コンピュータ実装プロセスを作り出すために一連の動作ステップがコンピュータ、他のプログラマブル装置または他のデバイス上で行われるようにするためにコンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上へロードされてもよい。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能性、およびオペレーションを示す。この点において、フローチャートまたはブロック図中の各ブロックは、指定された論理機能(単数または複数)を実装するための1つ以上の実行可能な命令を備える、モジュール、セグメント、または命令の一部を表してよい。いくつかの代わりの実装では、ブロック中に記された機能が図中に記された順序以外で発生してもよい。例えば、含まれる機能性に依存して、連続して示される2つのブロックが、実際には、実質的に同時に実行されてもよく、またはブロックがときには逆の順序で実行されてもよい。ブロック図および/またはフローチャート説明図の各ブロック、ならびにブロック図および/またはフローチャート説明図におけるブロックの組み合わせを、指定された機能または作用を行う、あるいは専用ハードウェアとコンピュータ命令との組み合わせを実施する専用ハードウェア・ベース・システムによって実装できることにも気付くであろう。
本発明の具体的な実施形態が記載されたが、記載された実施形態と同等の他の実施形態があることが当業者によって理解されるであろう。従って、本発明は、具体的に示された実施形態によってではなく、添付される請求項の範囲によってのみ限定されることが理解されるべきである。

Claims (9)

  1. プロセッサが実行する、データに透かしを入れるための方法であって、
    フォーマット保持暗号化を必要とするフィールド中へ透かしデータを挿入するステップ
    を含み、前記挿入するステップは、
    前記フォーマット保持暗号化を必要とする前記フィールドをデータ・フォーマットに関する制約条件を保持するように暗号化するステップと、
    暗号化されたデータセットの少なくとも1つのサブセットへ前記透かしデータをマッピングすることによって、前記フォーマット保持暗号化を必要とする前記フィールド中へ前記透かしデータを挿入するステップと
    を含み、前記少なくとも1つのサブセットは、前記データセットのスパースネスまたはフォーマットの制約条件に基づいた、用いられていないサブセットのパターンを学習するために、前記データセットおよび前記データセットの前記フォーマットを解析することによって、前記データセットによって用いられていないとして識別されたものである、方法。
  2. 前記データセットによって用いられていないとして識別された前記少なくとも1つのサブセットが、前記データセットによって実際には使用中であることが見出された場合には、前記データセットによって用いられていないとして識別された異なるサブセットへ前記透かしデータをマッピングするステップ
    をさらに含む、請求項に記載の方法。
  3. 前記少なくとも1つのサブセットは、前記データセットのデータ・ドメインをスパース表現からより密な表現へ変換するために追加的な情報の挿入を許容する、前記データセットの特性を見出すことによって識別された、請求項に記載の方法。
  4. 前記挿入するステップは、
    前記少なくとも1つのサブセット中、または前記少なくとも1つのサブセットの数値中に透かしデータの各数値をエンコードするステップ
    を含む、請求項に記載の方法。
  5. 前記透かしを挿入するステップは、誤りを生み出さず、前記挿入は、可逆的である、請求項に記載の方法。
  6. プロセッサが実行する、データに透かしを入れるための方法であって、
    フォーマット保持暗号化を必要とするフィールド中へ透かしデータを挿入するステップ
    を含み、前記挿入するステップは、
    前記フォーマット保持暗号化を必要とする前記フィールドをデータ・フォーマットに関する制約条件を保持するように暗号化するステップと、
    暗号化されたデータセットの少なくとも1つのサブセットへ前記透かしデータをマッピングすることによって、前記フォーマット保持暗号化を必要とする前記フィールド中へ前記透かしデータを挿入するステップと
    を含み、前記少なくとも1つのサブセットは、前記データセットによって用いられていないとして識別されたものであり、利用可能なサブセットが、
    マッピング・ルール、マッピング・テーブル、または両方を用いて、入力された前記データセットからの複数の数値をエンコードされた数値へマッピングすることと、
    機械学習またはエキスパート知識を用いて、使用中のエンコードされたデータの群を識別することと、
    前記エンコードされたデータの識別された前記群に含まれていない利用可能なサブセットを見出すことと、
    によって見出される方法。
  7. データに透かしを入れるためのシステムであって、
    プロセッサと、
    前記プロセッサによってアクセス可能なメモリと、
    前記メモリに格納されて、請求項1からのいずれか一項に記載の方法における各ステップを前記プロセッサに実行させるコンピュータ・プログラム命令と、
    を備える、システム。
  8. データに透かしを入れるためのコンピュータ・プログラムであって、請求項1からのいずれか一項に記載の方法における各ステップをプロセッサに実行させる、コンピュータ・プログラム。
  9. 請求項に記載のコンピュータ・プログラムを記録した、コンピュータ可読ストレージ媒体。
JP2020567221A 2018-07-02 2019-07-02 フォーマット保持暗号化を通じて透かしを入れるための方法 Active JP7289081B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/025,001 US10831869B2 (en) 2018-07-02 2018-07-02 Method for watermarking through format preserving encryption
US16/025,001 2018-07-02
PCT/IB2019/055618 WO2020008345A1 (en) 2018-07-02 2019-07-02 Method for watermarking through format preserving encryption

Publications (2)

Publication Number Publication Date
JP2021529364A JP2021529364A (ja) 2021-10-28
JP7289081B2 true JP7289081B2 (ja) 2023-06-09

Family

ID=69008167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020567221A Active JP7289081B2 (ja) 2018-07-02 2019-07-02 フォーマット保持暗号化を通じて透かしを入れるための方法

Country Status (6)

Country Link
US (1) US10831869B2 (ja)
JP (1) JP7289081B2 (ja)
CN (1) CN112384915A (ja)
DE (1) DE112019002550B4 (ja)
GB (1) GB2590284A (ja)
WO (1) WO2020008345A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108851A (ja) 2000-09-27 2002-04-12 Canon Inc 文章処理装置及びその方法並びに記憶媒体
JP2009518945A (ja) 2005-12-05 2009-05-07 トムソン ライセンシング ウォーターマークエンコードコンテンツ
US20130198525A1 (en) 2012-01-30 2013-08-01 Terence Spies Systems for structured encryption using embedded information in data strings

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068787B1 (en) * 1998-10-23 2006-06-27 Contentguard Holdings, Inc. System and method for protection of digital works
US7770016B2 (en) 1999-07-29 2010-08-03 Intertrust Technologies Corporation Systems and methods for watermarking software and other media
US7111167B1 (en) * 2000-06-30 2006-09-19 Intel Corporation Digital watermarks with values derived from remote platforms
US7257234B2 (en) * 2003-08-14 2007-08-14 Microsoft Corporation Watermark-based goods authentication
US8543835B2 (en) * 2006-07-12 2013-09-24 Irdeto B.V. Tamper resistance of a digital data processing unit
EP2301185B1 (en) * 2008-05-02 2019-06-26 EntIT Software LLC Format-preserving cryptographic systems
US8948375B2 (en) * 2009-05-05 2015-02-03 Voltage Security, Inc. Systems for embedding information in data strings
CN102143451A (zh) 2011-04-01 2011-08-03 中兴通讯股份有限公司 一种保护彩信多媒体数据的方法、装置及系统
EP2528266A1 (en) * 2011-05-24 2012-11-28 Thomson Licensing Method and device for 3D object protection by transformation of its points
EP2568463A1 (en) * 2011-09-08 2013-03-13 Thomson Licensing Methods and devices for protecting digital objects through format preserving coding
EP2725566A1 (en) * 2012-10-26 2014-04-30 Thomson Licensing Method and device for 3d object encryption by application of a pseudo-randomly generated secret function
WO2015078502A1 (en) 2013-11-28 2015-06-04 Fundacio Per A La Universitat Oberta De Catalunya Method and apparatus for embedding and extracting watermark data in an audio signal
US9436839B2 (en) * 2014-07-21 2016-09-06 Intel Corporation Tokenization using multiple reversible transformations
TW201619917A (zh) * 2014-09-09 2016-06-01 西克帕控股有限公司 具有相互關聯的特徵的鈔票
US9313023B1 (en) * 2014-12-02 2016-04-12 Zettaset, Inc. Format-preserving cipher
EP3076579A1 (en) * 2015-04-02 2016-10-05 Thomson Licensing Devices and methods for encryption and decryption of graphical 3d objects
CN105701758A (zh) 2016-01-13 2016-06-22 华南理工大学 基于图形码的数字水印图像生成方法及装置
US10223511B2 (en) * 2016-03-30 2019-03-05 Nxp B.V. Watermarking input and output of a white-box implementation
CN107168998B (zh) 2017-03-30 2021-02-12 广东工业大学 一种基于保留格式的数据库透明加密方法
US10789666B2 (en) * 2017-09-20 2020-09-29 Mx Technologies, Inc. Watermark security
WO2019118365A1 (en) * 2017-12-11 2019-06-20 Hispanispace, LLC Systems and methods for ingesting and processing data in a data processing environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108851A (ja) 2000-09-27 2002-04-12 Canon Inc 文章処理装置及びその方法並びに記憶媒体
JP2009518945A (ja) 2005-12-05 2009-05-07 トムソン ライセンシング ウォーターマークエンコードコンテンツ
US20130198525A1 (en) 2012-01-30 2013-08-01 Terence Spies Systems for structured encryption using embedded information in data strings

Also Published As

Publication number Publication date
GB2590284A (en) 2021-06-23
JP2021529364A (ja) 2021-10-28
US10831869B2 (en) 2020-11-10
DE112019002550B4 (de) 2022-06-15
DE112019002550T5 (de) 2021-02-18
CN112384915A (zh) 2021-02-19
WO2020008345A1 (en) 2020-01-09
US20200004935A1 (en) 2020-01-02
GB202101169D0 (en) 2021-03-17

Similar Documents

Publication Publication Date Title
US20120317421A1 (en) Fingerprinting Executable Code
FR3118506A1 (fr) Calcul cryptographique comportant des adresses cryptographiques améliorées
US20190179543A1 (en) Seed generation
US11409845B2 (en) Method for determining if a machine learning model has been copied
Chowdhury et al. A view on LSB based audio steganography
CN111090836A (zh) 数据处理、水印嵌入和水印提取方法、装置及设备
JP7289081B2 (ja) フォーマット保持暗号化を通じて透かしを入れるための方法
CN111382398B (zh) 信息处理、隐藏信息解析和嵌入的方法、装置及设备
US20090083267A1 (en) Method and System for Compressing Data
US11699209B2 (en) Method and apparatus for embedding and extracting digital watermarking for numerical data
Tereshchenko et al. Features of applying pretrained convolutional neural networks to graphic image steganalysis
Mohanpurkar et al. A fingerprinting technique for numeric relational databases with distortion minimization
CN111967001B (zh) 一种基于双容器的解码与编码安全隔离方法
JP7481076B2 (ja) キー圧縮可能な暗号化
Sahoo et al. Hiding Secret Information in Movie Clip: A Steganographic Approach
Jallouli et al. Robust watermarking approach for 3D multiresolution meshes based on multi-wavelet transform, SHA512 and turbocodes
Zheng et al. General framework for reversible data hiding in texts based on masked language modeling
Steinebach et al. Advanced multimedia file carving
CN113010855B (zh) 一种获取数据的方法、装置、介质及计算机设备
Yaqub et al. Toward watermarking compressed data in columnar database architectures
Shyamala et al. An efficient distortion minimizing technique for watermarking relational databases
Sorokin et al. Identification of JPEG files fragments on digital media using binary patterns based on Huffman code table
KR101810765B1 (ko) 상수 인코딩을 이용한 정적 워터마킹 방법
Salih A New Audio Steganography Method Using Bi-LSB Embedding and Secret Message Integrity Validation
Evangeline et al. An efficient mechanism for storing photo albums on cloud storage

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210519

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211222

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230117

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20230323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20230323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230417

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: 20230502

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20230508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230518

R150 Certificate of patent or registration of utility model

Ref document number: 7289081

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150