Guide de sécurité

Découvrez comment mettre en œuvre une sécurité de niveau entreprise pour votre système de gestion des licences avec les meilleures pratiques et mesures de sécurité.

Présentation de la sécurité

La sécurité est primordiale dans les systèmes de gestion des licences. Ce guide couvre des mesures de sécurité complètes pour protéger vos licences, vos données clients et vos opérations commerciales.

Nous couvrirons les exigences en matière de chiffrement, d'authentification, d'autorisation, de surveillance et de conformité. pour garantir que votre système de licence est sécurisé et digne de confiance.

Piliers de sécurité

Protection des données

  • Chiffrement de bout en bout
  • Stockage sécurisé des données
  • Anonymisation des données
  • Sauvegarde et récupération

Contrôle d'accès

  • Authentification multifacteur
  • Contrôle d'accès basé sur les rôles
  • Gestion des clés API
  • Gestion des séances

Assertion de licence JWT (RS256)

Lorsque l'API Core est configurée avec des clés de signature, succès POST /v1/licenses/verify et POST /v1/licenses/validate-hardware les réponses peuvent inclure license_token (un JWT), license_token_expires_at, et license_jwks_uri. Les intégrateurs vérifient le JWT hors ligne en utilisant les clés publiques de GET /v1/licenses/jwks (JWKS). N’expédiez jamais les API privé clé de signature dans les applications de bureau, mobiles ou de navigateur.

Asymétrique uniquement dans les applications client : intégrer ou récupérer le publique URL JWKS, résolvez le JWK en kid dans l'en-tête JWT et vérifiez RS256. Les secrets partagés HMAC sont appropriés pour serveur à serveur webhooks, pas pour les binaires largement distribués.

Vérification de réclamation obligatoire : rejeter les jetons à moins que token_use est égal licensechain_license_v1 (évite de confondre ce JWT avec une session ou d'autres jetons).

aud: lorsqu'il est présent, correspond à votre tableau de bord identifiant de l'application. Votre vérificateur doit s'assurer aud équivaut à l'application que vous attendez avant de déverrouiller les fonctionnalités.

TTL et actualisation : La durée de vie de l'assertion dépend du niveau du vendeur sur l'API (lc_vt: basique ≈ 15m, avancé ≈ 1h, personnalisé ≈ 24h). Avant exp, appelez à nouveau verify pour obtenir un nouveau jeton. Mettre en cache JWKS brièvement (par exemple, quelques minutes) et récupérer à nouveau sur un inconnu kid ou échec de la vérification après la rotation.

Vérifications faisant autorité sur le serveur : lorsque l'acceptation de JWT hors ligne n'est pas suffisante (par exemple, révocation immédiate, application de la politique côté application), appelez POST /v1/licenses/introspect avec license_token. L'API vérifie la signature + les réclamations et renvoie en direct active statut de la base de données.

Révocation de la liste de refus : les backends authentifiés peuvent révoquer un JWT spécifique émis via POST /v1/licenses/revoke-token (par jeton jti). Après la révocation, l'introspection revient active: false avec raison token_revoked.

Référence de la réclamation (non exhaustive)

Réclamer Signification
estÉmetteur (API); URL de l'API par défaut
sousIdentifiant de l'enregistrement de licence
audIdentifiant de l'application (lorsqu'il est défini)
exp/iat/nbfRéclamations de temps JWT standard
jtiIdentifiant de jeton unique par émission
jeton_useDoit être licensechain_license_v1
lc_vtbasique | avancé | coutume
vendeur_tierChaîne de niveau du plan du vendeur
statutStatut de la licence
hw_boundSi HWUID était satisfait pour cette vérification
plan / fonctionnalitésÀ partir des métadonnées de licence lorsqu'elles sont présentes
licence_expExpiration de la licence en secondes Unix (si défini)

Voir aussi Licences et Référence API.

Cryptage

Cryptage des données

Toutes les données sensibles sont cryptées à l'aide d'algorithmes de cryptage conformes aux normes de l'industrie.

Chiffrement au repos

  • Cryptage AES-256 pour la base de données
  • Stockage de fichiers cryptés
  • Gestion sécurisée des clés
  • Rotation régulière des clés

Chiffrement en transit

  • TLS 1.3 pour toutes les communications
  • Épinglage du certificat
  • Secret de transfert parfait
  • En-têtes HSTS

Sécurité des API

Sécurisez les communications API avec une authentification et une autorisation appropriées.

// API request with proper headers
// Set authorization and content type
// Include API version and request ID
// Send license verification request

Authentification et autorisation

Authentification multifacteur

  • Prise en charge de TOTP (mot de passe à usage unique basé sur le temps)
  • Vérification par SMS
  • Clés de sécurité matérielles (FIDO2/WebAuthn)
  • Authentification biométrique
  • Codes de sauvegarde pour la récupération de compte

Contrôle d'accès basé sur les rôles

  • Système d'autorisations granulaires
  • Gestion des accès en équipe
  • Autorisations au niveau des ressources
  • Piste d'audit pour toutes les actions
  • Examens d'accès réguliers

Gestion des clés API

  • Clés API étendues avec autorisations limitées
  • Rotation et expiration des clés
  • Surveillance de l'utilisation et alertes
  • Capacités de révocation
  • Clés spécifiques à l'environnement

Surveillance et journalisation

Surveillance de la sécurité

  • Détection des menaces en temps réel
  • Algorithmes de détection d'anomalies
  • Surveillance des tentatives de connexion ayant échoué
  • Alertes d'activité suspecte
  • Surveillance de l'accès géographique

Journalisation d'audit

  • Journalisation complète des activités
  • Pistes d'audit immuables
  • Vérification de l'intégrité des journaux
  • Conservation des journaux à long terme
  • Rapports de conformité

Réponse aux incidents

  • Détection automatisée des incidents
  • Procédures d'escalade
  • Manuels de réponse
  • Analyse post-incident
  • Amélioration continue

Conformité et normes

SOC2 Type II

  • Audits annuels par des tiers
  • Contrôles de sécurité, de disponibilité et de confidentialité
  • Vérification de l'intégrité du traitement
  • Mesures de protection de la vie privée
  • Surveillance et amélioration continue

Conformité RGPD

  • Mise en œuvre des droits des personnes concernées
  • Principes de confidentialité dès la conception
  • Accords de traitement des données
  • Droit à l'oubli
  • Prise en charge de la portabilité des données

OIN 27001

  • Système de gestion de la sécurité de l'information
  • Évaluation et gestion des risques
  • Mise en œuvre de la politique de sécurité
  • Formation régulière en matière de sécurité
  • Processus d’amélioration continue

Meilleures pratiques de sécurité

Sécurité du développement

  • Pratiques de codage sécurisées et révisions de code
  • Analyse des vulnérabilités des dépendances
  • Tests de sécurité automatisés
  • Cycle de vie de développement sécurisé
  • Formation régulière à la sécurité pour les développeurs

Sécurité des infrastructures

  • Segmentation du réseau et pare-feu
  • Détection et prévention des intrusions
  • Mises à jour et correctifs de sécurité réguliers
  • Gestion sécurisée des configurations
  • Reprise après sinistre et continuité des activités

Secrets Pay, Mirror et Webhook

  • Conserver le produit callbackSecret côté serveur uniquement : utilisé pour les webhooks de redirection miroir HMAC et Pay Merchant.
  • Ne jamais intégrer callbackSecret dans les bundles frontend, les applications mobiles ou les scripts côté client WooCommerce.
  • Utilisez le modèle de signature correct par canal - Core API (guide des webhooks), Payer (webhooks marchands), Miroir (SDK miroir).
  • Échec fermé sur les retours miroir : vérifier signature, puis appelle /api/checkout/mirror/validate avant d'accorder l'accès.
  • Tourner callbackSecret via l'API du produit en cas de fuite ; mettez à jour rapidement les variables d'environnement WooCommerce/Mirror SDK.
  • Les routes d'analyse de l'API de base nécessitent ADMIN rôle : n'exposez pas les clés API d'administrateur aux applications destinées aux vendeurs.