Uogólnione struktury uprawnien z hierarchia
Transkrypt
Uogólnione struktury uprawnien z hierarchia
Uogólnione struktury uprawnień z hierarchią Andrzej Pragacz Uniwersytet Warszawski 26 czerwca 2014 Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 1 / 22 Struktura monotoniczna Definicja Niech dany będzie porządek zdefiniowany na elementach zbioru X . Wówczas struktura monotoniczna A względem porządku to podzbiór X o własności: ∀x, y ∈ X x ∈A∧x y ⇒y ∈A (1) w szczególności może być zawieraniem się zbiorów (⊆) Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 1 / 22 Ogólna struktura dostępu Definicja Ogólna struktura dostępu to trójka postaci (U, S, (Bs )s∈S ), gdzie: U to zbiór podmiotów S to zbiór sekretów (zasobów) Bs ⊆ P(U) to rodziną takich zbiorów podmiotów, które mogą odtworzyć sekret s. Ponadto, dla każdego s ∈ S rodzina Bs zwana dalej rodziną zbiorów dostępu jest strukturą monotoniczną względem relacji ⊆. Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 2 / 22 Zbiór sekretów Definicja Zbiór sekretów, które może uzyskać zbiór podmiotów U ⊆ U, to funkcja S : P(U) → P(S) zdefiniowana jako S(U) = {s ∈ S : U ∈ Bs } (2) Przyjmujemy dla u ∈ U skrót notacyjny S(u) := S({u}) Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 3 / 22 Zbiór sekretów - Własności Fakt Funkcja S(U) ma następujące własności: 1 Jeśli dla każdego s ∈ S zachodzi ∅ 6∈ B to wówczas S(∅) = ∅ s 2 Jeśli U, V ∈ P(U) i U ⊆ V to S(U) ⊆ S(V ) 3 Dla każdego X ⊆ P(U) zachodzi: [ U∈X Andrzej Pragacz (MIMUW) S(U) ⊆ S( [ U) (3) U∈X Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 4 / 22 Zbiór sekretów - Własności Definicja S(u) definiuje nam w sposób naturalny relację częściowego porządku ¬S , <S oraz relację równoważności ∼S na podmiotach u, u 0 ∈ U: Andrzej Pragacz (MIMUW) u ¬S u 0 ⇔ S(u) ⊆ S(u 0 ) (4) u <S u 0 ⇔ S(u) ( S(u 0 ) (5) u ∼S u 0 ⇔ S(u) = S(u 0 ) (6) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 5 / 22 Przykład - schemat progowy Schemat progowy (k, n) dzielenia sekretu - dzielenie sekretu między n podmiotów w taki sposób, że tylko k lub więcej podmiotów może go wspólnie “uzyskać” U = {u1 , u2 , . . . , un } S = {s} Bs = {U ∈ P(U) : #U k} Łatwo zauważyć, że S(U) = {s} wtedy i tylko wtedy, gdy #U k Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 6 / 22 Przykład - schemat hierarchiczny Każdy podmiot ui dysponuje swoim własnym sekretem si . Podmioty spełniają pewną częściową relację porządku , która ustala na nich hierarchię. Zachodzi ui uj wtw. gdy uj jest przodkiem ui w DAGu (lub w drzewie). U = {u1 , u2 , . . . , un } S = {s1 , s1 , . . . , sn } Bsi = {U ∈ P(U) : ∃u ∈ U ui u} Fakt Relacja (definiująca) jest równoważna relacji ¬S (indukowanej przez wcześniej zdefiniowaną funkcję S). Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 7 / 22 Bezpieczeństwo systemów hierarchicznych Definicja Gra odzyskiwania klucza (ang. Key Recovery, za [Ata09]) przebiega w następujących fazach: 1 Setup: Wyzywający (ang. Challenger) wykonuje Setup(1k , G ), gdzie G = hV , E i jest skierowanym grafem acyklicznym i przekazuje całą informację publiczną Pub atakującemu. 2 Attack: Atakujący dokonuje zapytania Corrupt(v ) do wyzywającego, i na które tenże odpowiada atakującemu, zwracając sekretną informację wierzchołka vi czyli Sec(vi ). 3 Break: Atakujący zwraca wierzchołek v ∗ wraz z odgadniętym kluczem prywatnym Pr (v ∗ )0 . Wierzchołek v ∗ musi spełniać warunek: dla każdego vi zachodzi v ∗ 6∈ Desc(vi ) (nie należy do zbioru potomków) Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 8 / 22 Bezpieczeństwo systemów hierarchicznych Definicja Schemat przydzielania kluczy jest bezpieczny względem odzyskiwania klucza, jeśli nie istnieje działający w czasie wielomianowym atakujący (ang. Adversary) A, który ma niezaniedbywalną przewagę (ang. Advantage) w grze odzyskiwania klucza. Przewagę w tej grze, dalej zwaną grą KR, definiujemy jako: KR = P(Pr (v ∗ )0 = Pr (v ∗ )) AdvA Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 9 / 22 Iloczyn dwuliniowy Definicja Niech będą dane grupy cykliczne G1 i G2 , obie tego samego rzędu q. Iloczyn dwuliniowy na grupie G1 o wartościach w grupie G2 definiujemy jako funkcję G1 × G1 → G2 o następujących własnościach: 1 ∀a, b ∈ Z ∀P, Q ∈ G1 ê(aP, bQ) = ê(P, Q)ab (dwuliniowość) 2 dla każdego P będącego generatorem ê(P, P) 6= 1 (niezdegenerowalność) 3 ê jest efektywnie obliczalna Przykład: “zmodyfikowany” iloczyn Weila Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 10 / 22 Dwuliniowy problem Diffiego-Hellmana Definicja Obliczeniowy dwuliniowy problem Diffiego-Hellmana (BCDH): Dane cykliczne grupy G1 i G2 (obie rzędu q) i zdefiniowany na nich iloczyn dwuliniowy ê. Dla zadanego generatora P ∈ G1 i losowych a, b, c ∈ Z∗q oblicz ê(P, P)abc na podstawie wyłącznie P, aP, bP i cP. Innymi słowami: BCDHG1 ,G2 ,ê (P, aP, bP, cP) = ê(P, P)abc Definicja Dwuliniowe założenie Diffiego-Hellmana: Obliczeniowy problem Diffiego-Hellmana jest uważany za trudny. Definicja Decyzyjne Dwuliniowe założenie Diffiego-Hellmana: Decyzyjny dwuliniowy problem Diffiego-Hellmana jest uważany za trudny. Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 11 / 22 Dwuliniowy problem Diffiego-Hellmana - wariant Definicja Obliczeniowy dwuliniowy odwrócony problem Diffiego-Hellmana (BICDH): Niech będzie dane cykliczne grupy G1 i G2 , obie rzędu q. Ponadto niech będzie zdefiniowany iloczyn dwuliniowy ê na G1 i G2 . Dla zadanego −1 generatora P ∈ G1 i losowych a, b ∈ Z∗q oblicz ê(P, P)a b na podstawie wyłącznie P, aP i bP Innymi słowami: BCDHG1 ,G2 ,ê (P, aP, bP) = ê(P, P)a −1 b Fakt BICDH i BCDH są obliczeniowo równoważne. Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 12 / 22 Schemat z użyciem iloczynu dwuliniowego Jesteśmy ograniczeni do hierarchii drzewiastej (każdy podmiot z wyjątkiem jednego ma swój podmiot nadrzędny, czyli rodzica) Dane są G1 , G2 , ê : G1 × G1 → G2 Wyznaczane są dwa losowe generatory Q, P ∈R G1 o tej własności, że ê(Q, P) nie jest elementem neutralnym G2 . Generowane są: I Klucze prywatne Pr (v ) (zdefiniowane dla każdego podmiotu v ) I Klucze publiczne Pub(v , u) (dla każdej pary v , u; v ≺ u) I Informacje ukryte Sec(v ) (zdefiniowane dla każdego podmiotu v ) Pr (v ) ∈ G2 , Pr (v ) ∈ G1 oraz Sec(v ) ∈ G1 Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 13 / 22 Generowanie informacji ukrytej Dla każdego wierzchołka v (w porządku preorder): 1 wybierane jest losowo sv ∈R Z∗q 2 wyliczana jest ukryta informacja ( Sec(v ) = 3 sv Q dla korzenia sv Sec(u) gdy rodzicem v jest u Ukryta informacja jest przekazywana do wierzchołka v przez zaufany kanał. Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 14 / 22 Generowanie kluczy publicznych Dla każdej pary v , u dla której v ≺ u obliczany i upubliczniany jest klucz publiczny: ( Pub(v , u) = Andrzej Pragacz (MIMUW) sv P gdy u jest rodzicem v sv Pub(w , v ) gdy pewne w ≺ u jest rodzicem v Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 15 / 22 Ukryta informacja każdego z podmiotów Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 16 / 22 Klucze publiczne Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 17 / 22 Obliczanie klucza Klucz prywatny dla v to Pr (v ) = DeriveKey (v , v ) = ê(Sec(v ), P) (7) W przypadku, jeśli u będący przodkiem v chce obliczyć klucz prywatny v : Pr (v ) = DeriveKey (v , u) = ê(Sec(u), Pub(v , u)) Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 (8) 18 / 22 Wyniki Opisanie ogólnej struktury dostępu oraz wskazanie przykładów Przedstawienie przykładowego schematu hierarchicznego przydzielania kluczy Wykazanie bezpieczeństwa powyższego schematu: I Przeciwnik łamiący klucz prywatny podmiotu nadrzędnego łamie obliczeniowy dwuliniowy problem Diffiego-Hellmana I Przeciwnik łamiący klucz prywatny w grze odzyskiwania klucza łamie decyzyjny dwuliniowy problem Diffiego-Hellmana Porównanie schematu na tle innych hierarchicznych schematów przydzielania kluczy I Patrz: [Ata09], [McKin85], [Liu11] Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 19 / 22 Schemat Liu et al. Dane są G1 , G2 , ê : G1 × G1 → G2 Dane są funkcje haszujące H1 : {0, 1}∗ → G1 , H2 : G2 → {0, 1}∗ Każdy sekret t ma swój klucz prywatny DKt ∈ N. Dostęp do sekretów mogą uzyskać podmioty Si . Każdy podmiot jest identyfikowany przez publiczne QSi = H1 (IDSi ) Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 20 / 22 Liu et al: opis Podczas tworzenia kluczy wybierane jest α ∈ Z∗q , r ∈R Z∗q , gdzie q = |G1 |. Następnie upubliczniane jest P0 ∈ G1 , U = rP0 , Ppub = αP0 . Dla każdego podmiotu obliczany jest jego prywatny klucz DSi = αQSi . Dla każdego zasobu jest generowana publiczna funkcja: FDKt = DKt ⊕ Y (x ⊕ H2 (gSr j )) Sj ma dostęp do t gSj = ê(QSj , Ppub ) Obliczenie klucza DKt odbywa się następująco: DKt = FDKt (H2 (ê(DSi , U))) Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 21 / 22 Bibliografia Mikhail J. Atallah, Marina Blanton, Nelly Fazio, Keith B. Frikken Dynamic and Efficient Key Management for Access Hierarchies, ACM Transactions on Information and System Security, Vol. 12, No. 3, Article 18, Pub. date: January 2009. Dan Boneh, Matthew Franklin Identity-Based Encryption from the Weil Pairing, SIAM J. of Computing, Vol. 32, No. 3, pp. 586-615, 2003 Chia-Hui Liu, Yu-Fang Chung, Tzer-Shyong Chen, Sheng-De Wang, An Id-based Access Control In A Hierarchical Key management For Mobile Agent, International Journal of Innovative Computing, Information and Control Volume 7, Number 3, March 2011 Stephen J. MacKinnon, Peter D. Taylor, Henk Meijer, Selim G. Akl An Optimal Algorithm for assigning cryptographic keys to control access in a Hierarchy, IEEE Transactions on Computers, vol C-34, no. 9 (1985) Andrzej Pragacz (MIMUW) Uogólnione struktury uprawnień z hierarchią 26 czerwca 2014 22 / 22