Clause d'exclusion de responsabilité : Rien dans le présent document ne doit être interprété comme un conseil juridique.
Objet
L'objet du présent document est d'introduire le développeur d'applications (« vous ») à la philosophie d'Intel en matière de respect de la vie privée et à la manière dont des contrôles de la sécurité peuvent facilement être intégrés aux efforts d'exploration, de planification et de développement. Notre but est de définir de manière succincte les exigences impératives, de décrire les recommandations basées sur les Fair Information Practice Principles1 et de proposer des ressources complémentaires à lire pour en savoir plus. Le présent document vous aidera à vous préparer de manière proactive à concevoir votre application de manière à protéger et respecter la vie privée de vos clients.
Vous devez être conscient que la conformité aux normes et à la réglementation standard en matière de respect de la vie privée peut s'avérer complexe et comporte des risques juridiques. Si l'application ou l'objectif commercial ne requièrent pas le traitement d'informations personnelles concernant l'utilisateur, la meilleure pratique est encore de s'abstenir de traiter ce genre d'informations.
1. Exigences du respect de la vie privée pour le programme pour développeurs Intel AppUp®
Ces exigences doivent être remplies au moment de la soumission et dans les mises à jour ultérieures de l'application pour sa distribution via la boutique. Les applications ne répondant pas à ces exigences risquent d'être rejetées et retirées de la boutique. Bien qu'Intel ne soit pas forcément en mesure de valider ces exigences pour les applications qui sont soumises, toute plainte d'utilisateur relative à une mauvaise utilisation des informations personnelles pourra être considérée comme un motif de retrait d'application de la boutique.
- 1.1. Aviser les utilisateurs – Si votre application collecte des informations personnelles, l'utilisateur doit être avisé de ce qui est collecté, des raisons de cette collecte (finalité) et si ces informations seront communiquées à quelqu’un d'autre.
- 1.1.1. Exemple d'implémentation : fournissez une description succincte de votre charte de confidentialité avec un lien vers des informations et un exposé plus détaillé de votre politique en la matière.
- 1.1.2. Les définitions des informations personnelles sont variables d'un pays à l'autre. Les développeurs doivent faire appel à une interprétation de ce terme suffisamment large pour inclure toutes les informations associées de près ou de loin à une personne. Exemples : images, emplacement, nom, adresse, date de naissance, sexe, activités enregistrées, réponses à des questionnaires, etc.
- 1.2. Limitation de l'utilisation – Les informations personnelles ne peuvent être utilisées que pour l'objectif décrit dans cet avis à l'utilisateur.
- 1.3. Acceptation explicite de la communication à des tierces parties – Si vous communiquez à des tierces parties des informations personnelles que vous avez collectées, vous devez obtenir pour ce faire l'autorisation de l'utilisateur avant tout transfert d'informations.
- 1.3.1. Exemple d'implémentation : Avant de demander l'accord de l'utilisateur, identifiez la tierce partie, les informations à communiquer et les raisons de cette communication. L'accord de l'utilisateur ne doit pas se limiter à une simple approbation de principe, pour partage avec n'importe laquelle tierce partie ni pour n'importe quelle raison légale.
- 1.3.2. Exemple d'implémentation : Dans le contexte de médias sociaux, les utilisateurs pourront contrôler activement à quelles tierces parties ils souhaitent que soient communiquées leurs informations personnelles. Dans ce cas, l'utilisateur doit savoir ce que la tierce partie fera de ces données (c'est-à-dire, si elle pourra télécharger les informations personnelles et les utiliser à son gré ou si elle se contentera de les visualiser en ligne).
- 1.4. Le stockage et la transmission des informations personnelles doit s'effectuer d'une manière raisonnablement sécurisée.
- 1.4.1. Exemple d'implémentation : La transmission d'informations personnelles doit se faire avec SSL ou une sécurité similaire.
1 Exposé général des Fair Information Practice Principles par la Federal Trade Commission.
2. Règles du respect de la vie privée pour le programme pour développeurs Intel AppUp®
Le respect de la vie privée doit être une partie essentielle des exigences et de la conception de votre application. Les exigences doivent être constituées pour garantir que l'application non seulement répond à ces directives de respect de la vie privée et de sécurité, mais se conforme à la réglementation en vigueur dans les pays où l'application sera distribuée. En outre, la révision du code devra vérifier les normes et les politiques en matière de respect de la vie privée et de sécurité.
Intel définit le respect de la vie privée comme le droit d'avoir une vie privée et d'être laissé seul juge de décider quand ses informations personnelles sont collectées, utilisées ou divulguées. Toute information pouvant servir à identifier, contacter ou localiser quelqu’un est considérée comme une information personnelle (par exemple, nom, adresse, numéro de téléphone, numéro de téléphone mobile, adresse e-mail, numéro de sécurité sociale, numéro de carte d'identité, etc.). En outre, toute information liée aux informations personnelles ou à partir de laquelle il est facile de dériver d'autres informations personnelles sera également considérée comme information personnelle.
Lorsque vous soumettez votre application pour validation au programme pour développeurs Intel AppUp®, vous devez également préciser si vous traitez des informations personnelles des utilisateurs finaux. Si cette notification s'avère incomplète ou erronée pendant la validation, Intel peut décider de ne pas publier l'application dans la boutique. Le fait que l'application soit validée n'implique aucune responsabilité de la part d'Intel quant à la conformité de votre application avec les règles et réglementations en vigueur concernant le respect de la vie privée.
Il incombe à tous les développeurs, et est de leur responsabilité, de bien comprendre les exigences de conformité en matière de respect de la vie privée et les risques qui vont avec2. Vous trouverez ci-après un résumé qui met en lumière les actions de conformité au respect de la vie privée qui peuvent être entreprises pour réduire un certain nombre de risques commerciaux, consommateurs et légaux.
Exigences de conformité
|
Risques
|
Certains éléments de données sont considérés comme plus sensibles que d'autres (par exemple, les données biométriques, les informations personnelles concernant des enfants, etc.) et peuvent nécessiter des efforts supplémentaires de conformité avec les règles statutaires et les réglementations. N'hésitez pas à consulter votre conseil juridique sur ce point.
2 Tels que définis par l'AICPA.
3 Exposé général des Fair Information Practice Principles par la Federal Trade Commission.
3. Notions de respect de la vie privée dans le développement d'applications
Lorsque vous développerez une application qui collecte, communique, stocke ou transmet des informations personnelles, vous devrez vous conformer aux règles et à la réglementation internationales en matière de respect de la vie privée. Vous trouverez dans les notions décrites ci-après les exigences de base qui doivent être englobées dans votre développement d'application.
- 3.1. Raisons de la collecte
Avant toute collecte d'informations personnelles, vous devez clairement définir les raisons pour lesquelles vous avez besoin de collecter des informations personnelles auprès d'une personne. Vous n'êtes pas autorisé à utiliser ces informations personnelles pour des raisons autres que celles indiquées à cette personne au moment de la collecte sans l'autorisation préalable de celle-ci, y compris en ce qui concerne des utilisations secondaires, comme le marketing direct.
Recommandations sur la manière de vous préparer pour exposer les raisons de la collecte d'informations personnelles dans votre application
- Documentez vos besoins commerciaux en informations personnelles.
- Documentez un diagramme de flux de données :
- liste des informations personnelles qui sont collectées, stockées, communiquées et transmises
- méthode adoptée pour la protection des informations personnelles
- méthodes d'accès aux informations personnelles
- l'interface utilisateur qui pourra servir à contrôler la capture, le stockage et la transmission des données
- Documentez toutes les utilisations secondaires envisageables des informations personnelles par le développeur et par des tierces parties, ainsi que les besoins en notifications ultérieures.
- 3.2 Avis, choix et accord
Lors de la collecte, vous devez fournir une explication claire (avis) de vos pratiques en matière de gestion des informations personnelles. L'avis doit être facile à trouver et facile à lire. Si la législation l'exige, vous devez obtenir un accord explicite (opt-in affirmatif)4 d'une personne avant de collecter ses informations personnelles.
Recommandations sur la manière de développer l'avis, le choix et l'accord dans votre application
- Lors de l'installation d'une application ou de la réponse à un formulaire d'inscription, configurez comme comportement par défaut de ne pas collecter d'informations personnelles.
- Utilisez des boutons radio, des cases à cocher ou des menus pour notifier la personne de ses choix et la forcer à opérer des sélections avant de poursuivre.
- Si une personne refuse que ses informations personnelles soient collectées, permettez-lui, dans la mesure du possible, de participer en tant qu'invité.
- Ajoutez à votre menu un emplacement facile d'accès où les personnes pourront consulter à nouveau vos pratiques en matière de gestion des informations personnelles (par exemple, option Respect de la vie privée dans le menu d'aide ou dans le pied de page d'un site Web).
- Vous devez informer la personne lorsqu'il y a transfert des informations personnelles. Si une personne refuse que ses informations personnelles soient transférées à des tierces parties, vous devez respecter sa décision.
- Informez la personne de la durée pendant laquelle vous conserverez ses informations personnelles. Ne les conservez pas plus longtemps que ne le nécessitent vos objectifs commerciaux (par exemple, au-delà de la fin d'un contrat de support) ou le respect de la législation en vigueur.
4 L'accord opt-in signifie que les personnes doivent, d'une manière ou d'une autre, indiquer positivement leur souhait de participer à un programme ou à un service donnés, par exemple, en remplissant une page d'inscription ou en donnant leur adresse e-mail pour recevoir un bulletin d'information.
- 3.3. Accès aux informations personnelles et exactitude de ces dernières
Vous devez fournir aux personnes un accès raisonnable à leurs informations personnelles pour qu'elles puissent s'assurer que ces informations sont exactes, complètes et à jour.
Recommandations sur la manière de développer l'accès et l'exactitude dans votre application
- Créez un profil utilisateur sécurisé qui exige la combinaison unique d'un identifiant et d'un mot de passe pour permettre à la personne de gérer ses informations personnelles.
- Rassemblez toutes les informations personnelles dans un même menu ou dans un même onglet qui les afficheront pour faciliter la consultation et la modification.
- Lorsqu'une personne met à jour des informations personnelles sensibles, des mots de passe, par exemple, ou des informations financières, avertissez-la par message électronique que ses informations personnelles <nature de ces informations> ont été actualisées le <date et heure> par <adresse e-mail ou identifiant unique>.
- 3.4. Minimisation et conservation des informations personnelles
Vous ne devez collecter et/ou traiter que les informations personnelles requises pour un besoin précis et ne pas conserver d'informations personnelles plus longtemps que nécessaire à ce besoin.
Recommandations sur la manière de développer la minimisation et la conservation dans votre application
- Si les informations personnelles ne sont pas nécessaires, ne les collectez pas. Dans la mesure du possible, déployez l'utilisation de pseudonymes5 ou d'identifiants uniques.
- Examinez attentivement la quantité des éléments de données requis. Soyez à l'affût de toutes les occasions de rendre facultatives, voire inexistantes, les collectes d'informations personnelles.
- Une date d'expiration doit être associée à toutes les informations personnelles collectées. Formalisez le cycle de vie des données en développant une politique de conservation des données pour toutes les informations personnelles et incluez l'exposé de vos pratiques dans la déclaration de respect de la vie privée.
5 L'utilisation de pseudonymes peut être rapprochée de l'anonymat en ce que l'on n'est pas identifiable, mais elle permet d'être suivi via l'alias ou le personnage que l'on a adopté.
- 3.5. Sécurité et transfert des informations personnelles
Vous devez prendre des mesures raisonnables pour protéger les informations personnelles contre tout accès, utilisation, modification, divulgation non autorisés ou contre les pertes. Recommandations sur la manière de développer la sécurité dans votre application
- Lors de la collecte en ligne d'informations personnelles, ne transmettez pas ces dernières en texte clair. Implémentez des techniques de cryptage comme https ou SSL.
- Offrez à la personne un menu lui permettant de choisir la manière dont ses informations sont divulguées. Les choix proposés doivent être : tout le monde, personne ou possibilité de générer ses propres personnalisations.
4. Contrôles de la sécurité pour préserver le respect de la vie privée
Pour garantir la préservation du respect de la vie privée des personnes et la conformité aux normes réglementaires appropriées, un certain nombre de contrôles de la sécurité doivent être employés. Voici quelques-unes des vulnérabilités qui peuvent conduire à des violations de la vie privée :
- défauts d'injection
- référence directe à des objets non sécurisée
- fuite d'informations et gestion incorrecte des erreurs
- ruptures dans la gestion des authentifications et des sessions
- manque de restrictions d'accès à des URL
Procéder à une révision du code et/ou à une analyse des vulnérabilités vous aidera à identifier ces vulnérabilités. Vous devez développer les contrôles de la sécurité nécessaires à la préservation des informations personnelles et des identifiants de comptes.
- 4.1. Validation des données entrées
La validation des données entrées consiste à vérifier les données entrées par l'utilisateur pour s'assurer que ces données sont bien au format attendu. Cela consiste à vérifier la longueur, le type, la syntaxe et les règles commerciales des données avant de les afficher ou de les stocker. Cette prévention contre les attaques XSS (Cross-Site Scripting) est tout à fait courante. Recommandations sur la manière d'effectuer la validation des données entrées
- Il existe plusieurs stratégies de validation des données entrées, par exemple, la validation par liste blanche ou par liste noire. Il est recommandé de recourir à une combinaison des deux. Une liste blanche vous permettra de contraindre les données entrées à des données correctes connues et de valider leur format, leur longueur et leur type. Procédez ensuite à des tests de données entrées malveillantes connues en utilisant la validation par liste noire.
- La mise en forme canonique consiste à convertir des données dans leur forme la plus simple. Les applications Web utilisent ce traitement lorsqu'elles convertissent en adresses IP les URL contenues dans des formulaires. Il est primordial d'être conscient des erreurs potentielles de mise en forme canonique. Les données entrées doivent être décodées et mises en forme canonique avant d'être validées. Cela est primordial car une application ne doit pas décoder plus d'une fois les mêmes données ; cela pourrait servir à contourner les procédés de liste blanche.
- 4.2. Appliquer les moindres privilèges
Les personnes doivent disposer du minimum d'accès ou de privilèges sur une application qui leur permet de remplir leur objectif nécessaire. Appliquer cette recommandation peut aider à empêcher les personnes d'accéder aux informations personnelles d'autrui ou à d'autres informations sensibles. En outre, ce concept peut servir à limiter l'accès d'un programme ou même d'un processus. Il est primordial de déterminer les informations et les ressources vraiment nécessaires pour l'accomplissement d'une tâche légitime. Une claire compréhension des flux de données dans l'application aidera à limiter les privilèges. Recommandation sur la manière d'appliquer les moindres privilèges
- Appliquez toujours le principe du moindre privilège pour l'accès d'une personne ou d'un processus à n'importe quelle base de données ou à n'importe quel système dorsal. L'accès doit être basé sur les privilèges nécessaires à l'accomplissement de l'objectif commercial.
- 4.3. Fuite des informations
Il se produit des fuites d'informations lorsque sont exposées des informations concernant la configuration d'une application ou son fonctionnement interne. Les informations qui fuient peuvent être des données sensibles ou elles peuvent permettre à une personne non autorisée d'accéder à l'application. Un exemple classique de fuite d'informations est le message d'erreur qui montre des informations de débogage. Les fuites d'informations peuvent être également plus subtiles en révélant des informations d'état par la durée que mettent certaines opérations à être traitées. Recommandations sur la manière d'empêcher la divulgation d'informations personnelles
- Tous les développeurs travaillant sur une même application doivent utiliser une approche commune pour gérer les exceptions.
- Limitez le contenu des messages de gestion des erreurs. Une solution possible de remplacement sera de créer un message d'erreur par défaut anodin.
- Utilisez des messages d'erreur semblables ou identiques.
- Une stratégie complémentaire pour les transactions sensibles pourra être d'implémenter de manière aléatoire des temps d'attente pour toutes les transactions afin de masquer ce détail à un éventuel attaquant.
- Les différents composants d'une application, tels qu'une base de données et un serveur Web, auront des messages d'erreur différents. Il est nécessaire de vérifier les messages d'erreur et de tenter de désactiver ou de limiter la gestion détaillée des erreurs.
- 4.4. Référence directe à des objets
L'on parle de référence directe à des objets lorsqu'un développeur affiche un fichier, un répertoire, un enregistrement de base de données, une clé ou tout autre type de référence. Un attaquant peut se servir de ces informations pour obtenir un accès sans autorisation. C'est le cas, par exemple, si un message d'erreur pour une boutique en ligne affiche l'adresse du fichier de la base de données. Un attaquant pourrait alors télécharger la base de données et collecter des informations sur les clients de la boutique. Cette vulnérabilité pourra être détectée par des outils d'analyse des vulnérabilités ou par une révision manuelle du code. En plus, elle pourra être évitée par l'utilisation de méthodes indirectes (index ou mappe de références indirectes) plutôt qu'en plaçant l'adresse réelle du fichier, du répertoire, etc. Ci-suivent les contrôles recommandés pour empêcher la référence directe à des objets.
- Autant que possible, évitez d'afficher les références à des objets.
- Les références à des objets doivent être validées à l'aide de listes blanches ou dans une approche « acceptation du bon connu », c'est-à-dire vérifier les chemins de tous les répertoires.
- Confirmez que l'accès utilisateur à l'objet référencé dispose bien des privilèges et de l'autorisation nécessaires.
- 4.5. Gestion des authentifications et des sessions
Il est fréquent que l'on utilise des cookies HTTP pour prouver que la personne s'est authentifiée et pour gérer la session. Les développeurs doivent éviter l'utilisation de cookies personnalisés. Les défauts dans la gestion des authentifications et des sessions provoquent en général un échec de la protection des données justificatives d'identification et des tokens de session. Cela conduit à des détournements de session et à la possibilité pour des personnes non autorisées d'accéder à l'application. Il est possible d'empêcher cela en faisant en sorte que l'identification se produise dans une page cryptée et que toutes les données justificatives d'identification et tous les tokens de session soient cryptés en transit avec SSL. Méthodes permettant de sécuriser la gestion des authentifications et des sessions
- Utilisez SSL pour transmettre tous les cookies qui servent à la gestion des authentifications et des sessions, et pas uniquement pour la page d'identification.
- Plutôt que de créer la vôtre, exploitez les frameworks intégrant une gestion des sessions.
- Lorsque l'authentification a réussi ou qu'un privilège a changé, de nouveaux tokens de session doivent être générés.
- Les pages doivent comporter un lien de déconnexion qui détruira les cookies côté serveur et côté client.
- L'application doit comprendre un délai d'expiration approprié au classement des données.
- Les cookies HTTP ne doivent pas contenir d'informations personnelles.
5. Conclusion
Garantir le respect de la vie privée de vos clients et des autres développeurs est capital. Tout un chacun a le droit de ne pas être dérangé et de gérer ses propres informations. En tant que développeur, il est essentiel non seulement de connaître les règles et réglementations en vigueur, mais également de comprendre comment le respect de la vie privée doit faire partie intégrante de la conception fondamentale d'une application. La sécurité peut certes fournir des contrôles qui aident au respect de la vie privée, mais il est crucial de comprendre les philosophies fondamentales en la matière.
Annexe A : Conformité au respect de la vie privée – Le top 10
10. Enfants : Vous ne devez pas collecter, intentionnellement, toute information personnelle auprès d'enfants de moins de treize ans.
9. Transparence (avis) : Plus de cent législations locales, nationales et internationales vous obligent à fournir de la transparence aux personnes concernant les informations personnelles qui sont collectées.
8. Conservation : Vous ne devez pas conserver des informations plus longtemps que nécessaire pour la réalisation de vos objectifs ou que ne le requiert la législation applicable.
7. Choix : L'opt-in permet à la personne de choisir explicitement si elle est d'accord pour recevoir des communications de vous. Même si la législation ne vous y oblige pas, vous devez envisager d'implémenter des pratiques d'opt-in pour ne contacter que les personnes qui ont exprimé de manière proactive le désir d'être contactées.
6. Spam : Vous risquez de tomber sous le coup du CAN-SPAM Act dans de nombreuses situations et vous devez donc fournir des informations claires dans l'e-mail concernant la source des messages commerciaux et sur la manière de s'en désabonner.
5. Fournisseurs : Vous devez vous assurer que vos fournisseurs respectent vos politiques de respect de la vie privée.
4. Données sensibles : Un grand nombre de législations sur le respect de la vie privée classent comme « sensibles » certaines catégories d'informations personnelles et restreignent considérablement leur collecte et leur traitement. Ces données sensibles portent sur l'origine ethnique, la race, les opinions politiques et l'orientation sexuelle. Lorsque vous devez avoir affaire à ces catégories de données, contactez votre conseiller juridique.
3. Transfert international : L'Union européenne limite considérablement le transfert international d'informations personnelles. Intel s'est certifié « safe harbor » pour le transfert aux U.S.A. de ce genre de données (voir www.export.gov/safeharbor/ pour en savoir davantage sur le transfert international et le « safe harbor »). Si vous ne vous certifiez pas « safe harbor », vous devez obtenir le consentement explicite des personnes avant de transférer leurs informations personnelles. Consultez votre conseiller juridique à ce sujet.
2. Avis de violation de la sécurité : Plus de quarante États des U.S.A. requièrent que les violations de sécurité soient notifiées et d'autres pays cherchent à passer des lois similaires.
1. Conformité au respect de la vie privée : Intel peut mettre fin à votre contrat de distribution d'applications si vous violez la législation en vigueur concernant le respect de la vie privée, si vous ne fournissez pas un avis clair lorsque vous soumettez votre application pour qu'elle soit validée ou si des utilisateurs finaux se plaignent de vos activités de traitement des données.
