hi all,
so here is my situation, i made a LAN based poker game with a server a couple of years ago (around 2010, thanks by the way to gamedev.net for advises i got on how to design my server). The Game is running on a desktop client connecting thru normal socket with the server using the boost asio implementation.
Now, the client wants the server to be updated and run it on the internet and provide a web-based client written on HTML5, they dont want flash or silverlight, activex, etc..
The problem is NOT on how the new HTML5 client communicate thru the server but my problem is on the security since the code is fairly readable unless obfuscated (most of my HTML5 games are obfuscated anyway using google javascript compiler).
my concern is on the encryption part on the packets sent and recieved, see an encrypted packet can be disected by sniffing and using the javascript code to look for the decryptor function and presto, the data is now visible!.
1. so how do I protect the data with this?
anyways, the client app only recieves DATA specific to particular user, example his cards and community cards and not everybody's card, The client job is just to render anything recieved and instructed by the server.
2. Do i have anything to be concerned about aside from the one mentioned above? Can the hacker sniffs the connection from other player's socket connection, sniff them and decrypt it using the exposed javascript code ala 'Man in the Middle'. This way he will know what the server sents to other players and cheats on the game?
3. How will i protect the connection of users to prevent cheating? will I use SSL with sockets and SSL on the address of the website itself?
need your advice again,
Thanks.