Mots de passes hachés ? Salés ??? (en anglais: hashed, salted)

Les études en cryptographie sont très poussées et nombreuses. Ce n’est pas le but de cet article.

Imaginons que je crée un site web où tous les utilisateurs doivent s’enregistrer, fournir une adresse e-mail et un mot de passe de leur choix.

Si mon site se fait pirater et que ma liste d’utilisateurs est dérobée, je cours une grande responsabilité vis-à-vis de tous ceux qui m’ont confié leur identité et un mot de passe de leur choix. N’oublions pas que madame Michu utilise toujours le même mot de passe partout car c’est pour elle le seul moyen de ne pas l’oublier !

100% stupide: les mots de passe sont enregistrés tels quels dans la liste d’utilisateurs.

99,9% stupide: on va les transformer sous une forme évidente, par exemple en transformant Password en drowssaP ou bien en Qbttxpse. (Avez-vous trouvé ?)

C’est ici qu’interviennent les algorithmes de hashage (du moins bon au meilleur: MD4, MD5, SHA1, SHA2). Ces algorithmes transforment une donnée de n’importe quelle longueur en un résultat de longueur fixe sans aucune corrélation visible.

Voici quelques exemples avec MD5 :

a -> 0cc175b9c0f1b6a831c399e269772661
b -> 92eb5ffee6ae2fec3ad71c777531578f
aa -> 4124bc0a9335c27f086f24ba207a4912
bb -> 21ad0bd836b90d08f4cf640b4c298e7c
?? -> 5f4dcc3b5aa765d61d8327deb882cf99

et ainsi de suite. Mais au fait, que vaut le ?? ci-dessus. Facile, demandez 5f4dcc3b5aa765d61d8327deb882cf99 à Google.

Un bon hash interdit toute collision, de telle manière qu’il soit impossible de trouver deux données différentes qui donnent le même hash. Il doit être imprévisible de savoir ce qui a changé dans la donnée si le hash change, et aucun renseignement ne doit filtrer dans aucun sens. Le hash n’indique pas la longueur de la chaîne d’entrée, ni aucun autre renseignement.

On va se croire un peu plus malin, et enregistrer les hash des mots de passe dans le fichier d’utilisateurs. Quand la personne se connecte et présente son mot de passe, on le hashe, on compare les hash, s’ils diffèrent, le mot de passe présenté est faux.

C’est ce qui est arrivé chez Yahoo qui s’est fait pirater en 2013, et s’est fait dérober un demi-milliard ou deux milliards de comptes, peu importe le nombre exact. Les mots de passe étaient bêtement stockés sous forme hashée MD5.

En fait ça n’offre aucune protection, puisqu’il existe des listes avec des centaines de milliers de mots, courts et longs, figurant ou non dans les dictionnaires, avec leur hash correspondant. Voyez par exemple cette page https://md5db.net/explore/B408 d’un site qui contient 65000 autres pages similaires, toutes indexées par Google et autres outils de recherche.

Si on prend un mot de passe ne figurant dans aucun dictionnaire, et dont le hash est  c53e479b03b3220d3d56da88c4cace20, croyez-vous être plus sûr ? Rien n’est moins sûr car à nouveau quelqu’un y a pensé avant vous ! (L’exemple est le hash de P@$$w0rd)

C’est ici qu’on ajoute du sel. Le sel est un nombre aléatoire, vraiment aléatoire et suffisamment long qu’on va inclure dans le processus.

Pour l’exemple disons que le sel est un nombre entre 0000 et 9999. Au hasard 2016, et le mot de passe “aa”.

md5("aa") -> 4124bc0a9335c27f086f24ba207a4912

Ajoutons du sel et on hache une deuxième fois
md5("20164124bc0a9335c27f086f24ba207a4912")
   -> 66863812d410807765bac7856ef334c2

Et dans ce cas-ci, même pour un mot de passe aussi pauvre que “aa”, Google ne trouve plus aucun résultat pour le hash 66863812d410807765bac7856ef334c2 que nous venons de produire.

Saler les hash est aussi très important: si deux utilisateurs utilisent le même mot de passe, grâce au sel aléatoire, leurs mots de passe hachés n’auront aucune ressemblance.

Je n’ai plus qu’à enregister dans mon fichier d’utilisateurs le sel (2016) et le hash final (66863812d410807765bac7856ef334c2) ; au moment où l’utilisateur se connecte on refait le même processus de hashage, mais on connaît la valeur à utiliser pour le sel et reproduire le même hashage pour vérifier si le mot de passe est correct.

En réalité on prend des valeurs beaucoup plus longues et complexes pour le sel et pour le hashage.

Dans un système Unix/Linux, les mots de passe sont stockés dans un fichier /etc/shadow .

root:~# adduser exemple
Adding user `exemple' ...
...
Enter new UNIX password: secret
Retype new UNIX password: secret
...
Is the information correct? [Y/n]


root:~# grep exemple /etc/passwd /etc/shadow
/etc/passwd:exemple:x:1002:1002:,,,:/home/exemple:/bin/bash
/etc/shadow:exemple:$6$ztDVi3xQ$2KXD9LWl36eVah8lvEpiDBi.Y5SaCuzqr8bFXRNMPPHtxZ5wzOdTLOeB3tDgPZ4zR9lVmEA0e9PAT/1tjfjRP0:17205:0:99999:7:::

Le signe “$” délimite les champs. Par convention $6$ indique qu’on va hasher avec sha-512, un successeur de MD5 plus robuste, et que les champs séparés par “$” sont le sel et ensuite le mot de passe hashé.

On voit aussi que les chaînes de caractères ne sont pas constituées d’hexadécimal (16 catactères possibles, de 0 à 9 et de A à F) mais de base64 (64 caractères possibles de 0 à 9, de A à Z, de a à z, ainsi que / et .) .

Le sel est ici une enfilade de 8 caractères. Ce qui fait 64 ^8 possibilités, soit 281474976710656, ou 281000 milliards de possibilités. En 2016, personne n’oserait imaginer d’enregistrer toutes les 281000 milliards de variantes hashées, de tous les mots du grand Larousse.

Vérifions mon mot de passe ci-dessous:

root:~# mkpasswd -m sha-512 secret ztDVi3xQ
$6$ztDVi3xQ$2KXD9LWl36eVah8lvEpiDBi.Y5SaCuzqr8bFXRNMPPHtxZ5wzOdTLOeB3tDgPZ4zR9lVmEA0e9PAT/1tjfjRP0

 

The Useless Box – l’objet inutile par excellence

Toujours chez Banggood, voici mon dernier achat: The Useless Box au prix d’environ 9 €.

L’objet arrive en kit, la partie électrique est déjà assemblée et la boîte est à construire soi-même.

Le boîtier est en acrylique que j’ai choisi de couleur rouge, une feuille de protection est collée sur une face ce qui garantit une finition polie sans la moindre petite griffe après enlèvement de cette feuille.

Les panneaux sont assemblés avec de petites vis et écrous.

L’usinage est de très bonne qualité, j’aurais envie de dire au 1/100è de millimètre.

Voici les photos à différentes étapes du montage, et finalement une vidéo.

img_0474 img_0476 img_0477 img_0480 img_0481 img_0482 img_0483 img_0484 img_0488 img_0489

-> Vidéo

Thermomètre digital Made in China

Chez Banggood pour 3,5€ vous pouvez acheter un thermomètre/thermostat digital précis au 1/10 de degré près.

Lien vers l’article de leur catalogue

Ce thermostat affiche la température et peut commander un appareil de chauffage ou de refroidissement via un relais.

img_0473

Il fonctionne juste comme on s’y attend. On peut même régler l’hystérèse et des temporisations
Il faut prévoir une petite alimentation 12V.

Voici le mode d’emploi:

thermometre-digital-banggood1
thermometre-digital-banggood2Excellent rapport qualité/prix !

Etes-vous unique ? Oui ! Pouvez-vous être anonyme ? Heu… Lisez plutôt !

Je vous conseille la visite du site https://amiunique.org (Am I Unique ?) pour y constater que lors de vos périgrinations sur Internet, vous possédez une sorte d’empreinte digitale unique, qui permet à un site de vous suivre (“de vous tracker” comme on dit), et ce, même si vous effacez vos cookies.

Chaque navigateur internet (Firefox, Chrome, Internet Explorer, Safari, …) , lors de chaque connexion vers un site visité, annonce des tas de renseignements sur votre PC. Ce sont des numéros de versions, des listes de plugins, la langue, le décalage horaire, les dimansions de l’écran, etc. L’ensemble de ces caractéristiques vous rend unique.

Qu’un site sache que c’est un utilisateur qui revient (et non pas quelqu’un qui vient pour la 1ère fois) n’est pas nouveau. Il y a déjà les cookies pour mémoriser cela. Comme les gens effacent leures cookies et que les annonceurs (friands de “tracking”) ne veulent pas lâcher leur proie, et sont passés aux super-cookies enregistrés derrière votre dos par Adobe Flash. Si vous avez coché l’option par laquelle Flash doit demander la permission avant de fonctionner, ça ne vous a jamais perturbé qu’autant de sites sans animation Flash visible vous demandent néanmoins de pouvoir activer Flash ?

A partir du moment où c’est une agence de publicité qui vous “tracke” et non tel site A ou B, cette agence de pub qui place des espaces publicitaires sur de nombreux sites peut croiser les résultats (c’est le même utilisateur belge francophone qui va voir Les 3 Suisses et La Redoute) et si le site transmet des infos précises (Les 3 Suisses informent que je cherche des chaussettes noires), voilà de quoi remplir le Big Data.

Le plus gros annonceur est Google, rappelez-vous. Et il sait “mieux que vous” quels sont vos centres d’intérêt…

Démonstration:

– on fait une recherche Google. On s’intéresse à des chaussettes noires (donc Google le sait) et on va examiner le 1er des résultats fournis. En passant la souris sur le lien retourné on voit apparaître une adresse sur le site 3suisses.fr

amiu1amiu1c
– On fait un clic-droit sur ce lien pour le sauvegarder

amiu3

– Le lien est “par magie” devenu une adresse “google.be” et non plus “3suisses.fr”

amiu2amiu2c
– La preuve: quand on le colle dans la barre d’adresses c’est bien un lien vers Google qui veut absolument savoir sur lequel des résultats vous avez cliqué. Il en prend note et vous renvoie vers les 3 Suisses.

amiu4C’est ainsi que Google sait quelles sont les réponses qui ont le plus de succès parmi celles présentées, mais aussi qui a cliqué sur quoi. Même si vous avez fait un logoff de votre compte Google/Gmail/Google+.

Avec les outils standards, non il n’y a pas d’anonymat. Essayez avec le mode “Private” de votre navigateur, et ce n’est pas mieux.

Suisse, Andorre: attention aux tarifs GSM !

[Article original écrit en mai 2016 et modifié en novembre 2016]

Attention si vous voyagez en Suisse: la Suisse n’est pas l’Europe.
Et si le Royaume-Uni sort de l’Europe, ça s’appliquera aussi pour eux ?
Tarifs de roaming data de l’opérateur belge Scarlet: Un film de 700 MB, c’est 7000€ !

tarifs_roaming_scarlet

 

Edit 4 novembre 2016:

L’offre actuelle de BASE n’est pas très différente: c’est 3 fois moins cher pour la Suisse, mais pour Andorre c’est encore plus cher: 14,52€ par MB ! Les frontaliers doivent apprécier !! Remarquez que le reste du monde est à 9,5€ par MB…

base-clipboard-1

Photo – Balance des blancs – Panasonic Lumix TZ10

Dans un article précédent que je vous conseille de lire avant celui-ci, j’avais mis en évidence que les photos produites par mon appareil Panasonic Lumix TZ10 acheté il y a quelques années, étaient toujours plus ternes que celles produites par d’autres appareils.

J’ai récemment acquis un Olympus OM-D E-M10 MarkII et j’ai pu expérimenter en shootant une scène de jour par ciel voilé, avec les différents de mode de balance des blancs.

L’Olympus a l’avantage de produire des fichiers RAW, ce qui fait que si on a raté sa balance des blancs à la prise de vue, on peut reprendre la photo telle que le capteur l’a vue et y appliquer un autre post-traitement de son choix. Avec le Lumix, si elle est ratée, c’est fichu. Ce qui n’est pas dans la photo JPG (jpeg) est irrémédiablement perdu.

Voici les différentes photos avec un bref commentaire. Vous pouvez cliquer sur chacune des photos pour l’avoir en résolution d’origine. Les onglets ainsi ouverts peuvent être fermés avec control-W.

L’arbre au centre est un érable japonais nain, il commence juste à prendre les couleurs de l’automne. (A l’heure d’écrire cet article il est devenu tout rouge).

La conclusion ? Eviter à tout pris le mode AUTO du Lumix. Préférer les réglages manuels SOLEIL/OMBRE/ARTIFICIEL qui ont un rendu des couleurs plus agréable.

l1-auto

A gauche le Lumix TZ10 en mode balance des blancs AUTO

 

 

 

 

A droite l’Olympus en mode balance des blancs AUTO

 

 

 

 


l2-soleilLumix en mode SOLEIL

 

 

 

 

 

Olympus en mode SOLEIL

 

 

 

 

 


l3-nuageuxLumix en mode NUAGEUX

 

 

 

 

 

Olympus en mode NUAGEUX

 

 

 

 

 


l4-soleil-et-ombreLumix en mode soleil ombragé

 

 

 

 

 

Olympus en mode soleil ombragé

 

 

 


Il reste quelques modes différents que je ne vais pas mettre en comparaison

l5-artificiel-bulbLumix en mode éclairage artificiel à incandescence

 

 

 

 

Olympus en mode éclairage
artificiel à incandescence

 

 

 

 

 

 

Olympus en mode éclairage artificiel au néon

 

 

 

 

 

Et puis on peut jouer aussi bien avec un appareil qu’avec l’autre, par exemple en forçant le blanc sur base d’un objet vert pomme comme référence…

 

 

 

Photo macro: comparaison du Panasonic Lumix TZ10 et de l’Olympus OM-D E-M10 Mark II

Tout d’abord, quelle dénomination barbare chez Olympus ! Ils ne pourraient pas faire plus simple que “OM-D E-M10 Mark II”, non ?

Je vais donc mettre en comparaison deux appareils d’âge et de qualité différents.

Il y a 5 ans j’achetais un compact “superzoom” Panasonic Lumix TZ10 et son caisson étanche jusqu’à 40 mètres pour la plongée (MCTZ10).  Il fonctionne toujours parfaitement bien. Cependant je reste un peu déçu par la qualité globale des photos.

La balance des blancs automatique du Lumix est assez mal gérée. J’ai fait un article à ce sujet. Mais surtout, il s’agit d’un appareil avec un capteur d’assez petites dimensions, et ça laisse assez peu de place à la création de flou. A ouverture égale un bon appareil reflex offrira un flou beaucoup plus artistique pour les avants-plans et les arrière-plans.

Cette année j’ai fait l’acquisition de l’appareil Olympus E-10 Mark II avec un petit zoom et un grand zoom. Cet appareil de la gamme des hybrides a presque toutes les propriétés d’un appareil reflex 24×36. Tout est réduit de moitié, la taille du capteur, la distance focale, mais aussi le poids et la dimension de l’appareil. Il est doté d’une panoplie de réglages et modes de fonctionnement qui pourraient dérouter les néophytes. Le manuel fait 170 pages et les instructions sont denses. Impossible de résumer toutes les possibilités dans cet article.

Avec les deux appareils, j’ai calé l’ouverture au maximum f4.0 ou f4.5 pour la suite des photos. J’ai ciblé ce reportage sur un scénario de macro photo, d’abord shooté de très près, et ensuite à environ un mètre, en utilisant les zooms à leur pleine puissance.

Suivent les photos. Lorsque vous cliquez dessus celles-ci s’ouvrent dans un nouvel onglet. Elles sont en pleine résolution 12 ou 16 MPix, cliquez sur le détail que vous voulez voir. La séquence control-W ferme toujours l’onglet courant.


Le Lumix TZ10 est annoncé avec un zoom optique 12x. Le voici avec son caisson étanche.

p1060337_edp1060344

 

L’Olympus E-10 Mark-II et ses deux zooms 14-42 mm et 40-150 mm

p1080145


La mise en scène pour la macrophotographie a consisté à disposer quelques objets glanés ça et là et faire un éclairage avec une lampe de poche à LED blanches. Un premier shooting de très près: le Lumix permet de se rapprocher très près:

19-211824_lumix_tz10_p1080570

encore plus près: 3 centimètres environ

o19-211907_lumix_tz10_p1080572


La même scène avec l’Olympus:

19-211707_lumix_tz10_p1080567

La mise au point sur l’objet est très importante. Comparez bien les trois photos qui sont très semblables.

On voit la supériorité de la qualité de l’image par rapport au Lumix, mais on ne peut pas se rapprocher autant.


Pour le shooting suivant je me suis placé à environ un mètre de la scène, ce qui est la distance minimum pour pouvoir utiliser les zooms au grossissement maximum de la fonction téléobjectif.

D’abord avec le Lumix en grand angle et ensuite en télé

19-212053_lumix_tz10_p108057519-212112_lumix_tz10_p1080576

Ensuite avec l’Olympus. Il n’est pas possible de couvrir la gamme de focales avec un seul objectif. D’abord avec le petit zoom:

OLYMPUS DIGITAL CAMERAOLYMPUS DIGITAL CAMERA

Puis on change d’optique et on va de la focale la plus courte à la plus longue:

OLYMPUS DIGITAL CAMERA19-212425_lumix_tz10_p1080583

Avec ce téléobjectif, bien cibler le spot de mise au point !

OLYMPUS DIGITAL CAMERA


Enfin pour la synchro des appareils qui n’étaient évidemment pas la même heure, je vous renvoie à mon article dédié à cette question

clipboard-1-lumixl

19-212519_lumix_tz10_p1080584