Fra teori til praksis: sådan bruger vi blockchain til at forbedre it-sikkerheden
Med blockchains kan vi verificere vores datatransaktioner, beskytte fortrolige data og øge gennemsigtigheden; store skridt i retning af en bedre it-sikkerhed. I teorien i hvert fald. I praksis er blockchain-teknologiernes fulde potentiale endnu ikke blevet forløst. Lektor ved IT-Universitetet, Bernardo David, forklarer, hvordan vi kommer fra lovende matematiske teorier og protokoller til praktisk kodning og ”real-world scenarios”.
Skrevet 11. oktober 2022 07:09 af Bernardo Machado David
Lidt forenklet ligger blockchains enorme potentiale i, at personer, som ikke nødvendigvis stoler på hinanden, kan udveksle data i et system, som – fordi det er decentralt – ikke kan kontrolleres af en enkelt person eller part. I medierne og hos den brede offentlighed er blockchain hovedsageligt stadig kendt som kryptovaluta-teknologien, som har givet os mulighed for at lave transaktioner uden indblanding fra bankerne.
Fokuseringen på kryptovalutaerne skygger ofte for et andet stort blockchain-potentiale: Smart Contracts. Det er kort fortalt digitale kontrakter, som i en vis udstrækning automatisk sørger for, at en given indgået aftale overholdes
Bernardo David
Fokuseringen på kryptovalutaerne skygger imidlertid ofte for et andet stort blockchain-potentiale: Smart Contracts. Det er kort fortalt digitale kontrakter, som i en vis udstrækning automatisk sørger for, at en given indgået aftale overholdes.
Udfordringen
På trods af de blockchain-baserede it-systemers og i særdeleshed Smart Contracts’ store potentialer, er det stadig en udfordring at sikre, at blockchain-systemerne lever op til gældende love og regler og visse data er beskyttet.
Et af blockchain-konceptets medfødte karakteristika er, at alle transaktioner er offentlige. Men dette er problematisk i forhold til EU’s persondataforordning, GDPR, og ikke mindst i forhold til indgåede aftaler, som af den ene eller den anden grund er fortrolige.
Derudover er det sværere at håndtere tekniske fejl, fx programmeringsfejl, i et blockchain-baseret it-system. Til forskel fra mange andre it-systemer er svært at ”gå tilbage” for at rette en fejl. Essensen i blockchain-baserede systemer er nemlig, at alt bliver hugget i sten – også fejl. Og det kan have uhensigtsmæssige konsekvenser, fx ved finansielle transaktioner.
Ovenstående udfordringer betyder, at det kræver en bred vifte af forskellige ekspertiser at sikre en effektiv og forsvarlig implementering af blockchain-løsninger.
Først og fremmest er det nødvendigt at udvikle kryptografiske protokoller, som beskriver, hvordan systemerne skal bruges og derefter matematisk bevise, at disse protokoller sikrer et højt sikkerhedsniveau, selv når et system bliver udsat for et massivt hackerangreb. Uden ordentlige matematiske analyser og beviser, kan man nemlig ikke lave en god vurdering af, i hvor vid en udstrækning et system er tilstrækkeligt sikkert at bruge, hvilket er alfa omega, hvis man fx skal bruge systemerne til at håndtere værdifulde data.
Hvis vi skal udvikle systemer, som både overholder lovgivningen og som derudover beskytter brugernes data i det omfang, de måtte ønske, skal vi starte med at fokusere på designfasen. Designerne skal kunne mestre avancerede, kryptografiske værktøjer og teknikker, som gør det muligt at behandle sensitivt data uden at få adgang til det
Bernardo David
Når det teoriske design er udviklet og analyseret, skal man i gang med det mere praktiske arbejde. Her skal de matematiske protokoller bl.a. omsættes til koder. I denne fase skal man være særligt opmærksom på, at menneskelige fejl kan resultere i uoprettelige fejl, fx fordi den implementerede kode ikke afspejler det, der blev beskrevet og analyseret i designfasen.
Selv et perfekt teoretisk design kan derfor stadig ende med et sårbart blockchain-system pga. fejl i kodningsfasen.
Løsningen
Hvis vi skal udvikle systemer, som både overholder lovgivningen og som derudover beskytter brugernes data i det omfang, de måtte ønske, skal vi starte med at fokusere på designfasen. I udviklingen af nye blockchain-baserede løsninger, skal designerne kunne mestre avancerede, kryptografiske værktøjer og teknikker, som gør det muligt at behandle sensitivt data uden at få adgang til det.
I akademiske kredse har disse teknikker været kendt i over 40 år, men når det alligevel viser sig svært at udvikle et korrekt design på en blockchain-løsning, hænger det bl.a. sammen med, at det kræver en ret specifik ekspertise, som typisk vil være en ph.d.-grad i kryptografi, at lave en tilstrækkelig analyse af designet.
Hvis man er lykkedes med at komme godt igennem design-fasen, starter en ny og anderledes udfordring; nemlig at omsætte de teoretiske design til et it-system, som virker i den virkelige verden.
For at gøre det, har man igen brug for specifikke (og nye) kompetencer, fx en eller flere eksperter i praktisk anvendelse af programmeringssprogsteori med fokus på verifikation, således at det bliver muligt at kontrollere om det udviklede computerprogram rent faktisk udfører den teoretiske opgave, som er blevet matematisk specificeret.
Selve verifikationen er essentiel, fordi den tjener som bevis for, at alt foregår efter hensigten.
Hvordan når vi frem til løsningen?
Som ovenstående gerne skulle give indtryk af, har vi brug for eksperter med en bred vifte af it-kvalifikationer for at kunne udnytte blockchains og andre decentraliserede systemers fulde potentiale.
Vi brug for eksperter med en bred vifte af it-kvalifikationer for at kunne udnytte blockchains og andre decentraliserede systemers fulde potentiale
Bernardo David
På IT-Universitetet uddanner vi nogle af dem, og vi gør vores bedste for at udstyre dem med en tværfaglig tilgang, som er nødvendig for ikke bare at forstå matematikken, men også den kontekst, som matematikken skal bruges i. Derudover er det vigtigt, at undervisning i fx programmeringssprog og semantik (PLS) er baseret på den nyeste viden indenfor området.
I IT-Universitetets
Center for Information Security and Trust (CISAT), gør vi derfor en dyd ud af at sikre, at al undervisning er forskningsbaseret. Det gør vi både ved selv at lave banebrydende forskning og ved at etablere tætte samarbejder med andre relevante institutioner som fx Aarhus Universitet og Concordium Foundation, hvor en meget kvalificeret forskergruppe arbejder med de samme udfordringer.
Hvis vi skal kunne gøre os gældende internationalt med et højt uddannelsesniveau og banebrydende forskning, kræver det både økonomiske ressourcer og samarbejdsvilje fra erhvervslivet, fra myndighederne og i en vis grad fra samfundet som helhed.
Derudover kræver det, at virksomheder og statslige myndigheder vil samarbejde, så både forskere og studerende kan basere deres arbejde på virkelige scenarier. På den måde mindsker vi risikoen for, at løsninger, som ser gode ud på papiret, ikke ender som katastrofer i virkeligheden.
Bernardo Machado David, lektor, email beda@itu.dk