Privacy Engineering with PAWS: Injecting Restful Privacy Web Services
Total Page:16
File Type:pdf, Size:1020Kb
Privacy Engineering with PAWS: Injecting RESTful Privacy Web Services Peter Bodorik1, Dawn Jutla2, Ajith Bryn1 1Faculty of Computer Science, Dalhousie University 2Sobey School of Business, Saint Mary’s University Halifax, NS, Canada [email protected], (Bodorik, Bryn)@cs.dal.ca jection problem, and addresses privacy engineers’ produc- Abstract tivity. We address an existing problem of complying with legal We focus our privacy solutions on a common means of requirements when collecting online users' private data. collection of private data from online users, or subjects, We design tools for a developer, or privacy engineer, to using forms-based web pages. In most countries privacy inject privacy web services in customer-facing web pages. regulations exist (e.g., PIPEDA in Canada [15]) that stipu- The tool is aimed at increasing a software engineer’s late that before an online user/subject is asked by a web productivity when addressing privacy requirements. It also page for private information, the subject should be in- reduces the time for organizations to comply with best formed by a privacy notice about the collection of private practices, standards, and/or regulations for privacy in soft- data and its intended use and distribution and, furthermore, ware. the subject’s consent should be obtained. We concentrate on notice and consent mechanisms as they are deceptively 1 Introduction simple yet powerful privacy constructs. Our scope and objectives are: In spite of existing legal requirements, guidelines, and or- • To provide a web page developer with privacy web ser- ganizations’ policies around the collection of private data, vices, which he/she can use to inject functionality in web the reality is that software engineers are unaware of, or applications to (a) enable the showing of privacy notice(s) outright ignore common privacy requirements [1, 2, 3, 4, to a data subject and (b) to obtain data subject consent. 5]. All too often privacy–untrained software developers are • To develop a prototype privacy web services injection the creators of web applications to collect personally identi- tool and to examine initial metrics. fying and profiling data from users. Governments are increasing the amount of privacy re- 2 PAWS: Privacy Architecture for Web quirements in their regulations. For instance the European Services Union’s forthcoming Data Protection law contains Data Protection by Design (including Privacy by Design [2, 3]) We first describe Privacy Architecture for Web Services principles, which map to privacy requirements. Due to (PAWS) as the injection of privacy services described here global trade, such European legal leadership in upholding relies on information that is collected and stored within the citizen privacy is expected to positively impact businesses context of PAWS. The main goal of the PAWS is to pro- in other markets. vide a holistic approach to collection and management of Ann Cavoukian uses a positive sum approach in her private data in a SOA environment, in which software inte- widely translated Privacy by Design (PbD) principles to gration and access to private data in databases are facilitat- reframe negative discourses around privacy. Interweaving ed by web services. The PAWS exploits key features of PbD principles and NIST’s controls [1], in international Web Services Architecture to develop a privacy architec- privacy standards [7] for software systems, enables stake- ture with desirable properties that were described in [10]. holders to open up and share data [6] in controlled ways for Figure 1 shows an architectural abstraction for how web the advancement of societies everywhere. To support inno- services may be monitored/managed for collection and use vation, the OASIS Privacy by Design Documentation for of personal data. A Request Monitor intercepts Web ser- Software Engineers Technical Committee is currently de- vice requests, and extracts information on the web service veloping a privacy standard to help software engineers to and its operations’ parameters. The Request Monitor con- embed privacy functionality into their software [7, 8]. Tak- sults the Privacy Knowledge Base (PKB) to determine en together, regulations, standards, and a desire for open whether or not the request may proceed or is rejected. This innovation can motivate retrofit of existing web applica- decision depends on the personal data contained in the tions to insert privacy preserving actions when collecting, request parameters, semantics of the operation, i.e., how the using, and distributing private information. Our method to personal data in question is used, the privacy policy, and the inject privacy web services tackles a technical privacy in- consent under which the personal data has been collected. 978-1-943436-05-7 / copyright ISCA, SEDE 2016 September 26-28, 2016, Denver, Colorado, USA The monitor ensures that the request, and also the decision which web services are used to store collected private whether or not to proceed, are recorded in the web services data in an organization’s DB; log (ws-log). If the web service request is allowed to pro- o which privacy services are invoked, including services ceed, then the web service is invoked and its business logic to (i) show notice about the collection of private data is executed. The business logic may access a database (DB) and (ii) to obtain consent to collect private data and storing personal data. (iii) other privacy services, such as those for de- Figure 1. Privacy Services Injection in PAWS identification and secure data transfer. Other architectural elements that PAWS draw on is the The Reply Monitor intercepts the response of the web privacy web ontology [9]. In PAWS, the Privacy Engineer service execution, and examines the content of this reply guides a semi-automatic software Privacy Information message for personal data and its usage in a manner similar Agent, to mine web pages, the ws-log that contains log to handling of the web service request by the Request records of web services requests and replies, and the DB Monitor. The monitor records the web service reply in the log, to ensure that the information in the PKB is correct and ws-log together with the decision whether the reply (con- to discover new information to be stored in the PKB. taining private data) is to be communicated to the web ser- SOA is based either on (i) the Web Service Architecture vice requestor. Central to PAWS is the content of its PKB. (WSA) stack of protocols, which uses the Simple Access The knowledge base contains information on: Object Protocol (SOAP) for client applications to invoke • web services, including their operations and semantics, web services, or more recently (ii) the simpler Resource and input and output parameters including information on Oriented Architecture (ROA) in which RESTful web ser- which are private data; vices are invoked using HTTP. As currently adoption of • applications that invoke web services and input/output ROA outstrips WSA, we implement the PAWS and our tool parameters that are exchanged with web services; for the ROA environment. • which web services invoke other web services with input Other privacy architectures exist [e.g. 9, 11, 12] but not and output parameters that are exchanged and are deemed for privacy web service injection. PAWS is not only ROA- to be private; based; it provides details dealing with intelligent agents and • which web services access DBs, including which private knowledge bases. The model of abstraction for ”context of data is retrieved or stored; use” that the PAWS architecture’s agents use is found in • web pages, including [12]. Audit-based compliance control [13] and dynamic o which private data is retrieved from an organization’s inference [14] influences the PAWS design. DB and displayed to the subject; o which private data is collected from the subject and 3 Injection of Privacy Web Services Interface (UI). In the below discussion of the architecture, we illustrate the situation where the privacy engineer selects A business problem occurs by non-compliance with a pri- one page, containing one form that collects personal data, in vacy regulation when private data is collected online, but order to inject privacy services to show notice to and obtain (a) the subject is not provided with notice about the collec- consent from the consumer or citizen (referred to as sub- tion and use of the private data, and (b) the subject’s con- ject). However, we note that PAWS supports privacy ser- sent for the use of the collected data is not obtained from vice injections in multiple forms across multiple web pages. the subject. The PAWS’s Knowledge Base (KB) is shown in figures The injection of privacy services into the web page to in- 1 and 2 as a collection of related KBs. Figure 2 shows that clude notice and consent consists of the following work- the Web-Page module is used to obtain pertinent infor- flow: (i) identify the web page; (ii) modify the web page to mation about the web page, selected by the Privacy Engi- show notice; (iii) modify the page to obtain consent; (iv) neer, including which personal data the page collects. As- allow entry of personal data (subject action); (v) modify the sisted by the Notice-Consent module, the Privacy Engineer page to store consent; and (vi) store the collected personal specifies which notice is to be displayed and which consent data. A design constraint is that the web services associated is to be sought from the subject. Finally, the Inject-Services with the web pages cannot be changed. Modifying such module is used to inject the privacy services, which display web services would entail examining and modifying the the selected notice and consent user interfaces, into the web code generating the web service, which is time consuming page. As we mentioned before, the privacy injection proto- and error prone in unforgiving production environments.