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 |
| sous | Identifiant de l'enregistrement de licence |
| aud | Identifiant de l'application (lorsqu'il est défini) |
| exp/iat/nbf | Réclamations de temps JWT standard |
| jti | Identifiant de jeton unique par émission |
| jeton_use | Doit être licensechain_license_v1 |
| lc_vt | basique | avancé | coutume |
| vendeur_tier | Chaîne de niveau du plan du vendeur |
| statut | Statut de la licence |
| hw_bound | Si HWUID était satisfait pour cette vérification |
| plan / fonctionnalités | À partir des métadonnées de licence lorsqu'elles sont présentes |
| licence_exp | Expiration 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
callbackSecretcôté serveur uniquement : utilisé pour les webhooks de redirection miroir HMAC et Pay Merchant. - Ne jamais intégrer
callbackSecretdans 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/validateavant d'accorder l'accès. - Tourner
callbackSecretvia 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
ADMINrôle : n'exposez pas les clés API d'administrateur aux applications destinées aux vendeurs.