Difference between revisions of "Resume Game"

From Worms Knowledge Base

Jump to: navigation, search
(Added additional info, notes)
Line 2: Line 2:
  
 
Based on [http://feedback.worms2d.info/pages/general/suggestions/72462 original idea] from feedback page.
 
Based on [http://feedback.worms2d.info/pages/general/suggestions/72462 original idea] from feedback page.
 +
 +
The current idea is based on secure communication between players, where each player sends an encrypted code that the receiver will only be able to decrypt later on. This will be used to confirm that players are who they claim to be.
  
 
=== Ideas for resuming online games ===
 
=== Ideas for resuming online games ===
  
To securely resume a game, [http://en.wikipedia.org/wiki/Public-key_cryptography public-key cryptography] is applied. First, each player has a private key and public, which is randomly generated one-time by W:A.
+
To securely resume a game, [http://en.wikipedia.org/wiki/Public-key_cryptography public-key cryptography] is applied. First, each player has a private key and a public key, which is randomly generated one-time by W:A.
 +
 
 +
When the game begins, the player's public keys are shared, so that only the sender and receiver can read the exchanged messages.
  
 
The game is suspended at the end of a turn, when all players agree to do so. The host would type in the command '/suspend' during a turn, and when the turn's completed, the game would pause. All players would need to agree to suspend the game.
 
The game is suspended at the end of a turn, when all players agree to do so. The host would type in the command '/suspend' during a turn, and when the turn's completed, the game would pause. All players would need to agree to suspend the game.
  
The player's public keys are then shared. Each player sends an encrypted message to the other players, each one receiving a unique message. When a game is about to resume, the players return the messages they received to the other players.
+
The players exchange messages with codes, that are encrypted to the receiver, which will be later decrypted. The codes are saved in the replay, with decryption codes.
  
E.g. Players 1-3 exchange public keys, then encrypted messages are sent.
+
When a game is about to resume, the players send a second message, decrypting the first, and the players confirm that they have decrypted the message to the original sender.
 +
 
 +
E.g. An encrypted message was sent to players when game is suspended. The decryption message when game resumes:
 +
* P1 to P2: ANR
 +
* P1 to P3: TXP
 +
* P2 to P1: QCH
 +
* P2 to P3: IZT
 +
* P3 to P1: WGG
 +
* P3 to P2: RLD
 +
 
 +
Which decrypts the original message:
 
* P1 to P2: Code is 527
 
* P1 to P2: Code is 527
 
* P1 to P3: Code is 167
 
* P1 to P3: Code is 167
Line 19: Line 33:
 
* P3 to P2: Code is 954
 
* P3 to P2: Code is 954
  
When resuming, the messages are returned to sender.
+
The messages are returned to sender:
 
* P2 to P1: Your code was 527
 
* P2 to P1: Your code was 527
 
* P3 to P1: Your code was 167
 
* P3 to P1: Your code was 167
Line 27: Line 41:
 
* P2 to P3: Your code was 954
 
* P2 to P3: Your code was 954
  
When the messages are confirmed, the game resumes.
+
When the codes are confirmed, the game resumes.
 +
 
 +
=== Notes ===
 +
 
 +
The addition of an encrypted message between two people, that can only be unlocked when the game resumes, means that third-parties will find it difficult to takeover a player's team without permission, even with the help of other players.
 +
 
 +
It may be possible to work around this, after obtaining the resume codes. A centralised server may be a better option, though this adds a single-point-of-failure to the method.

Revision as of 18:32, 8 December 2008


Based on original idea from feedback page.

The current idea is based on secure communication between players, where each player sends an encrypted code that the receiver will only be able to decrypt later on. This will be used to confirm that players are who they claim to be.

Ideas for resuming online games

To securely resume a game, public-key cryptography is applied. First, each player has a private key and a public key, which is randomly generated one-time by W:A.

When the game begins, the player's public keys are shared, so that only the sender and receiver can read the exchanged messages.

The game is suspended at the end of a turn, when all players agree to do so. The host would type in the command '/suspend' during a turn, and when the turn's completed, the game would pause. All players would need to agree to suspend the game.

The players exchange messages with codes, that are encrypted to the receiver, which will be later decrypted. The codes are saved in the replay, with decryption codes.

When a game is about to resume, the players send a second message, decrypting the first, and the players confirm that they have decrypted the message to the original sender.

E.g. An encrypted message was sent to players when game is suspended. The decryption message when game resumes:

  • P1 to P2: ANR
  • P1 to P3: TXP
  • P2 to P1: QCH
  • P2 to P3: IZT
  • P3 to P1: WGG
  • P3 to P2: RLD

Which decrypts the original message:

  • P1 to P2: Code is 527
  • P1 to P3: Code is 167
  • P2 to P1: Code is 502
  • P2 to P3: Code is 119
  • P3 to P1: Code is 293
  • P3 to P2: Code is 954

The messages are returned to sender:

  • P2 to P1: Your code was 527
  • P3 to P1: Your code was 167
  • P1 to P2: Your code was 502
  • P3 to P2: Your code was 119
  • P1 to P3: Your code was 293
  • P2 to P3: Your code was 954

When the codes are confirmed, the game resumes.

Notes

The addition of an encrypted message between two people, that can only be unlocked when the game resumes, means that third-parties will find it difficult to takeover a player's team without permission, even with the help of other players.

It may be possible to work around this, after obtaining the resume codes. A centralised server may be a better option, though this adds a single-point-of-failure to the method.

Personal tools