Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: IP-osoitteiden hashaus

Deffi [03.08.2010 19:07:52]

#

Ajatuksena olisi hashata foorumin käyttäjien IP:t ennen tietokantoihin tallentamista tai muuta käsittelyä. Millainen hash-algoritmi olisi hyvä tähän tarkoitukseen, kun tavoitteena olisi tehdä IP-osoitteen selvittäminen tiivisteestä mahdollisimman vaikeaksi? Vai keksittekö muuta ratkaisua tähän ongelmaan? Hashien avulla pitäisi pystyä bännäämään käyttäjiä tai etsimään tietyn käyttäjän postaukset.

IPv4 avaruudessa on vain noin 4,3 miljardia eri IP:tä, joten niiden brute-forcettaminen on aika helppoa. Ja paljon vähemmän jos IP:t rajataan vain suomalaisiin. Ratkaisuksi en keksi muuta kuin tarpeeksi raskaan hash-algoritmin käyttöä, joka taas voi aiheuttaa omia ongelmia, koska algoritmi on suoritettava joka kerta kun sivu ladataan.

Ajatuksia ja ideoita otetaan vastaan. Sekä perusteltua dissausta, jos IP-osotteiden tiivistäminen on joidenkin mielestä tyhmää.

Antti Laaksonen [03.08.2010 21:40:03]

#

Jos hyökkääjä ei pääse käsiksi koodiin, ihan tällainen riittää:

$hash = md5($ip . $sala);

Tässä $ip on IP-osoite ja $sala on salainen pitkä merkkijono. Jos hyökkääjä ei tiedä merkkijonoa $sala, hän ei käytännössä pysty selvittämään IP-osoitetta hash-arvosta.

punppis [03.08.2010 23:01:27]

#

Mikä hyöty on salata ip-osoite? Ei se ole mitään salaista tietoa.

Deffi [04.08.2010 03:47:48]

#

Parantaa käyttäjän yksityisyyttä, jos ylläpitäjät, moderaattorit tai muut tahot (lue: poliisi) eivät pääse jäljittämään käyttäjiä. Sananvapaus ja silleen. Esimerkiksi Northpole-imgboardilta löytyy vastaava järjestely. Siellä IP:t hashataan tietääkseni sha1():lla ilman salttia.

Kai se on paras ratkaisu mennä Antin esittämällä kaavalla. Mietin aluksi jos IP:stä jättäisi ekan tavun kokonaan pois, jolloin ei voisi tarkkaan sanoa mistä IP:stä viestit on lähetetty. Saattaisi tulla liikaa "törmäyksiä" ja aika epävarmalta tuntuu muutenkin.

temu92 [04.08.2010 06:37:37]

#

Kyllähän käyttäjien IP:t tallentuu kai serverin logeihin että nekin pitää kadottaa :P

Metabolix [04.08.2010 12:13:16]

#

Deffi kirjoitti:

IPv4 avaruudessa on vain noin 4,3 miljardia eri IP:tä, joten niiden brute-forcettaminen on aika helppoa.

Yksi mahdollisuus on käyttää rivikohtaista suolaa, joka on arvottu tai muodostettu rivin muista tiedoista kuten aikaleimasta. Hakukyselyistä tulee tällä tavalla jonkin verran hitaampia, koska tarkistus ei ole enää muotoa hashattu_ip = hashattu_haku vaan hashattu_ip = HASH(CONCAT(suola, haku)). Samalla kaavalla onnistuu toki myös brute-force, mutta nyt yksittäisen rivin purkaminen ei vielä paljasta muita rivejä, ja toisaalta ei ole kovin tehokasta kokeilla jokaisella IP:llä kaikkien rivien hakemista. Lisäksi jos oletetaan, että PHP-koodi on salaista, voidaan saada etua Antin mainitsemasta vakiosuolasta tai muusta tekijästä, jota koodia tuntematon krakkeri ei pysty arvaamaan.

punppis kirjoitti:

Mikä hyöty on salata ip-osoite? Ei se ole mitään salaista tietoa.

IP-osoitteen perusteella voi kuitenkin selvittää melko luotettavasti käyttäjän sijainnin, jos hän ei ole käyttänyt erityistä välityspalvelinta.

temu92 kirjoitti:

Kyllähän käyttäjien IP:t tallentuu kai serverin logeihin että nekin pitää kadottaa :P

Niistä ei voi silti varmaankaan selvittää yhtä helposti alussa mainittuja tietoja (lähetettyjä viestejä ym.), vaikka toki lähetysaika voikin paljastaa. Sitä paitsi palvelimen lokitiedot eivät yleensä säily ikuisuuksia: esimerkiksi Ohjelmointiputkan kokoinen sivusto voi tuottaa päivässä satakin megatavua lokitietoja (tosin tällainen data pakkautuu aika helposti muutamaan megatavuun).

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta