Greetings !! Salutations !!
J'ai eu une question d'un de mes élèves récemment qui m'a un peu surpris car habituellement ils ont tendance, mes élèves, à "survoler" les technologies qui semblent les intéresser.
Cette fois je pense qu'il a lu des infos quelque part car voici ce qu'il me disait: "...comme TLS génère un hash servant à identifier la session de chiffrement, et que par définition un hash
ne va que dans un sens (on a une clef -> hash mais jamais de hash -> key) lorsque la session de chiffrement est terminée, le hash change... du coup: comment prétendre espionner
la planète entière si il n'est pas possible de déchiffrer ce qui passe dans HTTPS (vu que le hash est un nombre généré aléatoirement donc non prédictible ?)"
Je n'ai pas une connaissance approfondie du sujet, mais je connais le terme et ce qui se cache derrière le "forward secrecy" -> qui garanti que de la force brute offline n'aura pas d'effet même si la clef privée serait volée.
Concernant les algorithmes de signature, je ne suis pas expert, mais je sais que SHA-2 inclut effectivement un hash du fait de son nom (^^) maintenant je ne sais pas si il y a de l'aléatoire (ou pseudo-aléatoire)
prévu dans les opérations prévues pour le hash. Cela me semblerait un peu difficile de pourvoir un hash sur une entrée si elles sont hachées avec des nombres aléatoires et que nous devions comparer les deux
hashes pour valider l'entrée.
En classe nous faisions ce genre de choses en Perl pour valider l'accès à un compte dans une simulation de forum de discussion
...et nous utilisions 256 bits pour "hasher" notre mot de passe et nous comparions les deux hashes... comme la règle le veut "jamais de mots de passe en clair".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 $statement=$DBHandler->prepare("SELECT SHA2('$localpassword',256)"); $statement->execute(); $cryptedpwd=$statement->fetchrow_array(); print "<br>\t$cryptedpwd <-> $localpwdFROMdb<br>"; if($cryptedpwd eq $localpwdFROMdb) { # Je ne sais pas encore comment faire le relais... mais je vais trouver... DisplayForumEntrance($locallogin); exit; } else { # Logger une tentative infructueuse... $Generated=DisplayHTMLLogin(-1); DisplayHTML(); exit; }
Donc ma question:
Puis-je indiquer que le hash donne une impression de génération de nombres aléatoires mais ce n'est pas du tout aléatoire ?
Par contre pour le reste, je pense aussi que cela me semble assez compliqué de sniffer tout ce qui passe sur le net, et pour moi le décryptage est quasiment
impossible en temps réel. Mais je ne me repose que sur le fait du temps processeur que cela prendrait, même sur un cluster de super calculateurs pour faire
des "birthday attacks" ou des "pre image attacks"...
Puis-je indiquer alors que ce soit "théoriquement impossible" ou "mathématiquement impossible" ?
Partager