veracrypt secure how encrypt bitlocker flash security encryption

secure - ¿Pasar datos no protegidos de la aplicación Flash al servidor?



how secure is bitlocker (5)

¿Puede el código que se ejecuta en la parte superior de una plataforma no confiable mantener su integridad? No, décadas de esquemas de protección de copia rotos me llevan a postular que esto es imposible. El código inverso y malicioso que se ejecuta en un entorno limitado de confianza es factible, pero lo mejor que puedes hacer con tu problema es hacer que no sea conveniente que la gente haga trampa.

Estoy buscando formas seguras de pasar datos entre un cliente que ejecuta Flash y un servidor. Los datos en cuestión serán generados por la aplicación Flash, que en este caso es su puntaje después de terminar un juego. Quiero verificar que los datos no estén moderados en el servidor. ¿Cuáles son algunos buenos métodos para hacer esto?

Una forma simple es realizar algunas operaciones en los datos, como un hash, y pasar el hash al servidor junto con los datos. Esto se rompe fácilmente por alguien con acceso al código fuente del cliente, sin embargo.

Editar : me doy cuenta de que nada será imposible de descifrar, pero quiero que sea lo más difícil posible. La mejor solución es la solución de @ jcnnghm de encriptar datos con una clave pública y opcionalmente hacer verificaciones de cordura y / o volver a calcular con los registros del juego. El cifrado SSL también es una buena idea, ya que hace que sea más difícil descifrar lo que se está enviando al servidor.


Cifre los datos con una clave pública almacenada en el binario. Esto elevará la barrera de entrada para un ataque. Además de eso, la cordura verifica los datos a medida que llegan al servidor. Esto podría ser tan simple como calcular la cantidad máxima de puntos que se podrían ganar de manera realista por unidad de tiempo de juego, o transmitir los registros del juego al servidor para asegurarse de que la puntuación sea correcta.

Nada va a ser totalmente pirateado, no importa lo que hagas, pero esto detendrá todo menos el más decidido.

Actualización: @mark: Flash admite SSL de forma nativa.


Consulte el paquete AS3Crypto en http://code.google.com/p/as3crypto/ . No lo he probado, pero este paquete dice que (parcialmente) admite el protocolo TLS 1.0.

TLS proporcionará un túnel seguro entre su aplicación Flash y el servidor. http://en.wikipedia.org/wiki/Secure_Sockets_Layer

@jcnnghm Normalmente no desea utilizar el cifrado de clave pública (RSA, DSA) para el cifrado de datos masivos debido a su ''gran tiempo de computación. El cifrado de clave pública se debe usar en las fases de establecimiento de contacto y de acuerdo clave en un protocolo de seguridad, pero el cifrado de datos masivos debe manejarse mediante un cifrado simétrico como AES y TDES. Los protocolos TLS y SSL funcionan de esta manera.


Mientras la gente pueda acceder al ejecutable, que, a menos que desee ejecutar el juego en un kiosco cerrado, siempre es el caso, no hay una forma perfectamente segura de hacerlo.

Las industrias de la música y el cine gastaron decenas de millones en DRM que se rompieron en días / semanas por aficionados hogareños. Si no pueden proteger sus cosas ...


Estoy de acuerdo con las respuestas dadas acerca de que nada es a prueba de piratas informáticos. Porque una vez que puedes leerlo, puedes manipularlo / copiarlo y por lo tanto descompilarlo.

Otro enfoque que he estado planeando es generar claves únicas pr. sesión de jugador (incluyendo algo de tiempo / fecha como valores de sal).

Luego, a través de la aplicación, tal vez periódicamente enviando / transmitiendo puntaje de estado y obteniendo una nueva clave válida. Si esta sincronización falla, rompa toda la sesión.

La desventaja de esto podría ser demasiados jugadores simulitanos que reducen la velocidad de respuesta del servidor y, por lo tanto, hacen "tiempos de espera falsos" + dejando el servidor de juegos abierto para ataques DoS.

Pero algo con la renovación de la "clave de sesión" mientras el usuario tiene la sesión requerirá un poco de administración adicional de la sesión, pero si hace que los tramposos trabajen un poco más, lo intentaré: o)

Por otro lado, NADA es a prueba de piratas informáticos, así que no confíe en él al 100%, sin importar qué tan inteligente sea una solución que piense.

Una última nota también sería dividir su aplicación en módulos / niveles, etc. para que no tenga acceso a cada parte del código, simplemente al iniciarlo.

Actualmente mi plan es construir un gran mundo multinivel y el cliente / jugador SÓLO obtendrá los archivos adjuntos a la parte en la que reside el jugador.

Espero que esto sea de alguna utilidad para tus pensamientos.