Kriptografske tehnike temeljne su u osiguravanju integriteta i povjerljivosti podataka pohranjenih na nepouzdanim poslužiteljima. Primarne metode koje se koriste za postizanje ovih ciljeva uključuju digitalne potpise i enkripciju. Ove tehnike pružaju snažne mehanizme za zaštitu podataka od neovlaštenog pristupa, neovlaštenog mijenjanja i osiguravaju da podaci ostanu nepromijenjeni i autentični.
Digitalni potpisi
Digitalni potpisi su kriptografski protokoli koji pružaju sredstva za provjeru autentičnosti i cjelovitosti digitalnih poruka ili dokumenata. Oni su digitalni ekvivalent rukom pisanih potpisa ili pečata, ali su daleko sigurniji. Digitalni potpisi koriste kriptografiju s javnim ključem (poznatu i kao asimetrična kriptografija) za stvaranje jedinstvenog potpisa za digitalni dokument.
Kako funkcioniraju digitalni potpisi
1. Generiranje ključeva: Proces počinje generiranjem para ključeva – privatnog i javnog ključa. Privatni ključ čuva u tajnosti vlasnik, dok javni ključ distribuira drugima.
2. Potpisivanje: Kada vlasnik želi potpisati dokument, koristi svoj privatni ključ za generiranje potpisa. To se postiže primjenom kriptografske hash funkcije na dokument kako bi se stvorila hash vrijednost (niz bajtova fiksne veličine koji jedinstveno predstavlja podatke). Privatni ključ se zatim koristi za šifriranje ove hash vrijednosti, stvarajući digitalni potpis.
3. Verifikacija: Za provjeru potpisa, primatelj koristi javni ključ potpisnika. Primatelj dekriptira potpis pomoću javnog ključa kako bi dobio hash vrijednost. Zatim neovisno izračunavaju hash vrijednost primljenog dokumenta i uspoređuju je s dekriptiranom hash vrijednošću. Ako se dvije hash vrijednosti podudaraju, potpis se provjerava, što znači da dokument nije mijenjan i da je autentičan.
Osiguravanje integriteta i autentičnosti
- Integritet: Digitalni potpisi osiguravaju da podaci nisu promijenjeni otkad su potpisani. Svaka izmjena podataka rezultirat će različitom hash vrijednošću, uzrokujući neuspjeh postupka provjere.
- Autentičnost: Digitalni potpisi potvrđuju identitet potpisnika. Budući da samo vlasnik privatnog ključa može stvoriti potpis, primatelj može biti siguran da je podatke potpisao legitimni vlasnik.
Primjer
Razmotrite scenarij u kojem tvrtka pohranjuje osjetljive ugovore na nepouzdanom poslužitelju u oblaku. Svaki ugovor se potpisuje privatnim ključem tvrtke. Kada klijent dohvati ugovor, može koristiti javni ključ tvrtke za provjeru potpisa. Ako je potpis valjan, klijent može biti siguran da ugovor nije neovlašteno mijenjan i da je doista od tvrtke.
Šifriranje
Šifriranje je proces pretvaranja podataka otvorenog teksta u nečitljiv format koji se naziva šifrirani tekst, pomoću kriptografskog algoritma i ključa za šifriranje. Samo oni koji posjeduju ključ za dešifriranje mogu pretvoriti šifrirani tekst natrag u čitljiv otvoreni tekst. Enkripcija osigurava da podaci ostanu povjerljivi, čak i ako su pohranjeni na nepouzdanom poslužitelju.
Vrste šifriranja
1. Simetrično šifriranje: U simetričnoj enkripciji, isti ključ se koristi i za šifriranje i za dešifriranje. Ova metoda je učinkovita i prikladna za šifriranje velikih količina podataka. Međutim, ključ se mora sigurno dijeliti između pošiljatelja i primatelja.
- Primjer: Advanced Encryption Standard (AES) široko je korišten simetrični algoritam šifriranja. Tvrtka može koristiti AES za šifriranje svoje baze podataka prije nego što je pohrani na nepouzdani poslužitelj. Samo oni s ključem za dešifriranje mogu pristupiti podacima.
2. Asimetrično šifriranje: Asimetrična enkripcija koristi par ključeva – javni ključ za šifriranje i privatni ključ za dešifriranje. Ova metoda je sigurnija za razmjenu ključeva, ali je računski intenzivnija i sporija od simetrične enkripcije.
- Primjer: RSA (Rivest-Shamir-Adleman) popularan je algoritam asimetrične enkripcije. Korisnik može šifrirati osjetljive poruke e-pošte pomoću javnog ključa primatelja, osiguravajući da samo primatelj može dekriptirati poruku e-pošte svojim privatnim ključem.
Osiguravanje povjerljivosti
- Podaci u mirovanju: Enkripcija osigurava da podaci pohranjeni na nepouzdanom poslužitelju ostanu povjerljivi. Čak i ako neovlaštena strana dobije pristup pohrani, ne može pročitati šifrirane podatke bez ključa za dešifriranje.
- Podaci u prijenosu: Enkripcija također štiti podatke dok se prenose preko mreža. Transport Layer Security (TLS) primjer je protokola koji koristi enkripciju za osiguranje podataka u prijenosu, osiguravajući da ih neovlaštene strane ne mogu presresti i pročitati.
Kombinacija digitalnih potpisa i enkripcije
Za maksimalnu sigurnost, digitalni potpisi i enkripcija često se koriste zajedno. Ova kombinacija osigurava i cjelovitost i povjerljivost podataka.
1. Šifriranje podataka: Prvo, podaci su šifrirani korištenjem simetrične ili asimetrične enkripcije. Ovaj korak osigurava da podaci ostanu povjerljivi i da ih neovlaštene strane ne mogu čitati.
2. Potpisivanje šifriranih podataka: Šifrirani podaci zatim se potpisuju digitalnim potpisom. Ovaj korak osigurava da šifrirani podaci nisu bili neovlašteno mijenjani i potvrđuje identitet pošiljatelja.
Primjer tijeka rada
1. Priprema: Tvrtka želi pohraniti osjetljive financijske zapise na nepouzdanom poslužitelju u oblaku.
2. Šifriranje: Zapisi su šifrirani pomoću AES (simetrične enkripcije) kako bi se osigurala povjerljivost.
3. Potpisivanje: Šifrirani zapisi zatim se potpisuju korištenjem privatnog ključa tvrtke kako bi se osigurao integritet i autentičnost.
4. Čuvanje: Potpisani i šifrirani zapisi pohranjeni su na poslužitelju u oblaku.
5. Dohvaćanje i provjera: Kada se zapisi dohvate, primatelj najprije provjerava digitalni potpis koristeći javni ključ tvrtke. Ako je potpis važeći, primatelj zatim dekriptira zapise pomoću ključa za dešifriranje.
Ovaj tijek rada osigurava da čak i ako neovlaštena strana dobije pristup poslužitelju u oblaku, ne može čitati ili mijenjati zapise. Samo ovlaštene osobe s odgovarajućim ključem za dešifriranje i javnim ključem mogu pristupiti i provjeriti zapise.
Praktična razmatranja
- Upravljanje ključevima: Učinkovito upravljanje ključem važno je za sigurnost kriptografskih sustava. Ključevi moraju biti sigurno generirani, distribuirani, pohranjeni i po potrebi opozvani. Kompromitacija ključeva može dovesti do kvara u sigurnosti.
- Odabir algoritma: Izbor kriptografskih algoritama i veličina ključa trebao bi se temeljiti na trenutnim najboljim praksama i standardima. Algoritmi koji se danas smatraju sigurnima mogli bi u budućnosti postati ranjivi zbog napretka računalne snage i kriptoanalize.
- Izvođenje: Kriptografske operacije mogu biti računalno intenzivne. Utjecaj na performanse treba uzeti u obzir, posebno za velike sustave ili sustave sa zahtjevima u stvarnom vremenu.
Zaključak
Kriptografske tehnike kao što su digitalni potpisi i enkripcija ključni su alati za osiguravanje integriteta i povjerljivosti podataka pohranjenih na nepouzdanim poslužiteljima. Digitalni potpisi pružaju način provjere autentičnosti i cjelovitosti podataka, osiguravajući da nisu izmijenjeni i da potječu iz legitimnog izvora. Enkripcija osigurava da podaci ostanu povjerljivi i da ih neovlaštene strane ne mogu pročitati, čak i ako dobiju pristup pohrani. Kombinacijom ovih tehnika organizacije mogu zaštititi svoje podatke od neovlaštenog pristupa i diranja, čak i kada koriste nepouzdane poslužitelje za pohranu.
Ostala nedavna pitanja i odgovori u vezi EITC/IS/ACSS Napredna sigurnost računalnih sustava:
- Koji su neki od izazova i kompromisa uključenih u implementaciju hardverskih i softverskih ublažavanja vremenskih napada uz održavanje performansi sustava?
- Kakvu ulogu igra prediktor grananja u napadima na CPU mjerenje vremena i kako napadači mogu njime manipulirati da bi curili osjetljivi podaci?
- Kako programiranje s konstantnim vremenom može pomoći u ublažavanju rizika vremenskih napada u kriptografskim algoritmima?
- Što je spekulativno izvršenje i kako ono pridonosi ranjivosti modernih procesora na vremenske napade kao što je Spectre?
- Kako vremenski napadi iskorištavaju varijacije u vremenu izvršenja za izvođenje osjetljivih informacija iz sustava?
- Kako se koncept konzistencije račvanja razlikuje od konzistencije dohvaćanja-modifikacije i zašto se konzistentnost račvanja smatra najjačom mogućom konzistentnošću u sustavima s nepouzdanim poslužiteljima za pohranu?
- Koji su izazovi i potencijalna rješenja za implementaciju robusnih mehanizama kontrole pristupa za sprječavanje neovlaštenih izmjena u zajedničkom datotečnom sustavu na nepouzdanom poslužitelju?
- U kontekstu nepouzdanih poslužitelja za pohranu, koji je značaj održavanja dosljednog i provjerljivog dnevnika operacija i kako se to može postići?
- Što su Byzantine serveri i kako oni predstavljaju prijetnju sigurnosti sustava za pohranu podataka?
- Kako protokoli poput STARTTLS, DKIM i DMARC doprinose sigurnosti e-pošte i koje su njihove uloge u zaštiti komunikacije e-poštom?
Pogledajte više pitanja i odgovora u EITC/IS/ACSS Advanced Computer Systems Security