[Python] Chiffrer votre fichier de mot de passe
|
14-01-2015, 17h25
(Modification du message : 14-01-2015, 17h26 par ark.)
Message : #2
|
|
ark
Psyckomodo! Messages : 1,033 Sujets : 48 Points: 317 Inscription : Sep 2011 |
RE: [Python] Crypter votre fichier de mot de passe
Yo!
Sympa ton post, mais comme on vient de le dire avec WapiFlapi sur irc, gaffe quand on developpe des tools de crypto!! C'est d'ailleurs rigolo la crypto sur ce point, c'est que sans le savoir, on fait plein d'erreurs! Bref, du coup, jetons un coup d'oeil a tout ca pour voir ce qui ne va pas. (Je vais juste parler de la partie crypto, parce que t'as bien dit que le code est cracra, et je pense que d'autre s'en chargerons :)) Alors, tout d'abord, j'ai repere ce bout de code: Code PYTHON :
def cryptfile(original_file, Key , destination_file, debug): Ici, l'utilisation du mode ECB n'est pas une bonne idee. En effet, ce mode va chiffrer chaque bloc de la meme facon, et si un bloc se repete, on observera une repetition dans la cipher text. En soi, ca leak des infos, et c'est pas une bonne chose. Typiquement dans ton cas, si t'as deux mots de passes pareils, tu pourrais le savoir rien qu'en lisant les datas du ciphertext. Ensuite, il est possible d'effectuer une attaque sur ce genre de ciphertext, surtout si le contenu est bien long (42 ^ 42 mots de passes :p) afin de retrouver la cle, et donc le contenu. Personellement, je conseillerais d'utiliser soit un mode CBC, soit un mode CTR. (et je recommande a tous ceux qui ne connaissent pas la lecture de cet article: http://en.wikipedia.org/wiki/Block_ciphe..._operation) Le mode d'operation est un des concepts tres importants en cryptographie, et ca serait bien d'arreter d'utiliser de ECB ! Un autre concept important en crypto, c'est le padding. Et la, tu nous fait un padding a ta sauce, pas forcement bon. En l'occurence ici, tu t'en fous que tes donnees soit des donnees binaire, et donc en theorie, tu vas avoir uniquement des char affichable dans ton clear text. Ce qu'il y a c'est qu'en temps normal, c'est pas forcement le cas, et que du coup, il faut pouvoir etre sur de ce qui est le padding, et ce qui ne l'est pas. Pour le coup, c'est generalement le padding definit par PKCS#7 qui est utilise (http://tools.ietf.org/html/rfc2315#section-10.3) En gros, ca consiste a mettre la longueur du padding sur tous les bytes du padding. Comme ca (en python3): Code PYTHON :
length = 16 - (len(data) % 16) Et du coup, tu le remove, apres le dechiffrement, de la facon suivante: Code PYTHON :
data = data[:-data[-1]] Et ensuite, il y a ca: Code PYTHON :
def edit_password(crypt_password_file, Key): Et la, c'est pas tant un probleme de chiffrement, mais de ce qu'on appelle "side channel", en effet, ici, tu nous ecris le contenu dechiffre sur le disque dur, le temps de l'edition. Il suffit a un attaquant de poser un programme qui va check tout tes fichiers *.tmp dans ton repertoire /tmp et de les leak. Et la, au moment ou tu vas editer tes mots de passes, il va pouvoir tout recuperer d'un coup! Pas joli joli :p Le mieux serait de se debrouiller pour tout modifier en RAM directement, mais il ne faut surtout pas aller ecrire le contenu dechiffre sur le disque ! En plus, j'ai pas l'impression que tu delete le fichier ^^ J'ai fini ! :p Ah, et pour la route, on dit CHIFFRER et pas crypter. (cf je sais plus quel thread (mais j'editerais si je le retrouve :D)) |
|
« Sujet précédent | Sujet suivant »
|
Messages dans ce sujet |
[Python] Chiffrer votre fichier de mot de passe - par Junky - 14-01-2015, 16h29
RE: [Python] Crypter votre fichier de mot de passe - par ark - 14-01-2015, 17h25
RE: [Python] Crypter votre fichier de mot de passe - par Junky - 15-01-2015, 09h26
RE: [Python] Chiffrer votre fichier de mot de passe - par 0pc0deFR - 17-01-2015, 20h56
RE: [Python] Chiffrer votre fichier de mot de passe - par Junky - 17-01-2015, 23h34
RE: [Python] Chiffrer votre fichier de mot de passe - par octarin - 17-01-2015, 23h36
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Générateur mot de passe bash | notfound | 4 | 331 |
27-11-2012, 23h10 Dernier message: b0fh |
Utilisateur(s) parcourant ce sujet : 6 visiteur(s)