CCA-hyökkäys (valitun salakirjoituksen hyökkäys): määritelmä ja suojaus

CCA-hyökkäys (valitun salakirjoituksen hyökkäys): selkeä määritelmä, riskit ja tehokkaat suojaukset — RSA-OAEP, Cramer-Shoup ja todistetut salausratkaisut.

Tekijä: Leandro Alegsa

CCA-hyökkäys (engl. chosen-ciphertext attack) on salausanalyysin hyökkäysmalli, jossa hyökkääjä voi valita yhden tai useampia salaustekstin (ciphertext) ja saada salauksenpurkupalautteen (decryption) tuntemattomalla avaimella. Näistä palautteista saatua tietoa käytetään järjestelmän heikkouksien paljastamiseen tai salausavaininformaatioon pääsemiseen.

Kun salausjärjestelmä on altis valitulle salakirjoitustekstille kohdistuvalle hyökkäykselle, toteuttajien on oltava erityisen varovaisia välttääkseen tilanteita, joissa hyökkääjä voisi saada käyttöönsä salauksen purkamista tai muuta erottuvaa palautetta. Tämä voi olla hankalaa, sillä jopa osittaiset purkupalautteet tai eroavat virheilmoitukset voivat riittää hienovaraisiin hyökkäyksiin (esim. padding oracle ‑tyyppiset hyökkäykset). Lisäksi jotkin salausjärjestelmät, kuten RSA, käyttävät samoja mekanismeja allekirjoituksiin ja salauksen purkamiseen, mikä voi johtaa vaarallisiin yhteisvaikutuksiin, jos esimerkiksi allekirjoitettavaan viestiin ei ole käytetty asianmukaista suojelua tai hakkerointia. Parempi lähestymistapa on käyttää kryptojärjestelmiä, jotka ovat todistettavasti turvallisia valittuun salakirjoitustekstiin kohdistuvissa hyökkäyksissä, kuten muun muassa RSA‑OAEP, Cramer–Shoup ja monet todennetun symmetrisen salauksen muodot.

Miten CCA toimii käytännössä

Perusidea on, että hyökkääjä voi esittää järjestelmälle valittuja salaustekstejä ja saada järjestelmältä niiden purkamiseksi tarkoitettuja vastauksia tai virheilmoituksia. Hyökkääjä käyttää näitä vastauksia kertyvän tiedon muodostamiseen ja lopulta pyrkii purkamaan suojatun viestin tai paljastamaan yksityisen avaimen. Mallissa erotellaan usein:

  • valittujen salaustekstien antaminen ennen varsinaisen haavoittuvan viestin vastaanottoa (CCA1), ja
  • valittujen salaustekstien antaminen myös sen jälkeen, kun hyökkääjä on nähnyt haavoittuvan salakirjoituksen (CCA2, vahvempi malli).

Tyypillisiä CCA‑hyökkäyksiä

  • Padding oracle -hyökkäykset: hyökkääjä lähettää muunneltuja salaustekstejä ja analysoi järjestelmän palauttamat virheilmoitukset tai aikavasteet selvittääkseen oikean täytemuodon.
  • Bleichenbacherin hyökkäys: tunnettu käytännön hyökkäys RSA‑järjestelmiä vastaan, jotka käyttävät heikkoa täyttöä (padding).
  • Signattu vs. salattu -vuorovaikutus: tilanteet, joissa sama avain tai matriisi käytetään sekä allekirjoituksiin että salaukseen, voivat mahdollistaa allekirjoitusoperaatioiden hyväksikäytön salauksen purkamiseen.

Suojautuminen ja suunnitteluohjeet

Hyväksyttävä suojaus vaatii sekä oikean kryptografisen konstruktion että huolellisen käytännön toteutuksen. Keskeisiä toimenpiteitä:

  • Käytä algoritmeja ja protokollia, jotka ovat todistettavasti turvallisia IND‑CCA‑mallissa (esim. RSA‑OAEP, Cramer–Shoup, modernit KEM/DEM‑rakenteet).
  • Käytä autentikoitua salausta (AEAD, esim. AES‑GCM, ChaCha20‑Poly1305) tai erillistä MAC:ia ennen purkua (Encrypt‑then‑MAC), jotta purkupalautteita ei anneta ilman autentikointia.
  • Vältä samaa avainta eri käyttötarkoituksiin (ei samaa avainta sekä allekirjoituksiin että salaukseen).
  • Rajoita ja yhtenäistä virheilmoituksia ja aikavasteita — älä paljasta erikseen täyttö- tai purkuvirheiden syitä.
  • Toteuta täyttö (padding) ja sen tarkastus turvallisesti ja vakioaikaisesti, jotta sivukanavahaitat (timing) eivät vuodata tietoa.
  • Käytä protokollien tarkastusta ja todistettavaa turvallisuutta suunnittelussa (provable security), ja pidä kirjastoissa ja toteutuksissa viimeisimmät turvallisuuspäivitykset.
  • Pidä palvelimen purku‑rajapinnat eristettyinä ja rajoitettuina; älä tarjoa yleistä "decryption oraclea" julkisesti.

Käytännön suositukset

  • Valitse todistetusti CCA‑kestäviä ratkaisuja aina kun viestit tai avaimet ovat arvoa: käytä RSA‑OAEP:ia tai hybridiarkkitehtuuria, jossa KEM hoitaa avaintenvaihdon ja DEM varmistaa viestien eheydentarkistuksen.
  • Hyödynnä valmiita, hyväksi tunnettuja kirjastoja, jotka tarjoavat AEAD‑rajapinnan, sen sijaan että rakentaisit oman täyttö‑ tai autentikointimekanismin.
  • Arvioi järjestelmän uhkakuva: selvitä, onko hyökkääjän mahdollista lähettää ja saada purkupalautteita ja ota tarpeelliset suojaukset käyttöön.

Yhteenveto

Valittuun salakirjoitustekstiin kohdistuvat hyökkäykset ovat vakava uhka, koska ne voivat hyödyntää jopa pienestä palautetiedosta syntyvää informaatiota. Paras suoja on käyttää rakenteita ja protokollia, jotka ovat suunniteltu kestämään CCA‑tyyppisiä hyökkäyksiä, sekä huolehtia toteutuksen yksityiskohdista (virheilmoitukset, täytöt, avainten eriyttäminen, autentikointi). Näin minimoidaan riski, että hyökkääjä voi purkaa viestejä tai saada haltuunsa salausavaimia.

Valitun salakirjoitustekstin hyökkäysten lajikkeet

Valittu salakirjoitus -hyökkäykset, kuten muutkin hyökkäykset, voivat olla adaptiivisia tai ei-adaptiivisia. Ei-adaptiivisessa hyökkäyksessä hyökkääjä valitsee salatekstin tai salatekstit purettavaksi etukäteen, eikä käytä tuloksena saatuja selkotekstejä uusien salatekstien valintaan. Adaptiivisessa valittua salakirjoitustekstiä koskevassa hyökkäyksessä hyökkääjä tekee salakirjoitustekstiä koskevat valinnat adaptiivisesti eli aiempien salausten tulosten perusteella.

Lounasaikaiset hyökkäykset

Erityisen huomionarvoinen muunnelma valittuun salakirjoitustekstiin perustuvasta hyökkäyksestä on "lounasaika"- tai "keskiyö"-hyökkäys, jossa hyökkääjä voi tehdä mukautuvia valittuun salakirjoitustekstiin perustuvia kyselyjä, mutta vain tiettyyn pisteeseen asti, jonka jälkeen hyökkääjän on osoitettava, että hänen kykynsä hyökätä järjestelmään on parantunut. Termi "lounasaikahyökkäys" viittaa ajatukseen, että käyttäjän tietokone, jolla on kyky purkaa salaus, on hyökkääjän käytettävissä, kun käyttäjä on lounaalla. Tästä hyökkäysmuodosta keskusteltiin yleisesti ensimmäisenä: jos hyökkääjällä on kyky tehdä mukautuvasti valittuja salatekstikyselyjä, mikään salattu viesti ei ole turvassa ainakaan siihen asti, kunnes tämä kyky otetaan pois. Tätä hyökkäystä kutsutaan joskus "ei-adaptiiviseksi valitun salatekstin hyökkäykseksi"; tässä "ei-adaptiivinen" viittaa siihen, että hyökkääjä ei voi mukauttaa kyselyjään vastauksena haasteeseen, joka annetaan sen jälkeen, kun kyky tehdä valitun salatekstin kyselyjä on päättynyt.

Monet käytännön kannalta tärkeät valittuun salakirjoitustekstiin kohdistuvat hyökkäykset ovat lounasaikahyökkäyksiä, kuten esimerkiksi Daniel Bleichenbacher Bell Laboratoriesista osoitti käytännön hyökkäyksen järjestelmiä vastaan, jotka käyttävät PKCS#1:tä, jonka on keksinyt ja julkaissut RSA Security.

Mukautuva valittua salakirjoitusta vastaan tehty hyökkäys

(Täysin) adaptiivinen valittuun salakirjoitustekstiin perustuva hyökkäys on hyökkäys, jossa salakirjoitustekstit voidaan valita adaptiivisesti ennen ja jälkeen sen, kun haaste-salakirjoitusteksti on annettu hyökkääjälle, sillä edellytyksellä, että haaste-salakirjoitustekstiä ei voida itse kysyä. Tämä on vahvempi hyökkäyskäsite kuin lounasaikahyökkäys, ja sitä kutsutaan yleisesti CCA2-hyökkäykseksi verrattuna CCA1-hyökkäykseen (lounasaikahyökkäykseen). Harvat käytännön hyökkäykset ovat tämän muotoisia. Pikemminkin tämä malli on tärkeä sen vuoksi, että sitä käytetään turvallisuustodistuksissa valittuun salakirjoitustekstiin kohdistuvia hyökkäyksiä vastaan. Todiste siitä, että tämän mallin mukaiset hyökkäykset ovat mahdottomia, merkitsee, että mitään käytännön valittuun salakirjoitustekstiin kohdistuvaa hyökkäystä ei voida suorittaa.

Kryptojärjestelmiä, jotka ovat osoittautuneet turvallisiksi adaptiivisia valittuun salakirjoitustekstiin kohdistuvia hyökkäyksiä vastaan, ovat Cramer-Shoup-järjestelmä ja RSA-OAEP.

Aiheeseen liittyvät sivut

  • Vain salakirjoitustekstiä koskeva hyökkäys
  • Valittu-plaintext-hyökkäys
  • Tunnetun tekstin hyökkäys

Kysymyksiä ja vastauksia

K: Mikä on valittu salakirjoitusteksti -hyökkäys?


A: Valittu salakirjoitusteksti -hyökkäys (selected-ciphertext attack, CCA) on kryptoanalyysin hyökkäysmalli, jossa kryptoanalyytikko kerää tietoa ainakin osittain valitsemalla salaustekstin ja hankkimalla sen salauksen purkamisen tuntemattomalla avaimella.

Kysymys: Miksi toteuttajien on oltava varovaisia välttääkseen tilanteita, joissa hyökkääjät voivat pystyä purkamaan valitun salaustekstin?


V: Kun salausjärjestelmä on altis valittuun salakirjoitustekstiin kohdistuville hyökkäyksille, toteuttajien on oltava varovaisia välttääkseen tilanteita, joissa hyökkääjät voivat pystyä purkamaan valitut salakirjoitustekstit (eli välttääkseen salauksenpurkujärjestelmän tarjoamista), koska jopa osittain valitut salakirjoitustekstit voivat mahdollistaa hienovaraiset hyökkäykset.

Kysymys: Mitkä kryptojärjestelmät ovat haavoittuvia hyökkäyksille, kun allekirjoitettavaan viestiin ei käytetä hashingia?


V: Jotkin salausjärjestelmät (kuten RSA) käyttävät samaa mekanismia viestien allekirjoittamiseen ja salauksen purkamiseen. Tämä mahdollistaa hyökkäykset silloin, kun allekirjoitettavaan viestiin ei käytetä hashingia.

Kysymys: Mikä on parempi lähestymistapa hyökkäysten välttämiseksi valittuun salakirjoitustekstiin perustuvassa hyökkäysmallissa?


V: Parempi lähestymistapa on käyttää salausjärjestelmää, joka on todistettavasti turvallinen valittuun salakirjoitustekstiin perustuvassa hyökkäyksessä, kuten (muun muassa) RSA-OAEP, Cramer-Shoup ja monet todennetun symmetrisen salauksen muodot.

K: Mitä tarkoittaa RSA-OAEP?


V: RSA-OAEP on lyhenne sanoista RSA Optimal Asymmetric Encryption Padding.

K: Mikä on yksi seurauksista siitä, että salausjärjestelmä on haavoittuvainen valittuun salakirjoitustekstiin kohdistuvalle hyökkäykselle?


V: Yksi seurauksista siitä, että salausjärjestelmä on haavoittuvainen valittuun salakirjoitustekstiin kohdistuvalle hyökkäykselle, on se, että toteuttajien on oltava varovaisia välttääkseen tilanteita, joissa hyökkääjät voisivat purkaa valitut salakirjoitustekstit (eli välttääkseen salauksen purkujärjestelmän tarjoamista).

Kysymys: Millaisia hyökkäyksiä osittain valitut salaustekstit voivat sallia?


V: Osittain valitut salaustekstit voivat mahdollistaa hienovaraisia hyökkäyksiä.


Etsiä
AlegsaOnline.com - 2020 / 2025 - License CC3