Est-il valable de :
- générer l'empreinte MD5 de mon document à t (on la notera MD5(doc,t))
- à t, envoyer l'empreinte MD5(doc,t) à l'autorité
Plus tard
- à t+1, envoyer le document à l'autorité
- l'autorité peut calculer MD5(doc, t+1)
Si MD5(doc,t+1)=MD5(doc,t), l'autorité peut-elle conclure que le fichier n'a pas été modifié ?
Inversement, si MD5(doc,t+1)=MD5(doc,t), l'autorité peut-elle conclure que le fichier a été modifié ?
Qu'en pensez-vous ? Bonne soirée à tous.
Très rapidement non,
Si j'ai bien compris ce que tu cherches à faire d'après les commentaires, tu veux pouvoir créer un document dont on peut valider que la personne n'a pas cherché à le modifier depuis l'instant T.
Ton système d'enveloppe cacheté aurait donc tel fonctionnement :
On prend 3 fournisseur A,B et C et un client X
temps T
A créé un doccument dA et envoi le md5 de dA à X
B créé un doccument dB et envoi le md5 de dB à X
C créé un doccument dC et envoi le md5 de dC à X
temps T+1
A envoi dA à X et X valide le md5 de dA
B envoi dB à X et X valide le md5 de dB
C envoi dC à X et X valide le md5 de dC
Problème : si il est (même aujourd'hui, même pour MD5) complexe de faire un collide qui marche sur un document créé par quelqu'un d'autre, il est relativement simple de créer volontaire des documents qui collident les uns avec les autres.
Donc A peut très bien créer dA1, dA2 avec md5(dA1)=md5(dA2), en changeant un élément non significatif du document (par exemple les bits de poids faible d'une image).
Si j'ai bien compris ce que tu cherches à faire, il y a beaucoup plus simple : le chiffrement réversible symétrique.
Chaque personne créé son document, le chiffre avec une clef symétrique et balance la version chiffré au client.
Ensuite au temps t+1 on balance le pass (un truc costaud, genre deux ou trois pages de texte en UTF-8).
Et là le client n'a plus qu'à déchiffrer.
Si ca te casse les pieds de coder ton propre outil, 7zip en mode chiffrement AES-256 avec un mot de passe de 12+ caractères avec les panachages standard (majuscule, minuscule, ponctuation) ca marche bien.
Généralement je dis à mes clients d'utiliser une phrase complète (majuscule au début, point à la fin, espaces entre les mots, mais évitez les accents). C'est déjà bien solide.
# Si j'ai bien compris ce que tu veux faire, ta solution ne fonctionne pas.
Posté par phxonx . En réponse au journal MD5 et garantie de non-modification. Évalué à 3.
Très rapidement non,
Si j'ai bien compris ce que tu cherches à faire d'après les commentaires, tu veux pouvoir créer un document dont on peut valider que la personne n'a pas cherché à le modifier depuis l'instant T.
Ton système d'enveloppe cacheté aurait donc tel fonctionnement :
On prend 3 fournisseur A,B et C et un client X
temps T
A créé un doccument dA et envoi le md5 de dA à X
B créé un doccument dB et envoi le md5 de dB à X
C créé un doccument dC et envoi le md5 de dC à X
temps T+1
A envoi dA à X et X valide le md5 de dA
B envoi dB à X et X valide le md5 de dB
C envoi dC à X et X valide le md5 de dC
Problème : si il est (même aujourd'hui, même pour MD5) complexe de faire un collide qui marche sur un document créé par quelqu'un d'autre, il est relativement simple de créer volontaire des documents qui collident les uns avec les autres.
Donc A peut très bien créer dA1, dA2 avec md5(dA1)=md5(dA2), en changeant un élément non significatif du document (par exemple les bits de poids faible d'une image).
Si j'ai bien compris ce que tu cherches à faire, il y a beaucoup plus simple : le chiffrement réversible symétrique.
Chaque personne créé son document, le chiffre avec une clef symétrique et balance la version chiffré au client.
Ensuite au temps t+1 on balance le pass (un truc costaud, genre deux ou trois pages de texte en UTF-8).
Et là le client n'a plus qu'à déchiffrer.
Si ca te casse les pieds de coder ton propre outil, 7zip en mode chiffrement AES-256 avec un mot de passe de 12+ caractères avec les panachages standard (majuscule, minuscule, ponctuation) ca marche bien.
Généralement je dis à mes clients d'utiliser une phrase complète (majuscule au début, point à la fin, espaces entre les mots, mais évitez les accents). C'est déjà bien solide.