Catégorie : Geek

  • Recherche d’un nouveau NAS

    Je cherche de quoi faire mon prochain NAS.

    Mon idéal serait un petit boitier fanless avec un CPU type i5 ou i7 de dernière géné­ral (ou équi­valent chez AMD), un port Thun­der­bolt, ainsi qu’au moins un espace pour disque 2.5″ et un pour NVMe. Je peux me conten­ter d’un CPU plus raison­nable mais j’ai­me­rais garder quelque chose qui n’est pas juste du mini­mum.

    Malheu­reu­se­ment ce n’est pas une confi­gu­ra­tion que je trouve faci­le­ment, encore moins à prix raison­nable.

    Une alter­na­tive serait un Mac Mini. Ça me permet­trait de l’uti­li­ser comme poste de bureau­tique d’ap­point. Ça n’est pas fanless mais ils ne ventilent quasi­ment pas. Le défaut est que ça demande de mettre un disque externe par USB et que ce n’est pas vrai­ment fait pour tour­ner ainsi 24/7.

    Est-ce que vous auriez des sugges­tions ?


    La petite FAQ, parce que je vous connais…

    Tu utili­sais quoi et pourquoi chan­ger ?

    J’avais un Shut­tle XS35V4 depuis 8–10 ans dans lequel j’avais fini par ajou­ter un module de RAM supplé­men­taire pour arri­ver à 8 Go et sur lequel je faisais tour­ner un Linux de base. Il se bloque systé­ma­tique­ment au bout de quelques jours depuis plus d’un an, le rendant un peu inutile pour mes backups. J’ai tenté la réins­tal­la­tion logi­cielle, mais sans résul­tat.

    Tu fais quoi avec ?

    Le NAS me sert d’ac­cès local mais aussi de hub pour centra­li­ser la sauve­garde.

    Mes fichiers persos sont synchro­ni­sés en ligne avec Treso­rit, qui me permet le chif­fre­ment de bout en bout. Ceux de ma femme sont sur pCloud. On a du Google Drive et d’autres trucs qui trainent. Le NAS va aussi sauve­gar­der mes dépôts git, stocker une copie de tous mes emails, et synchro­ni­ser ou récu­pé­rer en local tout ce qui traine un peu partout à moi sur Inter­net.

    Tout est stocké sur un disque en local, chif­fré au repos, et acces­sible loca­le­ment via SMB. C’est aussi sur ce disque que je stocke mes archives, qui elles ne sont dupliquées nul part ailleurs.

    Le NAS lui-même est sauve­gardé en ligne avec du chif­fre­ment de bout en bout, histoire d’avoir une copie hors-ligne histo­ri­sée. J’avoue que je me sers parfois de cette sauve­garde en ligne pour récu­pé­rer à un fichier d’ar­chive quand je suis hors de chez moi.

    Pourquoi autant de puis­sance ? C’est déme­suré pour un NAS

    Certains logi­ciels de synchro­ni­sa­tion de fichiers ne sont pas faits pour tour­ner en pure ligne de commande. J’ai donc un desk­top Linux qui tourne 24/7. Certains de ces logi­ciels sont aussi parti­cu­liè­re­ment gour­mands en RAM. Rien que Crash­plan m’a forcé à monter à 8 Go de RAM pour ne pas plan­ter lors des dédu­pli­ca­tions. Côté CPU je suis un gros adepte de chif­fre­ment pour mes données donc tout ça fait du chif­fre­ment de partout.

    Enfin, parfois le NAS m’a servi comme PC bureau­tique secon­daire, et là j’ai vrai­ment souf­fert.

    L’ex­pé­rience m’a montré que les carac­té­ris­tiques actuelles étaient proba­ble­ment le plan­cher et que j’au­rais plutôt inté­rêt à cher­cher plus puis­sant en CPU. Avoir la capa­cité d’aug­men­ter la RAM un jour ne ferait pas de mal aussi.

    Ce serait poten­tiel­le­ment diffé­rent si je remplaçais mes logi­ciels de synchro­ni­sa­tion et de backup par des choses plus effi­caces et en pure ligne de commande, mais avec des si

    Pourquoi Fanless ?

    J’ai besoin de pouvoir connec­ter ce NAS à un écran. Il sera donc soit sur mon bureau de travail soit à côté de la télé­vi­sion. Dans les deux cas je suis très réfrac­taire à un bruit de venti­la­teur. J’ai toujours regretté par le passé les options avec venti­la­tion active à cause de ça, et j’avais beau­coup appré­cié par le passage en fanless.

    Pourquoi pas Syno­logy ou autre NAS dédié ?

    Certains logi­ciels que j’uti­lise ne four­nissent de binaire que pour x86 ou Apple Sili­con. Côté OS j’ai bien du Linux mais c’est déjà un peu bancale et ça ne tour­ne­rait pas sur des Linux moins stan­dard. Certains logi­ciels ont d’ailleurs besoin d’une inter­face graphique desk­top.

    Ces NAS ne sont de plus jamais fanless à la connais­sance. Mes expé­riences passées avec Syno­logy me les font exclure à cause du bruit.

    Quel est ton budget ?

    Le moins cher possible, mais sans limite haute ;-)

    Si j’ai l’im­pres­sion que ça vaut le coup, que ça me libère de nouveaux usages (par exemple s’en servir aussi comme vrai poste de travail), je peux mettre le prix qu’il faut.

  • Avec des lettres de A à Z

    Le truc que j’ai du faire avec quasi­ment tous les langages mais pour lequel j’ai rare­ment trouvé une solu­tion satis­fai­sante : trans­for­mer un texte en reti­rant tous les accents et conver­tis­sant les lettres pour ne garder que les a à z.

    Tant que je me limite au français, italien et espa­gnol, j’ai une suite de recher­cher-rempla­cer qui me suffit :

    const ascii_replacements = [
      ['áàâä', 'a'],
      ['éèêë', 'e'],
      ['íìîï', 'i'],
      ['óòôö', 'o'],
      ['úùûü', 'u'],
      ['ñ', 'n'],
      ['æ', 'ae'],
      ['œ', 'oe'],
    ].map(([search, replace]) => [
      [new RegExp(search, 'gu'), replace],
      [new RegExp(search.toUpperCase(), 'gu'), replace.toUpperCase()],
    ]).flat()
    
    function ascii(text) {
      return ascii_replacements.reduce(
       (text, [search, replace]) => text.replace(search, replace),
       text
      )
    }

    Le gros problème c’est qu’il faut tout lister et que dès que je m’aven­ture hors du français, je risque d’en oublier.

    Via Le Hollan­dais Volant, une solu­tion qui utilise normalize :

    text.normalize("NFD").replace(/\p{Diacritic}/gu, "");

    C’est plus court, presque magique, mais en géné­ral j’ai aussi besoin de conver­tir æ et œ, qui seront oubliés ici. Il faut donc ajou­ter ces deux cas et leur version en majus­cule. Du coup c’est mieux mais pas encore ça.

    On peut se dire qu’en échange ça fonc­tionne pour toutes les langues, pas que le français, mais c’est passer à côté des spéci­fi­ci­tés locales. Si en français ö peut être dégradé en o, en alle­mand c’est l’équi­valent de oe.

    Reti­rer les signes diacri­tiques ne suffit pas pour obte­nir une version accep­table. La conver­sion dépend de la langue. L’al­le­mand est loin d’être la seule langue avec ce type de spéci­fi­ci­tés. Il faudra aussi ajou­ter les lettres propres à chaque langues, comme ß qui donne­rait ss.

    Par le passé j’ai utilisé iconv en PHP. Je me souviens que ce n’était pas parfait mais ça faisait ce type de job.

     iconv('UTF-8', 'ASCII//TRANSLIT', $text)

    Il faut juste penser à bien défi­nir la bonne locale avant. Ce n’est pas un défaut, c’est une fonc­tion­na­lité : Le résul­tat sera diffé­rent pour diffé­rentes locales.

  • Cherche nouvelle solu­tion de sauve­garde

    J’uti­lise Crash­plan aujourd’­hui pour avoir une sauve­garde hors ligne de ce que contient mon NAS. Les dernières versions sont des goinfres en RAM et j’ai du chan­ger ma barrette récem­ment pour juste faire en sorte que ça ne se crash pas au démar­rage. Malgré tout c’est lent, très lent. Le support lui même dit que rien n’est garan­tit au delà de quelques To.

    Pour l’ins­tant ça tient mais je cherche autre chose.

    Objec­tif : Sauve­gar­der le petit poste debian qui me sert de NAS et ses 1.5 To de données. Ça peut augmen­ter de 500 à 1 To par an mais une fois posées les données changent peu.

    Les pré-requis à priori :

    • Le client doit tour­ner sur un Linux x86
    • Sauve­garde en ligne (pas de mani­pu­la­tion de disque pour faire du hors site)
    • Chif­fre­ment local (ce qui est mis en ligne est chif­fré)
    • Peut stocker 1.5 To aujourd’­hui (versions incluses)
    • Peut évoluer au moins jusqu’à 4 To à terme
    • Permet de récu­pé­rer un fichier ou un groupe de fichiers sans télé­char­ger toute la sauve­garde
    • Permet de récu­pé­rer les versions horaires des fichiers modi­fiés les derniers jours
    • Permet de récu­pé­rer les versions quoti­diennes des fichiers des dernières semaines
    • Permet de récu­pé­rer les versions hebdo­ma­daires des fichiers des derniers mois
    • Permet de récu­pé­rer les versions trimes­trielles des fichiers sur x années (x à déter­mi­ner par moi)
    • Permet de restau­rer le contenu d’un réper­toire à un instant T (modulo les règles de versions plus haut)
    • Perfor­mances correctes (ne mettra pas 2 mois pour envoyer les premiers 1.5 To ni à récu­pé­rer les 4 To si un jour ils crashent)
    • Pas de solu­tion à base de brico­lages de scripts person­nels
    • Budget d’en­vi­ron 5 € TTC mensuels par To stockés en ligne

    Pas indis­pen­sable mais je ne crache­rai pas dessus :

    • Pas besoin de GUI locale hors confi­gu­ra­tion (head­less)
    • Compa­tible avec une Debian stable
    • Permet d’éla­guer les versions (ne garde pas les versions quoti­diennes à vie)
    • Permet d’ef­fa­cer les fichiers suppri­més depuis plus de X années (ceux là je veux vrai­ment les effa­cer)
    • Surveillance conti­nue du système de fichier (et pas des scan complets de plusieurs To à chaque fois qu’on veut véri­fier si quelque chose a changé)
    • Inter­face de restau­ra­tion simple
    • Inter­face de restau­ra­tion graphique
    • Email d’aver­tis­se­ment de la part de l’es­pace en ligne si je ne me suis pas synchro­nisé depuis long­temps
    • Inter­face pour savoir quel % est déjà sauve­gardé een ligne et quel % est en attente de trans­fert
    • Fait de la dédu­pli­ca­tion au moins par fichier
    • Si on peut ajou­ter des clients mac orien­tés laptop (donc souvent inter­rom­pus et qui ne doivent pas réduire l’au­to­no­mie ou occu­per le cpu à faire des scan disque inutiles), ce serait top

    Si néces­saire, je suis prêt à envi­sa­ger de faire le version­ne­ment en local et avoir unique­ment l’état courant sauve­gardé en ligne (en gros, si mon disque local crash, je perds l’his­to­rique mais je peux récu­pé­rer la dernière version). Si vous avez des solu­tions pas trop chères de ce type là, je suis prêt à étudier.


    Je sais, vous voulez des détails. Aujourd’­hui je ne gère qu’un bloc de 1, 5 To mais il pour­rait théo­rique­ment se décou­per ainsi.

    • Une zone d’en­vi­ron 50 Go avec dans les 600 000 fichiers d’email au format mail­dir. C’est de l’im­port. Les fichiers ajou­tés ne sont jamais modi­fiés ou effa­cés ensuite.
      Ça ne montera proba­ble­ment pas de plus de 10% par an.
    • Une zone photo avec 300 Go de jpeg et raw de quelques Mo et quelques vidéos mp4 de quelques dizaines de Mo. Les fichiers ajou­tés peuvent être excep­tion­nel­le­ment dépla­cés mais ne sont quasi­ment jamais modi­fiés.
      Ça ne devrait pas gros­sir de plus de 10 à 20% par an.
    • Une seconde zone photo avec 750 Go avec de gros raw et gros jpeg de quelques dizaines de Mo plus des fichiers de méta­don­nées de quelques ko. Les fichiers ajou­tés peuvent être excep­tion­nel­le­ment dépla­cés mais ne sont quasi­ment jamais modi­fiés. Les fichiers de méta­don­nées seront par contre modi­fiés par périodes, et j’y aime­rais un version­ne­ment au moins à la jour­née.
      Cette zone peut-être amenée à gros­sir de 500 Go à 1 To par an.
    • Une zone d’ar­chi­vage d’en­vi­ron 150 Go de fichiers de quelques Mo qui ne chan­ge­ment jamais ou presque, et qui peut gonfler d’au plus 10% par an.
    • Un zone avec 300 Go de fichiers de travail, essen­tiel­le­ment des images, docu­ments bureau­tiques, mais aussi des archives zip, poten­tiel­le­ment des vidéos. L’écra­sante majo­rité est histo­rique et change peu. C’est toute­fois une zone de travail et les chan­ge­ments doivent être version­nés, idéa­le­ment à l’heure ou à la demie-jour­née. Contrai­re­ment aux autres zones, une partie des docu­ments y sont effa­cés à court ou moyen terme.
      Cette zone ne devrait pas gros­sir de plus de 10% par an.
    • Une zone de synchro de moins de 100 Go, avec des copies des fichiers qui viennent de l’ex­té­rieur et qui sont amenés à toujours chan­ger.
      La taille devrait rester globa­le­ment constante.

    Si rien ne ressort, ça peut se termi­ner par « poser un jeu de gros disques chez un tiers qui a la fibre et faire de la sauve­garde chif­frée dedans » mais ça néces­site de trou­ver quelqu’un qui peut effec­ti­ve­ment stocker ça dans sa cave avec une connexion filaire et qui sait faire les redi­rec­tions appro­priées.

  • J’ado­re­rais tout connec­ter.

    Je veux des volets qui se ferment auto­ma­tique­ment la nuit après avoir véri­fié que je ne suis pas sur le balcon ou l’été en jour­née à certaines heures quand la tempé­ra­ture exté­rieure dépasse les 30°.

    Je veux pouvoir comman­der les prises et les inter­rup­teurs, ouvrir ma porte d’en­trée et mon garage avec mon smart­phone, mesu­rer ma consom­ma­tion d’eau et d’élec­tri­cité, asser­vir mes radia­teurs, program­mer mes machines à laver pour quand je ne suis pas là.

    Je veux mes courbes de consom­ma­tion d’eau et d’élec­tri­cité, mes utili­sa­tions de trans­ports en commun, mais aussi croi­ser mes passages à la station services avec les diffé­rents dépla­ce­ments que je fais en voiture. Je rêve de pouvoir tracer mes diffé­rents dépla­ce­ments avec des points GPS quasi perma­nents.

    J’ai­me­rais même avoir des taux utili­sa­tion des appa­reils et des pièces, savoir combien de temps je suis devant la TV et sur quelles chaînes, combien de temps et jusqu’à quelle heure je lis avec ma lampe de chevet allu­mée.

    Moi aussi j’ai­me­rais savoir si je dors bien, tôt ou tard, en me levant ou pas la nuit, si je me réveille bien ou si je traine, et croi­ser ça avec les autres données de tempé­ra­ture, horaires de travail, acti­vité physiques, horaires de repas…

    Je n’ima­gine même pas comment on pour­rait être trop connecté.


    J’ai­me­rais.

    La tech­no­lo­gie est là, depuis des années, partout. On en est à connec­ter les aspi­ra­teurs et les brosses à dents. Même moi je reste circons­pect sur la perti­nence.

    La tech­no­lo­gie est là mais on a merdé dans les grandes largeurs au niveau éthique et archi­tec­ture. Je n’ai ni contrôle, ni vie privée, ni péren­nité.

    Chan­gez moi-ça et je veux bien tester même la brosse à dents.

  • Je veux des appa­reils connec­tés

    Je veux des appa­reils connec­tés mais…

    Je veux des appa­reils qui fonc­tionnent avec un stockage local. Ce peut-être une carte mémoire, un disque dur sur port usb. Ce peut même être un stockage réseau via FTP, Webdav, CIFS ou autre tant que je suis celui qui décide où je stocke.

    Je veux des données lisibles. Idéa­le­ment elles sont dans un format stan­dard et norma­lisé. À défaut il s’agit d’un format docu­menté, ou au moins quelque chose que je peux explo­rer comme du JSON ou du XML. Dans tous les cas, je ne veux rien qui m’em­pêche d’ac­cé­der à mes données.

    Je veux être auto­nome. Je ne veux pas être dépen­dant de la créa­tion d’un compte, de la main­te­nance d’un serveur en ligne par le construc­teur, ou d’un logi­ciel qui finira pas ne plus être mis à jour. Si un tel élément est indis­pen­sable, il faut une garan­tie de fonc­tion­ne­ment qui se chiffre en décé­nies, ou un enga­ge­ment de docu­men­ter les inter­faces de façon à permettre à un tiers de refaire ce qui manque le jour où ça manquera.


    Oui, ça remet en cause toute la star­tup nation qui fait payer des abon­ne­ments et qui se rému­nère via la donnée des utili­sa­teurs.

    En échange je suis prêt à payer plus cher, mais je veux des objets à moi.

    Infor­ma­ti­ciens, ne contri­buez pas à mettre vos utili­sa­teurs en situa­tion de dépen­dance.

  • Aujourd’­hui c’est (encore et toujours) backup day

    Je note ici toutes mes itéra­tions de backup day.

    La dernière était il y a plus d’un an. J’avais 2 portables et un NAS, tous trois sous Crash­plan.

    Au delà de la sauve­garde, un des portables avait un Drop­box gratuit pour la synchro­ni­sa­tion en ligne, l’autre un Treso­rit payant à 200 Go.

    3 appa­reils crash­plan indé­pen­dants plus un abon­ne­ment à la première offre treso­rit, ça allait finir par faire cher à la fin des offres promo­tion­nelles de nouvel abonné.

    En paral­lèle le Drop­box et le Treso­rit commençaient à être plus qu’à l’étroit sur leurs offres respec­tives donc il y avait quelque chose à chan­ger. Sur le papier ça allait passer de moins de 20 € à plus de 40.


    Au lieu de gérer 3 postes indé­pen­dants, j’ai profité de la synchro­ni­sa­tion et installé Treso­rit sur le NAS.

    L’idée c’est que si tout ce qui est synchro­nisé en ligne se retrouve aussi synchro­nisé sur le NAS, on peut se conten­ter de sauve­gar­der le NAS et reti­rer Crash­plan des portables.

    Je ne m’en sors pas pour moins cher, parce qu’au final j’ai basculé sur l’offre supé­rieure de Treso­rit (afin d’avoir plus d’es­pace) et que je risque aussi de lancer une offre Treso­rit payante pour rempla­cer le Drop­box gratuit du second portable. Au final ce que je vais payer c’est du stockage synchro­nisé en ligne.

    Si vous avez des besoins plus légers ou que vous êtes prêts à ne pas avoir de chif­fre­ment côté client sur l’offre de synchro de fichier, il y a des offres moins chères que Treso­rit.


    Pour l’ins­tant je garde Crash­plan sur le NAS. J’ai plusieurs To et Crash­plan est le seul fiable que j’ai vu à me propo­ser ça sans des prix déli­rants et sans solu­tion brico­lée à la main.

    Si toute­fois vous avez d’autres propo­si­tions à moins de 10 € par mois pour un petit NAS sous Linux (2 To grand mini­mum, chif­fre­ment côté client), je suis toute ouie.

  • 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.

  • Dis tonton, comment ça fonc­tionne la sécu­rité d’un gestion­naire de mots de passe ? — Intro­duc­tion cryp­to­gra­phique

    Il y a peut-être des erreurs, proba­ble­ment des mauvais termes, certai­ne­ment des fautes ou mauvaises formu­la­tions. Vous êtes bien­ve­nus à parti­ci­per en propo­sant des correc­tions.


    L’idée de base : Tous les mots de passe sont chif­frés. Personne d’autre que vous ne peut les relire sans votre accord. Ni le serveur sur lequel vous les envoyez, ni quelqu’un qui a accès au disque où vous les stockez, ni quelqu’un qui a ponc­tuel­le­ment accès à votre poste de travail.

    Chif­frer c’est simple.

    Pour chif­frer on a le choix. On va sépa­rer deux caté­go­ries prin­ci­pales de chif­fre­ment : les chif­fre­ments symé­triques et les asymé­triques.

    La plupart des gestion­naires de mots de passe ont choisi un chif­fre­ment symé­trique (une seule clef secrète qui sert à la fois à chif­frer et à déchif­frer). C’est simple à gérer, rapide à l’exé­cu­tion, et il n’y a pas besoin de clef de grande taille. Tous ceux que j’ai vu utilisent de l’AES avec une clef de 256 bits. Au moins pour Bitwar­den et Keepass, c’est le mode CBC, et un contrôle HMAC avec SHA256 comme fonc­tion de hachage (mais vous pouvez igno­rer tous ces détails s’ils ne vous disent rien).

    J’ai dit « la plupart des gestion­naires de mots de passe ». Un projet au moins a fait un choix diffé­rent. L’ou­til pass utilise un chif­fre­ment asymé­trique (une clef publique et une clef privée, l’une sert à chif­frer et l’autre à déchif­frer). Plus exac­te­ment, ils utilisent l’ou­til GnuPG. Même si le choix de la clef est libre, par défaut on y utilise géné­ra­le­ment une clef RSA de 2048 bits. Pass a fait ce choix en consi­dé­rant le partage de mots de passes comme la fonc­tion­na­lité prin­ci­pale. On verra pourquoi quand on parlera partage. Entre temps on va se concen­trer sur ceux qui font du chif­fre­ment symé­trique.

    Dans les deux cas, on est là dans de l’ul­tra-stan­dard au niveau cryp­to­gra­phie. Je serais étonné de voir autre chose ailleurs (et c’est une bonne chose).

    Une clef ? quelle clef ?

    Ok, nos mots de passe sont chif­frés mais où est la clef ?

    Impos­sible de deman­der à l’uti­li­sa­teur de se rappe­ler une clef de 256 bits. Ce serait plus de 40 signes entre minus­cules, majus­cules, chiffres et carac­tères spéciaux. Même avec une très bonne mémoire, ce serait ingé­rable à l’usage.

    Stocker la clef de chif­fre­ment en clair sur le disque n’est pas beau­coup mieux. Ce serait comme avoir coffre-fort haute sécu­rité dont on cache la clef sous le paillas­son.

    Ce qu’on demande à l’uti­li­sa­teur c’est un mot de passe prin­ci­pal. Vu qu’il va permettre de déchif­frer tous les autres, on va l’ap­pe­ler « mot de passe maître ». Il faut qu’il soit assez long et complexe pour éviter qu’un tiers ne puisse le devi­ner ou le trou­ver en essayant toutes les combi­nai­sons une à une, mais assez court pour pouvoir s’en rappe­ler et le taper sans erreur.

    Le mot de passe maître ne chiffre rien lui-même. Accom­pa­gné d’autres para­mètres, il sert à calcu­ler une clef de taille suffi­sante qui, elle, servira au chif­fre­ment décrit plus haut et qu’on va appe­ler « clef maîtresse ». La fonc­tion qui fait cette opéra­tion est dite fonc­tion de déri­va­tion de clef.

    Bitwar­den utilise le très clas­sique PBKDF2 avec un hachage SHA256. Pour faire simple on prend le mot de passe, on le mélange à une chaîne aléa­toire (stockée quelque part pour réuti­li­ser la même à chaque fois), et on opère la fonc­tion de hachage prévue. Norma­le­ment ça suffit pour avoir un résul­tat consi­déré comme rela­ti­ve­ment aléa­toire et impos­sible à remon­ter en sens inverse.

    En pratique on cherche aussi à ralen­tir quelqu’un qui cher­che­rait à tester tous les mots de passe possibles un à un. Pour ça on va simple­ment répé­ter l’opé­ra­tion précé­dente un certain nombre de fois. Chaque itéra­tion prend en entrée le résul­tat de l’étape précé­dente. Si je fais 10 itéra­tions, il faudra 10 fois plus de temps à un attaquant pour tester toutes les combi­nai­sons. Ici on consi­dère le résul­tat comme assez confor­table à partir de 100.000 itéra­tions.

    Keepass utilise une fonc­tion plus récente et consi­dé­rée comme plus robuste aux possi­bi­li­tés des maté­riels actuels : Argon2.

    Là aussi tout est très clas­sique. Je n’ai pas regardé tous les gestion­naires de mots de passe mais je serais étonné de trou­ver autre chose que ces deux solu­tions stan­dards.

    On résume

    À l’ou­ver­ture le gestion­naire de mots de passe vous demande votre mot de passe maître. À partir de ce mot de passe et de para­mètres prédé­ter­mi­nés, il utilise une fonc­tion de déri­va­tion de clef et en sort une clef maitresse.

    C’est cette clef maitresse qui permet de chif­frer ou déchif­frer vos mots de passe. Celui qui n’a pas accès à votre clef ne pourra rien faire des mots de passe chif­frés sur le disque.

    Sécu­rité

    À l’ou­ver­ture, le gestion­naire de mot de passe vous deman­dera votre mot de passe maître que pour calcu­ler la clef maîtresse à l’aide d’une fonc­tion de déri­va­tion de clef. Une fois ceci fait, il garde la clef maîtresse en mémoire et oublie le reste. Quoi qu’il se passe, personne ne connaî­tra votre mot de passe maître.

    Le logi­ciel utilise cette clef maîtresse pour chif­frer et déchif­frer vos mots de passe. Cette clef maîtresse n’est jamais écrite nulle part. La plupart des gestion­naires de mots de passe oublie­ront volon­tai­re­ment cette clef en mémoire après un certain temps d’inac­ti­vité, ou à la mise en veille de votre poste de travail. L’idée c’est de limi­ter le risque de lais­ser qui que ce soit d’autre que vous y avoir accès. Dans ces cas là, on vous invi­tera à saisir de nouveau votre mot de passe maître pour retrou­ver la clef oubliée.

    Une fois la clef maîtresse hors de la mémoire, vous n’avez que des blocs chif­frés que personne ne pourra déchif­frer sans le mot de passe maître. Pas même vous. Si vous oubliez votre mot de passe maître, vous ne pour­rez plus jamais relire ce que vous avez stocké. Même votre ami qui s’y connait ne pourra rien pour vous.

    Ne vous lais­sez toute­fois par leur­rer. On parle sécu­rité, chif­fre­ment, complexité des fonc­tions de déri­va­tion de clef, mais en réalité tout ça a peu d’im­por­tance comparé à votre mot de passe maître. C’est un peu comme un coffre-fort : Discu­ter du diamètre des barres de renfort n’a aucun inté­rêt s’il s’ouvre avec une combi­nai­son de trois chiffres seule­ment.

    S’il est possible de trou­ver votre mot de passe avec un nombre de tenta­tives limité, tout le reste ne servira à rien. « Limité » dans ce cas, ça dépasse la centaine de milliards de combi­nai­sons. Il vaut mieux un mot de passe maître complexe avec une fonc­tion de déri­va­tion simple qu’un mot de passe maître simple avec une fonc­tion de déri­va­tion complexe.

    Chan­ger le mot de passe

    Les plus alertes d’entre vous auront remarqué que si tout est déchif­fré indi­rec­te­ment à partir du mot de passe, chan­ger le mot de passe fait perdre l’ac­cès à tout ce qui est déjà chif­fré.

    Quand vous chan­gez votre mot de passe maître, Keepass déchiffre toutes les données en mémoire, calcule la nouvelle clef et rechiffre l’in­té­gra­lité des données. Même si vous gérez une centaine de mots de passe, c’est quelque chose qui se fait rapi­de­ment sans avoir besoin de vous faire patien­ter long­temps.

    Bitwar­den utilise lui une clef inter­mé­diaire tota­le­ment aléa­toire appe­lée clef de chif­fre­ment. C’est cette clef qui sert en réalité à chif­frer et déchif­frer les données stockées. Elle est elle-même chif­frée, à partir de la clef maîtresse, et stockée à côté des données.

    On a donc un mot de passe maître qui sert à calcu­ler une clef maîtresse. La clef maîtresse sert à déchif­frer la clef de chif­fre­ment. La clef de chif­fre­ment sert à chif­frer et déchif­frer les données sur le disque.

    Lorsqu’on veut chan­ger de mot de passe il suffit de chif­frer la clef de chif­fre­ment avec la nouvelle clef maitresse. Il n’y a pas besoin de rechif­frer chaque donnée (vu que la clef de chif­fre­ment ne change pas, elle).

    L’avan­tage n’est pas tant dans le temps gagné (peu signi­fi­ca­tif) mais dans la résis­tance aux accès concur­rents : On peut avoir plusieurs clients qui lisent et écrivent en paral­lèle des données diffé­rentes dans le même trous­seau sans crainte que l’un d’eux n’uti­lise encore une ancienne clef de chif­fre­ment et envoie des données illi­sibles par les autres.

    Et juste­ment, et si je partage ?

    Avec ce qu’on a vu jusqu’à présent, si je partage des mots de passe je dois aussi parta­ger la clef de chif­fre­ment utili­sée.

    Bitwar­den permet de parta­ger des mots de passe à un groupe de plusieurs personnes (appelé « orga­ni­sa­tion »). Au lieu d’être chif­frés avec ma clef de chif­fre­ment person­nelle, ces mots de passe sont chif­frés avec une clef de chif­fre­ment dédiée à l’or­ga­ni­sa­tion.

    Le gros enjeu n’est pas dans le chif­fre­ment mais dans comment trans­mettre cette clef d’or­ga­ni­sa­tion à chaque utili­sa­teur de l’or­ga­ni­sa­tion.

    Il faut un moyen pour que l’ad­mi­nis­tra­teur de l’or­ga­ni­sa­tion chiffre la clef d’or­ga­ni­sa­tion, me l’en­voie sur le serveur d’une façon que seul moi puisse la relire.

    Jusqu’à main­te­nant c’est impos­sible parce que nous utili­sons des clefs symé­triques. C’est la même clef qui sert au chif­fre­ment et au déchif­fre­ment. Si l’ad­mi­nis­tra­teur pouvait chif­frer avec ma clef, il pour­rait aussi déchif­frer tous mes mots de passes person­nels et ça c’est inac­cep­table.

    C’est donc ici qu’on reparle des clefs asymé­triques RSA. Chacun a une clef publique (diffu­sée à tout le monde) et une clef privée (garder secrète par chaque utili­sa­teur). La clef publique sert à chif­frer. La clef privée sert à déchif­frer. Tout le monde est donc capable de chif­frer quelque chose avec ma clef publique, mais seul moi pour­rait le déchif­frer.

    La clef RSA fait 2048 bits mais ne vous lais­sez pas impres­sion­ner, ces 2048 bits sont en fait moins robustes que les 256 bits d’AES.

    L’ad­mi­nis­tra­teur de l’or­ga­ni­sa­tion récu­père ma clef publique, chiffre la clef d’or­ga­ni­sa­tion à l’aide de ma clef publique, et envoie ça sur le serveur. Quand je voudrais chif­frer ou déchif­frer quelque chose dans l’or­ga­ni­sa­tion, je récu­père la clef d’or­ga­ni­sa­tion chif­frée avec ma clef publique, je la déchiffre avec ma clef privée, et je m’en sers dans mes opéra­tions de chif­fre­ment.

    Ok, mais il va me falloir sécu­ri­ser ma clef privée. On a déjà les outils pour ça, il suffit de la chif­frer ! Bitwar­den la chiffre donc avec la clef de chif­fre­ment, celle dont on a déjà parlé plus haut.

    On a donc un mot de passe maître qui sert à calcu­ler une clef maîtresse. La clef maîtresse sert à déchif­frer la clef de chif­fre­ment. La clef de chif­fre­ment sert à déchif­frer ma clef RSA privée. La clef RSA privée sert à déchif­frer la clef d’or­ga­ni­sa­tion. La clef d’or­ga­ni­sa­tion sert à chif­frer et déchif­frer les données.

    Pfiou! Ça semble long et complexe mais tout utilise toujours le même prin­cipe et la plupart de ces opéra­tions ne servent qu’à l’ini­tia­li­sa­tion logi­ciel quand vous le déver­rouillez.

    Rappe­lez-vous, votre clef de chif­fre­ment ne change pas quand vous chan­gez votre mot de passe. Pas besoin donc de chan­ger ou rechif­frer vos clefs RSA non plus.

    Et Pass alors ?

    Pass fait le choix de sauter tout le chif­fre­ment symé­trique et de n’uti­li­ser que l’asy­mé­trique. Un dépôt contient les clefs GPG de tous les membres (clefs publiques). Chaque fois qu’un mot de passe est chif­fré, il l’est avec toutes ces clefs. Quand un membre veut lire un des mots de passe, il le déchiffre avec sa propre clef privée.

    Quand on ajoute un membre, quand on change une clef, il faut tout rechif­frer.

  • Turbo boost swit­cher

    L’ami Anthony me donne le lien alors je le partage.

    Le petit utili­taire mac permet d’ac­ti­ver ou non la fonc­tion turbo boost. Le turbo boost c’est ce qui permet de faire tempo­rai­re­ment monter en puis­sance un cœur de votre proces­seur quand une appli­ca­tion en a ponc­tuel­le­ment besoin. C’est norma­le­ment magique, géré auto­ma­tique­ment par le système d’ex­ploi­ta­tion et le proces­seur.

    Forcé­ment ça a un coût. Outre que ça chauffe plus et ralen­tit voire désac­tive les autres cœurs du proces­seur, ça consomme aussi plus d’éner­gie donc dimi­nue l’au­to­no­mie quand on est sur batte­rie.

    Marco a trouvé une diffé­rence de 25% dans l’au­to­no­mie sur un test de sa concep­tion. Ce n’est pas rien, d’au­tant que pour un usage bureau­tique la diffé­rence dans l’ex­pé­rience utili­sa­teur est assez réduite.

    C’est là qu’in­ter­vient Turbo Boost Swit­cher. Le logi­ciel est capable de désac­ti­ver la fonc­tion turbo boost en fonc­tion de para­mètres comme la capa­cité restante sur la batte­rie, la présence d’une alimen­ta­tion secteur, ou l’uti­li­sa­tion de certaines appli­ca­tions que vous lui aurez dési­gné.

    L’idée me plait : privi­lé­gier l’au­to­no­mie aux perfor­mances quand je suis sur batte­rie ; ne pas toucher aux perfor­mance quand le portable est bran­ché sur secteur. Ça vaut bien les 10 € même si ça fonc­tionne moitié moins bien qu’an­ti­cipé.

  • Cet après-midi on parle gadgets USB-C

    Je prépare l’ac­cueil d’un macbook récent, tout en usb-c. Ces trucs là néces­sitent presque autant d’ada­pa­teurs qu’ils ne sont chers.

    De mon côté je crois avoir trouvé la perle avec l’adap­ta­teur multi­me­dia double de Sate­chi. Il prend deux espaces usb-c, coûte une centaine d’eu­ros, mais c’est aussi le seul que j’ai trouvé avec deux ports hdmi.

    Là j’ai donc mes deux écrans externes, mon alimen­ta­tion, de quoi bran­cher mon impri­mante et lire des cartes sd… et un seul bloc à bran­cher ou débran­cher à chaque fois que je bouge dans la maison — c’est à dire plusieurs fois par jours.

    Ça c’est à la maison. C’est proba­ble­ment un peu gros en dépla­ce­ment. Uni propose l’in­dis­pen­sable adap­ta­teur hdmi pour une quin­zaine d’eu­ros.

    Je n’ai trouvé que 2 lecteurs de carte sd usb-c compa­tibles uhs-ii : un sandisk à 25 € et un sate­chi à 40 €. Je ferai proba­ble­ment l’im­passe.