23. helmikuuta 2011

Turvaa Gmailisi kahden tekijän autentikoinnilla

En tiedä teistä, mutta minulle Google-tilini hallinnan menettäminen olisi katastrofi. Vuosien varrella olen ottanut käyttöön uusia Googlen palveluja ja tässä vaiheessa lähes koko elämäni on heidän palvelimillaan. Sähköposti, valokuvat, asiakirjat, kalenteri, yhteystiedot, jne. Jopa puhelimeni on riippuvainen Google-tilistäni! Ymmärrätte varmaan, miksi haluan turvata sen ulkopuolisilta ja nyt Google on julkaissut siihen työkalut.


Olet mitä tiedät
Tällä hetkellä lähes kaikkien Googlen asiakkaiden tilit on suojattu julkisella käyttäjätunnuksella ja salasanalla. Jos salasanasi on vahva, etkä ole rikollisten tai Kiinan valtion mielestä kovin mielenkiintoinen, niin se kenties riittää. Salasanan voi kuitenkin saada selville monella tavalla: arvaamalla, asentamalla kojeen tai ohjelman, joka tallentaa tietokoneen näppäinten painallukset tai katsomalla sen siitä lapusta, jota pidät näppäimistösi alla.

Nykyaikana tavalliset kuluttajat voivat saada käyttöönsä niin paljon prosessointitehoa, että salasanojen murtaminen käymällä järjestelmällisesti läpi kaikki mahdolliset kombinaatiot on lähempänä todellisuutta kuin utopiaa. Saksalainen tutkija Thomas Roth osoitti, että WPA-salasanan voi murtaa kuudessa minuutissa vuokraamalta Amazonilta 400 palvelinta parinkymmenen eurosentin minuuttihinnalla. Tuolla palvelinmäärällä Roth raportoi pystyneensä kokeilemaan noin 400 000 salasanaa sekunnissa. Naapurin WLAN-purkin salasanan murtamisen hinnaksi tulisi noin puolitoista euroa.

Kuva redspotted
Mitä muuta olet?
Autentikoinnissa voidaan käyttää kolmea erityyppistä tekijää:

  • jotain minkä vain käyttäjä tietää (salasana, tunnusluku)
  • jotain minkä vain käyttäjä omistaa (pankkikortti, avain, kertakäyttösalasanalista)
  • jotain mitä vain käyttäjä on (sormenjälki, allekirjoitus, kasvot, ääni, DNA)
Kahden tekijän autentikointi ei siis ole mitään uutta; olet käyttänyt sitä aina käyttäessäsi pankkikorttiasi. Käytännössä kaikki viimeiseen kategoriaan kuuluvat varmenteet vaativat joko ihmisen valvontaa tai kallista teknologiaa ja siksi luonnollisesti Googlen lisävarmuus on haettu keskimmäisestä.

Miten se toimii?
Toinen varmistustekijä Googlen uudessa systeemissä on matkapuhelimesi. Kun yrität kirjautua esimerkiksi Gmailiin saat normaalin kirjautumisruudun jälkeen kehoituksen syöttää lisävarmennusnumeron. Varmennusnumeron voit saada puhelimeesi kolmella tavalla

  • käyttämällä puhelimeen asennettavaa sovellusta
  • tekstiviestillä
  • puheluna
Näistä itse koin kätevimmäksi Android-kaupasta löytyvän Google Authenticator -sovelluksen. Sen luvataan toimivan myös silloin kun internet- tai edes GSM-yhteyttä ei ole saatavilla.

Entä jos puhelimeni varastetaan/putoaa mereen/räjähtää?
Näitä tapauksia varten Google antaa sinulle tulostettavaksi listan kertakäyttösalasanoja, joita voit käyttää siinä tapauksessa, että puhelimesi ei ole enää hallussasi.

Entä jos puhelimen akku on tyhjä, laturi jäi mummolaan ja koira söi kertakäyttösalasanat?
Google Authenticator
Näitä äärimmäisen onnettomia tapauksia varten voit antaa Googlelle toisen numeron, johon kirjautumistunnus voidaan lähettää silloin, kun kaikki muu toivo on menetetty. Se voi olla lankapuhelin tai esimerkiksi puolison tai lähisukulaisen kännykkä.

Entä ne laitteet ja kolmannen osapuolen sovellukset, mitkä tarvitsevat Google-tiliäni, mutta eivät tue kahden tekijän autentikointia? (Android, POP/IMAP, IM-sovellukset, Picasa, jne)
Ilmeisesti Googlella on mietitty homma loppuun asti, kun heillä on tähänkin ratkaisu. Näitä sovelluksia varten voit generoida omat salasanat, joita ei voi käyttää kuin siinä palvelussa tai ohjelmassa, josta sillä ensimmäisen kerran kirjaudutaan sisään.

Kuka nyt minun postejani haluaisi lukea?
Kuka lähettelee salasanoja urkkivia viruksia ympäri maailmaa? Rikolliset tietenkin. Sähköpostiisi käsiksi pääsemällä he voivat helposti murtautua moneen muuhunkin paikkaan. Sieltä todennäköisesti löytyy sähköposteja muista verkkopalveuilsta joita käytät. He voivat pyytää nollaamaan salasanan ja lähettämään uuden sähköpostiisi ja siten päästä käsiksi niihin. Muista palveluista he sitten löytävät kenties luottokorttitietosi ja pääsevät ostoksille sinun piikkiisi.

Älä ole potentiaalinen uhri, vaan pidä huoli tietoturvastasi. Nyt se on helppoa.

20. helmikuuta 2011

ALARM v0.1

Kerroin aikaisemmassa kirjoituksessa Jani Koskelan kanssa yhteistyössä kehittämästämme Android-sovelluksesta. Sen avulla käyttäjä voi asettaa itsellensä muistutuksia, mitkä liipaistuvat käyttäjän sijainnin perusteella. Siivosin tänään koodista pahimmat bugit pois ja julkaisen sen nyt käyttäjien testattavaksi.


Ohjelma on vielä testivaiheessa, eli se ei ole täydellinen. Toivoisin käyttäjiltä palautetta sen toiminnasta yleisesti ja erityisesti bugeista. Tällä hetkellä ohjelma vaatii Android-version 2.1 tai uudemman. Ilmoittakaa jos on tarvetta tukea vanhempia laitteita, niin korjaamme asian seuraavaan julkaisuun.

Toiminnallisuus

  • muistutusten tallentaminen, poistaminen, muokkaaminen
  • sijaintien tallentaminen, poistaminen, muokkaaminen
    • kartalta
    • koordinaateilla
    • osoitteen perusteella
      • alkeellinen toteutus
      • toimii kummallisesti
Tunnetut bugit

  • Sijainnin voi tallentaa antamatta nimeä.
  • Samannimisiä sijainteja voi tallentaa useita.
  • Osoitehaku palauttaa uuden kartta-aktiviteetin, jonka alta paljastuu toinen.
  • Tallennettujen sijaintien valitsin näyttää valitulta vaikka käyttäjä ei olisi valinnut vielä mitään.
    • Jos tallenna-nappi on harmaa, niin et ole valinnut sijaintia.
  • Muistutuksen lukemisen jälkeen poistettu muistutus voi vielä näkyä päävalikossa, kunnes ohjelma käynnistetään uudestaan.
Meistä riippumattomat bugit

  • Käyttöjärjestelmän sijaintipalvelu ei tarkista puhelimen sijaintia niin usein kuin dokumentaaio lupaa.
    • Jos muistutukset eivät laukea, niin kokeile käyttää ohjelmaa GPS-päällä.
Asiaan
ALARM_v0.1.apk

Jos ohjelma vaikuttaa käyttökelpoiselta, niin laitamme sen Janin kanssa saataville myös Android-markettiin. Sitä ennen kuitenkin haluaisimme tehdä siitä mahdollisimman toimivan, joten älkää ujostelko risujen antamisen kanssa. Palautetta voi antaa sähköpostilla, Facebookissa, Twitterissä, pikaviestimellä, IRC:ssä, blogin kommenteissa, puhelimessa tai vaikka nykäisemällä hihasta. Mikäli joku haluaa penkoa koodia, niin se on saatavilla projektin Gitorious-reposta.

8. helmikuuta 2011

Älypuhelimen akkukeston parantaminen

Nykyisten älypuhelinten käyttäjät ovat joutuneet palaamaan ajassa taaksepäin noin 15 vuotta akkukeston suhteen. Käyttäjät ovat joutuneet jälleen totuttelemaan siihen, että puhelimen akku on ladattava joka yö, mikäli puhelimen viestintäominaisuuksista ottaa täyden ilon irti. Välillä on jopa vaikea saada puhelin pysymään päällä 8 tunnin työpäivän ajan. Seuraavassa esittelen vastaan tulleita keinoja etenkin Andoid-puhelinten akkukeston parantamiseksi, mutta useat niistä pätevät muihinkin malleihin.

Radiohiljaisuus
Modernissa älypuhelimessa alkaa olla hurja määrä eri taajuuksilla toimivia radiolähettimiä. Bluetooth, GPS, WLAN, 2G ja 3G kaikki käyttävät omaa lähetintä ja seuraavat ympäristöään jatkuvasti, mikä kuluttaa varausta suunnattomia määriä. Lisäksi uusimmissa puhelimissa on myös uusi Near Field Communication, eli NFC-ominaisuus, mikä on RFID:n lyhyen kantaman (n. 10 cm) toteutus. Ensimmäinen toimenpide tulisikin olla ylimääräisten radiolähettimien kytkeminen pois päältä.

Bluetooth tulisi olla jo turvallisuussyistä pois päältä aina kun sitä ei tarvita. Lisäksi mikäli et tarvitse nopeaa mobiilidataa - tai minun tapauksessa mikäli 3G aiheuttaa kuuluvuusongelmia - kannattaa puhelin laittaa käyttämään vain 2G-verkkoa. Android-puhelimessa se tehdään valitsemalla asetuksista Yhteydet ja verkot --> Matkapuhelinverkot --> Verkkotila --> Vain GSM. GPS on tarpeellinen vain silloin kun tarvitaan erittäin tarkkaa sijaintitietoa. Puhelin nimittäin osaa laskea sijaintinsa parinkymmenen metrin tarkkuudella tukiasemien kuuluvuuden avulla. Radiolähettimien käyttöä optimoimalla pitäisi saada puhelimen käyttöaikaa kasvatettua helposti 50%.

Päivitystaajuus
Seuraavaksi kannattaa käydä nettiin huutelevien sovellusten asetukset läpi ja määritellä järkevät arvot sille, miten usein dataa päivitetään. Esimerkiksi HTC:n omassa sähköpostiohjelmassa voi säätää työsähköpostin päivittymään virka-aikaan tiheämmin kuin muulloin.

Kellotaajuus
Tämä vinkki on merkittävä parannus, mutta vaatii hieman hakkerointia. Puhelimen akun saa nimittäin kestämään kauemmin, kun alikellottaa prosessorin. Sitä varten luuriin pitää ensin hommata pääkäyttäjän oikeudet. Ohjeet löytyvät helposti googlaamalla, mutta en suosittele sen tekemistä heikkohermoisille, puhelimen kun teoriassa voi saattaa vahingossa takuukelvottomaksi tiiliskiveksi, mikäli roottaamisen onnistuu sössimään pahasti.

Kun risuaita on hommattu kehotteeseen pitää asentaa ohjelma nimeltä SetCPU. Sen saa ladattua marketista hintaan 1,99 USD tai suoraan sen kehittäjältä maksutta, mikäli vaivautuu käyttämään Googlea. Oma puhelimeni on säädetty pudottamaan kellotaajuus puoleen aina kun ruutu on pois päältä tai kun akussa on varausta alle 33% jäljellä. Näillä asetuksilla huomasin akkukeston paranevan ehkä puolella. Suosittelen lämpimästi niille kenellä hakkerointihenkeä riittää.

Poppakonsti
Seuraavaa menetelmää olen nähnyt hehkutettavan useammallakin forumilla ja sen ainakin väitetään tulleen alunperin HTC:n asiakaspalvelusta akkukestosta valittaneelle asiakkaalle. Itse suhtauduin väitteeseen niin skeptisesti, että en ole sitä vielä kokeillut.

  1. pistä puhelin päälle ja lataa sitä vähintään 8h
  2. irrota latauskaapeli ja sammuta puhelin
  3. lataa tunti
  4. irrota kaapeli laita puhelin päälle ja odota kaksi minuuttia
  5. sammuta puhelin ja lataa tunti
Edellä kuvatun sadetanssin on väitetty jopa kaksinkertaistavan HTC EVO -mallin akkukeston ja sen on raportoitu auttavan myös muiden HTC:n puhelinten kanssa. Mikäli joku lukijoista innostuu kokeilemaan, niin olen kiinnostunut kuulemaan tuloksista.