Modelowanie zarządzania zaufaniem i bezpieczeństwem informacji Anna Felkner, Tomasz Jordan Kruk NASK Dział Naukowy
Agenda Modelowanie kontroli dostępu Modelowanie zarządzania zaufaniem modele bazujące na listach uwierzytelniających modele łączące listy uwierzytelniające z kontrolą dostępu opartą na rolach 2
Czym jest kontrola dostępu? Logiczna lub fizyczna kontrola (mechanizm kontrolny) zaprojektowana (zaplanowana) aby chronić przed nieautoryzowanym wejściem do systemu lub przed jego użyciem. Obejmuje sprawowanie nadzoru nad tym: którzy uczestnicy (osoby, procesy, maszyny, itd.) mają dostęp, do których zasobów systemu komputerowego, na czym polega dostęp, jak korzystają ze wspólnych danych. Działa na kilku poziomach: aplikacji, warstwy pośredniej (middleware), systemu operacyjnego i sprzętu. 3
Typy modeli sterowania dostępem uznaniowa kontrola dostępu (DAC, discretionary access control) właściciel zasobu określa dostęp do niego obowiązkowa kontrola dostępu (MAC, mandatory access control) uprawnienia nadane 'odgórnie', etykiety wrażliwości (security level) przypisane obiektom, poziom uprawnień (clerance level) nadany podmiotom. sterowanie dostępem oparte na rolach (RBAC, role based access control) uprawnienia dostępu do obiektów przypisane rolom, podmiot może pełnić różne role. 4
Model kontroli dostępu opartej na rolach 5
Zarządzania zaufaniem (Trust Management) nie ma nic wspólnego z zaufaniem do kierownika pomaga odpowiedzieć na pytanie Czy mogę wykonać (potencjalnie niebezpieczną) operację? uporządkowane podejście do zarządzania: politykami bezpieczeństwa, listami uwierzytelniającymi, relacjami związanymi z zaufaniem pojęcie wprowadzone w 1996 roku Blaze, Feigenbaum, Lacy. Decentralized Trust Management., Oakland, 1996 6
Elementy systemu zarządzania zaufaniem System zarządzania zaufaniem jest definiowany przez: język opisu akcji (language for describing actions), mechanizm identyfikacji podmiotów (mechanism for identifying principals), język specyfikacji polityki aplikacji (language for specifying application policies), język specyfikacji listów uwierzytelniających (language for specifying credentials), weryfikator zgodności (compliance checker). 7
Modele zarządzania zaufaniem modele bazujące na listach uwierzytelniających: PolicyMaker - AT&T Labs - Research, New Jersey KeyNote - AT&T Labs - Research, New Jersey modele łączące listy uwierzytelniające z kontrolą dostępu opartą na rolach: rodzina języków Role Based Trust Management (RT) - Department of Computer Science Stanford University oraz NAI Labs Network Associates, Inc. niemonotoniczny język zarządzania zaufaniem w aplikacjach P2P (RTө) - Department of Computer Science, University of Twente Enschede, The Netherlands 8
Role-based Trust Management RT łączy siły kontroli dostępu opartej na roli i systemów zarządzania zaufaniem najbardziej odpowiada kontroli dostępu opartej na atrybutach RT dostarcza: lokalne upoważnienie nad rolami (localized authority over roles), delegacja w definicji roli (delegation in role definition), połączone role (linked roles), sparametryzowane role (parameterized roles), różnorakie role (manifold roles). 9
RT 0 nie wspiera pól atrybutów, RT 1 dodaje do RT 0 sparameteryzowane role, które mogą wyrażać pola atrybutu, RT 2 zwiększa RT 1 o obiekty logiczne, które mogą grupować logicznie powiązane obiekty, Rodzina języków RT RT T dostarcza różnorakich ról, które wyrażają próg i polityki podziału-obowiązków, RT D dostarcza delegacji aktywacji roli, które wyrażają wybiórcze użycie potencjału możliwości i delegacji tego potencjału. RT T i RT D może być używane razem lub niezależnie z RT 0 i RT 1. Jednostki w RT odpowiadają użytkownikom w RBAC. Role w RT mogą przedstawiać zarówno role jak i pozwolenia z RBAC. 10
Przykład użycia RT 0 (1) Dana osoba może uczestniczyć w przedmiocie, gdy jest studentem wydziału. Aby móc pełnić rolę wydziału należy być jednostką organizacyjną oraz prowadzić działalność naukową i dydaktyczną. Jaś jest studentem na wydziale WEiTI. Wydział WEiTI jest jednostką organizacyjną oraz prowadzi działalność naukową i dydaktyczną. Tak więc Jaś ma prawo uczestniczyć w przedmiocie, 11
Przykład użycia RT 0 (2) co pokazuje następujący list uwierzytelniający: P.p U.p U.p U.wydzial.student U.wydzial U.jednOrg U.prowDzial U.jednOrg WEiTI U.prowDzial WEiTI WEiTI.student Jaś 12
Przykłady użycia RT 1 Przykład 1. Firma Alfa pozwala kierownikowi ocenić jego pracownika. Alfa.evaluatorOf(?Y) Alfa.managerOf(?Y) ta polityka nie może być wyrażona za pomocą RT 0. 13
Przykład użycia RT T Bank BP posiada trzy role: kierownik, kasjer i kontroler. Polityka banku BP wymaga, aby pewna transakcja została zatwierdzona przez kierownika, dwóch różnych kasjerów i kontrolera. Kierownik, który jest również kasjerem może świadczyć usługi jednego z dwóch kasjerów. Kontroler nie może być żadną z pozostałych stron w transakcji. BP.kasjerzy BP.kasjer BP.kasjer BP.kierownikKasjerzy BP.kierownik ʘ BP.kasjerzy BP.akceptacja BP.kontroler BP.kierownikKasjerzy 14
Monotoniczność Monotoniczność polega na tym, że: dodanie asercji nigdy nie spowoduje odwołania akcji, która została zatwierdzona, dodanie asercji może tylko spowodować przyznanie dodatkowych uprawnień. Cechy z tego wynikające: upraszcza projektowanie i analizę złożonych systemów bezpieczeństwa, dobre dla badania, analizowania i dowodzenia, ograniczona stosowalność, bo niemożliwe do wyrażenia cofanie uprawnień. 15
Podsumowanie (1) Przedstawione zagadnienia modelowanie kontroli dostępu (MAC, DAC, RBAC), modelowanie zarządzania zaufaniem (PolicyMaker, KeyNote, RT). Silne oparcie na własności monotoniczności wygodne do dowodzenia, modelowania, analizowania, nie nadające się do praktycznego zastosowania. 16
Podsumowanie (2) Projektowanie systemów umożliwiajacych niemonotoniczność jest zadaniem trudnym. Modelowanie ich jeszcze trudniejszym. Cel dalszych prac: stworzenie niemonotonicznego modelu zarządzania zaufaniem. 17