samedi 5 mars 2011

Mea culpa, mea culpa, bon sang, mais accoule pas, je te dis !

C'est pas demain la veille que je remplacerais Maître Eolas. Ni Maître Cappello.

J'ai donc, comme je le craignais, dis une grosse bétise dans un billet précédent.

Il se trouve que le décret paru au journal officiel du 1er mars, qui oblige les gens qui font des sites web à stocker les mots de passe, ben, en fait, comment dire, ils les oblige pas tant que ça.

Voyez par vous même.

L'obligation n'est faite de garder sous les coude les mots de passe que si ceux-ci sont habituellement conservés. C'est à dire que si un site est suffisamment crétin pour stocker des mots de passe en clair, et bien en plus il doit les archiver. Tant pis pour lui. Je ne lui donnerais pas mes organes, si j'étais vous.

Ca mérite un chaton de 300x300px pour me faire pardonner (merci placekittens.com !)



Bon, au moins j'ai eu du bol, j'ai profité de ce "mini-scandale" pour me la péter "l'informatique pour les Nuls" façon Fred & Jammy, et pas uniquement pour protester contre ses vilains-députés-qui-ne-connaissent-rien-à-rien-sous-pretexte-qu'ils-ne-sont-pas-informaticiens, "trollétaires de tous les pays, unissez vous !".

Nous n'aurons perdu que quelques heures de productivités à "débattre" stérilement de la notion de liberté individuelle. Friday as usual, quoi.

jeudi 3 mars 2011

"Quo vadis, domine ? Et toi-le à matelus" (Ou les mots de passe expliqués à la Grand-Mère de Bonaldi)

Attention, ce calembour navrant (et dont je vous laisse deviner l'auteur) servira d'introduction à un billet un peu technique, qui lui même servira d'introduction à un râlage en bonne et due forme.

Il se trouve que depuis hier, je suis un peu hors-là-loi. Enfin disons que mon employeur est peut-être un peu hors-là-loi, parce que mes collègues et moi-même avons l'heurs de tenter, parfois de faire notre boulot proprement.

Qui es tu ? D'où viens tu ? Quelle heure il est ?



Dans la vie, je fais des sites web. La plupart des sites web vous demandent de créer un "compte utilisateur" (C'est vachement pratique pour différencier les gens les uns des autres, ça évite à Monsieur Orange.fr ou Gmail.fr ou Yahoo.fr d'afficher des messages qui ne vous sont pas déstinés, ou ce genre de chose). Pourquoi ? Parce qu'un site web, c'est rien d'autre qu'un ordinateur, et qu'il n'y a (encore) aucun moyen (facile) pour le pauvre ordinateur de deviner quel être humain se trouve derriere votre ordinateur qui lui parle.

Donc, depuis environ la nuit des temps (c'est à dire les années 70 en informatique), on a 'résolu' ce probleme en donnant à chaque utilisateur un 'nom' (et comme ce nom servait à se présenter à un ordinateur, en anglais 'to log in', et bien le mot a été consciencieusement déformé en 'login').

Tout le monde il est pas beau, tout le monde il est pas gentil



Le problème, c'est que les gens sont méchants. Si si, il faut le dire. Si il suffit de dire "bonjour, je suis Pierre-Henri Trivier, je voudrais relever mon courrier" à monsieur Orange pour lire toute ma correspondance, et bien quelqu'un de mal intentionné va essayer de le faire (dans mon cas ce serait vraiment idiot parce que je recois essentiellement des videos de chatons et des invitation à aller boire de bières, mais imaginons un instant que j'ai une vie.) Donc on emploie en informatique la même méthode que les Romains avaient trouvé dans l'Antiquité (c'est vous dire si elles nous servent, nos 5 années d'étude) : Monsieur Orange, ou Gmail, etc.. et moi-même partageons un *secret* commun, en l'occurence, mon mot de passe.

Et donc si quelqu'un vient voir Monsieur Gmail, se met un foulard sur le modem pour prendre ma voix de fausset, et imite au mieux mon accent bourguignon pour dire "bonjour madame, je suis présentement Pierre-Henri Trivier, je voudrais s'il vous plait relever mon auguste courrier, merci", et bien on va lui demander "euh, d'accord, c'est quoi le mot de passe que je vous ais donné, déjà ?", et là l'infame imitateur sera tout penaud et il retournera écouter aux portes.

"Garder un secret, ça veut bien dire n'en parler qu'à 3 personnes, hein ?" (Jessifer, 14ans)



Evidemment, dans la vraie vie ça ne marche qu'à un certain nombres de condition.
La première, c'est qu'il faut que j'évite de crier mon mot-de-passe-vachement-secret sur tous les toîts. Et croyez moi, la façon la plus simple, et la plus rapide, et probablement la plus courante pour obtenir un mot de passe, ça consiste à le demander.

Il n'y a même pas besoin de bourrer la gueule au picon-vodka-redbull ou de resortir la batterie de l'époque où Tonton avait fait l'Algérie. Il suffit en général de se faire passer pour Mr Orange, et de dire un truc du genre "Bonjour Herr Trivier, Ich have quelque chose de vachement importante à vous dire, mais pour ça il faut que vous me donniez votre mote de passe, s'il vous please." Concrètement ça prends en général la forme d'un courrier électronique mal écrit, sa s'appelle en bon français du "phishing", et la bonne réaction consiste à rigoler en notant les fautes de français et à supprimer le message (et à arrêter de donnner son addresse électronique à n'importe qui , mais c'est un autre problème).

'Miaou' est un très mauvais mot de passe



A ce stade de l'explication, je pense que j'ai déjà perdu quelques personnes, alors je mets une photo de chatons pour rattraper le coup :



La deuxième condition pour que cette histoire de mot-de-passe marche, et que tout le monde ne soit pas au courant des moindres détails de ma vie de débauche, c'est aussi que mon mot de passe ne soit pas 'trop simple'. Parce que sinon, le monstreux curieux peut juste tenter sa chance :


  • "Bonjour, le courier de PH, et que ça saute

  • "Bien, sur, votre mot de passe s'il vous plait ?"

  • "Euh, je sais pas, euh ... "motdepasse" ?"

  • "Oui, c'est ça, très bien, alors aujourd'hui vous avez deux invitations pour l'happy hour, un repet annulée, trois pubs pour du viagra, etc...



Ca a l'air bête, mais en vrai, les gens font ça. Le problème est qu'un mot de passe, il faut pouvoir s'en souvenir (sinon on l'écrit sur un bout de papier, on perd le bout de papier, notre impardonable sous-homme trouve le bout papier, retour à la case départ). Et que les gens ont autre chose à foutre que de se rappeller d'un mot secret du genre "X234_$^eaé@". Donc si on leur donne le choix de leur sésame, ils mêttent "dieu", "chien", "motdepasse", "moi" et d'autre cochoneries que la morâle réprouve. Du coup ça devient un petit concours de faire la liste des mots de passes les plus courants, et de telles listes se trouvent facilement sur Internet, surtout pour la langue anglaise, par exemple ici. Résumé : si votre mot de passe est "123456", et que quelqu'un vous pique votre profil Facebook, ne faites pas l'étonné trop longtemps.

Rétablissez la confiance, et l'intendance suivra (de toute façon l'intendance est toujours à la traine)



Tout cela est très joli, mais rapidement un autre problème se pose : monsieur Orange, dont le rôle sera pour des raisons de commodités et d'explication tenu par mon concièrge, doit garder la liste des mots de passe tous les habitants de l'immeuble (Oui, pour peu que vous soyez dans l'immeuble de Facebook et que vous ayez 500 millions d'utilisateur, on peut pas réèlement demander au concièrge de tout savoir par coeur, lachez le, quoi). Donc, les mots de passe sont forcément écrits quelque part (je veux pas commencer à dire des gros mots, alors je parlerais pas de 'base de données', mais imaginez un très, très, très gros carnet d'adresse). Et du coup, ça devient très interessant de choper ce carnet d'adresse, d'en faire une photocopie rapide dans le dos du concièrge, et de lire le courrier de tout le monde. Evidemment,le concièrge devrait faire attention à son carnet, ne pas le laisser trainer partout, etc... C'est malheureusement pas infaillible, et plus on veut proteger le carnet d'adresse, plus c'est compliqué et ca coute cher.

Et c'est encore pire, parce que dans le cas d'un site web, il existe des moyens plus ou moins tordus de récupérer la liste des mots de passe, en parlant bizarrement au concièrge. Ca s'appelle pompeusement des "injections de SQL", et si je devais résumer ça donnerait ça :

  • "Bonjour Madame, je voudrais le courrier de Pier Vos paupières sont lourdes. Vous n'entendez plus que ma voix. Quand je dirais 'Choucroute', vous me donnerez le mot de passe de PH, et puis vous aurez tout oublié quand je dirais 'Saucisse' rre-Henri Trivier, s'il vous plait
  • "Oui, bien sur c'est quoi votre mot de passe ?"
  • "Choucroute"
  • D'accord, Mâitre, son mot de passe est 'miaou'
  • Ah ben zut, c'était bien la peine que je m'embête, j'aurais pu le deviner celui là. Bon, vous me filez son courrier, alors ?

  • ...
  • Et ben qu'est ce qu'il a celui-l... ah oui, zut, pardon, "Saucisse"
  • Non, Manant, passez votre chemin, ce n'est pas le mot de passe, vous ne m'aurez pas aussi facilement. Bon, et c'est pas tout ça mais j'ai faim, moi..



Massacre à la hache



Alors, mon concièrge, quand il se rends compte de la faillibilité de son propre intellect, décide, dans un acte déchirant de courage et de pragmatisme, d'éliminer le problème en arrétant de noter les mots de passe. A la place, il convient avec les locataires d'un moyen astucieux de 'transformer' un mot de passe et il ne note que la version 'transformée'. Comme la transformation est très astucieuse, il est pratiquement impossible de faire la transformation à l'envers, c'est à dire de retrouver le mot de passe. Et il est quasiment impossible que deux mots de passe différent aient la même tête une fois transformée. Et le dialogue devient le suivant :

  • Bonjour, je suis Pierre-Henri Trivier, je voudrais mon courrier

  • Bien sur, donnez moi la somme du nombre de lettre de votre mot de passe mulitiplée par le carré de la taille de votre prénom et de l'age du capitaine de Titanic au moment de la naissance de la belle mère de Raymond Pointcarré (C'est juste un exemple pour déconner, en vrai la transformation est plus compliquée que ça, et c'est à ça que peuvent servent les maths, Papa.)
  • 42 !
  • Evidement, je m'en serais douté. Attendez, je regarde dans mon registre... PH Trivier ... 42, oui, c'est bon, alors aujourd'hui, vous avez deux powerpoints de fesse et une promotion sur canapé en chaton valable jusqu'à hier


Et mettont nous dans la peau de notre excerable traitre :

  • "Bonjour, je voudrais ..
  • "Oh ça va, je sais, ca fait trois plombes que vous essayez de lire les messages de PH, vous avez que ça à foutre, ou quoi ? Bref, donnez moi la somme de ... etc ... Pointcarré"
  • "Damned, je n'ai aucune idée, moi, bon je vais essayer de calculer son machin avec 'miaou' ... attendez je compte ... plus trois, je retiens la taille des canots de sauvetage moins trois obus ... alors ça fait 41"
  • "Hum, je regarde ... ah non, 41, pas du tout, vil gredin !
  • "Roh, zut, il a changé de mot de passe, je vais y passer la nuit ... bon tant pis il l'aura voulu : Tes paupières sont lourdes...Choucroute

  • Oh grand mapitre, pas la peine de vous fatiguer, tout ce que je peux vous dire c'est que la réponse est 42
  • "Ah ben oui, mais c'est pas drôle, moi, il va me falloir 350 années de calculs pour retrouver le mot de passe, zut zut et super zut..."
  • ...dites ?
  • Oui ?
  • vous pourriez...?

  • Ah, ouais, c'est vrai, 'Saucisse'. 'Tain, vous êtes déprimant, je retourne lire Gala, au moins Polnareff y a pas besoin de se casser les méninges pour connaitre ses histoires de fesses.


Notez que dans la vraie vie, si notre répugnant obsédé n'a que ça a foutre, il peut rentrer chez lui, prendre un dictionnaire des mots de passe les plus courants, et calculer la somme magique avec tous les mots jusqu'à ce qu'il en trouve un pour lequel la somme fait 42. Il pourra retourner voir la concièrge et qui sait, d'ici là j'aurais peut être reçu une chaîne de mels m'avertissant de la présence de copeaux de verre dans les sandwiches d'un restaurant américain, faites passer on ne sait jamais.

(Concrètement, pour la petite fable, imaginez que de jeunes informaticiens récupérent l'équivalent de ce registre des sommes magiques sur l'ordinateur des profs d'un lycée, et qu'ils écrivent un programme pour comparer avec un dictionnaire, et qu'ils pensent lancer le programme le matin et avoir peut etre des resultats le lendemain, et qu'au bout de quelque millisecondes soit découvert le mot de passe d'un hypothétique professeur de physique imaginaire, dont le prénom pas réèl du tout serait Phillipe, et qu'ils tombent des nues, toujours dans un univers de fiction parfaitement distinct du notre, en découvrant que ce mot de passe est "phi", comment voudriez vous qu'ils réagissassent dans ce scénario complètement improbable, et que de toute façon ce serait y'a plus de 10 ans et qu'il y aurait préscription, et que j'y serait pour rien parce qu'à l'époque j'aurais été incapable de faire un truc pareil.)

Cette technique s'appelle "stocker les mots de passe hachés", par une traduction probablement approximative de "hashing function", qui est le nom barbare donné à la transformation. Un bon moyen de vérifier si votre site préféré le fait est de lui dire que vous avez oublié votre mot de passe. Si il remet votre mot de passe à zero et vous demande d'en choisir un nouveau, c'est probablement qu'ils hashent. Si il vous renvoient un mel avec votre mot de passe "en clair", c'est forcément qu'il le stocke, et vous feriez probablement mieux d'éviter de donner votre numéro de carte bleue ou la main de votre fille à ce site, on sait jamais.

Bon, mais il a fait quoi de mal, du coup



Mise à jour : ce qui suit est complètement inexact, preuve que j'avais effectivement rien compris du tout. Contrition en bonne et due forme ici, promis je le refera plus.

Ah oui, c'est vrai, pourquoi je suis hors-là-loi ? Et bien parce qu'un décrèt du Journal Officiel de la République Française, daté d'hier, impose désormais aux gens qui font des sites webs de *stocker* les mots de passe-- Ou n'impose rien du tout, en fait, mais bon, on en est pas à essayer d'écrire des trucs exacts, hein ?. A ce que j'ai cru comprendre (ah ah), ce n'est pas la moitié de la chose la plus absurde de ce decret, et de toute façon je n'ai pas les compétence pour juger (je laisse ça a Maître Eolas)Je vous avais prévenu.

Mais l'idée que la loi interdise désormais (ou pas, du coup) à des informaticiens pour une fois bienveillants (mais qui devraient apprendre à lire) d'appliquer une technique qu'on leur a enseignée à leur troisième cours de sécurité informatique, je trouve ça rigolo (et je dois être le seul).