Sécurité des échanges chiffrés
July 19th, 2009
Il y a un peu plus d’un an, nous avons été frappés par la fameuse faille OpenSSL sur les systèmes Debian.
Pour résumer rapidement, l’espace de définition des clés de chiffrement s’est trouvé réduit de plusieurs milliards de milliards à 32767. Donc, si vous disposiez d’une clé SSL vulnérable, je n’avais que 32767 essais (maximum) à faire pour usurper votre identité sur votre système.
De manière assez curieuse, cette faille est restée très longtemps (presque 2 années!) en production sans que personne ne s’en aperçoive.
Cet article propose une chose que nous aurions pu faire avant (et que nous pouvons faire aujourd’hui) pour détecter ce problème beaucoup plus rapidement. Il s’agit simplement de s’appuyer sur l’audit public. Cette proposition est particulièrement pertinente pour l’utilisation de OpenSSH, mais doit probablement pouvoir s’élargir à d’autres usages.
Voici la proposition : modifier OpenSSH (ou OpenSSL?) pour qu’il compare chaque nouvelle clé publique reçue avec les clés déja connues. Si la clé reçue est la même qu’une clé déja connue, prévenir l’utilisateur.
Voilà, c’est tout.
Bien entendu, certaines personnes (et moi le premier) utilisent la même clé sur plusieurs systèmes. Les personnes qui font cela savent qu’ils le font, et ne seront pas perturbées par l’avertissement. En revanche, quand il s’agira d’une clé fraichement générée, je pense qu’il serait particulièrement intéressant d’être au courant que c’est la même clé.
Voilà, avec un tel système, je pense que 15 jours après la mise en production de la faille OpenSSL, la communauté se serait rendue compte que quelque chose ne tournait pas rond. Mieux vaut tard que jamais, je propose donc de modifier les outils pour lesquels ce type de process peut améliorer la sécurité (pour moi, au minimum, c’est le cas pour OpenSSH).
Les crédits de cette idée vont à X. Desurmont PhD.