Difference: TietoturvallisuusBitcoinverkossa (r5 vs. r4)

TTY / Tietoturvallisuuden jatkokurssi / Harjoitustyö 2011 / Luonnosvaihe

Otto Huhta

Tietoturvallisuus Bitcoin-verkossa

Johdanto

Millainen olisi täydellinen maksujärjestelmä? Sellainen, jossa käyttäjät voisivat siirtää turvallisesti haluamansa määrän elle tahansa, missä tahansa ja milloin tahansa ilman ylimääräisiä kuluja, olisi ainakin sen suuntainen. Bitcoin-verkko yrittää toteuttaa tällaista järjestelmää hyödyntämällä muun muassa digitaalisia allekirjoituksia, maksutapahtumien lohkosalausta (CBC) ja jaettua tietokantaa. Bitcoin-verkko on toiminnassa, mutta onko se tietoturvallinen?

Mikä on Bitcoin-verkko?

Bitcoin-verkko on pienen joukon kehittämä samannimisten virtuaalirahojen siirtelyyn suunniteltu verkko. Verkossa jokaisella käyttäjällä on yksi tai useampi virtuaalilompakko, joiden välillä rahat liikkuvat. Bitcoin-rahojen määrä on rajattu 21 miljoonaan kappaleeseen, joiden liikkeellelaskua varten järjestelmän kehittäjät ovat kehittäneet oman menetelmänsä.

Käyttäjien väliset siirrot lisätään lohkoketjuun, joka sisältää kyseisten kolikoiden aiemman siirtohistorian ja joka salataan. Nämä tiedot jaetaan verkon muille käyttäjille, jotka voivat vakuuttua, että kyseinen tapahtuma on tapahtunut ja kolikot ovat vaihtaneet omistajaa. Maksutapahtumien peruuttaminen tai väärentäminen jälkikäteen on näin pyritty estämään, sillä kaikilla muilla verkon käyttäjillä on tieto tapahtumasta.

Verkon rakenne ja anonymiteetti

Bitcoin-verkko on hajautettu vertaisverkko ilman mitään keskusorganisaatiota, joka hallinnoisi maksutapahtumia tai varmistaisi niiden autenttisuuden. Ainoa poikkeus on tapa, jolla rahoja lasketaan liikkeelle, sillä se on toteutettu keskitetysti. Käyttäjät lähettävät toisilleen tietoja maksutapahtumistaan ja toiset käyttäjät toteavat ne oikeiksi.

Liittyessään Bitcoin-verkkoon käyttäjän asiakasohjelma lataa aluksi koko siirtohistorian (eli lohkoketjun) - siirtoja voi suorittaa ilman koko tietokantaa, kunhan käyttäjällä on tiedot kaikista niistä kolikoista, joita hän aikoo lähettää tai vastaanottaa.

Käyttäjien anonymiteetti pyritään turvaamaan virtuaalilompakoilla, jotka yksilöidään 33-merkkiä pitkillä numeroita ja kirjaimia sisältävillä tunnuksilla. Näin ollen kukaan ei voi yksiselitteisesti yhdistää yksityisyyttään varjelevaa käyttäjää lompakkoonsa. Kuitenkin koska tieto kaikista tapahtuneista siirroista on kaikkien muiden käyttäjien saatavilla, voi kuka tahansa ulkopuolinen jäljittää tietyn lompakon tapahtumat. Näin ollen, jos lompakon omistaja paljastuu esimerkiksi jossakin ulkopuolisessa palvelussa (tavaran ostajan osoitetiedot), paljastuvat kaikki hänen sillä lompakolla tekemänsä siirrot.

Lohkosalaus ja aikaleimaus

Käyttäjältä toiselle tapahtuvat siirrot salataan käyttäjien yksityisillä tai julkisilla avaimilla ja lisäksi peräkkäisten siirtojen salaukseen käytetään lohkosalausta niin, että uusi siirto lisätään aina edelliseen lohkoon, joka salataan. Loppujen lopuksi lohkoketju sisältää tiedon kaikista kolikoista ja niiden kaikista omistajista. Ajan kanssa lohkoketjun koko lähestyisi ääretöntä, mutta tämä ongelma on ratkaistu siten, että siirtotiedot on järjestetty niin, että vanhimmat
tiedot voitaisiin tulevaisuudessa hiljalleen poistaa ketjusta. Lisäksi riittää, että vain osa käyttäjistä omistaa koko tietokannan - osalle riittää vain se osa, joka koskee heidän käyttämiään kolikoita.

Verkon ulkopuoliset tietoturvauhat

Bitcoin-verkon suurimmat tietoturvauhat eivät välttämättä riipu itse verkon toiminnasta vaan esimerkiksi siitä, miten käyttäjät ovat yhteydessä siihen ja digitaalisiin lompakoihinsa. Toisaalta juuri tarjoamansa anonymiteetin vuoksi sitä on helppo hyödyntää esimerkiksi tietoturvarikoksissa.

Yksi esimerkki tästä on Devil Robber -haittaohjelma, joka valjastaa kohdekoneen näytönohjaimen Bitcoinien tuotantoon ja yrittää varastaa suojaamattomien Bitcoin-lompakoiden sisältöä. Normaalisti viranomaiset voisivat helposti jäljittää tekijän rahojen vastaanottajan perusteella, mutta koska Bitcoin-tilit ovat anonyymejä, ei tämä onnistukaan. On myös löydetty joitakin botnet-verkkoja, joiden kohdekoneet on valjastettu tuottamaan Bitcoineja. Uhka on kuitenkin toistaiseksi ilmeisen pieni huonon kannattavuuden takia.

Valtavan tietoturvauhan muodostavat suojaamattomat Bitcoin-lompakot. Koska lompakko on vain yksi (oletuksena suojaamaton) tiedosto, voi kuka tahansa siirtää/kopioida sen itselleen ja väittää sen kuuluvan hänelle. Tilien anonymiteetin takia on mahdotonta osoittaa tili varastetuksi. Vaikka tämä onnistuisikin, on varas jo hyvin todennäköisesti ehtinyt siirtää rahat toiselle tilille, joka on - aivan - anonyymi.

Oman tietoturvaongelman muodostavat myös Bitcoinien vaihtopalvelut, joissa käyttäjät vaihtavat esimerkiksi euronsa ja dollarinsa Bitcoineiksi. Lyhyessä ajassa pystyyn kyhätyt rahanvaihtosivustot eivät millään tavalla vastaa tietoturvaltaan pankkien verkkosivustoja, vaikka niillä siirrellään isojakin rahasummia. Palvelut ovatkin joutuneet helppoa tienestiä hamuavien hyökkääjien kohteeksi. Vaihtojärjestelmien kehittymättömyys on myös yksi Bitcoin-verkon ulkopuolinen iso haavoittuvuus.

Päätelmät / yhteenveto

Ei tehä liian hätiköityjä päätelmiä...

Lähteet

Luonnos ja yksityiskohtaiset kysymykset (3.11.)

3.11.

Työn tekeminen sujunut hyvin. Aiheen rajaus hieman tuottanut päänvaivaa, mutta alkaa hahmottua melko hyvin (tai sitten ei..)

Seuraavaksi pitää perehtyä hieman tarkemmin lohkosalauksen ja aikaleimauksen toteutukseen ja kirjoittaa se sitten suht. selkeästi ja ytimekkäästi. Jotenkin pitää myös yrittää rajata noita Bitcoin-verkon 'lieveilmiöitä' ettei tarvitse kirjoittaa
kaikista maailman tietoturvauhista.

Saatu palaute (10.11.)

Palautteen antajan nimi

Palauteteksti.

Valmis (1.12.)

Otsikon linkkiin oikea osoite, jossa 99 on version numero.

Päivätty merkintä, miten työn tekeminen tähän mennessä on sujunut, ja mikä oli palautteen vaikutus.

Saatu arviointi (8.12.)

Arvion antajan nimi

Arviointiteksti (miten sivu muuttui, ottiko tekijä palautteen huomioon, mitä vielä olisi voinut parantaa?)

(Vapaaehtoinen vaihe...)

SivuTiedotLaajennettu edit
Vaativuus Jatko
Valmius Kehitteillä
Tyyppi Arviointi
Luokitus Uhkat
Mitä Useita
Miltä Useita
Missä Järjestelmä
Kuka Titu-ammattilainen
Milloin Päivittäin
Miksi Hyvä tapa

View topic | View difference side by side | History: r7 < r6 < r5 < r4 | More topic actions
 
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback