Formal Verification of ESNs: Bridging the Gap Between User Freedom and Enterprise Control

Formal Verification of Authorization Policies for Enterprise Social Networks Using PlusCal-2

2018-01-01
Sabina Akhtar, Ehtesham Zahoor, Olivier Perrin
Summary
Problem
Method
Results
Takeaways
Abstract

This paper presents a formal verification framework for Enterprise Social Networks (ESNs) using PlusCal-2 and TLA+. It proposes a federated authorization model that bridges user-centric and enterprise-centric policies, allowing for the automatic detection of access control conflicts via model checking.

TL;DR

Enterprise Social Networks (ESNs) like Yammer create a unique security headache: users want to share documents freely (Social Logic), but corporations must enforce strict data silos (Enterprise Logic). This paper introduces a formal verification approach using PlusCal-2 and TLA+ to model these conflicting worlds. By treating authorization as a state-space problem, the authors can automatically detect "policy collisions" where a user is simultaneously allowed and denied access.

Perspective: The Hybrid Conflict

The authors correctly identify a fundamental tension in modern ESNs. In a standard enterprise, RBAC (Role-Based Access Control) rules all. In a social network, User-Centric ACLs rule. In an ESN, you have both. When a user from the "Healthcare" department collaborates with the "Police" department in a federated federation, who has the final say?

Existing tools like XACML are too verbose and lack the logical rigor to check for contradictions across distributed domains. This is where Formal Methods—the same tools Amazon uses to verify AWS S3 and DynamoDB—come into play.

Methodology: High-Level Modeling with PlusCal-2

The core of the paper is the translation of human-readable access policies into a mathematical model. They use an ABAC (Attribute-Based Access Control) foundation because it is more expressive than roles alone.

1. The Authorization Architecture

The proposed Architecture places an Authorization Provider (AzP) at the center of each enterprise. It doesn't just look at one policy; it aggregates User Policies (UP) and Enterprise Policies (EP).

System Architecture

2. Formal Logic and Invariants

The clever part is how they define a conflict. In PlusCal-2, they define an Invariant (Inv0). An invariant is a condition that must always be true.

The condition is simple: for any request, the set of actions must not contain both "allow" and "deny."

If the intersection of these policies leads to a contradiction, the model checker (TLC) triggers an alarm.

Experiments: The "Genny" Case Study

The authors modeled a scenario involving a child protection case involving Alice and Genny. Alice grants Genny access to a database (R4), but an underlying enterprise policy forbids it.

By running the TLC Model Checker, they generated a "Counter Example." Instead of a vague system error, the tool provides a trace showing exactly which variables and policies led to the state: <<"Genny", "R4">> :> [status |-> {"deny", "allow"}]

This output is the "Smoking Gun"—it proves that the federation's logic is flawed before a single line of production code is deployed.

Policy Conflict Example

Critical Insight: Why This Matters

The real value here isn't just "finding bugs." It's the move toward Logic-as-Code.

  • Inductive Bias: The authors assume that most ESN conflicts are local or federated overlaps. By modeling the "Request Pool" as a non-deterministic set, they cover all possible user behaviors without having to simulate every single user click.
  • Scalability: While formal methods often suffer from the "State Space Explosion" problem, the authors use "Atomic" blocks in PlusCal-2 to group operations, keeping the verification fast and manageable.

Conclusion & Future Look

While the paper provides a robust proof-of-concept, a current limitation is the manual effort required to translate existing XML/XACML policies into PlusCal-2. The authors' future plan to automate this translation is the "missing link" for industry adoption. In an era of Zero Trust, being able to prove your authorization logic is sound is no longer a luxury—it's a requirement.

Find Similar Papers

Try Our Examples

  • Find recent research papers that extend XACML or ABAC models using formal methods like TLA+ or Alloy for cloud-native authorization.
  • Which original paper introduced PlusCal-2, and what are its specific syntactic improvements over Leslie Lamport's original PlusCal for distributed system modeling?
  • Explore how formal verification of authorization policies is being applied to Zero Trust Architectures (ZTA) in multi-cloud environments.
Contents
Formal Verification of ESNs: Bridging the Gap Between User Freedom and Enterprise Control
1. TL;DR
2. Perspective: The Hybrid Conflict
3. Methodology: High-Level Modeling with PlusCal-2
3.1. 1. The Authorization Architecture
3.2. 2. Formal Logic and Invariants
4. Experiments: The "Genny" Case Study
5. Critical Insight: Why This Matters
6. Conclusion & Future Look