Workshop Presentation • CONSENT
2022 • April 26, 2022
A Policy-Oriented Architecture for Enforcing Consent in Solid
Laurens Debackere, Pieter Colpaert, Ruben Taelman, Ruben Verborgh
IDLab, Department of Electronics and Information Systems, Ghent University - imec
COnSeNT 2022 • 26 April 2022
A Policy-Oriented Architecture for Enforcing Consent in Solid
Laurens Debackere, Pieter Colpaert, Ruben Taelman, Ruben Verborgh
Overview
- An introduction to Solid
- What is Solid?
- Authorization in Solid
-
Problem Statement
-
An architecture for enforcing data protection in Solid
-
Discussion
-
Conclusion
What is Solid?
Graphic by Ruben Verborgh, from Web
Fundamentals
- A new way of building applications and services on the Web
- A new model for data governance
- Returning user choice to the Web
- By building upon existing Web standards
Authorization in Solid: Web Access Control
Uses concept of WebID to authorize access to resources
- Access control rules at Web Scale
- Works reasonably well in social interactions
Authorization on single resource or folder (container)
- Similar to sharing features in e.g. Google Drive, Dropbox, ...
- Inheritance of permissions
Authorization in Solid: Limitations
- IRIs to identify resources and authorized parties.
- Resource naming strategy is mostly arbitrary (developer's choice)
- How does one verify WebID of an agent? (cfr. phishing)
- Inheritance mechanism
- Can be counter-intuitive
- Lead to unintended information disclosure
- Ad-hoc nature of permissions ⇒ increase in complexity for end-user
Web Access Control: Example
@prefix acl: <http://www.w3.org/ns/auth/acl#>.
# Your doctor has Read & Write Access to your Medical Records
<#records> a acl:Authorization;
acl:agent <https://nhs.gov.uk/id/123#me>;
acl:default <./MedicalRecords/>;
acl:mode acl:Read, acl:Write.
Web Access Control: Example
@prefix acl: <http://www.w3.org/ns/auth/acl#>.
# Your doctor has Read & Write Access to your Medical Records
<#records> a acl:Authorization;
acl:agent <https://nhs.gov.uk/id/123#me>;
acl:default <./MedicalRecords/>;
acl:mode acl:Read, acl:Write.
Problem Statement
Web Access Control as an Access Control policy language
- Suited for simple use cases
- Lacks expressivity & interpretability in data processing applications
Limited research into implemention of data sharing patterns in Solid
- With required legal and technical safeguards
Prior research1, 2 on applying more expressive policy languages in Solid
(i.e. ODRL, SPECIAL, ...)
- Further work needed to integrate these languages into Solid
1: Giray Havur, Miel Vander Sande, and Sabrina Kirrane. 2020. Greater Control and Transparency in Personal Data Processing. 655–662. https://doi.org/10.5220/0009143206550662
2: Beatriz Esteves, Harshvardhan J. Pandit, and Víctor Rodríguez-Doncel. 2021.
ODRL Profile for Expressing Consent through Granular Access Control Policies in Solid. In 2021 IEEE European Symposium on Security and Privacy Workshops (EuroSPW).298–306. https://doi.org/10.1109/EuroSPW54576.2021.00038
Research Objective
Identifying shortcomings of Solid's existing Access Control mechanism
- And specifically how it is used by developers.
Reference architecture for complex data processing applications in Solid
- Reconciling end-user and legal requirements for data processing
- Through abstractions built on Solid's existing authorization model
Implementation of this architecture
Related Work
Architecture: Background
Architecture: Vision
End-User Realm
- Governed by Access Management apps
- Higher-level abstractions for classifying data
(e.g. Personal Data Categories)
- Validating data processing request coming from data controller
- Decision is stored in the subject's Solid Pod
Technical Realm
- Governed by the Authorization Agent
- Resource organization using Shape Trees
- Handles access needs of specific agents
- Based on prior approval through Access Management apps
Architecture: Proposal
- Access Management app delivers Processing Grant
- Matching against preferences, legal requirements, ...
- Central: Data Subject's Solid Server
- Personal data organized using Shape Trees
- Processing Grants by the Access Management app
- Authorization Agent receives concrete Access Needs
- In terms of Shape Trees
- Matches these against Processing Grants
Discussion
- Avoids introduction of legal or business concepts into low-level authorization mechanism
- Layered abstractions on top of Access Control
- Reduced assumptions on features supported by Solid Pod
- Efficiency of evaluating policies
- Introduction of an out-of-band negotiation step
- No additional policy evaluation required during requests
- However, challenges still exist
- Ex-post compliance checking on Access Control Lists, defining a suitable policy language, ...
Conclusion
- Architecture as a foundation for research into access control and data usage policies
- Built on top of the Solid specification through abstractions
- And some of the more recent community proposals
- Further work is needed from technical, legal and user experience perspectives.
A Policy-Oriented Architecture for Enforcing Consent in Solid
Laurens Debackere
IDLab, Department of Electronics and Information Systems, Ghent University - imec
Mail: Laurens.Debackere@UGent.be
Slides available online at:
github.com/laurensdeb/consent-22-slides
This research is supported by SolidLab Vlaanderen (Flemish Government, EWI and RRF project
VV023/10).
Ruben Taelman is a postdoctoral fellow of the Research Foundation - Flanders (FWO) (1274521N).
Copyright © 2022 UGent