보안 및 암호화 NCache

NCache 강력한 세트를 제공합니다 보안 성능 저하 없이 분산 캐싱 환경을 보호하도록 설계된 기능들을 제공합니다. 예를 들어, 액세스 제어 기능을 통해 특정 캐시 및 노드에 대한 사용자 권한을 정의하여 권한이 있는 사용자만 특정 작업을 수행할 수 있도록 할 수 있습니다. 또한, LDAP 통합을 통해 중앙 집중식 인증을 지원하여 시스템 전반의 보안 액세스를 더욱 쉽게 관리할 수 있습니다.

또한, 민감한 데이터를 보호하기 위해 데이터 암호화 AES, 3DES, AES FIPS 등의 알고리즘을 사용하여 메모리와 전송 중에 모두 안전하게 보호합니다. 하지만 성능 저하가 발생할 수 있습니다. 더욱 효율적인 네트워크 보안을 위해 TLS 암호화 클라이언트, 서버 및 브리지 간의 통신을 더 적은 오버헤드로 보호하고, 보호할 통신 경로를 선택할 수 있도록 합니다. 또한, HTTPS 지원 에 대한 액세스를 보호합니다 NCache TLS 인증서를 사용하는 Windows 및 Linux 관리 센터를 통해 안전하고 암호화된 관리 액세스를 보장합니다. 이러한 보안 기능은 NCache 다음 세 가지 주요 영역으로 분류됩니다.

  1. 사용자 보안
  2. 암호화
  3. 전송 계층 보안
NCache Windows 및 Linux 환경에서 .NET, Java, Node.js 및 Python을 위한 분산 캐시 아키텍처.
멀티 플랫폼 NCache 마이크로서비스 및 레거시 데이터를 위한 클러스터.

역할 기반 접근 제어(RBAC) 및 사용자 인증

사용자 보안 NCache 캐시 클러스터와 상호 작용하는 사용자의 인증 및 권한 부여를 관리하여 안전한 액세스 제어를 보장합니다.

인증 및 승인

NCache 제품에 내장된 인증 및 권한 부여로 보안을 제공합니다. NCache 다음과 같이 두 가지 보안 수준에 따라 사용자를 분류합니다.

  1. 노드 관리자: 노드 관리자는 캐시에 대한 모든 권한을 가진 슈퍼유저입니다. 캐시를 생성, 수정, 삭제할 수 있으며 모든 캐시 관리 작업을 수행할 수 있습니다. 또한 보안 구성을 저장하거나 삭제할 수 있으며, 캐시 사용자의 권한을 상속받아 캐시와 상호 작용할 수 있습니다. NCache API.
  2. 캐시 사용자: 노드 관리 권한 없이 캐시 API 접근만 허용하려면 캐시 사용자로 구성하여 해당 캐시에서 관련 API를 통해 추가, 제거, 업데이트, 검색과 같은 데이터 작업만 수행할 수 있도록 제한할 수 있습니다. 하지만 모든 사용자에게 노드 및 구성된 캐시에 대한 모든 작업을 수행할 수 있는 권한을 부여하려면 캐시 사용자를 설정할 필요가 없습니다. 노드 관리자가 이미 캐시에 대한 완전한 제어권을 가지고 있기 때문입니다.
NCache LDAP, RSA 암호화 및 TLS를 사용하는 보안 모델입니다.
LDAP 인증 및 RSA/TLS 암호화 워크플로우가 통합되었습니다.

인증

NCache 역할 기반 접근 제어(RBAC)를 구현하여 승인된 사용자만 클러스터에 접근하거나 관리할 수 있도록 합니다. LDAP에서 지원하는 디렉터리 서비스(예: Microsoft Active Directory)와 기본적으로 통합됩니다. NCache 중앙 집중식 인증을 시행하여 조직이 기존 ID 인프라 내에서 보안 정책을 관리할 수 있도록 합니다. 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 관리 센터.

  • 캐시 사용자:

    노드와 캐시의 보안이 성공적으로 완료되었습니다. 앞서 설명한 대로, 특정 사용자가 전체 관리 권한 없이 캐시 작업을 수행하도록 제한하려면 해당 사용자를 캐시 사용자로 추가하세요. 노드 관리자의 경우에도 동일한 cmdlet을 사용하여 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);

동질적인 보안 설정

한 노드에 대한 보안 설정을 설정한 후에는 해당 클러스터의 모든 노드에 동일한 보안 설정이 적용되었는지 확인해야 합니다. 한 노드에서 노드 관리자 역할을 하는 사용자는 해당 클러스터의 다른 모든 노드에서도 관리자 권한을 가져야 합니다. 마찬가지로, 한 노드에서 캐시 사용자 역할을 하는 사용자는 나머지 노드에서도 캐시 사용자 권한을 가져야 합니다. 클러스터의 모든 노드에서 동일한 보안 설정이 적용되지 않으면 캐시 관리 및 운영 과정에서 여러 문제가 발생할 수 있습니다.

권한 부여

후 NCache 캐시에 대한 연결을 성공적으로 인증하고 확인합니다. NCache 캐시 서버의 구성 파일을 사용하여 이 연결을 승인합니다. 연결이 Active Directory에 대해 인증되면 다음 중 하나에서 승인됩니다. 보안.ncconf 파일 또는 클라이언트.ncconf 각각 노드 수준 보안을 사용하는지, 캐시 수준 보안을 사용하는지에 따라 다릅니다.

암호화

귀하의 애플리케이션이 보호하려는 기밀 및 민감한 데이터를 다루고 다음을 사용하는 경우 메모리 내 분산 캐시, 분산 캐시가 암호화를 통해 원치 않는 액세스로부터 이 중요한 데이터를 보호하는지 확인해야 합니다.

NCache RSA 보안 키 교환을 사용하는 DEK 및 KEK 기반 데이터 암호화 프로세스.
분산 환경을 위한 제로 트러스트 데이터 암호화 아키텍처.

데이터 암호화

NCache PCI-DSS, HIPAA, GDPR과 같은 규제 요건을 충족할 수 있도록 AES-256 및 FIPS 규격 준수 AES를 비롯한 다양한 업계 표준 암호화 알고리즘을 지원합니다. 이를 통해 민감한 데이터가 NIST에서 권장하는 암호화 표준을 사용하여 안전하게 보호됩니다. NCache 다음 암호화 알고리즘을 지원합니다:

  • 삼중 데이터 암호화 표준(3DES)
  • 고급 암호화 표준 (AES)
  • 고급 암호화 표준 - 연방 정보 처리 표준(AES-FIPS)

각 알고리즘과 지원되는 변형에 대한 자세한 내용은 다음과 같습니다.

삼중 데이터 암호화 표준(3DES)

3DES(Triple Data Encryption Standard)는 대칭 키 블록 암호 알고리즘으로, 각 데이터 블록에 DES 암호 알고리즘을 세 번 적용합니다. 3DES 알고리즘의 다양한 변형은 다음과 같습니다. 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) 암호화가 적용되기 전에도 민감한 키와 자격 증명이 일반 텍스트로 전송되지 않도록 보장합니다.

전송 계층 보안

DaVinci에는 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는 인증을 위해 디지털 인증서를 사용합니다. 이러한 인증서는 신뢰할 수 있는 루트 저장소 또는 개인(내) 저장소에 설치할 수 있으므로 그룹 정책으로 인해 루트 저장소 사용이 제한되는 환경에서도 유연하게 사용할 수 있습니다. 추가적인 신뢰 구성이 필요하지 않도록 공용 CA에서 발급한 인증서를 사용하는 것이 좋습니다. 하지만 모든 서버와 클라이언트의 신뢰할 수 있는 루트 저장소에 발급 기관이 추가된 경우 개인 CA 인증서도 사용할 수 있습니다.

상호 TLS

NCache 보안 인증을 위해 일반 TLS와 상호 TLS를 모두 지원합니다. 일반 TLS에서는 각 TLS에 서버 인증서가 설치됩니다. NCache 서버를 통해 클라이언트는 핸드셰이크 과정에서 서버의 신원을 확인할 수 있습니다. Mutual TLS는 클라이언트 인증서도 요구하여 클라이언트와 서버 모두 보안 연결을 설정하기 전에 서로 인증하도록 함으로써 이 프로세스를 더욱 강화합니다. 전체 분산 캐싱 환경에서 안전한 통신을 위해 TLS는 이제 클라이언트-서버 상호 작용뿐만 아니라 서버-서버 통신과 브리지 연결을 통해 교환되는 데이터도 보호합니다.

TLS 클러스터 전체 구성

NCache 새로운 TLS(전송 계층 보안)를 구성하는 원활한 방법을 제공합니다. 활성화NCacheTLS 비활성화NCacheTLS cmdlet. 인증서가 설치되고 TLS가 활성화되면 모든 참여 노드에서 보안 통신이 적용됩니다. 구성을 변경하려면 NCache 서비스를 다시 시작하면 적용되고, 사용자는 관리 센터나 TLS 핸드셰이크 작업이 성공했음을 나타내는 로그를 통해 암호화 상태를 확인할 수 있습니다.

Windows 또는 Linux에서 TLS 암호화를 구성하려면 다음 설명서를 따르세요. TLS 암호화 구성 NCache

NCache 보안: FIPS 및 RBAC 매트릭스

보안 계층 기술/표준 목표
인증 LDAP / 액티브 디렉토리 ID 관리를 중앙 집중화하고 기존 엔터프라이즈 도메인 컨트롤러를 기준으로 사용자 ID를 확인합니다.
권한 부여 RBAC(관리자 vs. 사용자) 특정 권한을 가진 역할에만 관리 작업을 허용함으로써 최소 권한 원칙을 시행합니다.
데이터 개인 정보 AES-256 / FIPS 140-2 NIST에서 권장하는 암호화 표준을 사용하여 저장, 메모리 및 전송 중인 데이터의 기밀성을 보장합니다.
네트워크 무결성 TLS 1.3 / mTLS 종단 간 암호화를 제공하며, 상호 TLS는 중간자 공격(MITM)을 방지하고 양방향 인증을 보장합니다.
관리 액세스 HTTPS / TLS 확보합니다 NCache 암호화된 관리자 통신 기능을 갖춘 관리 센터(Windows 및 Linux).

다음에 무엇을할지?

자주 묻는 질문 (FAQ)

예. NCache 정부 기관 및 규제가 엄격한 산업 분야의 조직에 필수적인 AES-FIPS(연방 정보 처리 표준)를 지원합니다. 이를 통해 분산 캐시의 모든 데이터가 엄격한 연방 보안 요구 사항을 충족합니다.

NCache 클라이언트 애플리케이션 프로세스 내에서 데이터 암호화 및 복호화를 수행합니다. 데이터를 네트워크를 통해 전송하기 전에 암호화함으로써, NCache 암호화된 텍스트만 네트워크를 통해 전송되고 캐시에 저장되도록 보장합니다. 이는 캐시 서버의 처리 부하를 줄이고 제로 트러스트 환경을 유지하는 데 도움이 됩니다.

전혀. NCache 이 솔루션은 네이티브 LDAP 통합을 제공하여 기존 Microsoft Active Directory 또는 기타 LDAP 지원 디렉터리 서비스를 중앙 집중식 인증에 사용할 수 있도록 합니다. 이를 통해 조직의 기존 ID 인프라를 활용하여 사용자 관리를 간소화할 수 있습니다.

일반 TLS는 클라이언트가 서버의 신원을 확인하는 서버 측 인증을 제공합니다. 상호 TLS(mTLS)는 클라이언트도 인증서를 제공하도록 요구함으로써 보안을 한층 강화하여, 데이터 교환 전에 연결의 양쪽 끝이 모두 검증되도록 합니다.

예. NCache 이 시스템은 역할 기반 접근 제어(RBAC) 모델을 사용하며, 두 가지 주요 레벨로 구성됩니다. 첫 번째는 클러스터 관리 권한을 모두 가진 노드 관리자이고, 두 번째는 "최소 권한 원칙"에 따라 기본 데이터 API 작업(추가, 가져오기, 삭제)만 수행할 수 있도록 제한된 캐시 사용자입니다.

문의하기

전화

+1 214-619-2601 (미국)

© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.