Tässä on perusteellinen selitys tämän sarjakuvan matematiikasta:
Sarjakuvan pienet ruudut edustavat entropiaa logaritmisessa mittakaavassa eli "bittiä". Jokainen laatikko tarkoittaa yhtä ylimääräistä entropiaa. Entropia on mittari oikean salasanan lyömisen keskimääräisistä kustannuksista raakavoimien hyökkäyksessä. Oletetaan, että hyökkääjä tietää tarkan salasanan luontimenetelmän, mukaan lukien menetelmän satunnaisvalintojen todennäköisyysjakaumat. n bitin entropia tarkoittaa, että hyökkääjä yrittää keskimäärin kokeilla 2n-1 salasanoja ennen oikean löytämistä. Kun satunnaiset valinnat ovat vastaavia , sinulla on n bittiä entropiaa, kun 2n on mahdollista salasanoja, jotka tarkoittaa, että hyökkääjä yrittää keskimäärin puolet heistä. Keskimääräisiä kustannuksia sisältävä määritelmä on yleisempi, koska siinä otetaan huomioon tapaukset, joissa salasanan luomisprosessin aikana tehdyt satunnaiset valinnat (sellaiset, jotka yleensä tapahtuvat ihmisen käyttäjän päähän) eivät ole yhdenmukaisia. Näemme alla olevan esimerkin.
"Bittien" käyttämisen tarkoitus on, että ne laskevat yhteen. Jos sinulla on kaksi salasanapuoliskoa, jotka luodaan toisistaan riippumatta, toisessa on 10 bittiä entropiaa ja toisessa 12 bittiä, entropian kokonaismäärä on 22 bittiä. Jos käytämme ei-logaritmista asteikkoa, meidän on kerrottava: 210 yhdenmukaiset valinnat ensimmäiselle puoliskolle ja 2 12 sup> toisen puoliskon yhtenäiset valinnat korvaavat 2 10 · 2 12 = 2 22 yhtenäiset valinnat. Lisäyksiä on helpompi välittää graafisesti pienillä laatikoilla, joten käytämme bittiä.
Katsotaanpa nyt kahta sarjakuvassa kuvattua menetelmää. Aloitamme toisesta, jota on helpompi analysoida.
"Oikean hevosen" menetelmä
Tämän menetelmän salasanan luomisprosessi on: ota annettu (julkinen) luettelo 2048 sanasta (oletettavasti yleiset sanat, helppo muistaa). Valitse luettelosta neljä satunnaista sanaa yhtenäisesti ja toisistaan riippumatta: valitse yksi sana satunnaisesti ja valitse sitten satunnaisesti sana (joka voi olla sama kuin ensimmäinen sana) ja niin edelleen kolmannelle ja sitten neljännelle sanat. Liitä kaikki neljä sanaa yhteen ja voila! sinulla on salasanasi.
Jokainen satunnainen sanavalinta on 11 bitin arvoinen, koska 2 11 = 2048 , ja mikä tärkeintä, jokainen sana on valittu yhtenäisesti (kaikilla 2048 sanalla on sama todennäköisyys, että 1/2048 valitaan) ja muista sanoista riippumatta (et valitse sanaa niin, että se vastaa tai ei - vastaa edellisiä sanoja, etkä erityisesti hylkää sanaa, jos se sattuu olemaan sama valinta kuin edellinen sana). Koska ihmiset eivät osaa tehdä lainkaan satunnaisia valintoja päähänsä, meidän on oletettava, että satunnainen sanavalinta tehdään fyysisellä laitteella (noppaa, kolikkoläpät, tietokoneet ...).
kokonaisentropia on tällöin 44 bittiä, mikä vastaa sarjakuvan 44 ruutua.
"Trubador" -menetelmä
Tämän säännön säännöt ovat monimutkaisempia :
- Valitse satunnainen sana annetusta suuresta merkityksellisten sanojen luettelosta.
- Päätä satunnaisesti, kirjoitetaanko ensimmäinen kirjain isoilla kirjaimilla vai ei.
- Käytä kirjaimia, jotka ovat oikeutettuja "perinteisiin korvauksiin", korvaamaan ne (tee valinta satunnaisesti jokaiselle kirjaimelle). Nämä perinteiset korvaukset voivat olla esimerkiksi: "o" -> "0", "a" -> "4", "i" -> "!", "E" -> "3", "l" -> "1" (säännöt antavat julkisesti tunnetun tyhjentävän luettelon).
- Liitä välimerkki ja numero.
Sarjakuva arvioi satunnaisen sanan 16 bitiksi, mikä tarkoittaa yhtenäistä valintaa 65536 sanan luettelossa (tai epätasaista pidemmässä luettelossa). Sanoja on enemmän kuin englanniksi, ilmeisesti noin 228000, mutta jotkut niistä ovat hyvin pitkiä tai hyvin lyhyitä, toiset ovat niin harvinaisia, että ihmiset eivät muista niitä lainkaan. "16 bittiä" näyttää olevan uskottava määrä.
Ensimmäisen kirjaimen ylä- tai iso kirjain on nimellisesti yksi bitti entropiaa (kaksi vaihtoehtoa). Jos käyttäjä tekee valinnan päähänsä, tämä on tasapaino käyttäjän turvallisuustunnon ("isot kirjaimet ovat tietenkin turvallisemmat!") Ja käyttäjän laiskuuden ("pienet kirjaimet on helpompi kirjoittaa") välillä. . Tässäkin "1 bitti" on uskottava.
"Perinteiset korvaukset" ovat monimutkaisempia, koska kelvollisten kirjainten määrä riippuu perussanasta; tässä kolme kirjainta, siis 3 bittiä entropiaa. Muilla sanoilla voi olla muita lukuja, mutta näyttää uskottavalta, että keskimäärin löydämme noin 3 kelvollista kirjainta. Tämä riippuu luettelosta "perinteisistä korvauksista", joiden oletetaan olevan tietty käytäntö.
Ylimääräiselle välimerkille ja numerolle sarjakuva antaa yhden bitin valinnalle, joka tulee ensin (numero tai välimerkki), sitten 4 bittiä merkille ja 3 bittiä numerolle. Numeroiden lukumäärä ansaitsee selityksen: Tämä johtuu siitä, että ihmiset, kun heitä pyydetään valitsemaan satunnaisluku, eivät ole lainkaan yhtenäisiä; numerolla "1" on noin 5-10 kertaa suurempi mahdollisuus tulla valituksi kuin "0". Psykologisista tekijöistä "0": lla on huono merkitys (mitätöinti, tumma, kuolema), kun taas "1" nähdään positiivisesti (voittaja, mestari, huippu). Etelä-Kiinassa "8" on erittäin suosittu, koska sana "kahdeksan" lausutaan samalla tavalla kuin sana "onnea"; ja vastaavasti "4" vältetään homofonian takia sanalla "kuolema". Hyökkääjä yrittää ensin salasanoja, joissa numero on "1", jolloin hän voi hyötyä käyttäjän valintojen epätasaisuudesta.
Jos numeron valintaa ei tee ihmisen aivot vaan puolueeton laite, saamme 3,32 bittiä entropiaa, ei 3 bittiä. Mutta se on tarpeeksi lähellä havainnollistamistarkoituksiin (ymmärrän täysin, ettei Randall Munroe halunnut piirtää osaruutuja).
Neljä välimerkkibittiä on vähän aliarvioitu; ASCII: ssä on 32 välimerkkiä, jotka kaikki on suhteellisen helppo kirjoittaa yhteisellä näppäimistöllä. Tämä tarkoittaisi 5 bittiä, ei 4. Sielläkin, jos ihminen valitsee merkin, jotkut merkit ovat yleisempiä kuin toiset, koska ihmiset ajattelevat harvoin '#' tai '|' "välimerkkeinä".
28 bitin kokonaissumma on silloin suunnilleen oikea, vaikka se riippuu joidenkin satunnaisten valintojen tarkoista yksityiskohdista ja "perinteisten korvausten" luettelosta. (mikä vaikuttaa hyväksyttävien kirjeiden keskimääräiseen määrään). Tietokoneella luodulla salasanalla voimme toivoa noin 30 bittiä. Se on edelleen vähän "oikean hevosen" -menetelmän 44 bitin suhteen.
Sovellettavuus
Yllä olevat kappaleet osoittavat, että sarjakuvan matematiikka on oikein (ainakin tarkkuudella, joka voidaan odottaa näissä olosuhteissa - se on verkkokomedia , ei tutkimusartikkeli ). Se vaatii edelleen seuraavat ehdot:
-
Hyökkääjä tietää "salasanan luontimenetelmän". Tätä osaa @Jeff ei usko. Mutta sillä on järkeä. Suurissa organisaatioissa turvallisuusvastaavat julkaisevat tällaiset ohjeet salasanojen luomista varten. Silloinkin, kun ei, ihmisillä on Google ja kollegat, ja heillä on tapana käyttää jotakin noin kymmenkunnasta sääntöjoukosta. Sarjakuva sisältää säännöksiä siitä: "Voit lisätä muutaman bitin lisää sen huomioon ottamiseksi, että tämä on vain yksi harvoista tavallisista muodoista".
Pohjarivi: vaikka pidätkin menetelmääsi " salaisuus ", se ei ole tuo salaisuus, koska seuraat enemmän tai vähemmän tietoisesti" klassista "menetelmää, eikä niitä ole niin paljon.
-
Satunnaiset valinnat ovat satunnaisia ja yhtenäisiä . Tätä on vaikea saavuttaa ihmisillä. Sinun täytyy vakuuttaa heidät käyttämään laitetta hyvään satunnaisuuteen (kolikko, ei aivot), ja tuloksen hyväksymiseen. Tämä on ydin alkuperäisestä vastauksestani (toistettu alla). Jos käyttäjät muuttavat valintoja, vain luomalla uuden salasanan, jos saamasi salasana "ei miellytä heitä", he poikkeavat satunnaisesta yhdenmukaisuudesta, ja entropia voidaan vain laskea (suurin entropia saavutetaan yhtenäisellä satunnaisuudella; et voi paranna, mutta voit saada paljon pahempaa).
Oikea vastaus on tietysti vastauksen @AviD. Sarjakuvan matematiikka on oikein, mutta tärkeä asia on, että hyvien salasanojen on oltava molemmat vaikeasti arvattavia ja helposti muistettavia. Sarjakuvan pääviesti on osoittaa, että yleiset "salasanan luontisäännöt" epäonnistuvat molemmissa pisteissä: ne vaikeuttavat salasanojen muistamista, joita ei kuitenkaan ole vaikea arvata.
Se kuvaa myös ihmisen mielen epäonnistumista turvallisuuden arvioinnissa. "Tr0ub4dor&3" näyttää enemmän satunnaiselta kuin "correcthorsebatterystaple"; ja samat mielet antavat jälkimmäisille hyviä pisteitä vain väärän syyn vuoksi, ts. yleisen (mutta väärän) uskomuksen mukaan salasanan pituus tekee vahvuudesta . Se ei. Salasana ei ole vahva, koska se on pitkä; se on vahva, koska se sisältää paljon satunnaisuutta (kaikki entropiabitit, joista olemme keskustelleet koko ajan). Lisäpituus vain antaa enemmän voimaa antamalla enemmän tilaa satunnaisuudelle; erityisesti sallimalla "hellä" satunnaisuus, joka on helppo muistaa, kuten sähköinen hevosjuttu. Toisaalta hyvin lyhyt salasana on välttämättä heikko, koska entropiaa on vain niin paljon, että mahtuu 5 merkkiin.
Huomaa, että "vaikea arvata" ja "helppo muistaa" eivät kata kaikkea, mitä sanotaan salasanan luomisesta; siellä on myös "helppokäyttöinen", mikä yleensä tarkoittaa "helppo kirjoittaa". Pitkät salasanat ovat ongelma älypuhelimissa, mutta numerot, välimerkit ja sekoitetut kotelot ovat epäilemättä vielä pahempia.
Alkuperäinen vastaus:
Sarjakuva olettaa, että satunnaisen "yleisen" sanan valinta tuottaa noin 11 bitin entropian - mikä tarkoittaa, että yleisiä sanoja on noin 2000. Tämä on uskottava määrä. Temppu on tietysti todella satunnainen valinta. Esimerkiksi seuraavat toiminnot:
- valitse neljä sanaa satunnaisesti ja muista ne sitten järkevimmässä järjestyksessä;
- jos nämä neljä sanaa näyttävät liian vaikeata muistaa, romuta ne ja valitse neljä muuta;
- korvaa yksi sanoista jalkapalloilijan nimellä (hyökkääjä ei arvaa sitä koskaan!);
... kaikki vähentää entropiaa. Ei ole helppoa saada käyttäjiä käyttämään todellista satunnaisuutta ja hyväksymään tulos .
Samat käyttäjät todennäköisesti valittavat pitkän salasanan kirjoittamisen vaivaa (jos kirjoittaminen älypuhelin, minun on sanottava, että ymmärrän ne melko hyvin). Onneton käyttäjä ei ole koskaan hyvä asia, koska hän alkaa etsiä vastatoimenpiteitä, jotka helpottavat hänen elämäänsä, kuten salasanan säilyttäminen tiedostossa ja "kirjoittaminen" copy&paste. Käyttäjät voivat usein olla yllättävän luovia tällä tavoin. Siksi pitkillä salasanoilla on taipumus palata turvallisuuden kannalta.