Atak z wybranym szyfrogramem (Chosen‑Ciphertext Attack)
Wyjaśnienie ataku z wybranym szyfrogramem: definicja, warianty (CCA1/CCA2), zagrożenia dla systemów kryptograficznych, przykłady podatności i typowe metody zapobiegania.
Przegląd
Atak z wybranym szyfrogramem (ang. chosen‑ciphertext attack, CCA) to model ataku w kryptoanalizie, w którym atakujący może wysyłać do pewnego „oracle” dowolnie wybrane szyfrogramy i otrzymywać ich odszyfrowane treści, przynajmniej dla części zapytań. Taka możliwość — nawet częściowa lub ograniczona czasowo — pozwala często na wydobycie sekretnego klucza lub na odzyskanie zaszyfrowanej wiadomości. W literaturze rozróżnia się warianty adaptacyjne (CCA2) i nieadaptacyjne (CCA1) oraz formalne pojęcia bezpieczeństwa, które opisują odporność schematów szyfrowania model ataku i kryptoanaliza.
Charakterystyka i mechanika ataku
W ataku CCA napastnik dobiera szyfrogramy, które następnie są poddawane odszyfrowaniu przez wyznaczonego oracle. Wynik odszyfrowania może być jawny lub może ukazywać jedynie różne rodzaje błędów — i już to wystarcza, by przeprowadzić tzw. padding‑oracle attack. Kluczową cechą jest to, że atakujący obserwuje reakcję systemu na spreparowane dane, co pozwala na stawianie hipotez i ich weryfikację przy kolejnych zapytaniach. Sam termin "szyfrogram" pojawia się w definicji ataku: szyfrogram.
Historia i znane przykłady
W praktyce wiele znanych ataków wykorzystało mechanizmy odszyfrowania lub komunikaty o błędach: klasyczne, "surowe" RSA bez wprowadzenia odpowiednich schematów paddingu było podatne na różne formy ataków, o czym przekonywały badania nad praktycznymi oracle'ami. Implementacyjne błędy i niejednoznaczne komunikaty o błędach często umożliwiały odszyfrowanie lub podrobienie wiadomości w systemach wykorzystujących RSA. Również brak stosowania silnych funkcji skrótu podczas podpisywania wiadomości pogarszał sytuację, gdy operacje odszyfrowania i podpisywania używały tych samych mechanizmów — stąd znaczenie haszowania przy podpisach.
Zagrożenia i znaczenie praktyczne
Atak CCA jest szczególnie groźny dla protokołów, w których decryption oracle może powstać nie tylko jako intencjonalna usługa, ale także na skutek bocznych kanałów: różnic w czasie przetwarzania, komunikatach o błędach, czy w odpowiedziach serwera. W praktyce nawet jednostkowe informacje zwrotne mogą ułatwić odczytanie zaszyfrowanych danych lub podpisać fałszywe wiadomości w imieniu ofiary.
Środki zapobiegawcze i sprawdzalnie bezpieczne schematy
W odpowiedzi na podatności opracowano formalne definicje odporności na CCA oraz schematy zapewniające taką odporność. Przykładowe techniki i zalecenia:
- Użycie schematów, które formalnie spełniają warunki odporności na atak z wybranym szyfrogramem, co bywa określane jako bezpieczeństwo typu CCA‑secure.
- Stosowanie RSA z odpowiednim paddingiem (np. RSA‑OAEP) lub konstrukcji alternatywnych takich jak Cramer‑Shoup; w projektowaniu protokołów oddzielanie funkcji szyfrowania od podpisywania zmniejsza ryzyko.
- Preferowanie metod uwierzytelnionego szyfrowania (AE/AEAD) i MAC‑ów zamiast samych szyfrogramów, co ogranicza możliwość konstruowania oracle'ów: uwierzytelnione szyfrowanie.
- Unikanie zwracania szczegółowych komunikatów o błędach, jednolite traktowanie nieprawidłowych danych oraz implementacje odporne na boczne kanały czasowe.
Wnioski i rozróżnienia
Atak z wybranym szyfrogramem stanowi silniejszy model niż atak z wybranym tekstem jawnym (CPA) i dlatego bezpieczeństwo systemu oceniane względem CCA jest istotnym kryterium praktycznym. Dla projektantów kryptosystemów oznacza to wybór algorytmów i protokołów, które oferują formalną ochronę CCA lub zastosowanie dodatkowych warstw (padding, uwierzytelnianie, separacja kluczy), by zminimalizować ryzyko wycieku informacji przez decryption oracle.
Więcej technicznych wyjaśnień oraz przykłady podatności i poprawnych konstrukcji można znaleźć w literaturze specjalistycznej i opracowaniach praktycznych dotyczących bezpiecznego projektowania systemów kryptograficznych.
Przydatne odnośniki: model ataku, kryptoanaliza, szyfrogram, RSA, haszowanie, schematy CCA‑secure, uwierzytelnione szyfrowanie.
Odmiany ataków typu "chosen-ciphertext
Ataki typu wybrany-szyfrogram, podobnie jak inne ataki, mogą być adaptacyjne lub nieadaptacyjne. W ataku nieadaptacyjnym, atakujący wybiera szyfrogram lub szyfrogramy do odszyfrowania z wyprzedzeniem i nie używa otrzymanych w ten sposób tekstów jawnych do informowania o swoim wyborze kolejnych szyfrogramów. W adaptacyjnym ataku z wybranym szyfrogramem, atakujący dokonuje wyboru szyfrogramu adaptacyjnie, to znaczy w zależności od wyniku wcześniejszych deszyfracji.
Ataki w porze lunchu
Szczególną odmianą ataku typu "chosen-ciphertext" jest atak typu "lunchtime" lub "midnight", w którym atakujący może wykonywać adaptacyjne zapytania typu "chosen-ciphertext", ale tylko do pewnego momentu, po którym musi wykazać się zwiększoną zdolnością do zaatakowania systemu. Termin "atak w porze lunchu" odnosi się do idei, że komputer użytkownika, z możliwością odszyfrowania, jest dostępny dla atakującego, podczas gdy użytkownik jest na lunchu. Ta forma ataku była pierwszą powszechnie omawianą: oczywiście, jeśli atakujący ma możliwość wykonywania adaptacyjnie wybranych zapytań do szyfrogramu, żadna zaszyfrowana wiadomość nie będzie bezpieczna, przynajmniej dopóki ta możliwość nie zostanie odebrana. Atak ten jest czasami nazywany "nieadaptacyjnym atakiem na wybrane szyfrogramy"; tutaj, "nieadaptacyjny" odnosi się do faktu, że atakujący nie może dostosować swoich zapytań w odpowiedzi na wyzwanie, które jest podawane po wygaśnięciu zdolności do wykonywania wybranych zapytań szyfrogramowych.
Wiele ataków typu "chosen-ciphertext" o praktycznym znaczeniu to ataki typu "lunchtime", w tym na przykład taki, w którym Daniel Bleichenbacher z Bell Laboratories zademonstrował praktyczny atak na systemy wykorzystujące PKCS#1; wynaleziony i opublikowany przez RSA Security.
Adaptacyjny atak z użyciem wybranego szyfrującego tekstu
(Pełny) adaptacyjny atak na szyfrogramy jest atakiem, w którym szyfrogramy mogą być wybierane adaptacyjnie przed i po podaniu atakującemu szyfrogramu wyzwania, z JEDNYM warunkiem, że szyfrogram wyzwania nie może być odpytywany. Jest to silniejsze pojęcie ataku niż atak w porze lunchu i jest powszechnie nazywane atakiem CCA2, w porównaniu do ataku CCA1 (w porze lunchu). Niewiele praktycznych ataków ma taką formę. Model ten jest raczej ważny ze względu na jego zastosowanie w dowodach bezpieczeństwa przeciwko atakom typu chosen-ciphertext. Dowód, że ataki w tym modelu są niemożliwe implikuje, że żaden praktyczny atak na wybrany szyfrogram nie może być przeprowadzony.
Do kryptosystemów, których bezpieczeństwo przed atakami typu adaptive chosen-ciphertext zostało potwierdzone, należą system Cramer-Shoup i RSA-OAEP.
Powiązane strony
- Atak tylko na szyfrogram
- Atak z wykorzystaniem wybranych podszeptów
- Atak typu "znany tekst" (ang. known-plaintext attack)
Pytania i odpowiedzi
P: Co to jest atak typu chosen-ciphertext?
O: Atak na wybrany szyfrogram (CCA) to model ataku na kryptoanalizę, w którym kryptoanalityk zdobywa informacje, przynajmniej częściowo, wybierając szyfrogram i uzyskując jego odszyfrowanie pod nieznanym kluczem.
P: Dlaczego implementatorzy muszą uważać, aby uniknąć sytuacji, w których atakujący mogliby odszyfrować wybrane szyfrogramy?
O: Gdy kryptosystem jest podatny na atak typu chosen-ciphertext, implementatorzy muszą uważać, aby uniknąć sytuacji, w których atakujący mogą być w stanie odszyfrować wybrane szyfrogramy (tj. unikać dostarczania schematu deszyfrowania), ponieważ nawet częściowo wybrane szyfrogramy mogą umożliwić subtelne ataki.
P: Które kryptosystemy są podatne na ataki, gdy na podpisywanej wiadomości nie stosuje się haszowania?
O: Niektóre kryptosystemy (takie jak RSA) wykorzystują ten sam mechanizm do podpisywania wiadomości i do ich odszyfrowywania. To pozwala na ataki, gdy hashowanie nie jest stosowane w podpisywanej wiadomości.
P: Jakie jest lepsze podejście, aby uniknąć ataków w modelu ataku na wybrany szyfrogram?
O: Lepszym podejściem jest użycie kryptosystemu, który jest w sposób udowodniony bezpieczny przy ataku typu chosen-ciphertext, w tym (między innymi) RSA-OAEP, Cramer-Shoup i wiele form uwierzytelnionego szyfrowania symetrycznego.
P: Co oznacza skrót RSA-OAEP?
O: RSA-OAEP oznacza RSA Optimal Asymmetric Encryption Padding.
P: Jaka jest jedna z konsekwencji podatności kryptosystemu na atak typu chosen-ciphertext?
O: Jedną z konsekwencji tego, że kryptosystem jest podatny na atak typu chosen-ciphertext jest to, że implementatorzy muszą uważać, aby uniknąć sytuacji, w których atakujący mogliby odszyfrować wybrane szyfrogramy (tzn. unikać dostarczania schematu deszyfrowania).
P: Na jakie ataki mogą pozwolić częściowo wybrane szyfrogramy?
O: Częściowo wybrane szyfrogramy mogą pozwolić na subtelne ataki.
Powiązane artykuły
Autor
AlegsaOnline.com Atak z wybranym szyfrogramem (Chosen‑Ciphertext Attack) Leandro Alegsa
URL: https://pl.alegsaonline.com/art/19992
Źródła
- springerlink.com : A Practical Public Key Cryptosystem Provably Secure against Adaptive Chosen Ciphertext Attack
- springerlink.com : Relations among Notions of Security for Public-Key Encryption Schemes
- bell-labs.com : Chosen Ciphertext Attacks against Protocols Based on RSA Encryption Standard PKCS #1
- www-cse.ucsd.edu : full version (pdf)