Comment sécuriser les COOKIES avec Mcrypt ???????????

Résolu
bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015 - 23 juil. 2009 à 19:31
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 - 27 juil. 2009 à 14:06
Bonjour !


J'ai une question sur la lib mcrypt de php :

Quand je test ce code (avec easyphp)

[i][i]"$algo = MCRYPT_BLOWFISH;
$mode = MCRYPT_MODE_NOFB;
$iv_size = mcrypt_get_iv_size($algo, $mode);
$iv= mcrypt_create_iv($iv_size, 12345 );"/i

est ce normal que $iv change à chaque essai même si je ne change pas les arguments ? A chaque fois que je ractualise $iv est différent, cela pose problème pour le decryptage car si je n'utilise pas le même iv qu'au cryptage je n'obtiens pas le bon résultat.




Merci d'avance,

4 réponses

nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
27 juil. 2009 à 13:04
Bonjour,

un IV ou vecteur d'initialisation, est pardéfinition unique, et change à chaque définition de communication cryptée.

La documentation de mcrypt_create_iv précise:
"Le vecteur d'initialisation est le seul moyen de fournir une initialisation de remplacement aux méthodes d'initialisation. Ce vecteur n'a pas besoin d'être particulièrement secret, même si c'est mieux. Vous pouvez l'envoyer avec vos documents chiffrés sans perdre en sécurité."

Pour répondre à la seconde question, il est très simple d'envoyer ivsize et iv dans le cookie. exemple:

$cookiesend = "$iv_size|$iv|$cookie" ;


Au retour, il suffit d'exploser le cookie dans ses composantes pour en retrouver les parties.
3
bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015
23 juil. 2009 à 22:33
Autre question en fait comment faire pour transmettre de le IV ds les COOKIES sans se le fair ?
0
bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015
27 juil. 2009 à 13:13
Ok !


Merci Nautilus !


J'ai ajouter au cryptage un codage qui transforme les caractères en code ASCII pour éviter les problèmes dut aux caractères spéciaux "" "/" etc...


A+

;-)
0
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
27 juil. 2009 à 14:06
Une autre solution très simple, une fois la concaténation réalisée est d'encoder le cookie composite avec base64_encode et au retour un base64_decode te le rend intact.

et c'ets certainemet la solution la plus rapide en exécution :)
0
Rejoignez-nous