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

  1. #1
    Inactif  
    Défi : Créez votre propre générateur de mots de passe !
    Bonjour,

    La rubrique Sécurité vous propose de créer votre propre générateur de mot de passe et d'avoir peut-être la chance de le voir hébergé sur Developpez.com.

    Notre partenaire livre, les éditions ENI, offrira aux trois meilleures participations un livre intitulé Ethical Hacking, dont vous pouvez consulter les retours par nos membres.


    Les règles sont simples, vous avez jusqu'au 01/03/2014 pour proposer votre générateur de mot de passe sur ce sujet. Vous pouvez participer quelle que soit votre nationalité. Le générateur devra proposer les fonctionnalités suivantes :
    • générer un mot de passe avec des options de génération (par exemple : avec ou sans chiffres, avec ou sans caractères spéciaux, entre X et Y caractères, ...) ;
    • tester la résistance d'un mot de passe.


    Vous pouvez vous inspirer de l'exemple de générateur de mots de passe suivant.

    Pour proposer votre générateur, vous devrez fournir :
    • un lien URL pour tester votre générateur s'il possède une interface Web ;
    • le cas échéant, une version de votre compilateur qui pourra être testée par les lecteurs ;
    • les sources de votre générateur (vous pourrez les poster ici) ;
    • ainsi qu'une description rapide de votre générateur.


    Pour les langages compilés, à défaut de pouvoir fournir une version pour chaque environnement, essayez de rendre vos sources facilement compilables (ex : CMake, Makefile, ...).

    Un sujet par générateur sera alors créé par nos soins. Les lecteurs auront ensuite jusqu'au 01/04/2014 pour donner une note sur 20 à votre générateur suivant le barème ci-dessous :
    • fonctionnalités : 4 points ;
    • qualité du code : 4 points ;
    • commentaire et documentation : 4 points ;
    • sécurité de l'application : 4 points ;
    • design et inventivité de l'interface : 4 points.


    Le 02/04/2014, deux classements seront faits :
    • un classement regroupant tous les logiciels ayant une interface Web ;
    • un classement regroupant tous les logiciels n'ayant pas d'interface Web.


    Le meilleur de chaque classement se verra offrir l'un des trois livres par les éditions ENI.

    De plus, le logiciel ayant eu la note la plus élevée parmi les logiciels du classement "interface Web" regroupant les conditions listées ci-dessous se retrouvera hébergé dans la rubrique sécurité et son développeur se verra remettre le livre Ethical Hacking publié par les éditions ENI :
    • garantit une bonne sécurité selon l'appréciation des juges ;
    • facilement intégrable (en PHP/JavaScript/HTML/CSS standard avec un minimum de bibliothèques tierces pour rester indépendant du système).


    Juges :
    • khayyam90- Responsable portail et développeur du portail de Developpez.com
    • MaitrePylos - Responsable Livres de Developpez.com
    • manticore - Membre très actif de la rubrique sécurité de Developpez.com.
    • Neckara - Rédacteur et Modérateur de la rubrique sécurité de Developpez.com


    EDIT :
    Le défi est désormais terminé.
    Vous pouvez consulter les résultats de ce défi ici.
    Vous pouvez voir les 3 générateurs de mots de passe hébergés par nos soins ici.

  2. #2

  3. #3
    Invité
    Invité(e)
    Pour tester la solidité du mot de passe le site suivant à un joli visuel :
    http://www.passwordmeter.com/


    Sinon, microsoft :
    https://www.microsoft.com/security/p...d-checker.aspx

    j'ai testé :
    A2dA2dA2dA2dA2dA2dA2dA2dA2dA2d
    les deux liens précédents trouvent le mot de passe fort , mais DV renvoie Moyen puis Sécurisé si on ajoute ,

    http://www.yetanotherpasswordmeter.com/

  4. #4
    Membre confirmé
    78 symboles (24 minuscules + 24 majuscules + 10 chiffres + 20 symboles) pour 8 lettres contre 4 mots en minuscule d'un dictionnaire de 4096 mots :

    78^8/(4096^4) = 4.87 (env.)

    La sécurité du premier est marginalement meilleure que le second. Pourtant tous les algorithmes font refuser le second parce que n'ayant pas assez de majuscules, chiffres ou symboles, nous donnant ainsi des mots de passe impossible à retenir...

    Quelqu'un peut expliquer?

  5. #5
    Rédacteur/Modérateur

    One Web to rule them all

  6. #6
    Rédacteur

    Bon, en fait, le coup de mettre des majuscules, c'est juste bidon, idem pour les caractères spéciaux. Je modère tout de même cette remarque par le fait que la plupart des utilisateurs ne vont utiliser que des lettres en minuscule et des chiffres. Les algo peuvent donc essayer de se concentrer, en premier lieu, sur ce jeu de caractères réduit... De même, les utilisateurs utilisent statistiquement (ce mot est très important) des lettres puis seulement les chiffres. Là encore, un algo peut en tirer partie.

    Que pensez-vous du mot de passe "ilestvenuletempsduPèreNoël", qu'on peut varier en mettant une majuscule au début ? ou même "IlEstVenuLeTempsDuPèreNoël." ?
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  7. #7
    Membre confirmé
    78 symboles (24 minuscules + 24 majuscules + 10 chiffres + 20 symboles) pour 8 lettres contre 4 mots en minuscule d'un dictionnaire de 4096 mots :

    78^8/(4096^4) = 4.87 (env.)

    La sécurité du premier est marginalement meilleure que le second. Pourtant tous les algorithmes font refuser le second parce que n'ayant pas assez de majuscules, chiffres ou symboles, nous donnant ainsi des mots de passe impossible à retenir...

    Quelqu'un peut expliquer?
    C'est plus facile à faire une regex qui demande 8 caractères avec symbole/ majuscule que de faire un système adaptatif

  8. #8
    Membre expert
    En tous cas je trouve le défis sympa, je ferai surement un truc en java pour pas me prendre trop la tête.
    Ce post à été écrit par un panda
    Apollo 11 - AGC revue de code
    -- qwerty keybord

  9. #9
    Membre averti
    Ouep c'est rigoulou.
    J'en ferais un si j'ai rien d'autre en cours sur le moment.

  10. #10
    Membre à l'essai
    Cool le concours ! Je vais essayer (C++(mingw 4.8) / Qt 5.2)

  11. #11
    Futur Membre du Club
    Généré un mot de passe oui, mais il faut penser à s'en souvenir...
    Si c'est pour copier coller celui-ci dans un fichier pour l'utiliser le moment venu, niveau sécurité

    Peut-être rajouté des points bonus pour ce qui serait de la génération d'un mot de passe mémorable, non ?

  12. #12
    Membre chevronné
    Les codes que j'ai zyeutés s'attèlent tous à filtrer la demande majuscule/minuscule/chiffre/symbole en entrée; N'est-ce pas aussi/plus simple de filtrer en sortie ? (i.e: générer une chaîne avec minuscules_&_majuscules_&_chiffres_&_symboles puis supprimer/remplacer à posteriori les caractères non souhaités)


    M'enfin, ce n'est qu'une naïve question en passant, A défaut d'être créatif, chacun reste maître de son code et le langage choisit de ne doit pas y être étranger.

  13. #13
    Membre habitué
    Protect It! — Intuitive Password Generator
    http://adrael.github.io/projects/protectit

    Voila ma réponse !
    Les sources sont dispos ici : https://github.com/Adrael/ProtectIt

    Enjoy

  14. #14
    Rédacteur

    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  15. #15
    Membre chevronné
    Un script bash qui fait une bonne partie du travail (j'avais récupéré ça je ne sais plus où :s)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/bin/bash
    
    l=$1
    [ "$l" == "" ] && l=16
    tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs
    On peut donner un nombre en argument pour choisir la taille du mot.

  16. #16
    Rédacteur/Modérateur

    j'en avais proposé un en js il y a un moment ...

    le thread
    http://www.developpez.net/forums/d93...ur-mots-passe/

    et la démo
    http://sk-martin.developpez.com/Arti...script/PWDGen/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  17. #17
    Membre averti
    Citation Envoyé par SylvainPV Voir le message
    Assez simple Mais un peu kitch le mode "badass" ^^

  18. #18
    Rédacteur/Modérateur

    Citation Envoyé par demenvil Voir le message
    Assez simple Mais un peu kitch le mode "badass" ^^
    Et complètement assumé
    edit: au cas où, je précise que c'est une blague hein. Je ne participe pas
    One Web to rule them all

  19. #19
    Membre régulier
    J'ai conçu un générateur de mot de passe il y quelques temps

    http://mypwd.net.

    Je m'en sers régulièrement ainsi que tout mes collègues de bureau

  20. #20
    Membre habitué
    C# : Password Strength Meter
    Voici ma participation avec un outil développé en C# : Password Strength Meter.
    Cet outil permet de générer un mot de passe personnalisable en choisissant d'utiliser soit des chiffres, des lettres majuscules ou minuscules et même des symboles. Il permet aussi de mesurer la robustesse du mot de passe généré aléatoirement ou saisi par l’utilisateur.

    Suivant les options sélectionnées la longueur du mot de passe varie de la valeur minimum de 8 caractères à la valeur maximum de 20 caractères.

    Voici un exemple de paramétrage pour calcul un mot de Passe avec 3 Lettres majuscules, 4 Lettres minuscules, 2 Nombres et 3 Symboles.
    Soit un mot de passe d’une longueur de 12 caractères. Le résultat obtenu étant le mot de passe : $\mNn]3MsB2%


    Concernant le calcul du score de robustesse, je me suis quelque peu inspiré du principe exposé sur le site Yet Another Password Meter. Cependant j’ai opté pour des règles de calcul de détermination de la robustesse du mot de passe différentes. Ce calcul de robustesse n’est pas parfait, ni infaillible. Il a cependant l’avantage de montrer visuellement comment améliorer le mot de passe afin qu’il soit le plus difficilement possible « crackable ».

    Les règles sont soit du type « Bonus » , c'est-à-dire qu’elle augmente la valeur de la robustesse, soit du type « Malus » diminuant la valeur de la robustesse.
    La valeur maximum de cette robustesse étant 100 et le minimum étant 0.
    Deux paramètres peuvent entrer en compte dans le calcul d’une règle. Le paramètre len correspondant à la longueur du mot de passe et le paramètre n correspondant au nombre de caractères trouvés correspondant à la règle.

    Voici en exemple le résultat du calcul de robustesse sur le mot de passe : $\mNn]3MsB2%


    Pour réaliser cet outil j’ai développé les 2 classes suivantes :
    • PasswordGenerator: Génération aléatoire d’un mot de passe.
    • PasswordStrengthMeter: Calcul de la robustesse d’un mot de passe.


    La classe PasswordGenerator est assez simple. Elle expose juste la méthode Generate(...) permettant de créer un nouveau mot de passe.

    La classe PasswordStrengthMeter expose les propriétés suivantes :
    • Password : Spécifie le mot de passe pour lequel le calcul de robustesse sera effectué.
    • Score : Valeur de la robustesse entre 0 et 100.
    • Bonus : Valeur du bonus de la robustesse.
    • Malus : Valeur du malus de la robustesse.
    • Text : Description au format texte de la robustesse.


    J'ai posté les sources des 2 classes.
    - C# : Génération aléatoire d'un mot de passe.
    - C# : Calcul de la robustesse d'un mot de passe


    Pour les personnes qui seraient intéressées par cet outil, je prépare une installation Windows que je mettrais à disposition en téléchargement sur mon site.

###raw>template_hook.ano_emploi###