Secretul datelor pentru Software-ul nostru de Poker
"Când mizele sunt mari, este justificat într-o foarte mare măsură să se asigure implementarea software-ului ţinând cont de securitate şi siguranţă". - Matt Schmid, Cigital, Inc.
Toate comunicaţiile dintre software-ul client instalat pe computerele clienţilor şi serverele noastre sunt codificate. Este important de remarcat că această codificare nu garantează în sine secretul datelor. De exemplu, un site unde cărţile personale ale tuturor jucătorilor sunt transferate fiecăruia, nu este sigur, indiferent de codificare. De aceea am depus mult efort pentru a defini sistemul şi politicile noastre de securitate.
Aspecte privind Securitatea:
Descărcare Software:
Primul punct în care securitatea devine un factor important este atunci când software-ul client este descărcat de pe siteul PokerStars. Trebuie să ne asigurăm că software-ul clientului este descărcat fără modificări. Pentru a îndeplini această cerinţă am introdus următoarele caracteristici în procesul de descărcare:
- Pentru Internet Explorer validitatea executabilului descărcat este verificată de browser folosind cheia noastră şi certificatul Thawte
- Pentru alte browsere folosim cheia 1024-bit RSA şi un certificat de server Thawte pentru a proteja web server-ul nostru HTTPS & descărcarea
Securitatea în timpul jocului:
Avem un număr de caracteristici incorporate pentru a asigura securitatea jocului.
- Software-ul nostru client foloseşte certificatele emise de propria Autoritate de Certificare (CA) pentru a autentifica serverele noastre
- Cheia certificatului nostru CA are o lungime de 1024 bit.
- Software-ul nostru client foloseşte protocolul standard industry SSLv3. Este configurat să folosească RSA pentru autentificare şi generare de chei şi triplu-DES (EDE3, în modul outer-CBC) pentru codificare. Acum folosim cheia 512-bit RSA, care potrivit [1] este suficientă pentru secrete pe termen scurt şi mediu (de până la câţiva ani). În timp ce actualizăm cheile private ale serverului la fiecare trei luni, asigurăm o bună marjă de siguranţă. Folosirea Triple-DES EDE3 pentru codificarea de sesiune este considerată şi mai sigură.
- Niciodată datele secrete, cum ar fi cărţile personale, nu sunt transferate altor jucători.
ÎNŞELĂCIUNEA
Înşelăciunea este o formă de a trişa în care doi sau mai mulţi jucători îşi spun cărţile între ei sau formează o echipă împotriva altor jucători de la aceeaşi masă.
În timp ce pe de o parte este mult mai uşor să se transmită informaţia de la un jucător la altul în jocul online faţă de cel live, pe de altă parte online este mult mai dificil de evitat detectarea eventualelor fraude, deoarece este posibilă examinarea cărţilor tuturor jucătorilor după joc.
Indiferent de gradul de sofisticare al înşelăciunii, trebuie să implice jocul unei mâini într-un mod care ar fi improbabil în absenţa înşelăciunii. Metodele noastre de detectare sunt îndreptate spre surprinderea de pattern-uri de joc neobişnuite, alertând personalul departamentului de securitate, care va face apoi investigaţii manuale. Vom cerceta de asemenea toate raportările jucătorilor asupra posibilelor înşelăciuni.
În cazul în care un jucător este prins că a participat la orice formă de înşelătorie, contul său poate fi închis permanent..
Amestecarea cărţilor
"Oricine foloseşte metode aritmetice pentru a produce cifre la întâmplare este, bineînţeles, într-o stare de păcat." - John von Neumann, 1951
Înţelegem că folosirea unui algoritm de amestecare a cărţilor corect şi impredictibil este un punct critic al software-ului nostru. Pentru a asigura aceasta şi pentru a evita problemele majore descrise în [2], folosim două surse independente de date aleatoare:
- input de la utilizatori, inclusiv rezumate ale mişcărilor mouse-ului şi cronometrarea evenimentelor, colectate din software-ul client
- generatorul de numere aleatoare true hardware, dezvoltat de Intel [3], care foloseşte zgomotul termal ca sursă entropică
Fiecare din aceste surse generează destulă entropie pentru a asigura o amestecare corectă şi impredictibilă a cărţilor.
Aspecte ale Amestecării Cărţilor:
- Un pachet de 52 de cărţi poate fi amestecat în 52! de feluri. 52! este aproximativ 2^225 (mai precis, în 80,658,175,170,943,878,571,660,636,856,404,000,000,000,000,000,000,000,
000,000,000,000 de feluri). Folosim 249 de biţi la întâmplare din ambele surse de entropie (input de la utilizatori şi zgomot termal) pentru a ajunge la o distribuţie statistică regulată şi impredictibilă. - Mai mult, aplicăm reguli conservatoare pentru a asigura gradul cerut de randomizare; de exemplu, dacă inputurile de la utulizatori nu generează cantitatea necesară de entropie, nu pornim următoarea mână până când nu obţinem cantitatea cerută de entropie de la Intel RNG.
- Folosim algoritmul SHA-1 cryptographic hash pentru a amesteca entropiile adunate din ambele surse pentru a furniza un nivel în plus de securitate
- De asemenea menţinem un generator SHA-1-based pseudo-random, pentru a furniza chiar mai multă securitate şi protecţie împotriva atacurilor de date.
- Pentru a transforma fluxul de biţi aleatori în numere aleatoare folosim un algoritm simplu şi de încredere. De exemplu, dacă avem nevoie de un număr la întâmplare între 0-25:
- luăm 5 biţi random şi îi transformăm într-un număr random 0-31
- dacă numărul este mai mare de 25 lăsăm deoparte cei 5 biţi şi reluăm procesul
- Această metodă nu este afectată de erori de operaţii modulare pentru generarea de numere aleatorii care nu sunt 2n, n = 1,2,..
- Pentru a obţine o amestecare oarecare de cărţi, folosim un algoritm simplu şi de încredere:
- prima dată tragem o carte la întâmplare din pachetul de cărţi original (1 din 52) şi îl punem într-un nou pachet - acum pachetul original conţine 51 de cărţi iar cel nou o carte
- apoi extragem o altă carte la întâmplare din pachetul iniţial (1 din 51) şi o punem deasupra în noul pachet - acum pachetul original conţine 50 de cărţi iar cel nou 2 cărţi
- repetăm procesul până când toate cărţile au fost mutate din pachetul original în pachetul nou
- Acest algoritm nu suferă de ”proasta distribuţie a amestecurilor cărţilor” descrisă în [2]
Amestecul cărţilor la PokerStars verificat de Cigital şi BMM International
PokerStars a transmis informaţii despre generatorul de numere aleatoare PokerStars (RNG) către două organizaţii independente. Am cerut acestor două resurse de încredere să conducă o analiză în profunzime a randomizării outputurilor RNG şi a implementării sale în alestecul cărţilor la PokerStars.
Celor două companii le-a fost dat acces nelimitat la codul sursă şi au confirmat randomizarea şi securitatea amestecului cărţilor. Vizitaţi Online Poker Random Number Generator pentru mai multe detalii.
Jocuri Disponibile Prin Software-ul de Poker Securizat PokerStars
Următoarele jocuri de poker şi turnee de poker sunt disponibile prin software-ul de poker securizat PokerStars:
[1] B. Schneier. Applied Cryptography
[2] "Cum am învăţat să înşelăm pokerul online: Un Studiu în Securitatea Software-ului" - http://itmanagement.earthweb.com/entdev/article.php/616221
[3] " Intel Random Number Generator" - http://www.cryptography.com/resources/whitepapers/IntelRNG.pdf




