Principe de Kerckhoffs

Un article de Wikipédia, l'encyclopédie libre.

Pour les circuits électriques, voir les lois de Kirchhoff.

Le principe de Kerckhoffs a été énoncé par Auguste Kerckhoffs à la fin XIXe siècle dans un article en deux parties La cryptographie militaire du Journal des sciences militaires (vol. IX, pp. 5–38, Janvier 1883, pp. 161–191, Février 1883). Ce principe exprime que la sécurité d'un cryptosystème ne doit reposer que sur le secret de la clef. Autrement dit, tous les autres paramètres doivent être supposés publiquement connus. Il a été reformulé, peut-être indépendamment, par Claude Shannon : « l'adversaire connaît le système ». Cette formulation est connue sous le nom de la maxime de Shannon. C'est le principe le plus souvent adopté par les cryptologues, par opposition à la sécurité par l'obscurité.

Les chiffres utilisés par les civils respectent en général le principe de Kerckhoffs. Ceux utilisés par les militaires tendent au contraire à utiliser des systèmes secrets. Par exemple, aux États-Unis, le chiffrement dit Type 1 encryption est certifié par la NSA.

Sommaire

[modifier] Énoncé

Ce principe est en fait l'une des sept lois énoncées par Kerckhoffs dans son traité de cryptographie militaire. Les règles qu'il énonce pour assurer une communication confidentielle sont :

  • Une information codée ne doit en aucun cas pouvoir être déchiffrée sans la connaissance de sa clé.
  • Les interlocuteurs ne doivent pas subir de dégâts au cas où le système de codage serait dévoilé.
  • La clé doit être simple et modifiable à souhait.
  • Les cryptogrammes doivent être transportables, c'est-à-dire télégraphiables.
  • L'appareil de codage et les documents doivent être transportables.
  • Le système doit être simple d'utilisation.
  • Le système de chiffrage doit être au préalable examiné par des experts.

[modifier] Interprétations

L'interprétation de ce principe par Bruce Schneier a trait à l'« élégance » dans le cassage d'un cryptosystème. Traduit de l'anglais : « Le principe de Kerckhoffs s'applique au-delà des chiffres et des codes, c'est-à-dire aux systèmes de sécurité en général : tout secret est en fait un point de cassure possible. Par conséquent, le secret est une cause première de fragilité, donc cela même peut amener un système à un effondrement catastrophique. À l'inverse, l'ouverture amène la ductilité. »[1]

Il est utile de détailler sur ce que Bruce Schneier entend par « fragilité » puisque tous les systèmes de sécurité dépendent du fait de garder quelque chose secret. Ce que Schneier implique c'est que ce qui est gardé secret doit être ce qui est le moins coûteux à changer si le secret s'avérait divulgué. Par exemple, un cryptosystème peut être implémenté sur du matériel informatique et des logiciels qui sont largement dispersés à travers plusieurs utilisateurs. Si la sécurité dépend de tenir cette distribution secrète, alors sa divulgation mènerait à un travail logistique considérable de développement, de tests et de distribution de nouveaux algorithmes. À l'opposé, si le secret de l'algorithme n'est pas important, et que seule celle de la clé l'est, alors la divulgation d'une clé entraîne moins de problèmes: il suffit d'en générer une nouvelle et de la distribuer. En bref, moins on a de secrets, moins on doit faire de maintenance.

Une autre interprétation, celle de Eric Raymond, prêche en faveur du logiciel libre. Traduit de l'anglais : « Tout algorithme de sécurité dont la conception repose sur l'assurance que l'adversaire ne possède pas le code source n'est déjà pas sûr; donc, il ne faut jamais faire confiance à un logiciel à code source fermé. »[2]. L'idée que les logiciels libres, donc à code source ouvert, impliquent plus de sécurité est un sujet de controverse.

[modifier] Notes et références

[modifier] Voir aussi

[modifier] Articles connexes

[modifier] Liens externes

[modifier] Bibliographie

  • Auguste Kerckhoffs, La cryptographie militaire, Journal des sciences militaires, vol. IX, pp. 5–83, jan. 1883, pp. 161–191, févr. 1883.


Mesures de sécurité cryptographique
Cryptographie : Preuve de sécurité | Sécurité inconditionnelle | IND-CPA | IND-CCA | Kerckhoffs | Malléabilité | Sécurité calculatoire | Hypothèses calculatoires | Confusion et diffusion
Cryptanalyse de base : Biais statistique | Corrélation | Dictionnaire | Force brute | Fréquence | Indice de coïncidence | Interpolation | Mot probable
Cryptanalyse par canal auxiliaire : Canaux auxiliaires : Acoustique | Consommation | Émanations EM | Faute | Sondage | Temporel
Cryptanalyse ciblée : Clé apparentée | Clé faible | EFF | Enigma | Glissement | Intégrale | Linéaire / Différentielle / Différentielle impossible / Différentielle-linéaire / Boomerang | Modes opératoires | Modulo n | Quadratique | Rectangle | Rencontre au milieu | Vigenère | χ²
Systèmes asymétriques : Clé apparentée | Clé faible | Homme au milieu | Sécurité sémantique
Fonctions de hachage : Effet avalanche | Linéaire / Différentielle | Paradoxe des anniversaires | Pseudo-collision
Autres : Anonymat | Confidentialité | Intégrité | Sécurité par l'obscurité