# マスキングコンポーネントでのデータマスキングファンクション

マスキングコンポーネントには、カラムのデータ型によって異なる複数の機能が用意されています。

姓名、メールアドレス、住所、SSN、クレジットカード番号、銀行口座番号、性別、生年月日、給与などの個人を特定できる情報を保持するカラムについては、コンポーネントで定義されているファンクションを使用することをお勧めします。

## マスキングコンポーネントでのフォーマットを保持した暗号化

コンポーネントは、フォーマット保持暗号化(FPE)方式を使用して、マスクされた出力値を入力値と同じフォーマットで生成します。

情報メモ注: Java 8u161は、[FF1 with AES] (FF1およびAES)方式を使用するために最低限必要なバージョンです。8u161よりも前のJavaバージョンを使ってこのFPE方式を使えるようにするには、Java Cryptography Extension (JCE)無制限強度管轄ポリシーファイルをOracle Webサイトからダウンロードします。

FPE方式は、米国国立標準技術研究所(NIST)の基準に基づいています:

* [FF1 with AES] (FF1およびAES)は、CBCモードではAdvanced Encryption 標準に依存します。
* [FF1 with SHA-2] (FF1およびSHA-2)は、セキュアハッシュファンクションHMAC-256に依存します。

FPE方式は微調整を使用する場合を除き、全単射方式です。

情報メモ重要: FPEメソッドはデータを暗号化して仮名化を実行します。これらの方法は、従来の暗号化アルゴリズムほど強力ではありません。データ形式を保持する場合は、マスキングコンポーネントを使います。それ以外の場合は、tDataEncryptコンポーネントを使います。暗号化はより強力です。

[FF1 with AES] (FF1およびAES)と[FF1 with SHA-2] (FF1およびSHA-2)の方式は、暗号化された値と繰り返し可能なマスク値を生成するためにパスワードを必要とします。FPE方式はシードを使用しません。

このパスワードは、コンポーネントの[Advanced Settings] (詳細設定)から、[password for FF1 method] (FF1方式のパスワードまたは256ビットキー)フィールドで指定できます。

全単射が実行されないように微調整を使えます。暗号化がより強力になります。各レコードに対して一意の調整が生成され、レコードのすべてのデータに適用されます。微調整は、ジョブの実行ごとに変化します。tDataUnmaskingコンポーネントと対応する微調整を使って、データのマスクを解除できます。

## tDatamaskingコンポーネントでのフォーマットを保持した暗号化

[FF1 with AES] (FF1およびAES)と[FF1 with SHA-2] (FF1およびSHA-2)メソッドを使用する時は、入力値にマスクする最小文字数が含まれている必要があります。含まれていないと、ファンクションはnullを返します。

たとえば、[Keep first n digits and replace following ones] (最初のn桁を保持し、次を置換)ファンクションと以下のパラメーターを使ってS426A789QQをマスクする場合:

* [FF1 with AES] (FF1およびAES)または[FF1およびSHA-2]
* [Digits] (桁)のアルファベット
* 追加パラメーターとして"2"

最初の2桁を保持することに決めたため、マスクされるのは4桁のみです。その結果、ファンクションはnullを返します。

入力値に必要な最小文字数は、選択した[Alphabet] (アルファベット)によって異なります。

[Best guess] (最も妥当と思われるもの)を選択すると、最小文字数は入力値内に表示されるアルファベットによって異なります。

| アルファベット | マスクする最小文字数 |
| --- | --- |
| [Alphanumeric] (英数字) | 4 |
| [Digits] (桁) | 6 |
| [Latin extended] (拡張ラテン) | 3 |
| ひらがな | 4 |
| 片仮名 | 3 |
| 漢字 | 2 |
| ハングル | 2 |

## アルファベット

FPEメソッドと共に[Character handling] (文字処理)ファンクション(たとえば[Replace all] (すべて置換)、[Replace characters between two positions] (2つのポジション間の文字を置換)、[Replace all digits] (すべての桁を置換)など)を使う時は、アルファベットを選択する必要があります。

選択したアルファベットに属する文字は、同じアルファベットからの文字でマスクされます。

[Best guess] (最も妥当と思われるもの)アルファベットを選択している時は、マスク値には入力値に表示されるすべての文字タイプからの文字が含まれます。[Best guess] (最も妥当と思われるもの)はデフォルトのアルファベットです。

認識されていない文字はそのまま出力にコピーされます。

以下のアルファベットがサポートされています。

| アルファベット | 文字タイプ | Unicode範囲(バージョン11.0) | 対応する文字 |
| --- | --- | --- | --- |
| Alphanumeric | ラテン数字 | [\[0030-0039\]](https://www.unicode.org/charts/PDF/U0000.pdf) | [0-9] |
| ラテン小文字 | [\[0061-007A\]](https://www.unicode.org/charts/PDF/U0000.pdf) | [a-z] |  |
| ラテン大文字 | [\[0041-005A\]](https://www.unicode.org/charts/PDF/U0000.pdf) | [A-Z] |  |
| [Digits] (桁) | ラテン数字 | [\[0030-0039\]](https://www.unicode.org/charts/PDF/U0000.pdf) | [0-9] |
| [Latin extended] (拡張ラテン) | ラテン数字 | [\[0030-0039\]](https://www.unicode.org/charts/PDF/U0000.pdf) | [0-9] |
| ラテン小文字 | [\[0061-007A\]](https://www.unicode.org/charts/PDF/U0000.pdf) | [a-z] |  |
| ラテン拡張小文字 | [\[00DF-00F6\] \[00F8-00FF\]](https://www.unicode.org/charts/PDF/U0080.pdf) | [ß-ö] [ø-ÿ] |  |
| ラテン大文字 | [\[0041-005A\]](https://www.unicode.org/charts/PDF/U0000.pdf) | [A-Z] |  |
| ラテン拡張大文字 | [\[00C0-00D6\] \[00D8-00DE\]](https://www.unicode.org/charts/PDF/U0080.pdf) | [À-Ö] [Ø-Þ] |  |
| ひらがな | ひらがな | [\[3041-3096\] 30FC 309D 309E](https://www.unicode.org/charts/PDF/U3040.pdf) | [ぁ-ゖ] ー ゝ ゞ |
| 片仮名 | 半角カタカナ | https://www.unicode.org/charts/PDF/UFF00.pdf | [ｦ-ﾝ][FF66-FF9D] |
| 全角カタカナ | [\[30A1-30FA\] 30FC 30FD 30FE](https://www.unicode.org/charts/PDF/U30A0.pdf) | [ァ-ヺ] ー ヽ ヾ |  |
| [表音拡張](https://www.unicode.org/charts/PDF/U31F0.pdf): [31F0-31FF] | [ㇰ-ㇿ] |  |  |
| 漢字 | 漢字 | [CJK拡張A](https://www.unicode.org/charts/PDF/U3400.pdf)[FF66-FF9D: [4E00-9FEF] [3400-4DB5] | [一-![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/u9FEF.png)] [㐀-䶵] |
| [CJK拡張B](https://www.unicode.org/charts/PDF/U20000.pdf): [20000-2A6D6] | [𠀀-𪛖] |  |  |
| [CJK拡張C](https://www.unicode.org/charts/PDF/U2A700.pdf): [2A700-2B734] | [𪜀-𫜴] |  |  |
| [CJK拡張D](https://www.unicode.org/charts/PDF/U2B740.pdf): [2B740-2B81D] | [𫝀-𫠝] |  |  |
| [CJK拡張E](https://www.unicode.org/charts/PDF/U2B820.pdf): [2B820-2CEA1] | [![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/u2B820.png)-![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/u2CEA1.png)] |  |  |
| [CJK拡張F](https://www.unicode.org/charts/PDF/U2CEB0.pdf): [2CEB0-2EBE0] | [![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/u2CEB0.png)-![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/u2EBE0.png)] |  |  |
| [CJK互換漢字](https://www.unicode.org/charts/PDF/UF900.pdf): [F900-FA6D] [FA70-FAD9] | [豈-舘] [![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/uFA70.png)-![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/uFAD9.png)] |  |  |
| [CJK互換漢字補助](https://www.unicode.org/charts/PDF/U2F800.pdf): [2F800-2FA1D] | [![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/u2F800.png)-![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/u2FA1D.png)] |  |  |
| [康熙部首](https://www.unicode.org/charts/PDF/U2F00.pdf): [2F00-2FD5] | [⼀-⿕] |  |  |
| [CJK部首補助](https://www.unicode.org/charts/PDF/U2E80.pdf): [2E80-2E99] [2E9B-2EF3] | [⺀-⺙] [⺛-⻳] |  |  |
| [CJKの記号および句読点](https://www.unicode.org/charts/PDF/U3000.pdf): [3005-3005] [3007-3007] [3021-3029] [3038-303B] | [々-々] [〇-〇] [〡-〩] [〸-〻] |  |  |
| ハングル | ハングル | [\[AC00-D7AF\]](https://www.unicode.org/charts/PDF/UAC00.pdf) | [가-힯] |

### このセクション内

* [文字処理ファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/character-handling-functions)
* [日付処理ファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/date-handling-functions)
* [数字処理ファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/number-handling-functions)
* [データ生成ファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/data-generation-functions)
* [銀行口座生成ファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/bank-account-generation-functions)
* [銀行口座マスクファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/bank-account-masking-functions)
* [クレジットカード生成ファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/credit-card-generation-functions)
* [クレジットカードマスキングファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/credit-card-masking-functions)
* [電話番号の生成ファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/phone-number-generation-functions)
* [電話マスキングファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/phone-masking-functions)
* [社会保障番号(SSN)の生成ファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/social-security-number-ssn-generation-functions)
* [社会保障番号(SSN)のマスキングファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/social-security-number-ssn-masking-functions)
* [アドレスマスキングファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/address-masking-functions)
* [メールマスキングファンクション](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/email-masking-functions)
* [\[Set to Null\] (Nullに設定)](https://help.qlik.com/talend/ja-JP/components/8.0/data-privacy/set-to-null)