IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Transmission de mots de passe


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Par défaut Transmission de mots de passe
    Salut à tous,

    voilà je me pose une petite question quant à la transmittion de mots de passe :

    Je possède un client C qui veut se logger (login, password) au serveur S. Les passwords sur S sont stockés hashés (MD-5, SHA-...).

    Si je veux me logger on donne donc un login,password au serveur qui regarde s'il possède une entrée dans sa table pour le login, si oui il hashe le password donné et regarde si le password hashé donné correspond au password hashé stocké.

    Ca c'est bien, parce qu'ainsi personne côté serveur ne peut aller lire les passwords.

    Mais le problème se pose dans la transmittion de ces passwords entre le client et le serveur. Il faudrait que le password ne soit pas transmis en clair.
    Quelle est la procédure habituellement utilisée?

    - Si je hashe le password côté application, je peux directement vérifier les login, password sur le serveur. On pourrait aussi crypter les login, password avec la clé publique du serveur, ça marcherait aussi. Mais il y a un petit problème : si qqn intercepte le packet contenant la demande de logging contenant le login,password (quelque soit sa forme) il peut envoyer ce packet et se logger à la place de l'utilisateur.
    Ce problème peut-il être évité? Parce qu'à priori il ne devrait dépendre que de la couche application du réseau, donc si ça ne tenait qu'à moi je préconiserais l'envoi de pasword déjà hashé.

    Mais comment procède-t-on habituellement?

    Merci d'avance pour vos réponses, si je n'ai pas été clair sur certains points dites-le je préciserai.

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    On utilise un protocole d'échange sécurisé (typiquement https pour le web, ssh pour d'autres applications)

    La méthode plus simple correspond à un échange de message de manière sécurisé. Ceci se faisant en utilisant des systèmes de cryptage avec clef privée/clef public. Le serveur crée un couple clef public/ clef privé, il envoit la clef public au client. Le client crypte son password avec la clef public, il envoit le password crypté à travers le réseau. Seul le serveur peut décrypter le message grâce à la clef privé.

    En fait, on utilise des fonctions à sens unique à brèche secréte (la brèche étant la clef privé)

    si qqn intercepte le packet contenant la demande de logging contenant le login,password (quelque soit sa forme) il peut envoyer ce packet et se logger à la place de l'utilisateur.
    Il suffit de générer un couple clef public/clef privée qui ne fonctionne qu'une seule fois.

  3. #3
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Le client crypte son password avec la clef public
    Je ne suis vraiment pas un pro dans ce domaine, mais il me semblait que les cléfs publiques ne servaient qu'au décryptage et que l'on devait obligatoirement utiliser les clefs privée pour encoder.

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Je ne suis vraiment pas un pro dans ce domaine, mais il me semblait que les cléfs publiques ne servaient qu'au décryptage et que l'on devait obligatoirement utiliser les clefs privée pour encoder.
    Mais si on peut décoder avec une clef public, tout le monde pourrait décoder


    Dans le principe :
    Bob choisit une fonction à sens unique f et sa brèche secrète k
    Bob publie f

    Envoi d'un message m d'Alice à bob
    Alice calcule : f(m) et envoie à bob
    Bob calcul f^-1(f(m)) = m grâce à la brèche secrète qu'est sa clef privée k

    Voir le cours de cryptologie : http://lapoire.developpez.com/cryptologie/introduction/

  5. #5
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Je ne suis vraiment pas un pro dans ce domaine, mais il me semblait que les cléfs publiques ne servaient qu'au décryptage et que l'on devait obligatoirement utiliser les clefs privée pour encoder.
    Je pense que tu fais une confusion avec les systèmes d'authentification, qui sont destinés à vérifier que la personne qui envoie est bien celle qu'elle prétend être, elle encode alors un message connu avec sa clé privée et pour vérifier l'origine, le correspondant décode avec la clé publique de la personne (qui est gardée par une institution de confiance), si le message correspond, alors l'origine est bien vérifiée.
    Evidemment, cela présuppose qu'il est difficile d'utiliser la clé publique et le message connu pour reproduire un message crypté correct.

    --
    Jedaï

  6. #6
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    une confusion avec les systèmes d'authentification
    En effet!
    Merci pour les clarifications.
    N'importe qui ayant la clé publique publiée par le serveur peut envoyer un message, mais seul le serveur qui a la clé privée le décode.

  7. #7
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    effectivement de nos jours l'échange des clefs se fait par un system à clé publique, typiquement le RSA dans 99,9% des cas.

    Toutefois, il y a effectivement un souci :
    - Pour que cela marche, ton client te donne la clé publique, ton serveur cripte avec la cléf publique le password et le renvoit.
    - le seul souci dans ces cas là, c'est : que ce passe t'il si un serveur malveillant se fait passer pour le tiens et envoit un faux password ?
    - Ton client va alors comuniquer avec un serveur malveillant.

    Je ne suis pas un pro en cryptograhie, je ne connais que les principes. Mais je sais qu'il y a des protocoles qui permettent d'identifier les clients/serveurs lors d'un cryptage à clé publique.

    Bonne continuation...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [phpMyAdmin] [phpMyAdmin] Problème mot de passe Root !
    Par StouffR dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 26/09/2014, 11h59
  2. Crypter mot de passe, transmission réseau
    Par contremaitre dans le forum Réseau
    Réponses: 11
    Dernier message: 28/06/2008, 23h42
  3. [VB6] [ADO] [Access] Changer le mot de passe
    Par dlpxlid dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 03/03/2003, 09h45
  4. Réccupération du mot de passe d'une connexion
    Par zinaif dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/12/2002, 18h32
  5. Au sujet des mots de passe
    Par FranT dans le forum Langage
    Réponses: 6
    Dernier message: 17/09/2002, 22h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo