Étiquette : password

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

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

  • Lais­ser les clefs en partant

    Une version plus récente a été mise en ligne en 2024


    J’ai déjà parlé de testa­ment numé­rique une ou deux fois ici. J’ai déjà vue une amie devoir appe­ler à l’aide pour se récu­pé­rer pas à pas une maigre partie de la vie numé­rique à la dispa­ri­tion de son mari.

    On trouve toujours une solu­tion à tout ce qui est admi­nis­tra­tif mais ça peut être une diffi­culté supplé­men­taire à un moment qui n’est déjà pas le plus simple.

    À la maison c’est tout le reste qui risque de poser problème. On parle de toute la pape­rasse numé­ri­sée ou de tout l’his­to­rique de 15 ans de photos. J’uti­lise des mots de passe complexes, diffé­rents à chaque fois, et je chiffre tous mes disques. Autant dire que si je pars tout devien­dra assez rapi­de­ment illi­sible malgré les meilleurs efforts de mes amis.

    Je ne vois pas d’autres solu­tions que de lais­ser le double de mes clefs au crochet avant de partir.


    La solu­tion elle est connue depuis long­temps, j’avais déjà parlé du prin­cipe du secret de Shamir il y a quelques années mais j’ai procras­tiné. Ce n’est jamais le bon moment pour penser à la mort.

    J’ai pris mon courage à deux mains, je vous propose ce qui est en cours, en espé­rant l’en­ri­chir par vos commen­taires ou aider quelques autres personnes à faire leur propre chemin.


    Le secret de shamir

    Le prin­cipe est assez simple. C’est un calcul mathé­ma­tique qui permet de divi­ser un secret en plusieurs parties. Chaque partie est illi­sible indé­pen­dam­ment mais permet de recons­ti­tuer le secret initial si on en met un certain nombre ensemble.

    Je peux par exemple dire « je divise ce secret en cinq parties qui seront chacune déte­nue par des personnes diffé­rentes, pour recons­ti­tuer le secret initial il faudra la colla­bo­ra­tion d’au moins trois personnes sur les cinq ».

    Il y a plusieurs logi­ciels pour cela. La vraie contrainte est d’en trou­ver un qui sera utili­sable dans 5 ou 10 ans. Je suis parti sur ssss de B. Poet­te­ring : Le logi­ciel a déjà 12 ans, open source, présent sur les diffé­rentes distri­bu­tions Linux, et a quelques fork visibles. La dura­bi­lité semble acquise. J’avais hésité avec libgf­share qui partage à peu près les mêmes carac­té­ris­tiques de vie.

    Les desti­na­taires

    Les nombres de trois et cinq dans mon exemple précé­dent sont des choix arbi­traires. Trois c’est permettre d’avoir assez de résis­tance pour que le secret ne fuite pas trop faci­le­ment, que ce soit par malveillance, par la trom­pe­rie d’un tiers, ou simple­ment par négli­gence. Cinq c’est le mini­mum pour permettre d’avoir au moins deux personnes injoi­gnables le jour où on en a besoin.

    Plus de cinq n’est pas si simple : Il faut des gens en qui j’ai totale confiance au point de leur lais­ser les clefs de ma vie numé­rique, qui ne vont pas en faire mauvais usage, qui ne vont pas lais­ser d’autres en faire mauvais usage, qui ne vont pas lais­ser trai­ner leur secret par négli­gence mais qui vont en assu­rer la péren­nité sur poten­tiel­le­ment des années. Au delà, il faut idéa­le­ment des gens que connait bien ma femme pour que prendre contact ne soit pas une diffi­culté supplé­men­taire au mauvais moment, et qu’ils soient suffi­sam­ment au fait des ques­tions tech­no­lo­giques pour que leur aide ne se limite pas à « tiens, j’ai un papier à te donner » mais soit plus proche de « prends soin de toi, on s’oc­cupe de tout ». Et puis j’ai­me­rais éviter de faire porter ce poids à cinquante amis.

    En ce moment je les contacte pour leur deman­der leur accord. C’est quand je vois les réponses posi­tives que je me rends compte que j’ai choisi les bons.

    Le secret

    Impos­sible de lister les centaines de mots de passe et comptes que je peux avoir partout. Même en limi­tant à ce qui est impor­tant, je crains que les mots de passe ne changent d’ici à ce que ça serve, ou qu’il y en ait de nouveaux.

    Je vais lais­ser le mot de passe de ma boite email, de mon poste de travail, du serveur NAS avec toutes les photos, de mon espace de sauve­garde et quelques autres trucs du genre mais c’est plus pour avoir cein­ture et bretelles.

    L’idée c’est surtout que je partage le mot de passe et les iden­ti­fiants de connexion de mon gestion­naire de mots de passe. Norma­le­ment tout est faisable à partir de là. Aujourd’­hui c’est du Bitwar­den. Je ne sais pas si la société est vrai­ment pérenne mais le code est open source et il y a déjà des clones, donc j’ai bon espoir de ne pas avoir à renvoyer un nouveau secret vers un autre système dans six mois.

    C’est aussi dans Bitwar­den que je peux lais­ser une note avec tout ce que je veux dedans comme infor­ma­tions et procé­dures, et la mettre à jour quand je veux sans savoir à géné­rer et envoyer un nouveau secret à tout le monde.

    Le docu­ment

    Le secret lui même est donc très court, juste quelques mots de passe. Il n’est de toutes façons pas possible d’al­ler au delà de 1024 carac­tères ASCII avec ssss.

    Je compte mettre ça dans un beau docu­ment PDF A4 que mes desti­na­taires peuvent à la fois garder dans leurs archives numé­riques et impri­mer pour leurs archives papier plus durables (même les geeks foirent leurs sauve­gardes numé­riques).

    Dans ma tête je me dis qu’il faudra joindre les amis formel­le­ment une fois par an pour leur deman­der de véri­fier qu’ils n’ont pas perdu leur propre partie du secret et voir s’ils ont changé de coor­don­nées. En pratique je ne sais pas si je ferais ça aussi sérieu­se­ment qu’il le faudrait, donc je consi­dère que le docu­ment doit tout conte­nir.

    Au delà de leur partie du secret, ce docu­ment réca­pi­tule un peu tout ça : À quoi ça sert, quels sont les autres desti­na­taires à joindre et à quelles coor­don­nées (email, télé­phone, adresse postale, éven­tuel­le­ment adresses élec­tro­niques), mais aussi comment recons­ti­tuer le secret origi­nal (nom et adresse du logi­ciel, procé­dure) et ce que j’at­tends d’eux.


    Un peu d’aide

    Ce billet est déjà trop long. Je vous propo­se­rai peut-être une suite avec le texte exact du docu­ment en ques­tion, pour aider les suivants à faire le leur.

    Entre temps je veux bien vos commen­taires pour avan­cer, ou quelques détails sur ce que vous avez mis en place de votre côté.

  • Mes données dans une parti­tion chif­frée sous Linux

    Je cherche essen­tiel­le­ment à me proté­ger de quelqu’un qui vole­rait mon disque après s’être intro­duit chez moi. Je garde donc une parti­tion en clair pour le système prin­ci­pal et je mettrai les données sur une parti­tion chif­frée que je monte manuel­le­ment.

    Certaines docu­men­ta­tions proposent de mettre la clef de chif­fre­ment sur un petit stockage USB mais ça ne me semble pas perti­nent pour la menace dont je cherche à me proté­ger.

    J’ai une pass­phrase dans mon gestion­naire de mots de passe et ça me suffira. Je ne compte pas m’en servir souvent de toutes façons. Avan­tage supple­men­taire par rapport à la version sur USB : Je peux me connec­ter en SSH et monter la parti­tion à distance pour peu que je ne craigne pas que quelqu’un se soit intro­duit sur ma parti­tion système entre temps.

    Des docu­men­ta­tions je retiens le chif­fre­ment de blocs avec luks, et le fait de bien passer par crypt­se­tup plutôt que de tout gérer à la main.

    Je reco­pie ici mes quelques commandes mais c’est tout bien expliqué sur la docu­men­ta­tion crypt­se­tup du wiki Ubuntu.

    Créa­tion

    sudo apt install cryptsetup
    sudo cryptsetup luksFormat -c aes -h sha256 /dev/sda4
    sudo cryptsetup luksOpen /dev/sda4 data
    sudo mkfs.ext4 -L data /dev/mapper/data
    sudo mkdir /mnt/data
    sudo echo "data /dev/sda4 none luks,noauto,quiet" >> /etc/crypttab
    sudo echo "/dev/mapper/data /mnt/data ext4 rw,nosuid,exec,noauto,async,user,noatime,nodiratime 0 0" >> /etc/fstab
    sudo mount /mnt/data

    La pass­phrase vient du géné­ra­teur aléa­toire de mon gestion­naire de mot de passe. J’ai cher­ché un inter­mé­diaire entre « le plus long possible » et « si ça se trouve j’au­rais à la taper à la main un jour ». En temps normal ce ne sera que des copier/coller donc ça ira.

    Script de montage

    #!/bin/bash
    # /usr/local/sbin/mount.data
    cryptsetup luksOpen /dev/sda4 data
    mount /mnt/data

    Script de démon­tage

    #!/bin/bash
    # /usr/local/sbin/umount.data
    umount /mnt/data
    cryptsetup luksClose data

    Je l’ai créé mais j’avoue que je vois mal dans quel cas je vais avoir envie de démon­ter ma parti­tion sans arrê­ter tota­le­ment le système (et dans ce cas ça sera fait tout seul sans mon inter­ven­tion de toutes façons).

  • Un espace de publi­ca­tion chif­fré côté client

    Je ne veux plus gérer de serveur en ligne. Je me sens de moins en moins capable d’as­su­rer la sécu­rité d’un tel envi­ron­ne­ment 24/7 seul et sur mon temps person­nel. Je n’en ai pas la moti­va­tion, ne souhaite pas y inves­tir le temps néces­saire. Ne parlons même pas de la possi­bi­lité de prendre des congés deux semaines hors de France sans connexion Inter­net ni veille sécu­rité. Rien qu’a­voir ce blog sous word­press me gêne.

    Je vais dépla­cer mes services sur un envi­ron­ne­ment mutua­lisé, géré par des profes­sion­nels qui ont les moyens, le temps et les compé­tences. Je vais en profi­ter pour passer à peu près tout en fichiers HTML statiques. Publier des fichiers html, css et images sur un espace à 2€, ça limite pas mal la main­te­nance.

    * * *

    Mon problème c’est que j’ai aussi des parties de site à accès restreint, avec des docu­ments qui ne doivent pas sortir n’im­porte où.

    Je peux faci­le­ment trou­ver un héber­ge­ment mutua­lisé qui me permet de faire des accès restreints par authen­ti­fi­ca­tion HTTP ou avec un bout de PHP en façade, mais j’ai une confiance limi­tée dans la confi­den­tia­lité des fichiers que je peux poser sur un héber­geur mutua­lisé.

    Du coup j’ima­gine utili­ser du chif­fre­ment côté client, avec un croi­se­ment entre Jekyll/Peli­can et 0bin/cryp­to­pad. Je chiffre les conte­nus lors de la géné­ra­tion et je les envoie chif­frés sur l’hé­ber­ge­ment. Les conte­nus sont déchif­frés dans le navi­ga­teur du client avec un gros bout de JS, en utili­sant un dérivé de mot de passe ou une clef cachée dans l’URL.

    Le seul défaut que je vois c’est inter­dire l’ac­cès à ceux qui désac­tivent volon­tai­re­ment Javas­cript, et impo­ser un peu d’at­tente aux autres pour déver­rouiller les conte­nus : Pas idéal, pas perti­nent pour tous les usages, mais ici ça me semble accep­table.

    * * *

    Il y a 0bin et Cryp­to­pad (ainsi que d’autres) qui fonc­tionnent un peu sur ce prin­cipe, mais bran­cher ça dans Jekyll ou Peli­can me semble néces­si­ter un peu de travail, surtout si je veux avoir plus que du texte et que je veux présen­ter à l’uti­li­sa­teur unique­ment les liens auxquels il a accès.

    Si vous connais­sez un CMS à publi­ca­tion statique qui a envi­sagé quelque chose du genre, je suis preneur.