Cheat-Proof Playout for Centralized and Distributed Online Games By Nathaniel Baughman and Brian Levine (danny perry)

Slides:



Advertisements
Similar presentations
KERBEROS LtCdr Samit Mehra (05IT 6018).
Advertisements

Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
MSS S i Half Reply Other MSSs ACCEPT OR REJECT MH H i NEWTKT REQUESTACK ACKs ART Start ART End AWT Start AWT End.
Akshat Sharma Samarth Shah
A Survey of Key Management for Secure Group Communications Celia Li.
Secure Multiparty Computations on Bitcoin
Networked Gaming Networking Bandwidth Security/Cheating Dynamics.
Cheat-Proof Playout for Centralized and Distributed Online Games IEEE InfoCom’01 Paper by Nathaniel E. Baughman and Brian Neil Levine CPSC 538A Presentation:
Comp763: Modern Computer Games Cheat-Proof Playout for Centralized and Distributed Online Games Nathaniel E. BaughmanBrian Neil Levine Irwin Chiu Hau Computer.
Stopping cheaters since By: Tigran Gasparian.
Cheat-Proofing P2P Online-gaming Albert Lee Spring 2008 Comp 424.
Digital Signatures and Hash Functions. Digital Signatures.
Queensland University of Technology CRICOS No J Mitigating Sandwich Attacks against a Secure Key Management in WSNs for PCS/SCADA Hani Alzaid, DongGook.
1 Supplement III: Security Controls What security services should network systems provide? Confidentiality Access Control Integrity Non-repudiation Authentication.
Nummenmaa & Thanish: Practical Distributed Commit in Modern Environments PDCS’01 PRACTICAL DISTRIBUTED COMMIT IN MODERN ENVIRONMENTS by Jyrki Nummenmaa.
WEP 1 WEP WEP 2 WEP  WEP == Wired Equivalent Privacy  The stated goal of WEP is to make wireless LAN as secure as a wired LAN  According to Tanenbaum:
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
Implementation of a Two-way Authentication Protocol Using Shared Key with Hash CS265 Sec. 2 David Wang.
Kerberos Jean-Anne Fitzpatrick Jennifer English. What is Kerberos? Network authentication protocol Developed at MIT in the mid 1980s Available as open.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 6 Wenbing Zhao Department of Electrical and Computer Engineering.
Feb 25, 2003Mårten Trolin1 Previous lecture More on hash functions Digital signatures Message Authentication Codes Padding.
CSCE 790: Computer Network Security Chin-Tser Huang University of South Carolina.
Secure Poker Post PC project Motivation Games have been pushing computer industry Many people carry gadgets, but hardly a pack of cards. (even during.
COVERT TWO-PARTY COMPUTATION LUIS VON AHN CARNEGIE MELLON UNIVERSITY JOINT WORK WITH NICK HOPPER JOHN LANGFORD.
Fairness in Dead Reckoning Based Distributed Multi-Player Games Sudhir Aggarwal, Hemant Banavar, Sarit Mukherjee, and Sampath Rangarajan presented by Christopher.
Wireless Security In wireless networks. Security and Assurance - Goals Integrity Modified only in acceptable ways Modified only by authorized people Modified.
Wired Equivalent Privacy (WEP)
1 IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies.
Mar 5, 2002Mårten Trolin1 Previous lecture More on hash functions Digital signatures Message Authentication Codes Padding.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering.
EEC 688/788 Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Security Jonathan Calazan December 12, 2005.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms.
E- Business Digital Signature Varna Free University Prof. Teodora Bakardjieva.
Section 461.  ARP  Ghostbusters  Grew up in Lexington, KY  Enjoy stargazing, cycling, and mushroom hunting  Met Mario once (long time ago)
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
An Efficient and Secure Event Signature (EASES) Protocol for Peer-to-Peer Massively Multiplayer Online Games Mo-Che Chan, Shun-Yun Hu and Jehn-Ruey Jiang.
Introduction to Networked Graphics Part 3 of 5: Latency.
Distributed systems – Part 2  Bluetooth 4 Anila Mjeda.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Cryptography, Authentication and Digital Signatures
Fall 2002CS 395: Computer Security1 Chapter 11: Message Authentication and Hash Functions.
Network Security Lecture 23 Presented by: Dr. Munam Ali Shah.
MANETS Justin Champion Room C203, Beacon Building Tel 3292,
WEP Protocol Weaknesses and Vulnerabilities
Kerberos. What is Kerberos? Network authentication protocol Developed at MIT in the mid 1980s Available as open source or in supported commercial software.
Key Management. Given a computer network with n hosts, for each host to be able to communicate with any other host would seem to require as many as n*(n-1)
The TAOS Authentication System: Reasoning Formally About Security Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
MY ONLINE CODE In the last 2 years of digital literacy I have learned the proper ways to act and why to act that way online, I have also learned other.
Computer Science 1 Using Directional Antennas to Prevent Wormhole Attacks Presented by: Juan Du Nov 16, 2005.
1 CMPT 471 Networking II Authentication and Encryption © Janice Regan,
CIS 325: Data Communications1 Chapter Seventeen Network Security.
BY: CHRIS GROVES Privacy in the Voting Booth. Reason for Privacy Voters worry that their vote may be held against them in the future  People shouldn’t.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
Software Security Seminar - 1 Chapter 4. Intermediate Protocols 발표자 : 이장원 Applied Cryptography.
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
A PC Wakes Up A STORY BY VICTOR NORMAN. Once upon a time…  a PC (we’ll call him “H”) is connected to a network and turned on. Aside: The network looks.
Introduction to Network Systems Security Mort Anvari.
CSCE 201 Identification and Authentication Fall 2015.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
KERBEROS SYSTEM Kumar Madugula.
Fall 2006CS 395: Computer Security1 Key Management.
Mutual Exclusion Algorithms. Topics r Defining mutual exclusion r A centralized approach r A distributed approach r An approach assuming an organization.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Software Security Seminar - 1 Chapter 2. Protocol Building Blocks 발표자 : 최두호 Applied Cryptography.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
Cryptographic Hash Function
Diffie/Hellman Key Exchange
Presentation transcript:

Cheat-Proof Playout for Centralized and Distributed Online Games By Nathaniel Baughman and Brian Levine (danny perry)

Game System - Assumptions Grant Cheaters: Read, insert, modify, and block network messages Game software is readable by user - including game state and cryptographic keys Which means security by obscurity won’t work.

Game System - Centralized or Distributed

Common Synchronization Techniques Detrimental Example 1: Dead Reckoning Potential for cheating - “suppress-correct cheat” Example 2: Stop-and-wait Simulations Potential for cheating - “lookahead cheat”

Dead Reckoning- suppress-correct cheat Assume n steps in game simulation allowed to be dead-reckoned before connection is lost What if we drop n-1 packets? Then we have an up to date view of the world, but everyone else has an old view of us Anyone remember their proposed cheat?

Dead Reckoning- suppress-correct cheat Cheat Scenario: Player S chases player A Player S drops n-1 updates Meanwhile A uses dead reckoning to guess, but never REALLY knows where S is. S sends fabricated nth update that places S right behind A

Dead Reckoning- suppress-correct cheat As long as S sends a plausible update every nth step, A cannot differentiate cheating from sluggish link “We can conclude that fair play is indistinguishable from cheating when dead reckoning is used.” (p. 4)

Stop-and-wait Simulations - lookahead cheat Stop-and-wait simulations like AoE Eliminates possibility of “suppress-correct cheat” because there is no dead reckoning However stop-and-wait simulations allow for another kind of cheat Anyone remember this proposed cheat?

Stop-and-wait Simulations - lookahead cheat Wait for everyone to send their updates, then send your update after taking into account their information Scenario: B makes a lethal shot at A A has a cheating agent that sends the decision to raise shields in time (because it looked-ahead)

Solution Version 1.0: Lockstep Protocol Prevents suppress-correct and lookahead cheats Anyone remember what the basic idea was?

Solution Version 1.0: Lockstep Protocol Basic Idea: Turn into 2-step process: First, send hash of your decision Second, once everyone has sent the hash, send the decisions If hash(decisions) == hash_sent then good, else CHEATER! We’ve prevented the proposed cheats, but any Problems?

Solution Version 1.0: Lockstep Protocol Main problem is that we’ve just doubled the communication, and synchronization time since EVERYONE has to send the hash, before EVERYONE sends their decisions. This will slow us down - we’re already battling time for reasonable user experience. Solution: Asynchronous version of Lockstep called “AS”.

AS - Asynchronous Synchronization Basic idea is to restrict interaction of each player to an “aura” or SOI - sphere of influence If our player can’t be interacting with another player, then don’t bother synchronizing game play with them If we can interact (SOIs intersect) then lockstep with them

AS - Basic Algorithm Outline Compute local host’s current state Send hash of it out Process hashes sent by remote hosts Foreach remote_host Accept state of remote hosts (up to current time) Compute potential influence (SOI’s) intersections IF no intersection of SOIs THEN local host is not waiting for remote_host ELSE IF hash(remote_host) accepted THEN local host is not waiting for remote_host ELSE local host is waiting for remote_host IF not waiting for any remote_host send local state

AS Prevents cheating same way lockstep does Prevents suppress-correct cheat because no dead reckoning Prevents lookahead cheat because we get hashes before we get real state (we don’t send our state, until we’ve received hashes from everyone else)

AS - Secret Possessions Can’t really give knowledge of a “secret possession” to opposing players (assumption that they can see any information sent them) Instead we give them a “promise” - basically a hash or encrypted form of the real thing (if encrypted, the key is not known to opposing players) Player then signs the promise and gives it back - to prevent repudiation that the secret was promised.

AS - Secret Possessions Now, a player can have the promise and competing players won’t know he has the secret possession (I guess everyone has a “promise” field or something) The game can be played Afterward, the promise can be verified against the “secret possession” to detect cheating (prevents opponents from cheating, only checks for local player cheating - not preventing it)

AS - MMO’s AS like algorithm can be used for MMO’s One cheating problem with MMO’s is sending position information, or other information, to everyone - “it might affect player strategy” - this would alert of ambushes or the like. We assume the world is divided into regions How do we tell if a player is in the same region without exposing my region (which may warn of an ambush)? Proposed algorithm can do this.

AS - MMO’s - Hidden Positions Player A generates rand Ra and sends B h(Ra) Player B generates rand Rb and sends A h(Rb) Both compute R = Ra XOR Rb (? which means they exchange Ra and Rb as well right ?) A computes z = Ek(x+R), sends z to B B computers w = Ek’(y+R), sends w to A A computes w’ = Ek(w), sends w’ to B B computes z’ = Ek’(z), sends z’ to A A & B have z’ & w’, if z’==w’ then x==y (same region) (because z’=Ek’(Ek(x+R)), w’=Ek(Ek’(y+R)) only difference can be from x and y)

AS - Performance Comparison The reason we switched to AS was mostly due to performance Performance comparison used Xpilot game and 10,18,30, and 37 players Comparison was to see any improvement in frame rendering using AS over lockstep Results showed that AS always kept the ms between frames lower overall

AS - Performance Comparison

Conclusions AS helps prevent two proposed cheats AS performs better than standard lock- step algorithm However, “it is clear dead reckoning will perform better…”(p.8)

Conclusions I appreciated their approach to make the game design resilient to hackers (traditionally just hack back at the hackers) But, they only really addressed a couple of possible cheats - it would have been nice to see more considered They claim it will scale for MMO’s Comments?