Salasanan vahvuus

Järjestelmissä, jotka käyttävät salasanoja todennuksessa, on oltava jokin tapa tarkistaa syötetyt salasanat päästäksesi niihin. Jos kelvolliset salasanat tallennetaan yksinkertaisesti järjestelmätiedostoon tai tietokantaan, hyökkääjä, joka saa riittävän pääsyn järjestelmään, saa kaikki käyttäjän salasanat, jolloin hyökkääjä saa pääsyn kaikkiin hyökkäyksen kohteena olevan järjestelmän tileihin ja mahdollisesti muihin järjestelmiin, joissa käyttäjät käyttävät samaa tai vastaavia salasanoja. Yksi tapa vähentää tätä riskiä on tallentaa vain jokaisen salasanan salaus hash itse salasanan sijaan. Tavallisia kryptografisia hajautuksia, kuten Secure Hash Algorithm (SHA) -sarjaa, on erittäin vaikea peruuttaa, joten hyökkääjä, joka saa käsiinsä hash-arvon, ei voi suoraan palauttaa salasanaa. Hajautusarvon tuntemus antaa hyökkääjälle mahdollisuuden testata arvauksia nopeasti offline-tilassa. Salasanojen murtamisohjelmia on laajalti saatavilla, ja ne testaavat suuren määrän kokeilusalasanoja purettuun salaukseen.

Laskentatekniikan parannukset lisäävät arvattavien salasanojen testausnopeutta. Esimerkiksi vuonna 2010 Georgia Tech Research Institute kehitti menetelmän GPGPU: n avulla salasanojen murtamiseen paljon nopeammin. Elcomsoft keksi yleisten grafiikkakorttien käytön nopeammin salasanan palauttamiseksi elokuussa 2007 ja jätti pian vastaavan patentin Yhdysvaltoihin. Vuoteen 2011 mennessä oli saatavilla kaupallisia tuotteita, jotka väittivät mahdollisuuden testata jopa 112 000 salasanaa sekunnissa tavallisella pöytätietokoneella käyttämällä huippuluokan grafiikkaprosessoria tuohon aikaan. Tällainen laite murtaa 6-kirjaimen yksittäisen salasanan yhdessä päivässä. Huomaa, että työ voidaan jakaa monille tietokoneille ylimääräisen nopeuden saamiseksi suhteessa käytettävissä olevien tietokoneiden määrään, joilla on vastaava GPU. Saatavilla on erityisiä avaimen venytyssekoituksia, joiden laskeminen vie suhteellisen kauan, mikä vähentää arvaamisen nopeutta. Vaikka avainten venyttämistä pidetään parhaana käytäntönä, monet yleiset järjestelmät eivät.

Toinen tilanne, jossa nopea arvaus on mahdollista, on, kun salasanaa käytetään salausavaimen muodostamiseen. Tällaisissa tapauksissa hyökkääjä voi nopeasti tarkistaa, purkaako arvattu salasana salatut tiedot. Esimerkiksi yksi kaupallinen tuote väittää testaavansa 103 000 WPA PSK -salasanaa sekunnissa.

Jos salasanajärjestelmä tallentaa vain salasanan tiivisteen, hyökkääjä voi ennalta laskea hash-arvot tavallisille salasanamuunnelmille ja kaikille tietyn pituiset lyhyemmät salasanat, mikä mahdollistaa salasanan nopean palauttamisen heti, kun sen hash on saatu. Hyvin pitkät luettelot ennalta lasketuista salasanan tiivisteistä voidaan tallentaa tehokkaasti sateenkaaripöytien avulla. Tämä hyökkäysmenetelmä voidaan rikkoa tallentamalla hajautusarvon satunnaisarvo, jota kutsutaan salaukseksi. Suola yhdistetään salasanaan hajautusta laskettaessa, joten sateenkaaritaulukkoa ennakoivan hyökkääjän on tallennettava jokaiselle salasanalle hash-arvo kaikilla mahdollisilla suolan arvoilla. Tämä on mahdotonta, jos suolalla on riittävän suuri alue, sanotaan 32-bittinen luku. Valitettavasti monissa yleisessä käytössä olevissa todennusjärjestelmissä ei käytetä suoloja, ja Internetissä on saatavana sateenkaaritaulukoita useille tällaisille järjestelmille.

Entropia salasanan vahvuuden mittanaEdit

Se on tavallista tietokoneteollisuuden on määriteltävä salasanan vahvuus informaattiantropiana, joka mitataan bitteinä ja joka on käsite informaatioteoriasta. Salasanan varmuuden löytämiseksi tarvittavien arvausten määrän sijaan annetaan kyseisen luvun perus-2 logaritmi, jota kutsutaan yleisesti ”entropiabittien” lukumääräksi salasanassa, vaikka tämä ei olekaan täsmälleen sama määrä tietoentropiana. Tällä tavalla laskettu salasana, jonka entropia on 42 bittiä, olisi yhtä vahva kuin satunnaisesti valittu esimerkiksi 42-bittinen merkkijono, esimerkiksi reilun kolikonheiton avulla. Toisin sanoen 42-bittisen entropian sisältävä salasana vaatisi 242 (4 398 046 511 104) yritystä käyttää kaikki mahdollisuudet raakavoiman etsinnän aikana. Siten lisäämällä salasanan entropiaa yhdellä bitillä tarvittavien arvausten määrä kaksinkertaistuu, mikä tekee hyökkääjän tehtävästä kaksinkertaisemman. Keskimäärin hyökkääjän on yritettävä puolet mahdollisesta salasanamäärästä ennen oikean löytämistä.

Satunnaiset salasanatMuokkaa

Pääartikkeli: Satunnaisten salasanojen luonti

Satunnaiset salasanat koostuvat tietyn pituisista merkkijonoista, jotka on otettu joistakin symboleista satunnaisen valinnan avulla prosessi, jossa kukin symboli valitaan yhtä todennäköisesti. Symbolit voivat olla yksittäisiä merkkejä merkistöstä (esim. ASCII-merkistö), tavuja, jotka on suunniteltu lausuvien salasanojen muodostamiseksi, tai jopa sanoja sanaluettelosta (muodostaen siten salasanan ).

Satunnaisten salasanojen vahvuus riippuu taustalla olevan numerogeneraattorin todellisesta entropiasta; nämä eivät kuitenkaan useinkaan ole todella satunnaisia, vaan näennäissatunnaisia.Monet julkisesti saatavissa olevat salasanageneraattorit käyttävät satunnaislukugeneraattoreita, jotka löytyvät ohjelmointikirjastoista, jotka tarjoavat rajoitettua entropiaa. Useimmat modernit käyttöjärjestelmät tarjoavat kuitenkin salauksellisesti vahvoja satunnaislukugeneraattoreita, jotka soveltuvat salasanan luomiseen. On myös mahdollista käyttää tavallisia noppia satunnaisten salasanojen luomiseen. Katso vahvempia menetelmiä. Satunnaiset salasanaohjelmat pystyvät usein varmistamaan, että tuloksena oleva salasana on paikallisen salasanakäytännön mukainen. esimerkiksi tuottamalla aina sekoitus kirjaimia, numeroita ja erikoismerkkejä.

Salasanoille, jotka on luotu prosessissa, joka valitsee satunnaisesti merkkijonon, jonka pituus on L, joukosta N mahdollista symbolia, useita mahdollisia salasanoja löytyy nostamalla symbolien lukumäärä tehoon L eli NL. Joko L: n tai N: n lisääminen vahvistaa luotua salasanaa. Satunnaisen salasanan vahvuus mitattuna informaatioentropialla on vain mahdollisten salasanojen määrän pohja-2 logaritmi tai log2, olettaen, että kukin salasanan symboli tuotetaan itsenäisesti. Siksi satunnaisen salasanan informaatioentropia, H, annetaan kaavalla:

H = log 2 ⁡ NL = L log 2 ⁡ N = L loki ⁡ N log ⁡ 2 {\ displaystyle H = \ log _ {2} N ^ {L} = L \ log _ {2} N = L {\ log N \ over \ log 2}}

missä N on mahdollisten symbolien määrä ja L on salasanassa olevien symbolien määrä. H mitataan bitteinä. Viimeisessä lausekkeessa loki voi olla mihin tahansa tukikohtaan.

Merkintäkohtainen entropia eri symbolijoukoille
Symbolijoukko Symboli laske N entropia per symboli H
arabialaiset numerot (0–9) (esim. PIN) 10 3,322 bittiä
heksadesimaaliluvut (0–9, A – F) (esim. WEP-avaimet) 16 4.000 bittiä
Kirjainkoon merkityksetön latinalaiset aakkoset (a – z tai A – Z) 26 4.700 bittiä
Isot ja pienet kirjaimet (a – z tai A – Z, 0–9) 36 5.170 bittiä
Kirjainkoon herkkä latinalaiset aakkoset (a – z, A – Z) 52 5.700 bittiä
Tapaus herkkä aakkosnumeerinen (a – z, A – Z, 0–9) 62 5,954 bittiä
Kaikki tulostettavat ASCII-merkit paitsi välilyönti 94 6.555 bittiä
Kaikki Latin-1-täydennysmerkit 94 6.555 bittiä
Kaikki tulostettavat ASCII-merkit 95 6.570 bittiä
Kaikki laajennetut ASCII-tulostettavat merkit 218 7,768 bittiä
Binaariset (0–255 tai 8 bittiä tai 1 tavu) 256 8.000 bittiä
Diceware-sanaluettelo 7776 12,925 bittiä sanaa kohti

Binaarinen tavu ilmaistaan yleensä kahdella heksadesimaalilla merkkiä.

Halutun vahvuuden H saavuttamiseksi tarvittavan pituuden L löytämiseksi N: n symbolijoukosta satunnaisesti vedetyllä salasanalla lasketaan:

L = H log 2 ⁡ N {\ displaystyle L = {H \ over \ log _ {2} N}}

pyöristetty seuraavaksi suurin kokonaisluku.

Seuraava taulukko käyttää tätä kaavaa näyttämään vaaditut todella satunnaisesti luotujen salasanojen pituudet haluttujen salasanasyötteiden saavuttamiseksi tavallisille symbolijoukoille:

Todella satunnaisesti luotujen salasanojen pituudet L, jotka tarvitaan halutun salasanan entropian H saavuttamiseksi N-symbolia sisältäville symbolijoukoille
Haluttu salasana
entropia H
arabialaiset
numerot
heksadesimaali Tapaus tuntematon Isot ja pienet kirjaimet Kaikki ASCII Kaikki laajennetut
ASCII
Diceware Sanojen luettelo
latinankielinen aakkoset aakkos-
numeerinen
latina
aakkoset
aakkos-
numeerinen
tulostettavat merkit
8 bittiä (1 tavu) 3 2 2 2 2 2 2 2 1 sana
32 bittiä (4 tavua) 10 8 7 7 6 6 5 5 3 sanaa
40 bittiä (5 tavua) ) 13 10 9 8 8 7 7 6 4 sanaa
64 bittiä (8 tavua) 20 16 14 13 12 11 10 9 5 sanaa
80 bittiä (10 tavua) 25 20 18 16 15 14 13 11 7 sanaa
96 bittiä (12 tavua) 29 24 21 19 17 17 15 13 8 sanaa
128 bittiä (16 tavua) 39 32 28 25 23 22 20 17 10 sanaa
160 bittiä (20 tavua) 49 40 35 31 29 27 25 21 13 sanaa
192 bittiä (24 tavua) 58 48 41 38 34 33 30 25 15 sanaa
224 bittiä (28 tavua) 68 56 48 44 40 38 35 29 18 sanaa
256 bittiä (32 tavua) 78 64 55 50 45 43 39 33 20 sanaa

Ihmisen luomat salasanatMuokkaa

Ihmiset ovat tunnetusti huonoja saavuttamaan riittävä entropia tuottamaan tyydyttäviä salasanoja. Erään tutkimuksen mukaan, johon osallistui puoli miljoonaa käyttäjää, salasanan keskimääräisen entropian arvioitiin olevan 40,54 bittiä. Jotkut näyttelijät käyttävät tätä kyvyttömyyttä huvittaa vähäisellä tavalla jakamalla oletetut satunnaiset valinnat (esimerkiksi numeroista), jotka yleisön jäsenet ovat tehneet.

Näin ollen yhdessä yli 3 miljoonan kahdeksan merkin salasanan analyysissä , e-kirjainta käytettiin yli 1,5 miljoonaa kertaa, kun taas f-kirjainta käytettiin vain 250 000 kertaa. Tasainen jakauma olisi ollut, että kutakin merkkiä olisi käytetty noin 900 000 kertaa. Yleisin käytetty numero on ”1”, kun taas yleisimmät kirjaimet ovat a, e, o ja r.

Käyttäjät käyttävät harvoin täysimääräisesti suurempia merkistöjä salasanojen muodostamisessa. Esimerkiksi MySpace-tietojenkalasteluohjelmasta vuonna 2006 saadut hakkerointitulokset paljastivat 34 000 salasanaa, joista vain 8,3% käytti kirjainkokoja, numeroita ja symboleja.

Koko ASCII-merkistöjen käyttöön liittyvä vahvuus ( numerot, kirjaimet ja erikoismerkit) saavutetaan vain, jos jokainen mahdollinen salasana on yhtä todennäköinen. Tämä näyttää viittaavan siihen, että kaikissa salasanoissa on oltava merkkejä kustakin useista merkkiluokista, ehkä isot ja pienet kirjaimet, numerot ja muut kuin aakkosnumeeriset merkit. Itse asiassa tällainen vaatimus on malli salasanan valinnassa ja sen voidaan odottaa vähentävän hyökkääjän ”työkerrointa” (Claude Shannonin termein). Tämä vähentää salasanan ”vahvuutta”. Parempi vaatimus olisi vaatia salasanaa, joka EI sisällä sanaa online-sanakirjassa, nimiluettelossa tai rekisterikilven mallia mistä tahansa osavaltiosta (Yhdysvalloissa) tai maasta (kuten EU: ssa). Jos vaaditaan kuviollisia valintoja, ihmiset todennäköisesti käyttävät niitä ennakoitavissa olevilla tavoilla, kuten kirjaimen isolla kirjaimella lisäämällä yksi tai kaksi numeroa ja erikoismerkki. Tämä ennustettavuus tarkoittaa, että salasanan voimakkuuden kasvu on vähäistä verrattuna satunnaisiin salasanoihin.

NIST-erikoisjulkaisu 800-63-2Muokkaa

NIST-erityisjulkaisu 800-63, kesäkuu 2004 (tarkistus 2) ehdotti järjestelmää ihmisen luomien salasanojen entropian lähentämiseksi:

Tätä mallia käytettäessä kahdeksan merkin ihmisen valitsemassa salasanassa, jossa ei ole isoja kirjaimia ja ei-aakkosmerkkejä TAI jolla on jompikumpi näistä kahdesta merkistöstä, arvioidaan olevan 18 bittiä entropiaa. NIST-julkaisu myöntää, että kehityksen aikaan salasanojen todellisesta valinnasta oli saatavilla vain vähän tietoa. Myöhempi tutkimus ihmisen valitsemasta salasanan entropiasta käyttäen uutta saatavilla olevaa todellisen maailman dataa on osoittanut, että NIST-järjestelmä ei tarjoa pätevää metriikkaa ihmisen valitsemien salasanojen entropian estimointiin. SP 800-63: n kesäkuun 2017 versio (versio 3) hylkää tämän lähestymistavan.

Käytettävyys- ja toteutusnäkökohdatMuokkaa

Koska kansalliset näppäimistötoteutukset vaihtelevat, kaikkia 94 ASCII-tulostettavaa merkkiä ei voida käyttää joka puolella. Tämä voi aiheuttaa ongelman kansainväliselle matkailijalle, joka halusi kirjautua etäjärjestelmään paikallisen tietokoneen näppäimistöllä. Katso näppäimistöasettelu. Monet kädessä pidettävät laitteet, kuten taulutietokoneet ja älypuhelimet, vaativat monimutkaisia siirtojaksoja tai näppäimistösovellusten vaihtamista erikoismerkkien syöttämiseksi.

Todennusohjelmat vaihtelevat sen mukaan, mitä merkkejä ne sallivat salasanoissa. Jotkut eivät tunnista kirjainkokoeroja (esim. Isojen kirjainten ”E” katsotaan vastaavan pieniä kirjaimia ”e”), toiset kieltävät joitain muita symboleja. Viime vuosikymmeninä järjestelmät ovat sallineet enemmän merkkejä salasanoissa, mutta rajoituksia on edelleen olemassa. Järjestelmät vaihtelevat myös sallittujen salasanojen enimmäispituuden suhteen.

Käytännössä salasanojen on oltava sekä kohtuullisia ja toimivia loppukäyttäjille että riittävän vahvoja aiottuun tarkoitukseen. Liian vaikea muistaa salasanat voidaan unohtaa, ja ne kirjoitetaan todennäköisemmin paperille, mikä joidenkin mielestä on turvallisuusriski. Toiset sitä vastoin väittävät, että käyttäjien pakottaminen muistamaan salasanat ilman apua voi sijoittaa vain heikot salasanat ja aiheuttaa siten suuremman turvallisuusriskin. Bruce Schneierin mukaan useimmat ihmiset pystyvät turvaamaan lompakonsa tai kukkaronsa, mikä on ”hyvä paikka” tallentaa kirjoitettu salasana.

Leave a Reply

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *