Redactie - 14 januari 2016

Dataververwerking veiliger maken met encryptie tot blockchain

Het veilig maken van data en de verwerking van informatie is altijd een uitdaging geweest. Dat was al in de tijd van het geschreven woord, zoals met encryptie (zie mijn eerdere blog ‘de slimme machine’). Maar in ons digitale mobiele tijdperk zijn er nieuwe, snelle en slimmere  methoden nodig om dataverwerking veilig te maken.

In 2003 kwam een dataopslagmethode op de markt in de vorm van CAS – Content Addressable Storage – waar een document met een digitale fingerprint werd beveiligd. Een algoritme maakte van de inhoud een digitale hash code, die eenduidig de set data beschreef als een versleuteld digitaal getal. Als dat getal ook nog eens werd gecombineerd met een datum dan was dat een unieke combinatie, die de identiteit van dat document beschreef. Immers, als men later met hetzelfde algoritme hetzelfde document in diezelfde hash code vertaalde, moest de inhoud identiek zijn. Een teken dat elke bit in dat digitale document (nog) hetzelfde was.

Op deze wijze ontstonden digitale WORM-systemen: write once, read many. Een methode van veilige opslag die een enorme vlucht nam. Vroeger werd WORM-functionaliteit gerealiseerd door de digitale informatie op ponsbanden of ponskaarten te plaatsen. Vervolgens al iets efficiënter door het op CD-roms te branden, maar dat bleef een fysieke methode die veel mechanica nodig had om te functioneren.

Het gebruiken van hash codes, al ontwikkeld in de jaren vijftig door Hans Peter Luhn, gaf veel meer mogelijkheden om via software de vereiste duurzaamheid van een digitale handeling of entiteit vast te leggen. Iets dat in onze digitale maatschappij een ‘sine qua non’ is geworden om transacties eenduidig vast te leggen, uit te wisselen en compliant te houden.

Hash tabellen
Naast het gebruik van een enkele hash code, kan men een veelvoud van die codes in tabellen samenvoegen. Hierbij is de hash code de verwijzing naar of index van een bepaald stukje informatie. Een stukje metadata, gemaakt uit de dataset zelf, die gebruikt kan worden om die dataset snel te vinden. Zo ontstaan zogenaamde hash tabellen, die de basis zijn van het snel kunnen werken met databases.

Het gebruik van slimme, efficiënte en zelfs encrypte hash-algoritmes heeft zich sinds de jaren zeventig enorm ontwikkeld. Net als het efficiënt kunnen adresseren van al de uiteenlopende koppelingen tussen hash-tabellen. Deze tabellen bepalen immers de grootte van de memory van een database en hoe efficiënter ze kunnen worden gecreëerd en gebruikt, hoe minder – dure – memory nodig is.

Merkle Tree
Het is evident dat het gebruik van hash-codes ook in de security-wereld aandacht kreeg. Als men activiteiten (transacties) kan beschrijven met een eenvoudig getal en dat getal in de tijd of in structuren kan vastleggen, dan is dat een interessant gereedschap om datasets – zoals transacties – eenduidig vast te leggen en te borgen.

De zogenaamde Merkle Tree is een encrypte variant van een boomstructuur van hash-codes, die ouder-kind relaties kan vastleggen. Op die wijze zijn volgordes gedistribueerd vast te leggen en terug te vinden. Hash Trees zijn zeer bruikbaar om efficiënt en vooral fouttolerant de content van grote data structuren te verifiëren. Het is dus een grote verzameling van hash-lijsten en hash-koppelingen (hash chains).

BitTorrent
Deze hash chains vormen de basis in de cybersecurity om gedistribueerde en tegelijkertijd schaalbare verificatiesystemen te bouwen. Het waren de gereedschappen waarmee in de jaren negentig de befaamde gedecentraliseerde applicaties als BitTorrent, Napster en Freenet werden gebouwd. BitTorrent komt van het Engelse woord torrent, dat ‘stortvloed’ betekent en is een peer-to-peer applicatie om grote hoeveelheden gegevens uit te wisselen. Centraal staat een tracker met de metadata die aangeeft waar data staat en waarmee de downloads worden gecoördineerd; het systeem levert zelf geen bestanden.

Als je dus een bestand zoekt, bijvoorbeeld een video, dat geeft het systeem aan waar die video zich bevindt en biedt het je de mogelijkheid zelf dat bestand te downloaden. Het is begrijpelijk dat met dit soort systemen het downloaden van grote gedistribueerde bestanden en verzamelingen mogelijk werd. Ook illegaal… Er bestaan websites waar men torrent-bestanden kan zoeken en uploaden; de grootste 3 zijn internationaal gezien The Pirate Bay, Mininova en isoHunt.

Hash Chains
Het gebruik van hash chains in security toepassingen is evident. In password-systemen gebruikt men het om snel en veilig paswoorden te verifiëren. In plaats van telkens passwoorden uit te wisselen, wisselt men de hash code van het password uit, maar telkens een iets andere versie. Het ‘vinden’ van de juiste opvolgende hash code van het password, wordt daarmee zeer bemoeilijkt.

Maar hash codes kunnen ook als een ketting aan elkaar worden gekoppeld. Als er bijvoorbeeld transacties plaatsvinden, kan men de hash code van die transactie vastleggen, als er weer een transactie plaatsvindt, plaatst men de volgende code erachter enzovoorts. Door om de zoveel tijd zo’n stukje ketting op een open, gedistribueerd systeem bekend te maken, wordt een verifieerbare ketting van transacties gecreëerd. Als meer partijen dit doen en al die stukjes ketting openbaar zijn, is de volledige authentieke ketting van ‘alle’ in de tijd gecreëerde transacties ‘altijd’ te reproduceren. Het bekendste voorbeeld van het gebruik van deze methode is de Bitcoin.

Bitcoin
We kunnen dus security gereedschappen maken, die enerzijds de coördinatie van wederzijds onbekende actoren realiseren en daarnaast veilige data of waardetransport mogelijk maken. Blockchains hebben vier essentiële karakteristieken: ze zijn encrypted, gedistribueerd, peer-to-peer en in de meeste gevallen open source. De bitcoin is de eerste toepassing van deze veilige waardeoverdracht, voor het eerst beschreven door Wei Dai en in 2009 geïmplementeerd door Satosh Nakamoto (pseudoniem van een onbekend persoon of een groep).

Bitcoins zijn ‘portemonnee-bestanden’ op je eigen computer of mobiele device en worden beheerd door een derde partij, de portemonnee-dienst. Via bitcoin-adressen kunnen we elkaar peer-to-peer betalingen toesturen, die door de wallet provider wordt geregistreerd, encrypted en via blockchains uitgewisseld en openbaar gemaakt. Ondanks de encryptie is het niet zo moeilijk transacties te achterhalen en te weten wie wat heeft betaald aan wie. Immers de blockchain heeft account en bedrag vastgelegd. Het is dus een open systeem dat witwassen of zwart geld transacties (bijna) onmogelijk maakt.

Het totale aantal bitcoins is gekoppeld aan de totale rekenkracht die in het systeem aanwezig is. Hoe meer betalingsverkeer-capaciteit, hoe meer bitcoins mogelijk worden. De inflatie is dus in het systeem ingebakken en niet (meer) in handen van de politiek. Hierdoor is zowel manipulatie onmogelijk als niet méér inflatie te realiseren dan vooraf in het systeem is vastgelegd.

Blockchains zijn een uitdagende revolutie in de Cybersecurity en FinTech en zullen de komende jaren onze digitale wereld niet alleen flink veranderen, maar ook een stuk veiliger maken. Want deze techniek is niet alleen voor bitcoins bruikbaar maar voor alle contracten die we – zonder inbreng van een derde partij als bank, notaris of overheid – digitaal willen vastleggen: van overschrijving tot hypotheekakte, van huis tot auto-aankoop en van testament tot trouwakte of geboortebewijs.

*) Zie ook het interessante artikel van Ben Rossi hierover in “How blockchains are redefining cybersecurity”.

Door: Hans Timmerman, cto EMC Nederland

Trend Micro BW BN week 10-11-13-14-2024 Copaco | BW 25 maart tm 31 maart 2024
Trend Micro BW BN week 10-11-13-14-2024

Wil jij dagelijkse updates?

Schrijf je dan in voor onze nieuwsbrief!