Tik-110.300 Tietoliikennearkkitehtuurit
Tehtävä 7

Kaisu Mononen, 43516H
6.11.1997

MAGIC COOKIES - TAIKAPIPARIT

Sisällysluettelo

1. Yleistä
2. Set-Cookie HTTP Response Header
3. Pipareiden käyttö ja tietoturva
4. Pipareiden torjunta
5. Tulevaisuus
Lähdeluettelo
Linkkejä

1. Yleistä

Pipari on mekanismi, jolla serveri voi sekä tallettaa että saada tietoa käyttäjästä. Pipari on pieni määrä informaatiota, joka tallentuu Internet käyttäjän kovalevylle, kun käyttäjä vierailee pipareita jakavalla kotivulla. Piparien avulla saadaan selville mm. käyttäjän domain, käyttöjärjestelmä ja selain. Pipareihin voidaan tallettaa tietoa siitä kuinka monta kertaa käyttäjä on käynyt tietyllä sivulla tai mitkä ovat hänen suosikkisivunsa. Pipareihin voidaan myös tallentaa sivukohtaisia käyttäjätunnuksia ja salasanoja.

Pipari on korkeintaan 255 merkkiä ja on kooltaan korkeintaan 4 kilotavua [1]. Pipareita voi olla korkeintaan 300 kappaletta ja yksi serveri voi asettaa enintään 20 piparia. Jos määrät ylittyvät, vanhimmat piparit tuhotaan. Serveri voi lukea vain asettamansa piparin tietoja, ei muiden. Koneissa, joissa on Windows käyttöjärjestelmä, piparit tallentuvat yleensä tiedostoon cookies.txt. Maceissä vastaava tiedosto on MagicCookies. Piparit sisältävät vain kryptaamatonta tekstiä eivätkä konekielistä dataa. Ne eivät voi sisältää viruksia. Tyypillisesti piparit eivät ole ajettavia tiedostoja, joten vaikka ne sisältäisivätkin viruksen, se ei saisi aikaan vahinkoa ellei käyttäjä itse ajaisi sitä ohjelmana. Internet Explorer 3.0 sisältää bugin, joka mahdollistaa sovellusten ajamisen sivulta/palvelimelta käsin. Teoriassa Internet Explorer voisi siis ajaa viruksen sisältävän piparin ja siten saastuttaa koneen. Ainuttakaan virusta pipareissa ei toistaiseksi ole tavattu. [2, 3, 4]

Esimerkki cookies.txt tiedostosta:
www.download.com FALSE / FALSE 946598400 csr /=/PC/FrontDoor/0^1^0-0^01.html
www.harmony-central.com FALSE / FALSE 1034625738 s 13013000876945738607
.illuminatus.com TRUE / FALSE 945734399 Count 3

Ensimmäisenä on domain, josta pipari on peräisin. Neljäs sarake kertoo onko käytetty ns. turvallista yhteyttä vai ei. Viides sarake sisältää päivämäärän, jolloin pipari vanhenee. Piparin nimi on toiseksi viimeisessä sarakkeessa ja varsinainen data on viimeisenä. Yleensä data on vain yritykselle merkityksellinen numerosarja, josta maallikko ei ymmärrä mitään. Vaikka piparitiedosto ei ole kryptattu, piparin asettanut sivu on voinut kryptata varsinaisen datansa. Esimerkissä ensimmäinen pipari lienee tallettanut sivun, jolla on viimeksi vierailtu. Viimeinen pipari selvästi laskee, kuinka monta kertaa kyseinen käyttäjä on vieraillut sivulla.

2. Set-Cookie Response Header

Serveri tarjoaa piparia Set-Cookie otsikkona osana HTTP-vastaustaan. Yleensä otsikko luodaaan CGI scriptillä. Otsikon syntaksi on seuraava:

Set-Cookie: NAME=VALUE; expires=DATE;
path=PATH; domain=DOMAIN_NAME; secure

NAME=VALUE
Sisältää piparin varsinaisen datan. Esim. kuinka monta kertaa sivulla on käyty.
expires=DATE
Päivämäärä, jolloin pipari lakkaa olemasta voimassa eli selain "unohtaa" piparin. Päiväys ilmoitetaan seuraavasti:
Wdy, DD-Mon-YYYY HH:MM:SS GMT
Mikäli päivämäärää ei ole määritelty, pipari vanhenee, kun istunto lopetetaan.
path=PATH
Selain palauttaa piparin, mikäli selain pyytää URLia, joka sisältää kyseisen polun.
domain=DOMAIN_NAME
Sen domainin nimi, jolle pipari palautetaan.
secure
Jos otsikkoon on lisätty secure, pipari lähetetään ainoastaan SSL yhteyden kautta.
Set-Cookie otsikon ainoa pakollinen attribuutti on NAME, muut ovat valinnaisia. Kokonainen otsikko näyttää esimerkiksi tältä:

Set-Cookie: Laskuri=1; expires=Wednesday, 09-Nov-1999 23:12:40 GMT; path=/; domain=.tky.hut.fi

[4]

3. Pipareiden käyttö ja tietoturva

Alunperin piparit kehitettiin säästämään käyttäjän aikaa ja vaivaa. Jotkut palvelut vaativat käyttäjältään käyttäjätunnuksen ja salasanan. Jotta käyttäjän ei joka kerta tarvitsisi erikseen kirjoittautua sisään, käyttäjätunnus ja salasana tallennetaan pipariin. Tälläistä metodia käyttää mm. New York Times. Kaupalliset sovellukset saattavat tallentaa pipariin dataa, joka identifioi käyttäjän niin, että luottokortin numeroa ei tarvitse joka kerta lähettää. Käyttäjätunnuksen ja salasanan säilyttäminen piparissa on arveluttavaa, jos on kysymys käyttäjälle maksullisesta palvelusta. Pipareiden tietoja voidaan myös käyttää verkkosivujen kehittämiseen. Tekijät pystyvät seuraamaan, millaisista sivuista ihmiset ovat kiinnostuneita, ja kehittämään omia palvelujaan sen perusteella. [5]

Kaupallisten sivujen lisääntymisen myötä hoksattiin käyttää pipareita käyttäjien personointiin. Pipariin voidaan sisällyttää informaatiota, mistä käyttäjä on sivuilla kiinnostunut, ja luoda henkilökohtainen profiili käyttäjästä. Markkinointiyritykset voivat sitten vaihtaa tietyllä sivulla sijaitsevat mainokset käyttäjään parhaiten vetoavaan profiilin perusteella. Toisaalta yritys voi pitää yllä tietoa, kuinka monta kertaa käyttäjä on nähnyt mainoksen. Pipareiden avulla voidaan näyttää samalle käyttäjälle sarja toisiinsa liittyviä mainoksia, jotka on sijoitettu eri sivulle. Käyttäjä on harhaluulossa, että mainosten sarja on sattumaa - ovathan ne täysin eri sivuilla. [5]

Pipareiden käyttö tiedonkeräykseen nostaa esille tietoturvakysymyksen. Pipareiden avulla ei voi tunkeutua minne tahansa koneen kovalevylle. Ainoastaan piparitiedostoa voidaan lukea. Ei ole siis syytä huoleen, että joku lukisi tiedostojasi. Salasanojen tai luottokortin numeroiden säilyttäminen pipareissa on jo kyseenalaista. Olennaisin asia on kuitenkin: onko eettisesti oikein kerätä tietoa käyttäjistä useinmiten ihmisten sitä tiedostamatta? Yleinen mielipide lienee vastustava.

4. Pipareiden torjunta

Uusimmat selaimet varoittavat pipareista tai torjuvat ne kokonaan, mikäli niin halutaan. Esim. Netscape 3.0 selaimessa piparivaroituksen saa seuraavasti:

Options | Network Preferences | Protocols
Show an Alert Before Accepting a Cookie.

Netscape 4.0 sisältää enemmän valinnaisuutta pipareiden osalta. Selaimen voi asettaa torjumaan kaikki piparit ilman erillisiä varoituksia. Internet Explorer -selaimella piparivaroituksen saa näin:

View | Options | Advanced
Warn Before Accepting Cookies

Esimerkki Netscapen varoituksesta:

The server www.illuminatus.com
wishes to set a cookie
that will be sent
to any server in the domain .illuminatus.com
The name and value of the cookie are:
Count=3
This cookie will persist until Tue Dec 21 01:59:59 1999

Piparin hyväksymisen jälkeen sivu tervehtii: You have been here 2 times!

Mikäli selain ei osaa varoittaa pipareista, piparitiedostolle voi asettaa read-only oikeudet, jolloin pipareita ei voi kirjoittaa kovalevylle. Pipareiden torjuntaan on myös ohjelmia. Luckman's Anonymous Cookie for Internet Privacy on ilmainen ohjelma Win95/NT ja Macintosh käyttäjille. Ohjelman luvataan torjuvan piparit suojaavan kaiken henkilökohtaisen informaation. Cookie Crusher ilmainen ohjelma Win95/NT:lle. Se torjuu kaikki piparit automaattisesti. Cookie Crusherille voi myös määritellä listan sivuista, joilta pipareita halutaan tai ei haluta. Macintosheja varten on myös oma ohjelmansa; Cookie Monster, joka automaattisesti tuhoaa piparitiedostot käynnistyksen yhteydessä. [6, 7, 8, 9]

5. Tulevaisuus

Pipareiden tapaan haalia tietoa vaivihkaa on viime aikoina kiinnitetty paljon huomiota. Osittain pipareiden negatiivisen olemuksen vuoksi yritykset ovat lähteneet kehittämään uutta tapaa saada tietoa käyttäjistä täysin vapaaehtoiselta pohjalta. Open profile Standard (OPS) on standardiehdotus, joka mahdollistaa Internet palvelujen personoinnin, mutta huolehtii silti käyttäjän yksityisyydestä. OPS:ia on ollut kehittämässä yli 60 alan yritystä. OPS antaa käyttäjän luoda oman käyttäjäprofiilinsa. Profiilissa voi olla käyttäjän osoitetiedot, ikä, siviilisääty, harrastukset yms. Käyttäjä voi antaa osan tai kaikki tietonsa kaikkien käyttöön tai valita ne sivut, joille tietoa halutaan antaa. Oletusarvoisesti selain kysyy, annetaanko tietoa vai ei. OPS on siis olennainen parannus yksityisyyden säilyttämiseksi. [10]

Lähdeluettelo:

[1] Christle, D., Cookies in the oven, Window Watch, Vol. 2, nro 10, 1996 - 22.7.1997
<http://www.windowatch.com/cookies.html> ****

[2] Cookies and Viruses - 6.11.1997
<http://www.cookiecentral.com/c_virus.htm> ***

[3] Gimon, C. A., How the Cookie Crumbles, InfoNation Magazine, 1997 - 6.11.1997
<http://www.info-nation.com/cookie.html> ***

[4] Persistent Client State HTTP Cookies, Netscape specifications - 6.11.1997
<http://www.netscape.com/newsref/std/cookie_spec.html> *****

[5] How Web Servers' Cookies Threaten Your Privacy - 3.10.1997
<http://internet.junkbuster.com/cookies.html> ****

[6] Folge, M. E., Christmas Cookies Anyone?, Web Review, nro. 12, 1996 - 6.11.1997
<http://webreview.com/96/12/20/feature/index.html> **

[7] Luckman's Anonymous Cookie for Internet Privacy - 13.8.1997
<http://www.luckman.com/anoncookie/index.html> ***

[8] Cookie Crusher - 3.11.1997
<http://www.thelimitsoft.com/cookie.html> ***

[9] Cookie Monster - 6.11.1997
<http://www.geocities.com/Paris/1778/monster.html> ***

[10] Netscape, Firefly and VeriSign Propose Open Profiling Standard (OPS) to Enable Broad Personalization of Internet Services, Netscape Company Press Release, 27.5.1997
<http://www.netscape.com/newsref/pr/newsrelease411.html> ****

Linkkejä:

Lisää Torjuntaohjelmia: