Chiffrement de la charge utile
Pour des raisons de sécurité, toutes les demandes envoyées à nos interfaces API de paiement et toutes les réponses provenant de celles-ci, ainsi que les champs partagés via notre interface API de validation de compte, doivent être chiffrées. Cette page explique le processus.
Endpoints Summary
Obtenir la clé publique
La première étape du processus de chiffrement consiste à demander une clé publique et son numéro de clé auprès de nous, puis à stocker ces informations de manière sécurisée.
Request
Code Samples
Headers
Body
Générer la clé de chiffrement du contenu (CEK)
Ensuite, vous devez créer une clé de chiffrement symétrique du contenu (CEK) de 32 octets et la stocker en toute sécurité.
Générer le vecteur d'initialisation (IV)
Créez un vecteur d'initialisation (IV) de 12 octets et ajoutez « Additional Authenticated Data » (AAD) (AES-256-GCM).
Chiffrer le message
Maintenant que votre CEK et votre IV sont prêts, chiffrons votre charge utile:
- Assurez-vous que le message d'entrée que vous souhaitez chiffrer est au format chaîne/texte.
- L'objet JSON doit être au format JSON chaîne.
- L'encodage par défaut doit être UTF-8.
- Sélectionnez l'algorithme de chiffrement symétrique CEK AES-256-GCM.
- Appliquez l'algorithme de chiffrement, la clé CEK et l'IV au message d'entrée pour générer le tampon du message chiffré.
- Appliquez le codage base64 au tampon de message chiffré pour générer un texte chiffré au format chaîne/texte.
Générer l'en-tête x-crypto-key
Avant de pouvoir partager votre charge utile chiffrée, vous devez générer votre en-tête x-crypto-key. L'en-tête comprendra jusqu'à 5 parties pour AES-256-GCM, toutes concaténées pour former l'en-tête final. Une fois généré, vous transmettrez ensuite la clé x-crypto-key dans l'en-tête de vos demandes API avec la charge utile chiffrée.
- Pour la partie 1, appliquez le codage base64 au numéro de clé de la clé publique que vous avez récupérée auprès de nous précédemment.
- Pour la partie 2, chiffrez la clé CEK que vous avez générée précédemment à l'aide de la clé publique. Assurez-vous que le remplissage est défini sur RSA_PKCS1_OAEP_PADDING (AES-256-GCM). Appliquez ensuite le codage base64 à la clé CEK chiffrée.
- Pour la partie 3, hachez votre CEK à l'aide de l'algorithme SHA-256. Appliquez ensuite un encodage base64 au CEK haché.
- Étape 4 : Pour la partie 4, appliquez le codage base64 à l'IV que vous avez généré précédemment. (AES-256-GCM)
- Pour la partie 5, identifiez le mode de remplissage utilisé dans le chiffrement de l'enveloppe du CEK. Cette partie est facultative.
- Pour l'en-tête x-crypto-key final, concaténez toutes les parties en utilisant « . » (point simple) comme délimiteur.
- Exemple de format final si OAEP est utilisé pour chiffrer le CEK : Base64(keyid).Base64(encrypted CEK).base64(hashed CEK).base64(IV).GCM
- Exemple de format final si SHA256 est utilisé pour chiffrer la clé CEK : Base64(keyid).Base64(encrypted CEK).base64(hashed CEK).base64(IV).GCM-256