Tengo una aplicación web que almacena información relacionada con una organización que me gustaría cifrar pero compartir entre los miembros de la organización. Solo me gustaría que los miembros de la organización puedan ver estos datos cifrados, no los administradores del servidor.
Parece que quiero algún tipo de cifrado simétrico. Cada miembro tendría una copia de un secreto maestro encriptado utilizando una contraseña proporcionada por el usuario. Los pasos para obtener acceso a los datos de la organización serían, proporcionar la contraseña del usuario para obtener el secreto maestro, usar el secreto maestro para desbloquear los datos de la organización.
Una de las preocupaciones que tengo es agregar un nuevo miembro a la organización. No veo una manera obvia de permitir que el nuevo miembro cree su versión del secreto maestro cifrado. De algún modo, cuando el nuevo usuario esté creando una nueva cuenta, necesitará el secreto maestro para cifrar, pero no estoy seguro de cómo hacerlo de forma segura.
También es muy probable que esté pensando en todo esto de manera incorrecta, cualquier consejo sería genial. Gracias.