Estoy buscando permitir que los usuarios de nuestro sitio web carguen sus archivos directamente en el almacenamiento de GCE sin enviar el archivo a nuestro servidor.
Pero queremos que el archivo se cifre primero antes de guardarlo en GCE. El cliente no necesita acceso al archivo ni a la clave de cifrado que generó una vez que se realiza con la carga.
Por lo tanto, en lo que estoy pensando es:
- el cliente (javascript que se ejecuta en el navegador) genera una clave simétrica aleatoria, cifra el archivo y lo carga a GCE
- el cliente envía la clave al servidor y la destruye
Comunicación entre cliente y amp; los servidores están, por supuesto, a través de https.
Preguntas:
- ¿Es seguro este enfoque? Si no, ¿por qué?
- ¿Sería mejor usar un cifrado híbrido? Usar una clave pública para cifrar la clave simétrica recién generada antes de enviarla al servidor. Si es así, ¿cuál es el beneficio?
Corríjame si estoy equivocado, pero preferiría evitar solo el uso de cifrado asimétrico, ya que podemos cifrar archivos bastante grandes y creo que el cifrado asimétrico no funciona bien en ese caso.
Gracias