¿Pensamientos sobre el algoritmo de cifrado minúsculo (TEA, alguien)?

1

Planeo implementar Algoritmo de cifrado minúsculo e intercambiar datos entre dos sitios PHP.

Específicamente, usando el código presentado en PHP-einfach.de

¿Alguien tiene alguna experiencia / pensamiento / comentario sobre el uso de este algoritmo? (aparte de por qué lo estás usando)

Antecedentes: es un código que estoy planeando poner en un módulo drupal. el módulo drupal permite a los usuarios autenticados de ese sitio conectarse a mi sitio. Estoy planeando dar apikeys secretos a estos propietarios de sitios drupal. El código en el sitio de drupal cifrará los datos: "userid-commandid-time" con el apikey y mostrará esto como un campo oculto en un formulario. Sus usuarios que envíen ese formulario serán redirigidos a mi sitio con estos datos encriptados. Cuando los obtenga, los descifraré usando mi copia del apikey y verificaré los otros valores de los datos. Se está enviando tiempo para que la solicitud sea válida solo por tiempo limitado.

También, consideré una verdad, pero estamos más adelante en nuestro ciclo de desarrollo y el trabajo está casi terminado. El sistema no tiene que ser 100% seguro, sino que estará expuesto a un conjunto limitado de personas (los usuarios del módulo drupal). solo tiene que ser lo suficientemente razonable para disuadir a la mayoría de los bromistas aspirantes. obtener acceso a la clave y nuestra metodología de cifrado a lo sumo permitiría al pirata informático falsificado (pero limitado) el acceso a nuestro sistema.

    
pregunta siliconpi 21.04.2011 - 12:52
fuente

2 respuestas

9

TEA está criptográficamente roto. A sus sucesores XTEA y XXTEA les va mucho mejor a este respecto. Además, el rendimiento de los algoritmos * TEA no es muy bueno.

El punto positivo de TEA es el pequeño tamaño del código: este es un gran activo en situaciones donde el tamaño del código está restringido, por ejemplo. cuando quiera aprender el código de memoria o cuando el código forme parte de un software que se descarga con frecuencia (por ejemplo, una implementación de Javascript). Esto no se aplica a una implementación de PHP, que permanece en el lado del servidor. Por lo tanto, tiene poco sentido utilizar TEA o XTEA, y mi consejo sería seguir un algoritmo de cifrado más rápido, más seguro y más estándar (es decir, AES, también conocido como Rijndael).

(Además, el cifrado es solo una parte del protocolo de intercambio de datos; también necesita algún tipo de protección de integridad, y está todo el tema de la administración de claves. La recomendación habitual es confiar en un protocolo existente que ya cubra todo lo complicado detalles, primero y ante todo SSL / TLS.)

    
respondido por el Thomas Pornin 21.04.2011 - 14:33
fuente
3

Estoy de acuerdo con la publicación anterior de Thomas Pornin.

También tengo algunos comentarios sobre cómo se realiza el método de autenticación entre sitios. Le recomiendo que haga la autenticación en el lado del servidor. en lugar de dar al usuario la información de autenticación, asigne un valor aleatorio único. Luego, también envíe ese valor al sitio en el que desea que el cliente inicie sesión y pídale que devuelva al usuario que presente ese valor aleatorio.

    
respondido por el KilledKenny 21.04.2011 - 14:50
fuente

Lea otras preguntas en las etiquetas