Les adresses e-mail et les numéros de téléphone des clients sont des informations personnelles identifiables (PII). Il s'agit de contenu permettant potentiellement d'identifier ou de distinguer une personne donnée. Vous pouvez faire appel au chiffrement pour assurer la protection des adresses e-mail et numéros de téléphone des clients utilisés pour les notifications et les demandes. Pour chiffrer les adresses e-mail, vous devez ajouter les informations fournies dans les rubriques suivantes aux flux d'interaction ou aux transactions.

Le chiffrement des e-mails par Bazaarvoice fonctionne avec l'algorithme RSA (clé 4096 bits). Cette méthode associe une clé publique servant à chiffrer les données avec une clé privée servant à les déchiffrer. Bazaarvoice met la clé publique à disposition de ses clients, et conserve sa clé privée.

Accéder aux clés de chiffrement publiques

Bazaarvoice fournit des clés publiques distinctes pour les environnements de test et de production, et elles ne sont pas interchangeables.

Bazaarvoice vous recommande fortement d'obtenir par programmation une nouvelle clé publique lorsque vous chiffrez des adresses e-mail. Bazaarvoice modifie régulièrement les clés publiques et privées, et les changera immédiatement si elles sont compromises. Les anciennes clés continuent à fonctionner, mais vous pourriez recevoir un avertissement, étant donné que l'obtention de nouvelles clés aide votre entreprise à assurer le plus haut niveau de sécurité.

Vous devez vous assurer que la clé de chiffrement que vous utilisez correspond au bon environnement. L'environnement de production utilise des clés différentes, de sorte que les données à caractère personnel chiffrées avec la clé de pré-production ne peuvent pas être déchiffrées.

Notre clé publique est encodée au format PEM (Privacy Enhanced Mail). Pour éviter les problèmes de format, les données chiffrées doivent être encodées au format hexadécimal.

L'élément <EncryptedEmailAddress> n'est pas ajouté au schéma XML avant la version 14.5 (<Feed xmlns="http://www.bazaarvoice.com/xs/PRR/PostPurchaseFeed/14.5" >). Les clients qui mettent à niveau l'implémentation des flux doivent utiliser un schéma de version 14.5 ou supérieure (14.7 est la version appropriée).

Vous pouvez utiliser une clé de chiffrement / un ID de clé unique pour chiffrer tous les enregistrements dans le pixel ou le flux. Pour les jeux de données volumineux, si vous appelez l'API pour chaque enregistrement, la clé de chiffrement sera probablement mise à jour pendant la conversion, ce qui entraînera la non-validité du chiffrement.

Pour la production, vous trouverez la dernière clé publique en date à l'URL suivante :

api.bazaarvoice.com/notifications/rsa_encryption_key/public/current/?passkey=pedpamuvhnprx4hazkqe9xwt

Pour l'environnement de test, vous trouverez la dernière clé publique en date à l'URL suivante :

stg.api.bazaarvoice.com/notifications/rsa_encryption_key/public/current/?passkey=9m5v9x6t49c4ecnwvu7av6qb

La réponse JSON aux URL ci-dessus contient la clé publique de chiffrement et son identifiant de clé de chiffrement associé. Vous devez inclure la chaîne encryptionKeyId lorsque vous envoyez des adresses e-mail chiffrées à Bazaarvoice.

Remarque : vous pouvez accéder à la clé de chiffrement et stocker ses valeurs pendant 24 heures.

L'exemple suivant montre une clé publique et la chaîne encryptionKeyId.

Chiffrer les PII du BV Pixel

Si vous envoyez automatiquement des données d'interaction avec BV Pixel, insérez l'identifiant de clé de chiffrement et l'e-mail chiffré avec les autres paramètres d'interaction de demande d'avis. Utilisez les paramètres suivants :

  • encryptedEmail — utilisez ce paramètre au lieu de l'email pour les adresses e-mail des clients.
  • encryptionKeyId — insérez la chaîne encryptionKeyId, située sous la chaîne de la clé publique.

Bazaarvoice recommande les pratiques suivantes pour le chiffrement des e-mails en vue de l'envoi automatique de données d'interaction :

  • Chiffrez les adresses e-mail par le biais d'une opération côté serveur.
    • ENCRYPTION_ALGORITHM: RSA
    • CIPHER_TRANSFORMATION: RSA/ECB/PKCS1Padding
    • ENCRYPTION_KEY_SIZE: 4096
  • Obtenez la clé publique par programmation une fois par jour au minimum pour une sécurité optimale.
  • Pour des performances optimales, ne récupérez pas la clé plus d'une fois par jour.
  • Stockez la clé publique au sein de votre système pour plus de résilience dans la prise en charge des erreurs.

Exemple : données chiffrées de l’adresse e-mail dans le code

L'exemple suivant montre à quoi ressembleraient une adresse e-mail chiffrée et un identifiant de clé de chiffrement dans le code de transaction.

{code:javascript} BV.pixel.trackTransaction({ "orderId" : "55555", "tax" : "1.44", "shipping" : "10.00", "total" : "40.84", "city" : "Austin", "state" : "TX", "country" : "USA", "currency" : "USD", "items" : [ { "sku" : "2245", "name" : "product name", "category" : "category name", "price" : "13.42", "quantity" : "1", "imageURL" : "http://test.com/1.jpg" }, { "sku" : "2246", "name" : "product name2", "imageURL" : "http://test.com/2.jpg" } ], "encryptedEmail" : "70c7dd458232284dd1720a29835fd4aa7afce99f2c587d3db43d19a54375b8afcdcca96206c6b3f99df8f058d1 6bf8bcb98c9b0fd52d6395d8181608e17cfabcb438c8c32415d99a5f856f041ffbb8098728c5680655dbdd68ab c62656eb164781db3c866209b9bfeb980da66037a83b9e282a79d4e9133e21175173b8d139b64de0ad09e3b42f 9727c3a2be79682196de950179b94def664f5172ef887d31497c9d56f9196e7f8073547d95c0ccc04519102dda ef6ff898d99c4067a1e9a5530a552f2562877618d493a2e292a181af2d8d56cb5c9dde4177da8ad1ceaf3eed12 be913bb4a7beb526f5066f82bf91048366f257754fd98b33f0aef2a5c5d63e75c7ed19059099ef56184039bae4 9d69fe554c81110a10d6bbd6244bdfa2aadcca03a6d9b6bb3fbf8979c8a98ab81969d5190da2c49b6abd1ffeaa bded63998b0963da405b81085f7ec1b89ce9a1db6b3df88352e574881da04facb393e7b82ff8fbc78c86ed8374 389c8e160fde89f161872f5787fc39b74b3db873e498f168af726288a5b8546cfad345c8f52e9a8d3c93feae47 3df93713196d6d36dacfae7571afb6a45caa840143e433dfe52c825cf5101f050fea512edc4818c986b241e6b8 cf411daa880f7a0c3c04f94f29edc3fd89eefc3b9673ae78b6f314bc5514176965e13adf0a3b1bfb12d07e100c e288e223443b6b82c69c5caa97d3a0d81d", "encryptionKeyId" : "ENCRYPTION-KEY-ID-2016-07-15T21:17:55.208Z", "locale" : "en_US" }); {code}

Exemple : chiffrement des e-mails à l'aide de la clé publique BV

Voici un exemple de chiffrement des e-mails à l'aide d'une clé publique BV :

/* L'exemple de chiffrement des e-mails à l'aide d'une clé publique BV nécessite : https://www.npmjs.com/package/axios https://www.npmjs.com/package/node-rsa Test effectué avec : "axios": "^0.21.0", "node-rsa": "^1.1.1" "node": "v14.4.0" "npm": "6.14.5" Ce code reflète cette série de bash : 1. Extrayez la clé publique et enregistrez-la dans un fichier, en convertissant les nouvelles lignes en conséquence : $ curl -s "http://stg.api.bazaarvoice.com/notifications/rsa_encryption_key/public/current/?passkey=9m5v9x6t49c4ecnwvu7av6qb" | jq -r '.publicKey' > public_staging_key.pem $ cat public_staging_key.pem 2. Utilisez la clé publique enregistrée pour chiffrer un exemple d'adresse e-mail. Notez que la sortie de l'étape de chiffrement d'OpenSSL est binaire, nous convertissons donc également les données au format hexadécimal et supprimons les nouvelles lignes pour la transmission. $ echo "jerry.garcia@email.com" | openssl rsautl -encrypt -pubin -inkey public_staging_key.pem | xxd -p | tr -d '\n' > encrypted_example_1.txt $ cat encrypted_example_1.txt Clause de non-responsabilité : le code est fourni à titre indicatif pour l'intégration. Le développeur ne donne aucune garantie, expresse ou implicite, et rejette par la présente toutes les garanties implicites, y compris toute garantie de qualité marchande et d'adéquation à un usage particulier. */ const axios = require('axios') const NodeRSA = require('node-rsa'); const encodeEmail = async email => { const res = await axios.get('https://stg.api.bazaarvoice.com/notifications/rsa_encryption_key/public/current/?passkey=9m5v9x6t49c4ecnwvu7av6qb'); const [publicKey, keyId] = [res.data.publicKey, res.data.encryptionKeyId]; //console.log(publicKey) const key = new NodeRSA(); key.importKey(publicKey, 'pkcs8-public'); key.setOptions({encryptionScheme: 'pkcs1'}); //console.log(key.getKeySize()); const encrypted = key.encrypt(email, 'hex'); return [encrypted, keyId] }

Chiffrer les PII des flux d'interaction

Si vous envoyez des données d'interaction manuellement, ajoutez les informations suivantes à votre flux XML :

  • <EncryptedEmailAddress> — utilisez cet élément au lieu de <EmailAddress> pour les adresses e-mail des clients.
  • encryptionKeyID — insérez la chaîne encryptionKeyID située sous la chaîne de la clé publique comme attribut de la balise racine <Feed>.

Bazaarvoice recommande les meilleures pratiques suivantes :

  • Pour des raisons de sécurité, obtenez la clé publique par programmation une fois par jour au minimum.
  • Pour des raisons de performances, récupérez la clé pas plus d'une fois par heure.
  • Pour plus de résilience dans la prise en charge des erreurs, stockez la clé publique au sein de votre système.

Exemple : données d'adresses e-mail chiffrées dans le flux XML pour les demandes d'avis

L'exemple suivant montre à quoi ressemblent une adresse e-mail chiffrée et un identifiant de clé de chiffrement dans un flux d'interaction.

<Feed xmlns="http://www.bazaarvoice.com/xs/PRR/PostPurchaseFeed/14.7" encryptionKeyID="ENCRYPTION-KEY-ID-2016-07-15T21:17:55.208Z"> <Interaction> <TransactionDate>2016-05-07T13:29:40.894</TransactionDate> <EncryptedEmailAddress>70c7dd458232284dd1720a29835fd4aa7afce99f2c587d3db43d19a54375b8afcdcca96206c6b3f99df8f058d1 6bf8bcb98c9b0fd52d6395d8181608e17cfabcb438c8c32415d99a5f856f041ffbb8098728c5680655dbdd68abc62656eb164781db3c866209b9bfeb9 80da66037a83b9e282a79d4e9133e21175173b8d139b64de0ad09e3b42f9727c3a2be79682196de950179b94def664f5172ef887d31497c9d56f9196e 7f8073547d95c0ccc04519102ddaef6ff898d99c4067a1e9a5530a552f2562877618d493a2e292a181af2d8d56cb5c9dde4177da8ad1ceaf3eed129d6 9fe554c81110a10d6bbd6244bdfa2aadcca03a6d9b6bb3fbf8979c8a98ab81969d5190da2c49b6abd1ffeaabded63998b0963da405b81085f7ec1b89c e9a1db6b3df88352e574881da04facb393e7b82ff8fbc78c86ed8374389c8e160fde89f161872f5787fc39b74b3db873cfad345c8f52e9a8d3c93feae 473df93713196d6d36dacfae7571afb6a45caa840143e433dfe52c825cf5101f050fea512edc4818c986b241e6b8cf411daa880f7a0c3c04f94f29edc 3fd89eefc3b9673ae78b6f314bc5514176965e13adf0a3b1bfb12d07e100ce288e223443b6b82c69c5caa97d3a0d81d</EncryptedEmailAddress> <Locale>en_US</Locale> <UserName>nickname1</UserName> <UserID>718737491</UserID> <Products> <Product> <ExternalId>prod01</ExternalId> <Name>Product 1</Name> <ImageUrl>http://test.cimages/products/01.jpg</ImageUrl> <Price>20.61</Price> </Product> </Products> </Interaction> </Feed>   

Vérification du chiffrement des e-mails

Si le chiffrement des e-mails n'est pas correct, la tâche d'importation des demandes d'avis échoue. Utilisez les conseils utiles suivants pour chiffrer les e-mails :

  • Si vous chiffrez la même adresse e-mail plusieurs fois en utilisant la même clé privée, le résultat sera différent à chaque fois. Vous pourrez valider/faire correspondre les résultats en déchiffrant les chaînes chiffrées à l'aide de la même clé privée que celle utilisée pour le chiffrement.
  • Si vous chiffrez les adresses e-mail à l'aide d'une autre méthode que celle recommandée, son utilisation entraînera des erreurs dans l'outil.