E-Mail-Adressen und Telefonnummern von Kunden gelten als personenbezogene Daten und sind dementsprechend Inhalte, die potenziell eine Person identifizierbar machen. Sie können durch Verschlüsselung die Sicherheit der E-Mail-Adressen und Telefonnummern gewährleisten, die für Benachrichtigungen und Anfragen verwendet werden. Zum Verschlüsseln der E-Mail-Adressen müssen Sie die in den folgenden Abschnitten beschriebenen Informationen den Transaktion-Feeds oder den Transaktionen hinzufügen.

Die E-Mail-Verschlüsselung von Bazaarvoice basiert auf dem RSA-Algorithmus (4096-Bit-Schlüssel). RSA weist einem öffentlichen Schlüssel zum Verschlüsseln von Daten einem privaten Schlüssel zur Entschlüsselung zu. Bazaarvoice macht den Kunden einen gemeinsamen öffentlichen Schlüssel zugänglich und unterhält einen privaten Schlüssel.

Zugriff auf öffentliche Schlüssel

Bazaarvoice gibt getrennte öffentliche Schlüssel sowohl für Staging- als auch für Produktionsumgebungen heraus, die nicht untereinander austauschbar sind.

Bazaarvoice empfiehlt dringend, dass Sie das Anfordern eines neuen öffentlichen Schlüssels beim Verschlüsseln von E-Mal-Adressen per Programm vorgeben. Bazaarvoice wechselt die öffentlichen und privaten Schlüssel regelmäßig aus – und wenn ihre Sicherheit gefährdet ist, erfolgt der Wechsel sofort. Ältere Schlüssel funktionieren weiter, doch erhalten Sie unter Umständen eine Warnung, da das Anfordern neuer Verschlüsselungen Ihrem Unternehmen die Einhaltung höchster Sicherheitsstandards ermöglicht.

Sie müssen sicherstellen, dass der verwendete Schlüssel zur richtigen Umgebung passt. Die Produktionsumgebung verwendet andere Schlüssel, sodass personenbezogene Daten, die mit dem Staging-Schlüssel verschlüsselt wurden, nicht entschlüsselt werden können.

Unser öffentlicher Schlüssel ist im PEM-Format (Privacy Enhanced Mail) verschlüsselt. Zur Vermeidung von Formatproblemen müssen die verschlüsselten Daten hexkodiert sein.

Das <EncryptedEmailAddress>-Element wird erst ab der Version 14.5 (<Feed xmlns="http://www.bazaarvoice.com/xs/PRR/PostPurchaseFeed/14.5" >) zum XML-Schema hinzugefügt. Die Feed-Implementierung muss mit einem Schema der Version 14.5 oder einer höheren Version aktualisiert werden (14.7 ist die richtige Version).

Sie können mit einem einzigen Schlüssel/Schlüssel-ID alle Datensätze im Pixel oder Feed verschlüsseln. Wenn Sie bei großen Datensätzen die API jedes einzelnen Datensatzes aufrufen, wird der Schlüssel während der Umwandlung wahrscheinlich aktualisiert, was eine ungültige Verschlüsselung zur Folge hat.

Für die Produktion finden Sie die aktuellsten öffentlichen Schlüssel unter folgender URL:

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

Für das Staging finden Sie die aktuellsten öffentlichen Schlüssel unter folgender URL:

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

Die Antwort im JSON-Format auf oben angegebene URL enthält den öffentlichen Schlüssel und dessen zugeordnete Verschlüsselungscode-Kennung. Sie müssen die String encryptionKeyId einfügen, wenn Sie verschlüsselte E-Mail-Adressen an Bazaarvoice senden.

Hinweis: Sie können 24 Stunden lang auf den Schlüssel zugreifen und seine Werte speichern.

Im folgenden Beispiel sehen Sie einen öffentlichen Schlüssel und die String encryptionKeyId:

BV-Pixel-PII verschlüsseln

Wenn Sie Interaktions-Daten automatisch mit BV Pixel senden, beziehen Sie die Verschlüsselungscode-Kennung und die verschlüsselte E-Mail mit anderen Interaktionsparametern für Bewertungsanfragen ein. Verwenden Sie die folgenden Parameter:

  • encryptedEmail – Benutzen Sie diesen Parameter anstelle der E-Mail-Adresse für Kunden-E-Mail-Adressen.
  • encryptionKeyId – Integrieren Sie den String encryptionKeyId unter dem String des öffentlichen Schlüssels.

Bazaarvoice empfiehlt die folgenden Vorgehensweisen beim Verschlüsseln von E-Mail-Adressen für das automatische Senden von Interaktionsdaten:

  • Verschlüsseln von E-Mail-Adressen über eine serverseitige Operation.
    • ENCRYPTION_ALGORITHM: RSA
    • CIPHER_TRANSFORMATION: RSA/ECB/PKCS1Padding
    • ENCRYPTION_KEY_SIZE: 4096
  • Rufen Sie für ein optimales Maß an Sicherheit den öffentlichen Schlüssel durch Ihre Programmierung mindestens einmal täglich ab.
  • Rufen Sie den Schlüssel maximal einmal am Tag ab, um eine optimale Leistung zu erzielen.
  • Speichern Sie den öffentlichen Schlüssel in Ihrem System für eine flexible Fehlerbehebung.

Beispiel: Verschlüsselte E-Mail-Adress-Daten im Code

Folgendes Beispiel zeigt, wie eine verschlüsselte E-Mail-Adresse und eine Verschlüsselungscode-Kennung im Transaktionscode aussehen würden.

{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}

Beispiel: E-Mail-Verschlüsselung mit einem öffentlichen BV-Schlüssel

Dies ist ein Beispiel für eine E-Mail-Verschlüsselung mit einem öffentlichen BV-Schlüssel:

/* Beispiel einer E-Mail-Verschlüsselung unter Verwendung eines öffentlichen BV-Schlüssels erfordert: https://www.npmjs.com/package/axios https://www.npmjs.com/package/node-rsa Getestet unter Verwendung von: "axios": "^0.21.0", "node-rsa": "^1.1.1" "node": "v14.4.0" "npm": "6.14.5" Dieser Code spiegelt diese Bash-Serie wider: 1. Extrahieren Sie den öffentlichen Schlüssel und speichern Sie ihn in einer Datei, wobei Sie Zeilenumbrüche folgendermaßen umwandeln: $ 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. Verschlüsseln Sie mit dem gespeicherten öffentlichen Schlüssel eine Beispiel-E-Mail-Adresse. Da der Output aus dem Verschlüsselungsschritt von OpenSSL binär ist, wandeln wir die Daten auch in ein Hex-Format um und entfernen Zeilenumbrüche für die Übertragung. $ 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 Haftungsausschluss: Der Code wird als allgemeine Richtlinie für die Integration bereitgestellt. Der Entwickler gibt keine ausdrücklichen oder stillschweigenden Garantien und lehnt hiermit alle stillschweigenden Garantien ab, einschließlich der Garantie der Marktgängigkeit und der Garantie der Eignung für einen bestimmten Zweck. */ 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] }

Interaktions-Feed-PII verschlüsseln

Wenn Sie Interaktionsdaten manuell senden, fügen Sie Ihrem XML-Feed die folgenden Informationen hinzu:

  • <EncryptedEmailAddress> – Verwenden Sie dieses Element anstelle von <EmailAddress> für Kunden-E-Mail-Adressen.
  • encryptionKeyID – Fügen Sie den String encryptionKeyID unter dem String des öffentlichen Schlüssels als Attribut des Stammtags <Feed> ein.

Bazaarvoice empfiehlt die folgenden optimalen Verfahren:

  • Aus Sicherheitsgründen sollte Ihre Programmierung den öffentlichen Schlüssel mindestens einmal täglich abrufen.
  • Um die Leistung nicht zu beeinträchtigen, sollte Ihre Programmierung den öffentlichen Schlüssel höchstens einmal stündlich abrufen.
  • Um eine flexible Fehlerbehebung zu gewährleisten, speichern Sie den öffentlichen Schlüssel in Ihrem System.

Beispiel: Verschlüsselte E-Mail-Adressdaten im XML-Feed für Bewertungsanfragen

Das folgende Beispiel zeigt, wie eine verschlüsselte E-Mail-Adresse und eine Verschlüsselungscode-Kennung in einem Interaktions-Feed aussehen würden.

<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>   

Verifizierung der E-Mail-Verschlüsselung

Wenn die E-Mail-Verschlüsselung nicht korrekt ist, kann der Importauftrag für die Bewertungsanfrage nicht ausgeführt werden. Stellen Sie mit den folgenden hilfreichen Tipps eine erfolgreiche E-Mail-Verschlüsselung sicher:

  • Wenn Sie dieselbe E-Mail-Adresse mehr als einmal mit demselben privaten Schlüssel verschlüsseln, variiert der Output jedes Mal. Sie können die Outputs validieren/abgleichen, indem Sie die verschlüsselten Strings mit demselben privaten Schlüssel entschlüsseln, mit dem sie verschlüsselt wurden.
  • Wenn Sie die E-Mail-Adressen mit einer anderen als der empfohlenen Methode verschlüsseln, kommt es bei der Verwendung dieses Inputs zu Fehlern im Tool.