Queryable Encryption
Campos cifrados en el cliente que puedes consultar sin que el servidor vea los valores.
TeselaDB implementa la parte del servidor de Queryable Encryption y de Client-Side Field Level Encryption (CSFLE) de MongoDB. Tu driver cifra y descifra los campos en el cliente; el servidor guarda los valores cifrados y responde consultas de igualdad, rango y texto sobre ellos sin ver nunca el valor en claro.
Cómo se usa
Igual que con MongoDB: configuras el driver con autoEncryption, tu proveedor de claves (KMS) y el mapa de campos
cifrados. No cambia nada en el servidor.
const client = new MongoClient(uri, {
autoEncryption: {
keyVaultNamespace: "encryption.__keyVault",
kmsProviders: { local: { key: claveMaestraLocal } },
encryptedFieldsMap: {
"clinica.pacientes": {
fields: [{ path: "dni", bsonType: "string", queries: { queryType: "equality" } }],
},
},
},
});Lo que hace el servidor
Mantiene las colecciones de metadatos de Queryable Encryption, resuelve las consultas sobre las etiquetas cifradas y
hace cumplir los esquemas de CSFLE. Los tipos de consulta marcados como obsoletos en MongoDB 9.0 (*Preview) no se
implementan.