I was reading answers in How to split login and game logic when writing servers?. Read that first.
Now, I want to know whenever this method will work and how can it be broken. I think there might be better ways to do this but client-gameserver connection (in my case) will have to start in an unsecure channel. But the connection to the Login Server is secure. And the Game Server has a shared secret with the Login Server. But the connection to the gameserver is insecure.
So what are better ways of doing this? Hashing the IP in there seems to be secure, but I am not sure. Also, this will have to work fast, very fast.
This is authentication only. There is no need for secure channel between gameserver and client.