Academia.eduAcademia.edu

Toward Privacy in Public Databases

2005

We initiate a theoretical study of the census problem. Informally, in a census individual respondents give private information to a trusted party (the census bureau), who publishes a sanitized version of the data. There are two fundamentally conflicting requirements: privacy for the respondents and utility of the sanitized data. Unlike in the study of secure function evaluation, in which privacy is preserved to the extent possible given a specific functionality goal, in the census problem privacy is paramount; intuitively, things that cannot be learned "safely" should not be learned at all. An important contribution of this work is a definition of privacy (and privacy compromise) for statistical databases, together with a method for describing and comparing the privacy offered by specific sanitization techniques. We obtain several privacy results using two different sanitization techniques, and then show how to combine them via cross training. We also obtain two utility results involving clustering.

Toward Privacy in Public Databases ⋆ Shuchi Chawla1 , Cynthia Dwork2 , Frank McSherry2 , Adam Smith3 Hoeteck Wee4 ⋆⋆ , and 1 2 3 4 Carnegie Mellon University, [email protected] Microsoft Research SVC, {dwork,mcsherry}@microsoft.com Weizmann Institute of Science, [email protected] University of California, Berkeley, [email protected] In Memoriam Larry Joseph Stockmeyer 1948–2004 Abstract. We initiate a theoretical study of the census problem. Informally, in a census individual respondents give private information to a trusted party (the census bureau), who publishes a sanitized version of the data. There are two fundamentally conflicting requirements: privacy for the respondents and utility of the sanitized data. Unlike in the study of secure function evaluation, in which privacy is preserved to the extent possible given a specific functionality goal, in the census problem privacy is paramount; intuitively, things that cannot be learned “safely” should not be learned at all. An important contribution of this work is a definition of privacy (and privacy compromise) for statistical databases, together with a method for describing and comparing the privacy offered by specific sanitization techniques. We obtain several privacy results using two different sanitization techniques, and then show how to combine them via cross training. We also obtain two utility results involving clustering. 1 Introduction We initiate a theoretical study of the census problem. Informally, in a census individual respondents give private information to a trusted party (the census bureau), who publishes an altered or sanitized version of the data. There are two fundamentally conflicting requirements: privacy for the respondents and utility of the sanitized data. While both require formal definition, their essential tension is clear: perfect privacy can be achieved by publishing nothing at all – but this has no utility; perfect utility can be obtained by publishing the data exactly as received from the respondents, but this offers no privacy. Very roughly, the ⋆ ⋆⋆ A full version of this paper may be found on the World Wide Web at http://research.microsoft.com/research/sv/DatabasePrivacy/. This research was done while A.S. was a student at MIT, partially supported by a Microsoft fellowship and by US ARO Grant DAAD19-00-1-0177. sanitization should permit the data analyst to identify strong stereotypes, while preserving the privacy of individuals. This is not a new problem. Disclosure control has been studied by researchers in statistics, algorithms and, more recently, data mining. However, we feel that many of these efforts lack a sound framework for stating and proving guarantees on the privacy of entries in the database. The literature is too extensive to survey here; we highlight only a few representative approaches in Section 1.2. 1.1 Summary of Our Contributions and Organization of the Paper Definitions of Privacy and Sanitization. We give rigorous definitions of privacy and sanitization (Sections 2 and 3, respectively). These definitions, and the framework they provide for comparing sanitization techniques, are a principal contribution of this work. For concreteness, we consider an abstract version of the database privacy problem, in which each entry in the database—think of an individual, or a particular transaction—is an unlabeled point in high-dimensional real space IR d . Two entries (points) that are close in IRd (say, in Euclidean distance) are considered more similar than two entries that are far. Our first step was to search the legal and philosophical literature to find a good English language definition of privacy relevant to statistical databases. The phrase “protection from being brought to the attention of others” in the writings of Gavison [19] resonated with us. As Gavison points out, not only is such protection inherent in our understanding of privacy, but when this is compromised, that is, when we have been brought to the attention of others, it invites further violation of privacy, as now our every move is examined and analyzed. This compelling concept – protection from being brought to the attention of others – articulates the common intuition that our privacy is protected to the extent that we blend in with the crowd; moreover, we can convert it into a precise mathematical statement: intuitively, we will require that, from the adversary’s point of view, every point be indistinguishable from at least t − 1 other points, where t is a threshold chosen according to social considerations. Sweeney’s seminal work on k-anonymity is similarly motivated [31]. In general, we think of t as much, much smaller than n, the number of points in the database. In analogy to semantic security [21], we will say that a sanitization technique is secure if the adversary’s probability of breaching privacy does not change significantly when it sees the sanitized database, even in the presence of auxiliary information (analogous to the history variable in the definition of semantic security). As noted below, auxiliary information is (provably) extremely difficult to cope with [14]. Histograms Preserve Privacy. A histogram for a database is a partition of IRd along with the exact counts of the number of database points present in each region. Histograms are prevalent in official statistics, and so they are a natural technique to consider for sanitization. We analyze a recursive histogram sanitization, in which the space is partitioned recursively into smaller regions (called cells) until no region contains 2t or more real database points. Exact counts of the numbers of points in each region are released. The intuition is that we reveal more detailed information in regions where points are more densely clustered. We prove a strong result on the privacy provided when the data are drawn uniformly from the d-dimensional unit cube, in the absence of auxiliary information. Generalizations are discussed in Remark 4 and Section 7. Density-based Perturbation Provides Utility. Section 5 describes a simple input perturbation technique, in which noise from a spherically symmetric distribution (such as a Gaussian) is added to database points. The magnitude of the noise added to a real database point is a function of the distance to the point’s t-th nearest neighbor. The intuition for this sanitization is two-fold. On one hand, we are “blending a point in with its crowd,” so privacy should be preserved. On the other hand, points in dense regions should be perturbed much less than points in sparse regions, and so the sanitization should allow one to recover a lot of useful information about the database, especially information about clusters and local density. We formalize the intuition about utility via two results. First, we show a worst-case result: an algorithm that approximates the optimal clustering of the sanitized database to within a constant factor gives an algorithm that approximates the optimal clustering of the real database to within a constant factor. Second, we show a distributional result: if the data come from a mixture of Gaussians, then this mixture can be learned from the perturbed data. Our algorithmic and analysis techniques necessarily vary from previous work on learning mixtures of Gaussians, as the noise that we add to each point depends on the sampled data itself. The intuition about privacy—namely, that this style of perturbation blends a point in with its crowd—is significantly harder to turn into a proof. We explain why privacy for this type of sanitization is tricky to reason about, and describe some simplistic settings in which partial results can be proven. Privacy of Perturbed Data via Cross-Training. In Section 6 we describe a variant for which we can again prove privacy when the distribution is uniform over the d-dimensional unit cube. The idea is to use cross-training to get the desirable properties of histograms and spherical perturbations. The real database points are randomly partitioned into two sets, A and B. First, a recursive histogram sanitization is computed for set B. As stated above, this information can be released safely. Second, for each point in set A we add random spherical noise whose magnitude is a function of the histogram for B (it is based on the diameter of the B-histogram cell into which the point falls). We release the histogram for set B and the perturbed points from set A. Since the only information about the first set used for the perturbation is information provably safe to reveal, the privacy of the points in the first set is not compromised. An additional argument is used to prove privacy of the points in the second set. The intuition for the utility of the spherical perturbations is the same as before: points which lie in dense regions will lie in small histogram cells, and so will be perturbed little, thus preserving clusters approximately. Open Questions. Our work suggests a rich set of fascinating questions, several of which we have begun exploring together with other researchers. We mention some of these in Section 7. 1.2 Related Work We briefly highlight some techniques from the literature. Many additional references appear in the full paper (see the title page of this paper for the URL). Suppression, Aggregation, and Perturbation of Contingency Tables. Much of the statistics literature is concerned with identifying and protecting sensitive entries in contingency tables (see, e.g., [12, 22]). For example, in the 2-dimensional case, for discrete data, these are frequency counts, or histograms, indicating how many entries in the database match each possible combination of the values of two particular attributes (e.g. number of cars and number of children). It is common to regard an entry as sensitive if it corresponds to a pair of attribute values that occurs at most a fixed number of times (typically 1 or 2) in the database. One reason for regarding low-count cells as sensitive is to prevent linkage with other databases: if a given pair of attribute values uniquely identifies an individual, then these fields can be used as a key in other databases to retrieve further information about the individual. Input Perturbation. A second broad approach in the literature is to perturb the data (say via swapping attributes or adding random noise) before releasing the entire database, or some subset thereof (such raw, unaggregated entries are typically called microdata). Various techniques have been considered in the statistics [34, 35, 28] and data mining [4, 1, 16] communities. In some cases, privacy is measured by how (un)successfully existing software re-identifies individuals in the database from the sanitized data and a small amount of auxiliary information. In other cases, the notion of privacy fails to take into account precisely this kind of auxiliary information. The work of Efvimievski et al. [16] is a significant, encouraging exception, and is discussed below. Imputation. A frequent suggestion is for the census bureau to learn D and then publish artificial data obtained by sampling from the learned distribution (see, e.g., [29]). We see two difficulties with this approach: (1) we want our sanitized database to reflect (possibly statistically insignificant) “facts on the ground”. For example, if a municipality is deciding where to run a bus line, and a certain geographic region of the city has a higher density of elderly residents, it may make sense to run the bus line through this region. Note that such “blips” in populations can occur even when the underlying distribution is uniform; (2) any model necessarily eliminates information; we feel it is not reasonable to assume that the sanitizer can predict (privacy-respecting) statistical tests that may be invented in the future. k-Anonymity, Input Aggregation, and Generalization. Similarly to input perturbation, one can also suppress or aggregate fields from individual records to reduce the amount of identifying information in the database. A database is said to be k-anonymized if every modified entry in the sanitized database is the same as at least k others [32]. The intuition is that privacy is protected in this way by guaranteeing that each released record will relate to at least k individuals. This requirement on the sanitization does not directly relate to what can and cannot be learned by the adversary. For example, the definition may permit information to be leaked by the choice of which records to aggregate (there are many aggregations that will make a database k-anonymous), or from the fact that certain combination of attribute values does not exist in the database. Information may also be gleaned based on the underlying distribution on data (for example, if the suppressed attribute is sex and the number of identical records with sex suppressed is two). Interactive Solutions. In query monitoring, queries to an online database are audited to ensure that, even in the context of previous queries, the responses do not reveal sensitive information. This is sometimes computationally intractable [25], and may even fail to protect privacy, for example, in the setting in which the adversary knows even one real database record [11]. A related approach is output perturbation, in which a query control mechanism receives queries, computes exact answers, and then outputs a perturbed answer as the response to the query [9, 5]. This approach can sometimes be insecure, intuitively, because noise added in response to multiple queries can cancel out (see [2, 11]). The limitation can be shown to be inherent: if the number of queries to the database is large (even polynomial in the number of entries (rows) in the database), the amount of noise added to answers must be large [11]. By restricting the total number of queries allowed, one can in fact circumvent this and get strong privacy guarantees while adding much less noise [11, 15]. This approach is not available in our context: in an interactive solution, the query interceptor adds fresh noise to the response to each query; in our context, a noisy version of the database is constructed and published once and for all. Although this seems to make the problem more difficult, there are obvious advantages: the sanitization can be done off-line; the real data can be deleted or locked in a vault, and so may be less vulnerable to bribery of the database administrator. A Recent Definitional Approach. The definitions of privacy in [11, 15, 16] (written concurrently with this work – see [13]) are consonant with our point of view, in that they provide a precise, meaningful, provable guarantee. All three follow the same paradigm: for every record in the database, the adversary’s confidence in the values of the given record should not significantly increase as a result of interacting with or exposure to the database. The assumption is that the adversary can name individual records in the database; this captures the setting in which the database is multi-attribute, and the adversary has somehow, out of band, figured out enough about some individual to construct a query that effectively names the individual. Even in such a setting, it should be impossible to learn the value of even a single additional binary data field or the value of any predicate of the data tuple. The work of Evfimievsky et al. [16] is in our model, ie, it describes a sanitization method (in this case, for transactions). Specifically, it is an inputperturbation technique, in which items are randomly deleted from and added to transactions. As we understand their work, both their specific technique and their definitions only consider applying the same, fixed, perturbation to each point in the database, independent of the other points in the database. Neither our definitions nor our techniques make this assumption. This both enhances utility and complicates privacy arguments. Cryptographic Approaches. Much work in cryptography has focused on topics closely related to database privacy, such as private information retrieval and secure function evaluation (see, e.g., [18] and [20]). These problems are somewhat orthogonal to the one considered here. In secure function evaluation, privacy is preserved only to the extent possible given a specific functionality goal; but which functions are “safe” in the context of statistical databases? The literature is silent on this question. 2 A Formal Definition of Privacy 2.1 What do We Mean by “Privacy”? As mentioned above, our notion of privacy breach is inspired by Gavison’s writing on protection from being brought to the attention of others. This phrase articulates the common intuition that our privacy is protected to the extent that we blend in with the crowd. To convert this intuition into a precise mathematical statement we must abstract the concept of a database, formulate an adversary (by specifying the information to which it has access and its functionality), and define what it means for the adversary to succeed. 2.2 Translation into Mathematics Under our abstraction of the database privacy problem, the real database (RDB) consists of n unlabeled points in high dimensional space IRd , each drawn independently from an underlying distribution D. Intuitively, one is one’s collection of attributes. The census bureau publishes a sanitized Database (SDB), containing some n′ points, possibly in a different space. This is a very general paradigm; it covers the case in which the SDB contains only summary information. To specify security of a cryptographic primitive we must specify the power of the adversary and what it means to break the system. Since the goal of our adversary is to “single out” a record in the database, we call the adversary an isolator. The isolator takes two inputs – the sanitized database and auxiliary information (the auxiliary information is analogous to the history variable in the definition of semantic security). The isolator outputs a single point q ∈ IR d . This completes the description of the functionality of the adversary. Note that the definition admits adversaries of unbounded computational power. Our results require no complexity-theoretic assumptions5 . We next define the conditions under which the adversary is considered to have succeeded in isolating. The definition is parameterized with two values: a 5 We do not object to using complexity-theoretic assumptions. We simply have not yet had a need to employ them. privacy threshold t, intuitively, the size of the “crowd” with which one is supposed to blend in, and an isolation parameter c, whose use will be clear in a moment. Roughly, c helps to formalize “blending in”. For a given isolating adversary I, sanitized database SDB, and auxiliary input z, let q = I(SDB, z) (I may be a randomized algorithm). Let δ be the distance from q to the nearest real database point, and let x be an RDB point at distance δ from q. Let B(p, r) denote a ball of radius r around point p. If the d-dimensional ball of radius cδ and centered at q contains at least t real database points, that is, if |RDB ∩ B(q, cδ)| ≥ t, then the adversary fails to isolate x. Otherwise, the adversary succeeds. We will give a slightly more general definition shortly. First we give some intuition for the definition. The adversary’s goal is to single out someone (i.e., some RDB point) from the crowd, formalized by producing a point that is much closer to some x ∈ RDB than to t − 1 other points in the RDB. The most likely victim x is the RDB point closest to q. So q “looks something like” x. On the other hand, if B(q, cδ) contains at least t RDB points, then q also looks almost as similar to lots of (i.e., t − 1) other RDB points, so x hasn’t really been singled out. Note that the definition of isolation is a relative one; the distance requirement for success varies according to the local density of real database points. This makes sense: if we name an intersection in New York City, there are perhaps a few hundred people living at or very near the intersection, so our point is “close to” many points (people) in the RDB. In contrast, if we name an intersection in Palo Alto, there are perhaps 10 people living near the intersection6 . More generally, we have the following definition: Definition 1. ((c, t)-isolation) Let y be any RDB point, and let δy = kq − yk. We say that q (c, t)-isolates y if B(q, cδy ) contains fewer than t points in the RDB, that is, |B(q, cδy ) ∩ RDB| < t. We frequently omit explicit mention of t, and speak of c-isolation. It is an easy consequence of the definitions that if q = I(SDB, z) fails to c-isolate the nearest RDB point to q, then it fails to c-isolate even one RDB point. For any point p (not necessarily in the RDB), we let τp be the minimum radius so that B(p, τp ) contains t RDB points. We call this the t-radius of p. 3 Definition of Sanitization Suppose one of us publishes all our information on the web — that is, we publish our RDB point x where the adversary can find it — so that the point is part of the adversary’s auxiliary information. Clearly, the adversary can isolate x by setting q = x (in which case δx = 0 and B(q, cδx ) contains only x — we assume no two points are identical). It seems unfair to blame the sanitizing procedure for this isolation; indeed, there is an adversary simulator that, without access to the 6 This analogy was suggested by Helen Nissenbaum. sanitized database, can also isolate x, since x is part of the auxiliary information. We are therefore concerned with how much seeing the sanitized database helps the adversary to succeed at isolating even one RDB point. Intuitively, we do not want that seeing the SDB should help “too much”. Our notion of “too much” is fairly relaxed. Letting ε denote the probability that isolation may occur, we tend to think in terms of, say, ε = 1/1000. This says that about one out of every 1,000 sanitized databases created may be vulnerable to an isolation event 7 . The parameter ε can be a function of d and n. Note, however, that ε cannot depend only on n – otherwise privacy could be improved simply by the introduction of additional points. More formally, a database sanitizer, or simply sanitizer for short, is a randomized algorithm that takes as input a real database of some number n of points in IRd , and outputs a sanitized database of some number n′ of points, in ′ a possibly different space IRd . A sanitizer is perfect if for every distribution D over IRn×d from which the real database, for all isolating adversaries I, and points are drawn, there exists an adversary simulator I ′ such that with high probability over choice of RDB, for all auxiliary information strings z, the probability that I(SDB, z) succeeds minus the probability that I ′ (z) succeeds is small. The probabilities are over the coin tosses of the sanitization and isolation algorithms. We allow the sanitizer to depend on the parameters c, t, and also allow I, I ′ to have access to D. More precisely, let ε be a parameter (for example, ε = 2−d/2 ). We require that for all I there exists an I ′ such that, if we first pick a real database RDB ∈R D, then with overwhelming probability over RDB, for all z, ∀S ⊆ RDB |P r[∃x ∈ S : I(SDB, z) isolates x]−P r[∃x ∈ S : I ′ (z) isolates x]| < ε where the probabilities are over the choices made by I, I ′ , and the sanitization algorithm. Remark 1. The use of the sets S in the definition is for the following reason. Suppose the adversary knows, as part of its auxiliary information, some point y ∈ RDB. For every x 6= y ∈ RDB, we want x’s chances of being isolated to remain more or less unchanged when the adversary is given access to the sanitized database. Thus, if we were to write the more natural | Pr[∃x I(SDB, z) isolates x] − Pr[∃x I ′ (z) isolates x]| < ε, then we might have z = y ∈ RDB, I ′ (z) = y, and I(SDB, z) could (somehow) isolate a different point x 6= y ∈ RDB with probability one. This is clearly unsatisfactory. This is excessively ambitious, and in fact a nontrivial perfect sanitizer does not exist [14]. However, by specifying the ideal we can begin to articulate the value of specific sanitization techniques. For a given technique, we can ask what can be proved about the types of distributions and auxiliary information for which it can ensure privacy, and we can compare different techniques according to these properties. 7 The adversary has no oracle to tell it when it has succeeded in isolating an RDB point. 4 Histograms Consider some partition of our space IRd into disjoint cells. The histogram for a dataset RDB is a list describing how many points from the dataset fall into each cell. A sanitization procedure is histogram-based if it first computes the histogram for the dataset and bases the output only on that information. For example, in one dimension the cells would typically be sub-intervals of the line, and the histogram would describe how many numbers from the dataset fall into each of the intervals. In higher dimensions, the possibilities are more varied. The simplest partition divides space into cubes of some fixed side-length (say at most 1). That is, each cell is a cube [a1 , a1 + 1] × · · · × [ad , ad + 1] for integers a1 , ..., ad . Our principal result for histograms is that, if the original data set RDB consists of n points drawn independently and uniformly from some large cube [−1, 1]d , then the following sanitization procedure preserves privacy: Recursive Histogram Sanitization: Divide the cube into 2d equalsized subcubes in the natural way, i.e., by bisecting each side at the midpoint. Then, as long as there exists a subcube with at least 2t points from RDB, further subdivide it into 2d equal-sized cubes. Continue until all subcubes have fewer than 2t points, and release the exact number of points in each subcube. Theorem 1. Suppose that RDB consists of n points drawn i.i.d. and uniformly from the cube [−1, 1]d . There exists a constant csecure (given in Lemma 2) such that the probability that an adversary, given a recursive histogram sanitization as described above, can csecure -isolate an RDB point is at most 2−Ω(d) . The proof is quite robust (in particular, the error bound does not depend on n). Using the techniques developed in this section, several variants on the partitioning described above can be shown to preserve privacy, even under less rigid assumptions about the underlying distribution. Thus, our goals are to prove privacy of histogram sanitizations, to illustrate techniques that are useful for proving privacy, and to establish a result which we will need when we deal with cross-training-based sanitizers later on. The technical heart of the proof of Theorem 1 is following proposition: Proposition 2 Suppose that the adversary knows only that the dataset consists of n points drawn i.i.d. from the cube [−1, 1]d , and that we release the exact histogram (cell counts) for the natural partition of this cube into 2d subcubes of side-length 1. Then the probability that the adversary succeeds at c-isolating a point for c > 121 is at most 2−Ω(d) , as long as t = 2o(d) . The constant 121 in the proposition can in fact be improved significantly, to approximately 30, with minor changes to the proofs in this section. This result is strong—it essentially states that for any point q which the adversary might produce after seeing the histogram, the distance to q’s nearest neighbor is at most a constant less than the distance between q and its 2o(d) th nearest neighbor. When n = 2o(d) , the result √ is perhaps less surprising: the d) with high probability, and distance between q and its nearest neighbor is Ω( √ 2 d is an upper bound on the distance from q to its farthest neighbor (assuming q is in the large cube [−1, 1]d ). For very large values of n (say 2Ω(d) ), the proof becomes much more involved. Remark 2. We would like to understand the probability that the adversary isolates a point after seeing the sanitization, given reasonable assumptions about the adversary’s a priori view of the database. Currently we assume that the underlying distribution is uniform on a d-dimensional hypercube. The following example shows that such a “smoothness” condition is necessary to obtain a bound on the adversary’s probability of success, when a histogram of the data is released. Consider the following distribution. In each of the 2d subcubes of the hypercube, there is an infinite sequence of points p1 , p2 , . . .. The probability density at point pi is 21d 21i . That is, each subcube has equal mass, and within a subcube, mass is distributed over the infinite sequence of points in an exponentially decreasing manner. Now, if the adversary knows the number of points in a subcube, say m, then, she produces the point q = plog m in that subcube. With a constant probability, there are at least one, but no more than t, points at q, and the adversary succeeds. On the other hand, without knowledge of the number of points in each subcube (as given by the histogram), the adversary simulator I ′ has an exponentially low probability of succeeding. The next subsections sketch the proof of Proposition 2. The full version of the paper contains the details of the proof, as well as extensions to cover finer subdivisions of the cube and the recursive sanitization described above. 4.1 Simplifying the Adversary We distinguish two related definitions of isolation. The adversary is always given the sanitized database SDB as input (the adversary may also receive side information about the real database—typically, in our setting, the distribution from which the points in the real database are drawn). – A ball adversary produces a pair (q, r) where q ∈ IRn is a point in space and r ∈ IR+ is a non-negative real number. The adversary succeeds if B(q, r), the ball of radius r centered at q, contains at least one point in RDB, but B(q, cr) contains fewer than t points in RDB (equivalently, r < τq /c). – A point adversary produces only a point q ∈ IRn . The adversary succeeds at c-isolation if there is a point in D within distance τq /c of q, i.e. if there exists some r for which the corresponding ball adversary would have won. We first prove Proposition 2 for ball adversaries since their behavior is easier to understand. At the end of the proof, we show that point adversaries do essentially no better than ball adversaries in this context, and so the restriction to ball adversaries is made without loss of generality. 4.2 Proof Sketch for Proposition 2 We sketch here the proof of Proposition 2. Recall that the points in the real database RDB are drawn uniformly from the large cube [−1, 1]d , and the sanitization consists of the number of points from RDB contained in each of the cubes obtained by dividing [−1, 1]d once along each dimension. That is, a cell C is a d-dimensional hypercube of side-length and volume 1, which has one vertex d at (0, 0, ..., 0) and the opposite vertex in the set {−1, +1} . The total number of points in the database is n, and we denote the number of points appearing in a cell C by nC . The sanitization is simply the list of all 2d values nC . Define a function f : IRn → IR+ which captures the adversary’s view of the data. 1 nC · for x ∈ C. (1) f (x) = n Vol(C) The function f is a probability density function. The adversary does not see the data as being drawn i.i.d. according to f , but the function is useful nonetheless for bounding the adversary’s probability of success. Lemma 1. If a ball adversary succeeds at c-isolation with probability ε, then there exists a pair (q, r) such that Prf [B(q, r)] ≥ ε/n and Prf [B(q, cr)] ≤ (2t + 8 log(1/ε))/n. 8 The intuition for the proof of Lemma 1 is simple: it is sufficient to show that if one considers only the number of points landing in a particular region, there is almost no difference between the adversary’s view of RDB and a set of n points sampled i.i.d. from f . Roughly, Lemma 1 means that for a ball adversary to succeed, a necessary (but not sufficient) condition is that: ε/n Prf [B(q, r)] ≥ = ε/(2t + 8 log(1/ε)). Prf [B(q, cr)] (2t + 8 log(1/ε))/n (2) This means that it is sufficient to bound the ratio on the left-hand side above by some negligible quantity to prove privacy against ball adversaries (in fact, the upper bound need only hold as long as Prf [B(q, r)] is itself not too large). The better the bound on the ratio in Eqn. (2), the better the result on privacy. To get the parameters described in the statement of Proposition 2, it will be sufficient to prove a bound of 2−Ω(d) for the ratio: we can then think of ε as 2−γd , for a constant γ < 1, and think of t as being 2−o(d) . The upper bound, and the proof of Proposition 2, rely on the following lemma: Lemma 2. There is a constant 1/60 < β < 1 such that, for any point q, radius r > 0 and cell C for which B(q, r) ∩ C 6= 0, we have: 8 We are assuming that n is at least 2t + 8 log(1/ε). The assumption is not necessary, but simplifies the proofs. In fact, when n is small one can use completely different proofs from the ones described here which are much simpler. √ 1. If r ≤ β d, then Vol(B(q, r) ∩ C) ≤ 2−Ω(d) . Vol(B(q, 3r) ∩ C) (3) C ′ ⊆ B(q, csecure r) (4) √ 2. If r > β d, then for all cells C ′ neighboring C: where csecure ≤ (2/β)+1. A neighboring cell is a cube of the same side-length which shares at least one vertex with C. Remark 3. The value of the constant β can be made much larger, at least 1/15. Obtaining this bound requires more careful versions of the proofs below. A detailed proof is in the full version. Roughly, to prove Part 1, we need to estimate the probability that a point chosen from a ball lies is a cube. To this end, we approximate sampling from a ball by sampling from an appropriately chosen spherical Gaussian. This allows us to analyze behavior one √ coordinate at a time. Our (rather involved) analysis only holds for radii r ≤ β d. It is possible that a different analysis would yield a better bound on β and hence on β. Part 2 is√much simpler; it follows from the fact that the diameter of the cube [−1, 1]d is 2 d. We can now prove Proposition 2, which states that releasing the histogram preserves privacy, with the adversary’s success probability bounded by 2−Ω(d) . We first give a proof for ball adversaries, and then observe that (almost) the same proof works for point adversaries too. Proof (of Proposition 2). Ball adversaries: Assume there is a ball adversary who chooses the best possible pair√(q, r) based on SDB. First, suppose that r ≤ β d (the constant is from Lemma 2). In that case, we will actually show that 3-isolation (not 121-isolation!) is possible only with very small probability. Our proof relies on Part 1 of the lemma. We can write the mass of B(q, r) under f as a weighted sum of the volume of its intersections with all the possible cubes of C: X nC · Vol(B(q, r) ∩ C) Pr[B(q, r)] = f n C We can bound each of these intersections as an exponentially small fraction of the mass of B(q, 3r): Pr[B(q, r)] ≤ f X nC C n · 2−Ω(d) · Vol(B(q, 3r) ∩ C) = 2−Ω(d) · Pr[B(q, 3r)] f Now the mass of B(q, 3r) is at most 1, which means that the ratio in Eqn. (2) is at most 2−Ω(d) , and so ε/(2t + 8 log(1/ε)) ≤ 2−Ω(d) . This is satisfied by ε = 2−Ω(d) (for essentially the same constant in the Ω-notation), and so in this case, 3-isolating the point q is possible only with probability 2−Ω(d) . √ Now consider the case where r > β d. If B(q, r) doesn’t intersect any cells C, then we are done since the ball captures a point with probability 0. If there is a cell C which intersects B(q, r), then, by Part 2 of Lemma 2, B(q, csecure r) (for csecure ≤ (2/β) + 1) contains all the cells C ′ which are neighbors to C, in particular all of [−1, 1]d . (Recall that our points are initially uniform in [−1, 1]d , and we consider a subdivision which splits the cube into 2d axis-parallel subcubes of equal size). The adversary succeeds with probability zero at csecure -isolation, since all n points will be within distance csecure r. Point adversaries: Suppose the adversary outputs a particular point q, and let r be the smallest radius such that Prf [B(q, r)] = ε. By the previous discussion, B(q, csecure r) contains mass at least (2t + 8 log(1/ε))/n. Thus, with probability at least 1 − 2ε, there is no point inside B(q, r) and there are t points inside B(q, csecure r) (by the proof of Lemma 1). The ratio between the distances to the tth nearest point and to the nearest point to q is then at most csecure r/r = csecure . The point adversary succeeds at csecure -isolating a point with probability at most 2ε. Because β > 1/60, the constant csecure is at most 121, and so the adversary fails to 121-isolate any point in the database. ⊔ ⊓ Remark 4. The proof technique of this section is very powerful and extends in a number of natural ways. For example, it holds even if the adversary knows an arbitrary number of the points in the real database, or (with a worse isolation constant), if the adversary knows a constant fraction of the attributes of a database point. The analysis holds if the underlying distribution is a mixture of (sufficiently separated) hypercubes. Recent work also indicates that histogram sanitization, at least to a limited depth of recursion, can be constructed for “round” distributions such as the sphere or the ball [6]. Together, these techniques yield privacy for sufficiently separated mixtures of round and square distributions. 5 “Round” Perturbation Sanitizations Perturbation via additive noise is a common technique in the disclosure control literature. In this section, we present a variant on this technique in which the magnitude of the noise added to a point depends on the local density of the database near the point. We consider three perturbation sanitizers that are very similar when the dimension d is large. In these sanitizers, d′ = d and n′ = n (that is, the sanitized database consists of points in the same space as the real database, and the numbers of points in the real and sanitized databases are identical). As before, let B(p, r) denote the ball of radius r around p, let S(p, r) denote the corresponding sphere, or the surface of B(p, r). Let N (µ, σ 2 ) denote a d-dimensional Gaussian with mean µ and variance σ 2 in every dimension. For x ∈ IRd , the t-radius τx is the minimum radius such that B(x, τx ) contains t RDB points (x need not be an RDB point.) 1. The Ball Sanitizer: For x ∈ RDB, BSan(x, RDB) ∈R B(x, τx ). 2. The Sphere Sanitizer: For x ∈ RDB, SSan(x, RDB) ∈R S(x, τx ). 3. The Gaussian Sanitizer: For x ∈ RDB, GSan(x, RDB) ∈R N (x, τx2 /d). We will refer to these as round, or spherical sanitizers, because of the shape of the noise distribution. The intuition for these sanitizations is three-fold: we are blending a point in with a crowd of size t, so privacy should be preserved; points in dense regions should be perturbed much less than points in sparse regions, and so the sanitization should allow one to recover a lot of useful information about the database, especially information about clusters and local density; we are added noise with mean zero, so data means should be preserved. Round sanitizations have been studied before, typically with independent, identically distributed noise added to each point in the database. This approach implicitly assumes that the density of the data is more or less uniform in space for the entire data set. Even with data drawn i.i.d. from a uniform distribution on a fixed region, this need not be the case. Indeed, Roque [28] showed that (in low dimensions) re-identification software defeats this i.i.d. spherical noise, though the standard packages fail if the noise is not spherical (say, drawn from from a mixture of Gaussians). Kargupta et al. [24] argue that independent additive perturbation may have limited application to preserving privacy insofar as certain informative features of the data set (e.g.: the principal components) are largely unaffected by such perturbations. Their argument assumes (critically) that the sanitizer applies a fixed distribution to each element, and ultimately describes how to reconstruct the covariance matrix of the attributes. In this work, we apply data-driven distributions to the elements, and prove privacy guarantees for the individuals. Moreover, we conjecture it is possible to exploit what Kargupta et al. perceive as a weakness (reconstructing the covariance matrix, which we can do), while provably maintaining privacy (which we conjecture)9 . Finally, the data-dependent noise distribution provides more potential functionality than a fixed noise distribution [4, 1, 16], at the cost of a more difficult analysis. 5.1 Results for Round Sanitizers We have obtained several results on the privacy and utility of round sanitizations. Our most powerful result is concerned with learning a mixture of Gaussians from the sanitized data. This result is of independent interest, and is described in the Section 5.2. We first summarize our results. Utility. The task of extracting information from a database whose points have been spherically perturbed is essentially one of learning from noisy data. Standard techniques do not apply here, since the noise distribution actually depends on the data. Nonetheless, we prove two results using the intuition that round perturbations preserve expectations (on average) and that our particular strategy is suited to clustering. 9 Specifically, given recent results in constructing histograms for round distributions [6], we conjecture it will be possible to obtain cross-training results for mixtures of Gaussians, analogous to our cross-training results for the hypercube described in Section 6 below. 1. When the data are drawn uniformly from a mixture of Gaussians D, there is an efficient algorithm that learns D from the Gaussian sanitization. Learning mixtures of Gaussians has already been heavily investigated [3, 8, 33], however existing analyses do not apply in our setting. The algorithm and its analysis are sketched in Section 5.2. 2. For any distribution, suppose we are given an algorithm to find k clusters, each of cardinality at least t, minimizing the maximum diameter of a cluster, and assume the data are sanitized with either BSan or SSan. Then running the algorithm on the sanitized data does a good job of clustering the original data. More precisely, any algorithm that approximates the optimal clustering of the sanitized database to within a constant factor gives an algorithm that approximates the optimal clustering of the real database to within a constant factor, and the maximum diameter of a cluster exceeds the maximum diameter of an optimal k-clustering on the RDB by at most a factor of 3. Privacy. The intuition for privacy is significantly harder to turn into a complete proof than is the one for utility. We analyze two special cases, and give a lower bound showing that high-dimensionality is necessary for the privacy of this type of sanitization. The proofs of the results below appear in the full version of the paper. 1. The database consists of only two points, x and y, which are sanitized with respect to each other, and the underlying distribution is the unit sphere in d dimensions. That is, t = 2 and each of x and y is perturbed using SSan with perturbation radius kx − yk. The adversary is given kx − yk, and the sanitizations x′ and y ′ . We show that the probability of 4-isolation is exponentially small in d, with overwhelming probability over the choice of x and y. The proof is by symmetry: we construct many pairwise-distant “decoy” pairs x′ , y ′ which are equiprobable in the adversary’s view. 2. The real database consists of n sanitized points, drawn from the d-dimensional unit sphere. The adversary is given all but one point in the clear, together with a sanitization of the final point using SSan. The adversary’s goal is to 4-isolate the last point. Intuitively, privacy holds because the hidden point can lie in any direction from its sanitization, while any point q produced by the adversary can only isolate points lying in an exponentially small fraction of these directions. The result is proved for t = 2. 3. Sanitization cannot be made arbitrarily safe: for any distribution, if sanitization is done using BSan, then there is a polynomial time adversary I requiring no auxiliary information, such that the probability that the adversary succeeds is Ω(exp(−d)/ log(n/t)). Remark 5. The second result above highlights the delicacy of proving privacy for this type of sanitization. Contrary to intuition, it is not the case that seeing the sanitizations of the remaining n − 1 points, rather than their exact values, gives less information. The reason is that the sanitization of y, implicitly contains information about the t-neighborhood of y. This sort of dependency is notoriously hard to deal with in cryptography, e.g. in the selective decommitment problem. We have not yet proved or disproved the viability of the above-mentioned sanitizations; instead we circumvent the difficulty via cross-training. 5.2 Learning Mixtures of Gaussians In this section we look at an algorithm for mining sanitized data. We address the well-studied problem of learning a mixture of Gaussians, with the twist that the samples have been sanitized using one of the round sanitizers discussed above. The distribution that results from the sanitization is no longer a mixture of Gaussians (samples are not even independent!) and traditional algorithms for learning mixtures of Gaussians do not apply. Nonetheless, we will see that the core properties that make Gaussian mixtures learnable remain intact, and prove that the mixtures can be read from an optimal low rank approximation. We assume there are k mean vectors µi , each with an associated mixing weight wi . Let wmin denote the minimum of the mixing weights. Each point in the data set is independently produced by selecting a µi with probability proportional to the wi , and applying independent, normally distributed noise to each coordinate. We assume that the Gaussians are spherical, in that every Gaussian has an associated variance that is used for each of the coordinates. Let σ12 denote the maximum such variance. We assume that the sanitization process amounts to applying an additive perturbation established by choosing a point uniformly at random from the √ unit sphere, which is then scaled in length by a random variable at most 2σ2 d, where σ2 may depend on the sampled data and t. Notice that this is sufficiently general to capture all the perturbation based sanitizations described above – SSan, BSan, and GSan – the latter two using a random variable for the scaling factor. For the purposes of analysis, we assume that we have access to two data sets A and B that have been independently sanitized. Each is assumed to result from the same underlying set of means, and to be independent of the other. bu the unsanitized We use Au to denote the sanitized vector associated with u, A vector associated with u, and Au the original mean vector associated with u. b and A by collecting these columns for each point We form the matrices A, A, in the data set. Let wu denote the mixing weight associated with the Gaussian b and B and their associated columns are with mean Au . The matrices B, B, analogous, though they represent an independently sanitized disjoint data set. While this setting is not difficult for the sanitization process to accommodate, the motivation is simply for the clarity of analysis and it is unclear whether disjoint data sets are necessary in practice. The main linear algebraic tool that we use is a matrix’s optimal rank k projection. For every matrix M , this is a projection matrix PM , such that for all rank k matrices D, we have kM − PM M k2 ≤ kM − Dk2 . Computing the optimal projection is not difficult; in most cases it is an O(dn log(dn)) operation. We also make use of the single linkage clustering algorithm [30]. For our purposes, given a collection of points, single linkage repeatedly inserts an edge between the closest pair of non-adjacent points until the resulting graph has k connected components. Our actual algorithm can be stated succinctly: Cluster(A, B, k) 1. Compute PA and PB , and form C = [PB A|PA B]. 2. Apply single linkage to C, forming k clusters. Cluster takes a pair of data sets, and uses the structure define by each data set to filter the noise from the points in the other. If the mean vectors µi have sufficient separation, all inter-cluster distances in C will exceed all intra-cluster distances in C, and single linkage will associate exactly those points drawn from the same mean. Theorem 3. Assume that d < n/2. If for each pair of means µi , µj , p 1/2 kµi − µj k ≥ 4(σ1 + σ2 )(16/wmin + k log(kn/δ)) 6 then with probability 1 − 2(e−nwmin /8 + 2− log n/2 + δ), Cluster partitions the columns of A and B according to the underlying Gaussian mixture. Proof. The proof is conducted by bounding kµu − Cu k for each u. Assume, without loss of generality, that µu = Au and Cu = PB Au . Notice that kµu − Cu k = kAu − PB Au k ≤ kAu − PB Au k + kPB Au − PB Au k In Lemmas 3 and 4 below, we bound these two terms, so that their sum is at most 1/4 the assumed separation of the mean vectors. With such separation, all inter-cluster distances are at least 1/2 the mean separation, and all intra-cluster distances are at most 1/2 the mean separation. Although the above result requires a uniform bound on the pairwise separation between the means of the clusters, by using a more sophisticated clustering algorithm than Single-Linkage on the low-dimensional projection of the data, we can improve the results such that the requisite separation between a pair of means depends only on the variances of the corresponding Gaussians. Lemma 3 (Systematic Error). Assume d < n/2. With probability at least 6 1 − (e−nwmin /8 + 2− log n/2 ), for all u k(I − PB )Au k ≤ 16(σ1 + σ2 )/wu1/2 Proof. (Sketch) In previous work using cross training techniques, [26] shows that k(I − PB )Au k ≤ 4kB − Bk2 /nwu To continue, [26] uses a result of Furedi and Komlos [17], which places a high probability bound on the norm of zero mean random matrices with independent entries of bounded variance. While B − B does not have independent entries – b the sanitization process depends on the result of the random events producing B b and B b −B do. As such, we get that with probability – each of the matrices B − B 6 at least 1 − 2− log n/2 √ b 2 + kB b − Bk2 ≤ 4(σ1 + σ2 ) n kB − Bk2 ≤ kB − Bk Lemma 4 (Random Error). For each u, √ 2 P r[kPB (Au − Au )k > c(σ1 + σ2 ) k] ≤ 2ke−c 6 Combining Histograms and Perturbations: Cross-Training We are drawn to spherical sanitizations because of their apparent utility (see the discussion in Section 5.1). However, as noted in Remark 5, we have some concerns regarding the privacy offered: it is not the privacy of the perturbed points that concerns us, but the privacy of the points in the t-neighborhood of the perturbed points (since the sanitization radius itself leaks information about these points). In this section, we combine a histogram-based sanitization with a spherical sanitization to obtain a provably private spherical sanitization for n = 2o(d) points, (again in the absence of auxiliary information). We randomly divide the dataset into two sets — A and B 10 . We construct a recursive histogram on B (as in Section 4). We then sanitize points in A using only their position in the histogram on B. We release the sanitizations of points in A, along with the exact count, for every cell in the histogram, of points in A and B lying in that cell. We also assume that the adversary knows for every sanitized point v ′ ∈ SDB, the cell in the histogram that its pre-image v ∈ A lies in (this only helps the adversary). For a point v ∈ A, let C be the cell containing v in the recursive histogram constructed for B. Let P (C) be the parent cell of C. P (C) has twice the sidelength of C, and contains at least t points. Consider the following sanitization procedure: Cross-Training Round Sanitization: Let ρv be the side-length of the cube C. Select a point Nv at random from a spherical Gaussian which has variance ρ2v in each coordinate. Output v ′ = v + Nv . As shown above, this procedure protects the privacy of points in B since the information released about these points depends only on the recursive histogram of the set B. In this section we prove that it also protects the privacy of points in A, under the assumption that from the adversary’s point of view, the a priori distribution of points in the database is uniform when restricted to the cell C. Consider a particular point v ∈ A. Suppose the side-length of the cell C containing v is ρv . Lemma 5 below shows that with probability 1 − 2−Ω(d) over 10 In fact, our proof only requires that A contain at most 2o(d) points. the choice of RDB and the coins of the sanitization algorithm, the following occurs: for any point q√which the adversary might produce,√the distance between q and v will be Ω(ρv d). Since the t-radius of v is O(ρv d), this implies that adversary c-isolates v with probability at most 2−Ω(d) (for some constant c). The result is quite useful. If A contains 2o(d) points, then a union bound shows that with probability at least 1 − 2−(Ω(d)−o(d)) , the sanitization is “good”: that is, the adversary can succeed at isolating some point with probability at most 2−Ω(d) . Below, we state the main lemma of this section; the proof, omitted for lack of space, is in the full version. Lemma 5. Suppose that v is uniformly distributed in the cube C, and q is the output of the adversary on input v ′ = v + Nv . There is a constant α < 9 such that with probability 1 − 2−Ω(d) , the ball B(q, (α + 1)kv − qk) contains the entire parent cell P (C). The probability is over choice of the real database RDB and the coins of the sanitization algorithm. 7 Future Work Isolation in few dimensions. Many have raised the case in which the adversary, studying the sanitized data, chooses a small set of attributes and outputs values that uniquely identify a point in the RDB (no other point in the RDB agrees well with the given point on this particular set of attributes). This may not be a privacy breach as we have defined it, since the adversary may have very bad luck at guessing the remaining attribute values, and therefore the point q that the adversary produces may not be particularly close to any point in the RDB. However, as M. Sudan has pointed out, the adversary may know the difference between the attributes on which it is guessing and the ones it has learned from the sanitized data. We are uncertain exactly what it means for the adversary to “know” this difference. Our notion of privacy breach essentially says we don’t care about such things: after all, releasing a histogram cell count of 1 says there is a unique individual in a certain subcube, but we prove that the advesary cannot isolate this individual. However, the question is provocative. The attack corresponds imprecisely to identification of a short key for a population unique (see the discussion in Section 1.2). Alternatively, the adversary may know a key to a population unique and the worry is that the sanitization may permit the learning of additional attribute values. On the one hand, we note that our definition of a perfect sanitization precludes either of these possibilities: roughly speaking, if it were possible to learn the key to a population unique then there is a choice for the auxiliary information that would permit the remaining attribute values to be learned, which would constitute an isolation. On the other hand, we have already noted that perfect sanitizers cannot exist [14], and our privacy results have been proved, for the most part, without permitting the adversary auxiliary information. With this in mind, one may extend the definition of isolation to allow the adversary to approximate a real point in only a few attributes. Note however, that as the number of attributes estimated by the adversary decreases, the notion of isolation must become more and more stringent. This corresponds to an increase in the parameter c in our definition of c-isolation. This suggests the following extended definition. The adversary, upon receiving the SDB, outputs a k-dimensional axis-parallel hyperplane H (k ≤ d), and a point q in this hyperplane. Let ΠH (y) denote the projection of an RDB point y onto the hyperplane H. Let y be the RDB point which is closest to q under the projection ΠH . For a given function φ(k), we say that q (φ, c, t)-isolates y in H iff ΠH (y) is (φ(k)c, t)-isolated by q in the projected space H. Recursive histogram sanitizations are safe with respect to (φ, O(1), 2o(d) )-isolation for φ(k) = 2d/k . We believe that understanding these issues is the most important conceptual challenge arising from this work. Histogram Sanitizations of Round Distributions and of Mixtures. An immediate focus of future work will be to investigate histogram sanitizations in the context of the “round” (spherical, ball, and Gaussian) distributions. (Chawla et al. [6] prove privacy of a first-level histogram for balls and spheres, in which the distribution is partitioned into exp(d) regions, but as of this writing the results only extend to a constant number of recursive steps). Together with a crosstraining result for round distributions, such a result would nicely complement our learning algorithm for mixtures of Gaussians. The results extend immediately to the case in which the underlying distribution is a mixture of sufficiently separated “nice” distributions such as hypercubes, balls, and spheres. Utility. Another pressing direction is to further explore utility, in particular, a method for assessing the validity of results obtained by applying a given statistical test to sanitized data. The statistics literature on imputed data (e.g., [27] should be helpful in this endeavor. Changes over Time. An important aspect of any sanitization technique is to consider its application in an online setting, where the database changes over time. We feel that sanitizations of points should not be recomputed independently as the database changes, because an adversary collecting information over time may be able to gather enough to filter out the noise. However, in situations such as when one of the t-nearest neighbors of a point dies, one may be forced to recompute the sanitization. We believe that in such a case the new sanitization should be conditioned on the previous one appropriately, so as to prevent leakage of extra information. A related open area is to extend the definitions and techniques to multiple databases. Real-Life Data. Then, there are the more obvious questions: how to cope with discrete data, or even non-numerical data. In general, to draw a connection to real life data, we will need to scale different attributes appropriately, so that the data are well-rounded. This requires some formal treatment. Impossibility Results. M. Naor has suggested studying impossibility results, for example, searching for utilities that cannot be obtained while maintaining privacy. Initial investigations, already mentioned in the paper, have been fruitful. This is a subject of work in progress [14]. Acknowledgements. We have benefited enormously from numerous conversations with many people, and are particularly grateful to Dimitris Achlioptas, Gagan Aggarwal, Jin-Yi Cai, Petros Drineas, John Dunagan, Amos Fiat, Michael Freedman, Russel Impagliazzo, Michael Isard, Anna Karlin, Moni Naor, Helen Nissenbaum, Kobbi Nissim, Anna Redz, Werner Steutzle, Madhu Sudan, and Luca Trevisan. Not knowing of his terminal illness, but feeling his interest in research diminish, Larry Stockmeyer withdrew from this paper in April, 2004. We will always think of him as our co-author, and we dedicate this work to his memory. References 1. D. Agrawal and C. Aggarwal, On the Design and Quantification of Privacy Preserving Data Mining Algorithms, Proceedings of the 20th Symposium on Principles of Database Systems, 2001. 2. N. R. Adam and J. C. Wortmann, Security-Control Methods for Statistical Databases: A Comparative Study, ACM Computing Surveys 21(4): 515-556 (1989). 3. S. Arora and R. Kannan. Learning mixtures of arbitrary Gaussians. ACM STOC, 2001. 4. R. Agrawal and R. Srikant, Privacy-preserving data mining, Proc. of the ACM SIGMOD Conference on Management of Data, pp. 439–450, 2000. 5. Beck, L., A security machanism for statistical database, ACM Transactions on Database Systems (TODS), 5(3), p.316-3338, 1980. 6. Chawla S., Dwork, C., McSherry, F., Talwar, K., On the Utility of PrivacyPreserving Histograms, in preparation, November, 2004. 7. Cox, L. H., New Results in Disclosure Avoidance for Tabulations, International Statistical Institute Proceedings of the 46th Session, Tokyo, 1987, pp. 83-84. 8. S. Dasgupta, Learning mixtures of Gaussians, IEEE FOCS, 1999. 9. Denning, D., Secure statistical databases with random sample queries, ACM Transactions on Database Systems (TODS), 5(3), p.291-315, 1980. 10. P. Diaconis and B. Sturmfels, Algebraic Algorithms for Sampling from Conditional Distributions, Annals of Statistics 26(1), pp. 363–397, 1998 11. I. Dinur and K. Nissim, Revealing information while preserving privacy, Proceedings of the Symposium on Principles of Database Systems, pp. 202-210, 2003. 12. A. Dobra and S.E. Fienberg, and M. Trottini, Assessing the risk of disclosure of confidential categorical data, Bayesian Statistics 7, pp. 125–14, Oxford University Press, 2000. 13. C. Dwork, A Cryptography-Flavored Approach to Privacy in Public Databases, lecture at Aladdin Workshop on Privacy in DATA, March, 2003; http://www.aladdin.cs.cmu.edu/workshops/privacy/slides/pdf/dwork.pdf) 14. C. Dwork, M. Naor, et al., Impossibility Results for Privacy-Preserving Data Sanitization, in preparation, 2004. 15. C. Dwork and K. Nissim, Privacy-Preserving Datamining on Vertically Partitioned Databases, Proc. CRYPTO 2004. 16. A. V. Evfimievski, J. Gehrke and R. Srikant, Limiting privacy breaches in privacy preserving data mining, Proceedings of the Symposium on Principles of Database Systems, pp. 211-222, 2003. 17. Füredi, Zoltán and Komlós, János, The eigenvalues of random symmetric matrices, Combinatorica, 1:3, 1981, pages 233–241. 18. W. Gasarch, A Survey on Private Information Retrieval. BEATCS Computational Complexity Column, 82, pp. 72-107, Feb 2004. 19. R. Gavison, Privacy and the Limits of the Law, in Deborah G. Johnson and Helen Nissenbaum, editors, Computers, Ethics, and Social Values, pp. 332–351. Prentice Hall, 1995. 20. O. Goldreich, The Foundations of Cryptography - Volume 2. Cambridge University Press, 2004. 21. S. Goldwasser and S. Micali, Probabilistic Encryption, JCSS 28(2), pp. 270–299, 1984. 22. D. Gusfield, A Graph Theoretic Approach to Statistical Data Security, SIAM Journal on Computing 17(3), pp. 552–571, 1988 23. P. Indyk and R. Motwani. Approximate Nearest Neighbor: Towards Removing the Curse of Dimensionality. Proceedings of the 30th Annual ACM Symposium on Theory of Computing, 1998. 24. H. Kargupta, S. Datta, Q. Wang, K. Sivakumar. On the Privacy Preserving Properties of Random Data Perturbation Techniques. Proceedings of the Third ICDM IEEE International Conference on Data Mining, 2003. 25. J. M. Kleinberg, C. H. Papadimitriou, and P. Raghavan, Auditing Boolean Attributes, J. Comput. Syst. Sci. 66(1), pp. 244–253, 2003 26. F. McSherry, Spectral Partitioning of Random Graphs, Proc. 42nd FOCS, pp. 529 – 537, 2001 27. T.E. Raghunathank, J.P. Reiter, and D.B. Rubin, Multiple Imputation for Statistical Disclosure Limitation, J. Official Statistics 19(1), 2003, pp. 1–16. 28. G. Roque. Application and Analysis of the Mixture-of-Normals Approach to Masking Census Public-use Microdata. Manuscript, 2003. 29. D. B. Rubin, Discussion: Statistical Disclosure Limitation, Journal of Official Statistics 9(2), 1993, pp. 461–468. 30. Sibson, R, SLINK: an optimally efficient algorithm for the single-link cluster method, In the Computer Journal Vol. 16, No. 1, 1973, pages 30–34. 31. L. Sweeney, k-anonymity: a model for protecting privacy. International Journal on Uncertainty, Fuzziness and Knowledge-based Systems, 10 (5), 2002; 557-570. 32. L. Sweeney, Achieving k-anonymity privacy protection using generalization and suppression. International Journal on Uncertainty, Fuzziness and Knowledge-based Systems, 10 (5), 2002; 571-588. 33. S. Vempala and G. Wang, A spectral algorithm for learning mixtures of distributions, IEEE FOCS, 2002. 34. W. E. Winkler. Masking and Re-identification Methods for Public-Use Microdata: Overview and Research Problems. In Proc. Privacy in Statistical Databases 2004, Springer LNCS 3050. 35. W. E. Winkler. Re-identification Methods for Masked Microdata. In Proc. Privacy in Statistical Databases 2004, Springer LNCS 3050.