Auteur Sujet: Sécurité contre l'écoute lors de la connexion lafibre.info  (Lu 14238 fois)

0 Membres et 1 Invité sur ce sujet

corrector

  • Invité
Sécurité contre l'écoute lors de la connexion lafibre.info
« Réponse #36 le: 27 octobre 2014 à 04:02:04 »
Les caractéristiques souhaitables d'un protocole de vérification de mdp sont donc :
- l'écoute passive ne révèle pas un vérificateur de mdp
On voit facilement que cela n'est pas faisable avec de la crypto symétrique uniquement.

On a donc le choix entre des protocoles plus simples qui s'exécutent avec peu de mémoire mais qui exposent le mdp à une attaque par dictionnaire, ou des protocoles plus évolués qui nécessitent de stocker de grands nombres et de travailler dans des corps finis. Ce n'est pas un problème pour un PC (ou une box), mais ça peut être un problème pour certains systèmes "embarqués".

corrector

  • Invité
Sécurité contre l'écoute lors de la connexion lafibre.info
« Réponse #37 le: 27 octobre 2014 à 04:18:06 »
Procéder autrement (ex : que le serveur envoie pepper et salt au client, pour que celui-ci calcule bcrypt (pepper || password || salt))
Envoyer au client le poivre est hors de question. Admettons donc qu'il n'y a pas de poivre.

Envoyer au client le sel correspondant un utilisateur arbitraire crée plusieurs soucis :
  • Que faire si l'utilisateur demandé n'existe pas?

    - Indiquer qu'un login n'existe pas n'est pas toujours acceptable (certains admins veulent cacher si c'est le login ou le mdp qui est incorrect).
    - Inventer un sel qui n'existe pas dans la BDD suppose qu'il ne soit pas distinguable d'un vrai sel, ce qui suppose de générer une valeur reproductible et avec le bon timing.
  • Supposons qu'il n'y a que le sel et pas de poivre.

    Le sel protège la valeur hachée du mdp entre autres en empêchant de pré-calculer des hachés (p.ex. stockés dans des tables arc-en-ciel). Si le sel est fixé (connu), cela retire cette difficulté. Un attaquant pourrait pré-calculer des tables pour ensuite les utiliser après une attaque sur le serveur. Même si l'attaque est détectée rapidement, les tables pourraient permettre de "frapper fort".

    Ceci dit cette objection est relativement faible : le sel empêche quand même d'attaquer tous les mdp hachés dans la BDD à la fois. C'est sa principale utilité.

corrector

  • Invité
Sécurité contre l'écoute lors de la connexion lafibre.info
« Réponse #38 le: 27 octobre 2014 à 04:30:20 »
Un nonce (nounce) est un nombre qui n'est généré qu'une seule fois, dans l'Histoire. C'est un grand nombre aléatoire tel que la probabilité de le générer plusieurs fois est négligeable.

On fait des calculs avec cette valeur; le résultat de calcul a forcèment été produit après que le nonce ait été émis, et est lié à ce nonce : le nonce agit comme un identifiant de session.
Je reviens sur les nonces : il faut impérativement qu'ils n'y ai jamais de répétition, et qu'ils soient imprévisibles; pour ça il faut un générateur de nombres pseudo aléatoire de qualité cryptographique.

Il s'agit d'une nécessité absolue. Si les valeurs ne sont pas réellement aléatoires, tout le système s'effondre. Je dis bien tout!

Electrocut

  • Abonné Orange Fibre
  • *
  • Messages: 512
  • Pont-Péan (35)
Sécurité contre l'écoute lors de la connexion lafibre.info
« Réponse #39 le: 27 octobre 2014 à 10:02:38 »
Merci pour ces complèments d'information ;)

Les caractéristiques souhaitables d'un protocole de vérification de mdp sont donc :
  • aucun mdp ne circule en clair
  • l'écoute passive ne révèle pas un vérificateur de mdp
  • une attaque réseau active (MITM) ne révèle pas un vérificateur de mdp
  • le serveur ne stocke pas les mdp en clair (ou équivalent clair)
  • le serveur n'obtient pas le mdp en clair lors de l'exécution du protocole
  • le serveur ne stocke pas un authentifiant
  • le serveur n'obtient pas un authentifiant lors de l'exécution du protocole
  • l'exécution du vérificateur est lente
  • le protocole crée une session sécurisée
  • le serveur ne peut pas être forcé faire des calculs ridiculement lourds (pour éviter le DoS)

Si j'ai bien compris le mécanisme d'authentification en place sur lafibre.info (et que celui-ci n'a pas changé depuis le premier post de ce topic) :
- celui-ci possède les caractéristiques 1, 2, 3, 4, 5, 9 et 10.
- en revanche, celui-ci ne possède pas les caractéristiques 6, 7 et 8.

Tu confirmes ?

corrector

  • Invité
Sécurité contre l'écoute lors de la connexion lafibre.info
« Réponse #40 le: 27 octobre 2014 à 19:46:04 »
lafibre est en HTTPS, donc est-ce que tu parles du serveur HTTPS ou du serveur HTTP "derrière"?
« Modifié: 27 octobre 2014 à 20:10:04 par corrector »

Optrolight

  • Client Orange Fibre
  • Modérateur
  • *
  • Messages: 4 673
  • Grenoble (38) @Optrolight
    • Optroastro
Sécurité contre l'écoute lors de la connexion lafibre.info
« Réponse #41 le: 27 octobre 2014 à 19:51:17 »
lafibre est en HTTPS, donc je ne vois pas de quoi tu parles.

On dit "c'est pas faux" corrector  ;D

corrector

  • Invité
Sécurité contre l'écoute lors de la connexion lafibre.info
« Réponse #42 le: 27 octobre 2014 à 20:09:08 »
Les caractéristiques souhaitables d'un protocole de vérification de mdp sont donc :

(clear-pw) aucun mdp ne circule en clair
(pass-ver) l'écoute passive ne révèle pas un vérificateur de mdp
(mitm-ver) une attaque réseau active (MITM) ne révèle pas un vérificateur de mdp
(stor-pw) le serveur ne stocke pas les mdp en clair (ou équivalent clair)
(prot-pw) le serveur n'obtient pas le mdp en clair lors de l'exécution du protocole
(stor-auth) le serveur ne stocke pas un authentifiant
(prot-auth) le serveur n'obtient pas un authentifiant lors de l'exécution du protocole
(slow-verif) l'exécution du vérificateur est lente
(sec-session) le protocole crée une session sécurisée
(no-dos) le serveur ne peut pas être forcé faire des calculs ridiculement lourds (pour éviter le DoS)

La session sécurisée empêche une attaque active une fois que l'authentification a eu lieu : les requêtes sont liées à l'authentification par mdp, si elles sont modifiées elles ne seront plus considérées comme authentifiées.
Si j'ai bien compris le mécanisme d'authentification en place sur lafibre.info (et que celui-ci n'a pas changé depuis le premier post de ce topic) :
- celui-ci possède les caractéristiques (clear-pw), (pass-ver), (mitm-ver), (stor-pw), (prot-pw), (sec-session) et (no-dos).
Si tu parles de ce mécanisme au dessus de HTTP, alors non, il ne fournit pas tout ça.
(clear-pw) oui
(pass-ver) non donc (mitm-ver) sans objet
(stor-pw) oui
(prot-pw) oui
(sec-session) non
(no-dos) oui

- en revanche, celui-ci ne possède pas les caractéristiques (stor-auth), (prot-auth) et (slow-verif).
Exact.

corrector

  • Invité
DDoS sur un site Web
« Réponse #43 le: 27 octobre 2014 à 20:29:12 »
https://lafibre.info est un serveur TLS qui propose RSA-ECDHE. Les clients légitimes vont faire une seule fois la phase RSA-ECDHE, et ensuite réutiliser le plus possible le secret obtenu.

Un client non légitime pourrait faire des authentifications en boucle, donc des opérations RSA.

Donc au niveau DDoS, tu peux faire faire au serveur des exponentiations en série.

Pour le reste, TLS crée une session sécurisée et authentifiée par certificat; pour attaquer lafibre.info, tu pourrais pirater une autorité afin d'obtenir un certificat "valide" et ensuite faire un MITM.

Et là, tu fais ce que tu veux.
« Modifié: 27 octobre 2014 à 20:53:33 par corrector »

corrector

  • Invité
Sécurité des mdp sur un site Web quelconque
« Réponse #44 le: 27 octobre 2014 à 20:52:19 »
Si j'ai bien compris le mécanisme d'authentification en place sur lafibre.info
Mais fondamentalement cette question n'a pas de sens, parce que le mécanisme dont tu espères qu'il n'a pas changé n'est qu'une page HTML.

(et que celui-ci n'a pas changé depuis le premier post de ce topic) :
Voilà, tu espères que l'implèmentation n'a pas changé.

Donc le mécanisme affiche un formulaire HTML sur une page, donc rien n'indique à l'utilisateur comment ces données seront traitées. Tout ce que l'utilisateur sait est qu'il a une page Web d'un site donné, d'après l'URL. Il doit avoir confiance dans le serveur.

Tu ne saurais pas si le code avait changé, parce que tu n'as rien installé sur ton PC. Il faudrait faire un plugin!

Electrocut

  • Abonné Orange Fibre
  • *
  • Messages: 512
  • Pont-Péan (35)
Sécurité contre l'écoute lors de la connexion lafibre.info
« Réponse #45 le: 27 octobre 2014 à 21:49:40 »
(pass-ver) non donc (mitm-ver) sans objet
Je ne vois pas le "vérificateur de mot de passe" transiter en clair dans les échanges :
  • Le serveur envoie "sid" aléatoire
  • Le client retourne hash = SHA-1(SHA-1(lower (login) || password) || sid)
  • Le serveur récalcule hash = SHA-1(hpw || sid), et compare le résultat

Citer
(sec-session) non
Je faisais allusion au fait que nous sommes en HTTPS, mais effectivement, ce n'est pas le mécanisme d'authentification qui assure la session sécurisée. Donc c'est non ... mais pas forcèment gênant ici.

Donc le mécanisme affiche un formulaire HTML sur une page, donc rien n'indique à l'utilisateur comment ces données seront traitées.
Non, mais nous venons de voir plus haut, que si le mécanisme côté client est ce qu'il est (le client reçoit  "sid" et retourne "hash = SHA-1(SHA-1(lower (login) || password) || sid)", alors c'est que "SHA-1(lower (login) || password" est stocké côté serveur. D'où mes remarques sur les propriétés (stor-auth) et (prot-auth) à priori non couvertes.

corrector

  • Invité
Sécurité contre l'écoute lors de la connexion lafibre.info
« Réponse #46 le: 27 octobre 2014 à 22:22:11 »
Le vérificateur est une donnée qui permet de tester si un mdp est correct.
J'aurais dû écrire un vérificateur est une fonction de l'ensemble de mdp autorisés vers les booléens indiquant si un pp (password potentiel) est correct.

Je ne vois pas le "vérificateur de mot de passe" transiter en clair dans les échanges :
  • Le serveur envoie "sid" aléatoire
  • Le client retourne hash = SHA-1(SHA-1(lower (login) || password) || sid)
  • Le serveur récalcule hash = SHA-1(hpw || sid), et compare le résultat
En capturant la connexion on peut récupérer :
- login
- sid
- hash = SHA-1(SHA-1(lower (login) || password) || sid)

hash seul n'est pas un vérificateur. Le triplet (login, sid, hash) définit un vérificateur.

La connaissance d'un vérificateur est donc suffisante pour effectuer une attaque par dictionnaire. (Le serveur doit stocker au moins les vérificateurs et pourrait tenter une attaque par dictionnaire.)
En connaissant login et sid, je peux calculer SHA-1(SHA-1(lower (login) || pp) || sid) pour tout pp (password potentiel).

Le vérificateur en fait est la fonction

pp -> ( SHA-1(SHA-1(lower (login) || pp) || sid) == hash )

Ce qui permet de faire une attaque de type dictionnaire ou force brute.

Electrocut

  • Abonné Orange Fibre
  • *
  • Messages: 512
  • Pont-Péan (35)
Sécurité contre l'écoute lors de la connexion lafibre.info
« Réponse #47 le: 27 octobre 2014 à 22:33:32 »
Effectivement. Je cherchais un seul élèment vérificateur, mais c'est le trio login + sid + hash qui le compose. Merci pour cet éclaircissement ;)