UŻYCIE CZASOWYCH AUTOMATÓW PROBABILISTYCZNYCH DO MODELOWANIA PROTOKOŁÓW ZABEZPIECZAJĄCYCH

Podobne dokumenty
Weryfikacja protokołów bezpieczeństwa z wykorzystaniem automatów probabilistycznych

MODELOWANIE I WERYFIKACJA PROTOKOŁU SCTP Z WYKORZYSTANIEM AUTOMATÓW CZASOWYCH ZE ZMIENNYMI

WERYFIKACJA PROTOKOŁÓW ZABEZPIECZAJĄCYCH Z UWZGLĘDNIENIEM OPÓŹNIEŃ W SIECI

Spacery losowe generowanie realizacji procesu losowego

ANALIZA WŁAŚCIWOŚCI FILTRU PARAMETRYCZNEGO I RZĘDU

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Logika Temporalna i Automaty Czasowe

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

PRZYKŁAD ZASTOSOWANIA DOKŁADNEGO NIEPARAMETRYCZNEGO PRZEDZIAŁU UFNOŚCI DLA VaR. Wojciech Zieliński

Metoda Lenstry-Shora faktoryzacji dużych liczb całkowitych

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

Wstęp do Techniki Cyfrowej... Teoria automatów

Kierunek: Informatyka rev rev jrn Stacjonarny EN 1 / 6

Systemy zdarzeniowe - opis przedmiotu

2 Kryptografia: algorytmy symetryczne

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Obliczenia inspirowane Naturą

Języki formalne i automaty Ćwiczenia 7

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016

XIII International PhD Workshop OWD 2011, October 2011 METODA REEINGINEERINGU ORGANIZACJI Z WYKORZYSTANIEM SYMULATORA PROCESÓW BIZNESOWYCH

MODELOWANIE STANÓW CZYNNOŚCIOWYCH W JĘZYKU SIECI BAYESOWSKICH

MODELOWANIE I SYMULACJA Kościelisko, czerwca 2006r. Oddział Warszawski PTETiS Wydział Elektryczny Politechniki Warszawskiej Polska Sekcja IEEE

Algorytmy MCMC (Markowowskie Monte Carlo) dla skokowych procesów Markowa

Zastosowanie sztucznej inteligencji w testowaniu oprogramowania

WIELOKRYTERIALNE PORZĄDKOWANIE METODĄ PROMETHEE ODPORNE NA ZMIANY WAG KRYTERIÓW

Współczesna problematyka klasyfikacji Informatyki

STOCHASTYCZNY MODEL BEZPIECZEŃSTWA OBIEKTU W PROCESIE EKSPLOATACJI

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania

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

Obliczenia inspirowane Naturą

Logika Temporalna i Automaty Czasowe

Modelowanie komputerowe

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Modelowanie stochastyczne Stochastic Modeling. Poziom przedmiotu: II stopnia. Liczba godzin/tydzień: 2W E, 2C

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH

Activities Performed by prof. Tadeusiewicz in Books and Journals Editorial Boards

ANALIZA MOŻLIWOŚCI ATAKU CZASOWEGO ORAZ SŁOWNIKOWEGO NA KOMUNIKACJĘ Z UŻYCIEM KRYPTOGRAFII ELIPTYCZNEJ

Zarys algorytmów kryptograficznych

Towards Stability Analysis of Data Transport Mechanisms: a Fluid Model and an Application

PageRank. Bartosz Makuracki. 28 listopada B. Makuracki PageRank

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Aproksymacja funkcji a regresja symboliczna

Programowanie celowe #1

Wirtualne Laboratorium Mechaniki eksperyment na odległość, współpraca badawcza i gromadzenie wiedzy

Przewodnik użytkownika

Proposal of thesis topic for mgr in. (MSE) programme in Telecommunications and Computer Science

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Zastosowanie kompresji w kryptografii Piotr Piotrowski

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

Field of study: Computer Science Study level: First-cycle studies Form and type of study: Full-time studies. Auditorium classes.

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

Katarzyna Jesionek Zastosowanie symulacji dynamiki cieczy oraz ośrodków sprężystych w symulatorach operacji chirurgicznych.

Najkrótsza droga Maksymalny przepływ Najtańszy przepływ Analiza czynności (zdarzeń)

Teoretyczne podstawy informatyki

LOGIKA I TEORIA ZBIORÓW

Szyfrowanie RSA (Podróż do krainy kryptografii)

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

XII International PhD Workshop OWD 2010, October Metodyka pozyskiwania i analizy wyników badań symulacyjnych ścieżek klinicznych

Logiczna reprezentacja wiedzy i metoda logiczno-algebraiczna

Bezpieczeństwo kart elektronicznych

Wydział Informtyki i Nauki o Materiałach Kierunek Informatyka

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Obliczenia inspirowane Naturą

Procesy stochastyczne

Projektowanie baz danych za pomocą narzędzi CASE

Procesy Markowa zawdzięczają swoją nazwę ich twórcy Andriejowi Markowowi, który po raz pierwszy opisał problem w 1906 roku.

Matematyczne Podstawy Informatyki

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

Drugie kolokwium z Rachunku Prawdopodobieństwa, zestaw A

9.9 Algorytmy przeglądu

OPTYMALIZACJA ZBIORNIKA NA GAZ PŁYNNY LPG

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Curriculum Vitae. Agnieszka Zbrzezny.

Metody Programowania

0 + 0 = 0, = 1, = 1, = 0.

Bisymulacja. Niezawodność systemów współbieżnych i obiektowych. Grzegorz Maj Grzegorz Maj Bisymulacja

Numeryczna symulacja rozpływu płynu w węźle

Bringing privacy back

Procesy stochastyczne

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

DWUTEOWA BELKA STALOWA W POŻARZE - ANALIZA PRZESTRZENNA PROGRAMAMI FDS ORAZ ANSYS

Bisymulacja, automaty czasowe

F t+ := s>t. F s = F t.

Wnioskowanie bayesowskie

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Autoreferat. Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie. Załącznik 2

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Interwałowe zbiory rozmyte

WYBÓR PUNKTÓW POMIAROWYCH

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe.

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1

Matematyka bankowa 1 1 wykład

Dystrybucje, wiadomości wstępne (I)

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

Turing i jego maszyny

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Transkrypt:

STUDIA INFORMATICA 2017 Volume 38 Number 3 (132) Olga SIEDLECKA-LAMCH Częstochowa University of Technology, Institute of Computer and Information Sciences UŻYCIE CZASOWYCH AUTOMATÓW PROBABILISTYCZNYCH DO MODELOWANIA PROTOKOŁÓW ZABEZPIECZAJĄCYCH Streszczenie. Czasowe automaty probabilistyczne mogą zostać użyte do modelowania i weryfikacji systemów przetwarzanych w czasie rzeczywistym i posiadających cechy probabilistyczne. Biorąc pod uwagę stochastyczne zachowania komunikacji w sieci, można znaleźć wspólne cechy protokołów i automatów. Modelowanie z wykorzystaniem automatów umożliwia użycie relacji i algorytmów, takich jak bisymulacja czy minimalizacja. To może ułatwić weryfikację/uproszczenie protokołów. Słowa kluczowe: czasowe automaty probabilistyczne, protokoły zabezpieczające, modelowanie protokołów zabezpieczających USE OF PROBABILISTIC TIMED AUTOMATA FOR SECURITY PROTOCOLS MODELING Summary. Probabilistic timed automata can be used for modeling and verification of systems whose characteristic is real-time and probabilistic. Analyzing stochastic behavior of network communication, many common points of security protocols and automata can be easily found. Modeling with automata allows to use relations and algorithms, such as bisimulation or minimization. This can lead to verification/simplification protocols. Keywords: probabilistic timed automata, security protocols, security protocols modeling

192 O. Siedlecka-Lamch 1. Wprowadzenie Projektanci współczesnych systemów informatycznych dążą do wykluczenia sytuacji nieprzewidywalnych lub przypadkowych, a w praktyce nie jest to realne. Analizując zachowania protokołów bezpieczeństwa w sieci, można dostrzec ich probabilistyczne zależności oraz ograniczenia czasowe. Do złamania wielu z nich wystarczyło zastosowanie odpowiednich przeplotów wykonań [13, 14] lub odpowiednie czasowe przeciąganie komunikacji [2]. Pomimo że współcześnie stosowane klucze nie są w praktyce możliwe do złamania, pojawiło się nowe zagrożenie administratorzy zmagając się z ogromem wykorzystywanych haseł i kluczy mogą, przy nieodpowiedniej polityce, dopuścić do ich przejęcia. Zatem, jak modelować współczesną komunikację, zakładając, że istnieje prawdopodobieństwo przejęcia choćby fragmentu poufnej informacji, i że istnieją pewne ograniczenia czasowe, których powinniśmy dopilnować? Pomocnym modelem mogą okazać się automaty probabilistyczne. Liczne zastosowania automatów probabilistycznych można znaleźć w pracach zespołu prof. Kwiatkowskiej [10-12] czy [16, 17]. Model probabilistyczny pozwala uchwycić i ukazać stany systemu, jego akcje i prawdopodobieństwa, z jakimi system przejdzie ze stanu do stanu przy wykonaniu zadanej akcji (lub odczytaniu konkretnego symbolu). W pracy skupiono się na jego wersji czasowej, czyli akcja wykona się z określonym prawdopodobieństwem przy narzuconych ograniczeniach czasowych. Sam problem weryfikacji protokołów zabezpieczających jest ciągle podnoszony i rozważany na wiele sposobów, powstają nowe protokoły i nowe coraz dokładniejsze metody ich analizy i weryfikacji. Do najpopularniejszych narzędzi należą AVISPA [3], ProVerif [5], VerICS [7], Scyther [6] czy narzędzie stosowane w pracach zespołu prof. Kurkowskiego [9, 16, 17]. Jedynie w tych ostatnich badaniach zaczęto rozważać sytuację, kiedy porzucono założenie o idealnej kryptografii i wprowadzono do użycia model probabilistyczny, formułując ciekawe wnioski. Artykuł, oprócz wprowadzenia, zawiera definicje modelu probabilistycznego oraz czasowego modelu probabilistycznego. Pokazuje definicję relacji bisymulacji dla wymienionych modeli. W następnej części omówiony zostaje przykład prostego protokołu oraz jego model w postaci automatu probabilistycznego i czasowego automatu probabilistycznego. Całość podsumowano wnioskami i planami na przyszłość.

Użycie czasowych automatów probabilistycznych do modelowania... 193 2. Definicja modelu Odkąd matematycy zajmują się automatami probabilistycznymi, zdefiniowano wiele ich postaci w zależności od systemu, który chciano modelować z ich wykorzystywaniem dodawano lub ujmowano drobne cechy. Znamy więc z literatury automaty reaktywne, generatywne, wejścia/wyjścia, Vardiego, Hannsona, Segala itp. Ich zestawienie można znaleźć w pracach Sokolovej [18]. Dla dalszych rozważań wykorzystany zostanie model reaktywnego automatu probabilistycznego ze stanem inicjującym, który od tej pory będzie nazywany w skrócie automatem probabilistycznym lub po prostu PA. 2.1. Automat probabilistyczny Automat probabilistyczny to piątka PA = (Q, Σ, δ, q 0, F), w której: Q jest skończonym zbiorem stanów, Σ jest alfabetem wejściowym, δ jest funkcją (częściową) prawdopodobieństwa przejść δ : Q Σ D(Q); gdzie D(Q) to dyskretny rozkład prawdopodobieństwa, q 0 Q jest stanem początkowym, F Q jest zbiorem stanów końcowych (akceptowalnych). Po każdym kroku automat probabilistyczny znajduje się w stanie superpozycji stanów: p 0 q 0 + p 1 q 1 +... + p n q n (w stanie q 0 z prawdopodobieństwem p 0, w stanie q 2 z prawdopodobieństwem p 2 itp.), gdzie p 0 + p 1 +... + p n = 1. Na rysunku 1 przedstawiono przykładowy automat probabilistyczny, który akceptuje język L={00, 01, 011}. Rys. 1. Przykładowy PA Fig. 1. The PA example

194 O. Siedlecka-Lamch 2.2. Zegary Dla dalszych rozważań niezbędne będzie zdefiniowanie odpowiednich pojęć związanych z czasem, zegarami i nakładanymi na nie ograniczeniami. Niech T R 0 będzie dziedziną czasu zawierającą jedynie nieujemne liczby rzeczywiste, zaś C będzie skończonym zbiorem symboli oznaczających zegary. Zegary przyjmują wartości ze zbioru T, i co jest logiczne wartości zegarów rosną wraz z upływem czasu. Wartościowanie zegarów realizuje funkcja v: C T, zbiór wszystkich wartościowań to T C. Dla każdej funkcji będącej wartościowaniem zegara v T C, oraz dla czasu t T przyrost czasu na wszystkich zegarach zostanie oznaczony jako v+t, zaś dla dowolnego zegara c C zapis v[c := 0] oznacza wyzerowanie tego konkretnego zegara, wszystkich zegarów (dla wygody zapisu, skrótowo: 0). v[c := 0] wyzerowanie Ponieważ zegary są zależne od czasu, muszą zachowywać jego ograniczenia, nie mogą płynąć do tyłu ani zmieniać wartości o różne przedziały czasowe. Ograniczenia nałożone na zegary wykorzystywane w dalszych rozważaniach można zebrać w postaci koniunkcji atomowych formuł: true, false, c t, gdzie c C, t T, zaś zostaną dalej oznaczone jako G(C). {<,,=,>, }. Ograniczenia te 2.3. Probabilistyczny automat czasowy Czasowe automaty probabilistyczne są zbliżone budową do klasycznych automatów czasowych, używających zegarów [1, 4, 10-12, 15]. Probabilistyczny automat czasowy to krotka PTA = (Q, Σ, C, inv, δ, q 0, F), w której: Q jest skończonym zbiorem stanów, Σ jest alfabetem wejściowym, C jest skończonym zbiorem symboli zegarów, inv jest funkcją inv: Q G(C) (miara niezmiennicza), δ jest funkcją (częściową) prawdopodobieństwa przejść: δ : Q Σ G(C) D(2 C Q), q 0 Q jest stanem początkowym, F Q jest zbiorem stanów końcowych (akceptowalnych). Stan automatu opisuje para (q, v), gdzie q Q i v T C. Model startuje ze stanu (q 0, 0), w którym wszystkie zegary są wyzerowane. Każdy następny stan (q, v) wiąże się z dokonaniem wyboru albo wykonywana jest tranzycja, albo czas dalej płynie. W wypadku przejścia zostaje ono wykonane ze stanu do innego lub tego samego stanu, przy odczycie określonego symbolu i przy spełnieniu aktualnych warunków czasowych z określonym

Użycie czasowych automatów probabilistycznych do modelowania... 195 prawdopodobieństwem. Na rysunku 2 pokazano przykładowy probabilistyczny automat czasowy. Rys. 2. Przykładowy PTA Fig. 2. The PTA example 2.4. Relacja bisymulacji Relacja bisymulacji pełni istotną rolę w procesie weryfikacji systemów. Budując (lub automatycznie generując) rozległe modele opisujące rzeczywiste struktury, takie jak protokoły bezpieczeństwa, należy poszukiwać w nich fragmentów prowadzących do błędów, ataków czy wręcz niemożliwych do wykonania. Zastosowanie relacji bisymulacji pozwoli zaimplementować wykrycie wzorców wyżej wymienionych sytuacji. Dwa systemy tranzycyjne TS 1 =(T, Σ, δ T, t 0 ) i TS 2 =(S, Σ, δ S, s 0 ) są bisymilarne wtedy i tylko wtedy, jeżeli istnieje relacja R S T taka, że (s 0, t 0 ) R i dla wszystkich par (s, t) R i wszystkich symboli σ Σ spełnione pozostaje: jeżeli istnieje przejście δ T (t, σ) = t', wówczas istnieje s' S takie, że δ S (s, σ) = s' i (s', t') R; jeżeli zachodzi δ S (s, σ) = s', wówczas istnieje t' T takie, że δ T (t, σ) = t' i (s', t') R. Stany s, t są nazywane bisymilarnymi, co zapisuje się w postaci s t. By zdefiniować relacje bisymulacji dla automatów probabilistycznych, najpierw należy porównać rozkłady prawdopodobieństwa. Niech R S T będzie relacją na zbiorach S i T. Niech P 1 D(S) i P 2 D(T) będą rozkładami prawdopodobieństw. Relacja P 1 R P 2 zachodzi wtedy i tylko wtedy, gdy istnieje rozkład Pr D(S T) taki, że: Pr(s, T) = P 1 (s) dla każdego s S oraz Pr(S, t) = P 2 (t) dla każdego t T oraz Pr(s, t) 0 oraz (s, t) R.

196 O. Siedlecka-Lamch Niech R będzie relacją równoważności na zbiorze S i niech P 1, P 2 D(S) będą rozkładami prawdopodobieństwa. Wówczas: P 1 R P 2 abstrakcji. K S/R : P 1 (K) = P 2 (K), gdzie K jest klasą Niech R będzie relacją równoważności na zbiorze S, A będzie zbiorem pomocniczym, niech P 1, P 2 D(S) będą rozkładami prawdopodobieństwa. Wówczas: P 1 R,A P 2 K S/R, a A : P 1 (a, K) = P 2 (a, K). Ostatecznie można zdefiniować relację bisymulacji dla automatów probabilistycznych. Niech PA 1 = (S, Σ, δ S ) i PA 2 = (T, Σ, δ T ) będą dwoma automatami probabilistycznymi. Relacja bisymulacji R S T zachodzi, jeżeli dla wszystkich par (s, t) R i dla wszystkich symboli σ Σ zostaje zachowane: δ S (s, σ) = P 1, wówczas istnieje rozkład prawdopodobieństwa P 2 taki, że dla pewnego t T istnieje δ T (t, σ) = P 2 oraz P 1 R,Σ P 2, δ T (t, σ) = P 2, wówczas istnieje rozkład prawdopodobieństwa P 1 taki, że dla pewnego s S istnieje δ S (s, σ) = P 1 oraz P 1 R,Σ P 2. Relacja bisymulacji dla automatów czasowych jest zdefiniowana analogicznie, należy jedynie brać pod uwagę warunki czasowe poszczególnych przejść. Niech PTA 1 = (S, Σ, C S, δ S ) i PA 2 = (T, Σ, C T, δ T ) będą dwoma czasowymi automatami probabilistycznymi. Relacja czasowej bisymulacji R S T zachodzi, jeżeli dla wszystkich ((s, v S ), (t, v T )) R i dla wszystkich symboli σ Σ zostaje zachowane: δ S (s, σ, G S (c s )) = P 1, wówczas istnieje rozkład prawdopodobieństwa P 2 taki, że dla pewnego t T istnieje δ T (t, σ, G T (c t )) = P 2, G S (c s ) G T (c t ) oraz P 1 R,Σ P 2, δ T (t, σ, G T (c t )) = P 2, wówczas istnieje rozkład prawdopodobieństwa P 1 taki, że dla pewnego s S istnieje δ S (s, σ, G S (c s )) = P 1, G T (c t ) G S (c s ) oraz P 1 R,Σ P 2. 3. Modelowanie protokołów We wcześniejszych pracach pokazano możliwość modelowania protokołów z wykorzystaniem tzw. łańcuchów stanów i automatów probabilistycznych [16]. Do celów weryfikacji rozważań teoretycznych zbudowano narzędzie i przeprowadzono serię eksperymentów na różnych protokołach. Model ukazywał ważność poszczególnych kluczy w zadanym na wejściu protokole i jego słabe punkty [17]. Analogicznie możemy modelować protokół dokładając do niego warunki czasowe, a zatem wykorzystać łańcuchy stanów wraz z czasowymi automatami probabilistycznymi.

Użycie czasowych automatów probabilistycznych do modelowania... 197 Rozważmy przykład protokołu NSPKL [13] zapisanego w Common Language: A B <i(a), N A > KB B A <N A, N B, i(b)> KA A B <N B > KB Komunikacja odbywa się między użytkownikami A i B. W pierwszym kroku użytkownik A przesyła do B swój identyfikator, wygenerowaną jednorazowo liczbę losową (ang. nonce), całość szyfrując kluczem publicznym użytkownika B. W drugim kroku użytkownik B musi odszyfrować nonce N A, następnie generuje własny nonce i wraz z własnym identyfikatorem wysyła zaszyfrowaną wiadomość do A (używając klucza publicznego A). Po tym kroku B potwierdził swoją tożsamość wobec A. A deszyfruje N B i odsyła go w postaci wiadomości zaszyfrowanej kluczem publicznym B następuje autoryzacja A. Można rozpocząć bezpieczną komunikację. Oczywiście w sieci protokoły wykonują się równocześnie między wieloma użytkownikami, stąd występują przeploty różnych kroków z różnych wykonań, sytuację tę może próbować wykorzystywać Intruz. Idea łańcuchów stanów w wielkim skrócie opiera się na sekwencjach zawierających stany odpowiadające krokom danego wykonania S i k (i-te wykonanie, k-ty krok), wiedzy potrzebnej do wykonania kroku: P w u (wiedza w posiadana przez użytkownika u) oraz G w u (wiedza w generowana przez użytkownika u), i wiedzy zdobytej po jego wykonaniu K w u (wiedza w zdobyta przez użytkownika u). Szczegóły algorytmu i modelu można znaleźć w pracy [9]. Dla protokołu NSPKL rozróżniamy stany reprezentujące kroki wykonania pierwszego: S11, S21, S31. Metoda dla tego przykładu generuje następujące łańcuchy stanów: (G NA A, S 1 1, K NA B), (P NA B, G NB B, S 1 2, K NB A), (P NB A, S 1 3). Jak widać, model wyraźnie rozróżnia, z jaką wiedzą należy podejść do wykonania kroku, by móc go wykonać, a co za tym idzie przy przeplocie kroków z różnych wykonań, jaką wiedzę musi posiąść Intruz. Biorąc pod uwagę możliwość przejęcia części utajnionej informacji, zdefiniowany i zaimplementowany został model z wykorzystaniem automatów probabilistycznych [17]. Na rysunku 3 pokazano automat probabilistyczny, którego stany są opisane przez łańcuchy stanów, zawierające wiedzę uczciwych użytkowników (pierwsza linia), wiedzę Intruza po wykonaniu danego kroku (druga linia), wiedzę niezbędną do wykonania następnego kroku (ostatnia linia). W miejsce symboli odczytywanych przez automat zostały wstawione akcje reprezentujące wykonanie danego kroku protokołu. Dla każdego ze stanów można założyć prawdopodobieństwo osiągnięcia tego punktu, a co za tym idzie wyliczyć prawdopodobieństwo dojścia do poszczególnych stanów należących do ataku (stany zaznaczone ciemniejszym wypełnieniem). Na rysunku pokazano

198 O. Siedlecka-Lamch jedynie pojedyncze wykonanie protokołu, narzędzie rozważa także wszystkie możliwe (realne) przeploty wykonań. Rys. 3. PA dla protokołu NSPKL Fig. 3. PA for NSPKL protocol Analogicznie należy podejść do budowania czasowego automatu probabilistycznego modelującego wykonanie lub przeploty wykonań protokołu. Jednakże najpierw należy określić warunki czasowe G(C) dla całego wykonania i poszczególnych kroków. Takie ograniczenia zostały już zdefiniowane i zaimplementowane w pracy [19]. Rozważane będą czasy generowania t g, szyfrowania t s, deszyfrowania t d i przesyłu informacji (z uwzględnionym przedziałem opóźnień w sieci Op). Dla modelu najistotniejsze będą maksymalne czasy dla danego k-tego kroku: t kmax = t k-1max + t smax + t gmax + Op max + t dmax. Dla pierwszego kroku nie ma członu czasu z poprzedniego kroku czy opóźnienia i deszyfrowania jest to krok inicjujący komunikację. Maksymalny czas sesji to suma maksymalnych czasów poszczególnych kroków. Uzupełniając poprzedni model o wyliczone ograniczenia czasowe, otrzymujemy model, który przedstawiono na rys. 4. Po takiej analizie protokołu wiedza zostaje poszerzona o możliwość sprawdzenia, czy dany krok mieści się w wymaganym czasie. O ile w poprzednim modelu nie ograniczano działań Intruza czasowo, o tyle teraz można sprawdzić (co będzie szczególnie ważne przy przeplotach wykonań), czy Intruz ze swoimi często dodatkowymi ruchami nadal mieści się w akceptowalnym czasie. Dzięki temu będzie można po wprowadzeniu protokołu do narzędzia określić jego ramy czasowe, a na wyjściu podać ewentualny atak lub elementy,

Użycie czasowych automatów probabilistycznych do modelowania... 199 które są wrażliwsze i nie mogą zostać przejęte i jakie wahania czasu w otrzymaniu wiadomości z kolejnych kroków powinny wzbudzić niepokój administratora. Rys. 4. PA dla protokołu NSPKL Fig. 4. PA for NSPKL protocol 4. Podsumowanie W artykule pokazano dwa modele probabilistyczne służące do weryfikacji i modelowania protokołów. Istniejące narzędzie pozwala weryfikować i opisywać protokół z wykorzystaniem automatów probabilistycznych. Jako efekt jego działania otrzymujemy informację o możliwym ataku lub wrażliwości poszczególnych fragmentów protokołu. W przyszłości zaplanowano zaimplementowanie rozważanego w dalszej części artykułu modelu czasowego automatu probabilistycznego, tak by do dotychczasowych wyników dołożyć ograniczenia czasowe. BIBLIOGRAFIA 1. Alur R., Dill D.: A Theory of Timed Automata. Theoretical Computer Science 126, 1994, s. 183 235.

200 O. Siedlecka-Lamch 2. Anderson R.J. and Needham R.M.: Programming Satan s Computer. Computer Science Today-Commemorative Issue. Lecture Notes in Computer Science, vol. 1000, Springer- Verlag, Berlin Germany 1995, s. 426 441. 3. Armando A., et. al.: The AVISPA Tool for the Automated Validation of Internet Security Protocols and Applications. Proceedings of 17 th Int. Conf. on Computer Aided Veriffcation CAV 05, LNCS, vol. 3576, Springer, 2005, s. 281 285. 4. Bengtsson J., Yi W.: Timed Automata: Semantics, Algorithms and Tools. In Lectures on Concurrency and Petri Nets, Lecture Notes in Computer Science, vol. 3098, Springer, 2013, s. 87 124. 5. Blanchet B.: Modeling and Verifying Security Protocols with the Applied Pi Calculus and ProVerif. Foundations and Trends in Privacy and Security, 1(1-2), 2016, s. 1 135. 6. Cremers C.: The Scyther Tool: Verification, Falsification, and Analysis of Security Protocols. Proceedings CAV 08, vol. 5123, 2008, s. 414 418. 7. Dembinski P., Janowska A., Janowski P., Penczek W., Polrola A., Szreter M., Wozna B., Zbrzezny A.: VerICS: A Tool for Verifying Timed Automata and Estelle Specifications. Proceedings of 9 th Int. Conf. TACAS 03, LNCS, vol. 2619, Springer- Verlag, 2003, s. 278 283. 8. Kurkowski, M., Penczek, W.: Verifying Security Protocols Modelled by Networks of Automata. Fundamenta Informaticae, vol. 79 (3-4), 2007, s. 453 471. 9. Kurkowski M., Siedlecka-Lamch O., Dudek P.: Using Backward Induction Techniques in (Timed) Security Protocols Verification. Proceedings of 12 th Int. Conf. CISIM 2013, Lecture Notes in Computer Science, vol. 8104, Krakow Poland 2013, s. 265 276. 10. Kwiatkowska M., Norman G., Parker D., Sproston J.: Performance Analysis of Probabilistic Timed Automata Using Digital Clocks. Formal Methods in System Design, vol. 29 (1), 2006, s. 33 78. 11. Kwiatkowska M., Norman G., Segala R., Sproston J.: Automatic Verification of Realtime Systems with Discrete Probability Distributions. Theoretical Computer Science, vol. 282, 2002, s. 101 150. 12. Kwiatkowska M., Norman G., Sproston J., Wang F.: Symbolic Model Checking for Probabilistic Timed Automata. Information and Computation, vol. 205(7), 2007, s. 1027 1077. 13. Lowe G.: Breaking and Fixing the Needham-Schroeder Public-key Protocol Using fdr. In TACAS, LNCS, Springer, 1996, s. 147 166. 14. Lowe G.: Some New Attacks Upon Security Protocols, IEEE Computer Society Press. Proceedings of the Computer Security Foundations Workshop VIII, 1996.

Użycie czasowych automatów probabilistycznych do modelowania... 201 15. Norman G., Parker D., Sproston J.: Model Checking for Probabilistic Timed Automata. Formal Methods in System Design 43(2), 2013, s. 164 190. 16. Siedlecka-Lamch O., Kurkowski M., Piatkowski J.: Using Probabilistic Automata for Security Protocols Verification. Journal of Applied Mathematics and Computational Mechanics, vol. 15, issue 2, 2016, s. 125 131. 17. Siedlecka-Lamch O., Kurkowski M., Piatkowski J.: Probabilistic Model Checking of Security Protocols without Perfect Cryptography Assumption. Proceedings of 23 rd International Conference on Computer Networks, Brunow, Poland, Communications in Computer and Information Science, vol. 608, Springer-Verlag, 2016, s. 107 117. 18. Sokolova A., de Vink E.: Probabilistic Automata: System Types, Parallel Composition and Comparison. Validation of Stochastic Systems: A Guide to Current Research, LNCS vol. 2925, 2004, s. 1 43. 19. Szymoniak S., Siedlecka-Lamch O., Kurkowski M.: Timed Analysis of Security Protocols. Proceeding of 37 th International Conference ISAT 2016, Advances in Intelligent Systems and Computing, vol. 522, Springer, Karpacz Poland 2016, s. 53 63. Abstract Probabilistic timed automata can be used for modeling and verification of systems whose characteristic is real-time and probabilistic. Analyzing stochastic behavior of network communication, many common points of security protocols and automata can be easily found. Modeling with automata allows to use relations and algorithms, such as bisimulation or minimization. This can lead to verification/simplification protocols. In this article definitions of probabilistic automata (Fig. 1), clocks and probabilistic timed automata (Fig. 2) were given. Relation of PA bisimulation and PTA timed bisimulation was defined. In the next section example of protocol and idea of chains of states were presented. For NSPKL protocol models of PA (Fig. 3) and PTA (Fig. 4) were illustrated. The existing tool can verify and observe protocols with use of PA in the future also PTA will be implemented. Adres Olga SIEDLECKA-LAMCH: Czestochowa University of Technology, Institute of Computer Sciences and Information Sciences, ul. Dąbrowskiego 73, 42-201 Czestochowa, Poland, olga.siedlecka@icis.pcz.pl