Gnupg : du symétrique dans l’asymétrique


Suite au récent changement général de clés opéré au sein de Debian, j’en avais profité pour également changer ma clé et m’intéresser d’un peu plus près à Gnupg.

C’est en fouillant un peu que j’étais tombé sur le menu suivant :

Command> showpref

[ultimate] (1). Carl Chenet <chaica@ohmytux.com>

Cipher: AES256, AES192, AES, CAST5, 3DES

Digest: SHA1, SHA256, RIPEMD160

Compression: ZLIB, BZIP2, ZIP, Uncompressed

Features: MDC, Keyserver no-modify

Hmm, AES, mais c’est un algorithme de chiffrement symétrique ça.

En fait après lecture de la documentation de Gnupg, il s’avère que pour chaque chiffrement, Gnupg chiffre les données avec un algorithme de chiffrement symétrique, ici l’AES256, à l’aide d’une clé partagée entre l’émetteur et le receveur. Cette clé ne sera utilisée que pour cet échange (on l’appelle aussi clé de session). Et c’est cette clé de session qui sera chiffrée avec un algorithme de chiffrement asymétrique avant d’être communiquée au receveur, ledit chiffrement asymétrique réalisé à l’aide de la clé publique du receveur. Le mode de chiffrement adopté par Gnupg est donc hybride, mélange chiffrement symétrique et asymétrique.

Ce qui nous est assuré ainsi, c’est qu’au pire l’algorithme de chiffrement asymétrique (le plus faible des deux selon la documentation Gnupg) compromis, seul le message actuel serait compromis, l’attaquant étant obligé de redéchiffrer une nouvelle clé de session pour accéder à un nouveau message. On est bien sûr déjà dans un cas extrême.

Documentation de Gnupg sur le sujet

Vus : 456
Publié par Carl Chenet : 277