Поверителност на информацията за нашия покер софтуер

Поверителност на информацията за нашия софтуер

Всички комуникации между нашия покер софтуер, стартиран на компютър на наш клиент от една страна, и нашите сървъри от друга, са криптирани. Важно е да се отбележи, че стриктно погледнато, криптирането не гарантира поверителност. Например сайт, в който сведенията за всички скрити карти се предоставят на всеки, не е сигурен въпреки криптирането. Ето защо положихме много усилия, за да изградим нашата система за сигурност и правила.

ВАЖНИ МОМЕНТИ ЗА СИГУРНОСТТА:

Теглене на софтуера:

Първия момент, в който сигурността става важен фактор, е когато теглите софтуера от сайта на PokerStars. Трябва да се уверим, че никой не е модифицирал софтуера, преди да го изтеглите вие. За да гарантираме това, ние вградихме следните опции в програмата за инсталиране на софтуера:

  • Изпълнимият файл за инсталиране на софтуера е подписан с RSA 2048-битов сертификат, издаден на Rational Services Ltd. Той може да бъде потвърден с VeriSign - обществен сертификационен орган, който имате възможност да проверите чрез вашия уеб браузър.
  • По този начин гарантираме, че програмата за инсталиране на софтуера се предоставя от издателя на софтуера, PokerStars.
  • Сертификатът предпазва инсталационната програма от видоизменения между точката на публикуване и по-късното инсталиране на вашия компютър.

Сигурност по време на игра:

Имаме множество вградени функции за защита на сигурността по време на самата игра.

  • Софтуерът ни използва сертификати, създадени от нашия собствен център по сертификатите (Certificate Authority - CA), за удостоверение истинността на нашите сървъри.
  • Нашият софтуер използва стандартния за индустрията протокол TLS. В момента използваме 2048-битов RSA код, който според RSA е достатъчен до 2030 година. Прегледът и обновяването на поверителните кодове на сървъра на всеки три месеца гарантира висока степен на безопасност. Поддържаме следните шифри: AES128-SHA (128 бита) и DES-CBC3-SHA (168 бита).
  • Всякаква лична информация, като например скритите карти, е напълно недостъпна за останалите играчи (освен в съответствие с правилата за игра).
  • Всички данни на софтуера за проверяват от страна на сървъра.

ЗАГОВОРИ

Заговорите са вид измама, при която двама или повече играчи си подават информация за ръцете, които държат, или използват друг вид неразрешено партньорство, което причинява вреди на останалите играчи на масата.

Докато от една страна е по-лесно на играчите в заговора да си обменят информация онлайн , отколкото при игрите на живо, от друга страна е много по-трудно това да остане незасечено, тъй като картите на всички играчи могат да бъдат прегледани след играта.

Без значение колко изпипан е заговорът, той със сигурност ще съдържа изиграване на дадена ръка по начин, по който тя иначе не би била изиграна, ако нямаше заговор. Методите ни за засичане на заговори са проектирани така, че да засичат необичайни тенденции на игра и да предупреждават Отдела по сигурността, който от своя страна провежда обстоятелствено ръчно разследване. Разследваме също така и всички съобщения от играчи за евентуален заговор.

Ако се разкрие, че играч участва в каквато и да е форма на заговор, сметката му може да бъде перманентно закрита.

РАЗБЪРКВАНЕ

"Всеки, който използва аритметични методи за генериране на произволни числа, е в грях." – Джон фон Нюман (John von Neumann), 1951

Осъзнаваме колко е важно за нашия софтуер използването на честен и непредвидим алгоритъм за разбъркване на картите. За да гарантираме това и да избегнем големи проблеми (като тези, описани в [1]), ние използваме два независими един от друг източника на произволна информация:

  • данни (събирани чрез нашия софтуер) от самия потребител, включително данни за придвижването на мишката и за времето, в което различните действия са извършени
  • Quantis [2] е истински хардуерен генератор на произволни числа, създаден от базираната в Швейцария компания ID Quantiquel, който използва квантови произволности за целта

Принципът на работа на всеки от тези източници гарантира честно и непредвидимо разбъркване на картите.

Важни моменти при разбъркването на картите:

  • Тесте от 52 карти може да бъде разбъркано по 52! (факториел 52) начина. 52! е приблизително 2 на степен 225 (за да бъдем точни, 80 658 175 170 943 878 571 660 636 856 404 000 000 000 000 000 начина). Използваме 249 произволни бита от двата източника за генериране на произволни числа (данни от самите потребители и квантови произволности), за да постигнем равномерно и непредвидимо статистическо разпределение.
  • Освен това, прилагаме консервативни правила, за да осигурим желаната степен на произволност; например ако данните от потребител не са достатъчни, за да осигурят необходимата произволност, не започваме следващата ръка, докато не съберем необходимото количество информация от генератора на произволни числа Quantis.
  • Използваме кодиращия алгоритъм SHA-1 заедно със случайните величини, получени от другите ни два източника, за да гарантираме допълнителна сигурност.
  • Използваме също така и генератор на псевдо-случайни числа, базиран на алгоритъма SHA-1, за да гарантираме дори още повече сигурност и защита срещу атака насочена към потребителските данни
  • За да преобразуваме потока от случайни битове в случайни числа в определен обсег и без отклонение, използваме прост и надежден алгоритъм. Например, ако ни трябва случайно число между 0 и 25:
    • взимаме 5 случайни бита и ги преобразуваме в случайно число между 0 и 31
    • ако това число е по-голямо от 25, просто сменяме всичките 5 бита и повтаряме процеса
  • Този метод не се влияе от отклонения, свързани с действията на модула за генериране на случайни числа, които не са 2n, където n = 1,2,..
  • За да извършим самото разбъркване, използваме друг прост и надежден алгоритъм:
    • първо изтегляме случайна карта от първоначалното тесте (1 от 52) и я слагаме в ново тесте – сега първоначалното тесте съдържа 51 карти, а новото - 1 карта
    • след това изтегляме още една случайна карта от първоначалното тесте (1 от 51) и я слагаме върху новото тесте – сега първоначалното съдържа 50 карти, а новото – 2
    • повтаряме този процес, докато всички карти от първоначалното тесте се преместят в новото
  • С този алгоритъм се избягва проблема "Грешно разпределение на разбъркванията", описан в [1].

Алгоритъмът за разбъркване на картите на PokerStars

PokerStars предостави подробна информация относно PokerStars генератора на произволни числа (Random Number Generator - RNG) на независима организация. Поискахме от тях да извършат задълбочена проверка и анализ на произволността на генератора и на процеса по преобразуване на така получената информация в разбъркване на картите в PokerStars.

Те получиха пълен достъп до изходния код и потвърдиха произволността и сигурността на нашето разбъркване на картите. Посетете страницата на онлайн генератора на произволни числа за повече информация.

[1] „Как се научихме да мамим в онлайн покера: изследване сигурността на софтуера” ("How We Learned to Cheat at Online Poker: A Study in Software Security") -
http://www.cigital.com/papers/download/developer_gambling.php


[2] http://www.idquantique.com/products/quantis.htm

НОВ ИГРАЧ ЛИ СТЕ?
ИЗТЕГЛЕТЕ БЕЗПЛАТНИЯ СОФТУЕР

Просто изтеглете безплатния софтуер на PokerStars, за да започнете да играете.

Play Poker

Как да изтеглите покер софтуера