summaryrefslogtreecommitdiff
path: root/Et_paf_le_SHA1.txt
blob: 1ed631effb8e27f7a0e7fe95bf12bcb664f13302 (plain)
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)