Enkripcija podataka: Funkcionisanje i vrste (Epizoda 2)
FUNKCIONISANJE
Postoje dvije vrste enkripcije: simetrična i asimetrična. Ovi nazivi se odnose na enkripcijske ključeve koji se koriste tokom procesa enkripcije podataka. To je nasumice generisani niz bitova koji se koristi da se izvrši šifrovanje i dešifrovanje.
Svaki enkripcijski ključ se generiše na takav način da se osigura njegova jedinstvenost. Dužina ključa se računa u bitima i u pravilu, što je ključ duži, bolja je enkripcija. Dužina ključa može da varira, tipično se kreće od 1 bita do 256 bita kod simetričnih algoritama, odnosno od 1024 bita do 4096 bita kod asimetričnih algoritama. Postoje dva tipa enkripcijskih ključeva koji se koriste u procesu šifrovanja/dešifrovanja – Privatni ključ i Javni ključ. Matematički su povezani, kako bi bilo koja informacija šifrovana sa Javnim ključem, mogla da bude dešifrovana samo sa Privatnim ključem koje je povezan sa tim istim Javnim ključem. Na osnovu ovih ključeva imamo dva enkripcijska algoritma:
Simetrični algorita
Simetrični algoritam enkripcije koji se oslanja na to da su Javni i Privatni ključ identični. Zbog toga se smatra “brzim” algoritmom.
Asimetrični algoritam
Asimetrični algoritam enkripcije koji koristi različite ključeve za šifrovanje i dešifrovanje. Koliko god bio upotrebljiv, ovaj algoritam je rizičan, jer jednom izgubljen Privatni ključ, ne može biti više vraćen.
Ključ je osnovni dio enkripcije, toliko da je u modernom svijetu kriptografije ključ tajan, a ne algoritam. Jaki enkripcijski algoritmi su osmišljeni da ako neko i poznaje algoritam, ne može dešifrovati podatak bez poznavanja odgovarajućeg ključa. Iz ovoga se zaključuje, da prije nego što se primjeni šifra, pošiljalac i primalac moraju da imaju ključ ili set ključeva kako bi dešifrovali dokument ili informaciju.
ENKRIPCIJSKE ŠIFRE
Sada dolazimo do enkripcijskih šifri koje se koriste za šifrovanje i dešifrovanje. Za razliku od enkripcijskih ključeva koji ne mogu realno da se razbiju korištenjem različitih tehnika za to, enkripcijske šifre mogu da imaju slabosti koje mogu omogućiti njihovo otkrivanje. Zbog toga se, kako bi se to izbjeglo, koriste složene šifre zajedno sa jakim enkripcijskim ključevima. Postoji mnogo šifri koje se koriste, a ovdje ćemo navesti one koje su danas u upotrebi:
3DES šifra
Trostruka DES šifra je ustvari Data Encryption Standard (DES) sa trostrukim korištenjem. Sporija je od Blowfish šifre i podržava samo 56-bitne, 112-bitne i 168-bitne ključeve. Ima 64-bitni blok pa je podložna kriptografskim napadima. Od 2005. godine ova šifra nema podrške, a biti će izbačena iz upotrebe nakon 2023. godine.
AES šifra
Ova šifra može da ima 128-bitne, 192-bitne i 256-bitne ključeve. Veoma je popularna zato što je certifikovana i čak je koriste državne agencije.
Camellia šifra
Ova šifra je navodno dobra koliko i AES, a podržava i 128-bitne, 192-bitne i 256-bitne ključeve. Međutim, nije detaljno testirana i za razliku od AES šifre nema certifikat.
Serpent šifra
Ova šifra je bila na drugom mjestu na prilikom izbora novog kriptografskog standarda odmah poslije AES šifre. Ima 128-bitni blok uz podršku za 128-bitne, 192-bitne i 256-bitne ključeve. Ova šifra nije patentirana i javno je dostupna za svakoga da je koristi u svom softveru.
Blowfish šifra
Ova šifra ima veličinu bloka od 64-bita i obično je praćena sa 128-bitnim ključem. Smatra se relativno sigurnom, ali je zbog nekih izjava njenog autora postoje određene sumnje.
Twofish šifra
Ova šifra je nasljednik Blowfish šifre sa razlikom da je kod nje veličina bloka 128-bita, dok je kod Blowfish šifre to 64-bita, što znači da je manje ranjiva na kriptografske napade.
Kuznyechik šifra
Ova šifra ima veličinu bloka od 128-bita sa ključem dužine od 256-bita i koristi se kao nacionalni kriptografski standard Ruske federacije.
U današnjem vremenu korištenje enkripcijskih šifri zavisi od algoritma i tajnog ključa koji se koristi od strane algoritma da izmjeni podatke u procesu enkripcije. Šifre koje koriste duže ključeve (mjereno u bitovima) su mnogo otpornije na brute-force napade, pa što je duži ključ potrebno je više brute-force pokušaja da bi se razbila šifra. Iako snaga šifre nije uvijek zavisan od dužine ključa, preporuka eksperata je da se koristi najmanje 128-bitni ključ, zavisno od algoritma i potrebe.
UPOTREBA
U modernom svijetu je nemoguće slati, primati i skladištiti podatke korištenjem raznih uređaja, na način da se obezbijede povjerljivosti, integriteta i dostupnosti istih, bez korištenja enkripcije. Enkripciju ne treba posmatrati samo sa aspekta skladištenja i čuvanja podataka, veći i kroz komunikaciju, mrežni saobraćaj, pa i čuvanje lozinki. U zavisnosti od potrebe može se govoriti o:
Enkripciji skladišta u Oblaku
Ovo je opcija ponuđena od strane pružalaca usluge u Oblaku, preko koje se korisnički podaci šifriraju korištenjem enkripcijskog algoritma i tek onda se skladište u Oblaku. Ova vrsta enkripcije je identična enkripciji koja se odvija direktno na korisničkom uređaju, sa razlikom da korisnik usluge mora da prouči pravila i procedure enkripcije i način upravljanja enkripcijskim ključevima koje koristi pružalac usluge.
Enkripcija na nivou kolone
Enkripcija na nivou kolone (eng. column-level encryption) je metoda enkripcije za baze podatka u kojoj informacija u svakoj ćeliji kolone ima istu lozinku za pristup, upis i čitanje podatka.
Dvosmislena enkripcija
Dvosmislena enkripcija (eng. deniable encryption) je metoda koja opisuje tehniku enkripcije u kojoj neovlaštena osoba ne može dokazati postojanje ulaznog podatka. To se radi tako što za dešifrovanje postoje dva ili više načina, zavisno od upotrebljenog ključa. Ova metod se primjenjuje za dezinformisanje kada pošiljalac očekuje ili čak ohrabruje presretanje poruke
Enkripcija kao servis
Enkripcija kao servis (eng. Encryption as a Service – EaaS) je pretplatnički model koji omogućava korisnicima usluge u Oblaku da iskoriste prednosti enkripcije. Ovaj pristup koriste korisnici kojima nedostaje resursa da samostalno upravljaju enkripcijom na način na koji regulatori to od njih zahtijevaju. Korisnici obično na raspolaganju imaju enkripciju cijelog diska, enkripciju baze ili enkripciju fajlova.
Enkripcija od kraja do kraja
Enkripcija od kraja do kraja (eng. End-to-end encryption – E2EE) je metoda enkripcije garantuje da podaci mogu da budu poslani između dva učesnika u komunikaciji bez mogućnosti da ih napadač presretne. Ovaj način enkripcije podataka sprečava uvid ili mijenjanje podataka, jer se podaci šifruju na uređaju pošiljaoca i dešifruju tek na uređaju primaoca uz prethodno razmjenjene odgovarajuće ključeve za dekripciju
Enkripcija na nivou polja
Enkripcija na nivou polja (eng. Field-level encryption – FLE) je metoda enkripcije omogućava da šifruju samo određena polja. Ta polja, primjera radi mogu biti polje za unos broja kreditne kartice, bankovnog računa, matičnog broja, finansijskih i zdravstvenih podataka i slično. Kada se polje definiše, svi unešeni podaci će automatski biti šifrovani.
Enkripcija cijelog diska
Enkripcija cijelog diska (eng. full-disk encryption – FDE) je metoda enkripcije na hardverskom nivou, što znači da se podaci automatski šifriraju na disku u format koji onemogućava čitanje podataka za sve one koji nemaju ključ za dešifrovanje. Pa čak i ako se disk prebaci u drugi uređaj, podaci ostaju zaštićeni. Enkripcija cijelog diska može biti primijenjena na uređaju u procesu proizvodnje ili se može dodati kasnije instalacijom specijalnog softvera.
Homomorfna enkripcija
Homomorfna enkripcija (eng. Homomorphic encryption) je način enkripcije koji omogućava pretvaranje podataka u šifru gdje podataka može biti analiziran, odnosno može se sa njim raditi kao da je u svom originalnom obliku. Ovaj pristup omogućava da se kompleksne matematičke operacije izvrše na šifriranim podacima, bez ugrožavanja same šifre.
HTTPS
HTTPS (eng. Hypertext Transfer Protocol Secure) je enkripcija podataka na HTTP protokolu korištenjem TLS protokola u mrežnom saobraćaju. Da bi se obezbijedio ovaj način komunikacije, certifikat mora biti izdat od povjerljivog i provjerenog izdavača.
Enkripcija veze
Enkripcija veze (eng. Link-level encryption) je šifrovanje koje se vrši kada podatak napušta pošiljaoca i dešifruje se na sljedećoj tački koja može biti odredište ili relejna tačka, a zatim ponovo šifruje prije nego što se pošalje na narednu tačku prijema. Svaka tačka može da koristi drugačiji ključ, pa čak drugačiji algoritam za šifrovanje. Ovaj proces se ponavlja sve dok podatak ne dođe do odredišta.
Mrežna enkripcija
Mrežna enkripcija se primjenjuje u kriptoservisima na sloju mrežnog prenosa – iznad nivoa prenosa podataka, ali ispod aplikacijskog nivoa. Primjenjuje se preko IPsec-a (eng. Internet Protocol Security), skupa protokola i algoritama, za sigurno slanje podatka preko Interneta ili javnih mreža.
Kvantna enkripcija
Kada korisnici pokrenu digitalnu komunikaciju sa bilo kojim dostupnim resursom, ne razmišljaju mnogo o bezbjednosti ili enkripciji sve dok se nešto ne desi. Međutim, bez upotrebe enkripcije bilo bi nemoguće za korisnike i organizacije da obavljaju svoje digitalne aktivnosti bez opasnosti da će neko treći moći vidjeti njihove podatke.