Конфіденційність даних в нашій клієнтській програмі
"Коли мова йде про високі ставки, є сенс докласти всі зусилля для забезпечення належного рівня конфіденційності і безпеки програмного забезпечення.". - Мет Шмід, Ситігал, Корп.
Всі дані, якими обмінюється клієнтська програма, встановленою на комп'ютері клієнта, і сервер, зашифровані. Проте важливо розуміти, що шифрування само по собі не гарантує конфіденційності. Наприклад, сайт, де зведення про кишенькові карти всіх гравців передаються решті всіх ігор, не можна назвати безпечним, не дивлячись на використання шифрування. От чому ми доклали масу зусиль і витратили багато часу на розробку політики і системи безпеки.
Основні заходи забезпечення безпеки:
Завантаження клієнтської програми.
Першим пунктом, де безпека стає важливим чинником, є завантаження клієнтського програмного забезпечення з сайту PokerStars. Ми повинні гарантувати, що завантажене клієнтське програмне забезпечення не було змінене зловмисниками. Для цього в процесі завантаження передбачені наступні заходи.
- При використанні Internet Explorer достовірність завантаженого файлу перевіряється веб-сервером-оглядачем за допомогою нашого ключа і сертифікату Thawte
- При використанні інших веб-оглядачей застосовується 1024-розрядний ключ RSA і сертифікат сервера Thawte для захисту завантаження з нашого веб-сервера HTTPS&
Забезпечення безпеки під час гри.
Безпека гри забезпечується за допомогою декількох вбудованих функцій клієнтської програми.
- Наше клієнтське програмне забезпечення використовує сертифікати, видані нашим власним центром сертифікації, для перевірки достовірності наших серверів.
- Ключ наших сертифікатів мають довжину 1024 біт.
- Наше клієнтське програмне забезпечення використовує протокол SSLv3, відповідний всім стандартам галузі. Він використовує алгоритм RSA для перевірки достовірності і генерації ключа, а також алгоритм Triple DES (EDE3, в зовнішньому режимі CBC) для шифрування даних. В даний час ми використовуємо 512-розрядний ключ RSA, якого, згідно [1], достатньо для збереження в таємниці даних протягом коротких і середніх термінів (до декількох років). Зміна ключів раз на три місяці забезпечує нам високий запас надійності. А використання алгоритму Triple DES EDE3 для шифрування сеансів вважається навіть безпечнішим.
- Ніякі персональні дані, наприклад кишенькові карти, не передаються іншим гравцям
ЗМОВА
Змовою є форма шахрайства, в якому двоє або більше гравців будь-яким чином повідомляють один одному свої комбінації або іншим способом організовують обманне співтовариство для нанесення збитку іншим гравцям цього ж столу.
З одного боку, при грі по Інтернету гравцями, що змовилися, легко обмінюватися інформацією, чим в звичайних карткових залах, проте набагато складніше уникнути виявлення змови, оскільки карти всіх гравців можуть бути перевірені після гри.
Не має значення, наскільки витонченою є змова, вона повинна включати розиграш руки, яка за відсутності змови була б зіграна по-іншому. Наші способи виявлення направлені на виявлення незвичайних ходів і прийомів і попередження персоналу служби безпеки, яка проводить повне розслідування. Ми так само проглядаємо всі повідомлення гравців, підозрюваних в змові.
Якщо виявиться участь будь-якого гравця в змові будь-якого вигляду, його обліковий запис буде заблокований назавжди.
ТАСУВАННЯ КАРТ
"Всякий, хто знає арифметичні методи генерації випадкових чисел, без сумніву, порушує правила." - Джон фон Ньюманн, 1951
Ми розуміємо, що використання алгоритму чесного і непередбачуваного перетасування вкрай необхідне в нашому програмному забезпеченні. Для цього і щоб уникнути проблем, описаних в джерелі [2], ми використовуємо два незалежні джерела дійсно випадкових даних:
- дані, що отримуються від користувачів, включаючи дані про пересування миші і часу виконання різних дій, які передаються нам клієнтськими програмами
- справжній апаратний генератор випадкових чисел, розроблений компанією Intel [3], який використовує як випадкову складову тепловий шум
Кожне з цих джерел саме по собі генерує достатню випадковість, що гарантує чесність і непередбачуваність перетасування.
Основні відомості про перетасування.
- Існує 52! (факторіал 52) результату перетасування колоди з 52 карт. 52! це приблизно 2 в ступені 225 (а якщо бути точнішим, то 80 658 175 170 943 878 571 660 636 856 404 000 000 000 000 000 000 000 000 000 000 000). Ми використовуємо 249 випадкових біт кожного з джерел випадковості (дані, що отримуються від користувачів і теплові перешкоди) для отримання рівномірного і випадкового статистичного розподілу.
- Більш того, ми застосовуємо стійкі правила забезпечення необхідного ступеня випадковості. Наприклад, якщо дані, що отримуються від користувачів, не забезпечують необхідний ступінь випадковості, ми не починаємо наступну руку до тих пір, поки не отримаємо необхідний ступінь випадковості від генератора випадкових чисел Intel.
- Ми використовуємо алгоритм шифрування даних SHA-1 для об'єднання випадкових величин, отриманих від обох джерел, для забезпечення додаткової безпеки.
- Ми так само використовуємо генератор псевдо-випадкових чисел на базі алгоритму SHA-1 для забезпечення ще більшого захисту від атак на дані користувача
- Для перетворення потоку випадкових біт у випадкові числа із заданого проміжку і без відхилень ми використовуємо простий і надійний алгоритм. Наприклад, якщо нам потрібне випадкове число з проміжку від 0 до 25, то:
- беремо 5 випадкових біт і перетворюємо їх у випадкове число від 0 до 31
- якщо це число більше 25, беремо інші 5 битий і повторюємо процес
- Даний метод не підпадає до впливу відхилень, пов'язаних з діями з модуля, призначених для генерації випадкових чисел, які не можна представити у формі 2n, де n = 1,2..
- Для виконання фактичного перетасування ми використовуємо інший простий і надійний алгоритм:
- спершу ми витягаємо випадкову карту з початкової колоди (1 з 52) і розташовуємо її в нову колоду - тепер початкова колода містить 51 карту, а нова колода містить 1 карту
- потім ми витягаємо другу випадкову карту з початкової колоди (1 з 51) і розташовуємо її вгору нової колоди - тепер початкова колода містить 50 карт, а нова колода містить 2 карти
- ми повторюємо даний процес до тих пір, поки всі карти з оригінальної колоди не перемістяться в нову колоду
- З цим алгоритмом не виникає проблема "Невірного розподілу перетасованої колоди", яка описана в [2]
Алгоритми перетасування PokerStars перевірені компаніями Сigital і BMM International
PokerStars надав докладну інформацію про генератор випадкових чисел PokerStars (ГВЧ) двом незалежним організаціям. Ми попросили ці дві заслуговуючи довіри джерела провести усесторонній аналіз випадковості на виході ГВЧ і її реалізації в перетасування карт на PokerStars.
Обидві незалежні компанії, яким був наданий повний допуск до ресурсу, підтвердили достатність ступеня випадковості і надійність нашого перетасування. Додаткові відомості можна знайти на сторінці Генератор випадкових чисел.
Ігри, в які можна зіграти за допомогою клієнтської програми PokerStars
Доступні наступні різновиди покеру і турніри по цих різновидах.
- Техаський Холдем
- Омаха Хай Лоу
- Омаха Хай
- Стад Хай Лоу
- Стад Хай
- Разз
- ХОРСЕ
- Покер з обміном
- 2-7 з потрійним обміном
[1] Би. Шнейер. 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 (Генератор випадкових чисел від компанії Intel)" - http://www.cryptography.com/resources/whitepapers/IntelRNG.pdf



