GH GambleHub

Cryptage des données et TLS

1) Carte des menaces et des cibles

Dans le canal (en transit) : interception/modification du trafic, MitM, downgrade.
Au repos (at-rest) : vol de disques/backups, décharges OBD/logs, initiés.
Clés : fuites de secrets, rotation faible, réutilisation.
L'objectif est de garantir la confidentialité, l'intégrité et l'authenticité, avec des SLO mesurables et une cryptographie gérable.

2) Classification des données et politique

Classes : Public/Internal/Confidentiel/Restreint (PII/Finance/PAN).
Étiquettes : 'data. class`, `tenant`, `region`, `retention`.
Mesures obligatoires : pour Restricted - chiffrement au niveau du champ/objet, journal d'accès, clés individuelles per-tenant/région.

3) Cryptage au repos (at-rest)

3. 1 encodage Envelope

La clé DEK (Data Encryption Key) crypte les données ; KEK/CMK (KMS/HSM) chiffre DEK.
La rotation KEK ne nécessite pas de décryptage des données - plume-wrap DEK.
DEK est souhaitable par objet/lot/tenant avec une TTL courte.

3. 2 niveaux

Afficheur (TDE) : espace disque/tabulaire (PostgreSQL/MySQL/SQL Server). Simple, mais sans contrôle granulaire.
Au niveau de l'application : champs/objets (PAN, secrets) - mieux pour le multi-tenant et les minimums d'accès.
Stockage/nuage : S3/GCS SSE-KMS ; pour les données ACID - FLE (field-level encryption) si possible.

3. 3 Algorithmes et modes

AEAD : AES-256-GCM ou ChaCha20-Poly1305 (sur CPU sans AES-NI).
IV/nonce : l'unicité est strictement obligatoire ; stocker près de ciphertext ; Ne le répétez pas.
Hachage : mots de passe - Argon2id (ou scrypt/bcrypt) avec sel et paramètres par fer.
IAU/signatures : HMAC-SHA-256 pour l'intégrité, ou AEAD étiquette intégrée.

3. 4 Pratiques pour les bases de données/fichiers

PostgreSQL : pgcrypto/extensions ; sur write - crypter les champs sensibles dans l'application.
Stockage Mongo/Doc : client-side FLE, clés dans KMS.
Backups : clés individuelles et disponibles uniquement auprès d'un agent CI/CD ; copies offsite - toujours cryptées.

4) Gestion des clés (KMS/HSM/Vault)

Source de vérité : KMS/HSM ; les clés privées ne quittent pas l'appareil/le service.
Versioning : 'kid', 'purpose', 'alg', 'created _ at', 'rotates _ at'.
Accès : least-privilège ; séparation des tâches (SoD).
Rotation : programmée (3-6 mois pour la signature), par événement (incident), rotate-on-use pour les tokens refresh.
Audit : journaux immuables : qui, quand, ce qu'il a signé/décodé.
Multi-tenant : clés per-tenant/brand/region ; BYOK/HYOK aux exigences du client.

5) Chiffrement « dans le canal » (TLS)

5. 1 Minimums

TLS 1. 2 +, de préférence TLS 1. 3; HSTS sur les domaines.
Chiffrosuites : TLS1. 3 - prédéfinis (AES_256_GCM_SHA384/ CHACHA20_POLY1305_SHA256).
PFS : tous les échanges clés sont éphémères (ECDHE).
ALPN : HTTP/2 et HTTP/3 (QUIC) inclure consciemment ; surveillez les temporisateurs.

5. 2 certificats, OCSP, pinning

OCSP stapling et chaînes courtes.
Réemploi des sessions : Tickets TLS avec un court TTL.
0-RTT (TLS 1. 3) : inclure avec soin (GET idempotent uniquement).
Pinning : seulement 'public-key pinning via TSP/Key continuity' dans les applications/mobiles (HPKP non rigide).
mTLS : à l'intérieur du périmètre/entre les services et les partenaires ; Certification SAN.

5. 3 gRPC/HTTP/QUIC

gRPC transmet des Deadline et des métadonnées - vérifiez et limitez le temps d'exécution.
Le HTTP/3 (QUIC) accélère le premier byte ; vérifier la compatibilité WAF/équilibreurs.

6) mTLS et service-mash

SPIFFE/SPIRE ou mesh-CA pour la délivrance automatique de certificats courts (7-30 jours).
Politiciens : qui parle à qui (SVID→SVID), authZ au niveau L7.
Rotation - transparente ; revoke via trust-bundle mises à jour.

7) Performance et fonctionnement

AES-NI : sur les serveurs supportés - AES-GCM est plus rapide. Sur mobile/ancien CPU - ChaCha20-Poly1305.
Tuning TLS : clés courtes avec PFS, mais dans des limites raisonnables (P-256/25519) ; cache-mains.
Batching : minimiser les petites demandes ; TLS-overhead est proportionnel au nombre de connexions.
Offload : TLS sur le périmètre (Envoy/NGINX), intérieur - mTLS dans mesh.

8) Les politiques des secrets et des loges

Secrets uniquement dans KMS/Vault ; dans Kubernetes - chiffrement etcd + fournisseur KMS.
Interdiction des logs : clés/jetons/PAN/secrets ; masquage.
Snapshots/vides : chiffrer et restreindre l'accès ; surveiller les appels aux clés.

9) Configis et exemples

9. 1 NGINX (profil strict TLS)

nginx ssl_protocols TLSv1. 2 TLSv1. 3;
ssl_prefer_server_ciphers on;
ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384;
ssl_ecdh_curve X25519:P-256;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

9. 2 Envoy (mTLS à apstream, pseudo)

yaml transport_socket:
name: envoy. transport_sockets. tls typed_config:
common_tls_context:
tls_params:
tls_minimum_protocol_version: TLSv1_2 tls_certificate_sds_secret_configs:
- name: service_cert # client certificate validation_context_sds_secret_config:
name: mesh_ca_bundle # trusted roots

9. 3 Exemple d'utilisation de l'AEAD (pseudo)

pseudo nonce = random(12)
ciphertext, tag = AES256_GCM. encrypt(key=DEK, nonce, aad=tenant    object_id, plaintext)
store(nonce    ciphertext    tag)

10) Rotation et révocation des clés

JWKS/' kid 'pour JWT ; court 'bou'.
Listes 'jti '/' sid'pour la révocation de tokens avec TTL.
Secrets HMAC (webhooks) : actif + canarien ; la réception des deux avant la date extrême.
TLS : alertes T-30/T-7/T-1, renouvellement automatique, canary sécurisé.

11) Observabilité et alertes

Метрики: `tls_handshake_fail_total{reason}`, `tls_version_share`, `cipher_share`, `ocsp_stapling_errors`, `kms_ops_total{op}`, `decrypt_fail_total`, `jwks_kid_share`.
Logs d'accès : protocole/version/chiffrement (pas de secrets).
Alert : certificats expirés, sursaut de « bad _ record _ mac », croissance de « chaînes méfiantes », décryptages ratés.

12) Spécificité de l'iGaming/Finance

Flux PAN-safe : Tokenization, stockage de tokens uniquement ; Le PAN a un stockage PSP/token.
PCI DSS : cryptage des données des détenteurs de cartes, limitation de l'accès aux clés, journal des opérations crypto, segmentation du réseau.
Régionalité : clés et données dans la région du joueur (latence/souveraineté).
Backoffice : mTLS + SSO, sessions courtes, FIDO2 pour les admins.

13) Anti-modèles

TLS < 1. 2; chiffrements faibles autorisés/RC4/3DES.
Les secrets « éternels » communs et les clés sans rotation et « kid ».
Répétition IV/nonce dans GCM (fatale à la sécurité).
Logs avec secrets/clés/données pan.
TDE uniquement sans chiffrement des champs sensibles.
HPKP-pinning dans la vente (risque de « auto-enregistrement »).
0-RTT sur write/non-idempotent.

14) Chèque-liste prod-prêt

  • Classification des données et politique de cryptage (par classe).
  • AEAD (AES-GCM/ChaCha20-Poly1305); un nonce unique ; Argon2id pour les mots de passe.
  • Encryptage Envelope : DEK par objet/tenant ; KEK в KMS/HSM.
  • TLS 1. 2+/1. 3, HSTS, OCSP stapling; un ensemble raisonnable de codes.
  • mTLS à l'intérieur ; délivrance/rotation automatique de certificats courts.
  • JWKS/' kid ', courts' bou ', listes' jti '; rotation des secrets/gris avec chevauchement.
  • Les backups et les logs sont cryptés ; les accès et les opérations sont vérifiés.
  • Dashboards/alertes selon TLS/KMS/JWKS ; tests de dégradation et canary.
  • Documentation : procédures d'incident (compromission de clé/sert).

15) TL; DR

Crypter partout : dans le canal - TLS 1. 3/1. 2 avec PFS et périmètre strict ; à l'intérieur - mTLS. Au repos - envelope (DEK/KEK) avec les clés dans KMS/HSM, crypter granulairement les champs sensibles. Gérer les clés via 'kid '/JWKS et rotation régulière avec recouvrement, stocker les journaux d'opérations crypto. Choisissez AES-GCM (ou ChaCha20-Poly1305), ne reuse pas, crypter les backups/logs. Pour iGaming/PAN - Tokenization et segmentation PCI consciente.

Contact

Prendre contact

Contactez-nous pour toute question ou demande d’assistance.Nous sommes toujours prêts à vous aider !

Telegram
@Gamble_GC
Commencer l’intégration

L’Email est obligatoire. Telegram ou WhatsApp — optionnels.

Votre nom optionnel
Email optionnel
Objet optionnel
Message optionnel
Telegram optionnel
@
Si vous indiquez Telegram — nous vous répondrons aussi là-bas.
WhatsApp optionnel
Format : +code pays et numéro (ex. +33XXXXXXXXX).

En cliquant sur ce bouton, vous acceptez le traitement de vos données.