Principiul Kerckhoffs

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În criptografie , principiul Kerckhoffs (cunoscut și sub numele de presupunerea lui Kerckhoffs , axiomă sau lege), a fost enunțat de criptograful olandez Auguste Kerckhoffs la sfârșitul anilor 1880 . Se afirmă că securitatea unui criptosistem nu trebuie să depindă de păstrarea ascunsă a algoritmului criptografic, ci doar de păstrarea cheii ascunse. Este un principiu apreciat de mulți criptografi și este în contrast puternic cu principiul securității prin secret .

Cu alte cuvinte, sistemul trebuie să rămână sigur chiar dacă inamicul cunoaște algoritmul de criptare. Acesta din urmă poate fi, de asemenea, în domeniul public; singurul lucru care contează este că cheia rămâne secretă. Principiul a fost reformulat (sau poate formulat independent) de Claude Shannon sub forma „inamicul cunoaște sistemul” [1] : „un sistem ar trebui conceput în ipoteza că inamicul va dobândi imediat familiaritate cu el”. În această formă, principiul este cunoscut sub numele de maxima lui Shannon .

Origini

În 1883 Auguste Kerckhoffs a scris două articole publicate în La Cryptographie Militaire , în care a elaborat șase principii de proiectare pentru cifrele militare: [2]

  1. Sistemul trebuie să fie practic, dacă nu matematic, indescifrabil.
  2. Acest lucru nu trebuie să fie secret, trebuie să poată cădea în mâinile dușmanului fără inconveniente.
  3. Cheia acestuia trebuie să fie transmisibilă fără ajutorul notelor scrise și înlocuibilă sau modificabilă, după comoditatea corespondenților.
  4. Acesta trebuie să fie aplicabil corespondenței telegrafice.
  5. Trebuie să fie portabil, iar utilizarea și utilizarea acestuia nu trebuie să necesite participarea mai multor persoane.
  6. Aplicarea acestuia trebuie să fie ușor de utilizat și nu necesită cunoașterea și utilizarea unui set lung de reguli.

Unele nu mai sunt valabile de la apariția computerelor, dar al doilea principiu, cunoscut astăzi drept principiul Kerckhoffs, are și astăzi o importanță critică.

Explicarea principiului

Kerckhoffs considera criptografia ca o provocare și ca o alternativă mai bună la tehnica steganografică , care era obișnuită în secolul al XIX-lea, pentru a ascunde semnificația mesajelor militare. Problema cu schemele de codificare este că se bazează pe faptul că oamenii pot păstra secretele dicționarelor necesare pentru decodare. Odată dezvăluite, dicționarele steganografice compromit permanent sistemul de codare corespunzător. O altă problemă este factorul de risc care crește cu mai mulți oameni familiarizați cu dicționarele.

Criptografia secolului al XIX-lea, în schimb, a folosit tabele simple pentru transpunerea caracterelor alfanumerice, date în general prin intersecții rând-coloană care ar putea fi modificate prin chei generice scurte și numerice și care ar putea fi transferate în memoria umană. Sistemul a fost văzut ca indescifrabil în tabelul respectiv și cheile nu păreau să aibă sens pentru un ochi exterior. Mesajul secret a fost compromis doar dacă tabelul, cheia și mesajul au căzut în mâinile inamicului într-o perioadă de timp relevantă. Kerckhoff a privit mesajele tactice ca având doar câteva ore de relevanță. Sistemele nu sunt neapărat compromise, deoarece componentele lor (cum ar fi tabelele și cheile de caractere alfanumerice) pot fi ușor schimbate.

Considerentele de astăzi

Schimbarea de astăzi la principiul lui Kerckhoffs idealizează că securitatea unui criptosistem ar trebui să depindă numai de secretul cheii și de un randomizer privat. Prin urmare, se poate spune că o metodă pentru decriptarea și transmiterea în secret a informațiilor ar trebui să fie sigură chiar dacă toată lumea este conștientă de funcționarea sa. Cu siguranță, atacatorii sunt mai familiarizați cu sistemul în cauză, dar le va lipsi cunoștințele atunci când vor trebui să abordeze toate cazurile posibile care le sunt prezentate de sistem.

Unii criptografi nu sunt de acord cu acest lucru și susțin că Kerckhoffs a simțit nevoia să păstreze cheia secretă. Un alt factor discordant este că Kerckhoffs nu este sigur dacă alte componente ale sistemului criptografic (tabele, protocoale, algoritmi etc.) sunt „secrete” atâta timp cât sistemul rămâne „nedescifrabil”.

Avantajul cheii secrete

Utilizarea criptării securizate ar trebui să înlocuiască problema păstrării mesajelor în siguranță cu o metodă mai ușor de păstrat cheile relativ mici în siguranță. Un sistem care necesită secret pe termen lung pentru ceva la fel de mare și complex ca întreaga concepție a unui sistem criptografic, evident, nu poate realiza acest lucru. Deci, dacă un sistem este sigur chiar și atunci când inamicul știe totul, cu excepția cheii, singurul lucru de gestionat este să păstrezi cheile secrete.

Evident, există multe metode prin care un atacator poate afla despre detaliile interne ale sistemului. Acestea includ corupția, șantajul sau amenințările directe la adresa unui membru al personalului sau a clienților care pot explica modul în care funcționează sistemul. De exemplu, în război, o parte va capta probabil niște echipamente și oameni din cealaltă parte. Fiecare partid va folosi, de asemenea, spioni pentru a aduna informații. Dacă o metodă implică software, cineva ar putea face o memorie groapa sau de a rula software - ul sub controlul unui debugger pentru a descoperi metoda. Dacă utilizați hardware, cineva ar putea cumpăra sau fura o parte din hardware și ar putea construi orice programe sau gadget-uri necesare pentru a-l testa. Hardware-ul poate fi, de asemenea, demontat, astfel încât detaliile cipului să poată fi examinate la microscop.

Mențineți securitatea

O generalizare pe care unii o fac asupra principiului Kerckhoffs afirmă: „Cu cât secretele pe care trebuie să le păstrăm sunt mai puține și mai simple pentru a asigura securitatea sistemului, cu atât va fi mai ușor să menținem securitatea sistemului”.

Fiecare sistem de securitate depinde practic de a păstra ceva „secret”. Cu toate acestea, obiectivul fundamental al principiului Kerchoffs este să păstreze „ascuns” ceea ce este mai puțin costisitor de schimbat în cazul unor evenimente neașteptate și neplăcute.

De exemplu, un algoritm criptografic poate fi implementat de hardware și software larg distribuit între utilizatori. Dacă securitatea depinde de păstrarea „secretă”, divulgarea duce la mari dificultăți logistice în dezvoltarea, testarea și implementarea implementărilor unui nou algoritm. Pe de altă parte, dacă „secretul” algoritmului nu este important, dar numai cheile utilizate cu algoritmul trebuie ascunse, dezvăluirea cheilor necesită pur și simplu procesul mai simplu și mai puțin costisitor de generare și distribuire a cheilor noi.

Aplicații

În conformitate cu principiul lui Kerckhoffs, majoritatea criptografilor civili folosesc algoritmi de domeniu public. În schimb, cifrele utilizate pentru a proteja informațiile guvernamentale sau militare sunt adesea păstrate secrete. Cu toate acestea, nu trebuie presupus că codurile guvernamentale / militare trebuie păstrate secrete pentru a menține securitatea. Este destul de comun în rândul companiilor să păstreze secret sistemul intern. Nucleul dezbaterii este dacă acest secret face cu adevărat produsul mai sigur și mai puțin vulnerabil la atac, sau este doar o securitate pe termen scurt și pe termen lung vor fi cele mai sigure sistemele care au fost publicate și analizate și de încredere.

Securitatea prin secret

Pictogramă lupă mgx2.svg Același subiect în detaliu: Securitatea prin secret .

Acesta este un principiu comun pentru companii și, uneori, chiar și pentru organismele standard, ca în cazul Sistemului de codare a conținutului , pentru a păstra mecanismele interne ale unui sistem „secret”. Unii susțin că această „securitate prin secret” face produsul mai sigur și mai puțin vulnerabil la atac. Un contraargument este că păstrarea interiorului „ascuns” ar putea îmbunătăți securitatea pe termen scurt, dar pe termen lung ar trebui luate în considerare doar sistemele care au fost publicate și analizate. Steve Bellovin a comentat: [3]

«Tema securității prin întuneric apare frecvent. Cred că o mulțime de dezbateri se întâmplă pentru că oamenii înțeleg greșit problema. Cred că este util să ne întoarcem la al doilea principiu al lui Kerckhoffs, explicat ca „Sistemul nu trebuie să aibă nevoie de secret și poate fi furat de inamic fără să provoace probleme”, la http://petitcolas.net/fabien/kerckhoffs/ . Kerckhoffs nu a spus „publică totul” și nici „păstrează totul secret”; mai degrabă, el a spus că sistemul ar trebui să fie sigur chiar dacă inamicul are o copie. Cu alte cuvinte: proiectați-vă sistemul, presupunând că adversarii îl știu în detaliu. (Un fost oficial al Centrului de Securitate Națională al NSA mi-a spus că presupunerea standard este că numărul de serie 1 al fiecărui dispozitiv nou a fost livrat la Kremlin .) După aceea, totuși, nu este nimic în neregulă cu încercarea de a păstra secretul - este un alt obstacol că inamicul trebuie să biruiască. (Un obstacol întâmpinat de britanici atunci când a atacat sistemul german Enigma a fost simplu: nu știau maparea dintre tastele tastaturii și intrarea în matricea rotorului.) Dar - nu vă bazați pe secretul sistemului. "

Notă

  1. ^ Claude Shannon, Teoria comunicării sistemelor de secretizare , în Bell System Technical Journal , vol. 28, 4 octombrie 1949, p. 662. Accesat la 20 iunie 2014 .
  2. ^ (EN) The Cryptographie militaire , pe petitcolas.net. Accesat la 26 februarie 2015 ( arhivat la 11 octombrie 2014) .
  3. ^ Steve Bellovin, Securitate prin obscuritate , în Risks Digest , iunie 2009.

Bibliografie

  • ( FR ) Auguste Kerckhoffs, La cryptographie militaire , în Journal des sciences militaires , vol. 9, ianuarie 1883, pp. 5-83. Adus la 26 februarie 2015 .
  • ( FR ) Auguste Kerckhoffs, La cryptographie militaire , în Journal des sciences militaires , vol. 9, februarie 1883, pp. 161–191. Adus la 26 februarie 2015 .