tDataEncrypt
読み取り不可能な暗号文に変換することでデータを保護します。
情報メモ重要: このコンポーネントではJava 8u161以降のバージョンが必要です。
暗号文を解読して元のデータを読み取るためには、次のいずれかが必要です。
- ユーザー定義のパスワードと暗号化ファイル
- base64でエンコードされた256ビットのシークレットキー256ビットキーは次のいずれかを使って取得できます。
- オンラインツール
- OpenSSL: openssl rand -base64 32
ローカルモードでは、Apache Spark 2.4.0以降のバージョンがサポートされています。
デフォルトで、このコンポーネントはTalend Studioと共には出荷されていません。機能マネージャーを使ってインストールする必要があります。 詳細は、機能マネージャーを使って機能をインストールをご覧ください。
データの暗号化が必要な理由
暗号化は自分の資産、職場、顧客の機密データ保護に使われます。暗号化によって内部漏洩や外部漏洩からデータを保護できます。
ビッグデータ環境では多岐にわたるソースから大量のデータが収集された後、操作され、さまざまな形式で保管されます。暗号化により機密データの露出リスクを低減できます。
暗号化はまた、データ保護法への準拠という点でも推奨および要求されています。
データ暗号化の検討事項
- 保護するデータのタイプを定義する: 送信中のデータか保存データか
- 保護するデータのスコープを特定する: 目的、所有権、アクセスなど
- 暗号化ファイルには強力なパスワードを指定してください。
- 異なるデータ暗号化操作で同じパスワードを再利用しないでください。
- セキュアなパスワード管理システムにパスワードを保管してください。
- セキュアなパスワード管理システムにシークレットキーを保管してください。
- データの解読に必要となるパスワードと暗号化ファイルには認証を受けたユーザーのみがアクセスできるようにしてください。
- 強力な暗号化方式では通常、必要となるリソースが増えます。
- データをセキュアに保つため、暗号化ファイルと暗号化済みデータは別々に管理してください。
- データセットの暗号化ごとに個別の暗号化ファイルを使うことをお勧めします。
- データ暗号化は完全なセキュリティアプローチではありません。さまざまなセキュリティレイヤーを組み合わせることで、機密データに関する不安を払拭できます。セキュリティレイヤーには、脆弱性の評価と管理のほか、マルウェア対策ソリューションが含まれます。
データ暗号化の方式
tDataEncryptコンポーネントは、AES-GCMとBlowfish暗号化方式を使ってデータを暗号化します。
AES-256 | Blowfish |
---|---|
GCMの動作モード | CBCの動作モード |
ランダムに生成された256ビットキーを使用します | ランダムに生成された256ビットキーを使用します |
整合性チェックあり | 整合性チェックなし |
最新のCPUではより高速 | 計算速度で優位 |
特許取得 | 特許未取得 |
米国国立標準技術研究所(NIST)によって標準化 | - |
SSL/TLSによる使用 | - |
データ暗号化のプロセス
暗号化ファイルを使用する場合、データ暗号化プロセスのステップは次のようになります。
- 暗号ファイルの生成。以下のものが含まれます。
- PBKDF2キー導出関数を使用して、ユーザー定義のパスワードから暗号化キーを導出するために使用されるランダムに生成されたソルト
- ランダムに生成され、AESとユーザー定義のパスワードで暗号化された256ビットの鍵
- AESとユーザー定義のパスワードで暗号化された方式
- 次の方法で暗号化ファイルから暗号化済みデータにアクセス:
- ランダムに生成されたソルトを使用して、ユーザー定義のパスワードから暗号化キーを取得
- 暗号化キーとAESメソッドを使用して、ランダムに生成された256ビットキーと暗号化メソッドを復号化
復号中は、パスワードが正しければ、コンポーネントは、暗号化方法とランダムに生成された256ビットの鍵にアクセスすることができます。それ以外の場合、アクセスは拒否されます。
- 以下を使用してデータを暗号化:
- 暗号化ファイルからランダムに生成された256ビットキー
- 暗号化方式
- データごとに生成されたランダム初期化ベクトル(IV)