Model atakującego Dolev–Yao i kryptografia symboliczna
Modelować protokół kryptograficzny przy założeniach Doleva–Yao
Model atakującego Dolev–Yao i kryptografia symboliczna to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.
Model Doleva-Yao
Zaproponowany przez Danny'ego Doleva i Andrew Yao w 1983 roku model Doleva-Yao jest standardowym modelem przeciwnika stosowanym w symbolicznej analizie protokołów. Atakujący kontroluje całą sieć.
Możliwości atakującego
Atakujący w modelu Doleva-Yao może: przechwytywać dowolne wiadomości, przechowywać wiadomości, ponownie odtwarzać stare wiadomości, fałszować nowe wiadomości na podstawie znanych elementów, ale nie może łamać bazowych prymitywów kryptograficznych.
Założenie doskonałej kryptografii
W modelach symbolicznych szyfrowanie jest idealną czarną skrzynką: atakujący nie może odszyfrować danych bez klucza, rozłożyć dużych liczb na czynniki ani sfałszować podpisów. Upraszcza to analizę, ale może pomijać ataki na poziomie implementacji.
Algebra termów dla komunikatów protokołu
Komunikaty są modelowane jako termy: enc(k, m), sig(sk, m), hash(m), pair(a, b). Atakujący zna określone termy i wyprowadza nowe, korzystając ze zdefiniowanych reguł (reguł dedukcji).
Domknięcie dedukcyjne
Wiedza atakującego jest domknięta względem dedukcji: jeśli zna enc(k,m) oraz k, może wyprowadzić m. Jeśli zna pair(a,b), może wyprowadzić a i b. Domknięcie wiedzy początkowej = wszystko, czego atakujący może się dowiedzieć.
Właściwości bezpieczeństwa jako osiągalność
Bezpieczeństwo protokołu definiuje się następująco: „wiedza atakującego nigdy nie zawiera sekretu s w żadnym osiągalnym stanie”. Poufność = osiągalność. Uwierzytelnianie = brak określonych wzorców niepożądanych śladów.
Modelowanie prostego protokołu
Protokół dwóch stron: A→B: {Na, A}_{K_B}; B→A: {Na, Nb}_{K_A}; A→B: {Nb}_{K_B}. W algebrze termów: Alice wysyła enc(pubkey_B, pair(Na, A)). Weryfikujemy, że po zakończeniu wykonania tylko B zna Na.
Rachunek pi z zastosowaniami
Rachunek pi z zastosowaniami (Abadi i Fournet, 2001) to algebra procesów służąca do modelowania protokołów. Procesy komunikują się za pośrednictwem kanałów; atakujący kontroluje kanały publiczne. ProVerif i Tamarin korzystają z tego formalizmu.
Bezpieczeństwo symboliczne a obliczeniowe
Protokół bezpieczny w modelu Doleva-Yao może nadal być niebezpieczny obliczeniowo, jeśli zastosowana implementacja kryptografii jest słaba. Twierdzenie o poprawności obliczeniowej (Cortier i in.) łączy te dwa ujęcia dla określonych klas prymitywów.
Ograniczenia modelu
Dolev-Yao nie potrafi modelować: właściwości algebraicznych (np. przemienności XOR), ataków wykorzystujących kanały boczne, błędów implementacji ani awarii probabilistycznych. Rozszerzenia, takie jak teoria równościowa, pozwalają modelować niektóre właściwości algebraiczne.
Sprawdzenie wiedzy
Jakiej możliwości NIE ma atakujący w modelu Doleva-Yao?
Podsumowanie lekcji
Model Doleva-Yao daje atakującemu pełną kontrolę nad siecią, ale zakłada doskonałą kryptografię. Komunikaty są termami w algebrze, a bezpieczeństwo jest właściwością osiągalności. Rachunek pi z zastosowaniami zapewnia język formalny. Ograniczenia: nie pozwala modelować zależności algebraicznych, kanałów bocznych ani błędów implementacji.
Często zadawane pytania
Czy lekcja „Model atakującego Dolev–Yao i kryptografia symboliczna” jest bezpłatna?
Tak — pełny tekst „Model atakującego Dolev–Yao i kryptografia symboliczna” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Model atakującego Dolev–Yao i kryptografia symboliczna”?
Modelować protokół kryptograficzny przy założeniach Doleva–Yao Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?
Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Model atakującego Dolev–Yao i kryptografia symboliczna”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?
Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Dlaczego nieformalne dowody nie wystarczają
- Model atakującego Dolev–Yao i kryptografia symboliczna
- ProVerif: automatyczna weryfikacja protokołów
- Tamarin i dowody obliczeniowe