Tengo un servicio de copia de seguridad (personal) que estoy reescribiendo desde cero para estar seguro.
Actualmente, solo almaceno archivos (y diffs) en AWS S3 sin cifrado. Funciona bien, pero me gustaría asegurarme de que no se puedan filtrar mis datos.
Por el bien de esta discusión, asumo que alguien puede leer los datos del S3. Quiero poder realizar copias de seguridad sin tener que proporcionar una clave / contraseña en el inicio.
Mi plan actual es el siguiente:
Genera un par de claves públicas / privadas. Guarde la clave privada en un lugar seguro (sin escribir en el disco local). Almacenar la clave pública localmente.
Por archivo (o parte del archivo):
- Genere de forma segura una clave simétrica
- Use la clave simétrica para cifrar el archivo
- Cifre la clave simétrica usando la clave pública
- Almacene el IV, la clave simétrica cifrada y los datos del archivo cifrado en S3
¿Tengo razón al suponer que aunque alguien más pueda leer todos los datos del último punto anterior, el hecho de que la clave privada sea necesaria para recuperar la clave simétrica significa que esto es seguro?
¿Me falta algo obvio?