Přejít na obsah
Domů

RC4 (ARCFOUR) — přehled, princip, historie a bezpečnost

Popis proudové šifry RC4: princip fungování, krátká historie, hlavní použití a známé slabiny. Vysvětlení KSA/PRGA, důvody deprecace a doporučení pro moderní nasazení.

Přehled

RC4 (také ARC4 nebo ARCFOUR) je symetrická proudová šifra navržená Ronem Rivestem koncem 80. let. Její hlavní přednosti byly jednoduchost a rychlost v softwaru i hardwaru. RC4 generuje pseudonáhodný proud bajtů, který se pomocí operace XOR kombinuje s otevřeným textem a produkuje šifrovaný výstup. Díky malé režii byla šifra hojně používána v řadě protokolů a aplikací, avšak s narůstajícím počtem analýz se od jejího používání v nových projektech odstupuje.

Princip fungování

Algoritmus RC4 pracuje ve dvou fázích: KSA (Key-Scheduling Algorithm) inicializuje vnitřní stav zadaným klíčem a PRGA (Pseudo-Random Generation Algorithm) generuje kontinuální proud bajtů. Stav tvoří pole 256 bajtů a dva indexy, které se při každém kroku mění a způsobují permutaci. Výstupní bajty mají být náhodné, ale v praxi vykazují statistické odchylky, především v počátečních octetech proudu.

Historie a šíření

RC4 byl vytvořen firmou RSA Security a po dlouhou dobu byl považován za proprietární. V 90. letech došlo k veřejnému zveřejnění implementace, po kterém komunita ověřila shodu s původní verzí. Značka "RC" (Rivest's Cipher) zůstala spjata s návrhem, přičemž název ARCFOUR se používá z důvodu ochranných známek a právních otázek. RC4 se stal součástí mnoha standardů a protokolů, například v implementacích pro zabezpečení sítí a přenosu dat.

Použití a příklady

V praxi byl RC4 integrován do běžných protokolů, zejména tam, kde byla žádána nízká režie a jednoduchost. Mezi konkrétní oblasti nasazení patřily implementace bezdrátových sítí a starší verze zabezpečení přenosu dat. Hlavní výhodou byla rychlost a malá náročnost na paměť, což umožňovalo použití i v omezených zařízeních.

Bezpečnostní problémy a omezení

RC4 vykazuje několik dobře zdokumentovaných slabin. Nejdůležitější jsou biasy v počátečních bytech generovaného proudu a citlivost na opakované použití stejného proudu (keystreamu). Pokud se začne šifrování bez odstranění prvních bajtů nebo pokud se stejný klíč/vektor inicializace použije vícekrát, útočník může rekonstruovat data nebo postupně získat klíč. U protokolu WEP vedla kombinace chybného návrhu IV a použití RC4 k úplnému prolomení ochrany. Z těchto důvodů moderní kryptografická komunita nedoporučuje RC4 pro nové systémy a mnoho protokolů přestalo RC4 podporovat.

Doporučení a alternativy

  • Vyhnout se RC4 v nových návrzích; preferovat ověřené proudové šifry nebo blokové šifry v bezpečných módech (např. AES-GCM).
  • Pokud je nutné zachovat kompatibilitu se systémy používajícími RC4, aplikovat mitigace jako odstranění prvních bajtů proudu ("RC4-drop") a důsledně předcházet opakovanému použití klíčů.
  • Pro bezdrátové sítě a přenosy dat používat moderní standardy, které řeší slabiny původních návrhů.

Rozdíly a poznámky

RC4 je proudová šifra, což ji odlišuje od blokových šifer, které pracují s pevně velkými bloky dat. Z praktického hlediska to znamená jiný model nasazení a jiné typy chyb, zejména riziko opakování proudu. Přestože byla RC4 v minulosti velmi populární, z hlediska dlouhodobé bezpečnosti ji nahradily robustnější konstrukce s formálně analyzovanými vlastnostmi.

Odkazy a zdroje

Pro další čtení a konkrétní technické detaily je níže uveden přehled odkazů na příklady, standardy a veřejné diskuze:

  1. Dokumentace a popisy RC4
  2. Obecné informace o proudových šifrách
  3. RC4 v kontextu zabezpečení přenosu (TLS/SSL)
  4. Použití RC4 ve WEP
  5. Mitigace: vyřazení počátečních bajtů
  6. Příklady nesprávného použití
  7. Související šifry: RC2
  8. Související šifry: RC5
  9. Související šifry: RC6
  10. Historie a status obchodního tajemství
  11. Veřejná diskuse a zveřejnění kódu
  12. Archivy a internetové zdroje
  13. Ověření implementací
  14. Technické popisy algoritmu
  15. Otázky ochranných známek
  16. RC4 v kryptografických standardech
  17. Použití v bezdrátových standardech
  18. Důvody rozšíření RC4
  19. Šifrovací principy
  20. Délky klíčů a varianty
  21. Popis KSA (Key-Scheduling Algorithm)
  22. Kryptografické standardy a bezpečnostní požadavky
  23. Shrnutí doporučení a bezpečnostních praktik

Kryptosystémy založené na RC4

  • WEP
  • WPA
  • Šifrování protokolu BitTorrent
  • Šifrování Microsoft Point-to-Point
  • Secure Sockets Layer (volitelně)
  • Secure Shell (volitelně)
  • Klient vzdálené plochy (RDC přes RDP)
  • Kerberos (volitelně)
  • Mechanismus SASL Digest-MD5 (volitelně)
  • Gpcode.AK, počítačový virus pro Microsoft Windows ze začátku června 2008, který si bere dokumenty jako rukojmí a požaduje za ně výkupné tím, že je zašifruje pomocí RC4 a RSA-1024.

Pokud je kryptosystém označen "(volitelně)", je RC4 jednou z několika šifer, které lze v systému nastavit.

Související stránky

Otázky a odpovědi

Otázka: Co je RC4?

Odpověď: RC4 (známý také jako ARC4 nebo ARCFOUR, což znamená údajný RC4) je softwarová proudová šifra používaná v populárních protokolech, jako je Secure Sockets Layer (SSL) a WEP.

Otázka: Kdo vytvořil RC4?

Odpověď: RC4 vytvořil Ron Rivest ze společnosti RSA Security v roce 1987.

Otázka: Jak se algoritmus stal veřejným?

Odpověď: Algoritmus se stal veřejným, když byl v září 1994 zveřejněn v poštovní konferenci Cypherpunks a poté se rozšířil na mnoho webových stránek na internetu.

Otázka: Je algoritmus RC4 chráněn ochrannou známkou?

Odpověď: Ano, název "RC4" je chráněn ochrannou známkou.

Otázka: Jaké jsou dva důvody, proč se tento kód široce používá?

Odpověď: Dva hlavní důvody, které napomohly jeho používání v tak velkém rozsahu aplikací, jsou jeho rychlost a jednoduchost. Použití RC4 v softwaru i hardwaru je velmi snadné.

Otázka: Jak šifrovací algoritmus funguje?

Odpověď: Šifrovací algoritmus začíná s různou délkou klíče, obvykle mezi 40 a 256 bity, pomocí algoritmu rozvržení klíče (KSA). Po jeho dokončení se vytvoří proud šifrovaných bitů pomocí algoritmu pseudonáhodného generování (PRGA).

Otázka: Je RC4 považován za bezpečný pro nové aplikace?

Odpověď: Ne, protože existuje mnoho metod, jak jej napadnout, a proto se nedoporučuje používat v nových aplikacích.

Související články

Autor

AlegsaOnline.com RC4 (ARCFOUR) — přehled, princip, historie a bezpečnost

URL: https://cs.alegsaonline.com/art/81419

Sdílet

Zdroje