načelo po kojem kriptirani sustav treba biti siguran čak i kada je o njemu javno poznato sve osim samoga ključa From Wikipedia, the free encyclopedia
Kerckhoffsovo načelo ili Kerckhoffsov princip u kriptografiji[1] je postavka koju je iznio nizozemski kriptograf Auguste Kerckhoffs (1835. – 1903.) u radu La Cryptographie militaire (Vojna kriptografija): kriptirani sustav treba biti siguran čak i kada je o njemu javno poznato sve osim samoga ključa.[2][3]
Kerckhoffsovo načelo je američki matematičar Claude Shannon preoblikovao ili neovisno formulirao kao „neprijatelj poznaje sustav“.[4] Načelo da sustave treba dizajnirati pod pretpostavkom da će neprijatelj odmah sve saznati o njima poznato je i kao Shannonova maksima. Ovo su načelo, za razliku od oprečnoga, o sigurnosti koja proistječe iz nejasnoća (eng. security through obscurity), naširoko prihvatili svjetski kriptografi.
U prvome od svoja dva članka La Cryptographie militaire iz 1883. Auguste Kerckhoffs navodi šest počela za vojne šifre. U prijevodu s francuskog ona su:[5][6]
Neka ovih počela više nisu značajna s obzirom na sposobnost računala da izvode složenu enkripciju. Kerckhoffsova je druga postavka, međutim, i dalje vrlo važna.
Kerckhoffs je kriptografiju smatrao nadmoćnom steganografskom kodiranju kakvo je bilo uobičajeno u devetnaestom stoljeću. Jedan od problema kodiranja skrivanjem i prikrivanjem poruka jest taj što se oslanjaju na tajne, poput rječnika ili šifrarnika, koje posjeduju ili pamte ljudi. Jednom otkriveni rječnici trajno ugrožavaju cijeli sustav kodiranja, a izloženost se povećava kako se povećava broj korisnika koji drže tajne.
Za razliku od steganografskog kodiranja, kriptografija devetnaestog stoljeća koristi jednostavne tablice koje omogućavaju prijevod slova i brojaka na presjecima redaka i stupaca koji se mogao mijenjati ključevima. Ključevi su pak bili kratki, brojčani, i ljudima lako pamtljivi. Sustav se smatrao neodgonetljivim jer tablice same po sebi nisu prenosile značenje. Tajne poruke mogle su biti ugrožene samo ako bi i tablice i ključ i poruke dospjele neprijatelju u nekom kraćem periodu. Kerckhoffs je smatrao da takve poruke vrijede samo nekoliko sati. Kriptografski sustavi sami po sebi nisu nužno bili ugroženi jer su se njihove tablice mogle lako promijeniti.
Upotreba sigurne kriptografije trebala je zamijeniti težak problem čuvanja poruka tajnima jednostavnijim problemom čuvanja malenih ključeva sigurnima. Sustav koji zahtijeva dugotrajnu tajnost za nešto veliko i složeno kao što je cjelokupni dizajn očito ne može postići trajnu sigurnost. Međutim, ako je sustav siguran čak i kad neprijatelj zna sve osim ključa, tada je potrebno samo upravljati čuvanjem tajnosti ključeva.
Postoji velik broj načina na koje se mogu otkriti unutarnji detalji naširoko korištenog sustava. Najočitiji je podmićivanjem, prijetnjom i ucjenom osoblju ili kupcima sustava. Primjerice, u ratu će jedna strana vjerojatno zarobiti nešto opreme i ljudi s druge strane, a i svaka će strana također koristiti špijune za prikupljanje informacija.
Ako metoda uključuje softver, netko bi mogao presnimiti memoriju ili ga pokrenuti pod kontrolom programa za pronalaženje pogrešaka (eng. debuggera) kako bi razumio kriptografsku metodu. Ako se koristi hardver, netko bi mogao kupiti ili ukrasti dio hardvera i izraditi sve programe ili uređaje potrebne za njegovo testiranje.
Bilo koji sigurnosni sustav ovisi o čuvanju bar nekog od svojih dijelova tajnim. Kerckhoffsovo načelo ističe da bi dijelovi kriptografskog sustava koji se drže u tajnosti trebali biti oni koje je najjeftinije i najlakše zamijeniti ako se otkriju.
Kriptografski algoritam može se implementirati pomoću hardvera i softvera koji je rasprostranjen među korisnicima. Ako sigurnost ovisi o čuvanju njih tajnima, otkrivanje dovodi do velikih logističkih poteškoća u razvoju, testiranju i distribuciji novog sustava. S druge strane, ako čuvanje algoritma nije važno pa samo ključevi koji se koriste s algoritmom moraju biti tajni, otkrivanje ključeva traži daleko jeftiniji postupak stvaranja i distribucije novih ključeva.
U skladu s Kerckhoffsovim načelom, većina civilne kriptografije koristi javno poznate algoritme. Nasuprot tome, algoritmi koji se koriste za zaštitu povjerljivih državnih ili vojnih podataka često se drže u tajnosti. Tajnost je tu, međutim, u svrhu dodatne sigurnosti, pa se ne pretpostavlja da bi razotkrivanje algoritama dovelo do smanjenja sigurnosti.
Donekle je uobičajeno da tvrtke, a ponekad čak i tijela za standarde, kao u slučaju CSS zaštite na DVD-ovima, drže unutarnji rad sustava u tajnosti. Neki tvrde da ova sigurnost iz nejasnoća čini proizvod sigurnijim i manje osjetljivim na napad. Protuargument je da to možda može kratkoročno poboljšati sigurnost, ali dugoročno treba vjerovati samo sustavima koji su javni i detaljno analizirani.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.