Mihin piilottaa salasana?

aina vaan koodia

Mihin tulisi käyttäjän syöttämä salasana tallettaa/piilottaa, niin että se olisi mahdollisimman vaikea kaivella esiin (en puhu web sovelluksista/tietokannoista, vaan ihan omassa koneessa ajettavasta ohjelmasta), en itse keksi kuin kryptata käyttäjän salasana omalla avaimella, joka on ujutettu lähdekoodiin, mutta toisaalta tuon nyt saa aika helposti selville, miten tuo pitäisi nykymaailmassa hoitaa?

24

790

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • keksa

      tuo hoidetaan niin, että annettu salasana kryptataan tai siitä lasketaan hash-tiiviste jollain yksisuuntaisella algoritmilla. Tämä tarkoittaa sitä, että sitä ei voi purkaa takaisin salasanaksi esim. md5-tiiviste.

      Tämän jälkeen tallennetaan se tiiviste eikä salasanaa. Tämän jos tekee huonosti, niin voi löytyä helposti toinen sana josta tulee sama tiiviste!

      Sitten kun käyttäjä kirjoittaa salasanan toisella käyttökerralla, niin salataan se uudestaan samalla tavalla ja verrataan onko tiiviste sama kuin ekkukerralla annetussa. Jos on niin on aika todennäköistä, että tosiella kerralla annettu oli oikea.

      Kandee vaatia vielä pitkiä salasanoja, numeroita, kirjaimia ja vielä myös isoja kirjaimia.

      Sitten laskea tiiviste jonkun ohjelmaan piilotetun merkkijonon kanssa.

      md5(salasana sdfSDljkl234SDFSdfkl89fgbs6dfWERtety3)

      Muuten erilaiset Brute-force ohjelmat takovat niitä salasanoja esiin sanalistojen avulla.

      Huonommallakin koneella miljoonia yrityksiä sekunnissa ja silloin jotkut "batman123" salasanat löytyy minuutissa

      • mutta ei se ole niin vaikeaa

        Ylläolevan viestin kirjoittaja on ymmärtänyt asian hieman väärin. batman123 löytyy sekunnin murto-osassa sanakirjan ollessa levyllä, jos sanakirja mahtuu muistiin, alle mikrosekunnissa! Kirjoitin oikeaoppisen tavan alemmaksi. Niin, ja message digest on sama kuin "yksisuuntainen tiiviste" tai "one-way hash".

        Piilotetuista merkkijonoista ei ole paljoakaan hyötyä, ja ei ollenkaan suolaa käytettäessä. Hyökkääjän on nimittäin helppoa laskea sanakirjan tiivisteet uusiksi piilotettuun merkkijonoon yhdistettynä...


      • salasana asiaa

        MD5 ei ole välttämättä riittävä, koska on mahdollista tuottaa törmäyksiä, eli löytää kaksi eri merkkijonoa joista tulee sama MD5. Tätä on jo käytetty hyökkäyksissä hyväksi http://www.schneier.com/crypto-gram-0901.html#3 .

        Tästä syystä yksisuuntaisissa tiivisteissä ollaan siirrytty lähinnä SHA1:teen ja SHA256:teen. Lähitulevaisuudessa on tosin tulossa uusi standardi, SHA3, jonka tarkoituksena on korjata mahdolliset SHA1:ssä olevat puutteet.


      • TRRY

        ...Google. Myös salasana "batman123" olisi löytynyt heti MD5:n perusteella. Jokainen voi kokeilla itse:

        $ echo -n batman123 | md5sum
        b51a4ad33cbd2c22f8196ae4857337b2 -

        $ lynx -dump http://www.google.com/search?q=b51a4ad33cbd2c22f8196ae4857337b2 | grep b51a4 | grep -v http
        Results 1 - 3 of 3 for b51a4ad33cbd2c22f8196ae4857337b2. (0.06
        b51a4ad33cbd2c22f8196ae4857337b2. notfound. 2007-01-17 23:05:39.
        b51a4ad33cbd2c22f8196ae4857337b2, batman123, HexWork.


    • oikeaoppisesti

      Suola ja jokin kryptograafisesti turvallinen message digest, esim. SHA1. Suola on vain satunnaisluku, joka tallennetaan salasanan yhteyteen ja yhdistetään salasanaan ennen digestin laskentaa. Suola hankaloittaa huomattavasti käänteisen sanakirjan tekoa, jossa on laskettu message digest suuresta määrästä salasanoja valmiiksi, koska samalla salasanalla on eri digest eri suolan arvoilla, eli 32-bittisellä suolalla tallennustilaa tarvitaan sanakirjalle 2^32-kertainen määrä, eli noin 4 miljardia kertaa enemmän. Vaikka hyökkääjä saisikin koko tietokannan digesteineen ja suolineen, siitä ei voi enää johtaa käyttäjien salasanoja käymättä kaikki salasanamahdollisuudet läpi per käyttäjä. Ilman suolaa salasana on heti selvillä, jos se löytyy etukäteen laadistusta digest -> salasana "sanakirjasta". Sanakirjahyökkäys toimii, koska suurin osa käyttäjistä valitsee sanakirjan sisältämän salasanan. Sanakirjoissa on eri kielten sanoja, nimiä, erilaisia syntymäaikakombinaatioita, yms., eri kombinaatioita, joissa esim. o on korvattu nollalla, L ykkösellä ja lisäksi eri päätteitä, kuten kirjaimet a-z, numerot 0-9, ja yleiset '123', '007', yms. Suurin osa käyttäjien salasanoista on tyyppiä sana pääte, eli esim. k414kukk0123. Salasanan murtamiseen hyvässä sanakirjassa voi olla miljardeja "sanoja".

      Esimerkki: käyttäjä antaa salasanaksi 'salasana'. sha1 'salasana':sta on c7e6477ecef29604380f3185e205c3cc4ef565f3. Salasanan annon yhteydessä palvelin arpoi luvun 53453221. Palvelin laskee sha1 '53453221 salasana' = 2816c682c8049043ee41d723b1c9bc3c54af92f3, ja tallentaa tämän arvon sekä suolan sellaisenaan tietokantaan.

      Kun käyttäjä jälleen loggautuu, luetaan tietokannasta suolan arvo, yhdistetään se digestillä nyt annettuun salasanaan ja verrataan onko se sama kuin tietokantaan tallennettu digest.

      Tämä on lienee turvallisin ohjelmistopohjainen ratkaisu, jos pelätään hyökkääjän pääsevän salasanatietokantaan käsiksi.

      • The Rat

        Itse käytin aikoinaan laskentaan palvelimelle tallenenttua satunnaista stringiä (sama kaikille) käyttäjätunnusta salasanaa. Nähdäkseni tuo ei eroa merkittävästi esittämästäsi mallista, jossa käytetään satunnaislukua - satunnaisluku siis korvataan käyttäjätunnuksella. Palvelimelta tuleva suola on mukana vain, jotta sekin pitäisi ensin selvittää - joko murtautumalla palvelimelle tai brutettamalla muutama salasana.

        Mikään ratkaisu ei ole 100% turvallinen, mutta hyvin lähelle päästään yhdistelemällä tekniikoita sopivasti. Oma suosikkini on yhdistää k-tunnus, salasana ja biometrinen tunnistus ja tarkkailla sen jälkeen käyttäjän usage-patterneja. En vain ole tähän missään törmännyt... :)


      • a..
        The Rat kirjoitti:

        Itse käytin aikoinaan laskentaan palvelimelle tallenenttua satunnaista stringiä (sama kaikille) käyttäjätunnusta salasanaa. Nähdäkseni tuo ei eroa merkittävästi esittämästäsi mallista, jossa käytetään satunnaislukua - satunnaisluku siis korvataan käyttäjätunnuksella. Palvelimelta tuleva suola on mukana vain, jotta sekin pitäisi ensin selvittää - joko murtautumalla palvelimelle tai brutettamalla muutama salasana.

        Mikään ratkaisu ei ole 100% turvallinen, mutta hyvin lähelle päästään yhdistelemällä tekniikoita sopivasti. Oma suosikkini on yhdistää k-tunnus, salasana ja biometrinen tunnistus ja tarkkailla sen jälkeen käyttäjän usage-patterneja. En vain ole tähän missään törmännyt... :)

        "...ja tarkkailla sen jälkeen käyttäjän usage-patterneja."

        Käyttäjistä voidaan tosiaan luoda tällaisia malleja ja vertailla käyttäjän toimintaa mallia vasten. Kyseessä on kuitenkin toissijainen tunnistaminen, eli varsinaiseen tunnistautumiseen sitä ei tietysti voi käyttää.

        Metodia voidaan käyttää myös murtautumisyritysten metsästämiseen. Prosessin normaalista käytöksestä luodaan malli ja prosessia vertaillaan tähän jatkuvasti. Murtoyrityksessä syntyy yleensä poikkeavaa toimintaa, joka voidaan näin huomata.

        Kovin yleistä tai hyvin toimivaa tuo ei vielä tänä päivänä ole, mutta keinot kehittyvät koko ajan.


      • per salasana
        The Rat kirjoitti:

        Itse käytin aikoinaan laskentaan palvelimelle tallenenttua satunnaista stringiä (sama kaikille) käyttäjätunnusta salasanaa. Nähdäkseni tuo ei eroa merkittävästi esittämästäsi mallista, jossa käytetään satunnaislukua - satunnaisluku siis korvataan käyttäjätunnuksella. Palvelimelta tuleva suola on mukana vain, jotta sekin pitäisi ensin selvittää - joko murtautumalla palvelimelle tai brutettamalla muutama salasana.

        Mikään ratkaisu ei ole 100% turvallinen, mutta hyvin lähelle päästään yhdistelemällä tekniikoita sopivasti. Oma suosikkini on yhdistää k-tunnus, salasana ja biometrinen tunnistus ja tarkkailla sen jälkeen käyttäjän usage-patterneja. En vain ole tähän missään törmännyt... :)

        Kun suola on vakiosalaisuus, ja tietokannassa on miljoona käyttäjää, teit juuri hyökkääjän työn miljoona kertaa helpommaksi... Vakiosuolalla sanakirjan tiivisteet kun tarvitsee laskea vain kerran kaikkia käyttäjiä kohti, eikä kuten arvotulla suolalla kerran per käyttäjä.


      • The Rat
        a.. kirjoitti:

        "...ja tarkkailla sen jälkeen käyttäjän usage-patterneja."

        Käyttäjistä voidaan tosiaan luoda tällaisia malleja ja vertailla käyttäjän toimintaa mallia vasten. Kyseessä on kuitenkin toissijainen tunnistaminen, eli varsinaiseen tunnistautumiseen sitä ei tietysti voi käyttää.

        Metodia voidaan käyttää myös murtautumisyritysten metsästämiseen. Prosessin normaalista käytöksestä luodaan malli ja prosessia vertaillaan tähän jatkuvasti. Murtoyrityksessä syntyy yleensä poikkeavaa toimintaa, joka voidaan näin huomata.

        Kovin yleistä tai hyvin toimivaa tuo ei vielä tänä päivänä ole, mutta keinot kehittyvät koko ajan.

        Hauskin sovellus tuosta (joskin itse asiassa biometrinen tunnistaminen tarkkaan ottaen), josta olen kuullut, oli ehdottomasti näppäimistön käytön kellottaminen, eli kirjaisinten näpyttelytiheyttä ja näppäinten painallusten kestoja, yms. vertaillen päästiin jo 90-luvun loppupuolella 60% _tunnistettavuuteen_ - tosi näppärää.

        Yleistähän se ei edelleenkään ole, mutta kannattaa muistaa sitten, jos jossain joskus tarvitsee (toteuttaminen voi olla hankalaa, mutta idea on silti loistava).


      • The Rat
        per salasana kirjoitti:

        Kun suola on vakiosalaisuus, ja tietokannassa on miljoona käyttäjää, teit juuri hyökkääjän työn miljoona kertaa helpommaksi... Vakiosuolalla sanakirjan tiivisteet kun tarvitsee laskea vain kerran kaikkia käyttäjiä kohti, eikä kuten arvotulla suolalla kerran per käyttäjä.

        Jokaisella käyttäjällä on edelleen oma suolansa. Se vakio jota käytetään kaikille käyttäjätunnus. Hyökkääjän pitäisi tuntea molemmat, jotta voisi laskea sanakirjan tiivisteet - ja silloinkin saisi vain yhdelle käyttäjälle.

        Toisaalta, jos hän pystyy nappaamaan tuon vakiostringin, pystyisi hän todennäköisesti hakemaan myös käyttäjäkohtaisen arvotun suolan.

        Ainut heikkous nähdäkseni on, että tuo vakiostringi voidaan päätellä brute force metodilla, jonka jälkeen yksittäisten käyttäjien salasanat on helpompi murtaa...


      • a..
        The Rat kirjoitti:

        Hauskin sovellus tuosta (joskin itse asiassa biometrinen tunnistaminen tarkkaan ottaen), josta olen kuullut, oli ehdottomasti näppäimistön käytön kellottaminen, eli kirjaisinten näpyttelytiheyttä ja näppäinten painallusten kestoja, yms. vertaillen päästiin jo 90-luvun loppupuolella 60% _tunnistettavuuteen_ - tosi näppärää.

        Yleistähän se ei edelleenkään ole, mutta kannattaa muistaa sitten, jos jossain joskus tarvitsee (toteuttaminen voi olla hankalaa, mutta idea on silti loistava).

        "..näppäimistön käytön kellottaminen, eli kirjaisinten näpyttelytiheyttä ja näppäinten painallusten kestoja.."

        Onko sinulla viitettä tuohon? Aiemmin olen törmännyt shell:ssä komentojen syöttötiheyden, logiikan yms. tutkimiseen sekä hiiren liikkeiden ja nappien jäljittämiseen. En muista tunnistettavuusprosenttia, mutta kai se jotain 60-70% välillä on.

        Huono prosentti selittyy pitkälti vielä kehittymättömillä algoritmeilla. Nykyisillä menetelmillä päästään jo aika varmasti päälle 90-95% tunnistettavuuteen sikäli kun asetetaan jotain suht luontevia oletuksia syötteelle. (itse asiassa minun oli tarkoitus tutkia tuota erään toisen tutkimuksen ohessa, mutta osoittautui ettei käytetyillä työasemilla voitu jäljittää hiiren liikkeitä ja aikataulu ei riittänyt omiin virityksiin)

        Tuota samaa ideaa käytetään nykyään myös IDS-järjestelmissä, eli 'intrusion detection system'-mokkuloissa, jotka haistelevat verkkoliikennettä ja poimivat sieltä epäilyttäviä yhteyksiä. Samoin mm. luottokorttipetoksia kaivetaan hieman vastaavasti ja mm. joidenkin kauppapaikkojen käyttäjän profiilin laadinnassa (luotettavai/ei luotettava) on hieman vastaavia metodeja.

        Itse asiassa alalla on saatu juuri äskettäin hyvin lupaavia tuloksia eräällä (yhdistelmä)algoritmilla. Tuloksia ei ole vielä julkistettu kuin kyseisen yliopiston omassa julkaisusarjassa, mutta jos näkemäni tiedot pitävät paikkansa on mallinnuksessa saavutettu hyvin mielenkiintoinen taso.


      • The Rat
        a.. kirjoitti:

        "..näppäimistön käytön kellottaminen, eli kirjaisinten näpyttelytiheyttä ja näppäinten painallusten kestoja.."

        Onko sinulla viitettä tuohon? Aiemmin olen törmännyt shell:ssä komentojen syöttötiheyden, logiikan yms. tutkimiseen sekä hiiren liikkeiden ja nappien jäljittämiseen. En muista tunnistettavuusprosenttia, mutta kai se jotain 60-70% välillä on.

        Huono prosentti selittyy pitkälti vielä kehittymättömillä algoritmeilla. Nykyisillä menetelmillä päästään jo aika varmasti päälle 90-95% tunnistettavuuteen sikäli kun asetetaan jotain suht luontevia oletuksia syötteelle. (itse asiassa minun oli tarkoitus tutkia tuota erään toisen tutkimuksen ohessa, mutta osoittautui ettei käytetyillä työasemilla voitu jäljittää hiiren liikkeitä ja aikataulu ei riittänyt omiin virityksiin)

        Tuota samaa ideaa käytetään nykyään myös IDS-järjestelmissä, eli 'intrusion detection system'-mokkuloissa, jotka haistelevat verkkoliikennettä ja poimivat sieltä epäilyttäviä yhteyksiä. Samoin mm. luottokorttipetoksia kaivetaan hieman vastaavasti ja mm. joidenkin kauppapaikkojen käyttäjän profiilin laadinnassa (luotettavai/ei luotettava) on hieman vastaavia metodeja.

        Itse asiassa alalla on saatu juuri äskettäin hyvin lupaavia tuloksia eräällä (yhdistelmä)algoritmilla. Tuloksia ei ole vielä julkistettu kuin kyseisen yliopiston omassa julkaisusarjassa, mutta jos näkemäni tiedot pitävät paikkansa on mallinnuksessa saavutettu hyvin mielenkiintoinen taso.

        Joo. Löytyy Helsingin yliopistolta joku kandinpaperus, tms. joka tuli aiheesta raapustettua... :)
        Ei harmaintakaan muistikuvaa. Valitan. Tuokin oli siinä aika sivuosassa, mutta olipahan kuitenkin.

        Kuulostaa kivalta. Eiköhän tästä nähdä ihan kaupallisia sovelluksia viiden vuoden sisään. Ovat sitten aika hyviä kandeja isoveljen valvonta-arsenaaliin.


      • että oletetaan hyökkääjällä
        The Rat kirjoitti:

        Jokaisella käyttäjällä on edelleen oma suolansa. Se vakio jota käytetään kaikille käyttäjätunnus. Hyökkääjän pitäisi tuntea molemmat, jotta voisi laskea sanakirjan tiivisteet - ja silloinkin saisi vain yhdelle käyttäjälle.

        Toisaalta, jos hän pystyy nappaamaan tuon vakiostringin, pystyisi hän todennäköisesti hakemaan myös käyttäjäkohtaisen arvotun suolan.

        Ainut heikkous nähdäkseni on, että tuo vakiostringi voidaan päätellä brute force metodilla, jonka jälkeen yksittäisten käyttäjien salasanat on helpompi murtaa...

        olevan kaiken. Miten tallentaa salasanat niin, ettei hyökkääjä voi kuitenkaan saada alkuperäistä selville. Ei ole mitään väliä, jos hän saa suolan, koska se on jokaiselle erilainen. Mutta yhdellä suolalla hän voi laskea uuden sanakirjan, siis tyyppiä sanakirjan sanat "salainen vakiostringi". Se sanakirja toimiikin sitten järjestelmän kaikkia tunnuksia vastaan kerralla! Ei tarvitse murtaa käyttäjiä yksitellen, kun saa samalla kertaa kaiken. Siksi vakiomerkkijono ei auta lähellekään niin paljoa, vaan suola pitää arpoa ja tallentaa kaikkien salasanojen seuraksi. Näin menetellessä, mikään tiiviste -> salasana -sanakirja ei voi toimia kuin yhtä käyttäjää vastaan kerrallaan, tehden hyökkäyksestä toimimattoman.

        Siis vielä kerran, hyökkääjällä on sinun koodi 'salaisine merkkijonoineen' ja tietokanta. Jos olet arponut suolan jokaiselle käyttäjälle, hän ei voi murtaa kaikkia heikkoja salasanoja kerralla, vaan hänen täytyy tehdä suuri määrä laskentaa jo yhden käyttäjän salasanan saadakseen. Salasanakohtaisesta suolasta kun ei ole hyökkääjälle oikein mitään iloa.


      • The Rat
        että oletetaan hyökkääjällä kirjoitti:

        olevan kaiken. Miten tallentaa salasanat niin, ettei hyökkääjä voi kuitenkaan saada alkuperäistä selville. Ei ole mitään väliä, jos hän saa suolan, koska se on jokaiselle erilainen. Mutta yhdellä suolalla hän voi laskea uuden sanakirjan, siis tyyppiä sanakirjan sanat "salainen vakiostringi". Se sanakirja toimiikin sitten järjestelmän kaikkia tunnuksia vastaan kerralla! Ei tarvitse murtaa käyttäjiä yksitellen, kun saa samalla kertaa kaiken. Siksi vakiomerkkijono ei auta lähellekään niin paljoa, vaan suola pitää arpoa ja tallentaa kaikkien salasanojen seuraksi. Näin menetellessä, mikään tiiviste -> salasana -sanakirja ei voi toimia kuin yhtä käyttäjää vastaan kerrallaan, tehden hyökkäyksestä toimimattoman.

        Siis vielä kerran, hyökkääjällä on sinun koodi 'salaisine merkkijonoineen' ja tietokanta. Jos olet arponut suolan jokaiselle käyttäjälle, hän ei voi murtaa kaikkia heikkoja salasanoja kerralla, vaan hänen täytyy tehdä suuri määrä laskentaa jo yhden käyttäjän salasanan saadakseen. Salasanakohtaisesta suolasta kun ei ole hyökkääjälle oikein mitään iloa.

        Siinäpä se onkin, kun se suola ei ole sama kaikilla.

        Laskenta ei ole muotoa: sanakirjan sanat "salainen vakiostringi"
        Vaan: sanakirjan sanat "salainen vakiostringi" käyttäjätunnus

        Pakko siis edelleen murtaa yksitellen.

        Edelleen nähdäkseni ainut heikkous kertomaasi verrattuna, on se, että tuon "salaisen vakiostringin" voi päätellä muutenkin kuin murtautumalla koneelle, jolloin se on heikompi kuin käyttäjäkohtainen.

        Mitä hyötyä tästä sitten olisi... Ei mitään. Juu, säästäähän siinä yhden koodirivin ja vähän tilaa tietokannasta. :)


      • en tiedä oonko oikeessa
        The Rat kirjoitti:

        Siinäpä se onkin, kun se suola ei ole sama kaikilla.

        Laskenta ei ole muotoa: sanakirjan sanat "salainen vakiostringi"
        Vaan: sanakirjan sanat "salainen vakiostringi" käyttäjätunnus

        Pakko siis edelleen murtaa yksitellen.

        Edelleen nähdäkseni ainut heikkous kertomaasi verrattuna, on se, että tuon "salaisen vakiostringin" voi päätellä muutenkin kuin murtautumalla koneelle, jolloin se on heikompi kuin käyttäjäkohtainen.

        Mitä hyötyä tästä sitten olisi... Ei mitään. Juu, säästäähän siinä yhden koodirivin ja vähän tilaa tietokannasta. :)

        Jos kerran joka käyttäjällä o sama salainen vakiostrimgi, niin riittäähän tuossa se että kun
        käy läpi eri käyttäjien tietoja, niin löytää yhden yhtenevän stringin, jolloin tuo muuttuu siten että voin yhdellä kertaa saada kenen tahansa saluksen murrettua, jos olen väärässä, mitä varmaan olen niin, voitko selventää kun jäi tuo vaivaamaan, kiitos!


      • The Rat
        en tiedä oonko oikeessa kirjoitti:

        Jos kerran joka käyttäjällä o sama salainen vakiostrimgi, niin riittäähän tuossa se että kun
        käy läpi eri käyttäjien tietoja, niin löytää yhden yhtenevän stringin, jolloin tuo muuttuu siten että voin yhdellä kertaa saada kenen tahansa saluksen murrettua, jos olen väärässä, mitä varmaan olen niin, voitko selventää kun jäi tuo vaivaamaan, kiitos!

        Oletetaan, että sanakirjan laskentaan menee aikaa x minuttia. Selvitettyäsi salaisen vakiostringin, voit laskea käyttäjätunnukselle sanakirjan x:ssä minuutissa. Siitä ei kuitenkaan ole hyötyä enää seuraavaa käyttäjää ajatellen, vaan laskenta on suoritettava uudestaan - käyttäjätunnushan on osa suolaa, josta tuo stringi muodostetaan.

        Toisin sanoen, yksi sanakirja hash-arvoja ei avaa kuin yhden käyttäjän salasanan (olettaen että se on tarpeeksi heikko). Useamman käyttäjän salasanan murtaminen on siis aikaavievää.

        Sanoinkin jo mielestäni jossain, että tavan selkeä heikkous on siinä, että tuo vakiostringi on pääteltävissä. Toisaalta, sen selvittäminen on varsin hankalaa, vaatien käytännössä palvelimelle murtautumisen...

        Toisaalta, vaatiihan tuo sanakirjahyökkäys muutenkin sen, että hyökkääjällä on pääsy käyttäjien hash-arvoihin (jotain, mihin verrata sanakirjaa), joten luultavasti hänellä on silloin tuo käyttäjäkohtainen satunnaislukukin tiedossaan, mikä tekee murtamisesta yhtä helppoa kuin kuvaamassanikin ratkaisussa.

        Saatan olla väärässä... Mutten usko. :)


      • Kyllä The Ratin
        The Rat kirjoitti:

        Oletetaan, että sanakirjan laskentaan menee aikaa x minuttia. Selvitettyäsi salaisen vakiostringin, voit laskea käyttäjätunnukselle sanakirjan x:ssä minuutissa. Siitä ei kuitenkaan ole hyötyä enää seuraavaa käyttäjää ajatellen, vaan laskenta on suoritettava uudestaan - käyttäjätunnushan on osa suolaa, josta tuo stringi muodostetaan.

        Toisin sanoen, yksi sanakirja hash-arvoja ei avaa kuin yhden käyttäjän salasanan (olettaen että se on tarpeeksi heikko). Useamman käyttäjän salasanan murtaminen on siis aikaavievää.

        Sanoinkin jo mielestäni jossain, että tavan selkeä heikkous on siinä, että tuo vakiostringi on pääteltävissä. Toisaalta, sen selvittäminen on varsin hankalaa, vaatien käytännössä palvelimelle murtautumisen...

        Toisaalta, vaatiihan tuo sanakirjahyökkäys muutenkin sen, että hyökkääjällä on pääsy käyttäjien hash-arvoihin (jotain, mihin verrata sanakirjaa), joten luultavasti hänellä on silloin tuo käyttäjäkohtainen satunnaislukukin tiedossaan, mikä tekee murtamisesta yhtä helppoa kuin kuvaamassanikin ratkaisussa.

        Saatan olla väärässä... Mutten usko. :)

        menetelmä toimii, ainoa mikä sitä voi hieman heikentää on, jos sama järjestelmä asennetaan useampaan paikkaan tai sama käyttäjänimi voi olla useamman kerran. Mutta kyllä se hyökkääjän työtä lisää... ja vakiokäyttäjien salasanojen on oltava hyviä (esim. admin, root, yms. pääkäyttäjät).

        Itse suosin yhä arvottua suolaa (per salasana digest(suola salasana)), mutta alan myös käyttämään Ratin menetelmää jos teen joskus järjestelmän joka asennetaan vain yhteen paikkaan.

        Yksi mikä unohtui mainita on, aina voi esim. ottaa digestin vaikka 1000 kertaa peräkkäin, tyyliin edellinen digest salasana käyttäjä. Toistosta huolimatta kryptograafisen tiivisteen ei pitäisi konvergoitua mihinkään ja murtaja joutuu tekemään saman työn perässä. Tämä hidastaisi helppojen salasanojen läpikäyntiä juuri tuon 1000 kertaa hyökkääjältäkin. Tosin jos loggautumisia on paljon, on loggauspalvelimenkin kuorma suurta.


      • The Rat
        Kyllä The Ratin kirjoitti:

        menetelmä toimii, ainoa mikä sitä voi hieman heikentää on, jos sama järjestelmä asennetaan useampaan paikkaan tai sama käyttäjänimi voi olla useamman kerran. Mutta kyllä se hyökkääjän työtä lisää... ja vakiokäyttäjien salasanojen on oltava hyviä (esim. admin, root, yms. pääkäyttäjät).

        Itse suosin yhä arvottua suolaa (per salasana digest(suola salasana)), mutta alan myös käyttämään Ratin menetelmää jos teen joskus järjestelmän joka asennetaan vain yhteen paikkaan.

        Yksi mikä unohtui mainita on, aina voi esim. ottaa digestin vaikka 1000 kertaa peräkkäin, tyyliin edellinen digest salasana käyttäjä. Toistosta huolimatta kryptograafisen tiivisteen ei pitäisi konvergoitua mihinkään ja murtaja joutuu tekemään saman työn perässä. Tämä hidastaisi helppojen salasanojen läpikäyntiä juuri tuon 1000 kertaa hyökkääjältäkin. Tosin jos loggautumisia on paljon, on loggauspalvelimenkin kuorma suurta.

        Lähinnä kuriositeetttina tätä systeemiäni selittelin. Harvoin tulee itse toteutettua näitä sisäänkirjautumisia, vaan alustalta nuo palvelut haettua... Mutta hyviä harjoituksia kyllä... :)

        Ja jos tuota useampaan järjestelmään soveltaa, niin vaihtaa vain sitä vakiostrigiä.


    • Sovellus mutustelee

      keploakin salasanaa viisitoista viiva viisikymmentäviisi sekuntia, niin salasanahakkerilta loppuu usko, vaikka sillä olisi salasanakirjat ja kaikki.

      • niin, että

        salasanakirjasta umpimähkään kolmesti perä perään väärin arvottu salasana pistäisi kahvitunnin ajaksi kirjautumisdialogit kiinni, niin hakkeri tuskin tulisi kahvitunnin päätyttyä takaisin varsinkin, jos kolmen kahvituntikokeilun jäljestä se pitäisi ruokatunnin.


      • tietojärjestelmien
        niin, että kirjoitti:

        salasanakirjasta umpimähkään kolmesti perä perään väärin arvottu salasana pistäisi kahvitunnin ajaksi kirjautumisdialogit kiinni, niin hakkeri tuskin tulisi kahvitunnin päätyttyä takaisin varsinkin, jos kolmen kahvituntikokeilun jäljestä se pitäisi ruokatunnin.

        sisäänkirjautumisnopeuksiin: laitetaan siihen niin, että se tahallaan kuhnii, vaikka salasana olisi oikeinkin ja vasta sitten, kun sissänkirjautuja on todennettu pantaisiin täysi höyry päälle ja kaikki toimii kauhean liukkaasti. Tähän astihan on pnostettu täysin päinvastoin siihen, että sisäänkirjautuminen olisi mahdollisimman nopeaa ja sisäänkirjautumisen jälkeen tietojärjestelmä alkaa jopa tahallaan kuhnimaan.


    • puretaan...

      Miten puretaan ns. dynaaminen stringi, joka siis sotkee avaimen tuohon sisältöön, eli kryptatessa samaa sanaa joka kerralla tulee erilainen tulos ja stringi on siis 'itseriittoinen'? Näitähän käytettiin esim. ini-tiedostoissa olevien salasanojen kryptaamiseen. Etuna oli se, että päälltäpäin ei nähnyt sitä, oliko kysessää sama salasana. Ainoinaan nämä sanan 'sotkemistekniikat' olivat todella monimutkaisia. Miten tällaisen purkamiseen pääsee käsiksi?

    • Hämmetynyt

      Eli MD5 on satunnasuuteen perustuva salaus, joka toimii vain yhteen suuntaan, mutta mitan esim. javalla toteutan se , koska jos se on satunnainen, niin siihen ei voi kehitää mitään sääntöä, joten samalle sanalle tulee aina eri arvo joten ei pääse ikinä sisälle. Eikä näin?

      • Hämmentynyt2

        Anteeksi virheet. Epäilen kuitenkin että siitä saa selvää.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Katso: Ohhoh! Miina Äkkijyrkkä sai käskyn lähteä pois Farmi-kuvauksista -Kommentoi asiaa: "En ole.."

      Tämä oli shokkiyllätys. Oliko tässä kyse tosiaan siitä, että Äkkijyrkkä sanoi asioita suoraan vai mistä.... Tsemppiä, Mi
      Tv-sarjat
      130
      5105
    2. Voi kun mies rapsuttaisit mua sieltä

      Saisit myös sormiisi ihanan tuoksukasta rakkauden mahlaa.👄
      Ikävä
      32
      3207
    3. Haluan jutella kanssasi Nainen

      Olisiko jo aika tavata ja avata tunteemme...On niin paljon asioita joihin molemmat ehkä haluaisimme saada vastaukset...O
      Ikävä
      16
      1837
    4. Poliisiauto Omasp:n edessä parkissa

      Poliisiauto oli parkissa monta tuntia Seinäjoen konttorin edessä tänään. Haettiinko joku tai jotain pankista tutkittavak
      Seinäjoki
      22
      1800
    5. Onko mies niin,

      että sinulle ei riitä yksi nainen? Minulle suhde tarkoittaa sitoutumista, tosin eihän se vankila saa olla kummallekaan.
      Tunteet
      19
      1665
    6. Voitasko leikkiä jotain tunnisteleikkiä?

      Tietäisi ketä täällä käy kaipaamassa.. kerro jotain mikä liittyy sinuun ja häneen eikä muut tiedä. Vastaan itsekin kohta
      Ikävä
      71
      1511
    7. Tietysti jokainen ansaitsee

      Hän varmasti ansaitsee vain parasta ja sopivinta tietenkin, suon sen onnen hänelle enemmän kuin mielelläni. Aika on nyt
      Ikävä
      11
      1345
    8. Armi Aavikko Malmin hautausmaa

      Haudattiinko Armi arkussa Malmin hautausmaalle vai tuhkattiinko hänet? Kuka tietää asiasta oikein?
      Kotimaiset julkkisjuorut
      11
      1286
    9. Miksi näin?

      Miksi vihervassut haluaa maahan porukkaa jonka pyhä kirja kieltää sopeutumisen vääräuskoisten keskuuteen? Näin kotoutumi
      Maailman menoa
      19
      1267
    10. Haluisin suudella ja huokailla

      ja purra kaulaasi ja rakastella sinua. Haluisin puristella rintojasi ja pakaroitasi. Ei sinulla taida olla kuitenkaan ni
      Ikävä
      16
      1267
    Aihe