Tengo un caso aquí, donde necesito cifrar los mensajes a un equipo / grupo. Todos en el grupo pueden crear un nuevo mensaje, y todos los demás en el grupo pueden leer / editar / eliminar ese mensaje. Quiero las siguientes cosas:
- mensajes cifrados
- Descifrables por todos en un grupo (nadie más puede desbloquearlo)
- Los miembros del grupo pueden leer / editar cada mensaje
- No se pueden reutilizar los mensajes (como almacenar las claves públicas de todos los miembros del equipo y luego cifrar todos los mensajes con su clave pública), ya que eso no funcionaría en este caso
- Es posible agregar un nuevo miembro al grupo y darle a ese miembro acceso a todos los mensajes anteriores
La propiedad principal de esto es la seguridad. No quiero que nadie pueda acceder a los mensajes.
Este es un posible problema: si se elimina toda la base de datos y alguien ya tiene una cuenta en ese sitio, dicho usuario NO debería poder agregarse solo a ese grupo, para mostrar todas las contraseñas almacenadas en ese grupo (como si la persona recrea la aplicación utilizando la base de datos). Los mensajes deberían estar cifrados de alguna manera, para que nadie (ni siquiera con la base de datos en la mano) pueda acceder a los mensajes cifrados.
¿Qué estoy mirando hacer aquí? Es un caso bastante único, creo.