Il vettore di inizializzazione in WEP è un valore casuale a 24 bit che viene utilizzato per inizializzare l'algoritmo RC4.
RC4 è un codice di streaming. Ciò significa che per ogni bit di testo in chiaro, produce un bit di keystream e xors i due, per generare il testo cifrato. Il keystream è semplicemente un flusso di numeri casuali, generato dall'algoritmo RC4.
Nell'operazione più basilare di un codice di flusso, l'algoritmo è seminato con una chiave, in modo tale che la stessa chiave produca sempre lo stesso flusso di numeri casuali. Poiché sia il client che il server conoscono la chiave, possono produrre lo stesso keysteam. Ciò consente al client di eseguire il testo in chiaro con il keystream per produrre il testo cifrato e il server per xor il testo cifrato con il keystream per produrre nuovamente il testo in chiaro.
Ilproblemaconquestoècheunachiaveèlungasolopochedecinedibit,mailtestoinchiaropuòessereungigabyte.DopocheunnumeroelevatodibitèstatoprodottodaRC4,inumericasualidiventanoprevedibiliepossonopersinotornareindietrofinoall'inizio.Questoèovviamenteindesiderabile,perchéunattaccoinchiaronotosarebbeingradodicalcolareilkeystream(c1xorc2=k)eusarloperdecodificareinuovimessaggi.
Perrisolverequestoproblema,èstataintrodottaunaIVpercompletareilseme.L'IVèunvalorecasualea24bitmodificatoperiodicamente,neltentativodiimpedireilriutilizzodelkeystream.Sfortunatamente,24bitsonopiuttostopiccoliel'IVspessononèstatogeneratoinmodoimprevedibile,consentendoagliaggressoridiindovinareleIVfutureeusarleperdedurrelachiave.
Altriattacchihannocoinvoltoattivamentel'iniezionedipacchettinellarete,ingannandoilpuntodiaccessoperrilasciareunsaccodinuoviIV,chehannopermessoagliaggressoridiviolareWEPinpochiminutiosecondi.
Ulterioriletture: