PHP cifrar y descifrar con certificado

1

Estoy tratando de pensar en la mejor manera de cifrar y descifrar un mensaje entre dos servidores. He encontrado muchos ejemplos en los que la gente simplemente usa un mcrypt secreto y de PHP ...

enlace

Pero estoy pensando en utilizar certificados en su lugar.

enlace

¿Me equivoco al suponer que sería más seguro? ¿O es más o menos el mismo trato? Con los certificados que necesita para obtener la clave privada en el extremo de recepción ... con la versión de cadena necesita algún acceso al código en uno de los dos extremos para obtener una retención de este.

¿Y cómo sería más seguro usar el criptograma utilizando certificados? Como crear un RSA de 2048 bits.

Gracias.

    
pregunta Ronnie Jespersen 06.03.2014 - 11:39
fuente

2 respuestas

2

En términos generales, el cifrado asimétrico es más seguro que simétrico porque el extremo remoto solo puede descifrar datos, sin posibilidad de cifrado. La clave solo es útil para descifrar, el servidor se encripta con una clave diferente no publicada.

En mi opinión, incluso con certificados autofirmados, la seguridad se ha mejorado en comparación con las soluciones de cifrado simétricas. Ve por ello.

    
respondido por el Ghigo 06.03.2014 - 14:07
fuente
2

Si está tratando de proteger los datos en tránsito entre dos servidores, simplemente use certificados SSL / TLS en lugar de lanzar un nuevo esquema de cifrado. Tenga en cuenta que SSL / TLS técnicamente también utiliza cifrado simétrico, pero las claves de sesión compartidas se cifran con claves asimétricas durante el intercambio inicial (de ahí la necesidad de certificados).

Uno de los enormes beneficios de SSL / TLS es que también garantiza la autenticación y la integridad de los datos, no solo el cifrado; Dependiendo de la elección del conjunto de cifrado, también puede garantizar el secreto hacia adelante (de modo que un atacante que obtiene las claves privadas en el futuro no puede descifrar mensajes pasados). Por ejemplo, si usa mcrypt en modo AES-CBC sin autenticación de mensajes, está abierto a ataques de maleabilidad similares a enlace . Y si de todas formas no estableció el secreto compartido a través de un canal protegido por SSL / TLS o no utiliza otros medios de autenticación, es vulnerable a un ataque MITM.

SSL / TLS es la forma de cifrado más utilizada para la comunicación servidor-servidor o cliente-servidor, y como tal, sus promesas de seguridad (y dificultades) están bien documentadas. No estoy familiarizado con PHP, pero parece que esto hace todo lo que necesita: enlace .

    
respondido por el Yan Z 06.04.2014 - 08:15
fuente

Lea otras preguntas en las etiquetas