web-dev-qa-db-fra.com

Quel est le but de crypter les valeurs dans un cookie?

Je cherchais à la sécurité Internet. Lorsque je suis arrivé à la section Cookies, j'ai lu que les valeurs à l'intérieur d'un cookie ne sont généralement stockées qu'après les crypter. Mais un cryptage peut être facilement déchiffré par une personne qui peut altérer les cookies. Compte tenu du fait que si nous avons altéré le cookie, alors qu'il est crypté ou non, il est possible d'accéder à la session correspondant à ce cookie. Ensuite, quel est le but de crypter le cookie?

2
Anandu M Das

Si la clé de cryptage est stockée sur le serveur, seul le serveur peut déchiffrer le cookie et seul le serveur peut apporter des modifications prévisibles dans le cookie. Un attaquant peut apporter des modifications au CYPHertext du cookie, mais ils ne peuvent pas savoir à l'avance quel effet ces changements auront. Si le cookie comprend en outre un code d'authentification du message ou une autre mesure anti-altération, un attaquant ne peut pas apporter de modifications à un cookie crypté sans l'invalidée.

Le cryptage de la cookie conserve également l'utilisateur et d'autres sur le même ordinateur de pouvoir voir quelles informations sont stockées. Cela permet au serveur d'associer des informations sensibles avec un utilisateur (par exemple, "" Connectez-moi automatiquement "), sans avoir à suivre le côté du serveur de session.

Le cryptage des cookies ne fait rien pour garder les attaques de biscuit-voler d'être utilisées pour imiter un utilisateur; Pour défendre cela, d'autres mesures sont nécessaires.

10
Mark

Les cookies peuvent être utilisés pour diverses raisons. Au niveau le plus simple, il peut contenir un nombre aléatoire qui conseille le site que vous êtes la même personne qui s'est rendue précédemment, soit à des fins de suivi, soit à fournir des fonctionnalités améliorées telles que les préférences de l'utilisateur. De tels cookies n'ont pas besoin d'être cryptés.

Les cookies cryptés sont utilisés lorsque vous souhaitez persister quelque chose de côté client que vous ne voulez pas changer et/ou vu par un utilisateur. Par exemple, à la fin d'un processus d'authentification, vous définirez un cookie crypté contenant des détails de l'utilisateur à recevoir chaque demande suivante. C'est ce qui fournit l'apparition d'une "session connectée" lorsque le navigateur fait une série de demandes atomiques autrement non liées. Dans la plupart des grands sites Web, cette gestion authentifiée de session est traitée par des services d'infrastructure avant qui cachent cette complexité du développeur d'applications.

Le cookie peut également être utilisé pour contenir l'état de l'application actuel, ce qui est utile si vous utilisez plusieurs sites géographiques et que l'utilisateur devrait revenir à un autre site avant que vous ayez eu la chance de répliquer les données.

Quant à votre dernier point, si vous entravez avec des données cryptées, vous allez presque toujours le rendre inutile à cet effet pour lequel elle était destinée. Selon l'application, cela entraînera l'échec de l'application latéral du serveur ou de l'échec de la validation des données cryptées.

1
DodgyG33za