Recientemente se me asignó la tarea de probar un nuevo dispositivo de hardware que se comunica con una API JSON a través de UDP.
Por alguna razón u otra, se decidió utilizar AES-CBC-128 para cifrar el tráfico. Creo que esto fue para evitar que alguien cree su propio software / script que interactúa con esta placa (que es de propiedad exclusiva) al ofuscar la API. La parte responsable de la junta de acuerdo a lo que entiendo se ha adaptado para la repetición y los ataques de intermediarios.
De lo contrario, el cifrado se habilita en la producción, donde podemos configurar la clave de cifrado y el vector inicializado que se está utilizando. En última instancia, la computadora junto con todos los dispositivos conectados se enviarán con el cifrado habilitado para un cliente. Me preocupa que esta metodología signifique que la clave está establecida y nunca se cambia.
Mi plan era almacenar esta clave localmente en un archivo cifrado en el sistema de archivos local. hay algun problema con esto? Como es obvio, no soy un experto en seguridad. La computadora enviada con el producto también estará en una red activa. La falta de autenticación también me preocupa. ¿Será necesaria tal cosa aquí?