Kerckhoffs princip

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 21. januar 2017; checks kræver 66 redigeringer .

Kerckhoffs princippet  er en regel for udvikling af kryptografiske systemer, ifølge hvilken kun et bestemt sæt algoritmeparametre, kaldet nøglen , holdes hemmeligt , og selve krypteringsalgoritmen skal være åben. Ved vurdering af krypteringens pålidelighed må det med andre ord antages, at modstanderen ved alt om det anvendte krypteringssystem, bortset fra de anvendte nøgler . Udbredt i kryptografi. Dette princip blev først formuleret i det 19. århundrede af den hollandske kryptograf August Kerkgoffs [1] .

Kerckhoffs' seks krav

I 1883 fremlagde den hollandske kryptograf Auguste Kerckhoffs seks principper for udformningen af ​​militære cifre i sin bog Military Cryptography . De seks grundlæggende krav til et kryptosystem, som alle hidtil har bestemt designet af kryptografisk sikre systemer, er oversat fra fransk som følger [2] :

  1. Systemet skal være fysisk, hvis ikke matematisk, usporbart;
  2. Det er nødvendigt, at systemet ikke skal holdes hemmeligt; fald i fjendens hænder bør ikke forårsage ulejlighed;
  3. Opbevaring og transmission af nøglen skal være mulig uden hjælp af papirjournaler; korrespondenter bør kunne ændre nøglen efter eget skøn;
  4. Systemet skal være egnet til telegrafkommunikation;
  5. Systemet skal være nemt at transportere, arbejde med det bør ikke kræve deltagelse af flere personer på samme tid;
  6. Endelig kræves det af systemet, givet de mulige omstændigheder ved dets anvendelse, at det er let at bruge, ikke kræver væsentlig mental indsats eller overholdelse af en lang række regler.
Originaltekst  (fr.)[ Visskjule]
  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 gældende à 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.
Auguste Kerckhoffs, "La Cryptographie Militaire"

Det andet af disse krav blev kendt som "Kerckhoffs-princippet".

Oprindelse

Kerckhoffs så kryptografi som det bedste alternativ til steganografisk kodning, som var almindeligt i det nittende århundrede for at skjule militære beskeder. Et problem med kodningsskemaer er, at de er afhængige af menneskelige hemmeligheder såsom "ordbøger", der afslører for eksempel ords hemmelige betydning. Opdagelsen af ​​en steganografisk ordbog kompromitterer for altid det tilsvarende kodningssystem. Et andet problem er, at risikoen for afsløring er direkte relateret til antallet af brugere, der ejer hemmeligheden. Kryptering fra det nittende århundrede brugte simple tabeller, der gav transponering af alfanumeriske tegn, typisk givet række- og kolonneskæringspunkter, som kunne modificeres med nøgler, der normalt var korte, numeriske og kunne fikseres i menneskets hukommelse. Hemmelige beskeder kan kun kompromitteres, hvis det passende sæt bord, nøgler og beskeder falder i hænderne på en modstander. Systemer er ikke i fare, fordi deres komponenter, dvs. alfanumeriske tegntabeller og nøgler, nemt kan ændres [3] .

Forklaring af princippet

Essensen af ​​princippet

Essensen af ​​princippet ligger i, at kryptosystemets magt ikke bør være baseret på krakkerens uvidenhed om algoritmens principper [4] . Faktisk mener Bruce Schneier , at Kerckhoffs princip ikke kun gælder for koder og cifre, men for sikkerhedssystemer generelt: enhver hemmelighed skaber et potentielt fejlpunkt. Med andre ord er hemmeligholdelse hovedårsagen til skørhed, og derfor kan det føre til et katastrofalt sammenbrud af systemet. Omvendt giver åbenhed systemfleksibilitet . Kerckhoffs-princippet sigter mod at gøre sikkerheden af ​​algoritmer og protokoller uafhængig af deres hemmeligholdelse; åbenhed bør ikke påvirke sikkerheden. [5]

Fordele

Brugen af ​​sikker kryptografi erstatter det vanskelige problem med at sikre meddelelser med et meget mere håndterbart: at holde relativt små nøgler sikre. At holde de anvendte metoder hemmelige er vanskeligere, især i det lange løb, og at ændre dem efter at systemet er implementeret [6] .

Der er mange måder at opdage de interne detaljer i et meget brugt system på. Den mest kraftfulde og effektive måde at åbne på er banditkryptanalyse . Kryptanalytikeren truer, afpresser eller torturerer nogen, indtil de får nøglen; kan ty til afpresning og bestikkelse. Der er også mulighed for, at nogen vil være i stand til at adskille kildekoden og gendanne algoritmen [4] .

Til gengæld medfører offentliggørelsen af ​​nøgler en lettere og billigere proces med at generere og distribuere nye nøgler. Det vil sige, at sikkerheden kun bør afhænge af hemmeligheden af ​​nøglen, og ikke af hemmeligheden af ​​de anvendte metoder [7] .

Ansøgning

De fleste krypteringssystemer, der er udbredt i civil kryptografi, bruger i overensstemmelse med Kerckhoffs princippet velkendte, ikke-hemmelige kryptografiske algoritmer . Men National Security Agency holder sine algoritmer hemmelige og beskæftiger de bedste kryptografer i verden. Og desuden diskuterer de algoritmer med hinanden, afhængigt af kollegernes viden og kompetence. Derfor behøver de ikke åbne algoritmer for alle [4] .

Sikkerhed gennem uklarhed

Sikkerhed gennem uklarhed er antagonisten af ​​Kerckhoffs princip, som er, at det er nødvendigt at skjule systemets interne struktur for at sikre dets sikkerhed. I nogle virksomheder er det sædvanligt at holde systemets indre funktioner hemmeligt. De hævder, at sikkerhed gennem uklarhed gør et produkt mere sikkert og mindre sårbart over for angreb. Modargumentet er, at sikkerhed gennem uklarhed kan føre til mange reelle angreb. Udviklere bør ikke undervurdere angribernes opfindsomhed og bør aldrig bruge dette princip [8] .

At skjule sårbarheder i algoritmer gør dem mindre tilbøjelige til at blive rettet og øger chancen for, at de kan og vil blive udnyttet af angribere. Åben diskussion og analyse af algoritmer afslører svagheder, som ikke var tænkt på af de oprindelige forfattere, og fører dermed til skabelsen af ​​bedre og mere sikre algoritmer. [9]

Maxim Shannon

Den amerikanske matematiker Claude Shannon formulerede i sin artikel fra 1949 " Theory of Communication in Secret Systems " i Bell System Technical Journal dette princip (sandsynligvis uafhængigt af Kerckhoffs) som følger: "Fjenden kender systemet" [10] . I denne formulering kaldes dette princip for Shannons maksime . Med andre ord skal du designe systemer baseret på den antagelse, at fjenden vil blive fuldt bekendt med dem. [elleve]

Noter

  1. La cryptographie militaire, 1883 .
  2. Fabien Petitcolas (1997), engelsk oversættelse af "La cryptographie militaire" , < https://www.petitcolas.net/kerckhoffs/index.html > 
  3. The Codebreakers: the story of secret writing, 1967 , s. 122-125.
  4. 1 2 3 Applied Cryptography, 1995 , s. 21.
  5. Mann, Charles C. (september 2002), Homeland Insecurity , The Atlantic Monthly , < https://www.theatlantic.com/issues/2002/09/mann.htm > Arkiveret 7. juli 2008 på Wayback Machine 
  6. The Ideal Cipher, 1998, 1999 .
  7. Storskala distribueret databehandling og applikationer: Modeller og tendenser, 2010 , s. 204.
  8. Principles of Secure Processor Architecture Design, 2018 , s. 7.
  9. Security Through Obscurity Considered Dangerous, 2002 , s. en.
  10. Communication Theory of Secrecy Systems, 1949 , s. 662.
  11. Decrypted Secrets: Methods and Maxims of Cryptology, 2007 , s. 29.

Litteratur