Parameter - Vertraulichkeit Sigrid Gürgens Peter Ochsenschläger Carsten Rudolph
Übersicht Problemstellung Grundlagen der Formalisierung (L,M) - Vollständigkeit M - Mächtigkeit Beziehung zwischen beiden Vertraulichkeitsbegriffen Zusammenfassung und Ausblick
Problemstellung unterschiedliche Arten von Vertraulichkeit formale Sicherheitsmodelle erfordern exakte Definition der Sicherheitsziele Vertraulichkeit eines Schlüssels Komplexität Wahrscheinlichkeit Vertraulicher Zugriff auf eine Datenbank non-inference non-interference Vertraulichkeit unterschiedlicher Preisangebote
Grundlagen der Formalisierung Systemverhalten: Folgen von Aktionen (traces) präfixstabile formale Sprache S µ * Abstraktionen: Sprachhomomorphismen h: * ! '* mit h(xy) = h(x) h(y) , h() = und h() µ '[ {} Wissen eines Agenten R WR µ * mit S µ WR
Grundlagen der Formalisierung eindeutige Zuordnung der Aktionen zu Agenten R µ Menge der Aktionen von R lokale Sicht eines Agenten R R: * ! *R mit R(x) = x falls x 2 R und R(x) = falls x 2 n R Welche hält R für möglich wenn 2 S geschehen ist? R() = R() und 2 WR genau dann, wenn 2 R-1(R()) Å WR Vertraulichkeit: R-1(R()) Å WR „hinreichend groß“
Price – request – offer Beispiel User U, Service Provider SP, Beobachter R, zwei Preisangebote Aktionen von U und SP send-price-request(U,SP) rec-price-request(SP,U) send-offer(SP,U,price) rec-offer(U,SP,price) Observierungsaktionen von R obs(…) R() enthält nur obs-Aktionen Vertraulichkeit des Preisangebotes (Parameter) R-1(R()) Å WR enthält „alle möglichen Preisangebote“
(L,M) - Vollständigkeit Parametervorkommen aus Aktionsfolgen extrahieren : * ! (t £ M)* M Parametermenge t Menge der Vorkommenstypen im Beispiel (send-offer(SP,U,price)) = (SendSP, price) (rec-offer(U,SP,price) = (RecU, price) (send-price-request(U,SP)) = (rec-price-request(SP,U)) = (obs( … )) = M = { price1 , price2 } t = { SendSP , RecU }
(L,M) - Vollständigkeit = send-price-request(U,SP) obs(send-price-request(U,SP)) rec-price-request(SP,U) obs(rec-price-request(SP,U)) send-offer(SP,U,price1) obs(send-offer(SP,U,price1)) rec-offer(U,SP,price1) obs(rec-offer(U,SP,price1)) send-price-request(U,SP) obs(send-price-request(U,SP)) rec-price-request(SP,U) obs(rec-price-request(SP,U)) send-offer(SP,U,price2) obs(send-offer(SP,U,price2)) R()) = obs(send-price-request(U,SP)) obs(rec-price-request(SP,U)) obs(send-offer(SP,U,price1)) obs(rec-offer(U,SP,price1)) obs(send-price-request(U,SP)) obs(rec-price-request(SP,U)) obs(send-offer(SP,U,price2))
(L,M) - Vollständigkeit () 2 (R-1(R()) Å WR) (SendSP,price1)(RecU,price1)(SendSP,price2) 2 (R-1(R()) Å WR) Annahme im Beispiel: R kennt das Protokoll sowie M und lernt durch seine obs-Aktionen „möglichst viel, bis auf die Parameterwerte“ Sicherheitsziel: (R-1(R()) Å WR) = { (SendSP,price1)(RecU,price1)(SendSP,price1) , (SendSP,price1)(RecU,price1)(SendSP,price2) , (SendSP,price2)(RecU,price2)(SendSP,price1) , (SendSP,price2)(RecU,price2)(SendSP,price2) }
(L,M) - Vollständigkeit (R-1(R()) Å WR) ist im Wesentlichen durch eine Folge charakterisiert (SendSP,1)(RecU,1)(SendSP,2) die Elemente von (R-1(R()) Å WR) gehen daraus durch alle möglichen Parametersubstitutionen hervor (R-1(R()) Å WR) = f 2 [{1,2} ! M] (i,f)({(SendSP,1)(RecU,1)(SendSP,2)}) [{1,2} !M] Menge aller Abbildungen von {1,2} in M (i,f)((t,m)) = (t,f(m)
(L,M) - Vollständigkeit Im Allg. wird (R-1(R()) Å WR) nicht nur durch eine, sondern durch eine ganze Menge L() von Folgen charakterisiert. Definition 1 : L µ (t £ N)* Parametermenge M K µ (t £ M)* heißt (L,M) – vollständig, falls K = f 2 [N ! M] (i,f)(L) Sicherheitsziel: (R-1(R()) Å WR) ist (L(),M) – vollständig mit einer geeigneten Menge L()
(L,M) - Vollständigkeit Zusammenfassung aller L() zu einer Menge L Definition 2 : Eine Parametermenge M heißt parameter-vertraulich für einen Agenten R bezüglich (L,M) - Vollständigkeit falls es eine (L,M) – vollständige Menge K µ (t £ M)* mit K ¶ (WR) gibt, sodaß (R-1(R()) Å WR) = p1-1 ( p1 [ (R-1(R()) Å WR) ] ) Å K für jedes 2 S. P1(t,m) = t
M - Mächtigkeit Auktion mit zwei Bietern U1 und U2 Aktionen der Bieter : bid(U, amount) Aktionen von R : obs(bid(U, amount)) Annahmen im Beispiel Gebot uninteressant R weiß, daß U1 und U2 alternierend bieten Sicherheitsziel : Vertraulichkeit der Bieter R hält bei jedem Gebot sowohl U1 als auch U2 für den möglichen Bieter
M - Mächtigkeit M = { U1 , U2 } t = { Bid } (bid(U, amount)) = (Bid,U) (obs(bid(U, amount))) = = bid(U2,amount1) obs(bid(U2,amount1)) bid(U1,amount2) obs(bid(U1,amount2)) bid(U2,amount3) obs(bid(U2,amount3)) bid(U1,amount4) obs(bid(U1,amount4)) Sicherheitsziel (R-1(R()) Å WR) = = { (Bid,U2)(Bid,U1)(Bid,U2)(Bid,U1) , (Bid,U1)(Bid,U2)(Bid,U1)(Bid,U2) }
M - Mächtigkeit Sicherheitsziel nicht durch (L,M) – Vollständigkeit erfassbar neue Eigenschaft, die bezüglich des Parameters auf jede einzelne Aktion schaut 8 u 2 p1( pre [ (R-1(R()) Å WR) ] ) : p2[ suf1 ( p1-1(u) Å pre [ (R-1(R()) Å WR) ] ) ] = M pre(…) = Menge aller Präfixe suf1(…) = Menge aller Suffixe der Länge 1 p1((t,u)) = t p2((t,u)) = u
M - Mächtigkeit Beispiel (R-1(R()) Å WR) = = { (Bid,U2)(Bid,U1)(Bid,U2)(Bid,U1) , (Bid,U1)(Bid,U2)(Bid,U1)(Bid,U2) } U = Bid Bid 2 p1(pre((R-1(R()) Å WR))) p1-1(u) = = { (Bid,U1)(Bid,U1) , (Bid,U1)(Bid,U2) , (Bid,U2)(Bid,U1) , (Bid,U2)(Bid,U2) } p1-1(u) Å pre((R-1(R()) Å WR)) = { (Bid,U1)(Bid,U2) , (Bid,U2)(Bid,U1) } p2(suf1({ (Bid,U1)(Bid,U2), (Bid,U2)(Bid,U1) })) = {U2,U1} = M
M - Mächtigkeit Definition 3 : K µ (t £ M)* heißt M – mächtig, falls 8 u 2 p1(pre(K)): p2( suf1 [ p1-1(u) Å pre(K) ] ) = M Definition 4 : Eine Parametermenge M heißt parameter-vertraulich für einen Agenten R bezüglich M – Mächtigkeit, falls (R-1(R()) Å WR) M – mächtig für alle 2 S ist.
Beziehung zwischen beiden Vertraulichkeitsbegriffen Bei (L,M) - Vollständigkeit legt K die möglichen Parametersetzungen genau fest. (R-1(R()) Å WR) = p1-1 ( p1 [ (R-1(R()) Å WR) ] ) Å K beide folgenden Mengen sind jedoch M - mächtig {(SendP,m1)(RecQ,m1)(SendP,m2) , (SendP,m2)(RecQ,m2)(SendP,m1)} {(SendP,m1)(RecQ,m1)(SendP,m1) , (SendP,m2)(RecQ,m2)(SendP,m2)} M – Mächtigkeit 9 K 2 K : (R-1(R()) Å WR) = p1-1 ( p1 [ (R-1(R()) Å WR) ] ) Å K wobei K die Familie aller M – mächtigen Mengen ist
Beziehung zwischen beiden Vertraulichkeitsbegriffen Satz 1 : Die (L,M) – Vollständigkeit einer Menge K µ (t £ M)* impliziert ihre M – Mächtigkeit. Satz 2 : Falls K µ (t £ M) , dann impliziert die M – Mächtigkeit von K ihre (L,M) – Vollständigkeit.
Zusammenfassung und Ausblick allgemeiner Definitionsrahmen für unterschiedliche Facetten von Parameter - Vertraulichkeit (L,M) - Vollständigkeit und M - Mächtigkeit durch Anwendungsbeispiele motiviert und verglichen abstrakter Parameter - vertraulicher Kanal spezielle Abstraktionen, die Parameter - Vertraulichkeit erhalten Anwendung im CASENET - Projekt