on a parameterized problem in access control fileinput: an authorization policy: up⊆ u×p s,d,t∈...

81
On a Parameterized Problem in Access Control Rémi Watrigant Royal Holloway University of London Joint work with: Jason Crampton and Gregory Gutin Séminaire COATI - Sophia Antipolis March 15th, 2016. R. Watrigant On a Parameterized Problem in Access Control 1/15

Upload: others

Post on 02-Nov-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

On a Parameterized Problem in Access Control

Rémi Watrigant

Royal Holloway University of London

Joint work with: Jason Crampton and Gregory Gutin

Séminaire COATI - Sophia AntipolisMarch 15th, 2016.

R. Watrigant On a Parameterized Problem in Access Control 1/15

Page 2: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

1 Definition of the problem

2 Appetizer: easy observations

3 FPT algorithms

4 Efficient algorithms and implementation

5 Conclusion

R. Watrigant On a Parameterized Problem in Access Control 2/15

Page 3: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Resiliency Checking Problem (RCP)Input: an authorization policy: UP ⊆ U × P

s, d , t ∈ N

P

U

Permissions

Users

R. Watrigant On a Parameterized Problem in Access Control 3/15

Page 4: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Resiliency Checking Problem (RCP)Input: an authorization policy: UP ⊆ U × P

s, d , t ∈ N

P

U

Permissions

Users

t t

Set of teams: d mutually disjoint sets of t users having collectively all permissions.

R. Watrigant On a Parameterized Problem in Access Control 3/15

Page 5: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Resiliency Checking Problem (RCP)Input: an authorization policy: UP ⊆ U × P

s, d , t ∈ N

Output: decide whether upon removal of any set of s users, there still exists a setof d teams of size t

P

U

Permissions

Users

t t

Set of teams: d mutually disjoint sets of t users having collectively all permissions.

R. Watrigant On a Parameterized Problem in Access Control 3/15

Page 6: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Resiliency Checking Problem (RCP)Input: an authorization policy: UP ⊆ U × P

s, d , t ∈ N

Output: decide whether upon removal of any set of s users, there still exists a setof d teams of size t

P

U

Permissions

Users

d = 2t = 2

s = 1

Set of teams: d mutually disjoint sets of t users having collectively all permissions.

R. Watrigant On a Parameterized Problem in Access Control 3/15

Page 7: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Resiliency Checking Problem (RCP)Input: an authorization policy: UP ⊆ U × P

s, d , t ∈ N

Output: decide whether upon removal of any set of s users, there still exists a setof d teams of size t

P

U

Permissions

Users

d = 2t = 2

s = 1

Set of teams: d mutually disjoint sets of t users having collectively all permissions.

R. Watrigant On a Parameterized Problem in Access Control 3/15

Page 8: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Resiliency Checking Problem (RCP)Input: an authorization policy: UP ⊆ U × P

s, d , t ∈ N

Output: decide whether upon removal of any set of s users, there still exists a setof d teams of size t

P

U

Permissions

Users

d = 2t = 2

s = 1

Set of teams: d mutually disjoint sets of t users having collectively all permissions.

R. Watrigant On a Parameterized Problem in Access Control 3/15

Page 9: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Resiliency Checking Problem (RCP)Input: an authorization policy: UP ⊆ U × P

s, d , t ∈ N

Output: decide whether upon removal of any set of s users, there still exists a setof d teams of size t

P

U

Permissions

Users

d = 2t = 2

s = 1

Set of teams: d mutually disjoint sets of t users having collectively all permissions.

R. Watrigant On a Parameterized Problem in Access Control 3/15

Page 10: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Resiliency Checking Problem (RCP)Input: an authorization policy: UP ⊆ U × P

s, d , t ∈ N

Output: decide whether upon removal of any set of s users, there still exists a setof d teams of size t

P

U

Permissions

Users

d = 2t = 2

s = 1

Set of teams: d mutually disjoint sets of t users having collectively all permissions.

R. Watrigant On a Parameterized Problem in Access Control 3/15

Page 11: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Resiliency Checking Problem (RCP)Input: an authorization policy: UP ⊆ U × P

s, d , t ∈ N

Output: decide whether upon removal of any set of s users, there still exists a setof d teams of size t

P

U

Permissions

Users

d = 2t = 2

s = 1

Set of teams: d mutually disjoint sets of t users having collectively all permissions.

R. Watrigant On a Parameterized Problem in Access Control 3/15

Page 12: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Resiliency Checking Problem (RCP)Input: an authorization policy: UP ⊆ U × P

s, d , t ∈ N

Output: decide whether upon removal of any set of s users, there still exists a setof d teams of size t

P

U

Permissions

Users

d = 2t = 2

s = 2

Set of teams: d mutually disjoint sets of t users having collectively all permissions.Blocker set: set of users which intersects every set of teams.

R. Watrigant On a Parameterized Problem in Access Control 3/15

Page 13: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Resiliency Checking Problem (RCP)Input: an authorization policy: UP ⊆ U × P

s, d , t ∈ N

Output: decide whether upon removal of any set of s users, there still exists a setof d teams of size t

P

U

Permissions

Users

d = 2t = 2

s = 2

p

Set of teams: d mutually disjoint sets of t users having collectively all permissions.Blocker set: set of users which intersects every set of teams.

R. Watrigant On a Parameterized Problem in Access Control 3/15

Page 14: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Parameterized algorithms

For a problem instance x coming with its parameter k :

R. Watrigant On a Parameterized Problem in Access Control 4/15

Page 15: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Parameterized algorithms

For a problem instance x coming with its parameter k :

XP if you can solve it in O(|x |f (k))

R. Watrigant On a Parameterized Problem in Access Control 4/15

Page 16: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Parameterized algorithms

For a problem instance x coming with its parameter k :

XP if you can solve it in O(|x |f (k))

FPT if you can solve it in O(f (k)|x |O(1))

R. Watrigant On a Parameterized Problem in Access Control 4/15

Page 17: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Parameterized algorithms

For a problem instance x coming with its parameter k :

XP if you can solve it in O(|x |f (k))

para-NP-hard: NP-hard when k is fixed to some constant=⇒ no XP algorithm unless P = NP

FPT if you can solve it in O(f (k)|x |O(1))

R. Watrigant On a Parameterized Problem in Access Control 4/15

Page 18: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Parameterized algorithms

For a problem instance x coming with its parameter k :

XP if you can solve it in O(|x |f (k))

para-NP-hard: NP-hard when k is fixed to some constant=⇒ no XP algorithm unless P = NP

FPT if you can solve it in O(f (k)|x |O(1))

W [1]-hardness: parameter-preserving reduction from a W [1]-hard problem=⇒ no FPT algorithm unless FPT = W [1]

R. Watrigant On a Parameterized Problem in Access Control 4/15

Page 19: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Parameterized algorithms

For a problem instance x coming with its parameter k :

XP if you can solve it in O(|x |f (k))

para-NP-hard: NP-hard when k is fixed to some constant=⇒ no XP algorithm unless P = NP

FPT if you can solve it in O(f (k)|x |O(1))

W [1]-hardness: parameter-preserving reduction from a W [1]-hard problem=⇒ no FPT algorithm unless FPT = W [1]

XP

FPT W[1]-hard

para-NP-hard

TRACTABLE INTRACTABLE

R. Watrigant On a Parameterized Problem in Access Control 4/15

Page 20: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Related workRCPInput: UP ⊆ U × P , s, d , t ∈ N

Output: upon removal of any set of s users, are there still d teams of size t ?

R. Watrigant On a Parameterized Problem in Access Control 5/15

Page 21: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Related workRCPInput: UP ⊆ U × P , s, d , t ∈ N

Output: upon removal of any set of s users, are there still d teams of size t ?

Li, Tripunitara, Wang, 2009

RCP<>, RCP<d = 1> and RCP<t = ∞> are NP-hard and in coNPNP .

RCP<s = 0, d = 1> and RCP<s = 0, t = ∞> are NP-hard.

RCP<d = 1, t = ∞> is linear-time solvable.

And they present an implementation of an algorithm relying on a SAT formulation.

R. Watrigant On a Parameterized Problem in Access Control 5/15

Page 22: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Related workRCPInput: UP ⊆ U × P , s, d , t ∈ N

Output: upon removal of any set of s users, are there still d teams of size t ?

p, s, d , t

p, s, dp, s, t p, d , t

p, s p, dp, t s, d s, t d , t

p s dt

s, d , t

R. Watrigant On a Parameterized Problem in Access Control 5/15

Page 23: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Related workRCPInput: UP ⊆ U × P , s, d , t ∈ N

Output: upon removal of any set of s users, are there still d teams of size t ?

RCP<s = 0, d = 1> is equivalent to the Hitting Set problem

p, s, d , t

p, s, dp, s, t p, d , t

p, s p, dp, t s, d s, t d , t

p s dtpara-NP-hard

s, d , t

W[2]-hard

R. Watrigant On a Parameterized Problem in Access Control 5/15

Page 24: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Related workRCPInput: UP ⊆ U × P , s, d , t ∈ N

Output: upon removal of any set of s users, are there still d teams of size t ?

Results obtained for RCP<> [Crampton, Gutin, W.]

p, s, d , t

p, s, dp, s, t p, d , t

p, s p, dp, t s, d s, t d , t

p s dtpara-(co)NP-hard

s, d , t

W[2]-hard

FPT XP

R. Watrigant On a Parameterized Problem in Access Control 5/15

Page 25: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Related workRCPInput: UP ⊆ U × P , s, d , t ∈ N

Output: upon removal of any set of s users, are there still d teams of size t ?

Results obtained for RCP<s = 0> [Crampton, Gutin, W.]

para-NP-hard

p, d , t

p, d p, t

p d t

W[2]-hard

FPT

XP

d , t

R. Watrigant On a Parameterized Problem in Access Control 5/15

Page 26: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Easy ObservationsRCPInput: UP ⊆ U × P , s, d , t ∈ N

Output: upon removal of any set of s users, are there still d teams of size t ?

RCP<s = 0> is in XP parameterized by (d , t) (brute force)

R. Watrigant On a Parameterized Problem in Access Control 6/15

Page 27: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Easy ObservationsRCPInput: UP ⊆ U × P , s, d , t ∈ N

Output: upon removal of any set of s users, are there still d teams of size t ?

RCP<s = 0> is in XP parameterized by (d , t) (brute force)⇒ RCP<> is in XP parameterized by (s, d , t) (branching)

Easy, but:

R. Watrigant On a Parameterized Problem in Access Control 6/15

Page 28: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Easy ObservationsRCPInput: UP ⊆ U × P , s, d , t ∈ N

Output: upon removal of any set of s users, are there still d teams of size t ?

RCP<s = 0> is in XP parameterized by (d , t) (brute force)⇒ RCP<> is in XP parameterized by (s, d , t) (branching)

Easy, but:

W [2]-hard parameterized by (s, d , t)

R. Watrigant On a Parameterized Problem in Access Control 6/15

Page 29: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Easy ObservationsRCPInput: UP ⊆ U × P , s, d , t ∈ N

Output: upon removal of any set of s users, are there still d teams of size t ?

RCP<s = 0> is in XP parameterized by (d , t) (brute force)⇒ RCP<> is in XP parameterized by (s, d , t) (branching)

Easy, but:

W [2]-hard parameterized by (s, d , t)para-NP-hard parameterized by (s, d), (d , t) (s, t)

R. Watrigant On a Parameterized Problem in Access Control 6/15

Page 30: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Easy ObservationsRCPInput: UP ⊆ U × P , s, d , t ∈ N

Output: upon removal of any set of s users, are there still d teams of size t ?

RCP<s = 0> is in XP parameterized by (d , t) (brute force)⇒ RCP<> is in XP parameterized by (s, d , t) (branching)

Easy, but:

W [2]-hard parameterized by (s, d , t)para-NP-hard parameterized by (s, d), (d , t) (s, t)

What about replacing t by p ? (we may assume t ≤ p)

R. Watrigant On a Parameterized Problem in Access Control 6/15

Page 31: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Easy ObservationsRCPInput: UP ⊆ U × P , s, d , t ∈ N

Output: upon removal of any set of s users, are there still d teams of size t ?

RCP<s = 0> is in XP parameterized by (d , t) (brute force)⇒ RCP<> is in XP parameterized by (s, d , t) (branching)

Easy, but:

W [2]-hard parameterized by (s, d , t)para-NP-hard parameterized by (s, d), (d , t) (s, t)

What about replacing t by p ? (we may assume t ≤ p)

RCP<> is FPT parameterized by (p,min{s, d})

R. Watrigant On a Parameterized Problem in Access Control 6/15

Page 32: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Easy ObservationsRCPInput: UP ⊆ U × P , s, d , t ∈ N

Output: upon removal of any set of s users, are there still d teams of size t ?

RCP<s = 0> is in XP parameterized by (d , t) (brute force)⇒ RCP<> is in XP parameterized by (s, d , t) (branching)

Easy, but:

W [2]-hard parameterized by (s, d , t)para-NP-hard parameterized by (s, d), (d , t) (s, t)

What about replacing t by p ? (we may assume t ≤ p)

RCP<> is FPT parameterized by (p,min{s, d})first: let us show that RCP<s = 0> is FPT parameterized by p only

R. Watrigant On a Parameterized Problem in Access Control 6/15

Page 33: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<s = 0> is FPT parameterized by p

R. Watrigant On a Parameterized Problem in Access Control 7/15

Page 34: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<s = 0> is FPT parameterized by p

Theorem [Lenstra, 1983]+[Kannan, 1987]+[Frank and Tardos, 1987]

Whether a given ILP has a non-empty solution set can be decided inO∗(n2.5n+o(n)) time and polynomial space, where n is the number of variables.

R. Watrigant On a Parameterized Problem in Access Control 7/15

Page 35: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<s = 0> is FPT parameterized by p

P

U

Permissions

Users

p

b b b b b b b b b

R. Watrigant On a Parameterized Problem in Access Control 7/15

Page 36: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<s = 0> is FPT parameterized by ppartition U into at most 2p groups of users of same neighborhood

P

U

Permissions

Users

p

b b b b b b b b b

at most 2p classes of neighborhood

R. Watrigant On a Parameterized Problem in Access Control 7/15

Page 37: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<s = 0> is FPT parameterized by ppartition U into at most 2p groups of users of same neighborhooda team ≡ a set of ≤ t subsets of P , called configurations:

P

U

Permissions

Users

p

b b b b b b b b b

at most 2p classes of neighborhood

b b b b

R. Watrigant On a Parameterized Problem in Access Control 7/15

Page 38: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<s = 0> is FPT parameterized by ppartition U into at most 2p groups of users of same neighborhooda team ≡ a set of ≤ t subsets of P , called configurations:

C =

{

{N1, . . . ,Nb} : b ≤ t,Ni ⊆ P s.t.

b⋃

i=1

Ni = P

}

P

U

Permissions

Users

p

b b b b b b b b b

at most 2p classes of neighborhood

b b b b

R. Watrigant On a Parameterized Problem in Access Control 7/15

Page 39: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<s = 0> is FPT parameterized by ppartition U into at most 2p groups of users of same neighborhooda team ≡ a set of ≤ t subsets of P , called configurations:

C =

{

{N1, . . . ,Nb} : b ≤ t,Ni ⊆ P s.t.

b⋃

i=1

Ni = P

}

variables of the ILP:for c ∈ C, xc ∈ [0, d ] is the number of teams with configuration c

R. Watrigant On a Parameterized Problem in Access Control 7/15

Page 40: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<s = 0> is FPT parameterized by ppartition U into at most 2p groups of users of same neighborhooda team ≡ a set of ≤ t subsets of P , called configurations:

C =

{

{N1, . . . ,Nb} : b ≤ t,Ni ⊆ P s.t.

b⋃

i=1

Ni = P

}

variables of the ILP:for c ∈ C, xc ∈ [0, d ] is the number of teams with configuration c

First constraint:∑

c∈C

xc = d

R. Watrigant On a Parameterized Problem in Access Control 7/15

Page 41: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<s = 0> is FPT parameterized by ppartition U into at most 2p groups of users of same neighborhooda team ≡ a set of ≤ t subsets of P , called configurations:

C =

{

{N1, . . . ,Nb} : b ≤ t,Ni ⊆ P s.t.

b⋃

i=1

Ni = P

}

variables of the ILP:for c ∈ C, xc ∈ [0, d ] is the number of teams with configuration c

First constraint:∑

c∈C

xc = d

Second constraint:∑

c∈C[N ]

xc ≤ |U[N ]| ∀N ⊆ P

where:◮ C[N] are the configurations involving N◮ U[N] users having neighborhood N

R. Watrigant On a Parameterized Problem in Access Control 7/15

Page 42: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})

P

U

Permissions

Users

p

b b b b b b b b b

at most 2p classes of neighborhood

R. Watrigant On a Parameterized Problem in Access Control 8/15

Page 43: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhood

P

U

Permissions

Users

p

b b b b b b b b b

at most 2p classes of neighborhood

R. Watrigant On a Parameterized Problem in Access Control 8/15

Page 44: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhoodlet S ⊆ U be a blocker set

P

U

Permissions

Users

p

b b b b b b b b b

at most 2p classes of neighborhood

R. Watrigant On a Parameterized Problem in Access Control 8/15

Page 45: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhoodlet S ⊆ U be a blocker set

class U[N] (users of neighborhood N)R. Watrigant On a Parameterized Problem in Access Control 8/15

Page 46: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhoodlet S ⊆ U be a blocker set

Claim: ∀N ⊆ P , U[N ] ∩ S 6= ∅ =⇒ |U[N ] \ S | ≤ d − 1

class U[N] (users of neighborhood N)

S ∩ U[N ]

R. Watrigant On a Parameterized Problem in Access Control 8/15

Page 47: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhoodlet S ⊆ U be a blocker set

Claim: ∀N ⊆ P , U[N ] ∩ S 6= ∅ =⇒ |U[N ] \ S | ≤ d − 1

For all u ∈ U[N ] ∩ S , there exists a set of teams V1, . . . ,Vt such that:◮ (∪Vi ) ∩ S = {u}◮ | (∪Vi ) ∩ U[N]| ≤ d

class U[N] (users of neighborhood N)

S ∩ U[N ]

u

R. Watrigant On a Parameterized Problem in Access Control 8/15

Page 48: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhoodlet S ⊆ U be a blocker set

Claim: ∀N ⊆ P , U[N ] ∩ S 6= ∅ =⇒ |U[N ] \ S | ≤ d − 1

For all u ∈ U[N ] ∩ S , there exists a set of teams V1, . . . ,Vt such that:◮ (∪Vi ) ∩ S = {u}◮ | (∪Vi ) ∩ U[N]| ≤ d

class U[N] (users of neighborhood N)

S ∩ U[N ]

u

≤ d

R. Watrigant On a Parameterized Problem in Access Control 8/15

Page 49: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhoodlet S ⊆ U be a blocker set

Claim: ∀N ⊆ P , U[N ] ∩ S 6= ∅ =⇒ |U[N ] \ S | ≤ d − 1

Now, if |U[N ] \ S | ≥ d there exists v ∈ U[N ] \ S such that v /∈ ∪Vi

class U[N] (users of neighborhood N)

S ∩ U[N ]

u

v

≤ d

R. Watrigant On a Parameterized Problem in Access Control 8/15

Page 50: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhoodlet S ⊆ U be a blocker set

Claim: ∀N ⊆ P , U[N ] ∩ S 6= ∅ =⇒ |U[N ] \ S | ≤ d − 1

Now, if |U[N ] \ S | ≥ d there exists v ∈ U[N ] \ S such that v /∈ ∪Vi

Replacing u by v creates another set of teams which does not intersect S :impossible!

class U[N] (users of neighborhood N)

S ∩ U[N ]

u

v

≤ d

R. Watrigant On a Parameterized Problem in Access Control 8/15

Page 51: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhoodlet S ⊆ U be a blocker set

Claim: ∀N ⊆ P , U[N ] ∩ S 6= ∅ =⇒ |U[N ] \ S | ≤ d − 1

Conclusion: it is sufficient to enumerate:

d − 1

R. Watrigant On a Parameterized Problem in Access Control 9/15

Page 52: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhoodlet S ⊆ U be a blocker set

Claim: ∀N ⊆ P , U[N ] ∩ S 6= ∅ =⇒ |U[N ] \ S | ≤ d − 1

Conclusion: it is sufficient to enumerate:◮ which classes S intersects =⇒ O(22

p

)

d − 1

R. Watrigant On a Parameterized Problem in Access Control 9/15

Page 53: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhoodlet S ⊆ U be a blocker set

Claim: ∀N ⊆ P , U[N ] ∩ S 6= ∅ =⇒ |U[N ] \ S | ≤ d − 1

Conclusion: it is sufficient to enumerate:◮ which classes S intersects =⇒ O(22

p

)◮ how much we take in addition to what we already know

=⇒ ≤ 2p numbers taking value in [0,min{d − 1, s}]

d − 1

R. Watrigant On a Parameterized Problem in Access Control 9/15

Page 54: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhoodlet S ⊆ U be a blocker set

Claim: ∀N ⊆ P , U[N ] ∩ S 6= ∅ =⇒ |U[N ] \ S | ≤ d − 1

Conclusion: it is sufficient to enumerate:◮ which classes S intersects =⇒ O(22

p

)◮ how much we take in addition to what we already know

=⇒ ≤ 2p numbers taking value in [0,min{d − 1, s}]

And then: for each candidate S , test whether it is a blocker set by solvingRCP<s = 0> with user set U \ S

d − 1

R. Watrigant On a Parameterized Problem in Access Control 9/15

Page 55: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhoodlet S ⊆ U be a blocker set

Claim: ∀N ⊆ P , U[N ] ∩ S 6= ∅ =⇒ |U[N ] \ S | ≤ d − 1

Conclusion: it is sufficient to enumerate:◮ which classes S intersects =⇒ O(22

p

)◮ how much we take in addition to what we already know

=⇒ ≤ 2p numbers taking value in [0,min{d − 1, s}]

And then: for each candidate S , test whether it is a blocker set by solvingRCP<s = 0> with user set U \ S

Theorem [Crampton, Gutin, W.]

RCP<> is FPT parameterized by (p,min{s, d}).

R. Watrigant On a Parameterized Problem in Access Control 9/15

Page 56: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

RCP<> is FPT parameterized by (p,min{s, d})partition U into at most 2p groups of users of same neighborhoodlet S ⊆ U be a blocker set

Claim: ∀N ⊆ P , U[N ] ∩ S 6= ∅ =⇒ |U[N ] \ S | ≤ d − 1

Conclusion: it is sufficient to enumerate:◮ which classes S intersects =⇒ O(22

p

)◮ how much we take in addition to what we already know

=⇒ ≤ 2p numbers taking value in [0,min{d − 1, s}]

And then: for each candidate S , test whether it is a blocker set by solvingRCP<s = 0> with user set U \ S

Theorem [Crampton, Gutin, W.]

RCP<> is FPT parameterized by (p,min{s, d}).

Open questions:

what about parameterized by p only ?

better running time ? (combinatorial algorithm for RCP<s = 0>)

R. Watrigant On a Parameterized Problem in Access Control 9/15

Page 57: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Contents

1. Definitions

2. Appetizer: easy observations

3. FPT algorithms

4. Efficient algorithms and implementation

5. Conclusion

R. Watrigant On a Parameterized Problem in Access Control 10/15

Page 58: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms?Li, Tripunitara, Wang’s approach for solving RCP<>:

R. Watrigant On a Parameterized Problem in Access Control 11/15

Page 59: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms?Li, Tripunitara, Wang’s approach for solving RCP<>:

enumerate all subsets of users of size ≤ s

R. Watrigant On a Parameterized Problem in Access Control 11/15

Page 60: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms?Li, Tripunitara, Wang’s approach for solving RCP<>:

enumerate all subsets of users of size ≤ s

for each such S , solve RCP<s = 0> with users U \ S (using a SAT solver)

R. Watrigant On a Parameterized Problem in Access Control 11/15

Page 61: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms?Li, Tripunitara, Wang’s approach for solving RCP<>:

enumerate all subsets of users of size ≤ s

for each such S , solve RCP<s = 0> with users U \ S (using a SAT solver)

S1 dominates S2:∃ a set of teams in U \ S1 =⇒ ∃ a set of teams in U \ S2

P

U

Permissions

Users

b b b b b b b b b

S1 S2

b b

R. Watrigant On a Parameterized Problem in Access Control 11/15

Page 62: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms?Li, Tripunitara, Wang’s approach for solving RCP<>:

enumerate all subsets of users of size ≤ s

for each such S , solve RCP<s = 0> with users U \ S (using a SAT solver)

S1 dominates S2:∃ a set of teams in U \ S1 =⇒ ∃ a set of teams in U \ S2

enough to run RCP<s = 0> only when removing non-dominated sets

R. Watrigant On a Parameterized Problem in Access Control 11/15

Page 63: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms?Li, Tripunitara, Wang’s approach for solving RCP<>:

enumerate all subsets of users of size ≤ s

for each such S , solve RCP<s = 0> with users U \ S (using a SAT solver)

S1 dominates S2:∃ a set of teams in U \ S1 =⇒ ∃ a set of teams in U \ S2

enough to run RCP<s = 0> only when removing non-dominated sets

the bottleneck comes from the SAT solver=⇒ what about a fast algorithm for RCP<s = 0> ?

R. Watrigant On a Parameterized Problem in Access Control 11/15

Page 64: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms?Li, Tripunitara, Wang’s approach for solving RCP<>:

enumerate all subsets of users of size ≤ s

for each such S , solve RCP<s = 0> with users U \ S (using a SAT solver)

S1 dominates S2:∃ a set of teams in U \ S1 =⇒ ∃ a set of teams in U \ S2

enough to run RCP<s = 0> only when removing non-dominated sets

the bottleneck comes from the SAT solver=⇒ what about a fast algorithm for RCP<s = 0> ?

better not to use:◮ Lenstra’s algorithm/ILP (FPT param. by p only)◮ dynamic programming (O∗(2dp) time and space)

R. Watrigant On a Parameterized Problem in Access Control 11/15

Page 65: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms?

Workflow Satisfaction Problem (WSP)

Input: a set of steps S , a set of users U

authorization policy A ⊆ U × S , a set of constraintsOutput: a plan π : S → U such that:

(π(s), s) ∈ A for all s ∈ S

π does not violate any constraint

S

U

Steps

Usersb b b b b b b

b b b b bnot-equal equalat most 2

R. Watrigant On a Parameterized Problem in Access Control 12/15

Page 66: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms?

Workflow Satisfaction Problem (WSP)

Input: a set of steps S , a set of users U

authorization policy A ⊆ U × S , a set of constraintsOutput: a plan π : S → U such that:

(π(s), s) ∈ A for all s ∈ S

π does not violate any constraint

S

U

Steps

Usersb b b b b b b

b b b b bnot-equal equalat most 2

R. Watrigant On a Parameterized Problem in Access Control 12/15

Page 67: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms?

Workflow Satisfaction Problem (WSP)

Input: a set of steps S , a set of users U

authorization policy A ⊆ U × S , a set of constraintsOutput: a plan π : S → U such that:

(π(s), s) ∈ A for all s ∈ S

π does not violate any constraint

S

U

Steps

Usersb b b b b b b

b b b b bnot-equal equalat most 2

R. Watrigant On a Parameterized Problem in Access Control 12/15

Page 68: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms?

Workflow Satisfaction Problem (WSP)

Input: a set of steps S , a set of users U

authorization policy A ⊆ U × S , a set of constraintsOutput: a plan π : S → U such that:

(π(s), s) ∈ A for all s ∈ S

π does not violate any constraint

S

U

Steps

Usersb b b b b b b

b b b b b

R. Watrigant On a Parameterized Problem in Access Control 12/15

Page 69: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms?

Workflow Satisfaction Problem (WSP)

Input: a set of steps S , a set of users U

authorization policy A ⊆ U × S , a set of constraintsOutput: a plan π : S → U such that:

(π(s), s) ∈ A for all s ∈ S

π does not violate any constraint

S

U

Steps

Usersb b b b b b b

R. Watrigant On a Parameterized Problem in Access Control 12/15

Page 70: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms?

Workflow Satisfaction Problem (WSP)

Input: a set of steps S , a set of users U

authorization policy A ⊆ U × S , a set of constraintsOutput: a plan π : S → U such that:

(π(s), s) ∈ A for all s ∈ S

π does not violate any constraint

Theorem [Karapetyan, Gagarin, Gutin, 2015]

WSP can be solved in O∗(2k log k), where k is the number of steps.

More importantly: an efficient implementation of the algorithm can solve instanceswith up to 60 steps !

R. Watrigant On a Parameterized Problem in Access Control 12/15

Page 71: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms ?

Theorem [Crampton, Gutin, W.]

There is a reduction from RCP<s = 0> to WSP with dp steps.

R. Watrigant On a Parameterized Problem in Access Control 13/15

Page 72: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms ?

Theorem [Crampton, Gutin, W.]

There is a reduction from RCP<s = 0> to WSP with dp steps.

P

U

Permissions

Usersb b b b b

R. Watrigant On a Parameterized Problem in Access Control 13/15

Page 73: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms ?

Theorem [Crampton, Gutin, W.]

There is a reduction from RCP<s = 0> to WSP with dp steps.

duplicate the set of permissions d times

S

U

Steps

Usersb b b b b

R. Watrigant On a Parameterized Problem in Access Control 13/15

Page 74: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms ?

Theorem [Crampton, Gutin, W.]

There is a reduction from RCP<s = 0> to WSP with dp steps.

duplicate the set of permissions d times

add at-most-t constraints to preserve team sizes

S

U

Steps

Usersb b b b b

at most tat most tat most t

not equal

R. Watrigant On a Parameterized Problem in Access Control 13/15

Page 75: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms ?

Theorem [Crampton, Gutin, W.]

There is a reduction from RCP<s = 0> to WSP with dp steps.

duplicate the set of permissions d times

add at-most-t constraints to preserve team sizes

add not-equal constraints to preserve disjointness

S

U

Steps

Usersb b b b b

at most tat most tat most t

not equal

R. Watrigant On a Parameterized Problem in Access Control 13/15

Page 76: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms ?

Theorem [Crampton, Gutin, W.]

There is a reduction from RCP<s = 0> to WSP with dp steps.

duplicate the set of permissions d times

add at-most-t constraints to preserve team sizes

add not-equal constraints to preserve disjointness

S

U

Steps

Users

at most tat most tat most t

not equal

R. Watrigant On a Parameterized Problem in Access Control 13/15

Page 77: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms ?

Theorem [Crampton, Gutin, W.]

There is a reduction from RCP<s = 0> to WSP with dp steps.

Corollary

RCP<s = 0> can be solved in O∗(2dp log(dp)).

(with an efficient algorithm!)

R. Watrigant On a Parameterized Problem in Access Control 13/15

Page 78: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Efficient algorithms ?

Theorem [Crampton, Gutin, W.]

There is a reduction from RCP<s = 0> to WSP with dp steps.

Corollary

RCP<s = 0> can be solved in O∗(2dp log(dp))O∗(2dp log(p)).

(with an efficient algorithm!)

R. Watrigant On a Parameterized Problem in Access Control 13/15

Page 79: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Conclusion

p, s, d , t

p, s, dp, s, t p, d , t

p, s p, dp, t s, d s, t d , t

p s dtpara-(co)NP-hard

s, d , t

W[2]-hard

FPT XP

RCP<> parameterized by p only ?

R. Watrigant On a Parameterized Problem in Access Control 14/15

Page 80: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Conclusion

p, s, d , t

p, s, dp, s, t p, d , t

p, s p, dp, t s, d s, t d , t

p s dtpara-(co)NP-hard

s, d , t

W[2]-hard

FPT XP

RCP<> parameterized by p only ?

resiliency w.r.t. other problems ?

R. Watrigant On a Parameterized Problem in Access Control 14/15

Page 81: On a Parameterized Problem in Access Control fileInput: an authorization policy: UP⊆ U×P s,d,t∈ N Output: decide whether upon removal of any set of s users, there still exists

Merci !

R. Watrigant On a Parameterized Problem in Access Control 15/15