Bezpieczeństwo i niezawodność systemów rozproszonych

Podobne dokumenty
Rozproszone systemy multimedialne. Krzysztof Banaś Systemy rozproszone 1

Systemy rozproszone. Wstęp. Krzysztof Banaś Systemy rozproszone 1

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

WSIZ Copernicus we Wrocławiu

Podstawy Secure Sockets Layer

Szczegółowy opis przedmiotu zamówienia:

Bezpieczeństwo informacji w systemach komputerowych

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

DANE W SIECIACH TELEKOMUNIKACYJNYCH

Bringing privacy back

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI.

Modele uwierzytelniania, autoryzacji i kontroli dostępu do systemów komputerowych.

korporacyjnych i resortowych na bazie protokołu u IP M. Miszewski,, DGT Sp. z o.o.

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

SMB protokół udostępniania plików i drukarek

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

SSL (Secure Socket Layer)

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Bezpieczeństwo sieci bezprzewodowych

Poufność (słaba) Integralność (niekryptograficzna) Uwierzytelnienie (słabe) Brak kontroli dostępu Brak zarządzania kluczami

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Seminarium Katedry Radiokomunikacji, 8 lutego 2007r.

Bezpieczeństwo aplikacji typu software token. Mariusz Burdach, Prevenity. Agenda

Załącznik nr 2 Opis wdrożonych środków organizacyjnych i technicznych służących ochronie danych osobowych

SET (Secure Electronic Transaction)

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

ZiMSK. Konsola, TELNET, SSH 1

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

BEZPIECZEOSTWO SYSTEMU OPERO

MODEL WARSTWOWY PROTOKOŁY TCP/IP

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)

Protokół 802.1x. Środowisko IEEE 802.1x określa się za pomocą trzech elementów:

Zastosowania PKI dla wirtualnych sieci prywatnych

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

BeamYourScreen Bezpieczeństwo

Serwery multimedialne RealNetworks

Informacja o zasadach świadczenia usług zaufania w systemie DOCert Wersja 1.0

co to oznacza dla mobilnych

Zdalne logowanie do serwerów

OFERTA NA SYSTEM LIVE STREAMING

Zastosowania informatyki w gospodarce Wykład 5

Protokoły zdalnego logowania Telnet i SSH

Działanie komputera i sieci komputerowej.

Przesył mowy przez internet

Program szkolenia: Bezpieczny kod - podstawy

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie

5R]G]LDï %LEOLRJUDğD Skorowidz

Protokół Kerberos BSK_2003. Copyright by K. Trybicka-Francik 1. Bezpieczeństwo systemów komputerowych. Złożone systemy kryptograficzne

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Bezpieczeństwo systemów komputerowych

Realizacja zasady integralności danych w zatrudnieniu zgodnie z podejściem PbD

Wybrane działy Informatyki Stosowanej

INFORMATYKA Pytania ogólne na egzamin dyplomowy

USŁUGI DODATKOWE W SIECIACH BEZPRZEWODOWYCH VoIP oraz multimedia w sieciach WiFi problemy

Wzorcowy załącznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomiędzy Firmą A oraz Firmą B

Zapewnienie wysokiej dostępności baz danych. Marcin Szeliga MVP SQL Server MCT

Kontrola dostępu do kodu i własności intelektualnej w Zintegrowanej Architekturze. Copyright 2012 Rockwell Automation, Inc. All rights reserved.

Jak bezpieczne są Twoje dane w Internecie?

Bezpieczny system telefonii VoIP opartej na protokole SIP

Bezpieczeństwo usług oraz informacje o certyfikatach

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

1. WYMAGANIA TECHNICZNE

Środowisko IEEE 802.1X określa się za pomocą trzech elementów:

SSH - Secure Shell Omówienie protokołu na przykładzie OpenSSH

Brakujące ogniwo w bezpieczeństwie Internetu

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Wideokonferencje MGR INŻ. PAWEŁ SPALENIAK

Systemy Rozproszone. Zagadnienia do egzaminu.

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Dr Michał Tanaś(

Bezpieczne protokoły Materiały pomocnicze do wykładu

Problemy z bezpieczeństwem w sieci lokalnej

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji

Programowanie Sieciowe 1

2 Kryptografia: algorytmy symetryczne

KAMELEON.CRT OPIS. Funkcjonalność szyfrowanie bazy danych. Wtyczka kryptograficzna do KAMELEON.ERP. Wymagania : KAMELEON.ERP wersja

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

Authenticated Encryption

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

Dr Michał Tanaś(

INSTRUKCJA OBSŁUGI DLA SIECI

Bezpieczeństwo VoIP SIP & Asterisk. Autor: Leszek Tomaszewski ltomasze@elka.pw.edu.pl

Egzamin : zabezpieczanie systemu Windows Server 2016 / Timothy Warner, Craig Zacker. Warszawa, Spis treści

Metody ataków sieciowych

Podpis elektroniczny

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

Konfigurowanie Windows 8

Bezpieczeństwo w Internecie

Zagrożenia warstwy drugiej modelu OSI - metody zabezpieczania i przeciwdziałania Autor: Miłosz Tomaszewski Opiekun: Dr inż. Łukasz Sturgulewski

Architektura oraz testowanie systemu DIADEM Firewall Piotr Piotrowski

Transkrypt:

Bezpieczeństwo i niezawodność systemów rozproszonych 1

Niezawodność systemów rozproszonych Niezawodność systemów rozproszonych można określać w kategoriach dostępności (availability) świadczonych przez nie usług (wyrażanej w procentach czasu) W celu zagwarantowania dostępności usług system powinien móc świadczyć dalej usługi w przypadku usterki (awarii elementów jednego z omawianych wcześniej typów) efektywność świadczenia usług może ulec zmniejszeniu nie może dojść do utraty lub niespójności danych zasoby krytyczne (także zasoby danych), których awaria powodowałaby awarie całego systemu, powinny być powielane i móc być zastępowane lub rekonstruowane Konieczność zarządzania powielanymi zasobami zwiększa złożoność i zmniejsza wydajność systemu 2

Niezawodność systemów rozproszonych Niezawodny system musi posiadać możliwość diagnozowania własnych usterek i podejmowania odpowiednich działań Działania takie obejmują: maskowanie usterek (uszkodzeń) całkowite ukrycie usterki, kontynuacje dalszej pracy zgłoszenie jednego z dopuszczalnych wadliwych zachowań systemu (ich liczba powinna być minimalizowana) w pewnych systemach dopuszcza się maskowanie jednych awarii innymi (np. IP maskowanie awarii błędów awariami pominięcia) chwilowe lub całkowite przerwanie funkcjonowania w przypadku niemożności ukrycia usterki system powinien zawieść w przyjazny sposób (fail gracefully), tzn. sposób przewidywalny i ściśle określony oraz nieprowadzący do utraty lub niespójności danych 3

4

5

6

7

8

9

10

11

Bezpieczeństwo Narażenie na niebezpieczeństwo w systemach rozproszonych wynika z ich fundamentalnej cechy współdzielenia zasobów Otwartość łączy w systemach rozproszonych czyni je łatwym celem ataków Zagwarantowanie bezpieczeństwa danych polega na zapewnieniu: poufności niedopuszczaniu do zasobów informacyjnych osób nieuprawnionych integralności uniemożliwieniu dokonywania nieuprawnionych zmian i niszczenia danych dostępności uniemożliwieniu blokowania dostępu do danych 12

Bezpieczeństwo Trzy podstawowe zagrożenia dla bezpieczeństwa danych i zasobów to: wyciek przedostanie sie danych do osób nieuprawnionych przekłamanie zniekształcenie danych zniszczenie danych lub zasobów, uniemożliwienie poprawnego funkcjonowania systemów Ochrona przed zagrożeniami polega na: zastosowaniu odpowiednich mechanizmów zabezpieczania (security mechanisms) zgodnie z określoną strategią zapewniania bezpieczeństwa (security policy) 13

Bezpieczeństwo Podstawowymi sposobami realizacji ataków na systemy rozproszone są: podsłuchiwanie (eavesdropping) podszywanie się (masquerading) zniekształcanie (tampering) powtarzanie (replaying) przetrzymywanie komunikatów i przesyłanie ich w późniejszym terminie człowiek pośrodku (man in the middle) szczególnie groźne, gdy dotyczy przejmowania kluczy służących do szyfrowania odmowa usługi (denial of service) zablokowanie kanału komunikacji lub węzła sieci poprzez zalanie go komunikatami 14

Zapewnienie bezpieczeństwa Zapewnienie bezpieczeństwa polega najczęściej na ustaleniu listy wszelkich możliwych zagrożeń i zagwarantowaniu, że użyte mechanizmy i strategie pozwalają wyeliminować zagrożenia Podstawowymi mechanizmami zapewniania bezpieczeństwa są: stosowanie technik kryptograficznych nadawanie użytkownikom uprawnień do wykonywania poszczególnych czynności stosowanie identyfikacji użytkowników i weryfikacji jej autentyczności (uwierzytelniania) stosowanie zapór sieciowych (firewalls, ścian ogniowych ) 15

Kryptografia Kryptografia odgrywa szczególnie istotną rolę w zapewnianiu bezpieczeństwa systemom rozproszonym Kryptografia umożliwia zachowanie poufności i integralności przesyłanych danych, a także sprawdzenie autentyczności komunikatów W kryptografii wyróżnia się: szyfrowanie symetryczne (ze wspólnym tajnym kluczem) szyfrowanie asymetryczne (z parą kluczy prywatnym i publicznym) Istotnym zastosowaniem kryptografii jest implementacja podpisów cyfrowych 16

Notacja KA niejawny klucz należący do A KAB niejawny klucz posiadany wspólnie przez A i B KApriv klucz prywatny A KApub klucz publiczny A {M}_K komunikat zaszyfrowany kluczem K [M]_K komunikat podpisany kluczem K 17

Komunikacja ze wspólnym kluczem niejawnym A żąda od serwera autentykacji S żetonu komunikacji z B mającego postać {KAB, A}_KB S zwraca do A odpowiedź zaszyfrowaną kluczem KA zawierającą: żeton zaszyfrowany kluczem KB {KAB, A}_KB wspólny klucz KAB A rozszyfrowuje komunikat i wysyła do B w sposób jawny żądanie nawiązania komunikacji podając swoją tożsamość i przesyłając {KAB, A}_KB A i B są wzajemnie uwierzytelnione, posiadają wspólny klucz niejawny KAB i mogą nawiązać szyfrowaną komunikację 18

Komunikacja z kluczem publicznym B generuje parę kluczy KBpub i KBpriv A uzyskuje klucz KBpub (np. od zaufanego serwera wydającego podpisane cyfrowo certyfikaty zawierające klucz i zaświadczające jednocześnie o autentyczności pochodzenia klucza) A tworzy klucz niejawny KAB, szyfruje go za pomocą KBpub i wysyła do B B rozszyfrowuje komunikat za pomocą odpowiedniego klucza prywatnego KBpriv A i B posiadają wspólny klucz niejawny KAB i mogą nawiązać szyfrowaną komunikację 19

Bezpieczeństwo W wielu sytuacjach dla zapewnienia bezpieczeństwa przetwarzania rozproszonego konieczne jest odwołanie się do pewnych elementów tworzących bazę zaufania Częstą rolą elementów bazy zaufania jest wydawanie certyfikatów potwierdzających prawdziwość pewnych danych Certyfikaty maja postać dokumentów podpisanych cyfrowo W komunikacji szyfrowanej z kluczem publicznym certyfikaty służą m.in. gwarantowaniu, że uzyskany przez A klucz publiczny KBpub pochodzi rzeczywiście od B 20

Man in the middle Atakujący (C) przechwytuje żądanie klucza KBpub wysłane przez A i podstawia własny klucz KCpub. Jednocześnie wysyła do B własne żądanie klucza KBpub. Komunikacja C z B może potem odbywać się tak jak komunikacja A z B w przypadku normalnym (szyfrowanie wspólnym kluczem KCB). A tworzy klucz niejawny KAC myśląc, że jest to klucz do komunikacji z B, szyfruje go za pomocą otrzymanego od C KCpub i wysyła do B (ale żądanie jest przechwycone przez C) C może poprzestać na wykradzeniu klucza lub jakiś innych danych przesłanych przez A do B (np. login i hasło), może także kontynuować cały dialog między A i B, tak aby A nie zorientował się o ataku 21

Podpis cyfrowy Podpis cyfrowy ma, podobnie jak standardowy podpis, umożliwiać ustalenie autorstwa dokumentu i zapobiegać fałszowaniu dokumentów Podpis cyfrowy musi zawierać elementy, które mogą pochodzić tylko od jednej konkretnej osoby Takim elementem może być np. klucz prywatny, który z założenia jest znany tylko jego właścicielowi Za pomocą klucza prywatnego można szyfrować dokumenty (lub ich transformacje) i tak zaszyfrowany dokument może stanowić podpis cyfrowy 22

Funkcjonowanie podpisu cyfrowego A, chcąc podpisać dokument M, tworzy wyciąg (digest) z tego dokumentu za pomocą odpowiedniego algorytmu funkcja tworząca wyciągi powinna być taka, aby dwa różne dokumenty nigdy nie miały takich samych wyciągów A szyfruje digest(m) za pomocą klucza prywatnego Para (M, {digest(m)}_kapriv) stanowi dokument podpisany cyfrowo B pobiera dokument i sprawdza jego autentyczność oblicza digest(m) na podstawie odczytanego M pobiera (skąd?) klucz publiczny A i rozszyfrowuje {digest(m)}_kapriv jeśli uzyskany na oba sposoby {digest(m)} jest identyczny autentyczność dokumentu zostaje potwierdzona 23

Wymagania dotyczące zabezpieczeń Wymagania związane z bezpieczeństwem stawiane programom: identyfikacji użytkowników autentykacji użytkowników autoryzacji wykrywania ataków odporności na ataki (wirusów, robaków, itp.) integralności danych (odporność na niszczenie danych) uniemożliwiania zaprzeczaniu uczestnictwa w transakcjach prywatności sprawdzalności zabezpieczeń odporności podsystemu zabezpieczeń na zmiany dokonywane w innych częściach systemu 24

Ataki w systemach rozproszonych 25

26

27

28

29

30

31

32

Rozproszone systemy multimedialne 33

Systemy multimedialne Systemy multimedialne posiadają zazwyczaj własne dedykowane technologie przesyłania i obróbki danych Coraz częściej jednak korzystają także ze standardowych komputerów i standardowych sieci Typowy sprzęt multimedialny kamery, mikrofony, monitory jest obsługiwany przez współczesne komputery i systemy operacyjne Popularne komputerowe aplikacje multimedialne: multimedia poprzez WWW telefonia internetowa wideo na życzenie wideo konferencje 34

Elementy systemu multimedialnego Video camera and mike Local network Local network Wide area gateway Video server Digital TV/radio server 35

Własności danych multimedialnych Podstawową własnością danych multimedialnych jest to, że ich funkcjonowanie odbywa się w czasie, poprzez ciągłą zmienność Dane przekazywane są w postaci bloków (próbek dźwięku samples, ramek wideo frames) o określonym rozmiarze z określoną częstotliwością Wierne odtworzenie strumieni multimedialnych wymaga znaczących zasobów obliczeniowych i komunikacyjnych Braki zasobów mogą doprowadzić do utraty możliwości prezentacji danych multimedialnych 36

Własności danych multimedialnych Charakterystyka typowych multimedialnych strumieni danych Data rate (approximate) Sample or frame frequency size Telephone speech 64 kbps 8 bits 8000/sec CD-quality sound 1.4 Mbps 16 bits 44,000/sec Standard TV video 120 Mbps up to 640x 480 24/sec (uncompressed) pixelsx 16 bits Standard TV video 1.5 Mbps variable 24/sec (MPEG-1 compressed) HDTV video 1000 3000 Mbpsup to 1920x 1080 24 60/sec (uncompressed) pixelsx 24 bits HDTV video 10 30 Mbps variable 24 60/sec MPEG-2 compressed) 37

Zaspokajanie potrzeb multimediów interactive video high-quality audio insufficient resources scarce resources abundant resources network file access remote login 1980 1990 2000 38

Projektowanie systemów multimedialnych Podstawowym zadaniem przy projektowaniu systemów multimedialnych jest zagwarantowanie dostępności zasobów podczas prezentacji danych, tzw. zarządzanie jakością usług (quality of service (QoS) management) zarządzanie obejmuje planowanie wykorzystania, rezerwację, alokowanie zasobów systemowych na potrzeby systemu Jeśli system nie jest w stanie zapewnić odpowiedniej jakości usług, nadal można prezentować dane na zasadzie najlepszych starań (best effort) tak działają np. usługi multimedialne w ramach przeglądarek internetowych 39

System multimedialny PC/workstation PC/workstation Window system Camera A Microphones Screen K Codec B Mixer G Codec H L Network connections C D Video file system Codec M Video store Window system : multimedia stream White boxes represent media processing components, many of which are implemented in software, including:codec: coding/decoding filter mixer: sound-mixing component 40

Elementy zarządzania jakością usług (QoS) System zarządzania jakością usług realizuje swoje funkcje poprzez: negocjacje dostępu z systemami operacyjnymi zasobów zarządzanie dostępem po uzgodnieniu kontraktu Parametrami dostępu do zasobów są: przepustowość (bandwidth) impulsywność (burstiness) opóźnienie (latency) czas przesłania od źródła do celu fluktuacje (jitter) zmienność opóźnienia procent strat (loss rate) na skutek przepełnienia buforów na skutek zbyt późnego przybycia danych (próbki, ramki) 41

System multimedialny Component Bandwidth Latency Out: 10 frames/sec, raw video Camera 640x480x16 bits A Codec In: 10 frames/sec, raw videointeractive Out: MPEG-1 stream B Mixer In: 2 44 kbps audio Interactive Out: 1 44 kbps audio H Window In: various Interactive system Out: 50 frame/sec framebuffer K Network In/Out: MPEG-1 stream, approx.interactive connection 1.5 Mbps L Network In/Out: Audio 44 kbps Interactive connection Loss rate Resources required Zero Low 10 ms CPU each 100 ms; 10 Mbytes RAM Very low 1 ms CPU each 100 ms; 1 Mbytes RAM Low 5 ms CPU each 100 ms; 5 Mbytes RAM Low 1.5 Mbps, low-loss stream protocol Very low 44 kbps, very low-loss stream protocol 42

Regulacja strumieni danych Przeciwdziałanie skutkom impulsywności wygładzanie strumieni danych za pomocą buforowania (a) Leaky bucket (b) Token bucket Token generator 43

Specyfikacja przepływu wg RFC 1363 Protocol version Maximum transmission unit Bandwidth: Token bucket rate Token bucket size Maximum transmission rate Delay: Minimum delay noticed Maximum delay variation Loss sensitivity Loss: Burst loss sensitivity Loss interval Quality of guarantee 44

Zarządzanie jakością usług Procedury negocjacji dostępu do zasobów mogą być złożone ze względu na: zmienność w przestrzeni dane mogą wędrować z wielu źródeł, poprzez wiele kanałów, do wielu punktów docelowych zmienność w czasie w trakcie realizacji aplikacji parametry przepływu danych mogą się zmieniać współdzielenie kanałów komunikacyjnych przez wiele aplikacji Sposobami realizacji kontraktu dotyczącego dostępu mogą być: rezerwacja zasobów dla danej aplikacji łączenie (multipleksing) strumieni z różnych aplikacji, tak aby statystycznie uzyskać pełniejsze wykorzystanie zasobów w takiej sytuacji gwarancje dla każdej z aplikacji są tylko statystyczne i w momentach spiętrzenia żądane parametry mogą nie być zapewniane 45

Zarządzanie jakością usług System zarządzający zasobem dokonuje planowania jego wykorzystania: na zasadzie kolejkowania stosując algorytmy planowania w czasie rzeczywistym Aby radzić sobie z sytuacjami, kiedy żądane parametry przesyłu nie są zapewniane można stosować adaptację strumienia danych skalowanie zależne od aplikacji, np. dla strumienia wideo: czasowe zmniejszenie liczby ramek na sekundę przestrzenne zmniejszenie rozdzielczości obrazu częstotliwości modyfikacja kompresji amplitudy zmniejszenie głębi kolorów każdego piksela filtrowanie skalowanie w węzłach pośrednich 46

Przykład system wideo na życzenie Elementy i wymagania: rozbudowana biblioteka filmów klienci oglądający filmy na żywo (z pauzami i przewijaniem) systemy klienckie w postaci komputerów osobistych z małymi buforami na dane, stąd fluktuacje strumieni powinny być małe wysoka jakość odtwarzania małe straty pakietów liczba klientów do kilku tysięcy, możliwość oglądania hitów przez wielu klientów jednocześnie odporność na awarie serwerów 47

Przykład system wideo na życzenie Controller low-bandwidth network 0 n+1 Cub 0 1 n+2 Cub 1 2 n+3 Cub 2 3 n+4 Cub 3 n 2n+1 Cub n high-bandwidth ATM switching network video distribution to clients Start/Stop requests from clients 48

Przykład system wideo na życzenie Organizacja przechowywania filmów: każdy film jest podzielony na bloki (o rozmiarze ok. 0.5 s czyli ok. 0.5 MB) kolejne bloki przechowywane są w kolejnych komputerach (cubs) z zawijaniem każdy blok dodatkowo dzielony jest na d (od 4 do 8) porcji zapasowych, rozłożonych w kolejnych komputerach (jeśli blok znajduje się w komputerze i tym, porcje zapasowe tworzące blok przechowywane są w komputerach od i+1 do i+d) dzięki temu system może tolerować awarię serwera (przejmujące jego rolę komputery muszą rezerwować sobie odpowiedni zapas mocy) 49

Przykład system wideo na życzenie Organizacja pracy komputerów komputery przechowują listę okienek w każdym okienku znajdują się dane pojedynczego aktualnie obsługiwanego przez system klienta, m.in.: adres komputera klienta dane odtwarzanego filmu (nazwa pliku, aktualna pozycja w pliku, czas dostarczenia następnego bloku) komputer realizuje zadania dla każdego okienka: zapakowanie i wysłanie bloku danych do klienta aktualizacja stanu okienka i przesłanie do kolejnego komputera 50

Przykład system wideo na życzenie 2 block play timet block service time t 1 0 slot 0 slot 1 slot 2 slot 3 slot 4 slot 5 slot 6 slot 7 viewer 4 free free viewer 0 viewer 3 viewer 2 free viewer 1 state state state state state 51

Systemy P2P 52

Systemy peer to peer Systemy peer to peer (P2P) są systemami, w których realizacja usług przez system rozproszony oparta jest o wiele pojedynczych węzłów, z których każdy zdolny jest do realizacji części lub całości usług Często rolę węzłów pełnią komputery domowe, systemy na krawędziach Internetu Systemy P2P są znacznie bardziej skalowalne niż tradycyjne systemy klient serwer Systemy P2P są jednocześnie trudniejsze w zarządzaniu od systemów klient serwer 53

Systemy peer to peer Systemy oparte na wielu serwerach wzajemnie się uzupełniających są znane od lat osiemdziesiątych Pierwszym powszechnie znanym systemem P2P, wykorzystującym dostępną skalowalność Internetu, był Napster system współdzielenia plików muzycznych z 1999 roku Elementem systemu były serwery spisu plików, jednakże samą wymianę realizowały wszystkie uczestniczące komputery W szczytowym okresie liczba użytkowników systemu sięgała kilku milionów 54

Napster peers Napster server Index 1. File location request 2. List of peers offering the file 5. Index update Napster server Index 3. File request 4. File delivered 55

Systemy peer to peer Napster był systemem, który udowodnił możliwość realizacji w pełni skalowalnej wymiany plików między węzłami W celu zapewnienia wydajności wymiany Napster uwzględniał odległość pomiędzy węzłami Napster wykorzystywał istotne własności plików muzycznych: po utworzeniu nie są modyfikowane dowolna kopia zadowala użytkownika Wadą Napstera była zależność od serwerów listy plików mała skalowalność lub słaba aktualność rozwiązania 56

Systemy peer to peer Systemy wymiany plików P2P, z racji swej specyficznej funkcji, są projektowane by spełniać wymagania: globalnej skalowalności zrównoważenia obciążenia maksymalizacji lokalności interakcji tolerowania awarii (lub zwyczajnego odłączenia) sieci i serwerów bezpieczeństwa danych (integralności i prywatności) anonimowości i odporności na cenzurę 57

Systemy peer to peer Kolejne generacje systemów P2P nadal w głównej mierze skupiają się na wymianie plików pomiędzy użytkownikami Systemy drugiej generacji wprowadziły rozproszone spisy plików Podstawowym problemem jest nadal rozmieszczanie kopii plików w węzłach sieci i wyszukiwanie kopii na życzenie użytkowników 58

Rozproszone systemy mobilne 59

Systemy mobilne Systemy mobilne są coraz powszechniejszym elementem otoczenia Wiele z nich ma postać systemów wbudowanych Z punktu widzenia systemów rozproszonych istotnym problemem jest komunikacja pomiędzy elementami mobilnymi, która musi uwzględniać fakt ciągłego przemieszczania się elementów, ich pojawiania się i znikania Przykładem systemu z elementami mobilnymi jest np. system wykrywania obecności osób przy użyciu przenośnego identyfikatora 60

System wykrywania obecności Attributes (accessible by polling) Explanation Location Location the widget is monitoring Identity ID of the last user sensed Timestamp Time of the last arrival Callbacks PersonArrives(location, identity, timestamp) Triggered when a user arrives PersonLeaves(location, identity, timestamp) Triggered when a user leaves 61

System wykrywania obecności PersonFinder Room A IdentityPresence Floor pressure (generators) Widgets Room B IdentityPresence Footstep recognition (interpreter) Video (generator) Face recognition (interpreter) 62

System wykrywania obecności 2. Infrared sensor detects user ユ s ID User ユ s ID 3. Display responds to user 1. User enters room wearing active badge Hello Roy Infrared 63

Technologie lokalizacji Type GPS Radio beaconing Active Bat Ultra Wide Band Active badge Mechanism Limitations Accuracy Type of location data Multilateration from satellite radio sources Broadcasts from wireless base stations (GSM, 802.11, Bluetooth) Multilateration from radio and ultrasound Outdoors only (satellite visibility) Areas with wireless coverage 1 10m Absolute geographic Yes coordinates (latitude, longitude, altitude) Proximity to known Yes entity (usually semantic) Ceiling mounted sensors 10cm Relative (room) coordinates. Bat identity disclosed Multilateration from reception of radio pulses Infrared sensing Receiver in stallations 15cm Relative (room) coordinates Tag identity disclosed Sunlight or fluorescent light Room size Proximity to known Badge entity (usually semantic) identity disclosed 10m 1km Privacy Automatic identification tag RFID, Near Field Communication, visual tag (e.g. barcode) Reader installations 1cm 10m Proximity to known Tag identity entity (usually semantic) disclosed Easy Living Vision, triangulation Camera installations Variable Relative (room) coordinates No 64

Systemy mobilne Elementy systemu mobilnego po wzajemnym wykryciu swojej obecności muszą nawiązać kontakt i uzyskać informacje o usługach, które są w stanie świadczyć sobie nawzajem muszą istnieć wspólne różnym elementom protokoły nawiązywania połączenia i odkrywania usług Zagwarantowanie bezpieczeństwa i prywatności w systemach mobilnych musi uwzględniać fakt częstych przypadkowych interakcji między elementami W takiej sytuacji częstym niebezpieczeństwem jest atak man in the midle 65

Bezpieczeństwo w systemach mobilnych W K 1. Fresh secret key K exchanged by physical contact 1. Keys exchanged by Diffie-Hellman protocol K2 2. Devices communicate using secure channel constructed over W using K hash=0x6f9e... Man-in-the-middle K1 hash=0xd57c... 2. User(s) compare hashes of keys displayed on devices by sight or with an integrated imaging device. Since they differ, they conclude that there is a man-in-the-middle or that accidental mis-association has occurred Device displaying hash of key 66

Systemy mobilne Ważną cechą systemów mobilnych, które poprzez ciągłą zmianę miejsc pojawiają się w różnych środowiskach powinna być zdolność do adaptacji do tych środowisk Jednym z elementów adaptacji jest dostosowanie do niejednorodności świadczonych usług Drugim elementem dostosowanie do ulotności (możliwości nagłego zniknięcia) usług 67