Estoy creando una solución de intranet para una empresa que utiliza PHP.
Una de sus funcionalidades deseadas es el almacenamiento de nóminas, ausencias e información personal. Necesitan que esto sea accesible para el propio empleado y para la gerencia, pero esta es una compañía de tecnología, con personas con conocimientos de tecnología, por lo que necesitan que sea imposible recuperarse de la base de datos sin la clave privada, incluso con acceso de raíz al servidor
Lo que estoy pensando es usar RSA para generar un par de claves y almacenar la clave pública para cada persona en la base de datos, y luego, cuando un empleado agrega la información, comparte la información con las personas deseadas utilizando su clave pública ( duplicando las filas db para cada persona con acceso). La clave privada podría entonces cifrarse con AES y almacenarse en la base de datos.
- ¿Es esta una buena solución?
- ¿Es posible vincular esto con una función de hash para que puedan usar una contraseña y no toda la clave para descifrar?
- ¿Alguna clase de PHP (con ejemplos?) de la que pueda trabajar?
Cualquier sugerencia o consejo es bienvenido.