I.

Potreba za zaštićenom komunikacijom

Od napretka interneta, veliki dio komunikacije preselili smo na mrežu. Budući da se internet kao komunikacijski medij oslanja na milijune računala koja prenose bitove informacija koje razmjenjujemo, usput ostavljamo tragove komunikacije i samih sebe.

Informacije od jedne razmjene možda neće pružiti previše informacija osobama koje nisu uključene u nju, ali budući da internet koristimo u velikoj mjeri, sama količina informacija koje ostavljamo iza sebe, ma koliko one bile rascjepkane, može se i neizbježno hoće kombinirati kako bi se utvrdio vaš identitet. Izlaganje podataka može dovesti do curenja vaših osobnih informacija na mreži.

Vrlo je važno sačuvati privatnost komunikacije kako bi se ograničile informacije koje ostavljate iza sebe. Kada je vaša komunikacija zaštićena, informacije su u suštini skrivene od javno dostupnih izvora. Načini zaštite privatnosti komunikacije većinom se oslanjaju na šifriranje. U osnovi, šifriranje skriva vašu komunikaciju od svih drugih računala kroz koja informacije putuju. Algoritam šifriranja je ono što određuje koliko je sigurno šifriranje, ali s obzirom na to da podacima rukuju nepouzdana računala (zapamtite, bilo tko može postaviti čvor na internetu) način na koji se ključevi za šifriranje razmjenjuju također može biti slaba točka

Kratak uvod u kriptografiju (engl. cryptography)

Ne morate razumjeti sve pojedinosti šifriranja, ali evo vrlo sažetih osnova o jednostavnim metodama šifriranja. Obično su ljudima zanimljive te informacije. Na kraju krajeva, neki oblik kriptografije koristi se tisućama godina. Možda su prvi poznati korisnici šifriranja bili Egipćani, iako je moguće da je jednostavna zamjena sadržaja poruke s ciljem sakrivanja izvorne poruke bila u uporabi čak i prije njih.

Note

Vratimo se na prvo poglavlje gdje ste učili o CIA trijadi. Kriptografija je čest način kojim se osigurava dobro upravljanje povjerljivošću, koja je sastavni dio trijade.

Cezarova šifra

Rimljani su vrlo često koristili kriptografiju. Poznato je da je Julije Cezar koristio oblik supstitucijske šifre koji je danas poznat kao Cezarova šifra. Šifra je pojam koji opisuje algoritam korišten za šifriranje i dešifriranje podataka. Supstitucijska šifra je šifra u kojoj se jedan znak zamjenjuje drugim, pri čemu je zamjena na neki način određena. Na primjer, Cezar je koristio šifru u kojoj je svako slovo bilo napisano tako da je znak zamijenjen trećim po abecednom redu, tj. A bi postalo D, B bi postalo E itd.

Cezarova šifra
Cezarova šifra

Kao što možete vidjeti na slici, ključ za to „šifriranje“ je „pomak tri koraka unaprijed u abecedi“. Možda i vi možete razbiti takve šifre ovisno o tome koliko je sustav tajan, a ne ključ. U primjeru Cezarove šifre, ključ bi moglo biti bilo što i mogli biste ga vrlo lako pogoditi isprobavanjem svih kombinacija (napad grubom silom) ili korištenjem učestalosti slova u pojedinom jeziku. Na primjer, ako je slovo P najčešće slovo u šifriranoj poruci, a znate da je riječ o engleskom jeziku, bilo bi razumno za pretpostaviti da je slovo P u tajnoj poruci slovo E u nešifriranoj poruci, jer je E najčešće slovo u engleskom jeziku. Različite varijacije supstitucijskih šifri koristile su se barem tisuću godina dok matematika nije pružila bolje načine šifriranja.

Note

Još jedna dobro poznata supstitucijska šifra koja se često spominje je takozvana „šifra iz Kamasutre“. Šifra se prvi put spominje u Kamasutri kao umijeće skrivanja poruka koje su osobito koristile žene. Šifra iz Kamasutre predlaže da se abeceda podijeli na dva dijela i upari. U šifri nema pomaka određene duljine, već se dva slova koja čine par zamjenjuju.

Usput rečeno, šifriranje ne mora biti savršeno. U sukobima poput rata, bitno je samo da se poruka ne može pročitati u nekoliko minuta ili sati. Međutim, u slučajevima gdje su šifrirani podaci povjerljivi i mogu kasnije izazvati štetu, trebate osigurati da se metoda koju koristite ne može lako ugroziti.

Vigenèreova šifra

U 16. stoljeću razvijen je novi i bolji način šifriranja koji je štitio od napada učestalošću. Vigenèreova šifra koristi ponavljajući ključ koji onemogućuje uporabu analize učestalosti jer slovo P više ne odgovara slovu E u većini šifriranih tekstova.

Vigenèreova šifra koristi promjenjivi ključ zahvaljujući kojemu je jednostavna supstitucijska šifra snažnija. Ključ se ponavlja kako bi u cijelosti obuhvatio poruku. Duljina ključa najvažniji je dio Vigenèreove šifre jer je šifra s duljinom ključa od 1 praktički Cezarova šifra. Pogledajmo primjer.

Vigenèreova šifra
Vigenèreova šifra

Primjer Vigenèreova kvadrata. Možete vidjeti da je ova verzija Vigenèreove šifre praktički kružno pomaknuta Cezarova šifra.

Kao što možete vidjeti u gornjoj tablici, ako je ključ samo slovo „D“, šifra je identična onoj šifri koju je Cezar koristio u svojim porukama. Koristeći tablicu, pogledajte red D i stupac A. Vidjet ćete da je slovo A šifrirano kao slovo D, kao u Cezarovoj šifri.

Da biste razumjeli snagu Vigenèreove šifre, proći ćemo kroz potpuniji primjer s duljim ključem. Koristit ćemo gore navedeni Vigenèreov kvadrat (naziva se još i Vigenèreova tablica). Možemo šifrirati nešifriranu poruku „CYBERSECURITY“ s pomoću ključa „SECRET“ na sljedeći način.

Poruka: CYBERSECURITY

Ključ: SECRETSECRETS

Šifrirano:

Najprije moramo u tablici pronaći stupac koji odgovara slovu C u redu S. Koristeći tablicu, vidimo da je rezultat slovo U. Unesite ga kao prvo slovo šifriranog teksta.

Poruka: CYBERSECURITY

Ključ: SECRETSECRETS

Šifrirano: U

Sljedeće slovo poruke je Y u redu E (drugo slovo ključa za šifriranje). Rezultat je slovo C. Ako dodamo to šifriranoj poruci, vidimo da su prva dva slova šifriranog teksta UC.

Poruka: CYBERSECURITY

Ključ: SECRETSECRETS

Šifrirano: UC

Prateći isti taj obrazac, na kraju dobivamo konačni šifrirani tekst:

Poruka: CYBERSECURITY

Ključ: SECRETSECRETS

Šifrirano: UCDVVLWGWIMMQ

Čestitamo, šifrirali ste prvu poruku s pomoću Vigenèreove šifre! Šifra se uspješno koristila otprilike tri stoljeća dok nije otkrivena opća metoda za dešifriranje. Kao što možda nagađate, neke poruke su vrlo vjerojatno dešifrirane ranije jer tajnost poruke ovisi o tajnosti i kvaliteti ključa.

Vigenèreova šifra dugo je vremena bila sigurna, međutim, u 19. stoljeću otkrivene su i objavljene njezine opće slabe točke. Koristeći te metode, šifriranje se uglavnom moglo otkriti neovisno o ključu koji se koristi. Napadi se oslanjaju na slabe točke i ponavljanje ključa u algoritmu kako bi se otkrila duljina ključa (ili moguće duljine ključa) i s tim se informacijama može koristiti napad eliminacijom ključa da bi se otkrilo koji se ključ koristi. Više različitih metoda može se koristiti da bi se pogodila duljina ključa s visokim postotkom sigurnosti.

Jedan oblik Vigenèreove šifre koristile su i snage Konfederacije u Američkom građanskom ratu. Do tada su snage Unije redovito dešifrirale njihove poruke jer je otkriveno nekoliko slabih točaka u šifri.

Vigenèreova šifra koja koristi potpuno nasumičan ključ iste duljine kao nešifrirana poruka obično se smatra neslomljivom te se naziva jednokratan ključ (engl. one-time pad). Jednokratan ključ nema povezanih slabih točaka ponavljajućeg ključa. Budući da se napadi rječnikom ne primjenjuju na potpuno nasumične ključeve, tajnost poruke ovisi o ključu a ne o šifri. Međutim, korištenje jednokratnog ključa je teško jer je slaba točka način razmjene ključa između strana.

Note

Zabavna interaktivna stranica s mnoštvom primjera različitih kriptografskih funkcija u prošlosti je stranica Simon Singha pod nazivom The Black Chamber.

S izumom strojarstva, nove i bolje metode izumljene su u području šifriranja. Izrađivali su se strojevi kod kojih bi se pritiskom na tipku zasvijetlilo šifrirano slovo. Takvi prvi strojevi za mehaničko šifriranje proširili su duljinu vokabulara dodavanjem rotirajućih rotora poredanih jedan uz drugi. Dok bi se jedan rotor s 26 znakova okrenuo od A do Z, drugi bi se pomaknuo jedan korak unaprijed i time skrivao ponavljajući obrazac ključa. Duljina ključa s jednim rotorom bila je 26. Dodavanjem još jednog pomičnog rotora proširile bi se dostupne pozicije na 26 x 26 = 676. Da bi se namjestio zajednički ključ, trebali biste samo reći početno stanje obaju rotora.

Recimo da imamo tri rotora, a početne postavke za sve rotore su A, sa svakim sljedećim pritiskom tipke dobit ćemo sljedeće pozicije:

A A A

B A A

C A A

D A A

Z A A

A B A

B B A

Y Z Z

Z Z Z

A A A

Stvarne postavke, ožičenje i način rada tih strojeva uključivao je puno više od navedenog primjera, ali on pokazuje snagu automatizacije generiranja stvarnog ključa za šifriranje prema početnim postavkama mehaničkih strojeva.

Note

Najpoznatiji od tih strojeva s rotorima bila je Enigma, koju su u velikoj mjeri upotrebljavali Nijemci u Drugom svjetskom ratu. Strojevi Enigma su u ratu koristili između tri i osam rotora. Međutim, način na koji su Nijemci koristili te strojeve omogućio je poljskim i britanskim kriptolozima da iskoriste te slabe točke u dešifriranju njemačkih poruka.

Više informacija o možda najpoznatijem stroju za šifriranje koji je ikada postojao možete pročitati na Wikipediji.

Šifre koje smo proučavali su simetrične šifre, što znači da se isti ključ koji se koristio za šifriranje može koristiti i za dešifriranje. S vremenom su razvijene metode koje ne zahtijevaju prenošenje tajnog ključa primatelju poruke. To se zove asimetrično šifriranje. Kod asimetričnog šifriranja poruka se šifrira s pomoću javnog ključa koji se dobiva iz tajnog ključa primatelja poruke. Na primjer, kada biste htjeli da vam kolege šifriraju poruke, poslali biste im javni ključ i oni bi upotrijebili taj ključ za šifriranje svojih poruka. Nakon šifriranja poruka, samo netko (nadajmo se, vi) tko ima tajni ključ može dešifrirati poruku. To se zove kriptografija javnim ključem jer koristi javni ključ za šifriranje.

Raspršivanje za dokazivanje integriteta

Funkcije raspršivanja uvelike se koriste za provjeru integriteta poruke. Možda se sjećate da je integritet jedna strana CIA trijade (povjerljivost, integritet i dostupnost). Funkcija raspršivanja može se koristiti za provjeru integriteta jednako kao što se lozinka može zaštititi. Funkcija raspršivanja može se koristiti za izračun vrijednosti za cijeli sadržaj poruke i poslati uz izvornu poruku. Primatelj raspršene lozinke zatim može provjeriti podudaraju li se vrijednost raspršivanja (tzv. „sažetak poruke“, engl. message digest) i izračunata vrijednost koju je primio. Neke kriptografske funkcije raspršivanja uključuju i identitet, koji primatelj može provjeriti. Te funkcije stvaraju kod za provjeru autentičnosti poruka (engl. Message Authentication Code, MAC).

Suvremena kriptografija

Suvremena kriptografija ovisi o tajnosti ključa, a koristi imenovane šifre koje se uvelike proučavaju. Šifre mogu biti poznate jer tajnost ovisi o ključu, a ne o tome kako se on koristi. Na primjer, kada posjećujete svoju banku na internetu, vaš preglednik i web-poslužitelj banke sigurno razmjenjuju jednokratni simetrični (i dugački) tajni ključ koji se koristi za šifriranje prometa između vašeg preglednika i poslužitelja banke. Osim toga, kriptografija javnim ključem obično se koristi za provjeru identiteta druge strane. Valjanost svake poruke također se može provjeriti s pomoću koda za provjeru autentičnosti poruka (engl. message authentication code, MAC). Taj proces razmjene ključeva između preglednika i poslužitelja, provjere valjanosti i autentičnosti naziva se TLS ili protokol za sigurnost prijenosa podataka (engl. transport layer security), o kojemu ćemo više učiti u sljedećem poglavlju. Prethodne verzije koristile su metodu koja je sada zastarjela a naziva se SSL, protokol za prijenos zaštitno kodiranih podataka (engl. secure socket layer).

Note

Ključna saznanja o kriptografiji

  • Tajnost vaše poruke uvijek treba ovisiti o tajnosti ključa, a ne o tajnosti sustava šifriranja (to je poznato kao Kerckhoffovo načelo).

  • Uvijek koristite šifre koje su javno preispitane i utvrđene kao standard. Korištenje „tajnog ključa“ ili osmišljavanje vlastitog je loša ideja, jer poput Cezarove šifre, jednom kada je sustav poznat i razumljiv, sve se poruke mogu dešifrirati.

Next section
II. Slanje poruka i sveobuhvatno šifriranje