Mongo DB
The currently used version of the database is 8:
MongoDB v8
Encryption In-Transit
Algorithm: TLS (Transport Layer Security)
-
Supported Versions: TLS 1.2, TLS 1.3
-
Key Lengths:
-
RSA keys: 2048 or 4096 bits
-
ECDSA keys: 256 or 384 bits
-
AES session keys: 128 or 256 bits
-
Scenarios:
-
Secure communication between MongoDB clients and servers.
-
Encrypted data replication between MongoDB instances in a sharded or replica set cluster.
-
Protecting credentials and sensitive data during transmission over public or internal networks.
Encryption At-Rest
Algorithm: AES (Advanced Encryption Standard)
-
Mode: AES-256 in CBC (Cipher Block Chaining) or GCM (Galois/Counter Mode)
-
Key Length: 256 bits
Scenarios:
-
Securing sensitive data stored on disk to prevent unauthorized access if the disk is stolen or compromised.
-
Required in compliance-driven environments, such as those adhering to GDPR, HIPAA, or PCI DSS regulations.
Encryption In-Use (Client-Side Field-Level Encryption)
Algorithm: AES-256
-
Key Length: 256 bits
-
Additional Algorithms:
-
RSA: 2048 or 4096 bits (for envelope encryption in key management)
-
SHA-256 (used as part of HMAC for data integrity)
-
Scenarios:
-
Protecting individual fields (e.g., credit card numbers, social security numbers) while keeping non-sensitive data unencrypted.
-
Enabling zero-trust architectures by ensuring sensitive data is encrypted on the client side before being transmitted to the server.
-
Storing sensitive information in databases while ensuring that MongoDB server administrators or attackers cannot decrypt the data.
Queryable Encryption
Algorithms Used:
-
AES-256: For encrypting fields and search tokens.
-
SHA-256: For generating hash-based tokens.
-
HMAC: Typically 256 bits for cryptographic integrity.
Scenarios:
-
Performing expressive queries (e.g., range queries, equality matches) on encrypted fields without decrypting the data server-side.
-
Searching sensitive data (e.g., employee salaries, medical records) securely without exposing it to database administrators or attackers in plaintext.
Key Management Algorithms
Key Derivation:
-
PBKDF2 (Password-Based Key Derivation Function 2):
-
Key Length: Typically 256 bits
-
-
KMS (Key Management Service):
-
Backed by cloud providers (AWS, Azure, GCP) using AES-256 keys for master key management.
-
Scenarios:
-
Centralized control of encryption keys using cloud-based KMS providers to meet compliance requirements.
-
Rotating encryption keys periodically without disrupting access to encrypted data.
-
Integrating with enterprise-grade key management systems to manage multiple application keys securely.