cryptosec

Les principes de Kerckhoffs

Six vieilles et encore très pertinentes considérations...

En janvier 1883, Auguste Kerckhoffs (1835 - 1903) posa les principes de la cyptographie moderne dans l’article "La cryptographie militaire" paru dans le "Journal des Sciences Militaires". Ces principes, et en particulier le second qui stipule que la sécurité résultant de l’utilisation d’un cryptosystème ne doit pas reposer sur le secret de ses principes de conception ou du paramétrage du dispositif, suggérant (à la lecture des autres points) qu’elle doit uniquement reposer sur une clé secrète, restent de toute actualité.
A ce titre, par exemple, le choix du dernier standard de chiffrement par le NIST, l’algorithme symétrique AES, est exemplaire : il a été choisi suite à un appel à contribution public, et tous ses détails de conception sont publics (le choix et la conception du DES n’avait pas été aussi transparent).
Ainsi, ce principe explicite le fait qu’un algorithme sera d’autant plus résistant et pérenne qu’il aura été conçu, choisi et implémenté avec la plus grande transparence, s’offrant à l’analyse de l’ensemble de la communauté cryptographique.
Dit autrement, toute attaque doit être envisagée en supposant que l’attaquant connaît tous les détails du cryptosystème
De plus, ces principes, étape de la longue histoire des codes secrets, donnent un peu de perspective aux domaines de la cryptographie et de la sécurité logique, l’ancrent par leur actualité dans une réalité dont les dites "nouvelles technologies" ne sont qu’une étape après bien d’autres.

A l’adresse http://www.cl.cam.ac.uk/ fapp2/kerckhoffs/ vous pourrez trouver une version numérisée de l’article, dont je reproduit ci-après les six principes qui nous intéressent :

Seconde partie, "Desiderata de la cryptographie militaire" (p. 12) :
" 1- Le système doit être matériellement, sinon mathématiquement, indéchiffrable ;

2- Il faut qu’il n’exige pas le secret, et qu’il puisse sans inconvénient tomber entre les mains de l’ennemi ;

3- La clef doit pouvoir en être communiquée et retenue sans le secours de notes écrites, et être changée ou modifiée au gré des correspondants ;

4- Il faut qu’il soit applicable à la correspondance télégraphique ;

5- Il faut qu’il soit portatif, et que son maniement ou son fonctionnement n’exige pas le concours de plusieurs personnes ;

6- Enfin, il est nécessaire, vu les circonstances qui en commandent l’application, que le système soit d’un usage facile, ne demandant ni tension d’esprit, ni la connaissance d’une longue série de règles à observer. "

Pour illustrer l’actualité de ces principes, et sans craindre aucun anachronisme, passons en revue chacun des points en proposant des analogies qui pourraient être des principes à respecter de nos jours, avec nos technologies. Il s’agit bien de cryptosystèmes et non uniquement d’algorithmes, c’est à dire de l’ensemble constitué des algorithmes, des implémentations, des standards utilisés, des protocoles mis en place, des interfaces utilisateur, des modalités d’intégration, des support physiques ou logiciel, des cellules de support, veille et formation, des documentations... bref, de l’ensemble des composants (techniques et humains) qui constituent un cryptosystème au sens large du terme.

Premier point :
Le système doit offrir un niveau de sécurité suffisant au regard de celui voulu pour le traitement des informations. Il n’est pas nécessaire qu’il soit inconditionnellement sûr, mais toutes les garanties qu’il est possible de donner quant à la sécurité du système doivent être apportées affin de s’assurer qu’il atteint un niveau suffisant.

Deuxième point :
La sécurité du système ne doit pas reposer sur le secret de sa conception. Ses spécifications et détails de fonctionnement doivent pouvoir être rendus publics. C’est là un principe phare en cryptographie, puisque les spécifications de la plupart des algorithmes sont publiques. Dans le même ordre d’idée, on peut considérer qu’il doit être possible de révéler sans état d’âme le code source d’un cryptosystème.
Encore une fois, toute attaque contre le cryptosystème doit être envisagée en considérant que l’attaquant connaît tous les détails de conception du système cible.

Troisième point :
L’analogie que l’on peut voir ici est l’importance de faire en sorte que les utilisateurs disposent de codes d’authentification efficaces et ergonomiques (cartes à puces, bonne politique de mots de passe...). Pour ce qui est de l’échange des clés, l’apparition de la cryptographie asymétrique, puis des certificats qui encapsulent les clés publiques, apporte une solution élégante, sûre et efficace. Stricto sensu, ce troisième point fonde le principe de l’utilisation des clés secrètes, seul paramètre variable dont dépend la sécurité.

Quatrième point :
Biensur, nous sommes aujourd’hui passés à d’autres moyens de communication. Cependant, il faut faire en sorte que le système prenne en entrée et renvoie après traitement des données conformes aux formats et standards en vigueur. En particulier les standards et protocoles ouverts de l’IETF, les RFC.

Cinquième point :
Aujourd’hui, il ne s’agit biensur pas de transporter une machine. Cependant, l’idée sous-jacente est que le système doit pouvoir être utilisé quel que soit l’endroit ou l’on se trouve, ce qui fait écho à des notions telles que la mobilité des profils, l’utilisation de cartes à puce...

Sixième point :
Ce dernier point reste aujourd’hui tout a fait primordial. Il s’agit de s’attacher, lors de la conception, l’implémentation et l’intégration d’un système de sécurité à lui donner une ergonomie qui soit la meilleure possible. Un système qui donnera aux utilisateurs l’envie de l’utiliser, qui sera simple d’accès, qui ne bouleversera pas outre mesure ses habitudes de travail, sera d’autant mieux utilisé, et la sécurité effective en sera donc d’autant meilleure.

Conclusion
Qu’il s’agisse de concevoir des algorithmes, des cryptosystèmes, de les implémenter, de les développer, ou de les déployer, on voit bien l’intérêt qu’il y a, plus d’un siècle après leur définition, à considérer et essayer de respecter les principes de Kerckhoffs.


 
cryptosec
19 février 2005

 
 
 
 
 
Partager sur Twitter  |  Partager sur LinkedIn
 

Afficher les commentairesMasquer les commentaires


 
modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Creative Commons - BY - NC - ND

Tous les textes, images et sons de cryptosec sont publiés selon les termes de la licence Creative Commons - Attribution - Pas d’Utilisation Commerciale - Pas de Modification - 3.0