Tengo un código legado grande. Actualmente utiliza el cifrado 3DES para una aplicación basada en la red. Encripta los paquetes de datos con una clave principal. Esta clave se utiliza para cifrar y descifrar (simétrico). Y para una doble seguridad, estamos cifrando esta clave principal nuevamente con otra clave (esta vez está usando una clave que está codificada en el propio código).
Discúlpeme si no uso oraciones que tengan sentido para usted, ya que soy nuevo en este sector. Solo tengo este código heredado y la forma de usar 3DES no tiene ningún sentido para mí. No es seguro, tenemos una clave codificada en nuestro código y no me gustó la forma en que se usa 3DES aquí. Porque todo se basa en el cifrado simétrico.
Por lo tanto, me dicen que deberíamos usar RSA y ellos me entregan un plan de diseño sobre cómo implementar RSA junto con 3DES. Se les ocurrió este diseño (dijeron que inventaron este diseño y es la única forma de hacerlo):
En el cliente:
- Crear una clave 3DES aleatoria cada vez
- Cifre los datos con esta clave
- Cifre la clave utilizada para 3DES con RSA y prepárela al bloque de datos
En el servidor:
- Descifre los datos incluidos con la clave pública RSA del cliente para obtener la clave 3DES
- Descifre el bloque de datos restante con la clave 3DES
He preguntado por el significado de usar dos algoritmos de cifrado diferentes (RSA y 3DES). Pregunté por qué no solo usamos RSA para todo, en lugar de usar dos algoritmos diferentes y combinarlos.
Dijeron que el cifrado de todos los datos costaría más y es costoso (en términos de rendimiento). Sin embargo, si simplemente ciframos la clave y la añadimos a los datos, no utilizará mucho rendimiento porque esta vez los datos son pequeños (antes de cifrar toda la información, pero esta vez solo ciframos la clave). p>
Ahora, ¿el nuevo enfoque de diseño es la forma correcta de hacer esto? O es una tontería y la mejor manera es implementarla solo RSA. ¿Cuál es la mejor manera de implementar una comunicación de datos segura? ¿O de alguna manera podría arreglar la forma anterior para hacerlo más seguro?