Confidentialité des données de notre logiciel de poker
« Lorsque les enjeux sont importants, il est primordial que les fonctions de sécurité du logiciel soient à la hauteur. » - Matt Schmid, Cigital, Inc.
Toutes les communications entre nos serveurs et notre logiciel client exécutées sur les ordinateurs clients sont chiffrées. Il est important de mentionner que le chiffrement ne représente pas une garantie de confidentialité en soi. Par exemple, un site où les cartes privées de tous les joueurs sont transférées à tous n'est pas sécurisé, quel que soit le chiffrement. C'est pourquoi nous avons apporté un grand soin à la conception de notre système et de nos politiques de sécurité.
Points forts de la sécurité :
Téléchargement du logiciel :
La sécurité devient un facteur important dès le téléchargement du logiciel client à partir du site de PokerStars. Nous devons en effet nous assurer que le logiciel client n'est pas modifié durant le téléchargement. Pour ce faire, nous avons intégré les fonctions suivantes au processus de téléchargement :
- Pour Internet Explorer, la validité des fichiers exécutables téléchargés est vérifiée par le navigateur à l'aide de notre clé et du certificat Thawte.
- Pour les autres navigateurs, nous avons recours à une clé RSA de 1 024 bits et à un certificat de serveur Thawte pour protéger notre serveur Web HTTPS et le téléchargement.
Sécurité du jeu :
De nombreuses fonctions ont été intégrées au logiciel afin de garantir la sécurité des parties elles-mêmes.
- Notre logiciel client utilise les certificats émis par notre propre autorité de certification afin d'authentifier nos serveurs.
- Notre autorité de certification utilise une clé de 1 024 bits.
- Notre logiciel client applique le protocole industriel SSLv3. Il est configuré pour utiliser l'algorithme RSA pour l'authentification et pour la génération de la clé et l'algorithme Triple DES (EDE3, en mode CBC externe) pour le chiffrement. Nous utilisons actuellement une clé RSA de 512 bits qui, selon [1], est suffisante pour les secrets à court et moyen terme (jusqu'à plusieurs années). Nous actualisons les clés privées du serveur tous les trois mois ; par conséquent, nous sommes assurés d'une bonne marge de sécurité. L'utilisation de l'algorithme Triple DES (EDE3) pour le chiffrement des sessions est considérée comme une mesure encore plus sûre.
- Aucune donnée privée, telles les cartes privées, n'est transférée aux autres joueurs.
COLLUSION
La collusion est une forme de tricherie, selon laquelle plusieurs joueurs se dévoilent leur jeu ou mettent au point un autre moyen de tricherie au détriment des autres joueurs à la même table.
Même s'il est vrai qu'il est plus facile de transmettre des informations entre des joueurs de connivence dans les salles virtuelles que dans les salles réelles, il est en revanche plus difficile de ne pas se faire prendre, car les cartes de tous les joueurs peuvent être examinées après la partie.
Peu importe sa sophistication, une collusion implique un type de jeu qui ne serait pas possible sans elle. Nos méthodes de détection repèrent les types de jeu inhabituels et avertissent le personnel de sécurité, qui entreprend alors une enquête manuelle minutieuse. Nous étudions également les rapports des autres joueurs portant sur des suspicions de collusion.
S'il s'avère qu'un joueur a été complice d'une collusion, son compte risque d'être fermé de manière permanente.
BRASSAGE DES CARTES
« Quiconque prend en compte les méthodes arithmétiques pour la génération de chiffres aléatoires commet, bien sûr, un péché. » - John von Neumann, 1951
Nous sommes conscients qu'il est essentiel que notre logiciel intègre un algorithme juste et imprévisible pour le brassage des cartes. Afin de nous en assurer et d'éviter les principaux problèmes décrits dans [2], nous utilisons deux sources indépendantes de données réellement aléatoires :
- une entrée par l'utilisateur, incluant un récapitulatif des mouvements de la souris et du chronométrage des événements, recueilli par le logiciel client ;
- un véritable générateur de nombres aléatoires, développé par Intel [3], qui utilise les bruits thermiques comme source d'entropie.
Chacune de ces sources génère suffisamment d'entropie pour garantir un brassage des cartes juste et imprévisible.
Points forts du brassage des cartes :
- Un jeu de 52 cartes peut être battu de 52 manières, soit approximativement 2 puissance 225 (80 658 175 170 943 878 571 660 636 856 404 000 000 000 000 000 manières, pour être exact). Nous utilisons 249 bits aléatoires provenant des deux sources d'entropie (entrée par l'utilisateur et bruit thermique) afin que la distribution statistique soit encore davantage équitable et imprévisible.
- Nous appliquons par ailleurs des règles conventionnelles pour l'obtention du degré d'aléa requis ; par exemple, si l'entrée par l'utilisateur ne génère pas le montant d'entropie suffisant, nous ne commençons pas la prochaine main tant que nous n'avons pas obtenu le montant d'entropie requis à l'aide du générateur de nombres aléatoires d'Intel.
- Nous utilisons l'algorithme de hachage cryptographique SHA-1 pour mixer les entropies provenant des deux sources afin d'optimiser davantage le niveau de sécurité.
- Nous maintenons également un générateur pseudo-aléatoire SHA-1 afin d'améliorer la sécurité et la protection contre les attaques envers les données des utilisateurs.
- Nous utilisons aussi un algorithme simple et fiable pour convertir le flux de bits aléatoires en nombres aléatoires dans une plage requise sans distorsion. Par exemple, si nous avons besoin d'un nombre aléatoire compris entre 0 et 25 :
- nous prenons 5 bits aléatoires et les convertissons en un nombre aléatoire compris entre 0 et 31 ;
- si ce nombre est supérieur à 25, nous ignorons les 5 bits et recommençons le processus.
- Cette méthode n'est pas affectée par les distorsions liées au fonctionnement du coefficient pour la génération des nombres aléatoires qui ne sont pas 2n, où n = 1, 2, ...
- Pour brasser réellement le paquet, nous avons recours à un autre algorithme simple et fiable :
- Nous tirons tout d'abord une carte au hasard dans le paquet d'origine (1 sur 52), puis la plaçons dans un nouveau paquet ; le paquet d'origine contient donc 51 cartes et le nouveau jeu contient 1 carte.
- Nous tirons ensuite une deuxième carte au hasard dans le paquet d'origine (1 sur 51), puis la plaçons au-dessus du nouveau paquet ; le paquet d'origine contient donc 50 cartes et le nouveau paquet contient 2 cartes.
- Nous répétons ce processus jusqu'à ce que toutes les cartes du paquet d'origine soient placées dans le nouveau paquet.
- La « mauvaise distribution des mains » décrite dans [2] n'a donc aucune influence sur cet algorithme.
Le brassage des cartes de PokerStars vérifié par Cigital et BMM International
PokerStars a fourni de très nombreuses informations sur son générateur de nombres aléatoires à deux organisations indépendantes. Nous avons demandé à ces deux ressources fiables de réaliser une analyse approfondie des résultats produits par le générateur de nombres aléatoires et de sa mise en œuvre dans le brassage des cartes sur PokerStars.
Les deux sociétés avaient un accès complet au code source ; elles ont confirmé que le brassage des cartes était bien aléatoire et sécurisé. Consultez la section sur le générateur de nombres aléatoires pour le poker online pour en savoir plus.
Jeux disponibles par l'intermédiaire du logiciel de poker sécurisé de PokerStars
Il est possible de jouer aux jeux et aux tournois de poker suivants à l'aide du logiciel de poker sécurisé de PokerStars :
[1] B. Schneier. Cryptographie appliquée
[2] How We Learned to Cheat at Online Poker: A Study in Software Security (Comment nous avons appris à tricher au poker online : une étude de la sécurité des logiciels) - http://itmanagement.earthweb.com/entdev/article.php/616221
[3] The Intel Random Number Generator (Le générateur de nombres aléatoires d'Intel) - http://www.cryptography.com/resources/whitepapers/IntelRNG.pdf



