Catégorie : Sécurité informatique

  • Safe­tyCore

    Je vois passer pas mal d’af­fo­le­ment et de FUD à propos du nouveau service Safe­tyCore sur Android.

    C’est quoi ?

    Le service a été annoncé par Google. Il sert à clas­ser les messages entrants pour iden­ti­fier les usages malveillants ou douteux. Il iden­ti­fie aussi la nudité sur les images pour la masquer en l’at­tente de confir­ma­tion de l’uti­li­sa­teur.

    Ce dernier usage est indiqué comme activé par défaut pour les mineurs, qui béné­fi­cie­raient aussi d’une alerte infor­ma­tive quand ce sont eux qui envoient des images sensibles.

    Tout ça est traité en local. En consé­quence, ce n’est pas un service d’es­pion­nage, de tracking ou d’in­for­ma­tion vers les auto­ri­tés. Rien n’est échangé avec les serveurs de Google ou envoyé vers une autre desti­na­tion.

    Est-ce qu’on peut avoir confiance ?

    La confiance ça ne se dicte pas, et c’est très person­nel. Les déve­lop­peurs de Graphe­neOS, qu’on peut diffi­ci­le­ment quali­fier de pro-Google, ne semblent rien avoir à y redire.

    Alors oui, on peut imagi­ner que main­te­nant ou à l’ave­nir, Google utilise ce service ou une future mise à jour de ce service pour un usage malveillant. C’est toute­fois vrai avec tous les services de Google, que Google Play met à jour en perma­nence.

    Si vous n’avez pas confiance en Google, le problème n’est pas ce nouveau service. C’est tout l’OS qu’il faut chan­ger, pour un dont Google ne gère pas les mises à jour auto­ma­tiques. Note : Vous devrez quand même faire confiance à quelqu’un, ce sera juste quelqu’un d’autre.

    Ok, mais l’ins­tal­la­tion est cachée quand même…

    Je ne crois pas qu’on puisse dire que l’ins­tal­la­tion est cachée si l’évo­lu­tion a été annon­cée publique­ment il y a plusieurs mois.

    Elle par contre auto­ma­tique. Oui, c’est discu­table. Main­te­nant il faut voir d’où on vient pour comprendre.

    Par le passé Android était un nid à problèmes de sécu­rité. Les construc­teurs ne mettaient pas tous les appa­reils à jour, ou peu long­temps et avec une forte latence.

    Google a fait le choix, proba­ble­ment à raison, de sépa­rer l’OS en deux couches et de s’oc­cu­per lui-même de la mise à jour des services cœurs pour répondre à ces diffi­cul­tés. Il le fait pour les correc­tions comme pour les évolu­tions. Si un service cœur change ou s’ajoute, votre télé­phone en profite même si le construc­teur n’est pas dili­gent.

    Le service dont on parle est bien un service cœur, qui a un rôle de protec­tion. Il est normal qu’il ait suivi la voie de la mise à jour auto­ma­tique.

    C’est discu­table mais mieux que l’al­ter­na­tive.

    Pourquoi n’est-il pas Open Source ?

    Je ne sais pas, mais je peux tenter de suppo­ser.

    Le premier point, c’est que c’est un modèle de tri, pas un algo­rithme. Le code source a moins de sens si le cœur reste un gros paquet binaire.

    Ils auraient pu ouvrir le modèle lui-même, avec son appren­tis­sage. Je ne sais pas pourquoi ils ne l’ont pas fait. Peut-être est-ce pour ne pas donner d’in­di­ca­tion sur comment éviter le clas­se­ment, peut-être est-ce juste parce que l’IA est le sujet à la mode sur lequel ils veulent garder un avan­tage.

  • Bonnes et mauvaises pratiques d’édi­teur de service en ligne

    Je reçois un email qui prétend venir de Lydia et qui me demande de renvoyer mon RIB en réponse si je veux récu­pé­rer mes sous, que sinon j’au­rai des frais à payer, avec une notion d’ur­gence avec  « dernier rappel ».

    Un RIB par email plutôt que de me renvoyer vers le site web ?

    Décompte des points : 1x louche

    L’email provient d’un nom de domaine inconnu au bataillon, qui ne semble pas du tout être celui de Lydia : info.isbs.eu.

    Décompte des points : 2x louche

    Il n’y a aucune page Web ni sur info.isbs.eu, ni sur www.isbs.eu, ni sur isbs.eu.

    Décompte des points : 3x louche

    Les liens de l’email vers l’app ou les docs sont masqués derrière des redi­rec­tions click.isbs.eu, impos­sible de savoir où ça mène mais déjà le premier domaine n’est pas de confiance.

    Décompte des points : 4x louche

    Norma­le­ment je m’ar­rê­te­rais là. Ça ressemble à du phising sur à peu près tous les aspects. Sur un site asso­cia­tif pourquoi pas, mais pas dans le domaine finan­cier et paie­ment.

    Je m’aper­ce­vrai d’ailleurs plus tard que j’ai effec­ti­ve­ment super­be­ment ignoré les emails précé­dents, proba­ble­ment à cause de ça, dont un dont le domaine de réponse (isbs.eu) est diffé­rent du domaine de l’ex­pé­di­teur (lydia-app.com, on y revien­dra), chose assez carac­té­ris­tique d’un spam.

    Décompte des points : 5x louche


    Je ne sais pas, j’ai eu un doute cette fois-ci. L’email m’in­dique un solde crédible. Je veux en avoir le cœur net.

    J’ins­talle l’app Lydia en véri­fiant le nombre de télé­char­ge­ments pour m’as­su­rer que c’est la bonne et je m’iden­ti­fie après avoir bataillé parce que le bouton conti­nuer fait une jolie anima­tion mais sans passer à la page suivante tant que je n’ac­cepte pas les traceurs (vrai­ment ?).

    Décompte des points : 5x louche, 1x gênant

    Sur l’app j’ai un solde à zéro. Bon, je ne l’uti­lise plus mais je sais que mon solde ne devrait pas être zéro. Il y a problème.

    D’ailleurs je clique sur histo­rique pour véri­fier si on ne m’a pas tiré mes sous et je retrouve mes petits, avec du crédit en dernière tran­sac­tion donc impos­sible d’avoir un solde à zéro. Wtf ?

    Décompte des points : 5x louche, 2x gênant

    Hors de ques­tion de m’ar­rê­ter là. Le solde c’est plus de 200 €.


    Je repars sur l’email pour mieux comprendre. On me propose de créer un compte sur l’app Sume­ria. Là je me rappelle que Lydia avait changé de nom.

    Du coup j’ai de nouveau un Lydia et mes sous sont passés ailleurs (peut être avec mon accord ou mon action, même si je ne m’en souviens plus) sans capa­cité de les retrou­ver dans le nouveau Lydia.

    Décompte des points : 5x louche, 3x gênant

    J’ins­talle donc l’app Sume­ria en véri­fiant sa vrai­sem­blance. Je n’ose même pas tenter de refu­ser les traceurs ce coup ci et je tente direct de m’iden­ti­fier avec le mot de passe Lydia (il m’est proposé par bitwar­den donc soit c’est reconnu comme étant le même compte soit j’ai déjà manuel­le­ment ajouté l’app Sume­ria à ce compte Lydia).

    Il ne me dit pas que le mot de passe est mauvais mais me dit qu’il y a eu trop de tenta­tives (au premier essai). Pour­tant il m’avait demandé mon mot de passe après m’avoir demandé mon iden­ti­fiant, et me le rede­mande à nouveau. Je ne comprends pas.

    Décompte des points : 5x louche, 4x gênant

    La réini­tia­li­sa­tion de mot de passe me dit qu’ils feront une véri­fi­ca­tion d’iden­tité. Je suis dans le train donc ça va être diffi­cile, et le message du nombre de tenta­tives m’in­cite à penser qu’ils ne lais­se­ront pas passer une réini­tia­li­sa­tion sans procé­dure manuelle de leur part.

    Je tente plutôt le support, en deman­dant confir­ma­tion que l’email de départ est légi­time malgré son nom de domaine, et si oui comment j’au­rais pu le savoir (sous-entendu : c’est louche, faites mieux). En même temps je signale l’his­toire du nombre de tenta­tives.

    C’est un formu­laire, il faut que je laisse email et télé­phone avant de lais­ser le message. Je ne l’avais pas compris tout de suite (ça me fait arri­ver sur une zone de texte pleine page sans label) mais j’ai du cliquer trop vite.


    Peu après je reçois un email prove­nant du même domaine qu’à l’ori­gine, isbs.eu, sauf que cette fois-ci je n’ai même pas un nom Lydia ou Sume­ria dans le champ expé­di­teur.

    Décompte des points : 5x louche, 5x gênant

    L’email est taggé « This message might be suspi­cious or spam. » par Gmail.

    Décompte des points : 6x louche, 5x gênant

    Tout au moins le message semble être une réponse à une demande de support, ce qui crédi­bi­lise le nom de domaine. Il me demande de répondre par email avec mon numéro de télé­phone. Je suis pour­tant super convaincu de l’avoir donné dans le formu­laire de support.

    Décompte des points : 7x louche, 5x gênant

    La coïn­ci­dence serait trop forte. Je consi­dère que l’email est légi­time et je donne mon télé­phone.

    Je reçois alors encore un email, cette fois-ci de « xxx de Lydia Solu­tions » mais le domaine expé­di­teur a changé (!?) en cours de conver­sa­tion.

    Décompte des points : 8x louche, 5x gênant

    Le nouveau nom de domaine est lydia-app.com. Ok, ça parle de Lydia mais le site web connu de Lydia est lydia.me. C’est quoi ce mic-mac ?

    Décompte des points : 9x louche, 5x gênant

    Je vais voir ce nouveau nom de domaine, qui se révèle une redi­rec­tion vers sume­ria.com (et donc vers Sume­ria et non vers Lydia, alors que le nom réfé­rence Lydia).

    Décompte des points : 9x louche, 6x gênant

    Ok, et cet email me dit d’al­ler sur une page qui va déclen­cher un code par SMS et qu’il faut envoyer ce code SMS par réponse email (!!). J’ai véri­fié deux fois, on me demande de renvoyer par email un code de confir­ma­tion SMS, le truc qu’on dit toujours partout de ne jamais faire.

    Décompte des points : 10x louche, 6x gênant
    (je ne compte qu’un seul point louche mais ça en méri­te­rait bien 5 ou 6)

    Le lien sur lequel cliquer est sur lydia-app.com (pas lydia.me ni sume­ria.com) et cette fois-ci ne redi­rige pas vers Sume­ria. J’ai une page vide, avec un unique bouton au centre de la page. Rien d’autre, dont aucun élément de réas­su­rance. Le certi­fi­cat TLS est un Let’s Encrypt, donc le nom de domaine peut appar­te­nir à n’im­porte qui.

    Décompte des points : 11x louche, 6x gênant

    Je suis joueur, je commence vrai­ment à croire à un truc hyper mal foutu plutôt qu’à une malveillance. Je clique.

    Je reçois un SMS avec un code et un texte qui dit expli­ci­te­ment d’en­voyer ce code par email. J’ap­plau­dis cette réas­su­rance, j’en avais besoin vu la sensi­bi­lité de l’opé­ra­tion et c’est la première de tout le parcours.

    Décompte des points : 11x louche, 6x gênant, 1x réas­su­rance

    J’en­voie donc ce code SMS par email (j’ai dû me forcer). Le support me répond que trois adresses sont valides pour les échanges, une en @info.sume­ria.com, une en @news.sume­ria.eu, et une en @info.isbs.eu.

    Les deux premières j’au­rais accepté la légi­ti­mité d’of­fice. La dernière j’ai quand même du mal à comprendre mais pourquoi pas… si on oublie que c’est une adresse en @lydia-app.com qui me le dit, et qu’elle n’est pas dans la liste. Je ne pinaille pas, c’est impor­tant. Je n’ai pas non plus l’adresse en @isbs.eu par laquelle j’ai eu le début d’échange.

    Décompte des points : 11x louche, 7x gênant, 1x réas­su­rance
    (j’ai hésité entre louche et gênant, je vais consi­dé­rer là que c’est un problème de complé­tude de réponse du support donc juste gênant)

    On me propose aussi de réini­tia­li­ser mon mot de passe à l’aide de ma carte d’iden­tité ou de ma carte bancai­re… qui a expiré depuis.

    Décompte des points : 11x louche, 8x gênant, 1x réas­su­rance

    Pas grave, je vais répondre au mail du tout départ avec mon RIB main­te­nant que j’ai une bonne confiance qu’il est légi­time. Tant pis pour le compte Sume­ria. Tout ça ne m’a pas donné assez confiance pour le restau­rer.

    J’ai quand même été aidé après 20h le soir, rapi­de­ment, par email. C’est posi­tif.

    Décompte des points : 11x louche, 8x gênant, 1x réas­su­rance, 1x posi­tif

    De façon ironique mais quand même réel­le­ment pour aider à amélio­rer, je lui répond que son email à elle n’est pas sur la liste des adresses légi­times et que tout ça n’est pas top pour les bonnes pratiques de sécu­rité.

    Là elle me répond avec un lien qui donne effec­ti­ve­ment les adresses légi­times possibles. Je me rends compte que j’au­rais pu m’épar­gner tout ça en cher­chant sur google le nom de domaine. Je serais tombé sur cette page. Fati­gué, ça n’a pas été mon réflexe mais est-ce vrai­ment à moi de compen­ser leur fonc­tion­ne­ment louche ? Je compte une réas­su­rance utile quand même.

    Décompte des points : 11x louche, 8x gênant, 2x réas­su­rance, 1x posi­tif

    Vous savez quoi ? La page ne contient effec­ti­ve­ment que les trois adresses qu’elle m’a donné, il manque donc une adresse en @isbs.eu (seul un sous-domaine « info » est listé, et pas avec le même utili­sa­teur) et rien ne liste le domaine lydia-app.com avec lequel je discute et qui m’a demandé un code SMS.

    Décompte des points : 12x louche, 8x gênant, 2x réas­su­rance, 1x posi­tif
    (là c’est point louche vu que la page web offi­cielle et plus une discus­sion)

    Elle m’a répondu à côté. Je lui dit que son email n’est pas listé là-bas non plus. Je mets un smiley, je suis plus amusé mais je le signale expli­ci­te­ment quand même parce que sinon ça ne sera pas corrigé.

    Malheu­reu­se­ment elle insiste. Elle me dit que c’est bien sur la page web (mais non). Je sens que je l’agace.

    Décompte des points : 12x louche, 9x gênant, 2x réas­su­rance, 1x posi­tif

    J’in­siste moi-même. Désolé. J’ai besoin d’avoir l’im­pres­sion que ce sera traité. Je cite la page, expli­cite que le domaine n’y est pas. Mon propos est peut-être moi aussi un peu agacé. Je dis que je m’ar­rê­te­rai là. Ma ques­tion a eu une réponse la suite c’était pour aider, pas pour me prendre la tête avec une personne du support qui est proba­ble­ment de bonne volonté.

    Je reçois un dernier email pour me dire que les adresses données sont unique­ment pour la commu­ni­ca­tion offi­cielle de Sume­ria et que le service client utilise trois autres adresses en @news.lydia-app.com, @info.lydia-app.com et @lydia-app.com. J’ai un peu de mal à voir pourquoi un news et un info pour du support et en quoi le support n’est pas offi­ciel ou ne méri­te­rait pas d’être crédi­bi­lisé sur la page web de réas­su­rance mais je ne vais pas relan­cer, ce ne sont pas mes oignons.


    Demain je tente­rai d’en­voyer on RIB pour récu­pé­rer mon solde. Je n’ai pas hâte. L’ex­pé­rience ma très forte­ment refroidi côté sérieux et confiance.

    Pour l’ins­tant, si quelqu’un de Lydia/Sume­ria me lit, je me doute qu’il y a des raisons à tout ce circuit, mais vous êtes quand même en train de deman­der à vos utili­sa­teurs de s’ha­bi­tuer et d’agir à l’en­contre de tout ce qu’on présente partout comme des pratiques de sécu­rité contre le phishing :

    • Ne pas prendre en compte les emails venant de domaines incon­nus
    • Ne pas prendre en compte les emails avec une adresse de réponse étrange ou incon­nue
    • Ne pas cliquer sur des liens menant vers des cibles masquées ou incon­nues
    • Ne pas envoyer d’in­for­ma­tions person­nelle ou sensible par email à quelqu’un qui est censé les connaitre déjà
    • Ne JAMAIS envoyer de code de confir­ma­tion SMS par email ou ailleurs que sur la page de login offi­cielle

    Pour une app finance-paie­ment, j’at­tends autre chose. Peu importe les raisons, ça mérite de faire mieux. Il y a des moyens. Au mini­mum :

    • une inter­face web pour les messages du support, héber­gée par le nom de domaine offi­ciel prin­ci­pal (ou un sous-domaine de celui-ci)
    • la capa­cité de retrou­ver sur une page du domaine offi­ciel prin­ci­pal (ou un sous-domaine de celui-ci) les messages d’in­for­ma­tion impor­tants envoyés par email
    • les envois de données sensibles (comme un RIB) sont à faire sur une page web du du domaine offi­ciel prin­ci­pal (ou un sous-domaine de celui-ci) et pas par email
    • des pages web qui listent tous les domaines et adresses qui envoient des emails en votre nom (support inclus)
  • Dis tonton, c’est quoi le chif­fre­ment au repos, en tran­sit, et de bout en bout ?

    Ben oui, c’est bien joli de dire que les données sont sécu­ri­sées parce que chif­frées, mais ça veut tout et rien dire.

    Petite analo­gie avec des bijoux et un coffre-fort qu’on va consi­dé­rer invio­lable pour l’exer­cice.

    Chif­fre­ment au repos

    La banque vous offre un coffre-fort person­nel pour vos bijoux à la banque. Ils sont super sécu­ri­sés, personne ne peut forcer le coffre.

    Bon, par contre c’est le person­nel de la banque qui a la clef de tous les coffres, le votre aussi. Ce sont eux qui vont cher­cher vos bijoux, accé­der à la salle des coffres, ouvrir le coffre, et vous les rame­ner au guichet à chaque vous que vous voulez y accé­der.

    La banque sait exac­te­ment ce que vous stockez et comment vous y accé­der. En fait c’est même elle qui stocke et qui accède. Elle peut voler ou copier le contenu. Un sala­rié de la banque peut accé­der à ce même contenu ou le voler s’il arrive à mettre la main en interne sur la clef du coffre. Un voleur tiers pour­rait réus­sir à profi­ter d’une faille dans les procé­dures de la banque et faire un braquage qui lui permet d’ac­cé­der à la fois aux clefs et aux coffres, et voler ou copier vos bijoux. Enfin, peut-être que la banque ou un de ses pres­ta­taire seront négli­gents, et lais­se­ront traî­ner n’im­porte où la clef, ou un double de celle-ci, ou même vos bijoux avant de vous les remettre.

    Bref, c’est mieux que rien (il y a un coffre), mais tout repose dans la confiance en la banque, en sa sécu­rité, en ses employés.

    Chif­fre­ment en tran­sit

    Quand la banque vous donne accès aux bijoux, elle vous les livre chez vous. Pour ça elle utilise un petit coffre-fort dont vous avez échangé les clefs à l’avance. La banque en a une copie, la seconde est entre vos mains. Personne d’autre ne peut ouvrir le coffre en l’état actuel des tech­no­lo­gies pour peu que ni vous ni la banque ne laisse traî­ner les clefs.

    Vos bijoux restent acces­sibles à la banque. La banque sait ce qu’elle vous envoie. Elle peut les exami­ner à loisir, voire les voler ou les copier à ce moment là. Plusieurs employés de la banque peuvent faire de même, pour plein de raisons légi­times diffé­rentes. Certains pour­raient profi­ter de failles dans les proces­sus internes pour y accé­der de façon illé­gi­time. Un braqueur pour­rait toujours avoir accès à vos bijoux s’il braque la banque.

    Enfin, peut-être que la banque ou un de ses pres­ta­taire seront négli­gents, et lais­se­ront traî­ner n’im­porte où la clef, ou un double de celle-ci, ou même vos bijoux avant de vous les remettre. Peut-être que vous-même aurez laissé votre exem­plaire de votre clef dans votre appar­te­ment privé non sécu­risé et que quelqu’un pourra y accé­der.

    Bref, c’est indis­pen­sable (on ne va pas vous envoyer vos bijoux dans un carton stan­dard par La Poste) mais ça ne « sécu­rise » pas tota­le­ment vos bijoux pour autant.

    Chif­fre­ment au repos et en tran­sit

    Bien évidem­ment votre banque est sérieuse, elle s’oc­cupe donc du stockage et du tran­sit.

    Sauf qu’au final c’est quand même la banque qui va accé­der et ouvrir votre coffre à la banque, prendre les bijoux, puis les stocker dans le coffre qui sert à l’en­voi. Au passage elle les mani­pule direc­te­ment sans protec­tion, par exemple pour les nettoyer.

    La banque a toujours total accès à vos bijoux, pour savoir lesquels est-ce, les copier, les dégra­der ou les voler si elle n’est pas de bonne foi. Plusieurs employés de la banque ont accès direc­te­ment ou indi­rec­te­ment à ces bijoux, pour des raisons légi­times. Certains pour­raient être de mauvaise foi. D’autres employés pour­raient abuser certaines faiblesses dans les procé­dures de sécu­rité pour y accé­der mali­cieu­se­ment aussi. Un braqueur pour­rait accé­der à la banque et récu­pé­rer les bijoux ou les clefs, ou les deux à la fois. Des pres­ta­taires pour­raient avoir une copie des clefs, ou les lais­ser trai­ner. Des employés pour­raient être négli­gents.

    Bref, on protège avec des coffres mais le prin­ci­pal reste : Il faut faire confiance à la banque, à ses employés, à ses pres­ta­taires, à la robus­tesse des procé­dures de sécu­rité.

    Chif­fre­ment de bout en bout

    Vous avez un coffre, que vous avez acheté dans une boutique de confiance ou construit de vos propres mains. La boutique de confiance peut être votre banque mais pour­rait aussi être un tiers, ou une banque concur­rente.

    Seul vous en avez les clefs. Vous stockez vos bijoux dedans, donnez le coffre fermé au trans­por­teur. La banque stocke votre coffre tel quel, sans pouvoir l’ou­vrir, en inspec­ter le contenu, le copier ou le voler. Quand vous voulez accé­der à vos bijoux, on vous rend votre coffre et c’est à vous de l’ou­vrir. Personne n’a pu voir vos bijoux, ou même savoir si ce sont vrai­ment des bijoux.

    La banque n’a plus accès à rien. Vous n’avez pas besoin de lui faire confiance. Tout au plus elle peut perdre votre coffre mais personne ne pourra accé­der au contenu tant que vous n’en perdez pas les clefs (*). C’est par contre à vous de vous assu­rer de garder les clefs dans un endroit sûr, et d’ache­ter le coffre à un tiers de confiance qui n’en garde pas les doubles.

    Pour accé­der à vos bijoux il faudra cepen­dant vous braquer vous (ou que le vendeur du coffre ait été fautif au point de garder un double des clefs et qu’il se fasse braquer lui) et ensuite aller braquer la banque pour accé­der au coffre. C’est possible mais ça commence à être bien plus limité.

    Bien évidem­ment, vous êtes toujours sujet à un braquage chez vous, une fois le coffre ouvert, mais ça la banque n’y pourra jamais rien.

    (*) Point sensible : Si le coffre est invio­lable et que vous perdez vos clefs, plus personne ne pourra vous aider à récu­pé­rer vos bijoux. Ils seront perdus à jamais pour tout le monde. La sécu­rité complète c’est à double tran­chant. Il y a des solu­tion à ce problème, des bonnes et des mauvaises, mais c’est un sujet à part entière.

  • Sécu­rité de Have I Been Pwned?

    Concer­nant Have I Been Pwnd? il y a pas mal de gens réti­cents à l’uti­li­ser de peur que ça aspire ce qu’ils saisissent. Et c’est aussi prendre le risque qu’un site frau­du­leux se fasse passer pour lui.

    https://masto­don.teta­neu­tral.net/@Natouille/105820437840086551

    Il y a deux parties à Have I Been Pwnd?. La première partie c’est une solu­tion pour lais­ser son email et être averti dès qu’une brèche concerne un de vos comptes.

    Là dessus il n’y a aucun risque de sécu­rité, que du béné­fice. Si vous ne vous êtes pas enre­gis­tré, faites-le.

    On laisse certes son email mais pour l’ins­tant personne n’a relevé de spam sur ce service (et croyez-moi, il doit y avoir des milliers d’in­for­ma­ti­ciens qui ont du essayer de mettre une adresse de test spéci­fique).


    La seconde partie propose de saisir son mot de passe et regarde s’il est présent dans la base de données des mots de passe déjà connus.

    Troy Hunt a établi un proto­cole qui permet de véri­fier si un mot de passe est dans la base sans avoir à trans­mettre ce mot de passe au serveur. C’est simple à lire et à comprendre, et ça ne laisse aucune part au doute : Tant qu’on suit ce proto­cole, tester un mot de passe ne présente aucun risque de divul­ga­tion. Aucun.

    La seule vraie ques­tion est « pouvons-nous faire confiance au site web dans lequel nous saisis­sons le mot de passe pour suivre ce proto­cole et ne pas envoyer notre saisie quelque part sur un serveur ? »

    Il n’y a pas eu de brèche ou de malveillance sur Have I Been Pwned? jusqu’à présent mais, évidem­ment, ça n’est en rien une garan­tie abso­lue pour l’ave­nir.

    Si vous voulez plus de sécu­rité, deux possi­bi­li­tés :

    • Utili­ser un site web ou un outil en qui vous avez plus confiance pour qu’il implé­mente correc­te­ment le proto­cole de Have I Been Pwned?
    • Télé­char­ger la base en local sur votre poste, et utili­ser un outil en qui vous avez confiance pour cher­cher dedans.

    Des gestion­naires de mots de passe comme Dash­lane et Bitwar­den proposent de tester direc­te­ment vos mots de passe depuis le logi­ciel. Il faut avoir confiance mais, si vous les utili­sez comme gestion­naire de mots de passe, c’est à priori déjà le cas.

    Ce que je propo­sais quand je parlais de mot de passe fort et inter­face c’est exac­te­ment ça : C’est au logi­ciel ou au site web à qui vous allez confier votre mot de passe de toutes façons de le véri­fier auprès de la base Have I Been Pwnd? (qu’ils auront télé­chargé en local sur leur serveur). Ainsi il n’y a aucun besoin de faire confiance à un acteur tiers, aucun risque supplé­men­taire.


    Ok, mais c’est quoi ce proto­cole ? Comment peut-on véri­fier mon mot de passe sans le divul­guer ?

    On utilise des conden­sats, ici SHA1.

    Plus exac­te­ment on calcule la somme SHA1, sur 40 carac­tères hexa­dé­ci­maux, et on envoie les 5 premiers carac­tères au serveur. Le serveur nous répond avec la liste des sommes SHA1 de mots de passe connus qui partagent les mêmes 5 premiers carac­tères. À moi de véri­fier que le mien ne fait pas partie de cette liste.

    Vous lirez que SHA1 n’est pas idéal pour des mots de passe, encore moins sans ajout d’un sel aléa­toire. Pour autant il n’y a aucun moyen connu à ce jour pour même imagi­ner trou­ver une infor­ma­tion partielle à propos de votre mot de passe à partir des 5 premiers carac­tères de la somme SHA1.

    La seule chose possible c’est éven­tuel­le­ment se dire « c’est peut-être un des mots de passe connus qui partagent le même début de somme de contrôle ». L’in­for­ma­tion ne présente aucun inté­rêt puisque si juste­ment c’était un de ceux-ci, vous auriez été infor­més de ne pas l’uti­li­ser. Du coup, en creux, l’in­for­ma­tion devient « Quelqu’un utilise un mot de passe, et ce ne sera pas un mot de passe connu ». Bref, c’est exac­te­ment notre objec­tif, tout va bien.

  • Dice­ware

    Règle géné­rale : Lais­sez votre gestion­naire de mots de passe géné­rer des mots de passe outra­geu­se­ment complexes.

    Vous n’au­rez jamais besoin de les taper ou vous en souve­nir vous-même. Vous n’avez en fait même pas besoin de voir ou de savoir à quoi ces mots de passe ressemblent. Lais­sez-le faire.

    Le géné­ra­teur de mot de passe interne de Bitwar­den

    Et puis parfois on a besoin d’un mot de passe dont on doit se souve­nir, un qu’on doit pouvoir taper au clavier ou un qu’on doit pouvoir dicter au télé­phone.

    Et dans ce cas là je vous invite à utili­ser des mots français plutôt que des lettres, chiffres et symboles incom­pré­hen­sibles.

    La raison est simple : il est plus facile de rete­nir 4 mots connus que 8 lettres chiffres et symboles aléa­toires.

    La seule contrainte c’est d’uti­li­ser des mots réel­le­ment aléa­toires et pas ceux auxquels on pense en essayant naïve­ment de trou­ver des mots soi-même. Votre gestion­naire de mots de passe devrait savoir vous géné­rer cette suite de mots. Si ce n’est pas le cas la méthode dice­ware est à votre dispo­si­tion :

    1. Cher­chez une liste de mots de votre langue en cher­chant « dice­ware » sur votre moteur de recherche favori. Ce sont géné­ra­le­ment des listes de 7776 mots qui vont de 11 111 à 66 666.
    2. Lancez 5 fois un dé à 6 faces, regar­dez le mot qui corres­pond dans votre grille. Recom­men­cez autant de fois que vous avez besoin de mots.

    Calcul d’en­tro­pie pour diffé­rentes combi­nai­sons (les paliers de couleur sont arbi­traires à respec­ti­ve­ment 48, 56, 72, 96, 128 et 256 bits d’en­tro­pie)

    La sécu­rité c’est parfois contre intui­tif : Il suffit de 4 mots français pour être aussi robuste que 8 carac­tères acces­sibles au clavier, symboles inclus.

    À 5 mots vous avez l’équi­valent d’un mot de passe de 10 carac­tères clavier tota­le­ment aléa­toires en comp­tant 28 symboles possibles en plus des lettres et des chiffres.

    À 6 mots vous vous avez l’équi­valent d’un mot de passe de 12 carac­tères tota­le­ment aléa­toires, proba­ble­ment suffi­sant pour quasi­ment tous les usages aujourd’­hui. Si vous êtes para­noïaque, 8 mots c’est l’équi­valent de 16 carac­tères tota­le­ment aléa­toires.


    Tout ça n’est pas nouveau. XKCD en parlait déjà il y a plusieurs années. Cette bande dessi­née a été parfaite pour démo­cra­ti­ser l’idée mais trop de gens oublient que ça ne fonc­tionne que pour des mots réel­le­ment tirés au hasard.

    XKCD 936 : Pass­word Strength

    Atten­tion toute­fois : L’hu­main est très mauvais pour piocher au hasard.

    Même avec toute la bonne volonté du monde et en vous croyant machia­vé­lique dans votre choix, il est probable que vous ne pioche­rez que dans quelques centaines de mots, éven­tuel­le­ment un ou deux milliers.

    Le problème d’ailleurs aussi pour les mots de passe « clas­siques ». « Nico­las2012! » et « Julie+Mar­c2307 » sont de très mauvais mots de passe bien qu’ils respectent parfai­te­ment toutes les règles.

    Je donne là une évidence mais c’est plus géné­ral que ça. Un mot de passe qui est généré sans aide d’un géné­ra­teur d’aléa­toire est un mauvais mot de passe, peu importe à quoi il ressemble de loin. Les chiffres et symboles sont quasi­ment aux mêmes posi­tions. Certaines lettres et chiffres sont peu voire pas du tout utili­sés.

    Tout ça dimi­nue signi­fi­ca­ti­ve­ment la robus­tesse du mot de passe, même quand vous essayez de vous même d’y palier en cher­chant compliqué. Utili­sez une machine ou un système externe quel qu’il soit, quitte à ce que ce soit une paire de dés lancés à la main.

  • Mot de passe fort

    Je rage à chaque fois que je vois des règles complexes sur les mots de passe saisis. J’ai l’im­pres­sion qu’on a échoué à expliquer la sécu­rité.

    Une fois qu’on exclut les mots de passe unique­ment en chiffres, il n’y a quasi­ment plus que la longueur du mot de passe qui compte. Vous voulez un mot de passe sûr avec unique­ment des lettres ? Il suffit d’ajou­ter un unique carac­tère supplé­men­taire. Autant dire pas grand chose quand on est déjà à 9 ou 10.

    En réalité la diffé­rence est encore plus réduite que ça parce qu’en deman­dant d’ajou­ter des chiffres et symboles ce sont toujours les mêmes qui appa­raissent, mis à la fin ou en rempla­ce­ment des mêmes lettres (a qui donne @ par exemple).

    Pire : Pour rete­nir un mot de passe complexe avec majus­cules, chiffres et symboles, l’uti­li­sa­teur risque de mettre quelque chose de connu ou déjà utilisé ailleurs. On est parfois dans le contre-produc­tif.

    Si vous deviez utili­ser des règles de saisie du mot de passe, gardez n’en qu’une : la longueur. Le reste c’est de la litté­ra­ture.


    Main­te­nant, et si vous chan­giez de stra­té­gie ? Aidez l’uti­li­sa­teur et expliquez-lui ce qu’il se passe au lieu de lui appor­ter des contraintes.

    Commen­cez par lui propo­ser un mot de passe par défaut, avec une liste de mots connus et à ortho­graphe simple.

    Propo­sez ensuite un indi­ca­teur pour la force du mot de passe. Là vous pouvez prendre en compte la longueur mais aussi la présence dans la base Have I Been Pwnd.

    Une fois passé le strict mini­mum, c’est à l’uti­li­sa­teur de déci­der ce qu’il veut. Ne lui impo­sez pas un mot de passe de 12 carac­tères pour réali­ser un sondage sur la date de sa prochaine soirée entre amis.

    Votre rôle c’est de lui donner les clefs pour faire son choix, pas de le faire à sa place.

    L’in­di­ca­teur de complexité peut tout à fait avoir plusieurs paliers en fonc­tion de la présence de diffé­rentes classes de carac­tères. Vous pouvez aussi essayer de détec­ter des dates, le fait que le dernier carac­tère soit juste un chiffre ou un point d’ex­cla­ma­tion, et des suites un peu trop clas­siques comme 123 ou ou azerty.

    Si vous détec­tez des espaces alors c’est proba­ble­ment une phrase (s’il y a des petits mots faci­le­ment recon­nais­sables comme « le », « la », « il », « ce », « est », etc. ) ou des suites de mots (dans le cas contraire). Vous pouvez là aussi adap­ter votre calcul de complexité et la longueur recom­man­dée.

    Au bout d’une certaine résis­tance parlons unique­ment amélio­ra­tion.

  • Vie privée : Chif­fre­ment des disques

    On parle tant des mots de passe qu’on en oublie l’es­sen­tiel.

    Quiconque a accès à votre disque dur a accès à toute votre vie numé­rique, vos logi­ciels et vos docu­ments.

    Il peut relire votre l’at­tes­ta­tion de sécu télé­char­gée le mois dernier, votre feuille de calcul avec votre compta, vos photos de vacances mais aussi celles que vous gardez privées, la lettre à mamie, le testa­ment de grand père, votre carnet d’adresse complet.

    Il a accès aussi à votre histo­rique de navi­ga­tion inter­net des 30 ou 90 derniers jours, votre compte face­book, votre compte email avec l’in­té­gra­lité de vos échanges passés.

    Si vous êtes enre­gis­tré sous Google et que vous avez un Android, il y a toutes les chances qu’il puisse accé­dez à tout l’his­to­rique de géolo­ca­li­sa­tion et retra­cer dans le détail tous vos dépla­ce­ments depuis plusieurs mois.

    Via le navi­ga­teur il a aussi accès à tous les sites sur lesquels vous êtes enre­gis­tré, ceux pour lesquels vous avez enre­gis­tré le mot de passe. Vu qu’il a accès à vos emails, il pourra de toutes façons réini­tia­li­ser les mots de passe qu’il lui manque.

    Si on parle de votre télé­phone, ça inclut aussi tous vos SMS, votre histo­rique d’ap­pel, vos conver­sa­tions snap­chat, what­sapp et autres outils de commu­ni­ca­tion.

    Ça fait peur, non ?

    Ça arri­vera si quelqu’un de malveillant vous en veut person­nel­le­ment, mais aussi vous êtes la cible aléa­toire d’un cambrio­lage, que ce soit par le cambrio­leur ou par la personne chez qui se retrouve avec votre disque une fois remis en circu­la­tion.

    Non, il n’y a pas besoin de votre mot de passe de session windows ou mac pour cela. Il suffit d’ac­cé­der au disque direc­te­ment. Tout est dessus, en clair.

    Ok, comment on chiffre le disque alors ?

    Sous Windows ça s’ap­pelle BitLo­cker. Sous Mac ça s’ap­pelle FileVault. Sous Android ça s’ap­pelle simple­ment « Chif­frer l’ap­pa­reil » ou « Chif­frez vos données » quand ce n’est pas activé par défaut, et vous avez en plus un « Cryp­tage de la carte SD » pour la carte SD si vous en avez ajouté une.

    Vous trou­ve­rez ça à chaque fois dans la section « sécu­rité » des préfé­rences de votre système.

    La procé­dure est norma­le­ment assez simple (windows, mac). Assu­rez-vous simple­ment de ne pas oublier votre mot de passe.

    Voilà, c’est fait. Toutes vos données sont chif­frées, illi­sibles par un tiers.

    Bien entendu ça ne fonc­tionne que si vous avez aussi activé un déver­rouillage manuel obli­ga­toire au réveil de votre PC et de votre télé­phone, et que vous n’avez pas laissé le mot de passe sur un post-it juste à côté. Il ne sert à rien d’avoir une porte qui ferme à clef si vous lais­sez la clef sous le paillas­son ou si vous la lais­sez toujours ouverte.

    C’est quoi le piège ?

    Désor­mais votre cambrio­leur ne peut pas accé­der à vos données sans le mot de passe. Votre voisin ne peut pas accé­der à vos données sans le mot de passe.

    Vous non plus… Le piège est là. Sans le mot de passe vos données sont perdues, même pour vous.

    Apple vous propose de rete­nir une clef chez lui et de la sécu­ri­ser avec votre compte Apple. Je crois que Micro­soft fait pareil. Sur Android à ma connais­sance il n’y a rien de tout cela.

    En réalité ça n’est qu’un (mauvais) filet de sécu­rité.

    1/ N’ou­bliez pas le mot de passe.

    2/ Faites de sauve­gardes (même si vous avez le mot de passe, le disque lui-même peut casser, et au pire vous pour­rez récu­pé­rer vos données sur la sauve­garde)

    3/ Donnez un moyen à vos proches d’ac­cé­der aux données qui les concernent (photos de famille par exemple) si jamais il vous arrive quelque chose.

  • Self Encryp­ting Disk

    Ce soir j’ai joué avec les SED sous Linux. Ce fut labo­rieux et la docu­men­ta­tion est assez rare alors je pose ça ici si jamais ça sert à quelqu’un d’autre.

    Chif­frer ses données

    Sur mon NAS j’ai des données que je ne veux pas perdre, mais aussi des données que je ne veux pas voir fuiter n’im­porte où en cas de cambrio­lage.

    Jusqu’à présent j’avais une parti­tion prin­ci­pale en clair pour le système d’ex­ploi­ta­tion, et une parti­tion chif­frée via LUKS pour les données.

    Avan­tage : Ça fonc­tionne et je peux monter ma parti­tion à distance pour peu que le NAS ait redé­marré suite à un inci­dent élec­trique.

    Désa­van­tage : Parfois le système démarre mais n’a pas ses données. Il faut que je pense à redé­mar­rer certains services (oui, ça aurait pu être ajouté dans un script, je ne l’ai simple­ment pas fait).

    J’ai aussi la désa­gréable impres­sion que les copies se trainent comme il y a 20 ans alors que le disque est rapide. Il faut dire que j’ai un ancien Cele­ron J très faiblard et on a beau me dire que le chif­fre­ment ne consomme quasi­ment rien, mes explo­ra­tions me laissent penser le contraire.

    Les SED

    Les SED sont les self encryp­ting drives. Quasi­ment tous les SSD modernes sont des SED OPAL.

    Le firm­ware d’un SED sait chif­frer et déchif­fer toutes les données à la volée. Il suffit d’ini­tia­li­ser le disque à l’aide d’une pass-phrase. Lui va aller déchif­frer une clef AES 256 bits à l’aide de cette pass-phrase, et ensuite l’uti­li­ser pour chif­frer ou déchif­frer toutes les entrées sorties.

    C’est tota­le­ment trans­pa­rent pour l’OS et ça ne consomme aucun CPU. C’est même telle­ment trans­pa­rent qu’il le fait même si vous ne lui deman­dez pas. « Chif­fre­ment désac­tivé » revient en fait à chif­frer et déchif­frer avec une clef AES stockée en clair, mais on chiffre et déchiffre quand même toutes les données qui tran­sitent (gros avan­tage : On peut acti­ver le chif­fre­ment à la volée quand on le souhaite sans avoir à toucher les données : Il suffit de chif­frer la clef AES qui était aupa­ra­vant en clair).

    Pour chif­frer le disque d’amorçage il y a une astuce. Le disque a en fait une zone d’amorçage cachée où on charge une image dite PBA (pre-boot autho­ri­za­tion). Quand le disque est verrouillé, c’est cette zone qui est vue par la machine et qui est donc amor­cée. L’image demande la pass-phrase, initia­lise la clef AES, désac­tive la fausse zone d’amorçage et relance la machine comme si de rien n’était. Là aussi c’est tota­le­ment trans­pa­rent, l’OS n’y voit que du feu et a l’im­pres­sion de travailler avec un disque stan­dard, amorçage inclus.

    Sécu­rité

    Les SED ont très mauvaise répu­ta­tion depuis qu’une étude de sécu­rité a trouvé que de nombreux construc­teurs ont implé­menté tout ça avec les pieds (genre : la clef AES n’est pas chif­frée et en mani­pu­lant un peu le firm­ware on peut y avoir accès).

    Certains en tirent « il ne faut pas se repo­ser sur les SED » mais c’est un peu plus complexe que ça. Le stan­dard OPAL 2 est tout à fait solide d’un point de vue théo­rique. Il fonc­tionne d’ailleurs de manière très simi­laire à ce que fait LUKS sous Linux. Il faut juste que ce soit implé­menté avec sérieux.

    Il se trouve que, juste­ment, la même étude dit que les Samsung EVO récents ont une implé­men­ta­tion sérieuse. C’est ce que j’ai choisi, ça me va tout à fait.

    Il reste des attaques possibles, mais rien lié à mon modèle de menace (un simple cambrio­lage par des gens venus piquer le maté­riel infor­ma­tique pour le revendre). La NSA, elle, trou­vera de toutes façons moyen d’ac­cé­der à mes données que j’uti­lise LUKS ou un SED.

    Confi­gu­rer un SED

    Je n’ai trouvé que deux docu­men­ta­tions utiles, celle de ArchLi­nux et celle de l’uti­li­taire sedu­tils. On part d’une instal­la­tion OS exis­tante, on peut acti­ver le chif­fre­ment après coup.

    Acti­ver libata.allow_tpm

    Première étape, pour jouer il faudra acti­ver libata.allow_tpm. Sur Debian la seule manière qui m’a semblé fonc­tion­nelle est d’édi­ter /etc/default/grub et d’ajou­ter « libata.allow_tpm=1 » à la variable d’en­vi­ron­ne­ment GRUB_CMDLINE_LINUX_DEFAULT puis exécu­ter update-grub2 et relan­cer la machine.

    Instal­ler sedu­tils

    Je n’ai pas trouvé de paquet Debian. J’ai télé­chargé la distri­bu­tion binaire Linux à partir du site offi­ciel et ai copié sedu­tils-cli dans /usr/local/sbin. Vous aurez besoin qu’il soit dans le PATH plus tard.

    Prépa­rer une image PBA

    Les docu­men­ta­tions proposent de récu­pé­rer une image offi­cielle. Chez moi ça n’a pas fonc­tionné. Le disque est bien déver­rouillé mais ensuite la machine ne savait plus iden­ti­fier l’UEFI du disque pour lancer Linux.

    J’ai du créer ma propre image. C’est de toutes façons ce que je vous recom­mande parce que les images offi­cielles ne gèrent que les claviers US.

    Après avoir installé les paquets binu­tils, net-tools et console-data, télé­char­ger le projet rear puis suivre ce commen­taire :

    sudo apt install -y binutils net-tools console-data
    
    # aller à la racine du projet
    cd rear 
    echo "OUTPUT=RAWDISK" > ./etc/rear/site.conf
    sudo ./usr/sbin/rear -v mkopalpba
    # l'image est dans ./var/lib/rear/TCG-OPAL-PBA/*/*.raw
    Prépa­rer une clef USB de récu­pé­ra­tion

    Je suis comme tout le monde, j’avais sauté cette étape initia­le­ment mais elle vous sera indis­pen­sable pour retrou­ver l’uti­li­taire sedu­tils et pouvoir réini­tia­li­ser le disque en cas de problème (l’image d’ins­tal­la­tion de Debian non seule­ment n’a pas sedu­tils mais ne lance de toutes façons pas son kernel avec libata.allow_tpm, donc vous ne pour­rez rien en faire).

    Là vous pouvez prendre l’image rescue 64 bits offi­cielle et initia­li­ser une petite clef USB au cas où.

    gunzip RESCUE64.img.gz
    # /dev/sdb est ma clef USB
    dd if=RESCUE64.img.gz of=/dev/sdb

    En cas de diffi­culté ça permet de désac­ti­ver le chif­fre­ment, voire de réini­tia­li­ser un nouveau mot de passe si rien d’autre ne fonc­tionne (si la désac­ti­va­tion se fait sans perte de données, la réini­tia­li­sa­tion vous fait repar­tir avec un disque tota­le­ment vierge).

    # Désactiver le chiffrement
    # Remplacer passphrase par votre passphrase et /dev/sda par votre disque
    sudo sedutil-cli --disableLockingRange 0 passphrase /dev/sda
    sedutil-cli --setMBREnable off passphrase /dev/sda
    Confi­gu­rer le disque

    Désor­mais on peut suivre la procé­dure stan­dard, en utili­sant l’image PBA obte­nue plus haut :

    # Confirmer que le disque est utilisable
    sudo sedutil-cli --scan
    # Remplacer passphrase par votre passphrase et /dev/sda par votre disque
    sudo sedutil-cli --initialsetup passphrase /dev/sda
    sudo sedutil-cli --loadPBAimage passphrase imagePBA.raw /dev/sda
    sudo sedutil-cli --setMBREnable on passphrase /dev/sda
    sudo sedutil-cli --enableLockingRange 0 passphrase /dev/sda

    Éteindre et rallu­mer la machine (pas juste redé­mar­rer) devrait suffire à vous deman­der la pass­phrase. Une fois celle-ci saisie, la machine redé­marre encore. Oui c’est long mais c’est normal.

    Chez moi on me demande deux fois la pass­phrase et j’ai donc deux reboot au lieu d’un seul. C’est très long, agaçant. Si quelqu’un voit quel peut être le problème, ça m’in­té­resse. Entre temps je fais avec : Je ne devrais pas redé­mar­rer tous les quatre matins.

  • Sécu­ri­ser les nouveaux mots de passe

    J’ai récem­ment parlé complexité de mot de passe mais en réalité le problème est souvent ailleurs. La taille et la complexité n’ont aucune impor­tance si quelqu’un peut devi­ner quel mot de passe vous utili­sez après juste quelques essais.

    Jean réuti­lise son mot de passe

    Je connais l’email de Jean ? Il me suffit de regar­der quels mots de passe il a utilisé sur d’autres sites, et de les tester un à un.

    La plupart des sites ont un problème de sécu­rité un jour ou l’autre. Souvent les données extraites se retrouvent publiques d’une façon ou d’une autre. Parfois on y trouve des mots de passe en clair ou mal proté­gés. Il suffit de piocher dedans.

    Testez Have I Been Pwned, vous verrez que des tiers peuvent déjà connaitre plusieurs de vos mots de passe.

    Paul n’a aucune imagi­na­tion

    Je ne connais pas l’email de Paul ? Qu’im­porte. Je peux déjà tester les mots de passe les plus courants, et les varia­tions de ceux-ci.

    Ne vous croyez pas origi­nal. Même ajou­ter une date, un chiffre, un symbole, chan­ger une lettre, inver­ser le mot de passe, quelqu’un l’a déjà fait. En quelques milliers de combi­nai­sons j’ai déjà énor­mé­ment de mots de passe habi­tuels.

    Même les méthodes « choi­sir x mots du diction­naire » sont vulné­rables si c’est l’uti­li­sa­teur qui choi­sit ses mots dans sa tête. Le plus souvent on tombera dans quelques centaines de mots, toujours les mêmes.

    Par le passé j’ai utilisé un person­nage de litté­ra­ture, auquel j’ai ajouté un chiffre et un symbole. Croyez-le ou non, on trouve plus d’une dizaine d’oc­cur­rences sur Have I Been Pwned.

    Have I Been Pwned

    J’ai cité Have I Been Pwned. Ils mettent à dispo­si­tion une base de tous les mots de passe qui ont publique­ment fuité.

    Si vous lais­sez des tiers saisir des mots de passe sur votre service, vous devriez télé­char­ger leur base, puis cher­cher dedans à chaque fois qu’un de vos utili­sa­teur saisit un nouveau mot de passe. Le mot de passe est déjà dedans ?

    Alors il y a un risque de sécu­rité et vous devriez en aler­ter l’uti­li­sa­teur.

    Si vous voulez aller plus loin, tentez quelques varia­tions simples : Si le mot de passe se termine par un nombre, essayez les deux ou trois nombres précé­dents. Si le mot de passe à des symboles ou chiffres en début ou fin, reti­re­rez-les et testez le mot de passe résul­tant.

    Tout ça ne vous coûte quasi­ment rien si ce n’est un peu de stockage et le télé­char­ge­ment de la nouvelle base Have I Been Pwned de temps en temps, mais ça va éviter bien des risques à vos utili­sa­teurs.

  • Déve­lop­peurs, vous devriez avoir honte — Règles de mots de passe

    Je rage à chaque fois que je saisis un mot de passe fort et que le site m’en­voie bouler parce que je n’ai pas de carac­tère autre qu’al­pha­nu­mé­rique.

    Essayons quelque chose d’un peu plus smart pour évaluer la robus­tesse d’un mot de passe

    Déve­lop­peurs, vous savez proba­ble­ment tout ça, mais conti­nuez à lire parce que la fin vous est adres­sée

    Si j’en crois Hacker­noon on peut calcu­ler envi­ron 800 millions de SHA256 par seconde sur un maté­riel qui coûte 0,82 € par heure sur AWS. Ça fait 3,5 10^12 combi­nai­sons par euro.

    Traduit autre­ment, voici le nombre de combi­nai­sons qu’on peut tester, et le même chiffre écrit en puis­sance de deux (arrondi à la déci­male infé­rieure) :

    1 €3,5 × 10^122^41,6
    10 €3,5 × 10^132^44,9
    100 €3,5 × 10^142^48,3
    1 000 €3,5 × 10^152^51,6
    10 000 €3,5 × 10^162^54,9
    100 000 €3,5 × 10^172^58,2

    Quand on vous parle ailleurs de bits d’en­tro­pie, ça corres­pond à ces puis­sances de 2. Avec 1 000 € on peut tester toutes les combi­nai­sons de SHA 256 d’une chaîne aléa­toire de 51 bits.

    Ok, mais ça me dit quoi ? Une lettre c’est 26 combi­nai­sons, envi­ron 4,7 bits. Si vous ajou­tez les majus­cules vous doublez le nombre de combi­nai­sons et vous ajou­tez 1 bit. Si vous ajou­tez les chiffres et quelques carac­tères spéciaux on arrive à à peine plus de 6 bits.

    Petit calcul, en utili­sant juste les 26 lettres de l’al­pha­bet, on peut tester toutes les combi­nai­sons de 8 carac­tères pour moins de 1 €. Vu qu’on aura de bonnes chances de tomber dessus avant d’avoir testé toutes les combi­nai­sons, autant dire que même avec 9 carac­tères, votre mot de passe ne vaut pas plus de 1 €.

    Combien faut-il de carac­tères pour se trou­ver rela­ti­ve­ment à l’abri (c’est à dire que la somme inves­tie ne peut pas tester plus de 1% des combi­nai­sons) ? Ça va dépendre de ce que vous y mettez comme types de carac­tères. J’ai fait les calculs pour vous :

    a-za-z
    A-Z
    a-z
    A-Z
    0–9
    a-z
    A-Z
    0–9
    +-%
    1 €11998
    10 €111099
    100 €12101010
    1 000 €13111010
    10 000 €14111111
    100 000 €14121111

    Et là magie : 8 carac­tères, même avec des chiffres, des majus­cules et des symboles, ça résiste tout juste à 1 €. Et encore, là c’est en partant du prin­cipe que vous choi­sis­sez réel­le­ment les carac­tères de façon aléa­toire, pas que vous ajou­tez juste un symbole à la fin ou que vous trans­for­mez un E en 3.

    Vous voulez que votre mot de passe résiste à un voisin malveillant prêt à mettre plus de 10 € sur la table ? Prévoyez au moins 10 carac­tères.

    Et là, seconde magie : Si vous mettez 10 carac­tères on se moque de savoir si vous y avez mis des chiffres ou symboles. La longueur a bien plus d’im­por­tance que l’éven­tail de carac­tères utilisé.


    Main­te­nant que vous savez ça, tous les sites qui vous imposent au moins une majus­cule et un symbole mais qui vous laissent ne mettre que 8 carac­tères : Poubelle.

    Je ne suis pas en train de vous apprendre à faire un mot de passe fort. Vous devriez utili­ser un gestion­naire de mots de passe et le géné­ra­teur auto­ma­tique qui y est inclus.

    Je suis en train d’es­sayer de rendre honteux tous les déve­lop­peurs qui acceptent de mettre ces règles à la con sur les sites web dont ils ont la charge : Vous impo­sez des mots de passe qui sont à la fois imbi­tables et peu robustes.


    Vous voulez faire mieux ?

    Regar­dez dans quelle colonne est l’uti­li­sa­teur en fonc­tion des carac­tères qu’il a déjà tapé et donnez-lui un indi­ca­teur en fonc­tion de la longueur de son mot de passe.

    • Mot de passe refusé s’il est sur « Have I Been Pwned? »
    • Moins de 10 € ? mot de passe insuf­fi­sant, refusé
    • Moins de 100 € ? mot de passe faible, couleur rouge
    • Moins de 1 000 € ? mot de passe moyen, couleur orange
    • Mot de passe sûr, couleur verte, à partir de 10 000 €

    Si vous gérez un site central, par exemple un réseau social public, vous pouvez proba­ble­ment rele­ver tout ça d’un cran.

    Si ça donne accès à des données sensibles, à des possi­bi­li­tés d’achat, à la boite e-mail ou à l’opé­ra­teur télé­pho­nique, mieux vaux rele­ver tout ça de deux crans.

    Le tout prend proba­ble­ment moins de 10 lignes en javas­cript. C’est une honte que vous accep­tiez encore d’im­plé­men­ter des règles à la con « au moins une majus­cule, un chiffre et un symbole, voici les symboles auto­ri­sés […] ».

    Déve­lop­peurs, vous devriez avoir honte.