es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Asegurar la integridad de los datos transmitidos.

Supongamos que se va a implementar una aplicación de software (por ejemplo, un sitio web de IIS) en las computadoras de los clientes. Con fines de licencias y facturación, la aplicación envía periódicamente ciertas estadísticas de uso (por ejemplo, número de entidades administradas) a un servicio central propiedad de la compañía de software. ¿Cuál es la mejor manera de asegurar la integridad de los datos transmitidos (es decir, que un atacante con derechos administrativos en el sistema del cliente no pueda enviar datos falsos al servicio central)?

La forma obvia sería codificar una clave privada en el código de la aplicación para firmar los datos, y ofuscar el código. Esto garantizaría la integridad siempre y cuando la clave no se desofusque. Pero, ¿podemos hacer algo mejor que la seguridad por oscuridad?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, podemos utilizar la criptografía de clave pública para mejorar la seguridad de los datos transmitidos. La empresa de software puede generar un par de claves pública y privada, mantener la clave privada segura en sus servidores y distribuir la clave pública con la aplicación. Cada vez que la aplicación envía estadísticas de uso, puede cifrar los datos con la clave pública antes de la transmisión. Esto garantiza que solo la empresa de software, que tiene la clave privada correspondiente, puede descifrar y verificar la integridad de los datos.

    Además, la empresa de software puede implementar una firma digital en los datos usando su clave privada. Esta firma puede ser verificada por el servicio central para garantizar que los datos fueron enviados por la aplicación legítima y que no han sido modificados durante la transmisión. Esto proporciona una capa adicional de seguridad y garantiza que un atacante con derechos administrativos en el sistema del cliente no pueda enviar datos falsos al servicio central.

    También es importante asegurarse de que la comunicación entre la aplicación y el servicio central esté cifrada utilizando protocolos seguros como HTTPS o SSL/TLS para protegerse contra la interceptación o modificación durante el tránsito. En general, el uso de una combinación de criptografía de clave pública, firmas digitales y protocolos de comunicación seguros puede mejorar en gran medida la integridad y seguridad de los datos transmitidos.

Comments are closed.