TLS Encryption
While NCache includes a Data Encryption feature, it secures data in memory and during transmission over the network. However, Data Encryption comes with an additional performance cost. On the other hand, Transport Layer Security (TLS) provides a more comprehensive approach to securing data during network transmission, following industry-standard practices.
Although TLS also has a performance impact, it tends to be less resource-intensive than the alternative, i.e., Data Encryption. As such, it is more crucial to NCache operations, which involve data traveling over the network in a variety of ways:
- Between servers and clients
- Between different servers
- Between caches and bridges
In NCache, you can decide what type of communication you want to encrypt, as it travels over the network, using TLS. This choice gives you complete control over your data security. Usually, people encrypt traffic over the public internet, such as Bridge communication for Multi-site Replication. However, for security-sensitive applications, you should probably encrypt traffic between clients and servers and between different servers.
TLS Certificate Considerations
When implementing TLS, certificates are stored in either the Personal or the Trusted Root Certificate Authority Store and are available at both the user and local machine levels.
- Local Machine Level: Accessible to all user accounts and system processes running on the server box (recommended for NCache service access).
- Current User Level: Strictly isolated and restricted to the specific user account under which the process or application is running.
Certificate Validation Requirements
Additionally, these certificates require validation. Server-side certificates must be validated at the client end for TLS, verifying whether the client trusts the certificate issuer authority. If you're using a publicly recognized certificate issuer, you may not need to install the issuer's certificate in the client's Trusted Root Certificate Authority store. However, for self-signed or private certificates, you must ensure that the issuer's certificate is installed in the Trusted Root Certificate Authority store on the client end to avoid any chance of TLS handshake failures.
For mutual TLS between clients and servers, the client must also share its certificate with the server. In this case, the server must trust the client's certificate issuer authority, which the client should place in the server's Trusted Root Certificate Authority store. Similarly, when enabling TLS between servers, the other servers involved in communication must validate each other's certificates.
Certificate Searching Hierarchy
NCache follows a specific order when searching for certificates on the server box:
- Local Machine: Trusted Root
- Local Machine: Personal
- Current User: Trusted Root
- Current User: Personal
Understanding these considerations will ensure your deployment of NCache TLS Encryption goes smoothly.
See Also
Configure Security for Cache Server Nodes
Configure Encryption for Cache