Pokera programmatūras datu konfidencialitāte
„Kad likmes ir augstas, ir vērts iet garāko ceļu un pārliecināties, ka programmatūras konfidencialitāte un drošība ir atbilstošā līmenī” – korporācija Matt Schmid, Cigital.
Visa datu apmaiņa, kas notiek starp klienta programmatūru, kas, ieinstalēta klienta datorā, un serveri, ir šifrēta. Tomēr ir svarīgi saprast, ka šifrēšana vien negarantē konfidencialitāti. Piemēram, vietnes, kurās ziņas par visu spēlētāju aizsegtajām kārtīm tiek sūtītas uz citām spēlēm, nevar nosaukt par drošām, ņemot vērā pat to, ka tiek izmantota šifrēšana. Tieši tādēļ esam pielikuši ļoti daudz pūļu, izstrādājot drošības sistēmu un politiku.
Galvenie drošības pasākumi:
Programmatūras lejupielāde:
Pirmais etaps, kur drošība kļūst par nozīmīgu faktoru, ir klientu programmatūras lejupielāde no PokerStars vietnes. Mums jāgarantē tas, ka ļaundari nav mainījuši lejupielādēto klientu programmatūru. Lai šo prasību īstenotu, lejupielādes procesā esam veikuši šādus pasākumus:
- Lietojot Internet Explorer, lejupielādētā faila uzticamība tiek pārbaudīta ar pārlūkprogrammu, kas izmanto mūsu atslēgu un Thawte sertifikātu.
- Lietojot citas tīkla pārlūkprogrammas, mēs izmantojam 1024-bit RSA atslēgu un Thawte servera sertifikātu, lai pasargātu mūsu HTTPS tīkla serveri un lejupielādi.
Drošības nodrošināšana spēles laikā:
Spēles drošība tiek nodrošināta ar klientu programmatūrā iebūvētu funkciju palīdzību.
- Mūsu klientu programmatūra izmanto tos sertifikātus, kurus ir izsniedzis mūsu sertifikācijas centrs, lai pārbaudītu mūsu servera autentiskumu.
- Mūsu sertifikātu atslēga ir 1024 bitus gara.
- Mūsu klientu programmatūra izmanto SSLv3 protokolu. Programmatūra ir konfigurēta tā, lai autentifikācijas un ģenerēšanas atslēgas pārbaudei izmantotu RSA algoritmu, un datu šifrēšanai - triple-DES algoritmu (EDE3, ārējā-CBC režīmā). Šobrīd izmantojam 512 bitu RSA atslēgu, kas saskaņā ar [1], ir piemērota īstermiņa un vidēja termiņa (līdz pat vairākiem gadiem) datu glabāšanai slepenībā. Atslēgas maiņa reizi trijos mēnešos sniedz Jums augstu drošības līmeni. Taču Triple-DES EDE3 algoritma izmantošana sesiju šifrēšanai tiek uzskatīta pat par vēl drošāku.
- Informācija par personiskajiem datiem, piemēram, aizsegtajām kārtīm, netiek nodota citiem spēlētājiem.
VIENOŠANĀS
Vienošanās ir krāpšanās veids, kad divi vai vairāki spēlētāji jebkādā veidā paziņo viens otram par savām kombinācijām vai kā citādi izveido krāpniecisku savienību, lai radītu zaudējumus citiem pie šī galda esošiem spēlētājiem.
No vienas puses, spēlējot tiešsaistē, spēlētājiem, kuri ir vienojušies apmainīties ar informāciju, ir vienkāršāk nekā spēlētājiem, kas atrodas spēļu zālē, taču no otras puses, viņiem ir daudz grūtāk izvairīties no atmaskošanas, jo pēc spēles visas spēlētāju kārtis var tikt pārbaudītas.
Nav nozīmes tam, cik smalki izstrādāta ir šī vienošanās, jo tai ir jāietver kāršu izspēle, kas tiktu izspēlēta citādāk, ja vienošanās nebūtu. Mūsu noteikšanas metodes ir vērstas uz to, lai ievērotu neparastus gājienus un pēc tam paziņotu drošības dienestam, kas veiks rūpīgu izmeklēšanu. Mēs arī izmeklēsim visu spēlētāju ziņojumus par aizdomām uz slepenu vienošanos. Ja tiks atklāts, ka kāds spēlētājs ir piedalījies jebkāda veida vienošanās procesā, viņa konts var tikt slēgts pavisam.
KĀRŠU JAUKŠANA
„Visi, kuri pārzina aritmētiskās gadījumskaitļu ģenerēšanas metodes, bez šaubām, pārkāpj noteikumus” – Džons fon Ņūmens, 1951. g.
Mēs apzināmies, ka godīga un neparedzama kāršu maisīšanas algoritma izmantošana mūsu programmatūrā ir īpaši nepieciešama. Tieši tādēļ, lai izvairītos no problēmām, kas aprakstītas avotā [2], mēs izmantojam divus neatkarīgus patiesu gadījumdatu avotus:
- no lietotāja saņemtie dati, kā arī dati par peles kustībām un dažādu darbību veikšanas laiku, ko mēs saņemam no klientu programmatūras
- īsts aparatūras gadījumskaitļu ģenerators, ko izstrādājis uzņēmums Intel [3], izmanto siltuma troksni kā entropijas avotu
Katrs no šiem avotiem pats ģenerē pietiekamu nejaušību, kas garantē kāršu jaukšanas godīgumu un neparedzamību.
Galvenās ziņas par kāršu jaukšanu:
- 52 kāršu komplekts var tikt sajaukts 52! veidos! (faktoriāls no 52). 52! ir apmēram 2225 (precīzāk 80,658,175,170,943,878,571,660,636,856,404,000,000,000,000,000,000,000,000,000, 000,000,000 veidi). Mēs izmantojam 249 dažādus bitus no abiem entropijas avotiem (no lietotāja saņemtie dati un siltuma traucējumi), lai varētu sasniegt vienmērīgu un neparedzamu statistisko sadalījumu.
- Turklāt, nepieciešamā gadījuma līmeņa nodrošināšanai, mēs piemērojam noturīgus noteikumus. Piemēram, ja lietotāja saņemtie dati neģenerē nepieciešamo entropijas daudzumu, mēs nesākam nākamo kāršu izspēli līdz brīdim, kamēr no gadījumskaitļu ģeneratora Intel nesaņemsim nepieciešamo gadījuma līmeni.
- Mēs izmantojam SHA-1 datu šifrēšanas algoritmu, lai sajauktu no abiem avotiem iegūto entropiju, kas sniegs īpaši augstu drošības līmeni.
- Mēs arī izmantojam pseido gadījumskaitļu ģeneratoru, kas balstīts uz SHA-1 algoritmu, lai vēl vairāk pasargātu lietotāju datus no uzbrukumiem.
- Lai konvertētu gadījuma bitu virkni gadījumskaitļos noteiktajā posmā, mēs izmantojam vienkāršu un uzticamu algoritmu. Piemēram, ja mums ir nepieciešams gadījumskaitlis robežās no 0 līdz 25:
- mēs izvēlamies 5 gadījuma bitus un konvertējam tos gadījumskaitļos no 0 līdz 31;
- ja šis cipars ir lielāks par 25, mēs ņemam citus 5 bitus, un atkārtojam šo procesu.
- Šī metode nav pakļauta atslēgšanās ietekmei, kas saistīta ar moduļa darbībām, tā paredzēta gadījumskaitļu ģenerēšanai, kurus nevar attēlot formā 2n, n = 1,2,..
- Lai veiktu faktisku sajaukšanu, mēs izmantojam citu vienkāršu un uzticamu algoritmu:
- vispirms, no sākuma kāršu komplekta izvelkam vienu nejaušu kārti (1 no 52) un ievietojam to jaunajā kāršu komplektā – tagad sākotnējā komplektā ir 51 kārts, bet jaunajā – 1 kārts
- tad no sākotnējā komplekta izvelkam vēl vienu gadījuma kārti (1 no 51) un novietojam to jaunā komplekta augšpusē – nu sākotnējā komplektā ir 50 kārtis, bet jaunajā – 2 kārtis
- mēs atkārtojam šo procesu tik ilgi, kamēr visas kārtis no sākotnējā komplekta ir pārvietotas uz jauno komplektu
- Šo algoritmu neietekmē „Nepareiza kāršu komplekta jaukšana”, kas aprakstīta [2]
PokerStars jaukšanas algoritmus ir pārbaudījuši uzņēmumi Cigital un BMM International
Šiem diviem neatkarīgajiem uzņēmumiem PokerStars iesniedza plašu informāciju par Pokerstars gadījumskaitļu ģeneratoru (GSĢ). Abiem šiem uzticamajiem uzņēmumiem lūdzām veikt padziļinātu GSĢ gadījuma iznākumu analīzi, kā arī tā piemērošanu PokerStars kāršu jaukšanā.
Abiem uzņēmumiem ir bijusi pilnīga pieeja resursiem, un tie apstiprinājuši gadījuma līmeņa atbilstību un kāršu jaukšanas uzticamību. Sīkākai informācijai apmeklējiet Tiešsaistes pokera gadījumskaitļu ģeneratoru.
Spēles, kuras var spēlēt ar PokerStars programmatūru
Šīs pokera spēles un turnīri ir pieejami ar PokerStars drošo programmatūru:
[1] B. Schneier. Applied Cryptography (B. Šnaiders, Lietišķā kriptogrāfija)
[2] "How We Learned to Cheat at Online Poker: A Study in Software Security" (Kā kļūt par krāpnieku tiešsaistes pokerā. Īsa pamācība programmatūras drošībā) - http://itmanagement.earthweb.com/entdev/article.php/616221
[3] "The Intel Random Number Generator" (Intel gadījumskaitļu ģenerators) - http://www.cryptography.com/resources/whitepapers/IntelRNG.pdf
Ievērojiet, ka dažas saites šajā lapā atver PokerStars.com versiju angļu valodā jaunā pārskata logā.




