1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
Titre: Et paf le SHA-1!
Auteur: gouttegd
Date: Thu 23 Feb 2017 19:12:58 +0100
Lien: https://linuxfr.org/users/gouttegd/journaux/et-paf-le-sha-1
Un journal bookmark pour annoncer la première collision SHA-1[1].
Concrètement, des chercheurs du Centrum Wiskunde & Informatica[2] (institut
néerlandais de recherche en mathématiques et informatique) et de Google sont
parvenus à fabriquer deux fichiers PDF dont le contenu diffère mais dont le
condensat SHA-1 est identique.
Si les auteurs expliquent brièvement en quoi Git (qui repose sur SHA-1 pour
l’identification des blobs et des commits contenus dans un dépôt) est impacté,
ils ne s’attardent pas en revanche sur OpenPGP, ce que je vais donc faire ici.
SHA-1 est actuellement utilisé au « cœur » de OpenPGP, pour le calcul des
empreintes des clefs en version v4. Ce dont on a besoin pour ce type
d’utilisation est la résistance aux attaques sur la seconde pré-image (étant
donné le condensat d’une clef, trouver une autre clef donnant un condensat
identique). La résistance aux collisions n’est pas critique ici et vos clefs
OpenPGP ne sont donc pas menacées par le résultat rapporté ci-dessus.
Notez qu’une mise à jour du standard OpenPGP est nécessaire pour changer
l’algorithme utilisé pour les empreintes de clef, ce n’est pas une décision
qu’une implémentation peut prendre unilatéralement. Et le groupe de travail
OpenPGP à l’IETF travaille précisément en ce moment sur une nouvelle version du
RFC 4880, qui devrait probablement déboucher sur un nouveau format de clef v5
utilisant un autre algorithme de condensation (de la même façon que le format
v4, utilisant SHA-1, avait remplacé le format v3, utilisant MD-5).
L’autre utilisation possible de SHA-1 dans le monde OpenPGP est bien entendu
les signatures (de clefs, de messages, de documents). Là, la résistance aux
collisions est nécessaire, faute de quoi un attaquant pourrait vous faire
signer un document A et faire valoir la signature sur un autre document B
(comme les deux fichiers PDF générés par l’équipe de recherche).
À ce sujet, je tiens à rappeler que toutes les versions de GnuPG publiées
depuis 2010 utilisent par défaut, pour les signatures, SHA-256 et non plus
SHA-1. Vous n’avez donc pas besoin, contrairement à ce qu’on peut lire sur des
tutos obsolètes, d’ajouter d’options du style cert-digest-algo ou
personal-digest-preferences à votre fichier ~/.gnupg/gpg.conf.
Ce que vous pouvez avoir à faire en revanche, c’est mettre à jour la liste des
algorithmes de condensation préférés associé à votre clef : si vous l’avez
générée avec une version de GnuPG d’avant 2010, SHA-1 figure probablement
toujours en tête de cette liste.
Éditez votre clef OpenPGP et utilisez la commande showpref pour afficher les
listes d’algorithmes préférés :
$ gpg2 --edit-key alice@example.org[...]
gpg> showpref[ultimate](1). Alice <>alice@example.org>
Cipher: Cipher: AES, AES192, AES256, TWOFISH, CAST5, 3DES
Digest: SHA256, SHA512, SHA224, SHA384, SHA1
Compression: ZLIB, BZIP2, ZIP, Uncompressed
Features: MDC, Keyserver no-modify
Ici, SHA-1 (dans la liste Digest) est en queue de liste, tout va bien.
Si jamais SHA-1 apparaît en tête de liste, utilisez simplement la commande
setpref (sans arguments) pour mettre à jour les préférences en utilisant les
algorithmes par défaut recommandés par les versions récentes de GnuPG.
Télécharger ce contenu au format Epub[3]
Lire les commentaires[4]
Liens:
[1]: https://shattered.io/ (lien)
[2]: https://www.cwi.nl/ (lien)
[3]: https://linuxfr.org/users/gouttegd/journaux/et-paf-le-sha-1.epub (lien)
[4]: https://linuxfr.org/users/gouttegd/journaux/et-paf-le-sha-1#comments (lien)
|