Comment encoder ou chiffrer les attributs contenus dans un URL ?

Protéger les informations personnelles des répondants est une étape cruciale pour garantir la conformité des données collectées par vos questionnaires.

Dans cet article, nous vous présentons les solutions pour encoder ou chiffrer les attributs contenus dans un URL, garantissant ainsi leur confidentialité et leur intégrité durant les étapes de collecte, de transmission et d'analyse des données.

Si vous souhaitez en savoir plus sur la conformité de la collecte de données avec la réglementation en vigueur, nous vous invitons à consulter l'article Se conformer au RGPD avec Skeepers Feedback Management.

Nous vous conseillons de transmettre cette documentation aux équipes gérant l’intégration des données dans votre outil d’envoi d’email ou de SMS externe à Skeepers.

Présentation

Skeepers Feedback Management vous propose deux méthodes distinctes qui offrent plus ou moins de sécurité :

  Encodage Base64

Chiffrement AEAD

Objectif Convertit les attributs présents dans l'URL dans des caractères ASCII

Sécurise les attributs présents dans l'URL et assure l'intégrité des données

Nature Ne chiffre pas les données et n'ajoute aucune protection contre la lecture ou l'altération des données Chiffre les données pour les rendre illisibles sans une clé appropriée et ajoute une authentification pour vérifier que les données n'ont pas été altérées
Limites Peut facilement être décodée avec un convertisseur, rendant l'encodage insuffisant pour la protection des informations sensibles Nécessite une gestion appropriée des clés pour assurer la sécurité

La méthode d'encodage en base64

Présentation

Pour masquer aux répondants les attributs et leurs valeurs habituellement visibles dans l'URL de vos questionnaires, vous pouvez recourir à l'encodage des attributs en base64.

Contrairement à la méthode de chiffrement AEAD, la méthode d'encodage base 64 n'offre pas un niveau de sécurité élevée car les attributs sont seulement encodés. Il est possible de les décoder facilement avec un convertisseur. Cette méthode est simple à mettre en œuvre mais ne se contente que de "brouiller" les informations personnelles présentes dans l'URL, elle ne les sécurise pas.

Mise en œuvre

Voici la procédure à mettre en place pour utiliser la méthode d'encodage en base64 :

1. Générer un nouveau lien URL (avec code ou avec valorisation manuelle des attributs) pour un questionnaire prêt à être déployé.

2. Isoler les paramètres de l'URL contenant les attributs et leurs valeurs "d:attribut1=valeur1&d:attribut2=valeur2&d:attribut3=valeur3". Le paramètre de langue "lang" et "value" ne doivent pas être encodés.

3. Utiliser un outil externe à Skeepers (service en ligne, IA, logiciel ou script) pour encoder en base64 la chaîne des paramètres de l'URL qui correspond aux attributs.

3. Reconstituer l'URL tracké en reliant l'URL d'accès au questionnaire avec les attributs encodés en base64 (sans oublier le "=").

4. Si vous l'avez défini dans le lien orignal, ajouter à la fin de l'URL le paramètre de langue.

L'URL tracké qui permet d'accéder à votre questionnaire et dont les attributs sont masqués aux répondants est prêt à être déployé.

Pour des raisons techniques et fonctionnelles, la gestion du décodage de la chaîne encodée en base64 diffère entre une intégration classique et une intégration avec première question avec pré-remplissage ou enregistrement au clic. En cas d'intégration de la première question embarquée, si l'encodage URL n'est pas utilisé, le décodage de la chaîne base64 peut être incorrect lorsque celle-ci contient des caractères chinois ou japonais. Ces alphabets, lorsqu'ils sont convertis en base64, peuvent générer des caractères spéciaux perturbant le décodage. Il est donc recommandé d'utiliser un encodage URL dans ce cas.

La méthode de chiffrement AEAD

Présentation

Pour masquer aux répondants les attributs et leurs valeurs habituellement visibles dans l'URL de vos questionnaires mais aussi pour assurer la confidentialité et l'authenticité des données, vous pouvez recourir au chiffrement AEAD.

Contrairement à la méthode d'encodage base64, la méthode de chiffrement AEAD (Authenticated Encryption with Associated Data) offre un niveau de sécurité élevée. Cette méthode aborde une approche EtM (Encrypt then MAC) pour assurer l'intégrité des données en utilisant une clé pour chiffrer le payload (EncryptKey) et une seconde clé pour le MAC part (Authkey). Elle nécessite une plus importante configuration que l'encodage base64 car les 2 clés doivent être générées depuis votre instance Skeepers et il est nécessaire de créer au préalable un payload au format JSON contenant les données métiers sous forme d'attributs.

Mise en œuvre

Voici la procédure à mettre en place pour utiliser la méthode de chiffrement AEAD :

1. Sur la plateforme Skeepers Feedback Management et avec les droits appropriés, se rendre dans la catégorie 'Paramètres' accessible par le menu latéral gauche. Accéder à la section 'Chiffrement'.

2. Si aucune paire de clé n'a jamais été générée sur le compte, cliquer sur le bouton "Générer des clés". Une nouvelle clé de chiffrement et une nouvelle clé d'authentification seront ainsi créées.

Un compte Skeepers peut être associé à une seule paire de clés à la fois. Si nécessaire, une paire de clés peut être révoquée en contactant le Support de Skeepers. Lorsqu'une paire de clés est révoquée, tous les liens générés avant la révocation, contenant des données chiffrées avec cette paire, deviendront invalides. Une nouvelle paire de clés pourra alors être générée selon la procédure décrite ici.

3. Créer le payload au format JSON contenant les données métiers (attributs) selon la structure suivante :

{

"attribut1": "valeur1",

"attribut2: "valeur"

}

4. Chiffrer le payload en utilisant l'algorithme AES-CBC avec la clé de chiffrement de 256 bits récupérée dans la plateforme, un bloc de taille 128 bits et le mode de padding PKCS7.

5. Générer ensuite un vecteur d'initialisation (IV) en fonction de la taille du bloc de taille 128 bits, puis procéder au chiffrement du payload JSON avec la clé de chiffrement et l'IV.

6. Générer une signature pour le ciphertext obtenu en utilisant l'algorithme HMAC-SHA256 et la clé d'authentification récupérée dans la plateforme. Déterminer le HMAC en hachant le IV concaténé du ciphertext :

HMAC = HMAC-SHA256(IV + ciphertext)

7. Encoder en base64 la combinaison de l'IV, du ciphertext et du HMAC :

base64_payload = base64(IV + ciphertext + HMAC)

Enfin, étant donné que le base64 peut contenir des caractères spéciaux comme le "/" et le "+", il est nécessaire d'encoder l'URL du payload chiffré et signé avant de l'ajouter à l'URL du questionnaire :

payload = urlencode(base64_payload)

8. Si l'URL est partagé au sein d'un modèle d'email, il est nécessaire d'intégrer l'URL du questionnaire sous la forme suivante :

"https://room.myfeelback.com/websites/xxxxxxxxxxxxxxx?p="

 

Si vous souhaitez ajouter encore un cran de sécurité, nous vous invitons à consulter l'article Utiliser les Données du compte (Account Data).

 

Si vous avez des questions, n'hésitez pas à contacter notre équipe Customer Care.

 

Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 0 sur 1