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

C Discussion :

test complexité d'un mot de passe


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 1
    Par défaut test complexité d'un mot de passe
    bonjour svp quelqu'un pourrai m'aider avec un programme ecrit en langage C qui permetrai de tester la complexite d'un mot de passe ..

  2. #2
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    Définis : tester la complexité d'un mot de passe.

    S'il s'agit d'un cas applicatif (ouvrir une archive chiffrée), de nombreux programmes existent déjà. En fonction de l'algorithme de chiffrement utilisé et de la puissance de calcul engagée, il te faudra prévoir entre quelques secondes et quelques millions d'années.

  3. #3
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    S'il s'agit de valider qu'un mot de passe est assez complexe, le problème est assez simple, puisqu'il s'agit d'appliquer une fonction mathématique précise, transformant une chaine de caractère en un nombre, et de présenter à l'utilisateur un jugement de valeur sur ce résultat.

    Toute la difficulté est dans la définition mathématique de la fonction d'évaluation.
    As-tu écrite sur papier cette fonction? Si oui, on peut t'aider avec en faire du code.
    Si non, c'est que tu n'as pas définit ce que doit faire ton programme, ce qui explique que tu ne parviennes pas à l'écrire.

  4. #4
    Membre très actif
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 548
    Par défaut
    Bonsoir,

    Je pense que @Diallo24 souhaite savoir si ses différents mots de passe (voir mots de passe générer) qui sont ont sa possession sont des mots de passe robuste ou pas.
    En clair, effectuer une mesure de la capacité de résistance aux différents types d’attaques (force brute ou déductive: méthode qui consiste à connaître où on se basant sur des informations concernant un usager pour tenter d'en déduire des mots de passe qui pourront /susceptible de fonctionner) .qui permettrait de trouver la bonne séquence du mot de passe et en combien de temps. (estimation temps de crack du mots de passe)
    Exemple, le mot de passe "C5Ju". Peut-il résister aux forces brutes et ceux au bout de combien de temps ?

    Alors comment arrive-t-on a l'évaluation de complexité ?
    Il faut savoir qu’un mot de passe est une suite de caractères plus ou moins composés dont les composants sont plus ou moins nombreux et variés (lettre minuscule, lettre majuscule, chiffres, lettres accentuées, et signe spécial) de ce fait, le nombre de combinaisons est grand, varié et dépend du nombre de caractères qui est autorisé dans la composition du mot de passe. Ainsi donc vous aurez pour le cas des :
    • Chiffres uniquement: 10^N ou N est le nombre d'éléments donc 10^4 soit 10000 combinaisons possibles
    • Lettres uniquement: 26^N ou N est le nombre d'éléments donc un mot de passe de 4 éléments donne 26^4 soit 456.976 combinaisons possibles
    • Chiffres et lettres: 36^N ou N est nombre d'éléments ainsi donc un mot de passe de 4 éléments donne 36^4 soit 1.679.616 combinaisons possibles
    • Lettres sensibles a la case :(Lettre minuscule + lettre majuscule) 52^N ou N est le nombre d'éléments ainsi donc un mot de passe de 4 éléments donne 52^4 soit 7.311.616 combinaisons possibles
    • Chiffres + lettres + lettres sensibles a la case: 62^N ou N est le nombre d'éléments ainsi donc un mot de passe de 4 éléments donne 62^4 soit 14.776.336 combinaisons possibles
    • Chiffres + lettres + lettres sensibles+ accents + signes spéciaux: 200^N ou N est le nombre d'éléments ainsi donc un mot de passe de 4 éléments donne 200^4 soit 1.600.000.000 combinaisons possibles.


    En se basant sur les IPS (instruction par seconde) on peut déduire que 1MIPS = 1000000 instructions par seconde donc si l’on admet que l’on possède Raspberry Pi 2 années 2014, 1.0 GHz possédant 4,744 MIPS en a exactement 4744000.0 IPS soit environ 50000000 d’instruction par seconde ou un Intel Core i7 6950X année 2016, 3.0 GHz et 317,900 MIPS en a 317 900000000 environ 318000000000 instructions par seconde on obtient donc:
    (36^4)/4744000.0 = 0.3540505902192243 environ entre 3 et 4 microsecondes. pour casser C5Ju on peut en déduire que c'est un mots de passe faible. (Attention le résultat obtenu est une approximation)

    Autre exemple: Avant toutes choses Je tiens à m'excuser auprès des membres du forum dont le pseudo figure dans liste ci-dessous et les administrateurs du forum sans demandé l'autorisation. J'assumerais donc les conséquences.

    On utilisant différents pseudo des intervenants du forum comme mots de passe on obtient pour:
    • Sve@r (5 caractères) environ 4182119424 possibilités donc entre 1 à 35 millisecondes pour le cassé
    • ternel (6 caractères) environ 308,915,776 possibilité environ 8 milliseconde pour le trouver.
    • picodev (7 caractères) environ 8031810176 possibilités donc entre environ 200 millisecondes soit exactement 0,2 seconde
    • Diallo24 (8 caractères) environ 218340105584 possibilités donc entre 1h30 à 2 heure maximum
    • sambia39 (8 caractères) environ 2821109907456 possibilités soit une à 1 minute ou 1 minute 30
    • Obsidian (8 caractères) environ 53459728531456 possibilités, mais cela varie sur une attaque distribue le résultat est quasi-instantané 35 microsecondes sinon 1 heures.
    • gangsoleil (10 caractères) environ 141167095653377 possibilités donc entre 55 minutes a 1 heure
    • dzdesperado1 (12 caractères) environ 4,73838133832161700 entre 4 à 5 ans
    • Matt_Houston (13 caractères) environ 1.0366465e+25 possibilités soit environ 6 à 7000 ans ou pire des cas 16 millions d’années
    • St-42-FCM-57 (12 caractères) environ 4.7592031481425336e+23 possibilités, prés de 33 a 35 millions d’années
    • LJ>vB€7T1#/lX3=vI98C$<>rit (26 caractères généré aléatoirement) environ 2.001355,290523407e+51 prés de 4 à plusieurs milliards d’années ( vite à quant l’ordinateur quantique ? )


    Un mot de passe dit fort ou robuste dépend donc de plusieurs facteurs qui peuvent se baser sur des règles simples ou complexes non universel. Cependant, le socle qui garantit la robustesse d’un mot de passe reste sa longueur vient par la suite, le type ou les différents types de caractères utilisés (nombres, lettres, majuscules ou minuscules et caractères spéciaux), et la façon dont on obtient la suite de caractères qui forme le mot de passe. Les mots de passe doivent donc respecter les exigences de complexité établie précédemment (règle de création, mesure de résistance à l'attaque, mécanisme mis en oeuvre pour vérifier le mot de passe et de ses caractéristiques techniques, mécanisme cryptographique: "pour chiffrer le mot de passe", etc.) pour être robuste.

    Dans les exemples ci-dessus les quatre derniers pseudo sont susceptibles et conseil d'être utilisé comme mots de passe robuste, mais attention cela ne veut pas dire que l'on soit à l'abri de tout ... Exemple LJ>v B€7T1#/lx3=vis98 C$>rit est un mot de passe fort robuste, mais comme le retenir est difficile, il est sujet à risque; car il est fort possible que l’on puisse pas retenir le tout par coeur. Une des solutions serait donc de l'écrire sur un post-it et le caché et le fait de faire cela créé déjà une brèche de sécurité. Le mieux est d’avoir un bon compromis gestionnaire de mots de passe par exemple ou un mots de passe relativement simple et robuste.

    Pour plus d'informations, voici une petite documentation sur les recommandations de sécurité relative aux mots de passe sur des systèmes d'information.
    (source: www.ssi.gouv.fr).

    à bientôt

  5. #5
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Notons qu'il existe une alternative à ce problème de complexité et mémoire.
    prendre quatre mots (de plus de cinq lettres) aléatoirement dans le dictionnaire, et former une phrase mémotechnique.

    Le mot de passe résultant fait au moins 20 lettres soit au moins 26 ^ 20 combinaisons, en supposant qu'on ignore le fait que ce sont des mots, c'est à dire 2 * 10^28.
    Si on sait que ce sont des mots, ca fait environ 30 000 ^ 4 soit 8 *10^17
    C'est beaucoup moins, mais c'est a peu près équivalent à un mot de passe ultra complexe en 8 caractères (2,5*10^18)

    Système qu'on peut améliorer avec une liste de mots plus grandes, par exemple tirée du latin.

  6. #6
    Membre émérite Avatar de SkyZoThreaD
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2013
    Messages
    585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 585
    Par défaut
    Absolument. C'est d'ailleurs comme ça qu'on casse les mots de passe d''habitude et non pas par bruteforce. C'est pourquoi il ne sert à rien d''avoir des mots de passe ultra longs si c'est une suite de mots connus.

  7. #7
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Les deux points importants de cette méthode, c'est effectivement d'avoir un tirage aléatoire dans cette liste, et surtout une grande liste.
    Ici, le mot de passe est un "mot" de quatre "lettres" dans un "alphabet" qui en comprend 30000 (dans mon exemple).

Discussions similaires

  1. Réponses: 10
    Dernier message: 23/05/2007, 09h30
  2. Réponses: 4
    Dernier message: 09/03/2006, 18h06

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