0Pricing
Cryptology Academy · Lekcja

RC4: konstrukcja, słabości i ataki na WEP

Przeanalizować KSA i PRGA algorytmu RC4 oraz błędy statystyczne, które złamały WEP/TLS

RC4: konstrukcja, słabości i ataki na WEP 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.

Wprowadzenie

RC4 był najczęściej używanym szyfrem strumieniowym przez 20 lat — stosowano go w WEP, TLS i SSL. Obecnie jest całkowicie złamany. Zrozumienie jego porażki uczy kluczowych zasad projektowania kryptografii.

Historia RC4

RC4 (Rivest Cipher 4) został zaprojektowany przez Rona Rivesta w 1987 roku dla RSA Security. Utrzymywano go w tajemnicy handlowej do 1994 roku, kiedy został poddany inżynierii wstecznej i anonimowo opublikowany jako „Alleged RC4” (ARC4).

Planowanie klucza RC4 (KSA)

KSA inicjalizuje 256-bajtową tablicę stanu S: 1. S[i] = i (dla i = 0..255) 2. j = 0 3. Dla i = 0..255: j = (j + S[i] + key[i % keylen]) % 256; zamień S[i], S[j]

Generowanie pseudolosowe RC4 (PRGA)

PRGA generuje bajty strumienia klucza: i = j = 0 Dla każdego bajtu: i = (i+1) % 256 j = (j + S[i]) % 256 zamień S[i], S[j] zwróć S[(S[i]+S[j]) % 256]

Obciążenie początkowych bajtów

Pierwsze bajty danych wyjściowych RC4 są silnie obciążone — nie są losowe. Prawdopodobieństwo, że pierwszy bajt będzie równy 0, jest dwukrotnie większe. Standardową praktyką było odrzucanie pierwszych 1024 bajtów, ale wiele implementacji tego nie robiło.

Atak Fluhrera-Mantina-Shamira (2001)

FMS wykazał, że gdy bajty klucza RC4 są częściowo znane (tak jak w WEP, gdzie IV jest dołączany na początku klucza), analiza statystyczna strumienia klucza ujawnia bajty klucza. WEP można było złamać w ciągu kilku minut.

Podatności WEP

WEP używał RC4 z: krótkim kluczem 40-bitowym + dołączanym na początku 24-bitowym IV. IV był zbyt krótki (powtarzał się co około 5000 pakietów), a kombinacja klucza i IV była przekazywana bezpośrednio do RC4 (co wywoływało obciążenia wykorzystywane przez FMS).

Demonstracja łamania WEP

Narzędzia takie jak aircrack-ng mogły łamać klucze WEP poprzez: 1. Przechwycenie około 40 000 pakietów 2. Wybranie pakietów ze słabymi wartościami IV 3. Zastosowanie analizy statystycznej FMS 4. Odzyskanie 40-bitowego klucza w ciągu kilku sekund WEP został wycofany w 2004 roku i usunięty w 2012 roku.

RC4 w TLS: atak NOMORE (2015)

Atak Bar-Mitzvah i atak NOMORE wykazały, że obciążenia RC4 mogą umożliwić odszyfrowanie plików cookie TLS zaszyfrowanych za pomocą RC4. Firefox i Chrome wyłączyły RC4 w 2015 roku. RFC 7465 zabrania używania RC4 w TLS.

RC4 a współczesne szyfry strumieniowe

Słabości RC4: - obciążone dane wyjściowe - brak obsługi nonce - rozmiar stanu ograniczony do 2048 bitów ChaCha20 eliminuje wszystkie te problemy dzięki przejrzystemu projektowi, formalnym dowodom bezpieczeństwa i jawnemu nonce.

Nigdy nie używaj RC4

RC4 jest zabroniony we wszystkich współczesnych standardach. RFC 7465 (TLS), RFC 7435 (Opportunistic Security), PCI-DSS oraz wszystkie główne biblioteki kryptograficzne oznaczają RC4 jako przestarzały lub usunięty.

Szybkie sprawdzenie

Jaka podstawowa słabość umożliwiła atak FMS i złamanie WEP?

Podsumowanie

RC4 odszedł do przeszłości. Następnie omówimy jego bezpiecznego następcę: ChaCha20 — zaprojektowanego zgodnie ze współczesnymi zasadami kryptografii.

Często zadawane pytania

Czy lekcja „RC4: konstrukcja, słabości i ataki na WEP” jest bezpłatna?

Tak — pełny tekst „RC4: konstrukcja, słabości i ataki na WEP” 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 „RC4: konstrukcja, słabości i ataki na WEP”?

Przeanalizować KSA i PRGA algorytmu RC4 oraz błędy statystyczne, które złamały WEP/TLS Ć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 „RC4: konstrukcja, słabości i ataki na WEP”?

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

  1. Koncepcje szyfrów strumieniowych i PRNG
  2. RC4: konstrukcja, słabości i ataki na WEP
  3. Konstrukcja Salsa20 i ChaCha20
  4. ChaCha20-Poly1305 AEAD w TLS 1.3
← Powrót do Cryptology Academy