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