Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Confidentialité à long terme des Infrastructures de gestion de clés (PKI)
Un article de Chi-Sung Laih et al. dans les Communications of the ACM
Article mis en ligne le 2 mars 2012

par Laurent Bloch

Sommaire-

Ubiquité des PKI (Public Key Infrastructures)

Chi-Sung Laih, Shang-Ming Jen et Chia-Yu Lu ont publié dans le numéro de
janvier 2012, vol. 55 N° 1, des Communications of the Association for
Computing Machinery

un article intitulé Long-Term Confidentiality of PKI.

La sécurité des échanges sur le réseau, que ce soit pour les
transactions commerciales en ligne, pour les actes administratifs et
médicaux ou pour les communications privées, repose sur des
Infrastructures de gestion de clés (Public Key Infrastructures,
PKI), qui sont maintenant partout, et qui émettent les clés de
chiffrement utilisées pour la signature électronique et pour le
chiffrement des données, ce qui garantit l’authentification et la
confidentialité des communications.

Cryptographie à clés publiques ou à clés partagées

Les PKI utilisent conjointement deux méthodes, le chiffrement
symétrique et le chiffrement asymétrique, qui reposent sur des
méthodes mathématiques complètement différentes. Ces deux méthodes
sont d’un usage complémentaire.

La cryptographie asymétrique repose sur la
détention, par chaque partie impliquée dans une échange chiffré, de
deux clés : une clé publique et une clé privée. La clé privée ne
circule jamais sur le réseau, ainsi le risque de sa compromission est
très faible. Quiconque veut envoyer un message chiffré à un
correspondant chiffre avec la clé publique du destinataire, qui est
dans tous les bons annuaires, par exemple celui de la PKI utilisée.
Ce système semble parfait, il a un inconvénient, les calculs sont
lourds et donc lents.

La cryptographie symétrique à clé
partagée

repose sur la possession, par les parties prenantes à la communication,
d’une même clé. Les calculs en cryptographie symétrique sont bien
plus simples qu’en cryptographie asymétrique, mais le point faible
est qu’il faut bien échanger des clés, ce qui impose un transport sur le
réseau, au cours duquel la clé risque d’être compromise.

La solution consiste donc à utiliser le chiffrement asymétrique pour
l’échange de la clé partagée destinée au chiffrement symétrique. Cet
échange a lieu une seule fois, au début d’une session de
communication, et tous les échanges ultérieurs ont lieu avec la clé
partagée obtenue par ce procédé. Ainsi sont palliés et la lenteur des calculs
nécessaires aux algorithmes asymétriques tels que RSA
Rivest-Shamir-Adleman, et le risque de faire circuler une clé partagée
sur le réseau.

L’algorithme symétrique peut être
IDEA,
à clés de 128 bits, créé par James L. Massey et Xuejia Lai, ou
Rijndael inclus dans AES (Advanced Encryption
Standard
)
.
Notons que les systèmes de communication chiffrés tels que SSL
(Secure Socket Layer) utilisés pour les transactions par le Web, la
relève de courrier électronique et la connexion conversationnelle à
distance par SSH (Secure Shell) fonctionnent de cette façon.

Une PKI a pour fonction de distribuer, selon le procédé qui vient
d’être exposé, des clés certifiées. Une clé certifiée est une clé signée
par une autorité de certification digne de confiance. Les clés publiques
sont publiées incluses dans des certificats.

Kerberos est une PKI un peu particulière, avec un centre de distribution
de clés (KDC) qui fonctionne en général uniquement en chiffrement
symétrique, bien que le RFC 4556 propose le recours au chiffrement à
clé publique pour l’authentification de la transaction initiale d’enrôlement
d’un client du système. En effet, sans le recours à ce procédé, l’introduction
d’un nouvel utilisateur ne peut se faire qu’au moyen de la communication
en clair d’un mot de passe robuste, ce qui est très gênant. Kerberos est
à ce jour la seule solution d’authentification disponible qui soit compatible avec
tous les systèmes informatiques existants et tous les types d’usage (pas
seulement pour les applications Web), il s’agit donc d’un cas particulier
assez inévitable.

La question de la sécurité à long terme

La sécurité de certains documents doit être assurée à long terme : la
question se pose donc de savoir si les procédés techniques qui les
protègent aujourd’hui seront toujours aussi protecteurs dans trente ans,
par exemple, et si ce n’est pas le cas, par quel moyen pourra-t-on
améliorer leur protection quand ce sera nécessaire, et quand des procédés
plus puissants seront disponibles.

La sécurité des documents est assurée par des procédés cryptographiques
selon deux exigences : la garantie de l’authenticité, et celle de la
confidentialité.

L’exigence d’authentification a fait l’objet de plusieurs travaux et
du RFC 3126, Electronic Signature Format for Long-term Electronic
Signatures
. Chi-Sung Laih [1] et ses co-auteurs se sont attachés à
la question de la confidentialité, plus difficile et moins étudiée.

Les menaces sur la cryptographie

Pour étudier les menaces qui pèsent sur les moyens de la confidentialité
des données, les auteurs prennent l’exemple de l’algorithme RSA
a clé publique (cryptographie asymétrique), utilisé par la majorité
des PKI, et identifient deux menaces qui planent sur la pérennité de
la protection qu’il assure : la cryptanalyse quantique, et les progrès de
la factorisation.

Il est clair que l’avènement de la cryptanalyse quantique,
quand il se produira (et s’il se produira), sera pour la cryptographie
un cataclysme équivalent a celui qui a provoqué la disparition des
dinosaures. Il faudra tout reprendre sur de nouvelles bases, la
cryptographie quantique en l’occurrence. Mais en attendant, les
progrès de la factorisation (décomposition en facteurs premiers) des
grands nombres, s’ils sont moins médiatiques, sont plus réels et très
réguliers. En 1999 l’équipe de Cavallar a factorisé un module RSA [2] de
512 bits (155 chiffres décimaux), en 2009 l’équipe de Kleinjung en a
factorisé un de 768 bits (232 chiffres décimaux). Bien que la
factorisation d’un module de 1 024 bits soit des milliers de fois
plus difficile que celle d’un module de 768 bits, on s’attend à ce que
ce soit réalisé vers 2020. On ne connaît pas d’algorithme de
factorisation en temps polynomial, ils sont tous exponentiels.
Le meilleur algorithme disponible,
selon la thèse de Jean-Sébastien Coron citée ci-dessus, est
l’algorithme du crible algébrique, dont le temps de calcul pour
factoriser un module RSA de n bits est donné par :

$$ \exp \Big ((1.923+\circ(1)) n^{1/3} \log ^{2/3} n \Big) $$

La robustesse de l’algorithme RSA repose sur l’hypothèse que la
factorisation du produit de deux grands nombres premiers est un calcul
hors de portée des moyens actuels. Mettre RSA à l’abri des progrès de
la factorisation demanderait d’utiliser des clés plus longues. Aujourd’hui
la plupart des utilisateurs de RSA emploient des clés de 1 024 bits.
Il faudrait passer à 2 048 bits, mais cela pose des problèmes
logistiques considérables : si une PKI a émis des milliers de clés, dont
certaines installées dans des dispositifs matériels tels que des cartes
à puces ou des clés USB, effectuer la mise à jour de ces dispositifs peut
s’avérer une tâche inaccessible.

Déterminer la période de risque pour la confidentialité

Les auteurs commencent par définir ce qu’ils appellent la
Privacy-Free Window ou PFW (fenêtre de perte de confidentialité).
Prenons le cas d’un fichier chiffré à la date courante tc
et qui doit rester secret jusqu’à sa date d’expiration te.
Supposons qu’à une date tp les clés publiques
générées en tc soient factorisées, il en résulte que
le fichier considéré peut être compromis. Même si les clés publiques
ne sont pas factorisées, un autre risque peut survenir, la compromission
des clés de session par une avancée de la cryptnanalyse. Si un de ces
événements survient avant la date te, la confidentialité
du fichier ne peut plus être garantie.

La fenêtre de perte de confidentialité (PFW) est le laps de temps qui
s’écoule entre la date où l’avancée technologique anéantit la
robustesse de la clé qui protège la donnée considérée, en rendant
possible la factorisation de la clé publique, et la date d’expiration
à compter de laquelle la donnée n’a plus à être protégée soit entre
tc et te.

Si les clés n’avaient été utilisées que pour garantir l’authenticité du document
par une signature, la période de garantie peut être prolongée au-delà de
la date tc par les procédés décrits par le RFC 3126.
Mais il n’existe pas de telle solution pour prolonger la période de
confidentialité.

La propriété de confidentialité asymétrique des PKI

Il n’existe donc aucun procédé pour prolonger la période de confidentialité
d’un document dont la clé de chiffrement est compromise par les progrès
de la cryptanalyse. Mais Chi-Sung Laih et ses co-auteurs ont imaginé un
moyen de contournement , qui évite de redéployer les clés et les certificats
de tous les utilisateurs d’une PKI, opération forcément lourde et souvent
même impossible.

Ils observent que si les utilisateurs des PKI utilisent souvent des clés de
1 024 bits, les autorités de certification des mêmes PKI ont plus
souvent recours à des clés de 2 048 bits, voire de 4 096 bits.
Le fait que l’autorité de certification (CA) utilise des clés plus robustes
que les utilisateurs ordinaires introduit une asymétrie dans la protection,
dont ils proposent de tirer parti.

Les auteurs envisagent un cryptosystème analogue à Kerberos, avec un
protocole adapté selon leurs recommandations. Kerberos postule des clés
de session pré-calculées pour les échanges entre les utilisateurs et
l’autorité de certification. À l’inverse, le protocole conforme aux
recommandations de nos auteurs ne suppose pas l’existence préalable de
clés partagées, mais repose sur la cryptographie à clés publiques pour
obtenir une sécurité équivalente au moment de l’échange.

Dans le cas d’un protocole de type Kerberos, quand l’utilisateur A veut échanger des données confidentielles avec l’utilisateur B :

  1. il informe le serveur S de ce projet ;
  2. S répond par un message, chiffré avec la clé publique de A, qui contient un ticket
    chiffré avec la clé publique de B et une clé de session ;
  3. A peut alors envoyer à B le ticket et partager ainsi la clé de session ;
  4. B répond à A par un message chiffré avec la clé de session, ce qui conclut la
    cérémonie d’échange de clés.

Selon ce scénario, la confidentialité du document échangé repose sur les
échanges n° 2 et n° 3, chiffrés avec les clés publiques de A et de B, longues de
1 024 bits, et de ce fait destinées à être compromises vers 2019.

À l’inverse, dans le cas d’un protocole conforme au scénario proposé par nos auteurs, la
sécurité du document sera assurée par des échanges chiffrés avec la clé publique
de S
, plus longue (2 048 ou 4 096 bits) ; il suffit de
faire passer les échanges de clés de session entre A et B par le
serveur S, ainsi il seront chiffrés avec la clé privée de ce dernier,
plus robuste :

  1. A établit une session avec S, dont les échanges auront le niveau de
    protection conféré par la clé de S (2 048 ou 4 096 bits) ;
  2. B établit également une session avec S, avec le même niveau de
    protection ;
  3. les tickets reçus par A et B ont donc été émis avec un niveau de
    protection élevé, ce qui donne le même niveau de protection à leurs
    échanges mutuels.

De surcroît, comme les clés de session entre A et S, entre B et S et entre
A et B ont été générées à partir de la clé publique de S, elles peuvent, en
tant que de besoin, être régénérées à volonté après une élévation du
niveau de sécurité de S ; en effet, s’il peut être très difficile de redéployer
toute une infrastructure de sécurité sur l’ensemble des postes des utilisateurs,
mettre à niveau les serveurs centraux est plus facile, ils sont par définition
moins nombreux, et administrés par les autorités qui contrôlent la PKI.

Conclusion

Chi-Sung Laih, Shang-Ming Jen et Chia-Yu Lu ont ainsi mis au point un
procédé relativement simple à mettre en œuvre, apte à prolonger la
période de confidentialité conférée par une PKI. Leur article procure en
outre un algorithme pour déterminer la période de risque, dite
Privacy-Free Window (PFW), ce qui permet à l’administrateur de la
PKI de planifier les actions nécessaires au maintien des conditions de
sécurité des données protégées.