Archive for août, 2015


(An english version of this post is available.)

Le 6 Juin 2015, je me suis généré une nouvelle clé PGP, dont l’empreinte est D4B08488 03E7D7AF F9DB90E2 4EB88CD9 57312C28.

J’utilise encore à ce jour ma clé historique, à savoir celle dont l’empreinte est E05CDFED D9B6DC33 6B23B510 27FFC627 78A363DF, mais je prévois de la révoquer d’ici environ un an.

J’ai resigné avec ma nouvelle clé toutes les clés que j’avais signé auparavant.
Pour faciliter l’authentification de ma nouvelle clé, mes deux clés sont signées mutuellement. Vous bénéficierez de la toile de confiance via ma clé actuelle, en attendant de signer ma nouvelle clé.

Voici les raison qui expliquent pourquoi j’ai décidé de me lancer:

Ma clé actuelle est vieille

Elle a 4 ans et demi, et je ne souhaite pas utiliser des clés qui ont plus de 6 ans, ce qui représente déjà une durée de vie importante pour une clé cryptographique.

Le risque associé à l’utilisation de vieilles clés tient au risque croissant avec le temps qu’un adversaire arrive à trouver la partie privée de votre clé.

Je voulais disposer d’une clé plus solide depuis un moment

Ma clé actuelle est une clé RSA de 2048 bits, et je souhaitais me générer une clé plus solide depuis un moment.

Je n’ai pas basculé vers la cryptographie sur courbes elliptiques, car les versions de gnupg 2.1 ne sont pas encore suffisament diffusées pour avoir un support correct, les cartes openpgp ne supportent pas les clés ECC, et je ne veux pas monter une configuration pour utiliser une carte PKCS#11 avec gnupg.

J’ai renouvellé ma carte à puce

Afin d’assurer une sécurité optimale, le stockage de clés privées ne devrait jamais se faire à l’extérieur d’une carte à puce. Ci-dessous, une photo du matériel que j’ai utilisé jusqu’à maintenant (carte à puce format ISO 7816 et un lecteur expresscard54).

De nos jours, d’une part, les slots Expresscard 54 se font de plus en plus rares sur les PC portables, à cause des contraintes de poids, et de volume des nouvelles gammes de matériel. Conserver une carte à puce au format ISO 7816 devient contraignant, car je devrais transporter un lecteur de cartes externe en permanence avec ma carte à puce.

D’autre part, j’utilise fréquemment ma carte à puce à la fois pour les opérations communes avec GPG, et pour l’authentification SSH, et je souhaitais remplacer mon matériel avant d’être victime d’une panne par usure de la mémoire interne.

En prenant en compte les deux points en supra, repartir sur de la carte à puce au format classique n’était pas envisageable, et je me suis donc tourné vers un format type « clé USB ».

Le format « dongle USB » est meilleur

J’ai rentenu le lecteur Gemalto Usb shell token V2 (cf. image en infra), pour sa légèreté, ses dimensions compactes, sa solidité, et parce qu’il est supporté nativement par une gamme large d’OS, avec le support des APDUs étendues (configuration plus simple).

A l’intérieur de dongle, j’ai installé une carte OpenPGP version 2.1, que mon fournisseur vend prédécoupée au format mini-SIM (si vous souhaitez vous équiper, n’hésitez pas à consulter sa boutique en ligne).

Depuis que Feitian a arrêté son contrat de revente avec gooze, c’est la meilleure solution que j’ai trouvé. A ce propos, j’ai constaté que gooze a mis la clé sous la porte.

Le résultat est assez propre une fois assemblé comme en témoigne la photo ci-dessus. J’ai ajouté un petit logo « GnuPG » entre la puce et la paroi du pour ne pas confondre ce dongle avec un autre que j’utilise déjà.

Pour les gens paranos qui souhaiterais authentifier la source de cet article, vous pouvez télécharger cette archive qui contient une version texte de cet article, et signé avec mes deux clés PGP. N’hésitez pas à poser vos questions en commentaire.

Publicités

(Une version française de cet article est disponible)

On July 6th, 2015, I’ve generated a new PGP key, which fingerprint is D4B08488 03E7D7AF F9DB90E2 4EB88CD9 57312C28.

As for now, I’m still using my historical key as my primary key (E05CDFED D9B6DC33 6B23B510 27FFC627 78A363DF), but I’m planning to revoke my current main key in approximately a year.

All keys I have signed in the past have already been resigned with my new key. My two keys are cross-signed to confirm mutual ownership, and to keep a trust path, as long as my current key is not revoked.

Here are the main reasons why I decided to engage in such a mess:

My current main key is old

It’s nearly 4 and a half year old, and I don’t wish to use keys that are more that 6 years old (which is already a long life for crypto keys).

The more time elapses from the time you begin using a crypto key, the higher is the risk that an attacker could have found your private key.

I’ve wanted to get a stronger key for a while

My current key is 2048 bits long, using RSA, and I’ve been wanting to generate a stronger key for while. On the opportunities to switch to elliptic curve keys, I’ve decided not to migrate for now, as gnupg 2.1 adoption is still marginal, and OpenPGP smart card v2.1 smart cards do not support ECC keys, and I didn’t want to bother setting up a PKCS#11 card with gnupg to manage my keys.

I’ve renewed my smart card

For serious cryptographic operations, one shouldn’t store private keys outside a smartcard. Here is a photograph of the hardware I’ve been using to store my PGP key so far.

Nowadays, from one hand, Expresscard 54 slots are being scarcer and scarcer, as laptops dimensions and weight are shrinking, so keeping the ISO 7816 form factor is being more and more problematic, as I’d have to keep a smart card reader all the time with me on some hardware. The picture above this paragraph features an expresscard-54 smart card reader.

From another hand, I’ve been using extensively my smart card both for PGP and SSH authentication, and I was willing to replace my card before being victim of a wearout failure.

Considering those two reasons, re-using the same smart card isn’t an option.

The USB dongle a better form factor.

I’ve selected the Gemalto Usb shell token V2 reader (picture below related), which is light, compact, pretty solid, and natively supported by a wide range of recent OSes, with extended APDUs. The smart card inside, an OpenPGP card v2.1, is retailed in pre-cut mini SIM form factor by my dealer (you should check his shop if you wish to purchase smart cards from europe).

This is the cleanest alternative I’ve found so far since Feitian decided to break their trading agreement with Gooze. I’ve just checked out Gooze website, and it seems that  they’re now closed.

The assembled result is pretty neat. I’ve put a small « GnuPG » logo between the card and the case in order not to mistake it with another dongle I already use.

For paranoid people that would like to authenticate the source of this article, you can find a text-only version of this article signed with my two keys in this archive. Feel free to comment if you have any questions on the hardware I use.