のセキュリティと暗号化 NCache

NCache 強力なセットを提供します セキュリティ パフォーマンスを損なうことなく分散キャッシュ環境を保護するために設計された機能を備えています。例えば、アクセス制御機能により、特定のキャッシュやノードに対するユーザー権限を定義し、許可されたユーザーのみが特定の操作を実行できるようにすることができます。さらに、LDAP統合により集中認証が可能になり、システム全体の安全なアクセス管理が容易になります。

さらに、機密データを保護するために、 データ暗号化 AES、3DES、AES FIPSなどのアルゴリズムを使用して、メモリ内と送信中の両方でセキュリティを確保します。ただし、パフォーマンスコストが追加されます。より効率的なネットワークセキュリティのために、 TLS暗号化 クライアント、サーバー、ブリッジ間の通信を少ないオーバーヘッドで保護し、保護する通信パスを選択できるようにします。さらに、 HTTPSサポート アクセスを確保します NCache WindowsとLinuxの両方でTLS証明書を使用して管理センターにアクセスし、安全で暗号化された管理アクセスを確保します。これらのセキュリティ機能は NCache 主に次の3つの領域に分類されます。

  1. ユーザーセキュリティ
  2. Encryption
  3. トランスポート層セキュリティ
NCache Windows および Linux 上の .NET、Java、Node.js、Python 向けの分散キャッシュ アーキテクチャ。
マルチプラットフォーム NCache マイクロサービスとレガシーデータ用のクラスター。

ロールベースアクセス制御(RBAC)とユーザー認証

ユーザーセキュリティ NCache キャッシュ クラスターと対話するユーザーの認証と承認を管理することで、安全なアクセス制御を保証します。

認証と承認

NCache 製品に組み込まれている認証と承認でセキュリティを提供します。 NCache 次のように、XNUMXつの異なるセキュリティレベルに基づいてユーザーを分類します。

  1. ノード管理者: ノード管理者は、キャッシュに対する完全な制御権を持つスーパーユーザーです。キャッシュの作成、変更、削除、およびあらゆるキャッシュ管理タスクを実行できます。セキュリティ設定を保存または破棄する権限があり、キャッシュユーザーの権限を継承して、 NCache APIです。
  2. キャッシュユーザー: ノード管理権限を持たないユーザーをキャッシュAPIアクセスのみに制限したい場合は、ユーザーをキャッシュユーザーとして設定し、アクセス可能なキャッシュ上の関連APIを使用した追加、削除、更新、取得などのデータ操作のみに制限することができます。ただし、すべてのユーザーにノードおよび設定されたキャッシュに対するフルアクセス権限を与えたい場合は、ノード管理者が既にキャッシュに対する完全な制御権を持っているため、キャッシュユーザーを設定する必要はありません。
NCache LDAP、RSA 暗号化、TLS を使用したセキュリティ モデル。
統合された LDAP 認証と RSA/TLS 暗号化ワークフロー。

認証

NCache ロールベースのアクセス制御(RBAC)を実装し、許可されたユーザーのみがクラスタにアクセスまたは管理できるようにします。LDAP対応ディレクトリサービス(Microsoft Active Directoryなど)とネイティブに統合することで、 NCache 集中認証を実施することで、組織は既存のアイデンティティインフラストラクチャ内でセキュリティポリシーを管理できるようになります。 NCache セキュリティが有効になっている場合、キャッシュクラスタへのすべての接続は、まずキャッシュサーバーのLDAPディレクトリに対して認証される必要があります。このプロセスでは、ユーザーはユーザー名、識別名(DN)、およびパスワードを入力する必要があります。これらの認証情報が認証に失敗した場合には、接続要求は拒否されます。

このシナリオでは、ドメインコントローラとの接続が切断されると検証に失敗し、ユーザーは操作を実行できなくなります。これを回避するには、 NCache 認証情報キャッシュ機能を提供し、ユーザーの認証情報は NCache これにより、既に認証済みのユーザーは、プロセスの実行中に再度認証する必要がなくなります。デフォルトでは無効になっていますが、ユーザーはサービス設定ファイルで有効にすることができます。セキュリティレベルに応じて、以下の場所でユーザー認証情報を指定する必要があります。詳細については、 NCache ドキュメント.

  • ノード管理者: 次のようにノード管理者を追加します。

    Add-NCacheUserOrGroup -Server 20.200.20.40 -AccessLevel Admin -AdminCredentials(Get-Credential john_smith) -UserOrGroupName john_smith -UserOrGroupDN "CN=John Smith,OU=engineers,DC=example,DC=com" -DomainController test_domain

    そして、次のことができます セキュリティを有効にする 下記の通りです:

    Enable-NCacheSecurity -Server 20.200.20.40 -AdminCredentials(Get-Credential john_smith) -WriteCredentialsToServiceConfig

    ノードレベルのセキュリティを設定するには、 NCache 管理センター.

  • キャッシュユーザー:

    ノードとそのキャッシュのセキュリティ保護が完了しました。前述のとおり、特定のユーザーに対して完全な管理権限なしでキャッシュ操作のみを許可するには、そのユーザーをキャッシュユーザーとして追加します。ノード管理者にも同じコマンドレットを使用し、AccessLevel に Cache を指定し、CacheName(ユーザーがアクセスするキャッシュの名前)を指定します。以下のコマンドを実行してください。

    Add-NCacheUserOrGroup -Server 20.200.20.40 -AccessLevel Cache -CacheName demoCache -AdminCredentials(Get-Credential john_smith) -UserOrGroupName john_smith -UserOrGroupDN "CN=John Smith,OU=engineers,DC=example,DC=com" -DomainController test_domain -EnableSecurity Yes

    資格情報も設定できます プログラムで必要なユーザー資格情報を使用してこのメ​​ソッドを呼び出す方法の例を以下に示します。

    // Specify cache name and user credentials
    string cacheName = "demoCache";
    string userId = "userid";
    string password = "mypassword";
    
    // Initialize the CacheConnectionOptions
    var options = new CacheConnectionOptions();
    
    // Enter the credentials
    options.UserCredentials = new Credentials(userId, password);
    
    // Connect to the cache using the security credentials
    ICache cache = CacheManager.GetCache(cacheName, options);

均一なセキュリティ設定

1つのノードのセキュリティ設定が完了したら、そのクラスタ内のすべてのノードで同様のセキュリティ設定が行われていることを確認する必要があります。1つのノードでノード管理者として機能しているユーザーは、そのクラスタ内の他のすべてのノードでも管理者である必要があります。同様に、1つのノードでキャッシュユーザーとして機能しているユーザーは、残りのノードでもキャッシュユーザーである必要があります。クラスタ内のすべてのノードで均一なセキュリティ設定が確保されていない場合、キャッシュの管理および運用中にさまざまな問題が発生する可能性があります。

Authorization

後 NCache キャッシュへの接続を正常に認証し、チェックします NCache キャッシュサーバーの設定ファイルを使用して、この接続を承認します。接続がアクティブディレクトリに対して認証されると、 セキュリティ.ncconf ファイルまたは client.ncconf それぞれ、ノード レベルのセキュリティを使用しているか、キャッシュ レベルのセキュリティを使用しているかによって異なります。

Encryption

アプリケーションが機密性の高い機密データを扱っており、それを保護する必要がある場合、 インメモリ分散キャッシュ、分散キャッシュがこの機密データを暗号化による不要なアクセスから保護していることを確認する必要があります。

NCache RSA で保護されたキー交換による DEK および KEK を使用したデータ暗号化プロセス。
分散環境向けのゼロトラスト データ暗号化アーキテクチャ。

データ暗号化

NCache AES-256やFIPS準拠のAESなど、業界標準の暗号化アルゴリズムを豊富にサポートしており、PCI-DSS、HIPAA、GDPRなどの規制要件を満たす組織を支援します。これにより、NIST推奨の暗号化標準を使用して機密データが保護されます。 NCache 次の暗号化アルゴリズムをサポートしています:

  • トリプル データ暗号化規格 (3DES)
  • 高度な暗号化規格(AES)
  • Advanced Encryption Standard - 連邦情報処理標準 (AES-FIPS)

以下に、各アルゴリズムとそのサポートされているバリエーションの詳細を示します。

トリプル データ暗号化規格 (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ビット暗号化

データ暗号化ワークフロー

NCache データの暗号化と復号化は内部で行われます。 NCache クライアント申請プロセス。 したがって、アプリケーションとキャッシュクラスター間でネットワーク上を移動するすべてのデータはすでに暗号化されています。 同様に、暗号化されたデータのみがキャッシュストアに保存されます。 次のような暗号化キーを提供します NCache 内部に保管されている用途 NCache セキュリティ構成ファイル 各キャッシュサーバーで暗号化された状態で保存されます。暗号化キーは、接続が成功すると自動的にクライアントに送信され、メモリ内で使用されます。

暗号化を有効にするには、 NCache 管理センター あなたの側でプログラミングの努力なしで。 暗号化を有効にすると、 NCache クライアントは、オブジェクトをキャッシュクラスターに送信する前に、オブジェクトの暗号化を自動的に開始します。 また、キャッシュからフェッチされたオブジェクトをアプリケーションに配信する前に、自動的に復号化します。

暗号化キー管理

暗号化キー管理 NCache 以下で説明するように、キー暗号化キー (KEK)、データ暗号化キー (DEK)、資格情報暗号化キー (CEK) を含むすべての暗号化キーを安全に処理する必要があります。

  • キー暗号化キー (KEK): AES 256暗号化に基づくキー暗号化キー(KEK)は、データ暗号化キー(DEK)を暗号化することで保護します。このキーは、 NCache サーバー上のサービス構成ファイル。分散環境内のすべてのキャッシュサーバー間で一貫性とセキュリティを確保するには、各サーバーで同じキー暗号化キー(KEK)を使用する必要があります。
  • データ暗号化キー(DEK): データ暗号化キー(DEK)は、ユーザーデータをキャッシュに保存する前に暗号化する役割を担います。このDEK自体もKEKを使用して暗号化されます。このアプローチにより、許可されたツールまたはプロセスのみが暗号化キーを取得して使用できるようになります。
  • 資格情報暗号化キー (CEK): NCache クライアント設定ファイル(client.ncconf)に保存されているユーザー認証情報を認証情報暗号化キー(CEK)を使用して暗号化します。このキーは、 NCache サービス構成ファイル。KEKと同様に、各サーバーで同じ資格情報暗号化キー(CEK)を使用する必要があります。これにより、一貫性が確保され、分散環境におけるクライアント資格情報を効果的に保護できます。

RSA暗号化(公開鍵/秘密鍵トランスポート)

暗号化キーとユーザー認証情報を安全に交換するために、 NCache RSAベースの公開鍵/秘密鍵暗号化を採用しています。RSA暗号化は、クライアントとサーバー間の通信、およびサーバー間の交換における鍵と資格情報の転送にのみ使用されます。

  • RSA は、キー交換プロセス中にユーザー資格情報、KEK、および CEK の送信を保護します。
  • 参加する各コンポーネントは、実行時に公開/秘密 RSA キー ペアを動的に生成し、安全なキー交換を実行します。
  • これにより、トランスポート層セキュリティ (TLS) 暗号化が適用される前であっても、機密キーと資格情報がプレーンテキストで送信されることがなくなります。

トランスポート層セキュリティ

一方、 NCache データ暗号化機能を備えており、メモリ内およびネットワーク経由の転送中のデータを保護します。ただし、データ暗号化には追加のパフォーマンスコストが伴います。一方、トランスポート層セキュリティ(TLS)は、業界標準のプラクティスに従い、ネットワーク転送中のデータを保護するより包括的なアプローチを提供します。TLSもパフォーマンスに影響を与えますが、データ暗号化などの代替手段よりもリソース消費量が少ない傾向があります。

NCache クライアントとサーバー間の通信における通常の TLS と相互 TLS (mTLS) を示す TLS 図。
TLS 1.3 と相互認証によるエンドツーエンドのネットワーク整合性。

通常のTLS

トランスポート層セキュリティ TLS暗号化は、サーバーとクライアント、異なるサーバー、キャッシュ、ブリッジ間のデータ交換を保護します。ユーザーは、クライアントとの接続に発行済みまたは自己署名済みの証明書を有効にするか、コンポーネント間の接続を有効化することができます。 NCacheこれにより、TLS で保護されたデータとは別に、暗号化されたデータ転送が保証されます。

NCache は、移動中のデータを保護するために、堅牢なトランスポート層セキュリティ (TLS 1.2 および 1.3) を提供します。これには、クライアントとサーバー間の双方向認証を提供する相互 TLS (mTLS) のサポートが含まれます。これにより、クライアントとサーバー間、サーバー間、WAN ブリッジ接続を含むすべてのチャネルで暗号化された通信が保証されます。これらの安全なチャネルを確立するために、TLS は認証にデジタル証明書を使用します。これらの証明書は、信頼されたルート ストアまたは個人 (My) ストアにインストールできるため、グループ ポリシーによってルート ストアの使用が制限される環境に柔軟に対応できます。追加の信頼構成を避けるため、パブリック CA が発行した証明書が推奨されます。ただし、発行機関がすべてのサーバーとクライアントの信頼されたルート ストアに追加されていれば、プライベート CA 証明書も使用できます。

相互TLS

NCache 安全な認証のために、通常のTLSと相互TLSの両方をサポートしています。通常のTLSでは、各端末にサーバー証明書がインストールされます。 NCache TLSは、クライアント証明書も要求することでこのプロセスをさらに強化し、安全な接続を確立する前にクライアントとサーバーの両方が相互に認証できるようにします。分散キャッシュ環境全体にわたる安全な通信のために、TLSはクライアントとサーバー間のやり取りだけでなく、サーバー間の通信やブリッジ接続を介して交換されるデータも保護します。

クラスタ全体でTLSを構成する

NCache 新しい機能を通じてトランスポート層セキュリティ(TLS)をシームレスに設定できる方法を提供します 有効にする-NCacheTLS (NAIST) と 無効にする-NCacheTLS コマンドレット。証明書がインストールされ、TLSが有効になると、参加しているすべてのノード間で安全な通信が強制されます。構成の変更には NCache サービスの再起動により暗号化が有効になり、ユーザーは Management Center または TLS ハンドシェイク操作の成功を示すログを通じて暗号化ステータスを確認できます。

WindowsまたはLinuxでTLS暗号化を構成するには、次のドキュメントに従ってください。 TLS暗号化を構成する NCache

NCache セキュリティ: FIPS と RBAC マトリックス

セキュリティレイヤー テクノロジー / 標準 DevOps Tools Engineer試験のObjective
認証 LDAP / アクティブディレクトリ ID 管理を集中化し、既存のエンタープライズ ドメイン コントローラーに対してユーザー ID を検証します。
Authorization RBAC (管理者 vs. ユーザー) 管理タスクを特定の承認されたロールに制限することで、最小権限の原則を適用します。
Data Privacy AES-256 / FIPS 140-2 NIST 推奨の暗号化標準を使用して、保存時、メモリ内、転送中のデータの機密性を保証します。
ネットワークの完全性 TLS 1.3 / mTLS エンドツーエンドの暗号化を提供します。相互 TLS は中間者 (MITM) 攻撃を防ぎ、双方向の検証を保証します。
管理アクセス HTTPS / TLS 確保する NCache 暗号化された管理通信を備えた管理センター (Windows および Linux)。

次はどうする?

よくある質問(FAQ)

Yes. NCache AES-FIPS(連邦情報処理標準)をサポートしており、これは政府機関や規制の厳しい業界の組織にとって不可欠です。これにより、分散キャッシュ内のすべてのデータが厳格な連邦セキュリティ要件を満たすことが保証されます。

NCache クライアントアプリケーションプロセス内でデータの暗号化と復号化を実行します。ネットワーク経由で送信される前にデータを暗号化することで、 NCache 暗号文のみがネットワーク上を移動し、キャッシュに保存されることを保証します。これにより、キャッシュサーバーの処理負荷が軽減され、ゼロトラスト環境が維持されます。

絶対に。 NCache ネイティブLDAP統合により、既存のMicrosoft Active Directoryやその他のLDAP対応ディレクトリサービスを利用して一元的な認証を行うことができます。これにより、組織の既存のIDインフラストラクチャを活用し、ユーザー管理を簡素化できます。

通常のTLSはサーバー側認証を提供し、クライアントがサーバーのIDを検証します。相互TLS(mTLS)は、クライアントにも証明書の提供を要求することでセキュリティをさらに強化し、データ交換前に接続の両端で検証が行われるようにします。

Yes. NCache 完全なクラスター管理権限を持つノード管理者と、「最小権限の原則」に基づいて基本的なデータ API 操作 (追加、取得、削除) に制限されたキャッシュ ユーザーという 2 つの主なレベルを持つロールベースのアクセス制御 (RBAC) モデルを使用します。

お問い合わせ

電話

+1 214-619-2601 (米国)

+44 20 7993 8327 (英国)

©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。