Sin agregar ningún hardware adicional, ¿es posible el cifrado de RAM?
Claro.
Puedes cifrar lo que quieras en la RAM, igual que cifras todo lo demás.
La pregunta más interesante es "dónde están las llaves". También puede dejar las claves en la memoria RAM o entregarlas al sistema operativo, que también las almacenará en la memoria RAM.
Puede aplicar algunas de las técnicas sofisticadas propuestas por Schneier et. Alabama. en Ingeniería de Criptografía , es decir, en una sola vez, cifre la clave de sus datos, almacene la almohadilla en la RAM y descifre los datos solo cuando sea necesario.
Si es así, ¿hay implementaciones conocidas y utilizadas actualmente para sistemas Linux o Windows
Windows ofrece la API de protección de datos (DPAPI) , permitiéndole cifrar los datos usando las credenciales de inicio de sesión del usuario. Sé que al menos algunos administradores de contraseñas (como KeePass ) usan esto para proteger las contraseñas valiosas en la RAM.
Uso de un Trusted Platform Module (TPM; que se vuelve cada vez más popular como Windows ahora requiere ellos) o algún otro hardware dedicado solucionaría el problema mejor descargando la clave a un lugar de confianza en caso de que la RAM esté comprometida.
Sin embargo, hay una solución que se está implementando en este momento: Extensiones de Guardia de Software de Intel (SGX), enviadas con Skylake y CPU más nuevas. Le permiten cargar un programa en su procesador, verificar que su estado sea correcto, de forma remota, y luego proteger su ejecución. La CPU automáticamente cifrará todo lo que salga del procesador (es decir, todo lo que se descarga a la RAM) y, por lo tanto, garantizará la seguridad para usted. El único problema para la implementación masiva es que SGX requiere que usted tenga un código firmado que su procesador acepte, es decir, Intel debe emitirle un certificado para este propósito.