| Literature DB >> 35408377 |
Tek Raj Chhetri1, Anelia Kurteva1, Rance J DeLong2, Rainer Hilscher1,3, Kai Korte4, Anna Fensel1,5,6.
Abstract
The enforcement of the GDPR in May 2018 has led to a paradigm shift in data protection. Organizations face significant challenges, such as demonstrating compliance (or auditability) and automated compliance verification due to the complex and dynamic nature of consent, as well as the scale at which compliance verification must be performed. Furthermore, the GDPR's promotion of data protection by design and industrial interoperability requirements has created new technical challenges, as they require significant changes in the design and implementation of systems that handle personal data. We present a scalable data protection by design tool for automated compliance verification and auditability based on informed consent that is modeled with a knowledge graph. Automated compliance verification is made possible by implementing a regulation-to-code process that translates GDPR regulations into well-defined technical and organizational measures and, ultimately, software code. We demonstrate the effectiveness of the tool in the insurance and smart cities domains. We highlight ways in which our tool can be adapted to other domains.Entities:
Keywords: GDPR; compliance verification; data protection by design; data sharing; distributed systems; informed consent; knowledge graph; privacy; standard data protection model
Mesh:
Year: 2022 PMID: 35408377 PMCID: PMC9002473 DOI: 10.3390/s22072763
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1The areas of concern that need to be focused on in light of the changing data sharing/processing landscape as a result of GDPR implementation.
GDPR principles and associated SDM protection objectives, their scope and purpose, as well as the associated technical–organizational measures (TOMs) and their implementations in our compliance verification tool.
| GDPR Principles | SDM Protection Goal | Scope and Purpose | TOM | Our TOM Implementation | Our Tool’s Component |
|---|---|---|---|---|---|
| Purpose limitation (Art. 5(1)(b)) | Unlinkability | Takes the principle of purpose limitation into account; defines the permissible purpose changes. | Role concepts with graduated access rights on the basis of identity management and secure authentication process. | JavaScript Object Notation (JSON) [ | API layer |
| Storage limitation (Art. 5(1)(e)) | Availability | Ensuring the availability of data at a certain time for those who require it at that time. | Documentation of data syntax. | PEP-8 [ | All components |
| Lawfulness, fairness and transparency (Art. 5(1)(a)) | Transparency | The extent and the form in which data processing should be kept transparent towards data subjects and supervisory authorities; information and disclosure obligations pursuant to Art. 12 et seq. GDPR, the notification obligation pursuant to Art. 34 GDPR, the documentation of the processing pursuant to Art. 30 GDPR. | Documentation of consents, their revocations and objections. | Consent and their states, such as revocations, are stored in the GraphDB [ | Compliance, Consent, Audit |
| Accuracy (5(1)(d)), Integrity and confidentiality (Art. 5(1)(f)) | Intervenability | The extent to which data subject rights are to be granted; how data subjects can exercise their rights, how to ensure that requests are made in a legitimate manner, what corrections can be taken in the processing of personal data (e.g., by rectification, erasure, or limitation of the processing of personal data) and in what form data can be transferred by or to other controllers. | Operational possibility of compiling, consistently rectifying, blocking and erasure of all stored personal data. | All data are stored in the KG with a unique ID and these data are processed via REST API endpoints; by providing personal information that resolves to a unique ID, users can access their data via a user interface. | Compliance, Consent |
| Integrity and confidentiality (Art. 5(1)(f)) | Confidentiality | Takes care that the disclosure of certain data is denied to those who are not authorized to have access to it; takes into account the processes, systems, and services potentially vulnerable to unauthorized access. | Encryption of data. | Deterministic searchable encryption technique is used to encrypt the data. The Rivest–Shamir–Adleman (RSA) [ | Security |
| Integrity and confidentiality (Art. 5(1)(f)), Accountability (Art. 5(2)) | Integrity | Ensuring that data related to an identified or identifiable person are kept intact and up-to-date; ensuring that the processes, systems, and services are correctly planned, operated, and controlled according to the intended purpose. | Protection against external influences. | Security measures such as encryption, role-based access controls to prevent unauthorized data access. Audits and tests to document functionality, risks, security gaps. | Security, Audit |
| Data minimization (Art. 5(1)(c)) | Data minimization | Implementation of the data minimization requirement of the GDPR; establishment of retention periods for personal data and processes to ensure compliance. | Reduction of non-required attributes of data subjects. | Consent creation REST API endpoint defines minimal set of variables for processing. | Consent |
Comparison of our automated GDPR compliance verification tool with reviewed state-of-the-art.
| Study | Consent | Automated Compliance | Interoperability | Scalability | TOMs Implemented | Implementation | Ease of Incorporation | Performance | Industrial |
|---|---|---|---|---|---|---|---|---|---|
| Ranise and Siswantoro [ |
|
|
|
| PoC |
|
|
| |
| Robol et al. [ |
|
|
|
| PoC |
|
|
| |
| Westphal et al. [ |
|
|
|
| PoC |
|
|
| |
| Rhala et al. [ |
|
|
|
| P |
|
|
| |
| Brodin [ |
|
|
|
| P |
|
|
| |
| Camilo [ |
|
|
|
| PoC |
|
|
| |
| Alfred et al. [ |
|
|
|
| PoC |
|
|
| |
| Piras et al. [ |
|
|
|
| P |
|
|
| |
| Truong et al. [ |
|
|
|
| PT |
|
|
| |
| Barati et al. [ |
|
|
|
| PoC |
|
|
| |
| Kirrane et al. [ |
|
|
|
| PT |
|
|
| |
| Bonati et al. [ |
|
|
|
| PoC |
|
|
| |
| Mahindrakar and Joshi [ |
|
|
|
| PoC |
|
|
| |
| Barati and Rana [ |
|
|
|
| PoC |
|
|
| |
| Ryan et al. [ |
|
|
|
| PoC |
|
|
| |
| Merlec et al. [ |
|
|
|
| PT |
|
|
| |
| Hamdani et al. [ |
|
|
|
| PoC |
|
|
| |
| Daoudagh et al. [ |
|
|
|
| FM |
|
|
| |
| Tokas et al. [ |
|
|
|
| PoC |
|
|
| |
| Our work |
|
|
|
| FM |
|
|
|
Figure 2Architecture of the automated GDPR compliance verification tool.
Figure 3Architecture of encryption scheme.
Figure 4Architecture of decryption scheme.
Figure 5A snapshot of the JSON schema used for consent and the consent module’s creation (or representation) of consent in the legal KG. (a) Consent JSON schema. (b) KG representation of consent in GraphDB after successful validation.
Information about the software (or libraries) that were used in the implementation.
| Software (or Libraries) | Version |
|---|---|
| Python [ | 3.8 |
| SWI-Prolog [ | 7.6.4 |
| Flask [ | 1.1.2 |
| Flask-RESTful [ | 0.3.8 |
| Flask-SQLAlchemy [ | 2.5.1 |
| Requests [ | 2.25.1 |
| Flask Apispec [ | 0.11.0 |
| Pycryptodome [ | 3.10.1 |
| Flask-JWT-Extended [ | 4.2.1 |
| FuzzyWuzzy [ | 0.18.0 |
| NLTK [ | 3.6.2 |
| Spacy [ | 3.0.6 |
| SPARQLWrapper [ | 1.8.5 |
| PyMongo [ | 3.11.4 |
| Docker ([ | 20.X |
| SQLite [ | 2.6 |
| GraphDB free edition | 9.4.1 |
| MongoDB [ | 5.0.6 |
Figure 6A snapshot of the REST API’s endpoints in Swagger.
Figure 7Sequence diagram for JWT user registration and role-based endpoint access by other software components. Any third-party application that interacts with our tool is represented by the other software components. (a) Sequence diagram JWT user registration. (b) Sequence diagram for role-based service access.
Figure 8A snippet of code from the query processor module.
Figure 9Sample code snapshot of the helper component of shared service module.
Figure 10A snapshot of the consent creation response.
Figure 11Sample response to a request for partial auditing based on consent.
Figure 12Sample response to a request for full auditing based on consent.
Figure 13Compliance check response. (a) Compliance check based on data provider. (b) Compliance check based on a single consent.
Figure 14Sample response for an automated compliance check.
Figure 15Deployed OpenFaas functions.
Figure 16Time spent on consent creation.
Figure 17Time spent on compliance checks. (a) Execution time for compliance check based on consent. (b) Execution time for compliance check based on data provider.
Figure 18Time spent on auditing. (a) Execution time for full audit based on consent. (b) Execution time for full audit based on data provider.
Ofelia scheduler docker script.
| |
| |
| - tekactool |
| - parser |
| |
| |
| |
| - ./:/app |
| - /var/run/docker.sock:/var/run/docker.sock:ro |
| |
| |
| |
| |