=Paper=
{{Paper
|id=Vol-2940/paper28
|storemode=property
|title=Exploiting the Blockchain to Guarantee GDPR Compliance while Consents Evolve under Data Owners’ Control
|pdfUrl=https://ceur-ws.org/Vol-2940/paper28.pdf
|volume=Vol-2940
|authors=Massimiliano Calani,Giovanni Denaro,Alberto Leporati,Manuel Cheminod,Luca Durante,Lucia Seno,Adriano Valenzano,Mario Ciampi,Fabrizio Marangio,Giovanni Schmid,Mario Sicuranza,Marco Zuppelli,Giuseppe Manco,Luca Caviglione,Massimo Guarascio,Marzio Di Feo,Simone Raponi,Maurantonio Caprolu,Roberto Di Pietro,Paolo Spagnoletti,Federica Ceci,Andrea Salvi,Vincenzo Carletti,Antonio Greco,Alessia Saggese,Mario Vento,Gabriele Costa,Enrico Russo,Andrea Valenza,Giuseppe Amato,Simone Ciccarone,Pasquale Digregorio,Giuseppe Natalucci,Giovanni Lagorio,Marina Ribaudo,Alessandro Armando,Francesco Benvenuto,Francesco Palmarini,Riccardo Focardi,Flaminia Luccio,Edoardo Di Paolo,Enrico Bassetti,Angelo Spognardi,Anna Pagnacco,Vita Santa Barletta,Paolo Buono,Danilo Caivano,Giovanni Dimauro,Antonio Pontrelli,Chinmay Siwach,Gabriele Costa,Rocco De Nicola,Carmelo Ardito,Yashar Deldjoo,Eugenio Di Sciascio,Fatemeh Nazary,Vishnu Ramesh,Sara Abraham,Vinod P,Isham Mohamed,Corrado A. Visaggio,Sonia Laudanna
|dblpUrl=https://dblp.org/rec/conf/itasec/CalaniDL21
}}
==Exploiting the Blockchain to Guarantee GDPR Compliance while Consents Evolve under Data Owners’ Control==
Exploiting the Blockchain to Guarantee GDPR Compliance while Consents Evolve under Data Owners’ Control Massimiliano Calani, Giovanni Denaro and Alberto Leporati University of Milan-Bicocca, Department of Informatics, Systems and Communication, Viale Sarca 336, 20126 Milano, Italy Abstract The last 20 years have seen increasingly wide spread of online services, including the advent of so- cial media, and therefore increasingly massive sharing of personal data between users and companies, thus underscoring the importance of protecting the privacy of any involved personal data and avoid abuses. In 2018 the General Data Protection Regulation (GDPR) came into force, committing companies to comply with lawful rules that stress their role and responsibilities in protecting the privacy of the legal persons that share personal data with them. In this paper we address the crucial challenges that companies face to achieve compliance with GDPR, and specifically to i) let data owners full visibility and control on the consents related to their own personal data, and ii) design services that can cope with consents that may change or be revoked dynamically. We propose a solution that relies on the blockchain technology to let data owners grant, access and rectify their consents in a decentralized peer-to-peer fashion, while guaranteeing consensual agreement of data owners and companies on the status of the relevant consents at any time. Although blockchains let all users access all contents freely, our solution suitably exploits encryption to both guarantee the integrity of the consents, and avoid any disclosure to third parties. At the company side, our approach settles a compliance broker that works in a publish-subscribe style to assist services in controlling their compliance to GDPR while the status of consents evolves on the blockchain. Keywords Blockchain, Privacy, Consents, GDPR 1. Introduction GDPR is the General Data Protection Regulation, a law put into effect on May 25 2018, which states the rights of legal persons to pursue and be guaranteed of the privacy of any personal data, against the companies who may process those data to offer them services [1, 2]. The GDPR regulation acknowledges that processing persons’ data indiscriminately and carelessly can easily lead to disclosing and loosing control on sensitive information, with many possible critical impacts, from social incidents, up to threatening the well being and the life of some people. For instance, examples of sensitive personal data include (but are not limited to) racial origins, ethical facts, religious and political believes, health-related data, sexual habits, bank ITASEC’21: Italian Conference on CyberSecurity, April 7–9, 2021, Online " m.calani@campus.unimib.it (M. Calani); giovanni.denaro@unimib.it (G. Denaro); alberto.leporati@unimib.it (A. Leporati) 0000-0002-7566-8051 (G. Denaro); 0000-0002-8105-4371 (A. Leporati) © 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings http://ceur-ws.org ISSN 1613-0073 CEUR Workshop Proceedings (CEUR-WS.org) account and credit card numbers, geo-localization data, and so forth. Thus, the GDPR regulation commits companies to process the persons’ data with maximum care, risk awareness and legitimated permissions, granting the data owners the right to negotiate the scope of their consents, and modify or withdraw their consents at any time. Uncompliant companies may face reputation losses and risk fines up to 4% of their turnovers. Worth noting, by explicit choice of the regulation authorities, the GDPR does not indicate which technical solutions the companies shall adopt for being compliant; it just sets the goals. In this context, this paper focuses on the crucial organizational and technological challenges that many companies face nowadays to (i) give data owners full visibility and control on the consents related to their own personal data, while (ii) guaranteeing that the company’s applica- tions and processes remain GDPR-compliant with respect to consents that may dynamically be changed by the data owners. On one hand, letting data owners control the consents on their personal data requires to institutionalise procedures to readily receive and handle all inquiries from those people. On the other hand, the applications and the processes that work with any consented data asset shall be capable of promptly reacting and adapting whenever any relevant consent gets modified or withdrawn. Perspective solutions shall also enable companies to document their compliance with the consents of the data owners, e.g., for auditing purposes, and provide lawful basis on the status of any relevant consents at any time, e.g., to handle possible litigation cases. Existing solutions fall short in addressing the above challenges. Some solutions address consents and GDPR-compliance with respect to the data that Web applications store into cookies, e.g., to remember and profile their users [3]. These solutions exploit the technical fact that Web applications store the cookies-data on the users’ machines (then under direct control of users), but do not generalize to many other applications that store the relevant data into databases or files at the company-side. Commercial tools like OneTrust [4] or Absolute [5] address asset management of GDPR-relevant data, providing functionality for risk analysis and monitoring, but without support for data owners to control their consents directly. Recently some researchers proposed approaches that allow visibility and control of data owners on their consents by exploiting blockchain technologies [6, 7, 8, 9]. These approaches store consents or consent-relevant data in a decentralized fashion on the blockchain, aiming for such information to remain permanently available to all parties, with consensual agreement on its latest status [10]. For example, both the approach of Zyskind et al. and the one of Wirth and Kolain let data owners register on the blockchain the hash of the personal data that they like to share, along with smart contracts that interested third parties execute to request consents on those data [6, 7]. A similar approach discussed by Vargas allows for data owners to log digital consent records on the blockchain, and for data processors (e.g. companies) to execute blockchain transactions that refer to those records whenever they start processing actions [8]. In this way, the data owners maintain continuous visibility on both their consents and the processing actions executed correspondingly. Recently, Guggenmos et al. discussed two crucial design principles that any blockchain-based solution should respect for being GDPR compliant [9]: (i) no personal data must be directly shared on the blockchain, since those data could not be ever removed thereafter, and (ii) attributing data stored on blockchains to natural persons should be possible only based on secure off-chain mapping mechanisms, because the information on the blockchains is publicly accessible in a peer-to-peer fashion. While all the aforementioned approaches ([6, 7, 8]) respect the former design principle, none of them protects satisfactorily the confidentiality of the information stored on the blockchain. Furthermore, to the best of our knowledge, no previous approach copes with keeping the services and the processes of a company in-synch with consents that may evolve dynamically under the control of the data owners. In this paper we propose a blockchain-based approach that addresses in an integrated fashion both the problem of providing data owners with full visibility and control on their consents, and the problem of managing the compliance of applications and processes that work with those dynamically-evolving consents. Our approach exploits the blockchain to store the consents in digital form, while guaranteeing the integrity of the association between the consents and the corresponding off-chain personal data, and without disclosing any sort of information to third parties other than the data owner and the data processor (a company) themselves. At the company side, our approach settles a compliance broker that works in a publish-subscribe style to assist applications and processes in staying GDPR-compliant. The compliance broker polls the blockchain regularly, in order to identify changes that relate to any consent granted to the company, and notifies its subscribers (the company services) in real-time of any change of the consents on which they depend. At any time, the data in the blockchain provably certifies the status of the consents. Moreover the compliance broker centralizes the inventory of which applications and processes depend on which consents, allowing for auditing the overall compliance status. This paper is organized as follows. Section 2 briefly introduces core concepts about the blockchain technology, to make the paper self-contained. Section 3 presents our novel solution, detailing the protocol to create and rectify consents on the blockchain, discussing the strong integrity and confidentiality guarantees that characterize our protocol, defining the publish- subscribe mechanisms of our compliance broker to assist companies in addressing GDPR- compliance dynamically, and introducing a prototype implementation of our solution. Section 4 surveys the related work in the field. Section 5 summarizes our conclusions and plans for future research on these topics. 2. Basics on Blockchain Technologies We can describe a blockchain as a decentralized, immutable, tamper-proof, public ledger [10]. At the very core, it consists of a simple data structure, organized as a list of chained blocks, and shared by all parties that participate in a peer-to-peer network. Each block represents a set of transactions of the ledger, and the transactions of all blocks, interpreted in the order corresponding to the sequence of the blocks, represent the status of the ledger. By adding new blocks (i.e., new transactions) to the blockchain, users can update the status of the ledger incrementally. The most important characteristics of the blockchain technologies is that they do not require a central authority to guarantee the validity of the information stored by the peers. Rather, the peers that participate in the blockchain agree to a consensus protocol to validate the transactions in peer-to-peer fashion. The consensus protocol guarantees that, once a block is validated, all peers see that block in exactly the same status in their local copy of the blockchain, and cannot alter it [11]. Indeed, the solution that we present in this paper relies on the immutability of the data stored in the blockchain to guarantee that, once the consent records are stored in the blockchain, they represent durable information, and companies and data owners cannot disagree on the status of those consents at any moment in time. Blockchains can be permissionless or permissioned. In the former case anyone can propose to add a transaction, and anyone can be a peer participating in the consensus protocol. Blockchains that store cryptocurrencies transactions are typically of this kind. On the other hand, permis- sioned blockchains are run by a consortium of peers – in our case, companies – that sustain the economic costs of running validator nodes, the peers that process transactions and store a copy of the blockchain. In this setting, each user has credentials that allow him to write (or even access/read) information to the blockchain. Usually no consensus algorithm is adopted, and the blockchain is used just as a distributed ledger in which every user writes information (that is, makes public affirmations) that cannot later be altered or deleted. A permissioned blockchain is used especially when the members of the consortium potentially have contrasting interests but they want to reach a common goal, and no member is trusted enough to run a centralized database. Finally, an important aspect of modern blockchains is the use of smart contracts, that make possible some kinds of trusted interactions between users. Let us note, however, that in our solution we will not need to use smart contracts. 3. Approach This section discusses the core components of our solution, i.e., a protocol to store and rectify consents on the blockchain, and a publish-subscribe architecture that allows companies to keep their services in synch with the evolving status of the consents. 3.1. Granting a consent We first introduce the operations of our protocol by which data owners can grant a company new consents on some personal data. Figure 1 (a) illustrates how the protocol proceeds to grant a new consent. The interaction starts with a company-side service (hereafter the service) that sends a consent request to a data owner (step 1), continues with the data owner that generates a consent record that encodes the consent in digital format and writes it on the blockchain (step 2), and completes with a dedicated company-side application, which we refer to as the compliance-broker, polling the blockchain to acquire the consent record (step 3). Below we explain each step, and we discuss the integrity and confidentiality guarantees that characterize the protocol. The consent request (step 1) defines the personal data and the type of processing for which the consent shall be granted. Our protocol requires that the service shares these definitions with the data owner in the form of two digital files of any suitable file type. The personal data under concern may range from a specific datum or set of data, to categories of personal data on which the service requires consent once for all. Examples of specific data are family names, age information, email addresses, credit card data, specific images, documents and medical records. Categories of personal data could for example refer to geo-localisation data or other profiling (a) Protocol interactions (b) Consent record structure Figure 1: Protocol to grant a new consent information that the service will be collecting. With no loss of generality, we assume that this initial interaction might happen either in electronic fashion, e.g., via a Web page that the data owner visualizes during the subscription of an electronic service, or consists of a request sent via email, or might happen during an in-person session between the data owner and a company delegate, in case of services that consist partially or entirely of processes run by people. When the data owner receives the consent request, he generates a digital record that encodes the consent, and performs a transaction to write it on the blockchain (Figure 1 (a), step 2). The data owner signs the data in the consent record, to guarantee the authenticity of the information in the record, and encrypts all data with the public key of the company, such that the compliance broker is the only other party that can access the information. Figure 1 (b) shows the format of a consent record according to our protocol. This format aims to avoid attacks on the integrity and the confidentiality of the information in the record. The record consists of a header and a body section. The header section includes a label that identifies the protocol version and a session key, a binary string of 256 bits, which the data owner generates at random and encrypts in two copies, with his public key (first copy) and with the public key of the company (second copy), respectively. This guarantees that no third party who may intercept the record can extract the plain value of the session key. The data owner will then use the session key to encrypt all remaining data, i.e., the data in the body section of the record. Our solution relies on the availability of a public key infrastructure that allows data owners to certify the identity of the companies while using their public keys, and vice-versa. The body section of the record includes the public keys of the company and the data owner, respectively, two (crypto-)hash values that characterize the specific consent that the record represents, an identifier of the consent, a timestamp, a sequence number set to zero, and the signature of the data owner. The consent record does not contain any personal data directly, but uses hash values to unambiguously identify the two documents that the data owner received at step 1, i.e., the documents that define the personal data and the type of data processing. The consent identifier links the record to the request that the data owner received from the service. The timestamp indicates the time at which the record is generated. The sequence number refers to the history of rectifications of the record: it is set to zero for the records that represent newly granted consents (like the record in Figure 1 (b)) and will be incrementally greater than zero for records that represent rectifications (as we discuss in the next section). The last datum in the record is the signature of the data owner, applied on the hash value computed on all other data in the record. The signature certifies the authenticity of the record, i.e., both the integrity of the information in the record and the identity of the the data owner. As said, all data in the body section of the record, including the signature, are further encrypted with the session-key. The encryption of the record allows to the compliance-broker to validate the integrity of the record. In fact, upon reading the consent record from the blockchain (Figure 1 (a), step 3), the compliance broker can: (i) decode the session key with the private key of the company, (ii) authenticate the data owner based on the public key and the signature in the record, (iii) verify the integrity of the record by computing the hash value of the data and comparing it with the hash value decoded from the signature, (iv) confirm the integrity of the consent with respect to the relevant personal data and type of data processing by computing the hash values of those documents and comparing such hash values with the ones in the record, and (v) validate that the consent identifier, the timestamp and the sequence number are consistent. If all these checks succeed, the compliance broker approves the consent record and notifies the relevant services run by the company. Without the ability to decode the session-key encrypted in the header section of the record, no information can be accessed by any third party, in case the record is read by other users of the blockchain. The protocol is also robust to reflection attacks1 , since the compliance broker will easily reveal (and discard) any duplicated record that refers to the same consent identifier of a previously received record, and has both the same timestamp and the same sequence number as the previous record. 3.2. Rectifying or Revoking Consents The right of rectifying or revoking (right to be forgotten) personal data and consents are fundamental rights of the data owners according to the GDPR regulation (art. 16 - Right to rectification, art. 17 - Right to erasure). Our solution guarantees these rights by allowing data owners to unilaterally accomplish rectifications or revocations of any consent they have granted. In our consent protocol, rectifying (or revoking) a consent simply requires the data owner to store on the blockchain a new consent record that i) is well formed, i.e., it has the structure that we presented in the previous section, and ii) is consistently related with the consent record to be rectified. For instance, the right part of Figure 2 exemplifies a well-formed consent record that consistently rectifies the consent record in the left part of the figure. The figure highlights that the two consent records have exactly the same structure, share some identical data (indicated with gray background in the figure), differ in either the hash value that defines the personal data or the type of data processing, include mutually related timestamps and sequence numbers, and are both internally consistent, i.e., they both include correct signatures of the data owner, and are both correctly encrypted with the session key available in the header section. In short, the rectifying consent record is consistent with the previous (rectified) consent record if it is correctly encrypted, correctly signed, maintains the constraints on the mutually identical and mutually related data as indicated in the figure, and is consistent with all previous rectifications 1 Attacks that try to reuse an encrypted record after having intercepted it. Figure 2: Relations between a rectified (R’) and a rectifying (R”) consent record already in the blockchain. If so, the hash values of the personal data and type of data processing in the rectification record represent the new status of the corresponding consent. Let us note that both the rectification operation and all the checks on the rectifying record could be performed by an open source API provided by the consortium that maintains the permissioned blockchain. Albeit not strictly necessary, this would greatly simplify the man- agement of rectifications, simultaneously reducing the number of wrong rectification records written on the blockchain. Notice instead that these checks cannot be performed by a smart contract, as such a contract should know the secret keys of the company and of the data owner, a requirement that we deem excessive. More formally, a rectifying consent record 𝑅′′ is consistent with a previous (rectified) consent record 𝑅′ if all the following conditions are met: • The body section of 𝑅′′ successfully decrypts by using the session-key decoded from the header section. This guarantees that both parties can decode the body section of the record 𝑅′′ , even if the data owner generated 𝑅′′ unilaterally; • The public keys and the consent identifier are identical in both consent records. This identifies the record 𝑅′′ as a rectification of the consent represented by 𝑅′ ; • The rectifying record 𝑅′′ has a later timestamp and a sequence number one-unit-higher than to 𝑅′ . This chains 𝑅′′ to 𝑅′ within a sequence of rectifications of an original consent (the one with sequence number equal to zero) to which both records refer; • The two records differ in either the hash of the personal data or the type of data processing. A differing hash of the personal data indicates a rectification of the personal data. A differing hash of the type of data processing indicates that the rectification is concerned with the type of data processing allowed for the (unchanged) personal data. In this latter case, the special value zero indicates a revocation action; • The signature of the data owner in 𝑅′′ is correct with respect to the data in 𝑅′′ ; • 𝑅′ is not already consistently rectified by any other consent record that is stored between 𝑅′ and 𝑅′′ on the blockchain. This guarantees that there can be no valid duplicates in a chain of consistent rectifications. According to the above properties, the status of a consent is the result of a chain of consistent rectifications of an original consent. Any rectification record that violates one or more of the above rules will be deemed invalid, and will be ignored. Thus, even though the protocol let data owners free to add new consent records as they like, only the valid rectification chains contribute to define the status of their consents, while any inconsistent record will be just ignored. The valid rectification chains stored in the blockchain unambiguously certify the latest status of each consent at any moment in time, and constrain the parties to comply with those consents. In case of litigation, either party can provide (e.g., to competent authorities) evidence of the status of the consents at a given moment by revealing the session keys of the valid chain of records, with no need to disclose their private key. If two parties report mutually contradictory pieces of evidence, the above properties unambiguously discriminate the correct one. Yet, companies can provably confute the validity of any consent record for which they cannot decode the same session key claimed by a data owner. When the status of a consent changes on the blockchain, we leave for the company-side services the task of initiating interactions with the data owners, in order to get the rectified versions of the personal data or the rectified data processing information. Since when a rectifying record is filed on the blockchain, up to the moment in which they obtain the rectified data, those services must behave like if that consent was revoked. Similarly, if the new status of a consent does not meet their requirements, the services must behave like if there is no consent, and initiate procedures to inform the data owner of the issues. In the next sections, we present how our solution supports the ability of the services to promptly react to rectifications of consents, and we discuss possible design patterns to build applications that adapt to evolving consents. 3.3. Compliance with Dynamically Evolving Consents Our solution allows services to remain in continuous compliance with the consents that undergo rectification actions. To this end, the compliance broker works in a publish-subscribe style to: (i) keep track of which services depend on which consents, (ii) maintain an updated inventory of the latest status of each consent, and (iii) notify the relevant services in the event of status changes related to any consents on which they depend. Figure 3 illustrates the main interactions that lead the compliance broker track the dependence between a service and a consent (step 1: subscription), identify the change of status of the consent in the event of rectification actions (step 2: polling), and notify the service of a consent update (step 3: notification). Below we describe these steps in further detail. The compliance broker records the dependency between a service and a consent immediately after completing the protocol steps that we described in Section 3.1, i.e., as soon as it stores a new consent record in the blockchain. In this phase, the compliance broker initialises the status of the new consent within its inventory as a triple ⟨𝑖𝑑, ℎ1, ℎ2⟩, where 𝑖𝑑 is the consent identifier stored in the consent record, and ℎ1 and ℎ2 are the hash values of the personal data and purpose data that comprise the consent, respectively. Then, it accepts the target service as a subscriber Figure 3: Notifying rectification actions to services (Figure 3, step 1) who shall be notified of any change of that consent. The subscription includes a notification address, given as either a service API endpoint or an email address, according to whether the service is a software application or a human-driven process, respectively. In the event of a status change of the consent, the compliance broker will notify the target service by calling the API endpoint or sending an email, in either case, respectively. The compliance broker identifies the status changes of the consents that undergo rectification actions (as we described in Section 3.2) by polling the blockchain regularly (Figure 3, step 2). At each new polling step, the broker scans the blockchain blocks that were added since the last polling step (as the previous blocks have not been altered, due to the immutability properties of the blockchain), matches the records that belong to our protocol by their label, decodes the third field of the header section to reveal the session key of the records that belong to the company, decodes the body section of those records with the session key, identifies the latest valid (cfr. Section 3.2) rectification of each consent, updates the status of the consent in its inventory accordingly, and notifies the subscriber services of any new consent status (Figure 3, step 3). To consistently update its inventory, the broker matches the consent identifiers in the rectifying records with the consent identifiers in the inventory. 3.4. Designing Compliance-Aware Services We finally discuss the problem of designing services that are able to properly adapt their behavior upon being notified of changes of relevant consents. While diving into service-specific adaptations is admittedly out of the scope of this paper, we indicate a core set of design patterns and design principles that may generally apply to the services that participate in the publish- subscribe interactions of our solution. Personal data registry Upon being notified of changes or revocations of relevant consents, the company services must retrieve the impacted personal data from the physical locations at which they are stored, aiming to execute suitable adaptation actions. For instance, if a revoked personal datum has been stored in a database, the service must recall the corresponding table and record, such that it can access and modify the datum. Thus, to support the execution of adaptation actions, service designs may include a personal data registry component that maps between consent identifiers and the physical locations of the corresponding personal data. Personal data ping Services must be designed with suitable personal data ping functionali- ties, either scripted in their implementation or assigned to designated persons, to be able to retrieve new versions of the rectified personal data or rectified type-of-processing definitions, upon being notified of rectifications. Independence between personal data and primary/foreign keys As a design principle, services shall not rely on personal data as unique identifiers of data structures, or to define relational associations between data structures. Otherwise, the rectifications or the revocations of the related consents would be at risk of jeopardizing those integrity constraints, up to causing service failures in the worst cases. For data stored in relational databases, this principle indeed corresponds to stating the independence between the personal data and the primary or foreign keys in the database. Revocation-aware functionalities Any service functionality that depends on personal data shall be designed with careful consideration of the possible revocation of the consents on those data. Revocations may particularly impact many common functionalities that define stateful behaviors based on the personal data. In general, the impacted functionalities must include proper (possibly degraded) behaviors to robustly cope with the revoked data. Personal data objects A specific solution for coping with revoked data is to anonymize (rather than deleting) those data. In particular, this solution suites for the applications in which deleting the personal data may contrast with some integrity constraints of their implementation. To this end, a possible design choice is to mediate the access to the revocable data with objects (to which we refer as personal data objects) that provide suitably paired forget-data and get-data operations: The forget-data operations delete the data by replacing them with anonymized counterparts; The get-data operations either retrieve the actual data if these were not revoked, or render the anonymized data with anonymous data in proper format to comply with the business rules of the considered service. 3.5. Prototype As a proof-of-concept demonstrator, we implemented our solution on top of a custom instance of the Ethereum blockchain created with Ganache [12]. We used the online Remix IDE [13] to deploy smart contracts on the blockchain, and the Node.js runtime engine and web3.js library to create the back-end and the front-end of all the user and company functionalities, including the execution of the hashing, encryption and decryption algorithms. Our demonstrator includes a client that allows data owners to produce the consent records according to the protocol of our solution, an implementation of the company-side compliance broker, and other clients to visualize the status of the consents either granted by a given data owner to any company, or granted to a given company by any data owner. The sources of our demonstrator can be found on GitHub [14]. 4. Related Work We have already mentioned other approaches that exploit blockchain technologies for fostering compliance to GDPR [7, 8, 9, 6]. Our approach has several distinctive points of novelty over these previous pieces of research. First, our approach is unique in guaranteeing that no information on the granted consents is disclosed to the other users of the blockchain but the interested parties. Second, no previous approach copes with keeping the services and the processes of a company in-synch with consents that may evolve dynamically under the control of the data owners. Some applications provide their own functionalities to let users express consents or remove their personal data. In particular this is the case of many social media applications. For example, Google provides in every user account a dashboard that lets users express consents and eliminate their data, e.g., data related to email management, geo-localization information, web activity, phone activity, and so forth. Notably, the application Suicide Machine [15] works as a gateway to the data-removal functionalities of the social media platforms, like Facebook, Twitter, or LinkedIn, and allows users to remove their profiles from a set of platforms at once. The downside is that these solutions are application-specific, and generally apply only for fully-automatic, fully-online services. Relying on application-specific solutions does not allow for companies to audit the compliance status of all their personal-data-driven processes, or users to directly monitor the status of all their consents across all companies. Another body of research proposals enforce limited time of validity of the personal data released to companies, to guarantee that companies cannot retain the personal data forever [16, 17, 18]. Technically, these approaches work by maintaining the personal data in encrypted format, ensuring that the decryption keys expire after a predefined time: after the expiration of the keys, the data cannot be read any longer, and the companies must ask the data owners to grant access to their personal data once again. Expiring decryption keys could be used also in our solution, but an alternative that is probably easier to manage is simply to add an expiration date field in the consent record; when such a date is reached, if the consent is needed to perform some operation it should be requested again to the data owner. Expiring decryption keys are also used by Xpire [19], that allows the users of social media platforms to create self-destroying contents. These approaches mitigate the risk of the data owners to loose control on their data, but do not let them directly control, modify or revoke their consents, which is a primary goal of our approach. 5. Conclusions The GDPR regulation commits companies to architect their services with maximum care in complying with the users’ consents on any personal data that the services may require from them. Moreover, according to the GDPR, it is of paramount importance that companies guarantee the right of their users to rectify and revoke their consents at any time, ensuring prompt reactions to comply with any change of those consents. In this paper we presented a novel solution that exploits a peer-to-peer blockchain to store and maintain the consents that users grant to the companies, and provides a secure protocol by which users can autonomously operate on the blockchain to rectify and revoke any of the consents that they granted. Our solution is specifically designed to guarantee full privacy of the information stored in the blockchain, meaning that only the interested parties can know the status of the consents that are relevant to them, while any third party that has access to the blockchain cannot infer any meaningful information on those consents. At each company, our solution settles a compliance broker application that pools the blockchain regularly to identify any change of status of the consents granted to the company. Upon identifying relevant changes, the compliance broker works in a publish-subscribe style to notify the impacted services, thus allowing them to implement timely reactions to the consent changes. In the future we aim to extend our current prototype to work with other features, such as the automatic expiration of consents. Further, we plan to work on the current implementation of our solution [14], which is currently in an embryonic state, both at the blockchain side and concerning the implementation of the company services described in Section 4.3. References [1] European Commission, General data protection regulation (GDPR), https://gdpr.eu/tag/ gdpr/, 2018. [2] P. Voigt, A. v. d. Bussche, The EU General Data Protection Regulation (GDPR): A Practical Guide, 1st ed., Springer Publishing Company, Incorporated, 2017. [3] Cliqz GmbH, Ghostery, https://www.ghostery.com/, Last visit: February 6, 2021. [4] OneTrust LCC, Onetrust privacy security and governance, https://www.onetrust.it/, Last visit: February 6, 2021. [5] Absolute Software Corporation, Absolute, https://www.absolute.com/, Last visit: February 6, 2021. [6] G. Zyskind, D. Zekrifa, P. Alex, O. Nathan, Decentralizing privacy: Using blockchain to protect personal data, in: 2015 IEEE Security and Privacy Workshops, 2015, pp. 180–184. doi:10.1109/SPW.2015.27. [7] C. Wirth, M. Kolain, Privacy by blockchain design: A blockchain-enabled GDPR-compliant approach for handling personal data, in: Proceedings of 1st ERCIM Blockchain Workshop 2018, 2018, pp. 1–7. doi:10.18420/blockchain2018_03. [8] J. C. Vargas, Blockchain-based consent manager for GDPR compliance, in: Open Identity Summit, 2019, pp. 165–170. URL: https://dl.gi.de/bitstream/handle/20.500.12116/20985/ proceedings-14.pdf. [9] F. Guggenmos, J. Lockl, A. Rieger, A. Wenninger, G. Fridgen, How to develop a gdpr- compliant blockchain solution for cross-organizational workflow management: Evidence from the german asylum procedure, in: 53rd Hawaii International Conference on System Sciences, HICSS 2020, Maui, Hawaii, USA, January 7-10, 2020, ScholarSpace, 2020, pp. 1–10. URL: http://hdl.handle.net/10125/64234. [10] S. Nakamoto, Bitcoin: A peer-to-peer electronic cash system, http://www.bitcoin.org/ bitcoin.pdf, 2008. [11] D. Puthal, N. Malik, S. P. Mohanty, E. Kougianos, C. Yang, The blockchain as a decentralized security framework [future directions], IEEE Consumer Electronics Magazine 7 (2018) 18–21. doi:10.1109/MCE.2017.2776459. [12] ConsenSys Software Inc., Ganache, Truffle suite, https://www.trufflesuite.com/ganache, Last visit: February 19, 2021. [13] Open source, Remix, https://remix.ethereum.org/#optimize=false&evmVersion=null& version=soljson-v0.6.6+commit.6c089d02.js&runs=200, Last visit: February 19, 2021. [14] M. Calani, Progetto ITASEC 2021, https://github.com/Massi1994/Progetto_ITASEC, 2021. [15] W. Rotterdam, Web 2.0 suicide machine, http://suicidemachine.org/, Last visit: February 6, 2021. [16] R. Perlman, File system design with assured delete, in: Proceedings of the Third IEEE International Security in Storage Workshop, SISW ’05, IEEE Computer Society, USA, 2005, p. 83–88. doi:10.1109/SISW.2005.5. [17] L. J. Bannon, Forgetting as a feature, not a bug: The duality of memory and implications for ubiquitous computing, CoDesign 2 (2006) 3–15. doi:10.1080/15710880600608230. [18] R. Geambasu, T. Kohno, A. A. Levy, H. M. Levy, Vanish: Increasing data privacy with self-destructing data, in: F. Monrose (Ed.), 18th USENIX Security Symposium, Montreal, Canada, August 10-14, 2009, Proceedings, USENIX Association, 2009, pp. 299–316. URL: http://www.usenix.org/events/sec09/tech/full_papers/geambasu.pdf. [19] M. Cuban, Xpire, http://www.getxpire.com/xpireApp/, Last visit: February 6, 2021.