Riservatezza dei dati con il nostro software di poker
"Quando la posta in gioco è alta, vale la pena prendere tutte le precauzioni per garantire sicurezza e protezione nell'implementazione del software ". - Matt Schmid, Cigital, Inc.
Tutte le comunicazioni tra i nostri server e il nostro software in esecuzione sui computer client sono crittografate. È importante tenere presente che, a rigor di logica, la crittografia di per sé non garantisce la privacy. Ad esempio, un sito sul quale le carte coperte di ogni giocatore vengono trasferite a tutti non è sicuro a prescindere dalla crittografia. Per questo motivo abbiamo prestato particolare attenzione all'ideazione del nostro sistema e delle nostre politiche di sicurezza.
Principali punti sulla sicurezza:
Download del software:
La sicurezza diventa importante a partire dal momento in cui il software client viene scaricato dal sito di PokerStars. Dobbiamo garantire che il software venga scaricato senza essere modificato. Per soddisfare questo requisito, abbiamo incorporato le seguenti funzioni al processo di download:
- In Internet Explorer la validità dell'eseguibile scaricato viene verificata dal browser stesso tramite la nostra chiave e il nostro certificato Thawte.
- In altri browser usiamo una chiave RSA a 1024 bit e un certificato server Thawte per proteggere il nostro server web HTTPS e il download.
Sicurezza durante il gioco:
Per garantire la sicurezza del gioco disponiamo di una serie di funzioni integrate.
- Il nostro software client usa i certificati rilasciati dalla nostra Certificate Authority (CA) per autenticare i nostri server.
- La chiave del nostro certificato CA ha una lunghezza di 1024 bit.
- Il nostro software client usa il protocollo standard SSLv3. È configurato per usare l'algoritmo RSA per l'autenticazione e la generazione di chiavi, e DES triplo (EDE3, in modalità CBC esterno) per la crittografia. Attualmente usiamo una chiave RSA a 512 bit, che, secondo [1], è sufficiente a garantire una riservatezza a breve e medio termine (per diversi anni). Poiché aggiorniamo le chiavi private del server ogni tre mesi, siamo in grado di garantire un margine di sicurezza adeguato. L'uso della modalità DES triplo - EDE3 per crittografare le sessioni è considerata persino più sicura.
- I dati privati, come le carte coperte, non vengono mai trasferiti agli altri giocatori.
COLLUSIONE
La collusione è un modo di barare in base al quale due o più giocatori si segnalano le proprie carte oppure si mettono d'accordo a scapito degli altri giocatori al tavolo.
Se da una parte è più facile passarsi informazioni giocando a poker online che non in una sala da gioco vera e propria, dall'altra è molto più difficile evitare di essere scoperti poiché le carte di tutti i giocatori possono essere esaminate a fine partita.
Non importa quanto sia sofisticata la collusione, essa implica sempre una mano che in condizioni normali non sarebbe stata giocata in quel modo. I nostri metodi di rilevamento individueranno gli schemi di gioco insoliti e avvertiranno il nostro personale addetto alla sicurezza, che effettuerà un'approfondita indagine. Ascolteremo anche il resoconto di tutti i giocatori sulla collusione sospettata.
Se un giocatore partecipa a qualsiasi forma di collusione e viene scoperto, il suo account verrà chiuso per sempre.
MESCOLATE
"Chi considera l'impiego di metodi aritmetici per produrre cifre a caso è, naturalmente, in colpa." - John von Neumann, 1951
Siamo perfettamente consapevoli che l'uso di un algoritmo giusto e imprevedibile per le mescolate ha un'importanza critica per il nostro software. Per garantire un tale algoritmo ed evitare i grossi problemi descritti in [2], ci serviamo di due fonti indipendenti di dati totalmente casuali:
- input degli utenti, incluso il riassunto dei movimenti del mouse e della temporizzazione degli eventi, raccolto da un software client
- generatore hardware di numeri a caso sviluppato da Intel [3], che utilizza il rumore termico come fonte entropica
Ognuna di queste fonti genera entropia sufficiente per assicurare mescolate giuste e imprevedibili.
Principali punti sulle mescolate:
- Un mazzo di 52 carte può essere mescolato in 52! modi diversi. 52! corrisponde a circa 2^225 (per la precisione, 80.658.175.170.943.878.571.660.636.856.404.000.000.000.000.000.000.000.000.000. 000.000.000 modi). Impieghiamo 249 bit a caso di entrambe le fonti entropiche (input utenti e rumore termico) per ottenere una distribuzione statistica equa e imprevedibile.
- Inoltre, usiamo regole prudenti per imporre il grado di casualità necessario; ad esempio, se l'input utenti non genera la quantità richiesta di entropia, non iniziamo la mano successiva fino a che non otteniamo la quantità necessaria con Intel RNG (Random Number Generator).
- Impieghiamo l'algoritmo di hashing crittografico SHA-1 per mescolare l'entropia accumulata da entrambe le fonti e generare un ulteriore livello di sicurezza.
- Disponiamo anche di un generatore pseudocasuale basato sull'algoritmo SHA-1 per offrire una sicurezza e una protezione ancora più efficaci contro gli attacchi ai dati utenti.
- Per convertire un flusso di bit casuale in numeri casuali entro un determinato intervallo senza distorsioni, ci serviamo di un algoritmo semplice e affidabile. Ad esempio, se abbiamo bisogno di un numero a caso nell'intervallo 0-25:
- prendiamo 5 bit a caso e li convertiamo in un numero a caso compreso nell'intervallo 0-31
- se questo numero è maggiore di 25, scartiamo tutti e 5 i bit e ripetiamo l'operazione
- Questo metodo non è influenzato da distorsioni relative al funzionamento del modulo per la generazione di numeri a caso che non siano 2n, n = 1,2,..
- Per eseguire una mescolata, usiamo un altro algoritmo semplice e affidabile:
- prima peschiamo una carta a caso dal mazzo originale (1 di 52) e la poniamo in un mazzo nuovo; ora il mazzo originale contiene 51 carte e il nuovo una
- quindi peschiamo un'altra carta a caso dal mazzo originale (1 di 51) e la poniamo in cima al nuovo mazzo; ora il mazzo originale contiene 50 carte e il nuovo 2
- ripetiamo l'operazione fino a che tutte le carte sono state spostate dal mazzo originale al nuovo
- Questo algoritmo non risente della "cattiva distribuzione delle mescolate" descritta in [2]
Mescolate PokerStars verificate da Cigital e BMM International
PokerStars ha sottoposto alla verifica di due organizzazioni indipendenti informazioni approfondite sul proprio generatore di numeri a caso (RNG) . Abbiamo chiesto a queste due fonti fidate di effettuare un'analisi approfondita della casualità dell'output dell'RNG, e della sua implementazione nel mescolare le carte su PokerStars.
Entrambe le società indipendenti hanno avuto pieno accesso al codice originale e hanno confermato la casualità e la sicurezza delle nostre mescolate. Per ulteriori informazioni, visita la pagina relativa al generatore di numeri casuali online.
Giochi disponibili tramite il software di poker sicuro su PokerStars
Con il software sicuro di PokerStars disponi dei seguenti giochi e tornei di poker:
[1] B. Schneier. Applied Cryptography
[2] "How We Learned to Cheat at Online Poker: A Study in Software Security" - http://itmanagement.earthweb.com/entdev/article.php/616221
[3] "The Intel Random Number Generator" - http://www.cryptography.com/resources/whitepapers/IntelRNG.pdf



