Dane oryginału

Original edition copyright © 2019 the IEEE Computer Society, Inc. All Rights Reserved. This translation published under license with the original publisher John Wiley & Sons, Inc. Title of English-language original: Blockchain for Distributed Systems Security by Sachin Shetty, Charles A. Kamhoua and Laurent L. Njilla, ISBN 9781119519607. Polish-language edition © 2020 by Polish Scientific Publishers PWN Wydawnictwo Naukowe PWN Spółka Akcyjna. All Rights reserved.

Przekład Krzysztof Konatowicz

Projekt okładki polskiego wydania Joanna Andryjowicz

Wydawca Wioleta Szczygielska-Dybciak

Redaktor prowadzący Jolanta Kowalczuk

Redaktor Małgorzata Dąbkowska-Kowalik

Koordynator produkcji Anna Bączkowska

Skład wersji elektronicznej na zlecenie Wydawnictwa Naukowego PWN

Aneta Pudzisz/Woblink

Konsultant merytoryczny

dr hab. Krzysztof Piech, profesor nadzwyczajny

Katedra Zarządzania i Marketingu, Wydział Ekonomii i Zarządzania,

Uczelnia Łazarskiego, Dyrektor Centrum Technologii Blockchain

Zastrzeżonych nazw firm i produktów użyto w książce wyłącznie w celu identyfikacji.

Copyright © for the Polish edition by Wydawnictwo Naukowe PWN SA

Warszawa 2020

ISBN 978-83-01-21143-1

eBook został przygotowany na podstawie wydania papierowego z 2020 r., (wyd. I)

Warszawa 2020

Wydawnictwo Naukowe PWN SA

02-460 Warszawa, ul. Gottlieba Daimlera 2

tel. 22 69 54 321, faks 22 69 54 288

infolinia 801 33 33 88

e-mail: pwn@pwn.com.pl, reklama@pwn.pl

www.pwn.pl

Przedmowa

Zwycięstwo Departamentu Obrony Stanów Zjednoczonych (DoD) na polach bitwy przyszłości będzie zależało od umiejętności zabezpieczenia infrastruktury cybernetycznej przed utratą danych osobowych, przed manipulacją wrażliwymi danymi i zakłóceniami świadczenia usług. Chociaż wszystkie rodzaje cyberzagrożeń są ważne i wymagają rozwiązania, to największe znaczenie mają kwestie integralności informacji. Wynika to stąd, że manipulowanie danymi może mieć ogromny wpływ na funkcjonowanie kluczowych usług bazujących na wiarygodności danych. Obecne rozwiązania w zakresie cyberbezpieczeństwa nie są w stanie skutecznie radzić sobie z naruszeniami poufności i prywatności danych, zazwyczaj mają charakter reaktywny i nie nadążają za wykładniczym wzrostem cyberzagrożeń. Rozwiązania w zakresie cyberbezpieczeństwa powinny umożliwić zabezpieczenie danych mimo wrogich działań podejmowanych przez przeciwników.

W pracach nad opracowaniem strategii cyberobrony nowej generacji konieczna jest pilna zmiana paradygmatu. Blockchain to nowa technologia, która może rozwiązać problemy cyberbezpieczeństwa związane z zarządzaniem tożsamością i informacjami o pochodzeniu danych w systemach rozproszonych. Ma ona kilka zalet decydujących o jej przydatności do budowy odpornych rozwiązań cyberbezpieczeństwa. Po pierwsze, blockchain, czyli łańcuch bloków, to dostępna publicznie, rozproszona i odporna na uszkodzenia oraz modyfikacje baza danych, którą każdy uczestnik sieci może udostępniać i nad którą nikt nie może przejąć wyłącznej kontroli. Po drugie, zapewnia ona integralność danych dzięki znacznemu utrudnieniu modyfikacji i manipulowania łańcuchami bloków, uzyskanemu przez zastosowanie kryptograficznych struktur danych i założeniu braku zaufania. Po trzecie, w blockchainie od początku założono wrogie działania przeciwników, czyniąc je bardzo kosztownymi. Rozwiązania cyberbezpieczeństwa oparte na blockchainie pozwolą na zmianę sposobów zapobiegania modyfikacjom danych, dzięki możliwości budowania zaufanych systemów działających w środowisku pozbawionym zaufania. Rozwiązania takie jak chmury danych/chmury obliczeniowe, Internet rzeczy (IoT) i Internet rzeczy pola walki (IoBT) są systemami rozproszonymi. Mają one wiele wad i podatności, które umożliwiają przeciwnikom uzyskanie dostępu do poufnych informacji i zakłócenie działania oferowanych usług. Bezpieczna platforma oparta na blockchainie zapewni integralność danych przetwarzanych w tych systemach oraz zmniejszy ryzyko udanych ataków.

W amerykańskiej ustawie o obronie narodowej z 2018 roku Departamentowi Obrony powierzono zadanie przeprowadzenia kompleksowych badań technologii blockchain, w szczególności w kontekście cyberbezpieczeństwa. Departament Obrony finansuje (w formie grantów badawczych, grantów SB IR/STTR itd.) badania zastosowań technologii blockchain jako bezpiecznej platformy komunikacji w scenariuszach taktycznych, w produkcji addytywnej i w zabezpieczaniu łańcuchów dostaw. Jednocześnie rosną obawy, że złośliwe oprogramowanie lub inne nielegalne treści, które przenikną do łańcucha bloków, okażą się bardzo trudne do usunięcia. Coraz więcej uwagi poświęca się również zagrożeniom łańcucha bloków, jakie mogą stworzyć nowe osiągnięcia w dziedzinie komputerów kwantowych.

Książka ta poświęcona jest zastosowaniom rozwiązań opartych na blockchainie w systemach rozproszonych do budowania odpornej i niezawodnej cyberinfrastruktury wspierającej działalność i misję korzystających z niej podmiotów. Większość wydanych ostatnio książek na temat blockchaina skupia się jest niemal wyłącznie na jego wpływie na sektor finansowy. Istnieje duże zapotrzebowanie na publikacje opisujące oddziaływanie technologii blockchain w dziedzinach innych niż kryptowaluty oraz sposób, w jaki blockchain może rozwiązywać problemy bezpieczeństwa i prywatności danych w chmurach i na platformach IoT/IoBT. Ta książka jest zbiorem artykułów prezentujących rozwiązania oparte na technologii blockchain, umożliwiające zabezpieczenie środowisk chmurowych i platform IoT/IoBT. Przedstawia ona też problemy w zakresie bezpieczeństwa, które należy rozwiązać, aby technologie blockchain mogły w pełni wykazać swój potencjał.

Dr Ananthram Swami
Senior Research Scientist (ST) for Network Science,

ARL Fellow, IEEE Fellow
US Army Research Laboratory, Adelphi, MD

Wprowadzenie

Przedsiębiorstwa komercyjne, instytucje rządowe i wojskowe coraz częściej padają ofiarą cyberataków, których celem jest kradzież poufnych informacji lub zakłócanie działania usług. Ze względu na konieczność zintegrowania w przyszłych działaniach wielu dziedzin i zapewnienia odporności na wysoką sporność cyberprzestrzeni, istnieje pilne zapotrzebowanie na rozwiązania z dziedziny cyberbezpieczeństwa, które zapewnią identyfikowalność, widoczność manipulacji, rozliczalność oraz audytowalność danych dowódczych, logistycznych i innych danych kluczowych dla działalności informacji. Stąd bierze się też potrzeba skupienia się na takich rozwiązaniach z dziedziny cyberbezpieczeństwa, które będą mogły zapewnić niezawodne działanie systemów podczas podejmowanych przez przeciwników ataków. Istniejące rozwiązania w tym zakresie są rozwiązaniami reaktywnymi i nie są w stanie poradzić sobie z gwałtownym wzrostem liczby cyberzagrożeń. Scentralizowane, czyli homogeniczne systemy informatyczne i bazy danych muszą ewoluować w stronę rozproszonych, bezpośrednich i bezpiecznych systemów.

Strategia cyberobrony sprowadzać się będzie do zapewnienia zdolności operowania na danych w bezpiecznym i zaufanym środowisku. Aby wygrać w walce cybernetycznej, wojsko musi zabezpieczyć swoje operacje na danych przez: (i) zapobieganie dostępowi przeciwników do sieci zawierających krytyczne dane, (ii) zapewnienie integralności danych mimo obecności przeciwników w sieci, oraz (iii) osiągnięcie odporności na próby manipulacji danymi podejmowane przez przeciwników. Jednocześnie rozwój technologii chmury i Internetu rzeczy, które wspierają usługi przetwarzania na żądanie (on-demand computing), dynamiczną aprowizację i zarządzanie systemami autonomicznymi, zwiększa potrzeby w zakresie poprawy ich bezpieczeństwa. Kluczowym zagadnieniem jest zapewnienie bezpieczeństwa zarządzania i przesyłania danych wewnątrz środowisk chmury i między takimi środowiskami. Audyt środowisk chmurowych będzie skuteczny tylko wtedy, gdy można będzie wiarygodnie prześledzić wszystkie operacje wykonywane na danych, czyli zebrać informacje o pochodzeniu danych, które pomogą w wykrywaniu włamań w infrastrukturach chmury obliczeniowej. Internet rzeczy (IoT) w kontekście wojskowym umożliwia łączenie ze sobą zasobów bojowych, takich jak czujniki, amunicja, broń, pojazdy, roboty i urządzenia ubieralne, umożliwiając realizację takich zadań, jak wykrywanie, komunikacja, współdziałanie i współpraca z żołnierzami. Ogromna skala i rozproszony charakter urządzeń IoT stwarzają wiele problemów związanych z bezpieczeństwem i prywatnością danych. Przede wszystkim bazowa infrastruktura sieciowa i komunikacyjna Internetu rzeczy musi być elastyczna i dostosowana do wsparcia dynamiki misji wojskowych. Ta dynamiczna zmiana infrastruktury komunikacyjnej musi się dokonać w sposób autonomiczny bez uzależniania się od scentralizowanych usług utrzymaniowych. Po drugie, należy zapewnić prawdziwość informacji udostępnianych za pośrednictwem urządzeń IoT. Stąd potrzeba opracowania zaufanej platformy, która zapewni dokładność i wierność informacji przekazywanych żołnierzom.

Blockchain oraz rozwijające się technologie rozproszonych publicznych rejestrów danych mają cechy prawdziwie rozproszonych i bezpośrednich systemów zapewniających pełną rozliczalność i audytowalność. Blockchain, czyli łańcuch bloków, to dostępna publicznie, rozproszona i odporna na uszkodzenia i modyfikacje baza danych, którą każdy uczestnik sieci może udostępniać i nad którą nikt nie może przejąć wyłącznej kontroli. Blockchainy zakładają obecność przeciwników w sieci i ich celem jest niwelowanie wrogich strategii przez wykorzystanie możliwości obliczeniowych uczciwych węzłów i zapewnienie odporności informacji przekazywanych za ich pośrednictwem na manipulacje i zniszczenie. Ta zdolność pozwala dowodzącym kontynuować działania wojskowe mimo działań podejmowanych przez przeciwników. Rozwiązania kwestii cyberbezpieczeństwa oparte na blockchainie będą stanowić zmianę paradygmatu w sposobie zabezpieczania się przed manipulacją danymi. Blockchain umożliwia budowanie zaufanych systemów w środowiskach pozbawionych zaufania. Manipulowanie łańcuchami bloków staje się w nich niezwykle trudne ze względu na zastosowanie kryptograficznych struktur danych i założenie braku zaufania. Blockchain umożliwia wzmocnienie cyberobrony dzięki swojej zdolności do zapobiegania nieautoryzowanym działaniom w oparciu o mechanizm rozproszonego konsensusu, a także dzięki zapewnianiu integralności danych przez swoją niemodyfikowalność, możliwości audytu i mechanizmy odporności operacyjnej (czyli brak pojedynczego słabego ogniwa powodującego rozległą awarię systemu). Chociaż blockchain nie jest panaceum na wszystkie problemy cyberbezpieczeństwa, to technologia ta może pomóc organizacjom w rozwiązywaniu problemów z dziedziny cyberbezpieczeństwa, takich jak zarządzanie tożsamością, zapewnianie informacji o pochodzeniu danych i zapewnianie integralności danych.

Książka ta poświęcona jest zastosowaniom rozwiązań opartych na blockchainie w systemach rozproszonych tworzących odporną i niezawodną cyberinfrastrukturę wspierającą działalność i misję korzystających z niej podmiotów. Istnieje potrzeba zrozumienia, jak blockchain może oddziaływać w sferach wykraczających poza kryptowaluty i w jaki sposób może rozwiązywać problemy bezpieczeństwa i prywatności danych w chmurach i w platformach IoT/IoBT. Tematy poruszane w tej książce dotyczą podstawowych właściwości i formalnych podstaw technologii blockchain oraz praktycznych problemów związanych z jej wdrażaniem w środowiskach chmury i na platformach IoT. Ponadto książka ta przedstawia wyzwania w zakresie bezpieczeństwa, które należy pokonać, aby technologie blockchain mogły w pełni wykazać swój potencjał. Trzy rozdziały książki (4, 5 i 8) oparte są na artykułach badawczych, które na konferencji Blockchain Connect 2019 zostały wyróżnione tytułem „Top Blockchain paper”1.

Publikacja ta jest oparta na badaniach sponsorowanych przez Laboratorium Badawcze Sił Powietrznych Stanów Zjednoczonych (Air Force Research Laboratory), w ramach umowy nr FA8750-16-0301. Chcielibyśmy podziękować AFRL za wsparcie finansowe, współpracę i pomoc. Rząd Stanów Zjednoczonych jest upoważniony do powielania i rozpowszechniania przedruków w celach rządowych, bez względu na wszelkie zapisy dotyczące praw autorskich. Prace opisane w tej książce były również częściowo wspierane z innych źródeł, które wskazano w poszczególnych rozdziałach.

Redakcja pragnie potwierdzić wkład w powstanie tej książki następujących osób (w kolejności alfabetycznej): Abdulhamid Adebayo, Philip Asuquom, Shihan Bao, Yue Cao, Haitham Cruickshank, Ali Dorri, Peter Foytik, Arash Golchubian, Y. Thomas Hou, Raja Jurdak, Salil S. Kanhere, Kevin Kwiat, Adriaan Larmuseau, Ao Lei, Jin Li, Xueping Liang, Wenjing Lou, Andrew Miller, Aziz Mohaisen, Mehrdad Nojoumian, DaeHun Nyang, Danda B. Rawat, Muhammad Saad, Devu Manikantan Shila, Jeffrey Spaulding, Marco Steger, Zhili Sun, Deepak Tosh, Yang Xiao i Ning Zhang. Dodatkowe podziękowania kierujemy również do: Misty Blowers, Jerry’ego Clarke’a, Jima Perretta i Val Red za ich cenne wsparcie i wskazówki. Za pomoc w redakcji technicznej dziękujemy następującym osobom: Paulowi Ratazzi, Robertowi Reschly i Michaelowi Weismanowi. Na koniec przekazujemy podziękowania i wyrazy uznania dla: Jovina E. Allena, Waltera J. Baileya, Sandry B. Fletcher, Lisy M. Lacey, Sandry H. Montoya, Lorri E. Roth i Jessici D. Schultheis, którzy pomagali nam w pracach redakcyjnych i w przygotowaniu ostatecznej postaci książki. Dodatkowo dziękujemy Mary Hatcher i Vishnu Narayanan z wydawnictwa Wiley za ich uprzejmą pomoc w doprowadzeniu do publikacji tej książki.

Zastrzeżenia: Poglądy i treści wyrażone w tej książce są poglądami autorów i nie odzwierciedlają oficjalnej polityki ani stanowiska Departamentu Obrony, ani rządu Stanów Zjednoczonych.

Lista autorów

Abdulhamid Adebayo
Howard University

Philip Asuquom
University of Surrey

Shihan Bao
University of Surrey

Yue Cao
Northumbria University

Haitham Cruickshank
University of Surrey

Ali Dorri
University of New South Wales

Peter Foytik
Old Dominion University

Arash Golchubian
Florida Atlantic University

Y. Thomas Hou
Virginia Tech

Raja Jurdak
University of New South Wales

Salil S. Kanhere
University of New South Wales

Kevin Kwiat
CAESAR Group

Adriaan Larmuseau
United Technologies Research Center China

Ao Lei
University of Surrey

Jin Li
Guangzhou University, Guangzhou, China

Xueping Liang
Old Dominion University

Wenjing Lou
Virginia Tech

Andrew Miller
University of Illinois
Urbana-Champaign

Aziz Mohaisen
University of Central Florida

Mehrdad Nojoumian
Florida Atlantic University

DaeHun Nyang
Inha University

Danda B. Rawat
Howard University

Muhammad Saad
University of Central Florida

Devu Manikantan Shila
United Technologies Research Center

Jeffrey Spaulding
University of Central Florida

Marco Steger
Virtual Vehicle Research Center, Graz,
Styria, Austria

Zhili Sun
University of Surrey

Deepak Tosh
University of Texas at El Paso

Yang Xiao
Virginia Tech

Ning Zhang
Washington University in St. Louis

CZĘŚĆ I

WPROWADZENIE
DO BLOCKCHAINA

01

Wprowadzenie

Sachin S. Shetty 1, Laurent Njilla 2 i Charles A. Kamhoua 3

1 Old Dominion University, Virginia Modeling, Analysis and Simulation Center, Norfolk, VA, USA

2 US Air Force Research Lab, Cyber Assurance Branch, Rome, NY, USA

3 US Army Research Laboratory, Network Security Branch, Adelphi, MD, USA

1.1. Podstawowe informacje na temat łańcucha bloków

Technologia łańcucha bloków (blockchain) cieszy się ostatnio ogromnym zainteresowaniem wśród przedstawicieli branży finansowej, opieki zdrowotnej, usług komunalnych, nieruchomości oraz różnych organizacji rządowych [1–5]. Przykładami jej potencjalnych zastosowań są: obsługa reklamacji, zapewnianie transparentności, audyty działalności, zarządzanie tożsamością oraz systemy informacji o pochodzeniu dla łańcuchów dostaw. Jej zadaniem jest eliminowanie zagrożeń związanych z fałszerstwami produktów lub zapewnianie integralności informacji pochodzących z urządzeń Internetu rzeczy (Internet of Things). Blockchain, czyli łańcuch bloków, to współdzielona, rozproszona i odporna na uszkodzenia baza danych, która jest udostępniana każdemu uczestnikowi sieci, lecz nad którą nikt nie może przejąć wyłącznej kontroli. Technologię tę opracowano z myślą o zastosowaniach w środowiskach o wysokim poziomie sporności, aby zabezpieczyć dane przed działaniami przeciwników zdeterminowanych, by je zmienić lub uszkodzić. Technologia blockchain z założenia zakłada obecność przeciwników w sieci, a jej podstawowym zadaniem jest uniemożliwienie ich ataków przez wykorzystanie mocy obliczeniowej jej uczciwych węzłów. Informacje przechowywane i przekazywane za pośrednictwem łańcucha bloków są więc odporne na manipulacje i uszkodzenie. Dzięki tym właściwościom blockchain ułatwia budowanie wiarygodnych sieci mogących funkcjonować w środowiskach pozbawionych zaufania.

Głównym założeniem blockchaina jest wyeliminowanie wszelkich centralnych lub zaufanych stron niezbędnych do potwierdzenia poprawności danych. Dzięki blockchainowi aplikacje mogą funkcjonować w sposób całkowicie zdecentralizowany. Blockchain umożliwia wymianę informacji między podmiotami, które nie mają do siebie zaufania. Umożliwia tworzenie sieci niewymagających zaufania (trustless networks) i umożliwia ich uczestnikom realizowanie ze sobą transakcji bez wzajemnego zaufania. Blockchain uwzględnia również to, że bezpieczeństwo jego medium komunikacyjnego może być naruszane przez aktorów zewnętrznych lub wewnętrznych. Blockchain przyspiesza proces rozstrzygania sporów między jego uczestnikami dzięki wyeliminowaniu pojedynczego zaufanego podmiotu lub pośrednika. Manipulowanie łańcuchami bloków jest niezwykle trudne ze względu na zastosowane kryptograficzne struktury danych i założenie zdolności do działania przy braku zaufania. Sieci blockchain są odporne na uszkodzenia, co pozwala ich węzłom eliminować inne węzły, które ulegną awarii lub zachowują się nieprawidłowo.

Blockchain ma następujące zalety w porównaniu do scentralizowanych baz danych: (i) umożliwia bezpośrednie udostępnianie bazy danych w środowiskach bez zaufania, czyli w warunkach, w których trudno byłoby wybrać zaufanego, centralnego arbitra egzekwującego uprawnienia i poprawność danych. Blockchain wprowadza własny dowód ważności i autoryzacji transakcji, wykorzystując proces weryfikacji realizowany przez wiele węzłów walidujących oraz oparty na mechanizmie konsensusu zapewniającym synchronizację ich decyzji; oraz (ii) zdolność zapewnienia w ekonomiczny sposób niezawodności i wiarygodności bez potrzeby stosowania kosztownej infrastruktury do replikacji i przywracania pracy po awarii. Blockchain nie wymaga konfigurowania węzłów, które chcą się do niego przyłączyć i zsynchronizować dane. Jego węzły komunikują się ze sobą bezpośrednio (w trybie peer-to-peer), dzięki wbudowanej redundancji i wyeliminowaniu potrzeby ścisłego monitoringu. Blockchain może tolerować rozległe awarie medium komunikacyjnego, pozwala użytkownikom zewnętrznym przesyłać transakcje do dowolnego węzła i zapewnia aktualizację danych dla węzłów, które powracają do sieci po chwilowym odłączeniu.

Rozproszona baza danych blockchain jest ciągle przyrastającym łańcuchem rekordów, zwanych blokami, zabezpieczonym przed ingerencją i modyfikacjami dzięki replikom przechowywanych w innych węzłach i ciągłej weryfikacji. Każdy blok zawiera listę transakcji uszeregowanych według czasu transakcji. Kolejne bloki tworzą publiczny rejestr wszystkich zrealizowanych transakcji, oparty na trwałej, niemodyfikowalnej strukturze danych, która jest widoczna globalnie dla każdego uczestnika sieci p2p. Ta elegancka struktura danych umożliwia śledzenie transakcji wykonywanych w środowiskach rozproszonych. Bloki zawierają takie dane, jak zbiór transakcji użytkownika, znacznik czasu, odwołanie do poprzedniego bloku w łańcuchu bloków, korzeń drzewa skrótów transakcji i inne. Odwołanie do poprzedniego bloku (jego skrót) zapewnia powiązanie bloków w łańcuch. Skróty kryptograficzne kolejnych bloków zapewniają integralność całego łańcucha (patrz rys. 1.1).

Rysunek 1.1. Struktura bloków

Rysunek 1.2. Architektura blockchaina

1.1.1. Podstawy technologii blockchain

Skuteczność technologii blockchain opiera się na następujących trzech elementach: na zdecentralizowanej sieci, na rozproszonym konsensusie i na kryptograficznie bezpiecznych algorytmach. Rysunek 1.2 ilustruje pierwsze trzy właściwości łańcucha bloków.

Elementy te mają następujące cechy:

Zdecentralizowana sieć – Funkcją zdecentralizowanej sieci jest zapewnienie propagacji komunikatów transakcyjnych między węzłami odpowiedzialnymi za obsługę rozproszonej bazy danych (rozproszonego rejestru wszystkich transakcji). Specjalny protokół sieciowy umożliwia rozsyłanie komunikatów transakcyjnych z dowolnego węzła do wszystkich węzłów w ich zdecentralizowanej sieci. Jednak ta sieć nie jest medium czysto rozgłoszeniowym i umożliwia węzłom propagowanie komunikatów opisujących poprawne transakcje. Sieć ta może zostać wykorzystana do obsługi prywatnych bądź publicznych łańcuchów bloków, co decyduje o ich wydajności i bezpieczeństwie. Niezależnie od tego, czy łańcuch bloków jest publiczny, czy prywatny, obsługuje go zdecentralizowana sieć o architekturze peer-to-peer. Węzły mogą się bez ograniczeń przyłączać do sieci i opuszczać ją. Nie ma w niej żadnego centralnego arbitra. Sieć wyposażono w mechanizmy zapewniające jej nadmiarowości i niezawodność, których zadaniem jest łagodzenie skutków awarii węzłów i łączy.

Rozproszony konsensus – Blockchain wykorzystuje protokół konsensusu w zdecentralizowanej sieci p2p do weryfikacji transakcji przed dodaniem kolejnych bloków do publicznego rejestru transakcji. Węzły realizujące protokół konsensusu odbierają komunikaty z sieci p2p i wstawiają transakcje do rozproszonego rejestru transakcji. Protokół konsensusu jest odpowiedzialny za tworzenie, zwane również wydobyciem (mining) bloków, czyli za uzgadnianie, czy dany blok może zostać dołączony do łańcucha bloków. Protokół konsensusu wybiera więc pewien zbiór transakcji, który po przejściu procesu weryfikacji zostanie uznany za obowiązujący. Ten proces weryfikacji jest realizowany przez użytkowników blockchaina i nie wymaga odwoływania się do żadnego centralnego administratora.

Protokoły konsensusu zapewniają zgodność nowo dodawanych transakcji z potwierdzonymi wcześniej transakcjami znajdującymi się w łańcuchu bloku oraz ich prawidłowy porządek chronologiczny. Nowe transakcje, oczekujące na potwierdzenie, są łączone w bloki i przesyłane do sieci blockchain celem weryfikacji.

Algorytm kryptograficznie bezpieczny – Podstawowym elementem technologii blockchain jest nowoczesny system kryptograficzny wykorzystujący algorytmy klucza publicznego, techniki takie jak kryptografia krzywej eliptycznej, oraz funkcje skrótów kryptograficznych, jak na przykład SHA3-256. W typowej aplikacji blockchainowej para kluczy (klucz publiczny i klucz prywatny) generowana jest z użyciem krzywych eliptycznych Secp256K1. Klucz prywatny pełni tradycyjną rolę elementu tajnego i jest wykorzystywany do podpisywania transakcji. Na przykład, w przypadku kryptowaluty Bitcoin, gdy użytkownik wymienia bitcoiny z innym użytkownikiem, musi podpisać transakcję swoim kluczem prywatnym, zanim zostanie ona rozgłoszona w sieci. Po podpisaniu transakcji, węzły zajmujące się tworzeniem bloków, czyli górnicy (miners), weryfikują ważność podpisu transakcji i potwierdzają jej poprawność, korzystając z mechanizmów konsensusu.

1.1.2. Zastosowania komercyjne technologii blockchain

Home IoT – „Inteligentny dom” to nowa dziedzina zastosowań technologii Internetu rzeczy (IoT – Internet of Things), której celem jest zapewnienie lepszej dostępności wszystkich sieciowych urządzeń domowych oraz spersonalizowanego interfejsu dla użytkowników tych urządzeń. Aby zapewnić ich poprawne działanie, w inteligentnych domach instalowane są huby IoT gromadzące i analizujące dane z sieci domowej łączącej wszystkie urządzenia inteligentne. Na podstawie tak zgromadzonych danych można łatwo określić wzorce użytkowania i zachowań użytkowników w środowisku domowym i w ten sposób stworzyć cyfrowy ślad domowników w domach inteligentnych. Jednak są to dosyć wrażliwe informacje, które nie powinny dostać się w niepowołane ręce ani nie powinny być wykorzystywane przez dostawców tego typu rozwiązań, na przykład do promocji dodatkowych produktów. Dlatego wraz z kolejnymi technologiami inteligentnymi wchodzącymi do coraz bardziej inteligentnych domów wzrasta ryzyko poważnego naruszenia prywatności. Konwencjonalne podejścia mogą nie być w stanie zapewnić bezpieczeństwa i prywatności w środowiskach IoT, ze względu na ich szczególne cechy. Chodzi tu między innymi o zdecentralizowaną topologię, ograniczone zasoby urządzeń IoT, ograniczoną wydajność sieci oraz minimalne standardy bezpieczeństwa, jakie spełniają urządzenia IoT. Wprowadzenie technologii blockchain do tego środowiska mogłoby potencjalnie rozwiązać wiele problemów inteligentnego domu, ponieważ blockchain nie wymaga scentralizowanej kontroli i działa w środowisku sieci rozproszonej, przypominającym IoT. Blockchain eliminuje słabe punkty, których awaria zagroziłaby pracy całej sieci, i poprawia skalowalność. Co więcej, blockchain z założenia zapewnia anonimowość wymaganą w środowisku IoT, w którym tożsamość użytkowników musi pozostać prywatna. Niezależnie od zalet technologii blockchain, jej integracja ze środowiskiem inteligentnego domu może napotkać pewne przeszkody. Przede wszystkim, tworzenie bloków dołączanych do struktury blockchain jest procesem intensywnym obliczeniowo, wymagającym od realizujących go urządzeń solidnej mocy obliczeniowej.

Moc obliczeniowa urządzeń IoT może nie być wystarczająca do tworzenia bloków z wymaganą szybkością. Kolejny problem dotyczy przechowywania danych. Blockchain to nic innego jak rozproszony rejestr transakcji przechowywany lokalnie w węzłach, ale urządzenia domu inteligentnego, takie jak różnego typu czujniki itd., mają ograniczone zasoby pamięciowe. Wreszcie protokoły blockchain angażują dość znacznie przepustowość sieci, co również może być wadą w przypadku urządzeń inteligentnych, dla których przepustowość sieci jest cennym zasobem.

Sektor transportowy – W systemach komunikacji międzypojazdowej (V2V – vehicle-to-vehicle) pojazdy wymieniają informacje z innymi pojazdami. W systemach pojazd-infrastruktura (V2I – vehicle-to-infrastructure) pojazdy komunikują się z infrastrukturą drogową realizującą np. zadania związane z poprawą bezpieczeństwa i wydajnością eksploatacji infrastruktury transportowej. Jednymi z pierwszych przykładów systemów tego typu są narzędzia webowe, takie jak system Waze, który udostępnia bieżące informacje o ruchu drogowym, syntetyzowane na podstawie informacji o prędkości i położeniu samochodów jego użytkowników. Nawet proste systemy, takie jak systemy automatycznego poboru opłat drogowych, bazują na idei V2I. Bardziej futurystycznymi przykładami mogą być systemy umożliwiające pojazdom przekazywanie innym pojazdom, które znajdują się w okolicy, informacji o ich położeniu na drodze, na przykład w celu zapobiegania kolizjom, unikania zatorów lub w celu komunikacji z infrastrukturą drogową, na przykład sygnalizacją świetlną, aby dostarczać informacji o ruchu i pomagać w kierowaniu nim. W sensie globalnym każdy pojazd, kontroler ruchu i każdy element infrastruktury drogowej może potencjalnie być urządzeniem IoT. Każdy taki element musi być podłączony do Internetu i może się przez niego komunikować. Konieczne jest zatem zapewnienie bezpieczeństwa tych urządzeń, ponieważ dane przez nie generowane są krytyczne. Technologię blockchain można zastosować w tej dziedzinie na przykład do potwierdzania autentyczności identyfikatorów pojazdów podczas śledzenia ich lokalizacji w sieci drogowej. Blockchain umożliwi również wyeliminowanie prób podszywania się pod inne pojazdy i manipulowania systemami automatyki ruchu lub ich sabotowania. W 2014 roku izraelskim studentom udało się wywieść w pole aplikację Waze. Zdołali oni przekonać ją o dużym zatorze na drodze, na której tak na prawdę nie było żadnego ruchu [6]. Studenci osiągnęli to, przesyłając spreparowane dane fałszywych pojazdów znajdujących się rzekomo na określonym odcinku drogi. Rozwiązanie oparte na blockchainie mogłoby pomóc w autonomicznym zarządzaniu identyfikatorami pojazdów i ich ruchem w sieci drogowej. W przypadku jego użycia próba oszukania systemów takich jak Waze, polegająca na przekazaniu danych o pojazdach, które znikąd pojawiły się na jakimś odcinku drogi, nie powiodłaby się. Ponadto infrastruktura transportowa może potwierdzać prawdziwość danych pojazdu, pomagając jego autonomicznym systemom w podejmowaniu decyzji zależnych od poziomu zaufania do danych.

Sektor energetyczny – Technologia blockchain jest również polecana do zastosowań w sektorze elektrycznym, w następujących dziedzinach:

energia transaktywna – blockchain może być podstawą rozproszonych zasobów energetycznych (DER – Distributed Energy Resource) i ich interakcji z systemami zarządzania DER (DERMS – DER Management Systems);

eMobilność – czyli możliwość obsługi transakcji ładowania na stacjach w wielu obszarach usługowych;

kontrakty z klientami – blockchain umożliwia wyeliminowanie pośredników z detalicznego rynku energii.

Technologię blockchain można też wykorzystać do zapewniania bezpieczeństwa łańcucha dostaw w sektorze elektrycznym. Zakłady energetyczne cały czas instalują nowe urządzenia z kategorii technologii operacyjnej i aktualizują posiadane programy i oprogramowanie układowe urządzeń w swoich instalacjach. Jednym z problemów związanych z tę metodą jest zapewnienie integralności programów i oprogramowania układowego. Niektórzy dostawcy podczas dystrybucji oprogramowania lub aktualizacji oprogramowania układowego używają podpisów cyfrowych, co jednak nie rozwiązuje wszystkich problemów. Inni dostawcy używają skrótów (zwykle MD5) do sprawdzania integralności danych. Skrót MD5 nie jest bezpieczny z technicznego punktu widzenia, ze względu na jego problemy z kolizjami. Oznacza to, że tę samą wartość skrótu można uzyskać dla dwóch różnych zbiorów danych. Technologię blockchain można zastosować w branży energetycznej do zapewnienia integralności programów i/lub oprogramowania układowego w łańcuchu dostaw systemów bezpieczeństwa.

Elektronika użytkowa – Technologia blockchain wpłynie również na sektor elektroniki użytkowej, zapewniając rozwiązania do cyfrowego potwierdzania pochodzenia w łańcuchach dostaw [7], w których zarówno klienci, jak i dostawcy wymagają pełnej przejrzystości informacji o produktach i dostawach [8, 9]. Blockchain może także złagodzić zagrożenia dotyczące łańcuchów dostaw w tej branży, zapewniając otwarty dostęp do procesów planowania, wdrażania i kontroli przepływu materiałów i produktów końcowych do ich ostatecznych odbiorców. Opracowanie technik i narzędzi potwierdzających pochodzenie ma najwyższy priorytet wśród działań ograniczających ryzyko takich zjawisk, jak fałszowanie towarów, nieautoryzowana produkcja, nieuprawnione modyfikacje, kradzieże, wprowadzanie złośliwego oprogramowania i sprzętu, jak również złe praktyki produkcyjne i programistyczne. Globalizacja łańcucha dostaw elektroniki użytkowej spowodowała, że zadania opracowywania programów i oprogramowania układowego coraz częściej są powierzane przedsiębiorstwom offshore. Jednocześnie globalizacja ta pozwoliła na ogromne oszczędności w sektorze elektronicznych systemów przetwarzania danych. Jednak uzależnienie się od usług świadczonych przez podmioty zewnętrzne spowodowało wzrost złośliwości w kolejnych ogniwach łańcucha dostaw elektroniki użytkowej. W związku z tym pojawiło się zapotrzebowanie na narzędzia lub technologie, które będą mogły złagodzić ryzyko związane z procesami łańcucha dostaw, z pozyskiwaniem dostawców, z zarządzaniem dostawcami zewnętrznymi (podmiotami mającymi fizyczny lub wirtualny dostęp do kodu i/lub systemów oprogramowania), z zakupami zainfekowanego oprogramowania lub sprzętu od dostawców, ze złośliwym oprogramowaniem układowym w sprzęcie lub z podrobionym sprzętem oraz z zewnętrznymi dostawcami usług pamięci danych lub z agregatorami danych. Co prawda istnieją pewne rozwiązania, takie jak side-channel fingerprinting, inżynieria wsteczna i metody formalne umożliwiające wykrywanie obecności podrobionych chipów. Jednak metod tych nie da się przeskalować tak, aby chroniły cały łańcuch dostaw elektroniki użytkowej. Stąd też potrzeba opracowania opartej na blockchainie metodyki zarządzania informacjami o pochodzeniu w poszczególnych ogniwach łańcucha dostaw, co ilustruje rysunek 1.3. Radykalna ewolucja technologii IoT skłoniła również większość uczestników rynku elektroniki użytkowej do przenoszenia swoich działań do infrastruktur chmurowych [10]. Budowane w ten sposób systemy do zarządzania pochodzeniem danych umożliwiają zapewnienie prawdziwości transakcji i zapobieganie złośliwym działaniom, dzięki możliwości bieżącego ostrzegania użytkowników.

Sektor medyczny – Rosnąca ostatnio popularność ubieralnych urządzeń medycznych (wearable medical devices) kusi firmy z branży opieki zdrowotnej perspektywą wysokich zysków. Ubieralne urządzenia medyczne to urządzenia komputerowe wyposażone w czujniki umożliwiające rejestrowanie i monitorowanie funkcji życiowych pacjentów i ich aktywności fizycznej.

Te informacje i dane analityczne mogą zostać powiązane z danymi z Elektronicznej Dokumentacji Medycznej (EDM), co zapewni pacjentom wymierne korzyści, umożliwiając im monitorowanie stanu zdrowia, pomagając lekarzom w przepisywaniu spersonalizowanych dawek leków oraz umożliwiając ubezpieczycielom uzyskanie wglądu w koszty opieki.

Jednak z powodu obaw o kwestie bezpieczeństwa i prywatności, producenci urządzeń medycznych przystosowali (według dostępnych informacji) jedynie 20–30% swoich urządzeń sieciowych do pracy w szpitalach. Informowano również o kilku lukach w zabezpieczeniach urządzeń medycznych. Na przykład, zgodnie z doniesieniami zespołu ICS-CERT, wykryto, że pompa infuzyjna Symbiq firmy Hospira [11], używana przez placówki medyczne do automatycznego podawania dawek leków pacjentom zgodnie z dyspozycją lekarza prowadzącego, jest podatna na ataki. Luka ta umożliwiała atakującym zmianę dawek przepisanego leku, co miało bezpośredni wpływ na bezpieczeństwo pacjentów. W 2017 roku Amerykańska Agencja ds. Żywności i Leków (FDA) poinformowała o lukach w zabezpieczeniach urządzeń kardiologicznych firmy St. Jude Medical [12]. Należy spodziewać się, że sieciowe urządzenia medyczne nadal będą wykorzystywane w tej branży, a więc prawdopodobieństwo naruszeń ich bezpieczeństwa będzie wzrastać wykładniczo. Obecne rozwiązania w zakresie cyberbezpieczeństwa, odpowiadające za ochronę tożsamości są nieefektywne i nie mają możliwości natychmiastowego reagowania na awarie i jednoznacznego wskazania odpowiedzialności.

Rysunek 1.3. System zarządzania informacjami o pochodzeniu dla łańcucha dostaw

Poza obawami o bezpieczeństwo urządzeń medycznych jest również wiele obaw w kwestiach prywatności informacji o zdrowiu pacjentów, gromadzonych zarówno przez ubieralne urządzenia medyczne, jak i w systemach EDM. Pacjentów niepokoi brak przejrzystości i wiedzy, w jakim zakresie podmioty służby zdrowia uzyskują dostęp do danych na ich temat, oraz w jaki sposób dane te wykorzystują. Obecne rozwiązania z dziedziny cyberbezpieczeństwa dla służby zdrowia koncentrują się na zwiększeniu odpowiedzialności dostawców danych za wykrywanie wycieków danych. Jednak równie ważne jest zabezpieczenie dostępu do danych oraz natychmiastowe informowanie o tym, że mogło dojść do ich ujawnienia nieuprawnionym osobom. Co więcej, ponad 300 systemów EDM ma scentralizowaną architekturę. Centralizacja sprawia, że ich awaryjność jest równa awaryjności najsłabszego ogniwa. Centralizacja pogarsza też interoperacyjność tych systemów, czego skutkiem jest brak całościowego i kompleksowego obrazu stanu zdrowia pacjenta. Według doniesień 62% ubezpieczonych osób dorosłych powierza prowadzenie i zarządzanie swoją dokumentacją medyczną lekarzowi pierwszego kontaktu [13], co ogranicza im możliwość konsultacji z innymi świadczeniodawcami. Ponadto, mimo że dostawcy usług zdrowotnych powinni przestrzegać zasad i przepisów, takich jak HIPAA (Ustawa o przenośności i rozliczalności ubezpieczeń zdrowotnych z 1996 roku), to nadal wiele podmiotów nie podlega żadnym przepisom. Dlatego tak ważne jest, aby każdy świadczeniodawca mający dostęp do danych pacjenta mógł być rozliczany z wykonywanych przez siebie operacji na tych danych oraz aby każda operacja na danych była kontrolowana.

Możliwość dokumentowania pochodzenia danych przy użyciu technologii blockchain ułatwi bezpieczne śledzenie urządzeń medycznych od momentu ich produkcji, aż do bieżącej eksploatacji. Informacje o pochodzeniu kodowane w łańcuch bloków staną się podstawą wiarygodnego przepływu zadań opartego na zaufanym źródle prawdziwych informacji. Takie źródło prawdziwych informacji będzie można również wykorzystać do zapewnienia jednoznacznej identyfikowalności i określania odpowiedzialności w przypadku awarii któregoś z urządzeń, zarówno przypadkowej, jak również wskutek ataku. Możliwości te będą mogły również zostać wykorzystane do autonomicznego monitorowania i konserwacji zapobiegawczej wyrobów medycznych. W porównaniu z istniejącymi rozwiązaniami z dziedziny cyberbezpieczeństwa, rozproszone protokoły konsensusu oferowane przez blockchain, techniki kryptograficzne i decentralizacja kontroli pozwolą ograniczyć zagrożenia cybernetyczne dla urządzeń medycznych.

Inne korzyści obejmować będą: usprawnienie bezpiecznego śledzenia urządzeń medycznych, oszczędność kosztów i poprawę prywatności pacjentów dzięki bezpiecznemu i ograniczonemu dostępowi do danych pacjenta.

W zakresie zapewniania prywatności użytkowników blockchain opiera się na pseudoanonimowości (nazwy zastępuje identyfikatorami) i technikach kryptografii klucza publicznego. Warsztaty [14] zorganizowane wspólnie przez Office of the National Coordinator (ONC) for Health IT oraz przez National Institute for Standards and Technology (NIST) poświęcone były zastosowaniom rozwiązań blockchainowych w opiece zdrowotnej oraz badaniom mającym na celu wyjaśnienie wpływu wdrożeń technologii blockchain w charakterze infrastruktury w takich zastosowaniach, jak ochrona prywatności w modelowaniu predykcyjnym, zwiększanie interoperacyjności między instytucjami w dużej skali, zapewnianie niezmienności dokumentacji medycznej, usprawnianie procesów rozliczeń ubezpieczeń zdrowotnych, wymiana informacji medycznych, modele świadczenia opieki zdrowotnej wykorzystujące sztuczną inteligencję, zarządzanie tożsamością, strategie monetyzacji oraz wymagania dotyczące pochodzenia danych.

Pochodzenie danych w chmurze – Zapewnienie wiarygodnych danych o pochodzeniu informacji w środowiskach chmurowych potrzebne jest do rejestrowania transakcji na danych w chmurze i do wykrywania wrogich działań. Najnowocześniejsze technologie określania pochodzenia danych bazują obecnie na porównywaniu danych zarejestrowanych po uruchomieniu oprogramowania na zasobach fizycznych lub wirtualnych. Jednak nie wykrywają one naruszeń integralności i zwykle są realizowane w środowiskach prywatnych, aby zagwarantować pełniejszą odpowiedzialność za zasoby. Procesy te nie dają się również łatwo skalować ani przenosić do federowanych środowisk chmurowych, są kosztowne oraz brakuje im przejrzystości. Stąd wynika silna potrzeba opracowania zasad określania pochodzenia danych dla środowisk chmurowych, w których w utrzymaniu przejrzystych i niemodyfikowalnych informacji o pochodzeniu może uczestniczyć wielu przedstawicieli lub wirtualnych interesariuszy. Technologia blockchain, w której dane przechowywane są w publicznym, rozproszonym i niemodyfikowalnym rejestrze, obsługiwanym przez zdecentralizowaną sieć węzłów obliczeniowych, zapewnia zdecentralizowaną i permanentną zdolność ewidencjonowania, która ma krytyczne znaczenie dla dokumentowania pochodzenia danych i kontroli dostępu w ochronie danych w chmurze.

1.1.3. Zastosowania łańcucha bloków w cyberdziałaniach wojskowych

Blockchain jako system rozproszonego rejestru informacji zapewnia wiele funkcji i funkcjonalności przydatnych w prowadzeniu cyberdziałań wojskowych. Funkcje te obejmują: audyty informacji historycznych, pewność pochodzenia danych, możliwość wykrywania naruszeń integralności danych historycznych oraz możliwość audytowania treści zabezpieczającą je przed manipulacją. Blockchain ma też wiele innych zalet, takich jak ekonomiczność i transparentność, co czyni go atrakcyjnym narzędziem dla cyberdziałań wojskowych.

Generowanie cyberzasobów – Blockchain można wykorzystać do generowania cyberzasobów, które umożliwią budowanie aplikacji wymagających bezpośredniej interakcji między klientami a zasobami. Systemy blockchainowe mogą pomóc w potwierdzaniu różnym procesom faktu utworzenia i przetworzenia transakcji oraz w hostingu cyberzasobów i danych identyfikacyjnych.

Przenoszenie własności cyberzasobów – Systemy blockchainowe umożliwiają zmianę własności cyberzasobów dzięki wykorzystaniu tej właściwości łańcucha bloków, która uniemożliwia odwołanie zatwierdzonej transakcji. Ewentualne zmiany będą musiały zostać dołączone do łańcucha bloków i nie zmienią żadnej z wcześniej zatwierdzonych transakcji, zapewniając w ten sposób nieodwracalność przeniesienia własności.

Transparentność i gwarancja pochodzenia danych – Każda operacja na cyberzasobach jest kodowana jako transakcja i zapisywana w publicznie dostępnym i niezmiennym rejestrze – łańcuchu bloków. Systemy blockchainowe zapewniają rejestrowanie i śledzenie pochodzenia każdej operacji na cyberzasobach.

Weryfikowalność i audyt – Blockchain przechowuje transakcje związane z tworzeniem i przenoszeniem własności cyberzasobów. Jego odporność na manipulacje ułatwia identyfikowanie zmian i kontrolę wykonywanych operacji.

Cyberdziałania wojskowe – W zastosowaniach wojskowych sprawą najwyższej wagi jest zapewnienie wśród międzynarodowych partnerów możliwości identyfikacji i ujawniania manipulacji oraz rozliczalności i kontroli danych dowódczych, logistycznych i innych o kluczowym znaczeniu dla misji. Jest to istotne, ponieważ przyszłe działania wymagać będą zintegrowania wielu dziedzin i zapewnienia odporności na wrogie działania w cyberprzestrzeni. Scentralizowane, czyli homogeniczne systemy informatyczne i bazy danych muszą ewoluować w kierunku rozproszonych, bezpośrednich (disintermediated) i bezpiecznych systemów. Dlatego zaufanie w działaniach angażujących podmioty międzynarodowe nie może być uzależnione od decyzji żadnego pojedynczego podmiotu. Zaufanie musi zostać zdecentralizowane i bazować na solidnych, innowacyjnych paradygmatach kryptograficznych wykraczających poza tradycyjną infrastrukturę PKI, wykorzystywaną zwykle w większości homogenicznych przedsiębiorstw.

Innowacyjny, rozproszony mechanizm zarządzania zaufaniem i tożsamością jest więc kluczowym elementem, który umożliwi identyfikację, uwierzytelnianie i autoryzację w sposób zapewniający bezpośrednią rozliczalność i audytowalność. Nowe technologie blockchainowe oraz technologie zbliżonych, rozproszonych rejestrów danych mają właśnie cechy takich prawdziwie rozproszonych i bezpośrednich mechanizmów rozliczalności i kontroli. Bieżące zastosowania produkcyjne kryptowalut zapewniają obecnie bezprecedensową rozliczalność i audytowalność, które znacznie wykraczają poza to, co oferują tradycyjne waluty fiducjarne, eliminując pośredników i umożliwiając użytkownikom realizowanie międzynarodowych transakcji z pseudonimizacją tożsamości i z użyciem portfeli w otwartych i publicznych implementacjach blockchainów.

Specyfika bezpośrednich partnerstw międzynarodowych i wymiany informacji wymaga podjęcia często sprzecznych ze sobą, intensywnych badań oraz pokonania wielu wyzwań rozwojowych, istotnie różniących się od tych, które rozwiązywane są przez publiczne i otwarte (permissionless) wdrożenia blockchaina. Aby sprostać wyzwaniom w zakresie identyfikacji, uwierzytelniania, autoryzacji, rozliczalności i audytowalności na takim poziomie i rozwiać wszelkie obawy odnośnie integralności operacji międzynarodowych, konieczne będzie przeanalizowanie znacznie lepszych mechanizmów zarządzania rozproszoną tożsamością. Ponadto wspierające je praktyki konsensusu muszą różnić się od dopuszczających opóźnienia i ciężkich wydajnościowo implementacji stosowanych w kryptowalutach. Tworzone rozproszone rejestry danych muszą być przede wszystkim prywatne i zamknięte (permissioned), jednak nie mogą sprowadzać się do implementacji monokulturowych, bazujących na pojedynczym rozwiązaniu lub dostawcy, aby w sposób niezamierzony i paradoksalny nie powodowały centralizacji wymiany informacji. Musimy starannie oceniać i wymagać interoperacyjności oraz standaryzacji implementacji blockchain dla danych krytycznych, ponieważ wesprze to dodatkowo bezpośrednią rozliczalność i audytowalność wymaganą w wielu dziedzinach w naszych coraz bardziej złożonych działaniach międzynarodowych.

1.1.4. Wyzwania dla technologii blockchain

Technologia blockchain ma potencjał rozwiązywania problemów cyberbezpieczeństwa w systemach rozproszonych. Nie można jej jednak uważać za panaceum na wszelkie problemy związane z cyberbezpieczeństwem. Choć blockchain ma naturalną zdolność zabezpieczania integralności danych, to nie gwarantuje on ich poufności, dostępności ani autentyczności. Zapewnienie tego będzie wymagało integracji z wieloma rozwiązaniami z dziedziny cyberbezpieczeństwa. Organizacje, które rozważają użycie technologii blockchain w dziedzinie cyberbezpieczeństwa, powinny dokładnie ocenić, czy technologia ta jest i będzie dla nich przydatna. Dobrym początkiem do ustalenia, czy organizacja powinna zastąpić swoje istniejące rozwiązanie rozwiązaniem opartym o blockchain, będzie udzielenie odpowiedzi na poniższe pytania [15]:

Czy obawiasz się o odporność swojej scentralizowanej bazy danych na awarie?

Czy modyfikacją zawartości bazy danych zajmuje się wiele grup użytkowników?

Czy wiele podmiotów działa w różnych domenach zaufania?

Czy istnieją jasno określone zasady kontroli wprowadzania danych?

Czy propozycja powierzenia roli walidatorów protokołowi konsensusu wnosi jakąś wartość?

Kolejnym krokiem po uzasadnieniu potrzeby wdrożenia rozwiązania opartego o rozproszony łańcuch bloków będzie wybranie konkretnego rozwiązania, odpowiadającego wymaganiom organizacji. Należy uwzględnić tu wiele aspektów, takich jak rodzaj danych, które mają być kodowane w transakcjach łańcucha bloków, częstotliwość tworzenia tych transakcji, infrastrukturę używaną do przechowywania łańcucha bloków (czy ma być on zamknięty, czy otwarty), system zarządzania kluczami, liczbę walidatorów, czas przygotowywania węzła do pracy, zdolność inteligentnych inteligentnych do dynamicznego poznawania zasad, płaszczyzny ataku rozwiązania blockchainowego i wiele innych. Na przykład w sektorze opieki zdrowotnej należy dokładnie zidentyfikować rodzaj danych, które będą przechowywane w blockchainie, ponieważ wszelkie wrażliwe informacje mogą być w nim narażone na ataki zagrażające ich poufności. Organizacja, która chce zapewnić zgodność działań uczestników łańcucha bloków, powinna wybrać zamknięte implementacje blockchaina [16].

Poniżej przedstawiamy podsumowanie kluczowych problemów badawczych, które należy uwzględnić podczas realizacji praktycznych rozwiązań blockchainowych.

Skalowalność – Obecne implementacje kryptowaluty Bitcoin nie są skalowalne, ponieważ potwierdzenie transakcji zajmuje 10 minut lub dłużej, a maksymalna możliwa do uzyskania przepustowość to zaledwie siedem transakcji na sekundę. Potrzebne są więc podstawowe badania, które pozwoliłyby opracować skalowalną platformę łańcucha bloków. Przed tym konieczne będzie nie tylko zdefiniowanie skalowalności samego blockchaina, ale także określenie wskaźników umożliwiających oszacowanie skalowalności. Podejmowano wiele prób poprawy skalowalności łańcucha bloków przez modyfikację takich parametrów, jak wielkość bloków lub częstość ich tworzenia. Jednak starania mające na celu osiągnięcie skalowalności oparte wyłącznie na reparametryzacji mogą przynieść jedynie ograniczone korzyści i nie rozwiążą problemów z wydajnością sieci. Wydajność sieci pogarsza protokół sieci p2p, na którym opiera się blockchain, stopień decentralizacji i liczba węzłów w sieci. Przepustowość sieci blockchaina zależy od przepustowości bazowej sieci, która decyduje o szybkości propagacji bloków i o tym, jaka część węzłów jest zaangażowana w wymianę bloków w danym memencie. Na przykład, jeśli szybkość tworzenia transakcji osiągnie 80% przepustowości sieci, to jest całkiem możliwe, że 10–20% węzłów p2p nie będzie w stanie świadczyć usług, co zmniejszy efektywną moc wydobywczą sieci.

Istnieje zatem potrzeba opracowania nowych architektur blockchainowych, które zapewnią odpowiednią skalowalność, jednak nie kosztem centralizacji. Architektury takie powinny zawierać strategie projektowania protokołu obejmujące wiele warstw, a mianowicie warstwę: sieci, konsensusu i pamięci danych. Konieczna jest również identyfikacja i pomiar wskaźników skalowalności, takich jak przepustowość, opóźnienia, czas przygotowania węzła do pracy, pamięć danych, koszt potwierdzonej transakcji, sprawiedliwość i stopień wykorzystania sieci. Architektury takie będą musiały również odpowiadać na takie pytania, jak: „Czy wykorzystanie parametrów systemu do poprawy skalowalności odbywa się kosztem bezpieczeństwa?” oraz „Jaki jest stopień odporności systemu podczas cyberataku?”.

Warstwa sieciowa – Zadaniem warstwy sieciowej w architekturze rozwiązania blockchainowego jest zapewnienie skutecznego mechanizmu propagowania komunikatów transakcyjnych. Warstwa sieciowa umożliwia przesyłanie komunikatów od dowolnego uczestnika sieci do pozostałych węzłów. Jednak warstwa ta nie działa w pełni w trybie rozgłoszeniowym, a węzły wymieniają komunikaty zawierające zweryfikowane transakcje. Ponadto, w większości obecnych implementacji sieci blockchain, sieć jest mocno niewykorzystana i ogranicza przepustowość implementacji. Tak więc warstwa sieciowa w blockchainie stanowi wąskie gardło w przetwarzaniu transakcji.

Warstwa konsensusu – Warstwa konsensusu jest odpowiedzialna za weryfikację poprawności transakcji i wykorzystuje warstwę sieciową do przekazywania komunikatów i zapisywania transakcji w rozproszonym rejestrze. Protokoły konsensusu to między innymi: dowód pracy (PoW – Proof of Work), dowód stawki (PoS – Proof of Stake) oraz protokół odporności na awarie bizantyjskie (BFT – Byzantine Fault Tolerance). Tradycyjna technologia blockchain w dużej mierze opiera się na mechanizmie PoW zapewniającym konsensus w systemach zdecentralizowanych. Aby w tym mechanizmie móc dołączyć swój blok do łańcucha bloków, górnik musi zaangażować moc obliczeniową w celu rozwiązania pewnego zadania kryptograficznego. Przy takim podejściu górnicy wybierają specjalizowane urządzenia pozwalające im zwiększać swoją zdolność obliczeniową. Ostatecznym celem górników jest zwycięstwo w wyścigu o dołączenie bloku, za co otrzymują wynagrodzenie. Jednak aby wygrać, muszą zużyć znaczną ilości energii. Dla przykładu, w blockchainie Bitcoin górnicy rywalizują o wynagrodzenie w wysokości 12,5 bitcoina (styczeń 2020 r.), warte około 12 000 USD2. Co 10 minut zwycięzca rywalizacji otrzymuje 25 nowo wyemitowanych bitcoinów. Zatem kwota wynagrodzenia za sekundę ich pracy wynosi 33,30 USD, a zakładając, że koszt elektryczności to około 0,01 USD/ KWh, to możemy w przybliżeniu stwierdzić, że górnicy w sieci Bitcoin zużywają 1100 MW energii elektrycznej w ciągu sekundy. Na osiągnięcie konsensusu przy użyciu metody PoW zużywana jest więc ogromna ilość energii, która w większości przypadków jest bezpowrotnie tracona na obliczanie kolejnych wartości nieodwracalnej funkcji skrótu SHA256. Ponieważ wartość wynagrodzenia dla górników jest stopniowo zmniejszana (docelowo ma osiągnąć poziom zerowy), trzeba się zastanowić, co w przyszłości będzie motywować górników PoW do wydobywania kryptowalut, aby zapewnić bezproblemowe działanie procesu konsensusu. Ciekawą alternatywą może być protokół konsensusu PoS (dowód stawki), w którym o dołączeniu bloków do łańcucha decydują podmioty o najwyższym zaangażowaniu finansowym w systemie (wykładające najwyższe stawki), niezależnie od długości łańcucha bloków lub historii publicznego rejestru. Główną motywacją w tym podejściu jest powierzenie odpowiedzialności za wybór lidera w procesie aktualizacji łańcucha bloków tym podmiotom, które angażują swoje środki. Ma to na celu zapewnienie utrzymania bezpieczeństwa systemu i zniechęcenie do oszustw w związku z ryzykiem utraty stawki przez grających nieuczciwie. To podejście jest z grubsza podobne do konsensusu PoW, poza częścią obliczeniową. W jego przypadku szansa, że górnikowi uda się przedłużyć łańcuch bloków przez dołączenie swojego bloku, jest proporcjonalna do wysokości jego stawki w systemie.

Istnieje więc potrzeba opracowania specjalizowanego mechanizmu konsensusu, który nie będzie angażował znacznej mocy obliczeniowej uczestników i który zapewni równowagę między liczbą przetwarzanych transakcji a czasem sprawdzania poprawności transakcji, poziomem wynagrodzeń i zasadami bezpieczeństwa określanymi przez uczestników. Aby zrealizować powyższe cele, taki dedykowany mechanizm konsensusu mógłby wybierać optymalny w danej sytuacji protokół konsensusu.

Prywatność – Zamknięte (permissioned) platformy blockchain, takie jak Hyperledger Fabric i należąca do JP Morgan platforma Quorum, stawiają sobie za cel zapewnienie prywatności, ale sposób, w jaki cel ten realizują, jest tak naprawdę dość ograniczony. Systemy te składają się z kilku węzłów weryfikujących, z których każdy widzi cały rejestr transakcji w postaci tekstowej. Chociaż systemy te zostały zaprojektowane, aby zapewnić dostępność/spójność nawet w przypadku awarii niektórych węzłów, to nie mogą one zagwarantować prywatności danych, gdy dojdzie do naruszenia bezpieczeństwa w jednym z węzłów. Niektóre zamknięte platformy blockchain oferują możliwość utworzenia „prywatnego kanału” obejmującego jedynie pewien podzbiór tych węzłów, ale również w takim podzbiorze naruszenie bezpieczeństwa danych nadal spowoduje wyciek danych transakcyjnych i uniemożliwi interakcję kanału prywatnego z innymi kanałami. W obecnych implementacjach konieczny jest kompromis między odpornością i ekspresywnością z jednej strony, a prywatnością z drugiej.

Istnieje wiele podejść mogących zapewnić lepsze wyniki. Są to między innymi kryptografia progowa/obliczenia wielopodmiotowe, dowody z wiedzą zerową oraz szyfrowanie homomorficzne. Teoria leżąca u podstaw tych podejść jest już dobrze ugruntowana, ale jeśli chodzi o praktykę, to nadal wyzwaniem jest: (a) znalezienie wydajnych algorytmów dla danych zastosowań oraz (b) integracja z istniejącymi systemami. Zatem skupienie się na budowaniu lepszych mechanizmów ochrony prywatności może być kolejnym krokiem – uzasadnionym i interesującym z technicznego punktu widzenia.

Bezpieczeństwo – Mimo zalet zastosowań technologii blockchain do zapewniania bezpieczeństwa systemów rozproszonych, opisano wiele przypadków zagrożeń bezpieczeństwa związanych z tą technologią [17–19]. W 2016 roku ktoś zdołał wypłacić 50 mln USD z DAO, czyli ze zdecentralizowanej organizacji autonomicznej (Decentralized Autonomous Organization), działającej na podstawie inteligentnych kontraktów w łańcuchu bloków Ethereum [20]. W czerwcu 2017 roku giełda Bitfinex poinformowała o tym, że padła ofiarą ataku distributed denial-of-service, który doprowadził do tymczasowego zawieszenia jej działalności. Inne giełdy Bitcoin i Ethereum również często padały ofiarami ataków DDoS i DNS, które utrudniały użytkownikom dostęp do ich usług.

Płaszczyzny ataków w technologii blockchain można ogólnie podzielić na następujące trzy główne kategorie: (i) zagrożenia związane z technikami tworzenia/utrzymywania rozproszonego rejestru transakcji (np. forki blockchaina, porzucone bloki, bloki osierocone itp.), (ii) zagrożenia dla podstawowej infrastruktury sieciowej systemu blockchain (np. ataki na protokoły konsensusu powodujące opóźnienia, mniejszą przepustowość, niespójności, ataki DDoS, ataki DNS, ataki Fork After Offing [FAW] itd.) oraz (iii) zagrożenia związane z aplikacjami frontendowymi/backendowymi zintegrowanymi z technologią blockchain (kradzieże kluczy prywatnych, ataki na organizacje certyfikacyjne, ataki na usługi członków blockchainów zamkniętych, pozyskiwanie danych z blockchainów, ataki dwukrotnego wydatkowania, kradzieże portfeli itp.).

1.2. Zawartość książki

Książka ta jest zbiorem odrębnych artykułów, które łączy wspólna tematyka obejmująca między innymi szeroko pojęte, oparte na blockchainie bezpieczne zarządzanie danymi i ich przechowywaniem w środowiskach opartych na chmurze i IoT, zagadnienia pochodzenia danych przechowywanych w chmurze; bezpieczny model IoT, architektury audytowe, zastosowania blockchaina w branży wojskowej i w służbie zdrowia oraz omówienie zamkniętych platform blockchainowych. Książka zestawia kilka starszych prac (poświęconych takim kwestiom, jak pochodzenie danych w chmurze bloków i analiza jej bezpieczeństwa) z nowszymi i najbardziej aktualnymi wynikami badań budzącymi duże zainteresowanie (z dziedzin obejmujących zabezpieczenia łańcucha dostaw oparte na niezmiennikach, frameworki udostępniania informacji i zaufaną federację informacji). Artykuły poruszają kwestie bezpieczeństwa i prywatności w blockchainie w kluczowych obszarach obejmujących: uniemożliwianie górnikom walut cyfrowych dokonywania ataków przeciwko spółdzielniom górniczym, analizę empiryczną płaszczyzn ataków na blockchain, zapobieganie atakom dwukrotnego wydatkowania, analizę bezpieczeństwa protokołów konsensusu łańcucha bloków oraz kwestie prywatności zamkniętych platform blockchainowych.

1.2.1. Rozdział 2. Protokoły i algorytmy rozproszonego konsensusu

W tym rozdziale analizujemy szczegółowo odporny na awarie konsensus w kontekście przetwarzania rozproszonego. Odporny na awarie mechanizm konsensusu, przez regulację rozpowszechniania informacji w sieci rozproszonych procesorów, gwarantuje, że wszystkie te procesory będą uzgadniać jednakowe wartości danych i dzięki temu wykonają usługę, bez względu na ich potencjalne awarie i zawodne kanały komunikacji. Gwarancja konsensusu ma kluczowe znaczenie dla poprawnego funkcjonowania rozproszonych systemów komputerowych. Tak samo blockchain, będąc odmianą systemu rozproszonego, wymaga protokołu konsensusu, który zapewni, że wszystkie węzły w sieci p2p uzgodnią jeden łańcuch historii transakcji (czyli „publiczny rejestr transakcji”), uwzględniając potencjalny niekorzystny wpływ uszkodzonych węzłów i nieprzewidywalne warunki sieciowe. W chwili pisania tego tekstu na rynku istniało ponad sto prymitywów blockchainowych, wykorzystujących ponad 10 klas protokołów konsensusu. Skupiając się na podstawach konsensusu w przetwarzaniu rozproszonym, rozdział ten omawia szereg tematów obejmujących swoim zakresem kwestie od klasycznego konsensusu odpornego na awarie, stosowanego w przetwarzaniu rozproszonym, po najnowsze protokoły konsensusu wykorzystywane w blockchainach. Analizy sprawności mechanizmów konsensusu wspomagane są modelowaniem matematycznym. W tym rozdziale najpierw przedstawiamy w skrócie podstawy odpornego na awarie algorytmu konsensusu stosowanego w przetwarzaniu rozproszonym, a potem formalną analizę protokołu Nakamoto – pionierskiego protokołu konsensusu z łańcucha bloków Bitcoin, wykorzystującego dowód pracy. Zaprezentujemy również kilka nowych protokołów konsensusu nieopartych na PoW oraz ich zastosowania. Przedstawimy ocenę jakościową i porównanie wyżej wymienionych protokołów konsensusu.

1.2.2. Rozdział 3. Przegląd płaszczyzn ataków w sieci blockchain

W tym rozdziale omawiamy płaszczyzny ataków na blockchain oraz możliwe sposoby pokonania bezpieczeństwa tej technologii. W tym celu zakładamy, że podatność na różnych płaszczyznach ataków wynika z: (i) konstruktów kryptograficznych łańcucha bloków, (ii) rozproszonej architektury systemów wykorzystujących blockchain oraz (iii) kontekstu zastosowania blockchaina. Dla każdej z tych podatności przedstawimy kilka ataków, takie jak między innymi: samolubne wydobycie i powiązane zachowania węzłów, atak 51%, ataki DNS, ataki DDoS, dwukrotne wydanie środków, opóźnienia konsensusu (spowodowane samolubną postawą górnika lub rozproszonymi atakami DDoS), rozgałęzienia łańcucha bloków, bloki porzucone i przestarzałe, pozyskiwanie danych z bloków, kradzieże portfeli oraz ataki na prywatność. Następnie omówimy związki między tymi atakami i pokażemy, jak jedno nieuczciwe działanie może umożliwić kolejne ataki. W dalszej części przedstawimy skuteczne środki obrony stosowane przez technologię blockchain lub proponowane przez naukowców, umożliwiające łagodzenia skutków takich ataków i załatanie luk bezpieczeństwa w blockchainach.

1.2.3. Rozdział 4. ProvChain: oparte na blockchainie potwierdzanie pochodzenia danych w chmurze

W tym rozdziale omawiamy szeroko zagadnienia oraz najważniejsze wyzwania związane z potwierdzaniem pochodzenia danych przechowywanych w chmurze. Przedstawiamy ProvChain, platformę blockchainową zapewniającą wiarygodne informacje o pochodzeniu danych, realizującą następujące cele: (i) bieżące informacje o pochodzeniu danych, (ii) środowisko odporne na manipulacje, (iii) poprawa prywatności oraz (iv) weryfikacja poprawności informacji o pochodzeniu danych. Rozdział ten przedstawia szczegółowy opis rozwiązania umożliwiającego realizacje wymienionych powyżej celów o nazwie ProvChain. Opisuje implementację ProvChain opartą na usłudze chmury danych na licencji open source – ownCloud. Następnie przedstawia szczegółowe wyniki analiz, aby dowieść skuteczności rozwiązania ProvChain w zakresie dostarczania pewnych informacji o pochodzeniu danych, z wymaganym poziomem prywatności i dostępnością na platformach chmury danych. Na koniec opisuje i proponuje kilka rozwiązań zadania przetwarzania danych grafowych w chmurze.

Przypisy

1 https://medium.com/blockchain-connect-conference/top-50-blockchainpapers-and-research-team-lead-you-to-the-frontier-of-blockchainacademic-277b0358b784

2 Od 12 maja 2020 r. nagroda za blok będzie wynosiła 6,25 bitcoina.