Vous êtes sur le site public du Cert-IST
PGP et les clés scindées ("key splitting")

Date :11 Juillet 2005

Publication: Article

PGP de NAI offre une fonctionnalité permettant de scinder une clé (mécanisme de " key splitting "), et d'associer un groupe d'individus à cette clé. Ainsi, la signature d'un message, le chiffrement ou bien le déchiffrement d'un message avec cette clé seront conditionnés par l'authentification et donc l'approbation de chacun des membres du groupe.

L'authentification de chaque individu se fait via une passphrase, et ce mécanisme peut être réalisé soit en local (toutes les personnes impliquées dans le traitement du message s'authentifient sur la machine locale), soit à distance (les utilisateurs sont chacun sur leur poste ; les données transmises pour se " synchroniser " sont alors chiffrées).

Un vulnérabilité a été découverte sur PGP 7, permettant d'effectuer une utilisation abusive de cette fonctionnalité. En effet, ce mécanisme est censé garantir que chaque individu impliqué dans le partage de la clé doit apporter explicitement son approbation pour chaque opération réalisée avec cette clé.

Or PGP inclue un mécanisme de cache de passphrase, et si ce cache est activé, il le sera aussi pour la fonctionnalité de clés scindées.

L'utilisateur malicieux " Jean " peut donc dérouler un scénario comme suit :

Jean et Paul ont chacun une part de clé scindée, et ces deux parts déverrouillent la clé.

Jean demande à Paul de fournir sa part, afin de chiffrer un document donné. Paul est d'accord pour autoriser ce chiffrement, il s'authentifie et le document peut donc être chiffré par Jean.

Or Jean a activé le cache de passphrase sur son poste, donc à partir de cet instant, Jean peut disposer de la clé scindée comme bon lui semble, sans que l'authentification soit à nouveau demandée à Paul. Jean peut donc signer, chiffrer ou déchiffrer des messages à l'insu de Paul, tout en utilisant leur identité commune.

En l'état, le comportement de PGP est donc trop permissif, et n'apporte pas toutes les garanties pour considérer la fonctionnalité de " key splitting " comme sûre. Cela est à prendre en considération à la fois par les utilisateurs de clés scindées, et par leurs correspondants.

Pour plus d'information : 

http://www.wkit.com/advisories/