Datasäkerhet och vårt pokerprogram
"När insatserna är höga lönar det sig att inte spara några ansträngningar för att se till att program implementeras med säkerhet och skydd i högsätet". - Matt Schmid, Cigital, Inc.
All kommunikation mellan vårt klientprogram som körs på klientdatorer och våra servrar är krypterad. Observera att kryptering i sig strängt taget inte garanterar sekretess. En sajt där spelarnas hålkort skickas till alla är inte säker oavsett om överföringen är krypterad. Det är anledningen till att vi har ägnat mycket jobb åt att utforma vårt säkerhetssystem och vår säkerhetspolicy.
Viktigt om säkerhet:
Hämtning av pokerprogrammet:
Det första tillfället då säkerheten är kritisk är när klientprogrammet hämtas från PokerStars sajt. Vi måste se till att klientprogrammet hämtas hem utan att ändras. För att säkerställa att detta krav är uppfyllt utförs hämtningen så här:
- I Internet Explorer verifieras den hämtade, körbara filens giltighet av webbläsaren med vår nyckel och vårt certifikat från Thawte
- För andra webbläsare använder vi en RSA-nyckel på 1 024 bitar och ett servercertifikat från Thawte för att skydda vår HTTPS-webbserver och den fil som hämtas
Säkerhet under spel:
Vi har ett antal inbyggda funktioner som garanterar själva spelets säkerhet.
- Vårt klientprogram använder certifikat som har utfärdats av vår egen certifikatutfärdare för att autentisera våra servrar
- Vår certifikatutfärdares certifikatnyckel är 1 024 bitar lång.
- Vårt klientprogram använder protokollet SSLv3, vilket är standard inom branschen. Det är konfigurerat att använda RSA för autentisering och nyckelgenerering och triple-DES (EDE3, i yttre CBC-läge) för kryptering. För närvarande använder vi en 512 bitar lång RSA-nyckel, som enligt [1] räcker för att bevara hemligheter under kort och medellång tid (upp till flera år). Eftersom vi uppdaterar serverns privata nycklar var tredje månad, är vi skyddade med god marginal. Att använda triple-DES EDE3 för sessionskryptering anses vara ännu säkrare
- Inga privata data, till exempel hålkort, skickas någonsin till andra spelare
SAMARBETE
Samarbete är ett sätt att fuska. Två eller flera spelare signalerar vad de har på handen eller fuskar på något annat sätt till skada för de andra spelarna vid samma bord.
Även om det å ena sidan är lättare att skicka otillåten information spelare emellan vid nätpoker än på ett riktigt kasino, är risken för att bli upptäckt större eftersom alla spelares kort kan granskas när spelet är över.
Oavsett hur avancerat samarbetet är, kommer det att involvera att en hand spelas som inte skulle ha spelats på det sättet om inte två spelare hade samarbetat. Våra identifieringsmetoder går ut på att hitta ovanliga spelmönster och varna säkerhetspersonalen, som då vidtar en genomgripande manuell undersökning. Vi undersöker även alla spelares rapporter om misstänkt samarbete.
Om vi upptäcker att någon spelare har fuskat på något sätt stängs hans eller hennes konto permanent.
BLANDNING
"Alla som funderar över aritmetiska metoder att framställa slumpmässiga siffror är givetvis i ett syndens tillstånd." - John von Neumann, 1951
Vi förstår att vårt program måste ha en rättvis och oförutsägbar blandningsalgoritm. För att se till detta och undvika de stora problemen som beskrivs i [2] använder vi två oberoende källor med helt slumpmässiga data:
- indata från användarna, bland annat ett sammandrag av musrörelser och tidtagning av händelser, som samlas in från klientprogrammet
- Quantis [3], hårdvara för slumptalsgenerering utvecklad av det schweiziska företaget ID Quantique, som använder kvantisk slump som entropikälla
Bägge dessa källor skapar i sig själva tillräckligt mycket entropi för att garantera en rättvis och oförutsägbar blandning.
Viktigt om blandningen:
- En kortlek med 52 kort kan blandas på 52! olika sätt. 52! är omkring 2^225 (eller, för att vara exakt, 80 658 175 170 943 878 571 660 636 856 404 000 000 000 000 000 000 000 000 000 000 000 000 sätt). Vi använder 249 slumpmässiga bitar från bägge entropikällorna (indata från användarna och kvantisk slump) för att få fram en jämn och oförutsägbar statistisk fördelning.
- Dessutom tillämpar vi konservativa regler för att garantera det mått av slumpmässighet som krävs. Om indata från användarna exempelvis inte ger upphov till det mått av entropi som krävs, delar vi inte ut nästa hand förrän vi har fått det mått av entropi som krävs från Quantis slumptalsgenerator.
- Vi använder den kryptografiska hashningsalgoritmen SHA-1 för att blanda entropin som har samlats in från bägge källorna som ett extra säkerhetsmått.
- Vi har även en SHA-1-baserad generator av pseudoslumpmässiga tal som ger ett ännu större mått av säkerhet och skydd mot användardataangrepp.
- För att omvandla slumpmässiga bitströmmar till slumptal inom det intervall som krävs utan systematiska fel, använder vi en enkel och tillförlitlig algoritm. Om vi exempelvis behöver ett slumptal i intervallet 0–25:
- tar vi fem slumpmässiga bitar och konverterar dem till ett slumptal i intervallet 0–31
- om det här talet är större än 25 kastar vi helt enkelt bort alla fem bitarna och upprepar proceduren
- Den här metoden påverkas inte av systematiska fel som har med modulooperationen för genereringen av slumptal som inte är lika med 2n (n = 1, 2, …) att göra.
- När vi blandar använder vi en annan enkel och tillförlitlig algoritm:
- först drar vi ett slumpmässigt valt kort från ursprungsleken (1 av 52) och lägger in det i en ny lek. Den ursprungliga leken innehåller nu 51 kort och den nya leken ett kort.
- sedan drar vi ytterligare ett slumpmässigt valt kort från ursprungsleken (1 av 51) och lägger det högst upp på den nya leken. Den ursprungliga leken innehåller nu 50 kort och den nya leken två.
- vi upprepar processen tills alla kort har flyttats från ursprungsleken till den nya leken
- Den här algoritmen lider inte av problemet "Dålig fördelning av blandningar" som beskrivs i [2]
PokerStars blandning har verifierats av Cigital
PokerStars lämnade in uttömmande information om PokerStars slumptalsgenerator till Cigital. Vi bad detta tillförlitliga företag att göra en djuplodande analys av slumpmässigheten i slumptalsgeneratorns utdata, och dess implementation vid blandningen av kort på PokerStars.
De gavs full insyn i källkoden och bekräftade blandningens slumpmässighet och säkerhet. Besök sidan Slumptalsgeneratorer och nätpoker om du vill ha mer information.
Spel som går att spela i PokerStars säkra pokerprogram
Följande pokervarianter och pokerturneringar är tillgängliga i PokerStars säkra pokerprogram:
- Texas Holdem
- Omaha Hi/Lo
- Omaha High
- Stud Hi/Lo
- 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




