のデータ暗号化 NCache
NCache エンドツーエンドのデータ暗号化フレームワークを提供し、機密データをクライアント側で送信前に自動的に暗号化し、分散キャッシュに保存されている間も暗号化された状態を維持します。これにより、データは転送中と保存時の両方で保護され、正しい暗号鍵を持つ承認済みクライアントのみが元の情報を復号化してアクセスできます。コードの変更は不要で、強力な業界標準アルゴリズムをサポートしています。 AES-256, AES-FIPS, 3DES, RSA, NCache 機密データを保護し、PCI-DSS、HIPAA、GDPR などのコンプライアンス要件を満たすのに役立ちます。
分散環境では、キャッシュシステムはクライアントアプリケーションとリモートキャッシュサーバー間でデータを転送するために、ネットワークチャネルを介して頻繁に通信を行います。このデータはネットワーク上を移動し、シリアル化された形式でキャッシュに保存されるため、暗号化されていない場合、傍受や盗聴、中間者攻撃、不正アクセス攻撃などの攻撃を受ける可能性があります。
データ暗号化 暗号化は、読み取り可能な平文情報を判読不能な暗号文に変換する、データセキュリティの中核となるメカニズムです。正しい暗号鍵を持つ正規のクライアントのみがデータを復号化し、元の情報にアクセスできます。簡単に言えば、暗号化によって、データが傍受されたり不正にアクセスされたりしても、権限のない第三者には利用できない状態が維持されます。
データ暗号化ワークフロー
キャッシュにデータを追加すると、設定された暗号化アルゴリズムと暗号化キーを使用してクライアント側で暗号化されます。暗号化されたデータはキャッシュに保存されるため、データの安全性が確保されます。暗号化されたデータが取得される際には、キャッシュから取得され、クライアント側で復号されてから使用されます。このエンドツーエンドの暗号化アプローチにより、転送中と保存中の両方でデータが保護され、安全性が確保されます。 NCache 機密情報をキャッシュするための安全なソリューション。
データ暗号化アルゴリズム
暗号化アルゴリズムとは、データを暗号文に変換する手法です。アルゴリズムは暗号化キーを用いてデータを予測可能な方法で変更するため、暗号化されたデータは一見ランダムに見えますが、復号キーを用いることで平文に戻すことができます。
NCache Cacheは、解読がほぼ不可能な豊富な標準暗号化アルゴリズムをサポートしています。これにより、機密データが確実に保護されます。Cacheは、アーキテクチャとセキュリティのニーズに応じて選択できる、対称暗号化アルゴリズムと非対称暗号化アルゴリズムの両方をサポートしています。
- トリプル データ暗号化規格 (3DES)
- 高度な暗号化規格(AES)
- Advanced Encryption Standard - 連邦情報処理標準 (AES-FIPS)
- リベスト・シャミール・エイドルマン (RSA)
以下に、各アルゴリズムとそのサポートされているバリエーションの詳細を示します。
トリプル データ暗号化規格 (3DES)
3DES(トリプルデータ暗号化規格)は、対称鍵ブロック暗号アルゴリズムであり、各データブロックにDES暗号アルゴリズムを3回適用します。XNUMXDESアルゴリズムの様々なバリエーションがサポートされています。 NCache には次の値があります:
- 3DES-128: 128ビット暗号化
- 3DES-192: 192ビット暗号化
高度な暗号化規格(AES)
AES(Advanced Encryption Standard)は、ブロック/チャンクサイズが128ビットの対称ブロック暗号アルゴリズムです。個々のブロックを128ビット、192ビット、256ビットの鍵で暗号化します。これらのブロックを暗号化した後、それらを結合して暗号文を形成します。AESアルゴリズムには、様々なバリエーションがサポートされています。 NCache には次の値があります:
- AES-128: 128ビット暗号化
- AES-192: 192ビット暗号化
- AES-256: 256ビット暗号化
Advanced Encryption Standard - 連邦情報処理標準 (AES-FIPS)
AESは、電子データの保護に使用できるFIPS承認の暗号化アルゴリズムを規定しており、これはAdvanced Encryption Standard - Federal Information Processing Standards(AES-FIPS)と呼ばれます。AES-FIPSアルゴリズムには、さまざまなバリエーションがサポートされています。 NCache には次の値があります:
- AES-FIPS 128: 128ビット暗号化
- AES-FIPS 192: 192ビット暗号化
- AES-FIPS 256: 256ビット暗号化
3DES と AES のセキュリティ強度比較
Triple Data Encryption Standard Algorithm (3DES) は、DES 暗号化を XNUMX 回使用する方法です。 しかし、Triple DES でさえ、ブルート フォース攻撃に対して効果がないことが証明されました (プロセスが大幅に遅くなることに加えて)。
AES データ暗号化は、より数学的に効率的で洗練された暗号化アルゴリズムですが、その主な強みは、さまざまなキーの長さのオプションにあります。 AES では、128 ビット、192 ビット、または 256 ビットのキーを選択できるため、DES の 56 ビット キーよりも指数関数的に強力になります。 キーの長さが長いほど、壊れにくくなります。
| アルゴリズム | キーの長さ(バイト) |
|---|---|
| 3DES-128 | 16 |
| 3DES-192 | 24 |
| AES-128 | 16 |
| AES-192 | 24 |
| AES-256 | 32 |
| AES-FIPS 128 | 16 |
| AES-FIPS 192 | 24 |
| AES-FIPS 256 | 32 |
非対称暗号化の基礎:RSAハンドシェイク
対称暗号化アルゴリズム(AESなど)は、大量のデータを高速に処理するために単一の共有鍵を使用しますが、Rivest-Shamir-Adleman(RSA)アルゴリズムは、C#で実装された非対称暗号化フレームワークです。これは、数学的に関連付けられた鍵ペアに依存しています。
公開鍵:公開されており、データの暗号化のみに使用されます。
秘密鍵: 生成プロセスによって厳重に機密保持され、データの復号化にのみ使用されます。
接続メカニズム:
鍵の生成各独立プロセスは、そのライフサイクル中に独自の動的なRSA公開鍵/秘密鍵ペアを生成します。
公開鍵交換クライアントプロセスはサーバーの公開鍵を要求し、サーバーは同時にクライアントの公開鍵を記録します。
RSA暗号化のユースケース:
クライアント対サーバー認証(アプリケーションログイン)クライアントはアプリケーションから暗号化されていない認証情報を取得し、サーバーのRSA公開鍵を使用してそれを暗号化します。認証情報が既にローカルで暗号化されている場合 認証情報暗号化キー(CEK)クライアントは引き続きRSAを使用してそれらを暗号化し、認証情報がCEKでも暗号化されていることをサーバーに通知します。
管理業務(PowerShell)PowerShell コマンドレットが管理のためにサーバーに接続する場合、RSA を使用して認証情報をサーバーに送信します。PowerShell はユーザーから暗号化されていない認証情報を取得し、ネットワーク送信前に RSA で暗号化します。
サーバー間クラスタ参加新しいキャッシュサーバーがクラスタに参加しようとする場合、認証を行う必要があります。認証情報はRSA暗号化を使用して、受信側のクラスタノードに安全に送信されます。
対称セキュリティキー配布 (KEK および CEK)接続時、サーバーはクライアントのRSA公開鍵で暗号化することにより、鍵暗号化鍵(KEK)と認証情報暗号化鍵(CEK)をクライアントに安全に配布します。
3DES、AES、RSAの性能比較
AES にかかる暗号化/復号化時間は 3DES よりも比較的短くなりますが、どちらのアルゴリズムもほぼ同じ量のメモリを消費します。
3DES暗号化処理は、AES暗号化処理に比べてはるかに遅い。これは、3DESでは同じ暗号化処理を3回繰り返す必要があるのに対し、AES暗号化処理ははるかに高速であるためである。RSAは複雑な数学的変換を伴うため、計算オーバーヘッドが最も大きく、継続的なペイロード操作よりも、安全な構成設定フェーズに最適である。
ビザの処理時間AESは3DESよりもはるかに高速です。RSAは、このグループの中で計算速度が最も遅く、リソース消費量も最も多いです。
メモリ使用量AESと3DESはほぼ同じ量のメモリを使用します。RSAは、より大きな鍵構造を処理するために、暗号鍵交換フェーズにおいてのみ、より高いメモリ割り当てオーバーヘッドを必要とします。
暗号化キー管理
暗号化キー管理 NCache すべての暗号化キーを安全に扱うことが含まれます。 キー暗号化キー(KEK), データ暗号化キー(DEK), 資格情報暗号化キー(CEK)以下で説明する通りです。
キー暗号化キー(KEK): AES 256暗号化に基づくキー暗号化キー(KEK)は、データ暗号化キー(DEK)を暗号化することで保護します。このキーは、 NCache サーバー上のサービス構成ファイル。分散環境内のすべてのキャッシュサーバー間で一貫性とセキュリティを確保するには、各サーバーで同じキー暗号化キー(KEK)を使用する必要があります。
データ暗号化キー(DEK)データ暗号化キー(DEK)は、ユーザーデータをキャッシュに保存する前に暗号化する役割を担います。このDEK自体もKEKを使用して暗号化されます。このアプローチにより、許可されたツールまたはプロセスのみが暗号化キーを取得して使用できるようになります。
資格情報暗号化キー(CEK): NCache クライアント構成ファイルに保存されているユーザー資格情報を暗号化します(client.ncconf)を認証情報暗号化キー(CEK)を使用して暗号化します。このキーは、 NCache サービス構成ファイル。KEKと同様に、各サーバーで同じ認証情報暗号化キー(CEK)を使用する必要があります。これにより、一貫性が確保され、分散環境におけるクライアント認証情報が効果的に保護されます。RSA暗号化では、クライアント認証情報がネットワーク上を移動する際には必ずCEKが使用されます。
ユーザー資格情報認証
RSAベースの暗号化技術を利用することで、 NCache 認証時のユーザー認証情報の送信を保護します。管理ツールまたはクライアントがこれらの認証情報を認証する必要がある場合、サーバーのRSA-256公開鍵を要求します。サーバーは、プロセスのライフサイクルごとに新しい公開鍵と秘密鍵のペアを生成します。ツールとクライアントは、ユーザー認証情報(ユーザー名やパスワードなど)をサーバーの公開鍵で暗号化してから送信します。サーバーは、これらの認証情報を自身の秘密鍵で復号化し、ユーザーを検証します。このプロセスにより、認証情報は送信中に安全に保たれ、傍受や不正使用の脅威から保護されます。
管理ツールの鍵交換と認証メカニズム
NCache 管理ツールの安全な鍵交換と認証のために高度な暗号化技術を採用しています。 NCache 以下で説明するように、Management Center、PowerShell など。
キー暗号化キー管理
管理ツールの場合、鍵交換プロセスでは、プロセスのライフサイクル中にRSA-256公開鍵/秘密鍵ペアが生成されます。ツールは公開鍵をサーバーと共有します。サーバーはこの公開鍵を使用してKEKを暗号化し、暗号化されたKEKをツールと共有します。管理ツールは秘密鍵を使用してKEKを復号化します。このRSA鍵ペアはツールのライフサイクル期間中のみ有効であるため、短時間で安全な交換が保証されます。ユーザーアクセス制御(UAC)が有効になっている場合、承認されたツールとクライアントのみがサーバーからKEKを取得できます。
資格情報暗号化キー管理
管理ツールは、RSAベースのセキュア鍵交換を用いてキャッシュサーバーからCEKを取得します。KEK管理と同様に、ツールはライフサイクル中にRSAベースの256ビット公開鍵/秘密鍵ペアを生成します。公開鍵はサーバーと共有され、サーバーはツールの公開鍵を用いてCEKを暗号化し、暗号化されたCEKをツールと共有します。その後、管理ツールは自身の秘密鍵を用いてCEKを復号化し、それを用いてユーザー認証情報を暗号化します。 client.ncconf ファイルにソフトウェアを指定する必要があります。
クライアント向け鍵交換
同様に、クライアントはサーバーに接続し、RSAベースのセキュア鍵交換を使用してCEKを要求します。サーバーはクライアントの公開鍵でCEKを暗号化し、クライアントは秘密鍵で復号化することで、サーバーに保存されている認証情報を復号化できるようになります。 client.ncconf.
暗号化が行われる場所 NCache
NCache データの暗号化と復号は、主にアプリケーションプロセス内で行われます。キャッシュの暗号化が有効になっている場合、 NCache データを暗号化された形式でキャッシュに保存します。
暗号化が有効になると、 NCache クライアントは、オブジェクトをキャッシュに送信する前に自動的に暗号化します。また、キャッシュから取得したオブジェクトは、アプリケーションに配信する前に自動的に復号化されます。暗号化を有効にすると、キャッシュAPI、キャッシュスタートアップローダー、リードスループロバイダーを使用して追加されるデータが暗号化されます。
暗号化を有効にするには、 NCache 管理センター プログラミングは一切不要です。暗号化を有効にする方法については、 暗号化を構成する.