Enhancing Security and Transparency of User Data Systems with Blockchain Technology
Pysyvä osoite
Kuvaus
As blockchain is increasingly gaining popularity, interest in corporate use is also gaining traction. One area blockchain has seen an increased amount of use are systems involving management of sensitive information, such as user data systems. In this thesis commissioned by a stakeholder, blockchain is implemented in user data system as a proof-of-concept prototype aiming to prove that the implementation can enhance data security and transparency in user data systems.
The first half of the this will build a theoretical framework. First, fundamental theory of blockchain is examined, which includes an overview of blockchain’s architecture and its security features. This includes architecture and functionality on general level, consensus methodology, and other security algorithms such as hashes. Second, already existing blockchain solutions that
could benefit in designing the proof-of-concept prototype are explored, which included a patient data system, and an Internet-of-Things system. Patient data system’s case provided a solution of implementing blockchain as a separate component in the patient information system, while Internet-of-Things’ solution provided insight of storing functional data in the blockchain, while keeping the actual raw data in a separate database with a restricted access. These solutions formed an adequate foundation; however, the solutions couldn’t be applied as-is, which lead to the need of applying and designing a new solution.
The latter half of reports the implementation process of blockchain. First, the research method
used in this thesis, constructive research approach, is demonstrated - constructive research approach aims to create a practical solution for a real-life problem. The prototype’s primary requirement is that it should be able to record a log of activity in the user data system, telling who did what and to whom, and without revealing any confidential information. The prototype is
implemented in a test environment using a separate database for storing the actual user data,
and blockchain for storing data about activity happening in the user data system. The prototype’s validity was tested using software testing methods, more specifically integration testing and user acceptance testing.
The research will benefit the stakeholder with a working example showing a potential way of
implementing a blockchain solution in a commercial software. The research aims to prove that
with the implemented blockchain solution can adequately help monitoring actions committed by users, enforcing honest usage, and helping spot malicious activity, and this way improving transparency and security. The research has also value in scientific community with its practical approach demonstrating how could a blockchain system be implemented in sensitive user data systems, and what are its potential benefits in security. The next step for the study is evaluating
the actual value of the implementation in the commercial software, or proof-of-value research.
Lohkoketjujen kasvaessa suosiota myös kiinnostus yrityskäyttöä kohtaan on ollut kasvussa. Yksi osa-alue missä lohkoketjujen käyttö on nähnyt kasvua ovat luottamuksellista tietoa käsittelevät
järjestelmät, kuten käyttäjätietojärjestelmät. Tässä sidosryhmän toimeksiantamassa tutkielmassa implementoidaan lohkoketju käyttäjätietojärjestelmään osana konseptitodistusprototyyppiä (proof-of-concept), joka pyrkii todistamaan lohkoketjun kykyä tietoturvan ja läpinäkyvyyden kehittämisessä käyttäjätietojärjestelmissä.
Tutkielman ensimmäinen puolisko luo teoreettisen viitekehyksen. Ensimmäisenä tutustutaan
lohkoketjujen perusteisiin, johon kuuluu sen arkkitehtuurin sekä tietoturvaominaisuuksien tarkastelua. Tämä sisältää yleisen tason katsauksen toiminnallisuudesta, yhteisymmärrysmetodologiasta sekä muista tietoturva-algoritmeista, kuten tiivisteistä (hash). Tämän jälkeen syvennytään olemassa oleviin lohkoketjuratkaisuihin, jotka voisivat hyödyntää konseptitodistusprototyypin suunnittelemisessa. Tarkasteltavina toimivat esimerkit potilastietojärjestelmästä sekä esineiden internetistä. Potilastietojärjestelmän tapauksessa perusteltiin lohkoketjun implementoimista erillisenä komponenttina, kun taas esineiden internetin tapauksessa esitettiin toiminnallisen datan säilyttämistä lohkoketjussa, kun taas raakadata säilytetään erillisessä tietokannassa rajatulla pääsyllä. Nämä esimerkit loivat hyvän pohjan, mutta eivät ole sovellettavissa prototyyppiin sellaisinaan.
Tutkielman toinen puolisko selostaa prototyypin kehitysprosessia. Aluksi esitellään käytetty tutkimusmenetelmä, eli konstruktiivinen tutkimusmenetelmä, jonka ominaispiirteenä on luoda käytännön ratkaisu oikean elämän ongelmaan. Prototyypin ensisijaisena vaatimuksena on pystyä kirjata aktiviteettilokeja käyttäjätietojärjestelmässä, kertoen kuka teki mitäkin ja kenelle, kuitenkaan paljastamatta luottamuksellista tietoa. Prototyyppi implementoitiin testiympäristöön käyttäen erillistä tietokantaa itse käyttäjätietojen tallentamiseen, kun taas lohkoketjua käytettiin käyttäjätietojärjestelmän aktiviteettilokien tallentamiseen. Prototyypin toimivuus varmistettiin ohjelmistotestausmetodeilla, tarkemmin ottaen integraatiotestauksella ja
hyväksymistestauksella.
Tehty tutkimus tulee hyödyttämään sidosryhmää toimivalla prototyypillä esittelemällä potentiaalisen tavan lisätä lohkoketjutoteutus kaupalliseen ohjelmistoon. Tutkielma pyrkii todistamaan lohkoketjutotetuksen tuomaa hyötyä käyttäjien tekemien muutosten tarkkailussa, täten kannustaen rehelliseen käyttöön ja samoin auttaa tunnistamaan haitallisen toiminnan, joka kaiken kaikkiaan johtaa kehittyneeseen tietoturvallisuuteen ja läpinäkyvyyteen. Tutkielmalla on myös tieteellistä arvoa esitellen käyttäjätietojärjestelmien tietoturvan kehittämistä lohkoketjutoteutusta hyödyntäen. Jatkotutkimusmahdollisuutena on arvioida toteutuksen varsinainen tuomalisäarvo kaupallisessa ohjelmistossa.