Categories
Programming Security

Stegano 0.7

Une nouvelle version de Stegano vient de pointer son nez. La principale nouveauté est le support d’unicode. Donc la possibilité de cacher des caractères avec un encodage UTF-8 (8 bits ou plus). Voici un exemple avec un encodage UTF-32 LE. Cela me donne envie de tester avec une option pour utiliser UTF-32 BE.

La seconde nouveauté, un peu moins importante, est l’introduction des type hints. J’y travail depuis quelques temps. Ce n’est qu’un début. Vous pouvez voir ce que ça donne ici.

Categories
Privacy Security

Encore un mot de passe en moins à retenir

Je ne connais plus le mot de passe de mon compte Google. L’accès à ce compte est maintenant également géré avec pass et ma Yubikey. Comme pour tous les autres services Web que j’utilise. pass permet donc de gérer les mots de passe (génération, modification, suppression, recherche, etc.) en ligne de commande. Lorsque j’ai besoin d’un mot de passe, il est stocké dans le presse-papier pendant 45 secondes. Je n’ai donc pas besoin de voir le mot de passe. Cela signifie que si je n’ai pas accès à mon ordinateur, je ne pourrai pas me connecter à tout une flopée de services Web (pour Google, mon téléphone y est toujours connecté…). Il est assez rare que je n’ai pas accès à mon téléphone ou à ma Yubikey.

Cela fait maintenant pratiquement un an que j’utilise l’authentification à deux facteurs avec une clé Yubikey Neo pour tous les services le permettant. Je trouve ceci plutôt pratique d’usage. J’en suis réellement satisfait.

J’augmente ainsi progressivement la sécurité de mes comptes liés à des services Web. Mon compte Google était le dernier à ne pas être géré avec pass. De nombreux autres comptes sont déjà gérés de la même manière depuis quelques temps (sans que je ne me soucis de retenir le mot de passe). Pour les identifiants moins importants comme par exemple ceux de ma banque ou de mon compte MesLacets.com. Et évidemment les plus importants comme ceux de Gandi et GitHub.

Categories
Security

Support natif de HTTPS chez AlwaysData

Cela fait maintenant plus de 6 ans que j’utilise AlwaysData et je suis toujours aussi content du service. Et même régulièrement surpris. La dernière fois fût hier soir lorsque je me suis rendu compte que AlwaysData supporte maintenant HTTPS de manière totalement transparente.

Comme vous le savez, j’utilise un certificat CAcert pour *.cedricbonhomme.org et un certificat Let’s Encrypt pour cdn.cedricbonhomme.org (héberge le bundle React de Newspipe). J’aurai pu utiliser Let’s Encrypt pour mes autres sous-domaines, mais les wildcard ne sont pas supportés par Let’s Encrypt. En conséquence, j’aurai dû générer à la main les certificats de chaque sous-domaine. Et renouveler les certificats tous les 90 jours. C’est un peu trop contraignant pour un serveur partagé.

Maintenant ces problèmes font partie du passé, puisqu’un certificat Let’s Encrypt est automatiquement généré par AlwaysData pour chaque sous-domaine. Le renouvellement des certificats est également effectué automatiquement. Il n’y a rien à faire.

Vous me direz que je ne contrôle plus grand-chose à ce niveau. C’est vrai. Mais je peux toujours importer mon certificat, qui sera utilisé en priorité. Et je pense que pour mettre à jour mon blog ou mon wiki, un certificat Let’s Encrypt géré automatiquement est déjà suffisant. Ce serait différent si j’avais mon serveur physique chez moi. Et en ce moment j’ai plutôt envie de continuer à utiliser AlwaysData.

Categories
Security

De l’utilité de l’authentification à deux facteurs

Si le récent piratage de Yahoo ne vous a toujours pas convaincu d’utiliser l’authentification à deux facteurs (2FA), cette histoire peut vous convaincre. Il s’agit du piratage d’un compte GitHub. Le compte piraté a accès à du code privé de l’entreprise Heroku. La personne en question utilisait dnsimple avec un simple mot de passe. L’attaquant a pu ainsi modifier le champ MX (pour le serveur SMTP) du DNS afin de réceptionner l’email de récupération de compte GitHub. Technique connue et en plus simple.

J’utilise une authentification à deux facteurs avec tous les services Web qui me le permettent, si possible avec ma YubiKey.

Yahoo comme GitHub permettent ce type d’authentification. GitHub avec une clé. En général, lorsqu’un service Web que j’utilise ne propose pas cette sécurité, j’envoie un email pour demander si ils prévoient de l’ajouter.

Categories
Cryptography Security

Yubikey Neo

Ça fait quelque temps maintenant que je teste la Yubikey Neo. Mon objectif était de renforcer l’authentification à certains services Web. J’utilise également cette clé pour déverrouiller mon téléphone lorsque je ne suis pas chez moi, raison pour laquelle j’ai opté pour la Neo qui peut dialoguer via NFC.

Actuellement les services Web me permettant d’utiliser cette clé sont Google, GitLab, GitHub et Bitbucket. Aussi possible avec WorPress via une extension. C’est déjà pas mal, mais insuffisant.

Par la même occasion, j’ai décidé d’améliorer ma gestion des mots de passe. J’utilise maintenant le logiciel pass. Mes navigateurs ne contiennent pratiquement plus de mots de passe. Ce logiciel utilise GPG pour chiffrer vos mots de passe. Du coup, il peut être très intéressant de déplacer votre clé privé sur votre Yubikey. Les mots de passe gérés par pass peuvent aussi se trouver dans un dépôt Git, ce qui est pratique si vous acceptez de stocker ce genre d’information sur des serveurs.

Voilà, pour l’instant je suis fan de Yubikey.

Categories
Security

Sécurité de votre compte Google

L’authentification en deux étapes de Google a été améliorée.

Je trouve que c’est plutôt une bonne nouvelle. Le seul hic est que ça ne passe pas par le réseau GSM mais par la connexion data.

Ça fait longtemps que je veux tester une clé comme la YubiKey. C’est peut être le moment.

Categories
Cryptography Security

Gérer son identité avec Namecoin

Comment gérer son identité en ligne ? Une question récurrente, y compris sur ce blog. Évidemment, nous avons besoin de cryptographie. Dans un billet précédent j’avais présenté le service Keybase (mon profil, accès sans Tor) qui est génial pour un tas de raisons. Par exemple, ceci permet de prouver mon identité sur le réseau GitHub:

$ keybase id cedricbonhomme@github
▶ INFO Identifying cedricbonhomme
✔ public key fingerprint: 55F5 D60E EFCA 3591 0089 18E7 A1CB 94DE 57B7 A70D
฿ bitcoin 1GVmhR9fbBeEh7rP1qNq76jWArDdDQ3otZ
✔ "cedricbonhomme" on hackernews: https://news.ycombinator.com/user?id=cedricbonhomme [cached 2016-04-03 10:13:45 CEST]
✔ admin of www.cedricbonhomme.org via HTTP: http://www.cedricbonhomme.org/keybase.txt [cached 2016-04-03 10:13:45 CEST]"cedricbonhomme" on github: https://gist.github.com/e8cba56e5b85517c6758 [cached 2016-04-03 10:13:45 CEST]

La preuve, générée avec ma clé privée, est donc ici. Le défaut est que nous dépendons d’un service et qu’une connexion Internet est nécessaire.

Une autre possibilité est d’utiliser Namecoin. Namecoin est une base de données clés-valeurs distribuée basée sur Block chain et utilisant les preuves de travail. Il est donc possible de stocker des informations dans cette base de données (ce qui permet par exemple d’avoir une alternative au DNS).

Pour ça, il va falloir payer avec des Namecoins. Soit directement en achetant des Namecoins, soit en minant (je ne pense pas qu’aujourd’hui ce soit encore facilement possible) ou en échangeant des Bitcoins. J’ai choisi d’échanger quelques Bitcoins (on peut voir la transaction ici). J’ai ensuite pu demander l’enregistrement du nouveau champ cedric dans l’espace de noms id. Une fois que cette transaction sera confirmée (quelques heures d’attente), j’ai pu mettre à jour ce nom avec des informations au format JSON (ce format n’est pas obligatoire).

$ namecoind name_filter id/cedric
[
{
"name" : "id/cedric",
"value" : "{\"name\":\"Cedric Bonhomme\",\"email\": \"cedric+namecoin@cedricbonhomme.org\", \"weblog\":\"https://www.cedricbonhomme.org\",\"GitHub\":\"https://github.com/cedricbonhomme\",\"photo_url\":\"https://www.cedricbonhomme.org/cedricbonhomme.png\",\"gpg\":\"55F5 D60E EFCA 3591 0089 18E7 A1CB 94DE 57B7 A70D\"}",
"expires_in" : 35997
}
]

Pourquoi ce format ? Car il existe un site Web qui index l’espace de noms /id: OneID (Génial !). Ce qui permet d’avoir une petite interface Web pour consulter ces informations et évite d’utiliser la commande name_filter de Namecoin.

Categories
Security

Vérification de signature GPG sur GitHub

GitHub-Git-Signature

Voici une fonctionnalité que j’attendais depuis longtemps. Certainement bientôt disponible sur GitLab 😉

Categories
Security

Ricochet

Je teste le nouveau système de messagerie instantanée Ricochet, basé sur Tor.

Ricochet est multi-plateforme et simple à installer. En fait il n’y a pas vraiment d’installation. Le client Tor y est même bundlé (pour l’instant je ne peux donc pas usiter le client Tor tournant déjà sur mon ordinateur. Comme avec le Tor Browser).
Le logiciel est aussi très simple à utiliser, je dirais même plus simple qu’un logiciel de messagerie quelconque.
Ces critères sont importants afin qu’une technologie ayant pour but de protéger la vie privée soit réellement utilisée.

Un des avantages est que Ricochet n’utilise pas de méta-données (émetteur, destinataire, etc.) non chiffrées pour fonctionner. De plus, les adresses Ricochet ne sont pas trop longues (un exemple: ricochet:qjj5g7bxwcvs3d7i). Elles sont mêmes plus courtes que les adresses Bitmessage.

Si vous le voulez, je peux vous donner mon adresse.

Categories
Security

Ransomware as a Service

Trouvé via le blog de Bruce Schneier, Tox, une plateforme de ransomware. C’est énorme. Et nous ne sommes même pas le premier Avril.

Vous pouvez visiter le site de Tox en passant par Tor.