Angreb med valgt chiffertekst (CCA): Definition, risiko og beskyttelse

Få indblik i angreb med valgt chiffertekst (CCA): definition, risikoer, eksempler (RSA) og effektive beskyttelsesmetoder som RSA-OAEP, Cramer-Shoup og autentificeret kryptering.

Forfatter: Leandro Alegsa

Et angreb med valgt chiffertekst (CCA) er en angrebsmodel inden for kryptoanalyse, hvor angriberen får adgang til en dekrypterings‑"oracle" og dermed kan vælge en eller flere chiffertekster og få dem dekrypteret med en ukendt nøgle. Formålet er at udnytte denne oracle til at lære noget om den hemmelige nøgle eller den originale klartekst. Angreb med valgt chiffertekst er særligt alvorlige, fordi adgang til blot en lille dekrypteringsfunktion ofte kan føre til fuld kompromittering.

Typer af CCA

  • Ikke‑adaptivt CCA (CCA1): angriberen kan få dekrypteret chiffertekster før udfordringen (challenge) udvælges, men ikke efter.
  • Adaptivt CCA (CCA2): angriberen kan få dekrypteret chiffertekster både før og efter udfordringen, med undtagelse af selve udfordringschifferteksten. CCA2 er den stærkeste og mest realistiske model for mange praktiske angreb.

Hvordan angreb virker (eksempler)

  • Padding‑oracle-angreb: hvis et system afslører, om en dekryptering fejler pga. forkert padding, kan en angriber ofte rekonstruere klarteksten ved at sende modificerede chiffertekster og analysere fejlresponsen.
  • Bleichenbacher‑angrebet mod RSA med PKCS#1 v1.5: et konkret eksempel på et CCA, hvor en oracle for "gyldig padding" gjorde det muligt at udlede klartekst eller forfalske signaturer.
  • Signatur vs. dekryptering‑fejl: nogle systemer bruger samme mekanisme til at underskrive og dekryptere. Hvis man ikke anvender korrekt hashing eller separation af funktioner, kan dette åbne for angreb, hvor en dekrypteringsoracle misbruges til at forfalske signaturer.

Hvorfor det er farligt

Hvis et system er sårbart over for CCA, kan konsekvenserne være alvorlige:

  • Udbredt lækage af fortrolige beskeder (klartekstgenkendelse eller fuld klartekst).
  • Utroværdighed af digitale signaturer eller mulige signaturforfalskninger.
  • Komplet kompromittering af en hemmelig nøgle i nogle tilfælde.

Forebyggelse og bedste praksis

For at beskytte mod angreb med valgt chiffertekst anbefales følgende tiltag:

  • Brug kryptosystemer, der er bevist sikre mod CCA, f.eks. RSA‑OAEP og Cramer‑Shoup til offentlige nøgler. Overvej også hybridløsninger, hvor asymmetrisk kryptering bruges til nøgleudveksling og symmetrisk autentificeret symmetrisk kryptering (AEAD) til selve meddelelsen.
  • Undgå at eksponere en dekrypterings‑oracle. APIs bør ikke tilbyde en dekrypteringsfunktion til ubekræftede eksterne parter.
  • Returnér ikke detaljerede fejlmeddelelser ved dekryptering (fx "forkert padding" vs. "forkert nøgle"); brug generiske fejl og konstant‑tid‑operationer, så angribere ikke kan skelne fejlårsager.
  • Hash meddelelsen, inden den underskrives, og brug en passende signatur‑skema (f.eks. brug af PSS for RSA) for at undgå at genbruge dekrypteringsmekanismer til signaturer.
  • Anvend moderne AEAD‑skemaer (fx AES‑GCM, ChaCha20‑Poly1305) for symmetrisk kryptering, da disse kombinerer kryptering og autentificering og dermed forhindrer forgænger‑typer af CCA.
  • Indfør adgangskontrol, rate‑begrænsning og overvågning for at opdage og forhindre gentagne dekrypteringsforespørgsler, som kan være et tegn på et igangværende angreb.
  • Brug veldokumenterede kryptobiblioteker og højere‑niveau API'er, der implicit håndterer korrekt padding, autentificering og fejlhåndtering, frem for at implementere lavniveau‑krypto selv.
  • Udfør trusselsmodellering, penetrationstest, fuzzing og kodegennemgang for at afdække potentielle oracles og utilsigtede lækager af information.
  • Ved kritiske nøgler, overvej brug af HSM’er (hardware security modules) og separat håndtering af signering og dekryptering for at minimere eksponering.

Opsummering

Angreb med valgt chiffertekst er en kraftfuld og praktisk relevant angrebsmodel. Selv tilsyneladende små informationslækager fra en dekrypteringsfunktion kan føre til alvorlige kompromitteringer. Brug derfor kryptosystemer, som er bevist sikre mod CCA, undgå eksponering af dekrypteringsoracles, og følg etablerede implementerings‑ og fejlhåndteringspraksisser for at reducere risikoen.

Varianter af angreb med valgt chiffertekst

Chosen-ciphertext-angreb kan ligesom andre angreb være adaptive eller ikke-adaptive. I et ikke-adaptivt angreb vælger angriberen på forhånd den eller de ciffertekster, der skal dekrypteres, og bruger ikke de resulterende klartekster som grundlag for sit valg af flere ciffertekster. I et adaptivt angreb med valgt chiffertekst foretager angriberen sine valg af chiffertekst adaptivt, dvs. afhængigt af resultatet af tidligere dekrypteringer.

Angreb ved frokosttid

En særlig bemærket variant af angrebet med valgt chiffertekst er "frokost-" eller "midnatsangreb", hvor en angriber kan foretage adaptive forespørgsler om valgt chiffertekst, men kun indtil et bestemt punkt, hvorefter angriberen skal demonstrere en forbedret evne til at angribe systemet. Udtrykket "frokostangreb" henviser til tanken om, at en angriber har adgang til en brugers computer med mulighed for at dekryptere, mens brugeren er ude at spise frokost. Denne form for angreb var den første, der blev diskuteret: Hvis angriberen har mulighed for at foretage adaptive forespørgsler om ciphertext, er ingen krypteret meddelelse sikker, i hvert fald indtil denne mulighed fjernes. Dette angreb kaldes undertiden for "ikke-adaptivt angreb med valgt ciffertekst"; her henviser "ikke-adaptivt" til det faktum, at angriberen ikke kan tilpasse sine forespørgsler som svar på udfordringen, som gives efter at evnen til at foretage forespørgsler med valgt ciffertekst er udløbet.

Mange af de angreb med valgt kode af praktisk betydning er frokostangreb, herunder f.eks. da Daniel Bleichenbacher fra Bell Laboratories demonstrerede et praktisk angreb mod systemer, der anvender PKCS#1, som er opfundet og offentliggjort af RSA Security.

Adaptivt angreb med valgt kodeks

Et (fuldstændigt) adaptivt angreb med valgt chiffertekst er et angreb, hvor der kan vælges chiffertekster adaptivt før og efter, at en udfordrings-chiffertekst er givet til angriberen, med EN betingelse om, at udfordrings-chifferteksten ikke selv kan spørges. Dette er et stærkere angrebsbegreb end frokostangreb og kaldes almindeligvis et CCA2-angreb i forhold til et CCA1-angreb (frokostangreb). Kun få praktiske angreb er af denne form. Denne model er snarere vigtig på grund af dens anvendelse i beviser for sikkerhed mod angreb med valgt chiffertekst. Et bevis for, at angreb i denne model er umulige, indebærer, at ethvert praktisk angreb med valgt chiffertekst ikke kan udføres.

Kryptosystemer, der har vist sig at være sikre mod adaptive angreb med valgt chiffertekst, omfatter Cramer-Shoup-systemet og RSA-OAEP.

Relaterede sider

  • Angreb kun på ciffertekst
  • Angreb med valgt klartekst
  • Angreb med kendt klartekst

Spørgsmål og svar

Spørgsmål: Hvad er et angreb med valgt kodeks?


A: Et "chosen-ciphertext attack" (CCA) er en angrebsmodel for kryptoanalyse, hvor kryptoanalytikeren indsamler oplysninger, i det mindste delvist, ved at vælge en ciphertext og opnå dekryptering af den under en ukendt nøgle.

Spørgsmål: Hvorfor skal implementeringsvirksomhederne være omhyggelige med at undgå situationer, hvor angribere kan være i stand til at dekryptere valgte ciphertekster?


Svar: Når et kryptosystem er modtageligt for angreb med valgte chiffertekster, skal implementeringsansvarlige være omhyggelige med at undgå situationer, hvor angribere kan være i stand til at dekryptere valgte chiffertekster (dvs. undgå at levere en dekrypteringsordning), da selv delvist valgte chiffertekster kan muliggøre subtile angreb.

Spørgsmål: Hvilke kryptosystemer er sårbare over for angreb, når der ikke anvendes hashing på den meddelelse, der skal signeres?


Svar: Nogle kryptosystemer (f.eks. RSA) anvender den samme mekanisme til at signere meddelelser og dekryptere dem. Dette muliggør angreb, når der ikke anvendes hashing på den meddelelse, der skal signeres.

Spørgsmål: Hvad er den bedste metode til at undgå angreb under en model med et angreb med valgt chiffertekst?


Svar: En bedre fremgangsmåde er at anvende et kryptosystem, der beviseligt er sikkert under et angreb med valgt kode, herunder (bl.a.) RSA-OAEP, Cramer-Shoup og mange former for autentificeret symmetrisk kryptering.

Spørgsmål: Hvad står RSA-OAEP for?


A: RSA-OAEP står for RSA Optimal Asymmetric Encryption Padding (RSA-optimal asymmetrisk krypteringspadding).

Spørgsmål: Hvad er en af konsekvenserne af, at et kryptosystem er sårbart over for et angreb med valgt chiffertekst?


Svar: En af konsekvenserne af, at et kryptosystem er sårbart over for et angreb med valgt chiffertekst, er, at de, der gennemfører systemet, skal være omhyggelige med at undgå situationer, hvor angribere kan være i stand til at dekryptere valgte chiffertekster (dvs. undgå at levere en dekrypteringsordning).

Spørgsmål: Hvilken type angreb kan delvist valgte ciphertexter tillade?


Svar: Delvis valgte ciffertekster kan muliggøre subtile angreb.


Søge
AlegsaOnline.com - 2020 / 2025 - License CC3