Play Poker - Download Now

Pokeriohjelman tietoturva

"Kun panokset ovat korkeat, kannattaa panostaa sen varmistamiseen, että ohjelmaa toteutettaessa turvallisuudesta ja suojauksesta on huolehdittu asiaan kuuluvalla tavalla". – Matt Schmid, Cigital, Inc.

Kaikki tietoliikenne pelaajan tietokoneessa toimivan asiakasohjelman ja palvelimen välillä on salattu. On tärkeää huomata, että pelkkä salaus ei takaa tietoturvaa. Esimerkiksi sivusto, joka lähettää kaikkien pelaajien taskukortit kaikille, ei ole turvallinen salauksesta huolimatta. Tämän vuoksi olemme käyttäneet paljon aikaa ja vaivaa järjestelmämme ja käytäntöjemme turvallisuuden suunnitteluun.

Tärkeät suojauskohteet:

Pokeriohjelmiston lataus:

Ensimmäinen vaihe, jossa suojauksella on tärkeä tehtävä, on se, kun asiakasohjelma ladataan PokerStars-sivustosta. Meidän on varmistettava, että asiakasohjelma ladataan muuttamattomana. Tämän tavoitteen saavuttamiseksi olemme sisällyttäneet seuraavat toiminnot latausprosessiin:

  • Internet Explorer tarkistaa ladattavan ohjelman oikeellisuuden käyttämällä meidän avaintamme ja Thawte-sertifikaattia.
  • Muissa selaimissa käytetään 1024-bittistä RSA-avainta ja Thawte-palvelinsertifikaattia, joka suojaa HTTPS-Web-palvelimemme ja latauksen.

Suojaus pelaamisen aikana:

Käytössä on useita sisäänrakennettuja toimintoja, jotka varmistavat itse pelin turvallisuuden.

  • Asiakasohjelmamme todentaa palvelimemme oman sertifikaattien myöntäjämme (CA) antamaa sertifikaattia käyttämällä.
  • CA-sertifikaattimme pituus on 1 024 bittiä.
  • Asiakasohjelmamme käyttää alan standardin mukaista SSLv3-protokollaa. Se käyttää RSA-salausta todentamiseen ja avainten luomiseen sekä triple-DES (EDE3, outer-CBC-tilassa) -salausta tietojen salaukseen. Tällä hetkellä käytössä on 512-bittinen RSA-avain, joka viitteen [1] mukaan riittää lyhyen ja keskipitkän aikavälin (useita vuosia) suojaukseen. Koska päivitämme palvelimen yksityiset avaimet kolmen kuukauden välein, tietojen suojaus on hyvä ja ylittää vähimmäisvaatimukset reilusti. Istuntojen salauksessa käytetty Triple-DES EDE3 -menetelmä on vielä turvallisempi.
  • Mitään yksityisiä tietoja, kuten taskukortteja, ei koskaan siirretä muille pelaajille.

PELAAJIEN VÄLISET SOPIMUKSET:

Pelaajien välisten sopimusten käyttäminen on epärehellisen pelaamisen muoto, joka tarkoittaa, että vähintään kaksi pelaajaa ilmoittavat toisilleen kädessään olevat kortit tai muita tapoja käyttämällä petkuttavat muita samassa pöydässä pelaavia.

Vaikka tietojen vaihtaminen sopimuksen tehneiden pelaajien välillä on helpompaa online-pokerissa kuin se on reaalimaailman pokerihuoneissa, kiinnijäämisen välttäminen on vaikeampaa, koska kaikkien pelaajien kortit voidaan tarkistaa pelin jälkeen.

Vaikka epärehelliset pelaajat käyttäisivät kuinka hienostunutta menetelmää tahansa, siihen liittyy aina sellaisen käden pelaaminen, jota kukaan ei pelaisi ilman sopimusta. Selvitysmenetelmämme havaitsevat epätavalliset pelitavat ja ilmoittavat turvahenkilökunnalle, joka tekee sen jälkeen perinpohjaisen tutkimuksen manuaalisesti. Tarkistamme myös kaikkien pelaajien lähettämät raportit sopimusepäilyistä.

Jos jonkun pelaajan todetaan ottaneen osaa pelaajien väliseen sopimukseen, olipa se millainen tahansa, hänen tilinsä voidaan sulkea lopullisesti.

SEKOITTAMINEN

"Se, joka harkitseekin satunnaislukujen tuottamista aritmeettisilla menetelmillä, miettii pahoja mielessään." – John von Neumann, 1951

Tiedämme, miten tärkeää on käyttää ohjelmassamme sekoittamisalgoritmia, joka on tasapuolinen ja ei-ennakoitava. Jotta voisimme varmistaa tämän ja välttää viitteessä [2] esitetyt ongelmat, käytämme kahta riippumatonta, satunnaisia tietoja antavaa lähdettä:

  • käyttäjän syöttämät tiedot, mukaan lukien asiakasohjelman keräämät yhteenvetotiedot hiiren liikkeistä ja tapahtuma-ajoista
  • Intelin [3] kehittämä laitepohjainen satunnaislukugeneraattori, joka käyttää lämpökohinaa entropian lähteenä.

Kumpikin näistä lähteistä generoi riittävästi entropiaa tasapuolisen ja ei-ennakoitavan sekoittamisen varmistamiseksi.

Tietoja sekoittamisesta:

  • 52 kortin pakka voidaan sekoittaa 52! tavalla. 52! on noin 2^225 (täsmälleen 80 658 175 170 943 878 571 660 636 856 404 000 000 000 000 000). Me käytämme 249:ää satunnaista bittiä molemmista entropialähteistä (käyttäjän syötteestä ja lämpökohinasta), joilla saadaan aikaan tasainen ja ei-ennakoitava tilastollinen jakautuma.
  • Lisäksi käytämme hyväksi koettuja sääntöjä, joilla saamme aikaan tarvittavan satunnaisuuden tason. Jos esimerkiksi käyttäjän antama syöte ei generoi riittävää entropiaa, emme aloita seuraavaa kättä, ennen kuin olemme saaneet riittävästi entropiaa Intelin satunnaislukugeneraattorista.
  • Sekoitamme molemmista lähteistä saadun entropian SHA-1-tyyppistä kryptografista tiivistefunktiota käyttämällä, jolloin tietoturva paranee entisestään.
  • Käytämme myös SHA-1-pohjaista näennäissatunnaislukugeneraattoria, joka parantaa käyttäjän tietoturvaa ja suojausta hyökkäyksiä vastaan.
  • Jotta satunnainen bittijono voitaisiin muuttaa tietyllä arvovälillä oleviksi satunnaisluvuiksi ilman vinoutumaa, käytämme yksinkertaista ja luotettavaa algoritmia. Oletetaan esimerkiksi, että tarvitsemme satunnaisluvun 0–25:
    • otamme viisi satunnaista bittiä ja muunnamme ne välillä 0 ja 31 olevaksi satunnaisluvuksi
    • jos tämä luku on suurempi kuin 25, me hylkäämme kaikki viisi bittiä ja toistamme prosessin.
  • Tähän menetelmään eivät vaikuta vinoutumat, jotka ovat tyypillisiä generoitaessa jakojäännöstä käyttämällä sellaisia satunnaislukuja, joiden arvo ei ole 2n, n = 1,2,…
  • Todelliseen sekoittamiseen käytämme toista yksinkertaista ja luotettavaa algoritmia:
    • ensiksi vedämme satunnaisen kortin alkuperäisestä pakasta (1/52) ja siirrämme sen uuteen pakkaan – nyt alkuperäinen pakka sisältää 51 korttia ja uusi pakka yhden kortin
    • sitten vedämme toisen satunnaisen kortin alkuperäisestä pakasta (1/51) ja siirrämme sen päällimmäiseksi uuteen pakkaan – nyt alkuperäinen pakka sisältää 50 korttia ja uusi pakka kaksi korttia
    • toistamme prosessia, kunnes kaikki kortit on siirretty alkuperäisestä pakasta uuteen pakkaan.
  • Tämän algoritmin ongelmana ei ole viitteessä [2] kuvattu sekoittamisien huono jakauma (Bad Distribution Of Shuffles).

Cigital ja BMM International ovat verifioineet PokerStarsin käyttämän sekoittamistavan

PokerStars on lähettänyt runsaasti tietoja käyttämästään satunnaislukugeneraattorista kahdelle riippumattomalle organisaatiolle. Pyysimme näitä kahta luotettavaa organisaatiota tekemään perusteellisen analyysin satunnaislukugeneraattorin tuottamista luvuista ja niihin perustuvasta toteutuksesta, jolla PokerStars-pelien kortit sekoitetaan.

Molemmat riippumattomat yritykset saivat käyttöönsä lähdekoodin, ja ne vahvistivat sekoittamisen olevan satunnainen ja turvallinen. Lisätietoja on sivulla Online-pokerin satunnaislukugeneraattori.

Suojatulla PokerStars-pokeriohjelmalla käytettävissä olevat pelit

Seuraavia pokeripelejä ja -turnauksia voi pelata suojatulla PokerStars-ohjelmalla:

[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

Copyright © 2001-2008, PokerStars.com. Kaikki oikeudet pidätetään. Rational Entertainment Enterprises Limited, 10 Hill Street, Douglas, IM1 1EF, Isle of Man. Lisenssi nro. 7, myönnetty heinäkuussa 2005. Onlinepelaamista säätelevät Mansaaren lait