Search Unity

securing a non-authorative server?

Discussion in 'Multiplayer' started by mindlube, Oct 10, 2013.

  1. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
    Hi all, I'm using Photon Server + Unity C# client to build a social multiplayer turn-based game. The server will be non-authorative (to fit my existing game architecture, as well for better scalability)

    Any guidelines or rules for how to secure the non-authorative server? By secure I mean- anything to prevent people from spoofing or rigging the game just by connecting with a photon client and sending forged operation requests?

    One idea I had was to include a SHA checksum in an authentication step before the gameplay starts. The checksum which is generated from some stuff like the device + user + salt.

    That would hopefully make it rather inconvenient to spoof the custom operation requests. However, someone could still decompile the .NET code and learn what it's doing.

    I am aware that non-authorative means that it cannot ever be 100% secure. But there must be different levels of openness?

    Thanks
     
  2. BrUnO-XaVIeR

    BrUnO-XaVIeR

    Joined:
    Dec 6, 2010
    Posts:
    1,687
    Last edited: Oct 10, 2013
  3. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
    OK thanks Bruno, that definitely looks useful. Photon also has an encryption layer. I'll use that for handshake and start of session, and then use your SC class for storing important variables, such as opponent state, or the player's score, then I think it will be extremely frustrating for the average ne're-do-well .