XACML Governance: Retaking User Privacy from Third-Party Apps in Social Networks
User's privacy in applications provided through social networks
This paper introduces an access control framework for Social Networks (SN) using XACML (eXtensible Access Control Markup Language) to manage how third-party applications utilize personal data. It advocates for a user-centric privacy model to mitigate risks associated with unauthorized data exploitation by external developers.
TL;DR
In the landscape of 2010, the explosion of social network applications created a "Wild West" for personal data. This paper proposes a standard-based fix: using XACML (eXtensible Access Control Markup Language) to give users granular control over what third-party apps can see and do. By moving away from vague "all-or-nothing" permissions, the authors demonstrate a path toward a Privacy-by-Design social ecosystem.
The "Data Leakage" Problem
The primary motivation stems from a fundamental flaw in platforms like Facebook: once a user clicks "Allow" on an app, the platform loses control over that data. Third-party developers often request "extended permissions" for data they don't actually need—exploiting social graphs for commercial purposes.
The paper identifies that existing privacy settings are:
- Too complex: Users rarely understand the implications of deep-nested settings.
- Platform-centric: They protect data within the platform but fail once data is transferred to an external app.
- Pre-defined: Default settings often lean toward "public" rather than "private."
Methodology: Standardization via XACML
The core of the proposal is the shift from proprietary, opaque permission systems to the XACML standard. XACML allows for a canonical representation of authorization decisions.
1. Granular Policy Definition
The authors define a specific action: social_network_application_access. This allows the system to differentiate between a friend viewing a profile and a "Restaurant Guide" app accessing a user's location.
2. The MIPAMS Architecture
The implementation relies on the Multimedia Information Protection and Management System (MIPAMS). This architecture uses two primary components:
- Policy Service: Where users define their "Allow/Deny" rules for specific data (e.g., birthday, photos).
- Authorization Service: The gatekeeper that checks if an app’s request for data matches the user’s stored XACML policy.
Figure: The interaction between the Social Network and Third-Party Applications via the proposed policy framework.
A Trustworthy Use Case
The authors describe a "Registration Phase" where, instead of a blanket approval, the application presents a checklist of required data.
- Policy Creation: The app requests specific attributes; the user verifies these; a unique XACML policy is generated.
- Runtime Authorization: Every time the app attempts to pull data, the Authorization Service validates the action against the user's specific policy.
- Dynamic Requests: If an app needs more data later, it must trigger a new authorization flow rather than silently harvesting it.
Figure: An example XACML policy snippet restricting access to a user's birthday.
Critical Analysis & Conclusion
While this work was pioneering for its time, it acknowledges a significant hurdle: platform cooperation. For this system to work, social networks must willingly limit the data they feed to developers—a move that often contradicts the "growth-at-all-costs" business models of major tech companies.
Takeaway: The move toward Privacy-by-Design is not just a technical challenge but a policy one. By using XACML, the authors provided a blueprint for how technical standards can enforce digital rights, a concept that paved the way for modern frameworks like GDPR.
Limitations:
- The processing overhead of repetitive XACML evaluations across millions of requests was not deeply explored.
- It assumes application developers will voluntarily adopt "trustworthy" behavior guidelines.
