Kriptografske tehnike so temeljnega pomena pri zagotavljanju celovitosti in zaupnosti podatkov, shranjenih na nezaupnih strežnikih. Primarne metode, uporabljene za doseganje teh ciljev, vključujejo digitalne podpise in šifriranje. Te tehnike zagotavljajo robustne mehanizme za zaščito podatkov pred nepooblaščenim dostopom, spreminjanjem in zagotavljajo, da podatki ostanejo nespremenjeni in pristni.
Digitalni podpisi
Digitalni podpisi so kriptografski protokoli, ki zagotavljajo sredstvo za preverjanje pristnosti in celovitosti digitalnih sporočil ali dokumentov. So digitalni ekvivalent lastnoročnim podpisom ali žigom, vendar so veliko bolj varni. Digitalni podpisi uporabljajo kriptografijo z javnim ključem (znano tudi kot asimetrična kriptografija) za ustvarjanje edinstvenega podpisa za digitalni dokument.
Kako delujejo digitalni podpisi
1. Generacija ključev: Postopek se začne z generiranjem para ključev – zasebnega in javnega ključa. Zasebni ključ lastnik hrani kot skrivnost, javni ključ pa razdeli drugim.
2. Podpisovanje: Ko lastnik želi podpisati dokument, uporabi svoj zasebni ključ za ustvarjanje podpisa. To storite tako, da v dokumentu uporabite kriptografsko zgoščevalno funkcijo, da ustvarite zgoščevalno vrednost (niz bajtov s fiksno velikostjo, ki edinstveno predstavlja podatke). Zasebni ključ se nato uporabi za šifriranje te zgoščene vrednosti in ustvari digitalni podpis.
3. Preverjanje: Za preverjanje podpisa prejemnik uporabi javni ključ podpisnika. Prejemnik dešifrira podpis z uporabo javnega ključa, da pridobi zgoščeno vrednost. Nato neodvisno izračunajo zgoščeno vrednost prejetega dokumenta in jo primerjajo z dešifrirano zgoščeno vrednostjo. Če se obe vrednosti zgoščevanja ujemata, je podpis preverjen, kar pomeni, da dokument ni bil spremenjen in je pristen.
Zagotavljanje integritete in pristnosti
- Integriteta: Digitalni podpisi zagotavljajo, da podatki od podpisa niso bili spremenjeni. Kakršna koli sprememba podatkov bo povzročila drugačno zgoščeno vrednost, zaradi česar bo postopek preverjanja neuspešen.
- Pristnost: Digitalni podpisi preverjajo identiteto podpisnika. Ker lahko samo lastnik zasebnega ključa ustvari podpis, je lahko prejemnik prepričan, da je podatke podpisal zakoniti lastnik.
Primer
Razmislite o scenariju, v katerem podjetje hrani občutljive pogodbe na nezaupljivem strežniku v oblaku. Vsaka pogodba je podpisana z zasebnim ključem podjetja. Ko stranka pridobi pogodbo, lahko za preverjanje podpisa uporabi javni ključ podjetja. Če je podpis veljaven, je stranka lahko prepričana, da pogodba ni bila prirejena in je res s strani podjetja.
šifriranje
Šifriranje je postopek pretvorbe podatkov v navadnem besedilu v neberljivo obliko, imenovano šifrirano besedilo, z uporabo kriptografskega algoritma in šifrirnega ključa. Samo tisti, ki imajo ključ za dešifriranje, lahko pretvorijo šifrirano besedilo nazaj v berljivo odprto besedilo. Šifriranje zagotavlja, da podatki ostanejo zaupni, tudi če so shranjeni na nezaupljivem strežniku.
Vrste šifriranja
1. Simetrično šifriranje: Pri simetričnem šifriranju se za šifriranje in dešifriranje uporablja isti ključ. Ta metoda je učinkovita in primerna za šifriranje velikih količin podatkov. Vendar morata pošiljatelj in prejemnik varno deliti ključ.
- Primer: Napredni šifrirni standard (AES) je pogosto uporabljen simetrični šifrirni algoritem. Podjetje lahko uporabi AES za šifriranje svoje baze podatkov, preden jo shrani na strežnik, ki ni vreden zaupanja. Do podatkov lahko dostopajo samo tisti, ki imajo ključ za dešifriranje.
2. Asimetrično šifriranje: Asimetrično šifriranje uporablja par ključev – javni ključ za šifriranje in zasebni ključ za dešifriranje. Ta metoda je bolj varna za izmenjavo ključev, vendar je računsko intenzivnejša in počasnejša od simetričnega šifriranja.
- Primer: RSA (Rivest-Shamir-Adleman) je priljubljen algoritem asimetričnega šifriranja. Uporabnik lahko šifrira občutljiva e-poštna sporočila z javnim ključem prejemnika, s čimer zagotovi, da lahko samo prejemnik dešifrira e-pošto s svojim zasebnim ključem.
Zagotavljanje zaupnosti
- Podatki v mirovanju: šifriranje zagotavlja, da podatki, shranjeni na nezaupljivem strežniku, ostanejo zaupni. Tudi če nepooblaščena oseba pridobi dostop do pomnilnika, ne more prebrati šifriranih podatkov brez ključa za dešifriranje.
- Podatki v tranzitu: Šifriranje ščiti tudi podatke, ko se prenašajo po omrežjih. Varnost transportnega sloja (TLS) je primer protokola, ki uporablja šifriranje za zaščito podatkov med prenosom, kar zagotavlja, da jih nepooblaščene osebe ne morejo prestreči in prebrati.
Kombinacija digitalnih podpisov in šifriranja
Za največjo varnost se digitalni podpisi in šifriranje pogosto uporabljajo skupaj. Ta kombinacija zagotavlja celovitost in zaupnost podatkov.
1. Šifriranje podatkov: Prvič, podatki so šifrirani s simetričnim ali asimetričnim šifriranjem. Ta korak zagotavlja, da podatki ostanejo zaupni in jih nepooblaščene osebe ne morejo brati.
2. Podpisovanje šifriranih podatkov: Šifrirani podatki so nato podpisani z digitalnim podpisom. Ta korak zagotavlja, da šifrirani podatki niso bili spremenjeni, in preverja identiteto pošiljatelja.
Primer poteka dela
1. Priprava: Podjetje želi hraniti občutljive finančne evidence na nezaupljivem strežniku v oblaku.
2. šifriranje: Za zagotavljanje zaupnosti so zapisi šifrirani z uporabo AES (simetrično šifriranje).
3. Podpisovanje: Šifrirani zapisi so nato podpisani z zasebnim ključem podjetja, da se zagotovi celovitost in pristnost.
4. skladiščenje: Podpisani in šifrirani zapisi so shranjeni na strežniku v oblaku.
5. Pridobivanje in preverjanje: Ko so zapisi priklicani, prejemnik najprej preveri digitalni podpis z javnim ključem podjetja. Če je podpis veljaven, prejemnik dešifrira zapise s ključem za dešifriranje.
Ta potek dela zagotavlja, da tudi če nepooblaščena oseba pridobi dostop do strežnika v oblaku, ne more prebrati ali spremeniti zapisov. Samo pooblaščene osebe z ustreznim ključem za dešifriranje in javnim ključem lahko dostopajo do zapisov in jih preverjajo.
Praktični premisleki
- Upravljanje s ključi: Učinkovito upravljanje ključev je pomembno za varnost kriptografskih sistemov. Ključi morajo biti varno ustvarjeni, razdeljeni, shranjeni in po potrebi preklicani. Ogrožanje ključev lahko povzroči okvaro varnosti.
- Izbira algoritma: Izbira kriptografskih algoritmov in velikosti ključev mora temeljiti na trenutnih najboljših praksah in standardih. Algoritmi, ki danes veljajo za varne, lahko v prihodnosti postanejo ranljivi zaradi napredka v računalniški moči in kriptoanalizi.
- Uspešnost: Kriptografske operacije so lahko računsko intenzivne. Upoštevati je treba vpliv na zmogljivost, zlasti pri obsežnih sistemih ali sistemih z zahtevami v realnem času.
zaključek
Kriptografske tehnike, kot so digitalni podpisi in šifriranje, so bistvena orodja za zagotavljanje celovitosti in zaupnosti podatkov, shranjenih na nezaupnih strežnikih. Digitalni podpisi zagotavljajo sredstvo za preverjanje pristnosti in celovitosti podatkov ter zagotavljajo, da niso spremenjeni in izvirajo iz zakonitega vira. Šifriranje zagotavlja, da podatki ostanejo zaupni in jih nepooblaščene osebe ne morejo brati, tudi če dobijo dostop do shrambe. S kombiniranjem teh tehnik lahko organizacije zaščitijo svoje podatke pred nepooblaščenim dostopom in spreminjanjem, tudi če uporabljajo nezaupljive strežnike za shranjevanje.
Druga nedavna vprašanja in odgovori v zvezi Varnost naprednih računalniških sistemov EITC/IS/ACSS:
- Kateri so nekateri izzivi in kompromisi, povezani z uvedbo ublažitve strojne in programske opreme pred časovnimi napadi ob ohranjanju zmogljivosti sistema?
- Kakšno vlogo ima napovedovalec veje pri napadih na časovni nadzor procesorja in kako lahko napadalci z njim manipulirajo, da uhajajo občutljive informacije?
- Kako lahko programiranje s konstantnim časom pomaga ublažiti tveganje časovnih napadov v kriptografskih algoritmih?
- Kaj je špekulativno izvajanje in kako prispeva k ranljivosti sodobnih procesorjev za časovne napade, kot je Spectre?
- Kako časovni napadi izkoriščajo razlike v času izvajanja za sklepanje občutljivih informacij iz sistema?
- Kako se koncept doslednosti razcepov razlikuje od doslednosti pridobivanja-spreminjanja in zakaj velja doslednost razcepov za najmočnejšo dosegljivo doslednost v sistemih z nezaupljivimi strežniki za shranjevanje?
- Kakšni so izzivi in možne rešitve za implementacijo robustnih mehanizmov za nadzor dostopa za preprečevanje nepooblaščenih sprememb v skupnem datotečnem sistemu na nezaupljivem strežniku?
- Kakšen je pomen vzdrževanja doslednega in preverljivega dnevnika operacij v kontekstu nezaupljivih strežnikov za shranjevanje in kako je to mogoče doseči?
- Kaj so bizantinski strežniki in kako predstavljajo grožnjo varnosti sistemov za shranjevanje?
- Kako protokoli, kot so STARTTLS, DKIM in DMARC, prispevajo k varnosti e-pošte in kakšne so njihove vloge pri zaščiti e-poštnih komunikacij?
Oglejte si več vprašanj in odgovorov v EITC/IS/ACSS Advanced Computer Systems Security