Sto lavorando con un sistema che utilizza NoSQL (Azure Table Storage) principalmente per ospitare i suoi dati. Sfortunatamente, il lavoro riguarda anche la fatturazione e le cartelle cliniche, il che significa che i dati stessi dovranno essere protetti. Va bene, possiamo fornire l'accesso degli utenti al sistema e crittografare tali dati sul filo e a riposo nel NoSQL.
Il problema deriva dal fatto che vogliamo che i dati siano ricercabili . Non crittografato, non è un problema così tanto - creiamo le chiavi di riga dei campi ricercabili e possiamo fare interrogazioni di intervallo. Crittografato, non funzionerà. Peggio ancora, sembra che qualsiasi tipo di struttura o struttura simile debba essere archiviata senza cifratura, vanificando lo scopo. La memorizzazione di stringhe parziali crittografate renderebbe facile rompere la crittografia poiché si perderebbero informazioni sul testo in chiaro.
Finora, le uniche soluzioni semi-valide che ho incontrato sono 1) smettere di usare NoSQL o 2) leggere l'intero set in memoria e fare la ricerca lì.
Né sono particolarmente elettrizzanti. C'è qualche altro buon approccio per questa confluenza di requisiti?