Posté par NeoX .
Évalué à 1.
Dernière modification le 09 juillet 2014 à 23:17.
De l'autre, dans le cas d'un algo maison, le problème n'est pas le même. Il s'agit de retrouver l'algorithme ayant généré le contenu chiffré.
principe du retro engineering, tu te fiches de l'algo,
tu veux en creer un autre qui genere la meme chose avec les memes entrées.
à partir de là, tu fais par deduction,
et comme dit plus haut, si tu connais l'entrée ET la sortie, c'est plus facile de casser la boite noire.
ce qui compte dans les solutions de cryptage, c'est justement que tu ne connais que l'algo et la sortie.
tu ne connais pas la donnée de depart, et tu ne connais pas la clé.
Car d'un côté, pour un algorithme connu comme un AES, la "variable", se sont les clés
C'est fait exprès ! Le principe, c'est qu'un secret finit par être découvert. C'est alors plus intéressant quand c'est le plus simple à changer. Si un jour tu penses que ton algo maison est compromis, il faut que tu pondes un nouvel algo. À l'inverse, si tu penses que ta clé AES est compromise, tu changes juste de clé.
Dans le cas d'un algorithme inconnu, ta variable c'est ton algorithme en quelques sortes. Les termes clés et algorithmes ce sont des concepts théoriques qui ne se distinguent plus une fois codé dans une RAM. Ce que je veux dire, c'est qu'il n'y a pas de raisons théorique pour qu'une boite noire soit plus difficile à casser.
Non, certains algos sont parfaitement incassables (tant qu'on ne donne pas la clef au vilain). Prends un bête XOR (ou chiffrement de Vigenère), avec une clef parfaitement aléatoire de la même longueur que le message. Par contre, ça ajoute certaines contraintes, c'est sûr.
La sécurité par l'obscurité ? Tu le protège comment ton algo maison ?
Si tu a besoin de chiffrer tes données ton algo sera forcement à l’extérieur, et donc au mieux protégé par un autre algo, connu lui.
Sinon, pour te répondre, deviner l'algo utilisé c'est de la cryptanalyse, donc oui, c'est possible c’est même la base. Genre les Nazis, ils n'ont pas envoyés aux Anglais l'algo utilisé par Egnigma en leur disant "devinez le code maintenant".
Mais si la connaissance de l'algo est indispensable pour le déchiffrement, ne serait-ce pas un bon moyen de protection finalement ?
Non. C’est de la sécurité par l’obscurité.
Un principe élémentaire de la cryptographie (le principe de Kerckoffs) est que la sécurité d’un procédé de chiffrement ne doit dépendre que de la clé. Le procédé en lui-même doit pouvoir tomber entre les mains de l’attaquant sans remettre en cause la confidentialité des communications tant que la clé, et seulement la clé, reste secrète.
Je ne suis on ne peut plus d'accord mais il me semble qu'on peut à la fois se reposer sur des procédés de chiffrement connus et « obscurcire » en appliquant par exemple une composition de différents chiffrements (AES + 2 * Blowfish + 3 * DES), connu seulement des personnes initiés (cela permet au passage d'utiliser plusieurs clés…). Ainsi, en cas de trouage futur de l'un des chiffrements le contenu reste protégé, et cela ralenti le cassage par brute-force.
Si tu estimes qu'utiliser un algorithme de chiffrement/déchiffrement maison est une solution acceptable, tu peux en implémenter un de manière assez sûre en choisissant un algorithme très étudié, facile à implémenter, aux faiblesses bien connues : par exemple XOR (avec une clé vraiment très longue, générée aléatoirement, padding au moins en début et en fin de donnée pour gérer les attaques sur le format des données).
il ne te reste plus qu'à (bien) cacher le clé :) ce qui devrait être plus facile que cacher le code de ton algo maison.
Ma question était surtout intellectuelle : sans connaitre l'algo (on oublie les fuites de code, la rétro ingénierie et consorts) est-il possible avec juste des données, sans l'algo, de déterminer l'algo. Pas les clés utilisés, mais bien l'algo…
c'est deja evoqué dans les exemples de reverse engineering, determiner l'algo, oui et non,
mais trouver un algo similaire qui pourra donner le meme resultat : oui.
En gros tu te demandes si c'est difficile de faire du reverse sur une boîte noire.
Ça dépend de la boîte noire en question (si l'algo est faible genre fait "maison" par un amateur, ça peut se voir assez vite, si ce sont des briques connues et éprouvées type finalistes AES combinés de manière inconnue il n'y a a priori pas de faille dans l'algo lui-même) et des moyens et du temps de l'attaquant (accès uniquement en entrée/sortie ? connaissance de couples clairs/chiffrés valides qu'il pourrait modifier et renvoyer ? accès à des outils de mesure de courant sur la boîte noire qui chiffre ? Accès au binaire qui chiffre avec possibilité de le désosser ou boîte noire accessible seulement par le réseau ? Débit d'accès à la boîte noire ? ).
# le principe de la boite noire
Posté par NeoX . Évalué à 1. Dernière modification le 06 avril 2022 à 21:01.
le principe de la boite noire, c'est que tu lui donnes quelques choses en entrées, elle te donne un resultat en sortie
si la boite noire fait algoA ou algoB tu ne pourras pas lui demander de faire algoC
donc tu ne pourras pas la "forcer" à faire ce qu'elle ne fait pas
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: le principe de la boite noire
Posté par NeoX . Évalué à 2.
ah, tu ne veux pas "forcer" le chiffrage dans le sens l'obliger à le faire
mais "forcer" le dechiffrage, ou "casser" le chiffrage…
oui, quelque soit l'algorythme, quelque soit la clé, un chiffrage est "cassable"
ce n'est qu'une question de temps et de moyens…
y a des etudes la dessus, qui explique le temps qu'il faudrait pour casser par exemple AES-256 puis AES-512 etc
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: le principe de la boite noire
Posté par NeoX . Évalué à 2.
si tu as acces aux données des deux cotés (claires et chiffrées) alors tu pourras "forcer" le cryptage.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: le principe de la boite noire
Posté par NeoX . Évalué à 1. Dernière modification le 09 juillet 2014 à 23:17.
principe du retro engineering, tu te fiches de l'algo,
tu veux en creer un autre qui genere la meme chose avec les memes entrées.
à partir de là, tu fais par deduction,
et comme dit plus haut, si tu connais l'entrée ET la sortie, c'est plus facile de casser la boite noire.
ce qui compte dans les solutions de cryptage, c'est justement que tu ne connais que l'algo et la sortie.
tu ne connais pas la donnée de depart, et tu ne connais pas la clé.
[^] # Re: le principe de la boite noire
Posté par kna . Évalué à 4.
C'est fait exprès ! Le principe, c'est qu'un secret finit par être découvert. C'est alors plus intéressant quand c'est le plus simple à changer. Si un jour tu penses que ton algo maison est compromis, il faut que tu pondes un nouvel algo. À l'inverse, si tu penses que ta clé AES est compromise, tu changes juste de clé.
Cf http://fr.wikipedia.org/wiki/Principe_de_Kerckhoffs
[^] # Re: le principe de la boite noire
Posté par baron . Évalué à 1.
Dans le cas d'un algorithme inconnu, ta variable c'est ton algorithme en quelques sortes. Les termes clés et algorithmes ce sont des concepts théoriques qui ne se distinguent plus une fois codé dans une RAM. Ce que je veux dire, c'est qu'il n'y a pas de raisons théorique pour qu'une boite noire soit plus difficile à casser.
[^] # Re: le principe de la boite noire
Posté par flan (site web personnel) . Évalué à 3.
Non, certains algos sont parfaitement incassables (tant qu'on ne donne pas la clef au vilain). Prends un bête XOR (ou chiffrement de Vigenère), avec une clef parfaitement aléatoire de la même longueur que le message. Par contre, ça ajoute certaines contraintes, c'est sûr.
# En-tête
Posté par Kerro . Évalué à 2.
La plupart du temps, le flux de sortie possède un en-tête. Ça facilite grandement les choses.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: En-tête
Posté par Tonton Benoit . Évalué à 2.
La sécurité par l'obscurité ? Tu le protège comment ton algo maison ?
Si tu a besoin de chiffrer tes données ton algo sera forcement à l’extérieur, et donc au mieux protégé par un autre algo, connu lui.
Sinon, pour te répondre, deviner l'algo utilisé c'est de la cryptanalyse, donc oui, c'est possible c’est même la base. Genre les Nazis, ils n'ont pas envoyés aux Anglais l'algo utilisé par Egnigma en leur disant "devinez le code maintenant".
[^] # Re: En-tête
Posté par flan (site web personnel) . Évalué à 3.
Avoir un exemplaire de la machine (donné par les Polonais) a tout de même grandement facilité le travail ;)
[^] # Re: En-tête
Posté par Tonton Benoit . Évalué à 4.
Et ça répond du coup à l'auteur qui demande :
Oui, ça facilite beaucoup le travail de cryptanalyse.
# Principe de Kerckhoffs
Posté par gouttegd . Évalué à 4.
Non. C’est de la sécurité par l’obscurité.
Un principe élémentaire de la cryptographie (le principe de Kerckoffs) est que la sécurité d’un procédé de chiffrement ne doit dépendre que de la clé. Le procédé en lui-même doit pouvoir tomber entre les mains de l’attaquant sans remettre en cause la confidentialité des communications tant que la clé, et seulement la clé, reste secrète.
[^] # Re: Principe de Kerckhoffs
Posté par Marotte ⛧ . Évalué à 3.
Je ne suis on ne peut plus d'accord mais il me semble qu'on peut à la fois se reposer sur des procédés de chiffrement connus et « obscurcire » en appliquant par exemple une composition de différents chiffrements (AES + 2 * Blowfish + 3 * DES), connu seulement des personnes initiés (cela permet au passage d'utiliser plusieurs clés…). Ainsi, en cas de trouage futur de l'un des chiffrements le contenu reste protégé, et cela ralenti le cassage par brute-force.
# Algo maison
Posté par Salk . Évalué à 1.
Si tu estimes qu'utiliser un algorithme de chiffrement/déchiffrement maison est une solution acceptable, tu peux en implémenter un de manière assez sûre en choisissant un algorithme très étudié, facile à implémenter, aux faiblesses bien connues : par exemple XOR (avec une clé vraiment très longue, générée aléatoirement, padding au moins en début et en fin de donnée pour gérer les attaques sur le format des données).
il ne te reste plus qu'à (bien) cacher le clé :) ce qui devrait être plus facile que cacher le code de ton algo maison.
# Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Des précisions
Posté par NeoX . Évalué à 2.
c'est deja evoqué dans les exemples de reverse engineering, determiner l'algo, oui et non,
mais trouver un algo similaire qui pourra donner le meme resultat : oui.
# Reverse-engineering
Posté par khivapia . Évalué à 2.
En gros tu te demandes si c'est difficile de faire du reverse sur une boîte noire.
Ça dépend de la boîte noire en question (si l'algo est faible genre fait "maison" par un amateur, ça peut se voir assez vite, si ce sont des briques connues et éprouvées type finalistes AES combinés de manière inconnue il n'y a a priori pas de faille dans l'algo lui-même) et des moyens et du temps de l'attaquant (accès uniquement en entrée/sortie ? connaissance de couples clairs/chiffrés valides qu'il pourrait modifier et renvoyer ? accès à des outils de mesure de courant sur la boîte noire qui chiffre ? Accès au binaire qui chiffre avec possibilité de le désosser ou boîte noire accessible seulement par le réseau ? Débit d'accès à la boîte noire ? ).
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.