El proceso que yo haria seria el siguiente, no soy ningun experto, que
alguien me corrija si me equivoco.

El escenario es un dato que quieres pasar del servidor A al servidor B, por
ejemplo el id del usuario. Usaria un algoritmo RSA, clave publica en el
servidor A y la privada en el servidor B. La pelicula Flash se valida contra
el servidor A, este genera un ticket encriptando el id de usuario y se lo
manda a Flash. Entonces Flash le manda el ticket al servidor B, este lo
desencripta con la clave privada y obtiene el ID. Flash no hace ningun tipo
de encriptacion/desencriptacion, simplemente traslada en mensaje encriptado
de un servidor a otro. El problema que veo aquí es la caducidad de sesion.
Es decir, Flash podria volver a enviar la misma cadena al servidor B en un
momento del futuro y este lo aceptaria como validado, incluso sin haber
pasado antes por el servidor A. En caso de que esto sea un problema podrias
meter en el paquete encriptado tambien un "timestamp" para controlar el
tiempo que ha tardado en ir del A al B, y si a pasado, digamos 5 o 10
minutos, el servidor B no lo aceptaría.

Otra opcion menos segura es producir en Flash un hash (encriptacion no
reversible) usando MD5 o SHA1 con el id del usuario una vez recibido del
servidor A. Entonces enviarlo al servidor B, donde puedes tenerlo asociado
en una base de datos y asi reconocer al usuario. Es mucho más sencillo que
el metodo anterior, pero cualquier persona que decompile el .swf y obtenga
la clave de encriptacion podria generar hashes validos y estarias en las
mismas de antes. Claro que la gente que sabe hacer esto es poca, en
comparacion con los que podrian alterar el dato enviado sin cifrar, claro.

Menuda chapa xD

Clases para encriptar en Flash:
http://www.meychi.com/archive/000021.php
http://www.meychi.com/archive/000031.php

Me suena que hay alguna implementacion mas por ahí, pero no la encuentro...

Un saludo,

Joseba Alonso
www.5dms.com
www.sidedev.net 

----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------

Responder a