Utajení dat pro náš pokerový software
„Tam, kde se hraje s vysokými sázkami, vyplatí se vynaložit veškeré úsilí a zajistit, aby při implementaci software byla věnována náležitá pozornost ochraně a bezpečnosti.“ (Matt Schmid, Cigital, Inc.)
Veškerá komunikace probíhající mezi našimi servery a naším klientským softwarem, jenž je spuštěn na uživatelově počítači, je šifrovaná. Je však důležité poznamenat, že šifrování samo o sobě, přesně řečeno, zárukou utajení není. Například internetová stránka, na níž jsou vlastní karty všech hráčů předávány každému, bezpečná není ani s veškerým šifrováním. Z tohoto důvodu jsme vynaložili značné úsilí na vytvoření našich bezpečnostních zásad a systémů.
Nejdůležitější bezpečnostní opatření
Stahování software:
Prvním krokem, při němž se bezpečnost stává důležitým faktorem, je stahování klientského softwaru z internetových stránek PokerStars. Zde musíme zajistit, aby klientský software nebyl při stahování pozměněn. Proto jsme do procesu stahování začlenili následující prvky:
- V případě programu Internet Explorer je platnost staženého spustitelného souboru prohlížečem ověřována pomocí našeho klíče a certifikátu Thawte.
- V případě ostatních prohlížečů používáme k ochraně našeho HTTPS serveru a stahovaných dat certifikát Thawte pro tento server a klíč o délce 1024 bitů založený na algoritmu RSA.
Bezpečnost během hry:
Bezpečnost hry samotné zajišťujeme řadou začleněných prvků:
- K ověřování našich serverů jsou v našem klientském softwaru používány certifikáty vydané naší vlastní certifikační autoritou (CA).
- Náš klíč s certifikátem CA má délku 1024 bitů.
- V klientském softwaru je užit protokol SSLv3, jenž je standardem v odvětví. Je nakonfigurován k ověřování pomocí algoritmu RSA a k vygenerování klíče a k užití blokové šifry Triple-DES (EDE3, v tzv. režimu „outer-CBC“) pro šifrová ní. V současnosti používáme klíč RSA o délce 512 bitů, jenž podle [1] vyhovuje pro utajování informací na krátkou a středně dlouhou dobu (do několika let). Protože klíče pro utajení na serveru aktualizujeme každé tři měsíce, jsme zabezpečeni s dobrou rezervou. A dále, užití šifry Triple-DES EDE3 pro šifrování relace je považováno za řešení, které poskytuje ještě vyšší míru bezpečnosti.
- Žádné důvěrné údaje, jako jsou vlastní karty , nejsou nikdy přenášeny k jiným hráčům.
NEKALÉ SPOLČENÍ
Nekalé spolčení je formou podvádění, při níž si dva nebo více hráčů signalizují své karty nebo jinou formou vytvářejí podvodné spojenectví ke škodě ostatních hráčů u téhož stolu.
Na jedné straně je v případě pokerové hry online předávání informací mezi dohodnutými hráči snazší než v případě hry ve skutečné herně. Na druhé straně je však pro takové hráče u hry online mnohem těžší zabránit případnému odhalení, protože je snadné karty všech hráčů po hře zkontrolovat.
Ať je nekalé spolčení sebelépe promyšleno, jedné věci se zúčastnění hráči vyhnout nemohou – musí handu zahrát způsobem, kterým by jej bez nekalého spolčení nezahráli. Naše detekční metody jsou zaměřeny na zachycení neobvyklých způsobů hry. V případě, že je takový způsob zjištěn, jsou upozorněni dohlížející pracovníci, kteří potom provedou důkladné manuální prošetření. Rovněž vyšetříme veškerá oznámení o podezření na nekalé spolčení, která obdržíme od hráčů.
Zjistí-li se u kteréhokoliv hráče jakákoliv forma účasti v nekalém spolčení, může takovému hráči být natrvalo uzavřen účet.
MÍCHÁNÍ KARET
„Každý, kdo uvažuje o generování náhodných čísel aritmetickými metodami, je v hlubokém omylu.“ (John von Neumann, 1951)
Uvědomujeme si, že pro náš software je rozhodující použití regulérního nepředvídatelného algoritmu pro míchání karet. Z tohoto důvodu, a také proto, abychom se vyhnuli značným problémům popsaným v [2], používáme dva níže uvedené nezávislé zdroje skutečně náhodných dat:
- Vstupy získané pomocí uživatelského softwaru z uživatelem prováděných úkonů, jako je součet pohybů myší a časování událostí.
- Quantis [3], ověřený hardwarový generátor náhodných čísel, jenž byl vyvinut švýcarskou společností ID Quantique. Tento generátor je založen na využití kvantové náhodnosti jako zdroje informační entropie.
Každý z těchto zdrojů sám o sobě generuje hodnotu entropie dostačující k regulérnímu nepředvídatelnému míchání karet.
Hlavní charakteristiky postupu míchání karet
- Pro zamíchání balíčku 52 karet existuje 52! možností. Hodnota 52! je přibližně 2^225 (přesně 80.658.175.170.943.878.571.660.636.856.404.000.000.000.000.000.000.000.000.000.000.000.000 možností). K tomu, abychom dosáhli rovnoměrného, nepředvídatelného statistického rozložení, používáme 249 náhodných bitů z obou zdrojů entropie (vstup z uživatelem prováděných úkonů a kvantové náhodnosti).
- Pro dosažení požadovaného stupně nahodilosti uplatňujeme pravidla založená na principu opatrnosti. Jestliže například vstup z uživatelem prováděných úkonů k vygenerování požadované hodnoty entropie nestačí, další handa začne až poté, co požadovanou hodnotu entropie obdržíme z generátoru náhodných čísel Quantis.
- Abychom zajistili mimořádně vysokou úroveň bezpečnosti, je sloučení entropií získaných z obou zdrojů prováděno transformačním šifrovacím algoritmem SHA-1.
- Míru bezpečnosti a ochrany proti útokům na uživatelova data dále zvyšujeme pomocí generátoru pseudonáhodných čísel založeného na algoritmu SHA-1.
- K převedení toku náhodných bitů na náhodná čísla v požadovaném rozsahu a bez zkreslení jsme uplatnili jednoduchý spolehlivý algoritmus. Jestliže například potřebujeme náhodné číslo v intervalu 0-25, postupujeme takto:
- Vezmeme 5 náhodných bitů a převedeme je na náhodné číslo z intervalu 0-31.
- Jestliže je toto číslo větší než 25, všech 5 bitů jednoduše vymažeme a proces opakujeme.
- Tato metoda není ovlivněna zkresleními vyplývajícími z výpočtu modulu pro vygenerování náhodných čísel, jež nejsou rovna 2n, n = 1, 2, …
- K provedení vlastního míchání karet používáme další jednoduchý, spolehlivý algoritmus:
- Nejdříve vytáhneme náhodnou kartu z původního balíčku (1 až 52) a uložíme ji do nového balíčku – v původním balíčku je nyní 51 karet, v novém balíčku je jedna karta.
- Potom z původního balíčku vytáhneme další náhodnou kartu (1 až 51) a položíme ji na vrch balíčku nového – v původním balíčku je nyní 50 karet, v novém balíčku jsou dvě karty.
- Proces opakujeme tak dlouho, až všechny karty z balíčku původního přemístíme do balíčku nového.
- U tohoto algoritmu nedochází ke špatnému rozložení zamíchaných karet, jež je popsáno v [2].
Proces míchání karet internetové herny PokerStars je ověřen společností Cigital
Internetová herna PokerStars předložila rozsáhlé informace o svém generátoru náhodných čísel společnosti Cigital. Tento důvěryhodný zdroj jsme požádali o provedení hloubkové analýzy nahodilosti výstupu našeho generátoru náhodných čísel a způsobu jeho využití pro míchání karet v internetové herně PokerStars.
Společnosti jsme poskytli úplný přístup ke zdrojovému kódu. Každá z těchto společností potvrdila nahodilost a bezpečnost našeho procesu míchání karet. Podrobnější informace naleznete na stránce Generátoru náhodných čísel pro online poker.
Hry, které jsou k dispozici prostřednictvím bezpečného pokerového softwaru PokerStars
Prostřednictvím bezpečného softwaru internetové herny PokerStars jsou dostupné následující pokerové hry a pokerové turnaje:
- Texas Holdem
- Omaha High Low
- Omaha High
- Stud High Low
- Stud High
- Razz
- HORSE
- Draw
- 2-7 Triple Draw
- 2-7 Single Draw
- 8-Game Mix
- Badugi
[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] http://www.idquantique.com/products/quantis.htm




