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

  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
    Points : 0
    Points
    0
    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
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    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 sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    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 189
    Points : 17 141
    Points
    17 141
    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.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  4. #4
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    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 : 543
    Points : 1 745
    Points
    1 745
    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
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

  5. #5
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    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 189
    Points : 17 141
    Points
    17 141
    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.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  6. #6
    Membre expérimenté Avatar de SkyZoThreaD
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 583
    Points : 1 615
    Points
    1 615
    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.
    La liberté est à la sociologie ce que l'instant présent est à la physique relativiste.

  7. #7
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    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 189
    Points : 17 141
    Points
    17 141
    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).
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  8. #8
    Membre émérite
    Homme Profil pro
    sans emploi
    Inscrit en
    Janvier 2014
    Messages
    539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2014
    Messages : 539
    Points : 2 601
    Points
    2 601
    Par défaut
    Sinon il y a la simple technique des initiales de phrases : on choisit une phrase quelconque et on ne garde que certaines lettres avec un peu de ponctuation, de majuscules et des chiffres. Par exemple pour les fans de JJG :
    «encore un matin sans raison ni fin !» → E1msrnf!. Cela permet d'éviter les attaques par dictionnaires.

  9. #9
    Membre expérimenté Avatar de SkyZoThreaD
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 583
    Points : 1 615
    Points
    1 615
    Par défaut
    C'est pas mal ça pour se souvenir des mots de passe
    Perso j'utilise apg qui génère du mot de passe hardcore après qu'on lui ai donné un peu d'entropie au clavier.
    La liberté est à la sociologie ce que l'instant présent est à la physique relativiste.

  10. #10
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Citation Envoyé par picodev Voir le message
    Sinon il y a la simple technique des initiales de phrases : on choisit une phrase quelconque et on ne garde que certaines lettres avec un peu de ponctuation, de majuscules et des chiffres. Par exemple pour les fans de JJG :
    «encore un matin sans raison ni fin !» → E1msrnf!. Cela permet d'éviter les attaques par dictionnaires.
    Technique malheureusement déjà / bientôt à la portée des attaquants les plus puissants (agences gouvernementales), grâce à la numérisation d'une grande partie des écrits existants. Ça en cause dans certains documents Snowden. Je viendrai poster la source si je remets la main dessus.

  11. #11
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    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 : 543
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,
    Citation Envoyé par Matt_Houston Voir le message
    Technique malheureusement déjà / bientôt à la portée des attaquants les plus puissants (agences gouvernementales), grâce à la numérisation d'une grande partie des écrits existants. Ça en cause dans certains documents Snowden. Je viendrai poster la source si je remets la main dessus.
    Je ne pense pas, car une protection qui semble solide peut très bien être dépassée par les capacités (ressource) offensives de l’attaquant et fournir le mot de passe en un instant ou dans un (très) cours laps de temps. Certes le temps de cassage peut être très long, mais il est linéaire à la capacité de la machine ou des machines offensives de l’attaquant. Plus on a une capacité offensive grande plus le temps de cassages est court.
    Exemple le mot de passe généré par @picodev peut être trouvé au bout de 8h30 soit 9 heures maximum sur une bonne machine utilisant le bon algorithme (sous un autre angle, le hash du mot de passe "Bcrypt" par brut force prendra entre 4 ans et demi voit 5 ans SHA1 maximun un ans) . Pour un réseau de botnet beaucoup moins que ça. Quant aux "services dédier" c’est encore beaucoup moins de temps sachant que les capacités disponibles des calculateurs peuvent aller d’une dixième voir centaine de pétaoctets (Cependant de nos jours avec une bonne machine, tout mot de passe de longueur inférieure 8 peut être trouvé).
    Ce qui pose problème aux services sont les algorithmes de chiffrement plus précisément les clefs de chiffrement. Dès que l’on a affaire à des chiffrements qui sont forts, on optera sans exception pour une cryptanalyse (en utilisant alors les différents types d’attaques : attaquent pas texte clair connu, attaque par texte chiffré seul choisi, etc. pour tenter de déchiffré le message) .
    Pour l’instant j’attends de pied ferme le chiffrement quantique, mais en attendant un chiffrement par courbe elliptique me rassure (une clef de supérieur ou égale à 200 bits est largement plus sûre qu'une clé de 1024 bits pour le RSA) et je conseil fortrements.

    à bientôt
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

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