Como prefacio a mi pregunta, permítame decirle que soy un novato en el campo de la seguridad.
Trabajo para un proveedor de software financiero administrativo que se encarga de procesar, generar e intercambiar miles de archivos con cientos de terceros cada día. De acuerdo con nuestras auditorías de seguridad más recientes, esos archivos deben estar encriptados siempre que no estén en uso.
Puedo resolver ese problema simplemente usando el cifrado PGP cuando recibimos / compilamos el archivo, y desencriptándolo cuando necesitamos leerlo / entregarlo.
Con lo que estoy luchando es cómo hacer esto de manera segura, dado que el mismo entorno necesita tanto cifrar como descifrar los archivos. Entiendo la paradoja de lo que estoy tratando de hacer ... Me gustaría que el mismo servidor cifrara y descifrara un archivo, pero no permitiera que un usuario que ingresa a ese servidor haga lo mismo. He contemplado la idea de que un administrador ingrese la contraseña de descifrado al iniciar el servicio, pero eso parece torpe.
¿Necesito otra ruta?
EDITAR:
Este es el escenario exacto que me pregunto ... Me doy cuenta de que es contraintuitivo, pero espero que la comunidad de seguridad sea lo suficientemente brillante como para haber resuelto este problema.
08:15 - El socio comercial entrega un archivo de transacciones para su procesamiento. 08:16 - El archivo se descifra usando el par de llaves asignado a ese socio comercial. 08:17 - Como la ventana de procesamiento por lotes ha caducado, el archivo se cifra hasta que se requiere más tarde. 20:00 - La ventana de procesamiento de lotes está activa, el archivo se descifra y las transacciones se procesan.
Nos preguntamos si hay una manera de que una aplicación maneje todas esas (que ya tenemos) y al mismo tiempo evite que Joe User inicie sesión en el entorno y descifre el archivo en (por ejemplo) 14:03.
La razón por la que me parece contraintuitivo es que si la aplicación / servidor / entorno tiene toda la información necesaria para cifrar y descifrar, parece que cualquier usuario que pueda ingresar al entorno también tendrá acceso a eso. información. Espero que haya alguna forma elegante de hacerlo que pueda evitar ese caso.
¿Tiene sentido?