RC4

RC4 (Ron's Code 4, Rivest Cipher 4, ARC4, ARCFOUR) on RSA Laboratoriesin (nykyisin RSA Security) työntekijän Ronald Rivestin 1987 suunnittelema salausalgoritmi. RC4 on symmetrinen jonosalaaja, joka salaa tiedon yksi tavu kerrallaan. Algoritmi perustuu vaihtelevan mittaiseen salaiseen avaimeen.

Alussa RC4 -avain oli rajoitettu vain 40 bittiin USA:n vientirajoitusten vuoksi, mutta nykyään sitä saa käyttää Suomessakin 64- ja 128-bittisinä (Wassenaarin sopimus). Teoriassa on mahdollista käyttää avaimia yhdestä bitistä 2048:aan asti.

RC4 on kaupallisesti laajasti käytössä mm.  Lotus Notesissa, Oracle SQL:ssä, Microsoft Windowsissa sekä SSL-protokollassa. Algoritmi on tarkoin varjeltu salaisuus, mutta kryptoanalyytikot ovat onnistuneet purkamaan sen. RC4 on toteutettu mm. ilmaisessa OpenSSL-ohjelmistokirjastossa.

 Käyttökielto 

RC4:n murrettavuudesta johtuvien huolien vuoksi se on asetettu käyttökieltoon.

IETF on kieltänyt algoritmin käytön TLS-salauksessa () vuonna 2015.

Myös Mozilla ja Microsoft kieltäneet algoritmin käytön. Microsoft on kuitenkin säilyttänyt RC4:n oletuksena Active Directory -palvelussa.

 Tietoturvasta 

Tuntematon henkilö vuosi 9. syyskuuta 1994 RC4:n lähdekoodin internetiin. Salaus murrettiin muutamassa päivässä tämän jälkeen siinä olevien heikkouksien vuoksi. Käyttö jatkui edelleen vuosikymmenen verran SSL- ja TLS-salauksessa tästä huolimatta.

Tutkijat ovat löytäneet heikkouksia esimerkiksi RC4:n KSA:sta (Key Scheduling Algorithm). Ensimmäinen heikkous on suuri joukko heikkoja avaimia, jolloin pieni osa avaimen pituudesta määrittää suuren osan ensimmäisestä permutaatiosta (KSA:n tulos). Toinen heikkous on näennäissatunnaislukujen muodostaminen, jossa ensimmäinen permutaatio vaikuttaa toistuviin jaksoihin suhteettoman pienellä määrällä bittejä.

KSA on tekniikka, joka pidentää avaimen generaattorin tilaksi -  RC4:n kohdalla 256 luvun permutaatioksi. KSA:ssa vaihtelua ei ole tarpeeksi: juuri alustetun generaattorin tila on liitettävissä samankaltaisella avaimella alustettuun tilaan. Tämä johtaa avainvirran ensimmäisten tavujen samankaltaisuuteen samankaltaisilla avaimilla. Mikäli alustusvektori vain liitetään salaisen avaimen perään, avain on mahdollista selvittää seuraamalla suurta määrää viestejä. Tämä ongelma yleensä väistetään ohittamalla avainvirran ensimmäiset tavut.
RC4-salausavaimen voi murtaa myös uudella PTW-hyökkäyksellä joka tarkkailee RC4-virran kulkua. PTW-hyökkäys on käytössä mm. aircrack-ng:llä.

 Toiminta 

RC4 on käytännössä näennäissatunnaislukugeneraattori (Pseudo-Random Number Generator, PRNG). Se siis luo isoja satunnaislukuja annettujen avainten perusteella. Salattu teksti saadaan yhdistämällä satunnaisluku ja salattava teksti XOR-operaatiolla.

Koska sama satunnaisluku syntyy aina samalla avaimella, tekstin purkaminen onnistuu samalla tekniikalla (kaksi XOR-operaatiota samalla satunnaisluvulla tietysti kumoavat toisensa).

 Lähteet 

Luokka:Salausalgoritmit