Sikkerhet er en kritisk del av våre moderne liv. Med mange ting som er avhengige av digital kommunikasjon, er sikkerhet i utgangspunktet grunnleggende nå. Ta eksemplet med bare å koble til et nettsted. Hvis tilkoblingen er sikkert kryptert, kan du være trygg på at dataene som sendes mellom deg og webserveren er uendret og ukjent for alle andre. Hvis du kobler til usikkert, kan enhver enhet som sender eller kan se overføringen av forbindelsen din se nøyaktig hvilke data som overføres. I det scenariet kan enhver enhet som er en del av overføringskjeden mellom deg og serveren også redigere dataene under overføring.
Saken med alt dette hemmeligholdet er at det meste ikke er hemmelig i det hele tatt. Faktisk er hele krypteringsalgoritmen offentlig. Bare en enkelt del av systemet trenger å være hemmelig for at de krypterte meldingene skal være sikre. Det er krypteringsnøkkelen. Moderne kryptografi følger Kerckhoffs prinsipp fra 1883: «et kryptosystem skal være sikkert, selv om alt om systemet, bortsett fra nøkkelen, er offentlig kunnskap." Systemer på den tiden stolte vanligvis på et annet prinsipp: sikkerhet gjennom uklarhet.
Sikkerhet gjennom uklarhet
Begrepet sikkerhet gjennom uklarhet ser ut til å gi mer mening i begynnelsen. Hvis hele krypteringssystemet er hemmelig, hvordan kan noen da dekryptere meldingen? Dessverre, selv om dette er fornuftig, er det flere store problemer som det ikke klarer å redegjøre for. Hovedproblemet er ganske enkelt at du ikke kan bruke systemet uten å åpne det for risikoen for at det blir utsatt. Hvis du implementerer det på en datamaskin, kan det bli hacket. En fysisk maskin kan bli stjålet. Hvis du bare lærer pålitelige mennesker, kan de bli lurt eller tatt til fange og torturert.
Et klassisk eksempel på et slikt system er Caesar shift-chifferet. Den er faktisk oppkalt etter Julius Caesar, som brukte den til sensitiv korrespondanse. Cæsar-chiffer justerer transponeringen av en bokstav for en annen på en syklisk måte. Caesar brukte et venstreskift på tre, noe som resulterte i at D ble A. Dette er kjent fra "Life of Julius Caesar" skrevet av Suetonius i år 56AD. Det er uklart hvor sikker chifferen var på det tidspunktet. En slik ordning nå ville i hovedsak ikke gi noen sikkerhet. Grunnen til dette er at systemet er avhengig av at systemet forblir hemmelig. Teknisk sett bruker den en nøkkel, den nøkkelen er antall plasser som er forskjøvet i alfabetet. Antallet mulige nøkler er imidlertid så lite at alle mulige alternativer enkelt kan testes, selv for hånd. Dette etterlater kun mangel på kunnskap om systemet som beskyttelsesfaktor.
Fienden kjenner systemet
På et tidspunkt vil fienden, hvem det enn måtte være, sannsynligvis være i stand til å fullstendig forstå systemet ditt som om det var offentlig. Hvis systemet ditt bare er sikkert hvis systemet er hemmelig, må du erstatte det når systemet er forstått. Dette er kostbart og tar tid. Hvis systemet ditt i stedet bare er avhengig av hemmeligholdet til en nøkkel, er det ikke bare mye lettere å holde hemmelig, men det er også lettere å endre.
Komplekse og dårlig dokumenterte systemer er ofte vanskelige å implementere riktig. De er også vanskelige å vedlikeholde, spesielt når de ikke vedlikeholdes av skaperen. Det må eksistere nok dokumentasjon slik at legitime brukere kan bruke systemet. Denne dokumentasjonen kan deretter anskaffes av en motstander som deretter kan få en delvis eller full forståelse av systemet.
I tillegg er riktig kryptografi utrolig vanskelig å gjøre godt selv for folk som er kjent med konseptene. Hvis et system er designet av en ikke-ekspert, er det en god sjanse for at det i det minste er mindre, om ikke store, feil i det. Et offentlig system kan gjennomgås av alle ekspertene over en periode på tiår. Dette gir en solid grunn til å tro at et velkjent system faktisk er sikkert.
Konklusjon
Sikkerhet gjennom uklarhet er konseptet med et system som er sikkert fordi mekanismen til systemet ikke er forstått. Dessverre er det relativt enkelt å få en forståelse av systemet, og deretter vanskelig å utvikle et tilstrekkelig nytt system. Moderne sikkerhetssystemer, som kryptografi, er vanligvis offentlige og er avhengige av sikkerheten til en hemmelig nøkkel for å beskytte dataene den sikrer. Nøkkelen kan endres etter eget ønske. Mange forskjellige nøkler kan brukes på en gang av forskjellige personer uten negativ effekt. Det er mye lettere å sikre en liten nøkkel enn et helt system. Det er også mye lettere å endre når det er kompromittert.