Il lavoro
Una slot machine è un'affermazione sulla probabilità che non puoi ispezionare. I rulli sono immagini; l'esito è deciso dal codice su un chip, e nessun giocatore ha mai potuto leggere quel chip. Quindi l'industria ha costruito una catena di fiducia al posto di una prova: il produttore scrive il software, il personale tecnico di un regolatore statale lo esamina, e il programma certificato viene scritto su un chip e sigillato nel cabinet. Tutto ciò che accade dopo dipende dall'esame.
Ronald Dale Harris lavorava a quell'esame. Era un ingegnere informatico presso la Nevada Gaming Control Board all'inizio degli anni '90, responsabile della ricerca di difetti e dispositivi di frode nel software che gestisce i giochi da casinò computerizzati. Il successivo fascicolo di esclusione del New Jersey lo descrive chiaramente come un ingegnere specializzato nel rilevamento di software e dispositivi progettati per barare al gioco delle slot machine. Aveva il codice sorgente, gli strumenti e lo status di colui che aveva la firma di approvazione.
Co-cospiratore Ronald D. Harris è un ingegnere specializzato nel rilevamento di software e dispositivi progettati per barare al gioco delle slot machine. Divisione dei giochi d'azzardo del New Jersey, ordine di esclusione per Reid E. McNeal, pratica 95-0240-EL
Due schemi, e solo uno di loro era manomissione
Quello che Harris gestiva non era una sola truffa ma due, e la seconda è molto più interessante della prima.
La prima era una backdoor. Utilizzando il suo accesso al codice sorgente, modificò certe macchine in modo che inserire monete in una sequenza e un numero specifici attivasse una grande vincita. Dal 1993 al 1995 lui e un complice hanno prelevato migliaia di dollari dai casinò di Las Vegas con questo metodo. È un classico attacco interno: l'uomo che controllava il codice ostile lo stava aggiungendo.
Il secondo schema non toccava nulla. Verso la fine, Harris si rivolse al keno e scrisse un programma che determinava in anticipo quali numeri il generatore di numeri pseudocasuali del gioco avrebbe selezionato. Nessun chip fu alterato. Nessun sigillo fu rotto. La macchina eseguiva esattamente il codice con cui era stata certificata, e produceva esattamente i numeri che quel codice era sempre stato destinato a produrre — che era l'intero problema.
| LA BACKDOOR A SEQUENZA DI MONETE | IL PREDITTORE DI KENO | |
|---|---|---|
| Cosa è cambiato | Il programma sulla macchina | Nulla |
| Cosa un'ispezione avrebbe trovato | Il codice alterato — se qualcuno lo avesse riletto | Nulla da trovare; la macchina era conforme |
| Perché ha funzionato | L'ispettore era l'attaccante | L'output era prevedibile per chiunque conoscesse l'algoritmo |
| La correzione che implica | Non fare affidamento su un solo lettore fidato | Non fare affidamento sul metodo che rimane segreto |
Un generatore pseudocasuale è una funzione deterministica. Alimentalo con lo stesso stato iniziale e produce la stessa sequenza ogni volta, e la sua imprevedibilità per un giocatore è una questione di quello stato e di quell'algoritmo che rimangono sconosciuti. Harris conosceva entrambi. Da fuori il gioco era intatto e onesto; da dove stava lui era una lista stampata.
Atlantic City, gennaio 1995
Lo schema terminò alla gabbia. Il 15 gennaio 1995 Harris e Reid E. McNeal furono accusati di tentato furto mediante inganno, cospirazione e furto informatico, per un tentativo di ottenere un jackpot keno di $100.000 dal Bally's Park Place Casino/Hotel di Atlantic City utilizzando informazioni su software informatico proprietario. L'accusa vale la pena di essere letta attentamente: tentato. Il biglietto non fu mai pagato.
Ciò che lo fermò non fu un controllo tecnico. Quando McNeal presentò il biglietto vincente, i dirigenti del casinò trovarono il suo atteggiamento sospetto e chiamarono gli investigatori del gioco del New Jersey. La matematica era stata battuta; l'uomo che riscuoteva i soldi non aveva provato a essere felice.
| DATA | EVENTO |
|---|---|
| 1993–1995 | Harris e un complice rubano migliaia dai casinò di Las Vegas tramite macchine modificate |
| 15 gennaio 1995 | Harris e McNeal accusati nel New Jersey per il tentativo di jackpot keno da $100.000 |
| 21 giugno 1995 | Il New Jersey emette un ordine di esclusione preliminare contro McNeal (fascicolo 95-0240-EL) |
| 5 novembre 1997 | L'ordine di esclusione del New Jersey diventa definitivo |
Harris è stato condannato a sette anni e rilasciato dopo averne scontati due. È elencato nel libro nero della Nevada Gaming Control Board ed è vietato entrare nei casinò dello stato.
Ciò che il caso in realtà prova
La lezione morale usuale tratta da Harris è che i regolatori hanno bisogno di una verifica migliore. È vero ed è poco. La lezione più grande è strutturale e si applica a ogni sistema di gioco costruito nello stesso modo da allora.
- Un lettore fidato è un singolo punto di guasto. Se la garanzia è "un esperto l'ha esaminato", allora la garanzia è esattamente forte quanto quell'esperto, e fallisce completamente e silenziosamente quando si rivela.
- La segretezza non è una proprietà di sicurezza. Il predittore di keno non ha avuto bisogno di alcuna manomissione. Un sistema la cui correttezza dipende da nessuno che scopra come funziona ha già perso contro chiunque lo faccia — che, in un'industria regolamentata, include un cast di dipendenti, esaminatori e appaltatori in rotazione.
- Il giocatore è fuori dalla prova. Negli anni '90 nessun giocatore poteva verificare nulla. La migliore risposta disponibile a "come faccio a sapere che è corretto?" era un nome su un certificato, che è la risposta che ha fallito qui.
La crittografia aveva già risposto al punto centrale nel diciannovesimo secolo. Il principio di Kerckhoffs sostiene che un sistema dovrebbe rimanere sicuro anche quando tutto del suo design è pubblico, e che l'unica cosa che può essere segreta è una chiave. Un generatore di keno la cui sicurezza riposa sul fatto che il suo algoritmo sia sconosciuto fallisce quel test nel giorno in cui è scritto. Semplicemente non fallisce pubblicamente fino a quando qualcuno come Harris non compare.
Il modello che l'ha sostituito
La correttezza commit-reveal esiste per rimuovere esattamente l'assunzione che Harris ha spezzato. La casa genera un seed del server e pubblica il suo hash prima che tu scommetti — un impegno che non può alterare in seguito. Il tuo seed client proprio è mescolato nel risultato, quindi il risultato dipende da un valore che la casa non ha scelto. Un contatore rende ogni round distinto. Ruota la coppia di seed e il vecchio seed del server viene rivelato, a quel punto ogni round passato può essere ricomputato sulla tua macchina e controllato contro ciò che ti è stato pagato.
Leggi questo contro i due schemi sopra. La porta di servizio fallisce perché il risultato è fissato da un impegno fatto prima della scommessa, quindi nessun percorso di codice può decidere di pagare diversamente una volta che sa cosa hai fatto. Il predittore fallisce perché conoscere l'algoritmo non compra nulla: il seed del server è impegnato e nascosto, il tuo seed client è tuo, e l'intero metodo può essere pubblicato senza indebolirlo. Questo è il punto — l'algoritmo è destinato ad essere pubblico. L'intero walkthrough della verifica di un round richiede circa un minuto, ed è una prova piuttosto che una promessa.
Vale la pena essere precisi su ciò che questo compra e non compra, perché l'eccesso di rivendicazioni qui è una sua propria forma di disonestà. Un draw verificato prova che i numeri non sono stati guidati. Non dice assolutamente nulla se la tabella dei pagamenti è generosa — un gioco che paga la metà del valore corretto verifica perfettamente. Queste sono due domande separate, e solo una tabella dei pagamenti pubblicata risponde alla seconda.
Né il commit-reveal rende un operatore onesto di per sé. Restringe quello che la disonestà può sembrare: la casa può ancora prezzare un gioco male, ma non può più decidere il risultato di un round dopo aver visto la tua scommessa, e non può più fare affidamento sul fatto che tu non possa controllare.
Harris è ricordato come un imbrogliatore, che lo era. È più utile come una prova di un negativo: ha dimostrato, due volte, che un modello di fiducia che riposa sull'integrità e la discrezione degli addetti finirà per incontrare un addetto. La risposta dell'industria è stata continuare ad assumere persone attente. La risposta migliore è stata smettere di averne bisogno.
FAQ
Chi era Ronald Dale Harris?
Un ingegnere informatico impiegato dal Nevada Gaming Control Board all'inizio degli anni '90 il cui lavoro era rilevare software e dispositivi progettati per imbrogliare nel gioco alle slot machine. Ha usato quell'accesso per truccare le macchine lui stesso.
Come ha imbrogliato Ronald Harris alle slot machine?
Ha modificato il software su determinate macchine in modo che l'inserimento di monete in una sequenza e numero specifici innescherebbe un grande pagamento. Tra il 1993 e il 1995 lui e un complice l'hanno usato per prendere migliaia di dollari dai casinò di Las Vegas.
Come è stato scoperto?
Non da un controllo tecnico. Il suo complice Reid McNeal ha cercato di riscuotere un jackpot di keno di $100,000 al Bally's Park Place ad Atlantic City; i dirigenti del casinò hanno trovato il suo comportamento sospetto e hanno avvertito gli investigatori del gioco del New Jersey. Entrambi sono stati accusati il 15 gennaio 1995.
Cosa gli è successo?
È stato condannato a sette anni di carcere e rilasciato dopo averne scontati due. È iscritto nel black book del Nevada Gaming Control Board, che gli vieta l'accesso ai casinò autorizzati dello stato.
L'attacco di predizione del keno potrebbe funzionare contro un gioco provably fair?
Non nello stesso modo. Harris ha sfruttato un generatore il cui output era prevedibile per chi conosceva l'algoritmo e il suo stato. Con il commit-reveal il server seed è impegnato tramite hash prima della scommessa e rivelato dopo, e il tuo client seed entra nel risultato — quindi pubblicare l'algoritmo non costa nulla, e l'esito non può essere cambiato una volta che la tua scommessa è piazzata.
FONTI E RIFERIMENTI
- New Jersey Division of Gaming Enforcement — ordine di esclusione per Reid E. McNeal, docket 95-0240-EL (accuse del 15 gennaio 1995, il tentativo di keno da $100.000 al Bally's Park Place, il ruolo di Harris)
- Ronald Dale Harris — impiego, la modifica della sequenza di monete, il programma keno, arresto e condanna
- Nevada Gaming Control Board — List of Excluded Persons
- Auguste Kerckhoffs, "La cryptographie militaire" (1883) — il principio che un sistema deve rimanere sicuro con tutto pubblico tranne la chiave
I GIOCHI IN QUESTO ARTICOLO