Pasirinkto šifrogramos ataka (CCA) — apibrėžimas ir apsauga
Sužinokite, kas yra Pasirinkto šifrogramos ataka (CCA), kaip ji veikia ir kaip apsisaugoti praktiniais būdais—RSA‑OAEP, Cramer‑Shoup ir autentifikuotas šifravimas.
Pasirinkto šifro teksto ataka (CCA) – tai kriptoanalizės atakos modelis, kai užpuolikas turi prieigą prie „iššifravimo orakulo“: jis gali pateikti vieną ar daugiau šifrogramų (dažnai net pasirinktų) ir gauti jų iššifruotas versijas, nors nežino tikrojo rakto. Tikslas gali būti atskleisti slaptą raktą, iššifruoti konkrečią šifrogramą arba generuoti galiojančias šifrogramas be rakto.
Kas tai reiškia praktikoje
Skirtumas tarp pasirinkto šifro teksto atakos ir silpnesnio modelio, pvz., pasirinkto žinučių teksto atakos (CPA), yra prieigos tipas: CPA leidžia užpuolikui pasirinkti žinutes ir gauti jų šifrogramas; CCA suteikia papildomą galią — prieigą prie iššifravimo paslaugos. Tai reiškia, kad net gerai atrodančios schemos, kurios atlaiko CPA, gali būti pažeidžiamos CCA.
Tipai
- Neadaptuojama CCA (CCA1, „lunchtime“) – užpuolikas gali kreiptis į iššifravimo orakulą tik iki tam tikro momento (pvz., iki „pietų pertraukos“), po kurios gauna iššifruoti tikslinę šifrogramą.
- Adaptuojama CCA (CCA2, pilna CCA) – užpuolikas gali adaptuojamai siųsti šifrogramas orakului ir gauti atsakymus net po to, kai gauna tikslinę šifrogramą, tik negali tiesiogiai užklausti orakulo apie pačią tiksline šifrogramą. CCA2 yra stipriausias praktinis saugumo reikalavimas.
Pavyzdžiai ir žinomos problemos
Istoriškai kelios gerai žinomos atakos naudojo iššifravimo orakulo elgesį:
- Bleichenbacherio ataka prieš RSA su PKCS#1 v1.5 padingavimu – serverio klaidų pranešimai veikė kaip orakulas ir leido atakuotojui palaipsniui atstatyti pranešimą.
- CBC padengimo orakulo atakos (pvz., Vaudenay) – netgi vien tik skirtingų klaidų pranešimų grąža ar skirtingas laikas gali atskleisti informaciją apie tarpinį iššifravimo etapą.
- Atvejo, kai ta pati kriptosistema yra naudojama ir pranešimų pasirašymui, ir iššifravimui. Jei pasirašymo procese nėra taikomas tinkamas hashavimas ar aiškus atskyrimas, gali atsirasti galimybė „perversti“ pasirašymą į iššifravimą arba atvirkščiai.
Kaip apsaugoti sistemą nuo CCA
Geriausia strategija – naudoti kriptografinius schemų konstrukcijas, kurios yra įtikinamai saugios nuo pasirinkto šifro teksto atakos (IND-CCA saugumas). Praktiniai apsaugos būdai:
- Naudoti IND-CCA saugias viešo rakto schemas: pvz., RSA-OAEP ar Cramer-Shoup vietoje tiesioginio RSA su silpnu padingavimu.
- Autentifikuotas šifravimas (AE/AEAD): vietoj „šifruoti tik“ naudoti autentifikuoto simetrinio šifravimo formas kaip AES-GCM ar ChaCha20-Poly1305, arba konstruoti „encrypt-then-MAC“ schemą.
- KEM/DEM ir hibridiniai sprendimai: naudojant raktų apkeitimo mechanizmus (KEM), kurie yra IND-CCA saugūs, kartu su simetriniu DEM komponentu.
- Atskirti funkcijas: nenaudoti to paties algoritmo ar rakto pasirašymui ir iššifravimui; visada hash‘inti pranešimus prieš pasirašymą (pvz., pagal RSASSA-PSS ar kitus saugius standarto metodus).
- Tvirtas padingavimas ir validacija: naudoti modernius padingavimo standartus (pvz., OAEP vietoje PKCS#1 v1.5) ir atidžiai validuoti įvestis.
- Limituoti orakulo prieigą ir sutapatinti klaidas: negrąžinti skirtingų klaidų tekstų ar laiko skirtumų, riboti bandymų skaičių, taikyti atgalinį laiko apribojimą ir užkirsti kelią interaktyvioms užklausoms iš nepasitikimų šaltinių.
Praktinės rekomendacijos įgyvendintojams
- Naudokite patikimas, aukšto lygio bibliotekas (pvz., libsodium, modernias TLS bibliotekas) ir aukšto lygio kriptografinius primityvus, kurie jau įgyvendina AEAD ar IND-CCA saugius algoritmus.
- Venkite rašyti savo kriptografijos implementacijų nuo nulio — daug klaidų susijusių su CCA kyla iš neteisingos padingavimo ar klaidų apdorojimo logikos.
- Užtikrinkite, kad klaidų pranešimai būtų vienodi ir negrąžintų detalių, kurios galėtų veikti kaip orakulo informacija.
- Įdiekite ribojimus (rate limiting), užklausų autentiškumo patikrą ir stebėseną, kad būtų pastebėti ir blokuojami įtartini bandymai gauti daug iššifravimų.
- Saugokite raktus ir atskirkite juos pagal naudojimo paskirtį (pvz., atskiri raktai dekriptavimui ir pasirašymui).
Apibendrinant: prieš pradedant naudoti ar įgyvendinti kriptosistemą, įvertinkite, ar ji atlaikytų pasirinktų šifrogramų atakas (ypač adaptuojamas CCA2 atakas). Jei įtariate galimą iššifravimo orakulo prieigą arba jei saugumas turi didelę reikšmę, rinkitės IND-CCA saugias schemas arba autentifikuoto šifravimo sprendimus ir taikykite papildomas praktines apsaugas.
Pasirinkto šifro teksto atakų atmainos
Pasirinkto šifruoto teksto atakos, kaip ir kitos atakos, gali būti adaptyvios arba neadaptyvios. Neadaptyviosios atakos metu užpuolikas iš anksto pasirenka šifro tekstą ar šifro tekstus, kuriuos norėtų iššifruoti, ir nenaudoja gautų atvirų tekstų, kad galėtų pasirinkti daugiau šifro tekstų. Adaptyvios pasirinkto šifro teksto atakos atveju užpuolikas šifro tekstą pasirenka adaptyviai, t. y. priklausomai nuo ankstesnių iššifravimų rezultatų.
Pietūs
Ypač pastebimas pasirinkto šifro teksto atakos variantas yra "pietų meto" arba "vidurnakčio" ataka, kai užpuolikas gali atlikti adaptyvias pasirinkto šifro teksto užklausas, bet tik iki tam tikro laiko, po kurio užpuolikas turi įrodyti, kad jo gebėjimas atakuoti sistemą pagerėjo. Terminas "pietų ataka" reiškia, kad užpuolikas gali naudotis naudotojo kompiuteriu, kuriame yra galimybė iššifruoti šifrą, kai naudotojas yra išėjęs pietauti. Ši atakos forma buvo pirmoji dažniausiai aptariama: akivaizdu, kad jei užpuolikas turi galimybę atlikti adaptyviai parinkto šifro teksto užklausas, joks užšifruotas pranešimas nebus saugus, bent jau tol, kol ši galimybė nebus atimta. Ši ataka kartais vadinama "neadaptyviąja pasirinkto šifro teksto ataka"; šiuo atveju "neadaptyvioji" reiškia tai, kad užpuolikas negali pritaikyti savo užklausų atsakydamas į iššūkį, kuris pateikiamas pasibaigus galimybei pateikti pasirinkto šifro teksto užklausas.
Daugelis praktiškai svarbių pasirinkto šifro teksto atakų yra pietų meto atakos, pavyzdžiui, kai Danielis Bleichenbacheris iš "Bell Laboratories" pademonstravo praktinę ataką prieš sistemas, naudojančias PKCS#1; ją išrado ir paskelbė "RSA Security".
Adaptyvi pasirinkto šifruoto teksto ataka
(Visiškai) adaptyvi pasirinkto šifro teksto ataka - tai ataka, kai šifro tekstai gali būti pasirenkami adaptyviai prieš ir po to, kai užpuolikui pateikiamas iššūkio šifro tekstas, su VIENA sąlyga, kad iššūkio šifro tekstas negali būti užklausiamas. Tai stipresnė atakos sąvoka nei pietų laiko ataka, todėl ji paprastai vadinama CCA2 ataka, palyginti su CCA1 (pietų laiko) ataka. Tokios formos atakų praktikoje yra nedaug. Šis modelis yra svarbus dėl jo naudojimo įrodant saugumą prieš pasirinkto šifro teksto atakas. Įrodymas, kad šio modelio atakos yra neįmanomos, reiškia, kad bet kokia praktinė pasirinkto šifro teksto ataka negali būti įvykdyta.
Kriptosistemos, kurių saugumas nuo adaptyvių pasirinkto šifruoto teksto atakų įrodytas, yra Cramer-Shoup sistema ir RSA-OAEP.
Susiję puslapiai
- Tik šifruoto teksto ataka
- Pasirinkto teksto ataka
- Žinomo teksto ataka
Klausimai ir atsakymai
K: Kas yra pasirinkto šifruoto teksto ataka?
A: Pasirinkto šifro teksto ataka (CCA) - tai kriptoanalizės atakos modelis, kai kriptoanalitikas renka informaciją, bent iš dalies pasirinkdamas šifro tekstą ir gaudamas jo iššifravimą nežinomu raktu.
Klausimas: Kodėl įgyvendintojai turi būti atsargūs, kad išvengtų situacijų, kai užpuolikai gali sugebėti iššifruoti pasirinktus šifrografinius tekstus?
A. Kai kriptosistema yra jautri pasirinkto šifro teksto atakai, įgyvendintojai turi būti atsargūs ir vengti situacijų, kai užpuolikai galėtų iššifruoti pasirinktus šifro tekstus (t. y. vengti pateikti iššifravimo schemą), nes net ir iš dalies pasirinkti šifro tekstai gali sudaryti sąlygas subtilioms atakoms.
Klausimas: Kurios kriptosistemos yra pažeidžiamos atakų, kai pasirašomam pranešimui nenaudojamas hashavimas?
A: Kai kurios kriptosistemos (pvz., RSA) naudoja tą patį mechanizmą pranešimams pasirašyti ir iššifruoti. Tai leidžia atakas, kai pasirašomam pranešimui nenaudojamas hashing.
Klausimas: Koks metodas yra geresnis siekiant išvengti atakų pagal pasirinkto šifro teksto atakos modelį?
Atsakymas: Geresnis metodas yra naudoti kriptosistemą, kuri yra įtikinamai saugi esant pasirinkto šifro teksto atakai, įskaitant (be kitų) RSA-OAEP, Cramer-Shoup ir daugelį autentifikuoto simetrinio šifravimo formų.
K: Ką reiškia RSA-OAEP?
A: RSA-OAEP reiškia RSA Optimal Asymmetric Encryption Padding.
K: Kokia yra viena iš kriptosistemos pažeidžiamumo pasirinkto šifro teksto atakai pasekmių?
A.: Vienas iš kriptosistemos pažeidžiamumo pasirinkto šifro teksto atakai padarinių yra tas, kad įgyvendintojai turi stengtis išvengti situacijų, kai užpuolikai galėtų iššifruoti pasirinktus šifro tekstus (t. y. vengti pateikti iššifravimo schemą).
Klausimas: Kokio tipo atakas gali leisti iš dalies pasirinkti šifrografijos tekstai?
A: Iš dalies pasirinkti šifrografijos tekstai gali sudaryti sąlygas subtilioms atakoms.
Ieškoti