Mitigating Information Exposure to Cheaters in Real-Time Strategy Games Chris Chambers Wu-chang Feng Wu-chi Feng Portland State University Debanjan Saha.

Slides:



Advertisements
Similar presentations
Key Management. Shared Key Exchange Problem How do Alice and Bob exchange a shared secret? Offline – Doesnt scale Using public key cryptography (possible)
Advertisements

Secure Multiparty Computations on Bitcoin
Last Class: The Problem BobAlice Eve Private Message Eavesdropping.
Cheat-Proof Playout for Centralized and Distributed Online Games IEEE InfoCom’01 Paper by Nathaniel E. Baughman and Brian Neil Levine CPSC 538A Presentation:
Cheat-Proof Playout for Centralized and Distributed Online Games By Nathaniel Baughman and Brian Levine (danny perry)
Comp763: Modern Computer Games Cheat-Proof Playout for Centralized and Distributed Online Games Nathaniel E. BaughmanBrian Neil Levine Irwin Chiu Hau Computer.
Digital Signatures and Hash Functions. Digital Signatures.
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
Payment Systems 1. Electronic Payment Schemes Schemes for electronic payment are multi-party protocols Payment instrument modeled by electronic coin that.
 Public key (asymmetric) cryptography o Modular exponentiation for encryption/decryption  Efficient algorithms for this o Attacker needs to factor large.
CS426Fall 2010/Lecture 351 Computer Security CS 426 Lecture 35 Commitment & Zero Knowledge Proofs.
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.
M ERCURY : A Scalable Publish-Subscribe System for Internet Games Ashwin R. Bharambe, Sanjay Rao & Srinivasan Seshan Carnegie Mellon University.
CNS2010handout 10 :: digital signatures1 computer and network security matt barrie.
ECOMMERCE TECHNOLOGY SUMMER 2002 COPYRIGHT © 2002 MICHAEL I. SHAMOS Cryptographic Security.
Proactive Secure Mobile Digital Signatures Work in progress. Ivan Damgård and Gert Læssøe Mikkelsen University of Aarhus.
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
Mar 5, 2002Mårten Trolin1 Previous lecture More on hash functions Digital signatures Message Authentication Codes Padding.
ITIS 6200/8200. time-stamping services Difficult to verify the creation date and accurate contents of a digital file Required properties of time-stamping.
Chapter 9 Cryptographic Protocol Cryptography-Principles and Practice Harbin Institute of Technology School of Computer Science and Technology Zhijun Li.
Key Distribution CS 470 Introduction to Applied Cryptography
Cramer-Shoup is Plaintext Aware in the Standard Model Alexander W. Dent Information Security Group Royal Holloway, University of London.
E- Business Digital Signature Varna Free University Prof. Teodora Bakardjieva.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Security using Encryption Security Features Message Origin Authentication - verifying that the sender is who he or she says they are Content Integrity.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
Pretty Good Privacy by Philip Zimmerman presented by: Chris Ward.
CS555Topic 211 Cryptography CS 555 Topic 21: Digital Schemes (1)
AQA Computing A2 © Nelson Thornes 2009 Section Unit 3 Section 6.4: Internet Security Digital Signatures and Certificates.
8-1Network Security Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Message integrity, authentication.
What Can Games Learn From Security Research? Wu-chang Feng.
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.
Chapter 4: Intermediate Protocols
Cryptography, Authentication and Digital Signatures
Security Protocols and E-commerce University of Palestine Eng. Wisam Zaqoot April 2010 ITSS 4201 Internet Insurance and Information Hiding.
Fall 2004/Lecture 201 Cryptography CS 555 Lecture 20-b Zero-Knowledge Proof.
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
Introduction to Modern Cryptography Sharif University Spring 2015 Data and Network Security Lab Sharif University of Technology Department of Computer.
Network Security7-1 CIS3360: Chapter 8: Cryptography Application of Public Cryptography Cliff Zou Spring 2012 TexPoint fonts used in EMF. Read the TexPoint.
1 Cryptography NOTES. 2 Secret Key Cryptography Single key used to encrypt and decrypt. Key must be known by both parties. Assuming we live in a hostile.
CSCI 172/283 Fall 2010 Hash Functions, HMACs, and Digital Signatures.
11-Basic Cryptography Dr. John P. Abraham Professor UTPA.
Cryptography (2) University of Palestine Eng. Wisam Zaqoot April 2010 ITSS 4201 Internet Insurance and Information Hiding.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
The TAOS Authentication System: Reasoning Formally About Security Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
Lecture 16: Security CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9.
8-1 Chapter 8 Security Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 part 2: Message integrity.
Digital Signatures, Message Digest and Authentication Week-9.
Cryptography: Digital Signatures Message Digests Authentication
Patch Scheduling for On-line Games Chris Chambers Wu-chang Feng Portland State University.
Software Security Seminar - 1 Chapter 4. Intermediate Protocols 발표자 : 이장원 Applied Cryptography.
Warship C++: An entity of Battleship
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Introduction to Network Systems Security Mort Anvari.
Lecture 22 Network Security (cont) CPE 401 / 601 Computer Network Systems slides are modified from Dave Hollinger slides are modified from Jim Kurose,
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Bit Commitment, Fair Coin Flips, and One-Way Accumulators Matt Ashoff 11/9/2004 Cryptographic Protocols.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
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.
Unit 3 Section 6.4: Internet Security
Computer Communication & Networks
Information Security message M one-way hash fingerprint f = H(M)
Cryptographic Hash Function
Topic 14: Random Oracle Model, Hashing Applications
Information Security message M one-way hash fingerprint f = H(M)
Information Security message M one-way hash fingerprint f = H(M)
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
CDK: Chapter 7 TvS: Chapter 9
Presentation transcript:

Mitigating Information Exposure to Cheaters in Real-Time Strategy Games Chris Chambers Wu-chang Feng Wu-chi Feng Portland State University Debanjan Saha IBM Research

Outline Background Detecting cheating in Battleship Cheat detection for RTS Evaluation  Information hidden  Bandwidth cost

Background: On-line games Are popular Are cheat-filled Cheating is detrimental to popularity and fun RTS games  Players command virtual armies  Peer-to-peer architecture  Most common cheat: maphacks

Warcraft 3 RTS interface

Related work Baghman, Levine, “Cheat-proof playout for centralized and decentralized online games”  INFOCOM 2001  University of Massachusetts  Cool zero-knowledge proof for if two entities share the same location  Scales exponentially with # of units Buro, “ORTS: A Hack-free RTS Game Environment”  International Computers and Games Conference, 2002  University of Alberta  Proposes client/server RTS architecture

Detecting Battleship cheats Familiar turn-based game When played peer-to-peer, exhibits similar problems to RTS games Fix battleship, then fix RTS games

Battleship Conundrum A knows B’s location 12. A fires and hits3. A cheats, A wins Shoot(1,2) Shoot(2,2) Shoot(3,2) A doesn’t know B’s loc 12. A fires, B lies3. B cheats, A loses Shoot() hit miss Shoot() miss “Just lucky I guess” “Just unlucky I guess”

Securing Battleship Pre-game  Exchange hashes of ship location, secret  Commits players to a specific location without revealing it (bit commitment) In-game  Each move, send (and receive) shot coordinates, and whether opponent’s last shot hit or missed  Opponents can lie about hits/misses here Post-game  Exchange secrets and initial ship location  Verify opponent’s integrity by checking all the evidence of shots vs. replies

Battleship  RTS games Battleship only has one secret per player per ship RTS games use the fog of war rule RTS games have hundreds of secrets, and they change moment to moment  Unit type  Unit placement RTS games are balanced like rock, paper, scissors… knowing opponent’s secrets, it’s easy to win

RTS Secrets Yellow shouldn’t see these enemies Yellow should see these enemies Yellow unit, and its vision radius

RTS Secrets Current RTS network protocol is to exchange mouse clicks and each simulate the other’s game PRO: no one can lie about what units they have CON: each player knows the other player’s mouse clicks! Just like Battleship

Hiding RTS Secrets Key idea: You know opponent’s view  If ( ) is in oppView, send  Else send Hash(,secret) 1. myUnitsViewable 2. or h(,s) 3. myView 1. myUnitsViewable 2. or h(,s) 3. myView

Cheat Detection Protocol Pre-game  Create your secret s  Generate initial game state igs, send h(s,igs) In-game  Each time slice, send (and receive) Your viewable area Either your move m, or, if it’s invisible to him, h(s,m) If one of your units just entered his area, send that unit Post-game  Exchange your secret, initial conditions, and all hidden moves throughout the game  Verify opponent’s integrity by simulating the game rapidly with the (now known) hidden moves

Issues Not all information is concealed  Old way: nothing concealed  New way: know viewable areas  How much information is concealed? Increased network requirements  Old way: bandwidth = number of clicks  New way: bandwidth = ???

Quantifying Information Concealment One general measure of information: Shannon’s uncertainty where x is a random variable with n possible values and p(x) is the probability distribution of x Peak uncertainty (1): values are equally likely Minimum uncertainty (0): values are predicted perfectly

Quantifying Information Concealment Experiment method:  Scatter points randomly on a grid  Calculate uncertainty (small)  Create viewable areas from points  Calculate uncertainty  Graph difference Experiment 1: vary number of units (radius fixed proportional to RTS) Experiment 2: vary radius of units (units fixed proportional to RTS)

Uncertainty Gain

Bandwidth RTS games are really turn-based at a ms level, but often the turns are empty Need a bandwidth model that scales down to ms but allows for empty moves Terms: vr = viewable region n = new units s = signaturer = time interval to update vr sm = secured moves

Estimating Bandwidth Viewable area  Game state: 11,000 x 11,000 positions  Mini-map in Warcraft: 175 x 175 pixels  gives reasonable representation of viewable area  Assume 200ms for r Warcraft allows max 100 units/player  Assume half of units sent each timeslice Number of moves  Depends on click-speed  Fast players peak at 5 moves / second Maximum bandwidth: ~2-3 kilobytes/second How does this compare to real games?

Units in a real game over time Replay from a single Warcraft 3 game

Size of mini-map Replay from a single Warcraft 3 game

Summary Scheme addresses a key RTS cheat Decreases information exposed Bandwidth seems reasonable Future work  Evaluate scheme vs. game traces  Make a library of game traces, viewable areas

End of talk Questions?

Non-repudiation How to prove cheating to a 3 rd party?  Need more cryptography: message signatures Digest each message and encrypt the digest with private key 3 rd parties digest each message and compare with decrypted digest  Ideally public keys for this stored at game’s authentication server

Bit Commitment Example: Fair coin flip Each party…  Comes up with a secret key  Encrypts “heads” or “tails”  Exchanges encrypted messages  Exchange secret keys  Whoever was the “flipper” wins if answers differ, loses if they’re the same Needs fixing if you want to show the result to someone else: non-repudiation

Background: non-repudiation Properties  N-r messages cannot be forged  Everyone can verify the author of an n-r message The trick: signatures  Requires player I to have public key pub i and private key priv i  Given message X, compute h(X), a cryptographic hash of X  The signed version of X is (X,priv i (h(X))): X appended with an encrypted version of h(X).  Everyone can verify the author of the message Decrypt the signature using the public key Perform the hash on X. Out pops h(X)  Why can’t they be forged?

Another metric: Information loss Uncertainty very generic We can quantify information loss: percentage of data deleted Example  Quantizing a large map into a 2x2 grid  Any more units than 4 are lost Scheme has two sources of information loss:  Quantization  Overlapping viewable areas

Information loss Quantization  Scatter p points  Downsample  Count number of points p’, compute the ratio p’/p Overlap  Scatter points  Expand viewable areas  Calculate overlapped area as “lost”

Information loss

Information loss conclusions Information loss modest: 12% for 6 units Expect trace-driven data to show more loss: units are clustered often in game play

Applicability outside of RTS Apps that are…  Peer-to-peer (ie, too resource consumptive to host client-server)  Tolerant of extra bandwidth requirements Example:  Board games  Card games

Don’t have to send all units Blue doesn’t send these units (they’re not visible) Blue doesn’t send these units (they’re already known about by yellow) Blue only has to send these units