X
Bientôt fans, merci !
Pourquoi pas vous ?
Facebook J'aime Paris 1
Accueil » Droit du Numérique, Administration - Entreprises » Bibliothèque numérique du droit de l'administration électronique » TIC » Cookies » Le bon cookie et le mauvais mouchard, lettre de la MTIC, 9 mars 2001

Le bon cookie et le mauvais mouchard, lettre de la MTIC, 9 mars 2001

Le bon cookie et le mauvais mouchard, lettre de la MTIC, 9 mars 2001


LE BON COOKIE ET LE MECHANT MOUCHARD : tout savoir sur les témoins de connexion et leur bon usage !

La circulaire du 7 octobre 1999 relative aux sites Internet des services et des établissements publics de l'Etat précise les conditions de bon usage des témoins de connexion (cookies) sur les sites de l'Etat, dans le prolongement des recommandations de la CNIL. Avant de rappeler ces conditions, nous présentons les différents aspects des témoins de connexion dans les domaines techniques et des usages.

1) Principe

Le cookie est une technique qui consiste, pour un site web ou une page web, à enregistrer localement sur le poste client des informations utiles à la consultation par celui-ci dudit site ou de ladite page. En effet, la consultation web, effectuée grâce au protocole HTTP ne permet pas nativement de garder des informations sur le contexte d'une session de travail sur un site web. Ainsi, lorsque vous êtes sur un site et que vous passez d'une page à l'autre en cliquant sur des liens, chaque requête est traitée de manière complètement indépendante, comme s'il s'agissait de n utilisateurs différents accédant chacun à une seule page du site. Pour pallier cette non-persistance, on a donc introduit les cookies. En passant d'une page à l'autre sur un site, les premières pages peuvent déposer des informations sur le poste client à destination des pages visitées par la suite et donc recréer un mécanisme de session. Lorsque les informations à conserver sont nombreuses, le site web n'enregistre sur le poste client qu'un simple identifiant (un numéro unique lié à l'utilisateur). Les informations sont conservées alors localement sur une base, côté serveur, mais sont associées via l'identifiant contenu dans le cookie à l'utilisateur. Les cookies sont apparus entre 95 et 96 à l'initiative de Netscape.

2) Intérêt

Pour bien comprendre l'intérêt des cookies, voici quelques exemples d'usages variés (liste non exhaustive).

2.1) Portails et sites personnalisés

Des sites comme Yahoo, Voila, Boursorama et bien d'autres, permettent à chaque visiteur de personnaliser la présentation et le contenu et de conserver cette interface personnalisée au cours d'une même session mais également d'une visite sur l'autre.

2.2) Les sites bancaires

Les sites de banque en ligne permettent d'accéder à ses comptes et d'y effectuer certaines opérations. Les cookies sont utilisés comme marqueurs et font le lien entre l'utilisateur sur son poste et les données personnelles (montant du compte, etc) qui sont, elles, stockées dans une base de donnée, en arrière du serveur web.

2.3) Les sites de e-commerce

La plupart des sites de commerce en ligne permettent de constituer une sorte de panier d'achats virtuels avant passage de la commande. L'internaute surfe sur le site et choisit progressivement les articles qu'il veut commander. Ceux-ci sont emmagasinés dans le panier. L'état de celui-ci est entretenu par des mécanismes à base de cookies. 2.4) Régies publicitaires en ligne L'usage des cookies est également très populaire pour certaines techniques de mesure et de suivi d'audience des sites web. Ils sont systématiquement utilisés par les régies publicitaires en ligne qui se chargent de rémunérer certains sites en fonction du nombre de visualisation des bannières publicitaires qu'ils hébergent.

3) Fonctionnement

3.1) Les étapes

Les mécanismes de cookies utilisent le protocole HTTP pour fonctionner. Celui-ci est le protocole standard de toute navigation sur un site ou sur la toile dans son ensemble. D'une manière simple, les postes clients envoient des requêtes HTTP à des serveurs web afin de visionner telle ou telle page, en retour ces serveurs émettent des réponses HTTP incluant les documents demandés (contenu et présentation). Les cookies accompagnent ces échanges en s'introduisant dans les entêtes HTTP des requêtes et des réponses : 1. L'internaute accédant pour la première fois au site y, envoie une requête HTTP classique. 2. Le site y qui utilise les cookies lui renvoie une réponse HTTP indiquant dans son entête l'initialisation de un (ou plusieurs) cookie(s). Pour chaque cookie, l'entête HTTP comprend au minimum un nom de variable et une valeur associée (pour plus de détails sur les composantes d'un cookie, cf. plus bas). 3. Le navigateur du poste client qui reçoit la réponse, stocke localement, les noms et valeurs associés aux cookies de la réponse à sa requête initiale. 4. Ensuite, à chaque nouvelle requête de l'internaute concernant le site y, le navigateur de celui-ci incluera à l'entête HTTP de ses requêtes, les informations concernant tous les cookies associés au site y. 5. Réciproquement, chaque fois qu'une page consultée du site y désirera soit modifier, soit initialiser un nouveau cookie associé au site auquel elle appartient, le mécanisme 2, 3 sera utilisé par le serveur dans sa réponse. Toutes les spécifications concernant ces entêtes HTTP avec cookies sont contenues dans la RFC2109 (standard IETF), février 97, et une nouvelle RFC a été récemment proposée sur le même sujet, la RFC 2965, octobre 2000. Techniquement, ces entêtes avec cookies peuvent être très facilement gérées par n'importe quel langage de script (php, asp, perl, jsp, javascript, etc, côté serveur ou client) associé à un document HTML. 3.2) Concrètement Les cookies sont compatibles, entre autres, avec les deux navigateurs les plus populaires du marché : Netscape et IE (Internet Explorer de Microsoft).

3.2.1) Le stockage des cookies

Le stockage des cookies peut prend deux formes selon que le navigateur est lancé ou non. Pendant la session de travail sur le navigateur (Netscape ou IE), les valeurs des cookies sont stockées en mémoire vive par le programme lui-même. Lorsque l'on ferme Netscape ou IE, les cookies en mémoire sont analysés et éventuellement stockés sur le disque dur, si leur date d'expiration n'est pas révolue (cf. plus bas), à l'intérieur de un ou plusieurs fichiers textes. Dans le cas de Netscape, les cookies sont tous à l'intérieur du même fichier texte, généralement appelé cookies.txt et situé dans le répertoire Netscape/users/mon_nom/. Chaque ligne du fichier cookies.txt correspond à un cookie avec ses différents champs, séparés par des tabulations. Dans le cas de IE, les cookies sont répartis dans plusieurs fichiers textes, eux-mêmes stockés dans le ou les répertoires Windows/Internet temporary files/ et Windows/cookies/. Les noms des fichiers textes sont construits ainsi, cookie :mon_nom@domaine, où mon_nom correspond à l'utilisateur et domaine correspond au site web propriétaire du cookie. Si plusieurs pages d'un même domaine envoient plusieurs cookies, ceux-ci sont stockés dans un seul et même fichier, séparés par un passage à la ligne.

3.2.2) La gestion des cookies par l'Internaute

Même si la suppression volontaire de cookies déjà existants ne s'effectue pas par le navigateur, mais à travers un simple gestionnaire de fichiers, les navigateurs offrent tout de même plusieurs options dans la gestion des cookies : l'internaute peut généralement, soit accepter systématiquement tous les cookies, soit refuser systématiquement tous les cookies, soit demander à ce que l'acceptation de cookies soit faite au cas par cas. Dans IE5, le menu outils/options internet/sécurité/personnaliser le niveau/ permet d'accéder à la configuration de ces différents modes. Dans Netscape 4, on trouvera des options similaires sous édition/préférences/avancées. Pour le tout récent Netscape 6, la gestion des cookies par l'utilisateur semble beaucoup plus riche et développée et se situe dans le menu tasks/personal managers/cookies manager.

4) Les différentes composantes du cookie

Un cookie se compose au maximum de six champs, les deux premiers énumérés ici étant obligatoires.

4.1) Nom

Le champ nom correspond au nom de la variable associée au cookie. Pour récupérer la valeur d'un cookie il faut en effet passer par un appel à son nom.

4.2) Valeur

Le champ valeur contient la valeur (l'information) associée au cookie. 4.3) Date d'expiration La date d'expiration indique quelle est la date limite de validité du cookie. A la fermeture du navigateur, si la date est expirée ou n'est pas renseignée, le cookie est effacé, dans le cas contraire le cookie est stocké sur disque.

4.4) Domaine

Le champ domaine indique le domaine d'où a été émis le cookie. Ce domaine doit comporter au moins deux niveaux (i.e. .gouv.fr par exemple et pas .fr uniquement) et doit correspondre à la page en question. Seules les pages appartenant au domaine spécifié peuvent ensuite accéder au cookie. Par défaut sa valeur est celle du nom de domaine complet.

4.5) Chemin

Le chemin affine la sélection effectuée au niveau du champ domaine. On peut spécifier un chemin particulier où sera uniquement valide le cookie. Par défaut sa valeur est /.

4.6) Sécurité

Il s'agit d'un paramètre booléen (true/false) qui indique si le cookie en question doit être ou non utilisé à l'intérieur d'une connexion sécurisée (SSL par exemple).

5) Sur les traces de l'internaute : cookies et vie privée

Le débat qui concerne la protection des données personnelles et les cookies est déjà un débat ancien, mais qui fait toujours couler beaucoup d'encre. On essayera ici de l'aborder sous un angle le plus objectif possible.

5.1) Les limites théoriques

D'après les spécifications techniques les limites sont les suivantes :
-  Une page web ne peut créer ou lire des cookies qui n'appartiennent pas à son domaine. Ainsi, une page d'un ministère y du site www.ministereY.gouv.fr, peut créer et lire des cookies pour les domaines suivant www.ministereY.gouv.fr, .ministereY.gouv.fr, mais pas pour .ministereX.gouv.fr ou societeZ.com.
-  On ne peut créer des cookies pour les domaines de premier niveau (.fr .com etc)
-  La taille de l'entête avec cookies est limitée à 4Ko. Netscape limite en plus systématiquement le nombre de cookies stockés (par domaine et au total).

5.2) Les limites pratiques

5.2.1) La taille du domaine

Etant donné que le domaine de validité du cookie peut ne comporter que deux niveaux, il existe tout de même des cas ou un grand nombre d'entités différentes peuvent partager des cookies, sans obstacle.

5.2.2) L'échange de fichiers

Autant le dire tout de suite, les cookies permettent effectivement d'emmagasiner beaucoup d'informations sur les goûts et le profil de chaque visiteur, mais ces informations, seules, ne sont pas exploitables, au niveau de l'individu, par une société tiers (autre que celle du site), car le visiteur reste complètement anonyme et n'est pas identifiable par un site externe. C'est le propre des cookies de garantir cet anonymat. Maintenant beaucoup de sites réussissent à le contourner en utilisant d'autres techniques qui permettent de récupérer des informations dites, identifiantes, comme votre adresse e-mail. Pour cela, ils peuvent demander à l'internaute d'inscrire son adresse e-mail dans certains formulaires à remplir, ou bien pour certains téléchargements FTP. Un fois cette information identifiante récupérée, les bases de données de profils sont alors échangeables et exploitables par l'extérieur.

5.2.3) Le cas des bannières de pub

Après avoir jeté un oeil dans leurs répertoires à cookies, nombreux sont les internautes à s'apercevoir qu'ils ont reçu des cookies en provenance de domaines qu'il n'ont jamais eu l'impression d'avoir visités. Rien de plus normal à cela : la visite d'une page web ne correspond pas toujours à une seule requête, à un seul serveur, d'un seul domaine. Les bannières de pub sont généralement recherchées sur d'autres domaine (du type doubleclick.net) : il existe donc dans certaines pages web des sous-requêtes à des sites extérieurs pour en rapatrier certains éléments. Ce mécanisme est effectivement peu visible de l'internaute et amène souvent à la mise en place de cookies par le site extérieur.

5.3) D'autres " failles "

D'autres failles existent, plus subtiles et relevant souvent du bogue. On citera ici le problème de certaines URL utilisant des caractères spéciaux et qui du même coup sont capables de tromper le navigateur sur la provenance des réponses HTTP et donc de déposer ou récupérer des cookies destinés à un autre site. Pour se prémunir de ce genre de problème, il est conseillé de mettre à jour la version du navigateur. Une dernière chose enfin à prendre en compte est le fait que pas uniquement les navigateurs peuvent aller sur Internet et donc y récupérer des cookies. En fait toute application web (elles sont nombreuses en bureautique : Word, ...) permet d'initier des requêtes sur Internet.

6) Sécurité

Autant sur le domaine de la protection de l'individu, il y a matière à discuter, autant sur la sécurité à proprement dit, les cookies ne doivent pas inquiéter côté client :
-  Par le biais des cookies il est complètement impossible de lire autre chose sur le disque dur que les cookies eux-mêmes.
-  Les cookies ne peuvent pas transporter de virus : sauvegardés, ce ne sont que quelques lignes de fichiers texte, inertes. Côté serveur, en revanche, les développeurs de sites doivent être prudents en utilisant les cookies. C'est souvent qu'on les utilise à la suite d'un mécanisme d'authentification, pour maintenir la session et éviter de relancer ce dernier mécanisme éternellement. Attention toutefois, une personne malhonnête et avisée peut récupérer le cookie pendant son transfert sur le réseau et récupérer la session précédemment ouverte par un autre. Si les informations proposées par le site sont sensibles (site bancaire), il est capital de sécuriser par cryptage l'ensemble des transactions, cookie inclus. C'est ce qu'impose le champ sécurité lorsqu'il est positionné sur TRUE.

7) Quelle attitude adopter

7.1) En tant qu'internaute

Face aux cookies, il s'agit d'être pragmatique.
-  Interdire tout cookie sur son navigateur : certains sites seront définitivement inaccessibles, dommage.
-  Demander confirmation à chaque cookie : cela semble une bonne solution, mais le surf sur Internet devient vite particulièrement exaspérant.
-  Accepter tous les cookies : ma foi pourquoi pas, mais pour être totalement raisonnable il sera bon de supprimer les cookies stockés sur le disque très régulièrement.

7.2) En tant que webmestre d'une administration

L'attitude à suivre par le webmestre d'un site de l'administration est celle décrite dans le chapitre 2.4 de la circulaire du 7 octobre 1999 relative aux sites Internet des services de l'Etat (cf. paragraphe suivant). En plus de cette ciculaire, il est nécessaire de s'appesantir sur une dernière remarque de bon sens :
-  Vérifiez bien la pertinence et l'utilité des cookies que vous générez. De nombreux sites utilisent les cookies sans le savoir et sans en avoir l'usage, car ils réutilisent partiellement, plus ou moins bien, du code créé pour d'autres sites, ou alors c'est le serveur web qui les génère par défaut.

7.3) Rappel : Circulaire du 7 octobre 1999 relative aux sites Internet des services et des établissements publics de l'Etat.

7.4. Protection de la vie privée

Les sites publics doivent s'attacher à garantir la confidentialité des données à caractère personnel qu'ils sont amenés à traiter, qu'il s'agisse de données relatives aux agents ou aux usagers. L'emploi de témoins de connexion (" cookies ") permanents doit, de manière générale, être évité. S'il est néanmoins décidé d'y recourir, parce qu'il apparaît de nature à améliorer significativement le service rendu à l'usager, ce ne peut être que sous deux conditions cumulatives :
-  l'usager en est préalablement averti ;
-  il lui est proposé un mode alternatif d'accès au service. Il est rappelé que, en vertu de la loi no 78-17 du 6 janvier 1978 relative à l'informatique, aux fichiers et aux libertés, toute personne peut s'opposer à la diffusion d'informations la concernant. Ce droit, qui est ouvert aux usagers comme aux agents de l'administration, peut s'exercer avant l'ouverture du site, mais aussi à tout moment une fois que le site est ouvert. Il va de pair avec un droit d'accès et de rectification des données.

8) Liens

8.1) Les RFC de l'IETF

ftp://ftp.isi.edu/in-notes/rfc2109.txt : la RFC cookies ftp://ftp.isi.edu/in-notes/rfc2964.txt : réflexions sur l'usage des cookies ftp://ftp.isi.edu/in-notes/rfc2965.txt : des propositions pour un futur standard (octobre 2000)

8.2) D'autres documents

www.cnil.fr : la CNIL www.junkbusters.com/ht/en/cookies.html : cookies et vie privée www.epic.org/privacy/internet/cookies/ : idem www.w3.org/Security/Faq/wwwsf7.html : cookies et sécurité www.tactika.com/cookie/ : document générique en français www.php.net/manual/fr/features.cookies.php : gérer des cookies avec Php www.anu.edu.au/people/Roger.Clarke/II/Cookies.html : un document complet

8.3) Les bogues Microsoft IE concernant les cookies

support.microsoft.com/support/kb/articles/Q258/4/30.ASP support.microsoft.com/support/kb/articles/Q264/3/45.ASP