RC4 – en översikt av ett snabbt men problematiskt strömchiffer
RC4 är ett enkelt och snabbt strömchiffer utvecklat av Ron Rivest 1987. Tidigare vitt använd men numera avråds från det på grund av flera kända svagheter och praktiska attacker.
I kryptografin är RC4 ett välkänt exempel på ett streamchiffer som länge använts i praktiska protokoll som Secure Sockets Layer (SSL) och i trådlösa system som WEP. I grunden producerar RC4 en ström av pseudotillfälliga bytevärden som sedan kombineras med klartexten genom en bitvis XOR-operation. Den enkla konstruktionen och höga hastigheten gjorde RC4 populärt i mjukvara och hårdvara, men samma enkelhet bidrog också till flera implementeringsproblem och svagheter kring just början av utdatakärnströmmen.
Egenskaper och hur RC4 fungerar
Algoritmen består av två huvuddelar: en key-scheduling-algoritm (KSA) som initierar ett internt tillstånd utifrån en hemlig nyckel och en pseudotillfällig generator (PRGA) som skapar den löpande nyckelströmmen — alltså de krypterade bitar som kombineras med meddelandet. Nyckellängder i praktiken har varierat, ofta mellan 40 och 256 bitar, och eftersom RC4 är ett strömchiffer är det avgörande att samma nyckelström aldrig återanvänds för mer än ett meddelande.
RC4 utvecklades av Ron Rivest 1987 och distribuerades ursprungligen som proprietär mjukvara. Efter att beskrivningen läckt till nyhetsgruppen och vidare till större delar av Internet blev koden allmänt känd; utskriften verifierades mot proprietär programvara som använde licensierad RC4. Eftersom algoritmen är offentlig används ibland alternativa beteckningar som ARC4 eller ARCFOUR för att hantera varumärkesfrågor.
Användningsområden och historisk spridning
Tack vare små resurser för implementation och hög prestanda införlivades RC4 i en rad krypteringsprotokoll, inklusive tidiga varianter av trådlösa säkerhetslösningar som WPA och WEP samt i många SSL/TLS-implementationer. De främsta skälen för adoption var enkelhet och snabbhet, särskilt i miljöer med begränsade processorkapaciteter eller där låg latens var viktig.
Säkerhet och kända svagheter
Under 1990-talet och 2000-talet upptäcktes flera svagheter i RC4, både i algoritmens initialiseringsbeteende och i statistiska biaser i tidiga byte av keystreamen. Ett vanligt fel var att återanvända IV eller nyckeluppsättningar, vilket ledde till praktiska attacker och gjorde exempelvis WEP mycket osäkra kryptosystem. Kryptografer observerade att RC4 inte längre uppfyller kriterierna för ett säker chiffer, och rekommendationer började istället peka mot modernare konstruktioner och protokoll utan RC4.
- Implementeringsrisker: felaktig hantering av initiala nyckelströmmar.
- Statistiska avvikelser: biaser i tidiga delar av strömmen som kan utnyttjas.
- Nyckelåteranvändning: samma keystream för två olika meddelanden kan avslöja klartext.
Som motåtgärder har praktiker föreslagit att kassera de första bajtena av keystreamen vid varje nyckel (en teknik som ibland förbättrar säkerheten något) och att kombinera RC4 med noggrann nyckelhantering. Trots sådana åtgärder har många standarder och implementatörer slutligen avrådt från RC4 och bytt till andra algoritmer som är designade för nutida hotbilder.
Skillnader mot andra Rivest-chiffer och avslutande anmärkningar
RC4 hör till en familj av ciphers utvecklade av Ron Rivest, där andra kända varianter är RC2, RC5 och RC6. Till skillnad från dessa är RC4 ett renodlat strömchiffer snarare än en blockchiffer. Ursprungligen hölls RC4 som affärshemlighet, men dess spridning och de praktiska problemen som följde visar hur viktigt det är att kryptografiska metoder granskas öppet av både forskare och praktiker — något som kryptografer länge betonat.
För den som vill studera RC4 vidare finns många resurser och analyser att läsa; sökningar på relevanta termer i facklitteratur och tekniska rapporter ger djupare insikt i både konstruktionen och attackmetoderna. Kort sagt: RC4 är historiskt intressant och pedagogiskt användbar för att förstå strömchiffer, men för nyare system bör man välja modernare och bättre granskade alternativ.
RC4-baserade kryptosystem
- WEP
- WPA
- Kryptering av BitTorrent-protokollet
- Microsoft kryptering från punkt till punkt
- Secure Sockets Layer (valfritt)
- Secure Shell (valfritt)
- Klient för fjärrskrivbord (RDC över RDP)
- Kerberos (valfritt)
- SASL-mekanism Digest-MD5 (valfritt)
- Gpcode.AK, ett datavirus för Microsoft Windows från början av juni 2008, som tar dokument som gisslan mot lösen genom att dölja dem med RC4- och RSA-1024-kryptering.
När ett kryptosystem är markerat med "(valfritt)" är RC4 ett av flera chiffer som systemet kan ställas in för att använda.
Relaterade sidor
- Avancerad krypteringsstandard
- Standard för datakryptering (DES)
- DES-X
- eSTREAM - En utvärdering av nya strömkrypter som genomförs av EU.
- TEA, Block TEA även känd som eXtended TEA och Corrected Block TEA - En familj av blockchiffer som, liksom RC4, är utformade för att vara mycket enkla att genomföra.
- Triple DES (TDES)
Frågor och svar
Fråga: Vad är RC4?
S: RC4 (även känd som ARC4 eller ARCFOUR, vilket betyder Alleged RC4) är ett programvaru-strömchiffer som används i populära protokoll som Secure Sockets Layer (SSL) och WEP.
F: Vem skapade RC4?
Svar: RC4 skapades av Ron Rivest från RSA Security 1987.
F: Hur blev algoritmen offentlig?
Svar: Algoritmen blev offentlig när den postades på Cypherpunks mailinglista i september 1994 och sedan spreds till många webbplatser på Internet.
F: Är RC4 varumärkesskyddad?
Svar: Ja, namnet "RC4" är varumärkesskyddat.
F: Vilka är de två anledningarna till att det har använts i stor utsträckning?
S: De två främsta skälen till att RC4 används i så många olika tillämpningar är dess snabbhet och enkelhet. Det är extremt lätt att utveckla RC4 i både mjukvara och hårdvara.
F: Hur fungerar krypteringsalgoritmen?
S: Krypteringsalgoritmen börjar med en annan nyckellängd, vanligen mellan 40 och 256 bitar, med hjälp av key-scheduling-algoritmen (KSA). När detta är klart skapas strömmen av krypterade bitar med hjälp av algoritmen för pseudotillfällig generering (PRGA).
F: Är RC4 säkert för nya tillämpningar?
S: Nej, eftersom det finns många metoder för att angripa den, så den rekommenderas inte för användning i nya tillämpningar.
Relaterade artiklar
Författare
AlegsaOnline.com RC4 – en översikt av ett snabbt men problematiskt strömchiffer Leandro Alegsa
URL: https://sv.alegsaonline.com/art/81419
Källor
- people.csail.mit.edu : Rivest FAQ
- cypherpunks.venona.com : "Thank you Bob Anderson"