Attacks on Deidentification's Defenses

Aloni Cohen

Introduction

A relatively small number of data points suffice to distinguish individuals from the general population. For example, in the 2010 census 44% of the population was unique based only on census block, age, and sex . Turning this insight into a privacy notion, kk-anonymity aims to capture a sort of anonymity of a crowd.

Real world reidentification attacks, including on the Netflix and AOL datasets , led to a policy debate about the QI-deidentification. Critics argued that the distinction between quasi-identifying attributes and other attributes—foundational to the whole approach—was untenable . Defenders argued that deidentification experts are good at determining what information is externally available . The debate left unspoken and unexamined the core tenet of QI-deidentification: that if every attribute is treated as a quasi-identifier, then kk-anonymity provides meaningful protection. Our work is the first to directly challenge that tenet.

Why bother attacking QI-deidentification? After all, the security and privacy research communities don’t put much stock in these techniques. For example, it is well known that contrived mechanisms can formally satisfy kk-anonymity but provide no protection. Even so, many policymakers and practitioners are convinced that QI-deidentification is effective in the real world.

Our goal in this paper is to rebut the actual arguments that QI-deidentification practioners use to justify its continued use. We rebut three arguments that—until this work—have gone unchallenged. First, that no attacks have been shown against datasets deidentified by experts and in accordance with strict privacy regulations, let alone simple attacks. Second, that kk-anonymity provides meaningful protection when every attribute is a quasi-identifier. Third, that although QI-deidentification doesn’t meet cryptographic standards of security, it suffices to meet the obligations in data protection regulation. We briefly elaborate these three arguments next.

Rhetorically, trust in QI-deidentification hinges on the wholesale dismissal of existing attacks as unconvincing. Practitioners dismiss many attacked datasets as “improperly de-identified” . “Proper de-identification” must be done by a “statistical expert” and in accordance with procedures outlined in regulation , the increasing availability of QI-deidentification software notwithstanding. This argument has proven very effective in policy spheres. Moreover, practitioners dismiss attacks carried out by privacy researchers because they are privacy researchers. That these attacks are published in “research based articles within the highly specialized field of computer science” is used to argue that re-identification requires a “highly skilled ‘expert’ ” and therefore is of little concern .

Technically, trust in QI-deidentification hinges on an unspoken, unexamined tenet:

QI-deidentification’s tenet: If every attribute is treated as quasi-identifying, then kk-anonymity provides meaningful protection.

Legally, the use of QI-deidentification hinges on the gap between the protection required by regulation and the protection desired by the academic research community. Practitioners claim only that QI-deidentification meets regulatory standards, not security researchers’ stringent standards. For example, cryptographic security definitions typically make no assumptions about the techniques or auxiliary knowledge available to an adversary. However, the European Union’s General Data Protection Regulation (GDPR) restricts the adversary’s techniques by protecting only against “means reasonably likely to be used” by an attacker.GDPR, Article 4 Likewise, the United State’s Family Educational Rights and Privacy Act (FERPA) restricts the adversary’s knowledge by protecting only against an attacker lacking “personal knowledge of the relevant circumstances.”34 CFR §99.3

We present three attacks on QI-deidentification schemes: two theoretical attacks and one real world reidentification attack. Together, these attacks undermine the above justifications for the continued use of QI-deidentification.

First, we introduce a new class of privacy attack called downcoding, which recovers large fractions of the data hidden by QI-deidentification without any auxiliary knowledge. In short, downcoding undoes hierarchical generalization. A downcoding attack takes as input a dataset generalized and recovers some fraction of the generalized data. We call this downcoding as it corresponds to recoding records down a generalization hierarchy.

We prove that every QI-deidentification scheme is vulnerable to downcoding attacks if it is minimal and hierarchical. QI-deidentification is hierarchical if it works by generalizing attributes according to a fixed hierarchy (e.g., city→\tocountry→\tocontinent). QI-deidentification is minimal if no record is generalized more than necessary to achieve the privacy requirement, in a weak, local sense. Our downcoding attacks are powered by a simple observation: minimality leaks information. Figures 1 and 2 give simple examples of downcoding and of leakage from minimality, respectively.

Second, we convert our downcoding attacks into powerful predicate singling-out (PSO) attacks. PSO attacks were recently proposed as a way to demonstrate that a privacy mechanism fails to legally anonymize under the GDPR . We introduce a stronger type of PSO attack called compound PSO attacks and prove that minimal hierarchical QI-deidentification enables compound PSO attacks, greatly improving over the prior work.

Our downcoding and PSO attacks are the first attacks on QI-deidentification that work even when every attribute is a quasi-identifier. As such, they apply to QI-deidentification beyond kk-anonymity, and refute the foundational tenet of QI-deidentification.

Third, we used LinkedIn.com to reidentify 3 students in a kk-anonymized dataset published by Harvard and MIT from their online learning platform EdX. Despite being “properly” kk-anonymized by “statistical experts” in accordance with FERPA, we show that thousands more students are potentially vulnerable to reidentification and disclosure.

Not only do these attacks rebut the arguments described above, they also show that QI-deidentification fails to satisfy three properties of a worthwhile measure of privacy of a computation, even without resorting to contrived mechanisms. Namely, we show that QI-deidentification mechanisms used in practice aren’t robust to post-processing, do not compose, and rely on distributional assumptions on the data for their security.

Section 2 discusses related work. Section 3 introduces notation and defines kk-anonymity, along with hierarchical and minimal kk-anonymity. Section 4 defines downcoding attacks and proves that minimal hierarchical kk-anonymous mechanisms enable them. Section 5 defines compound predicate singling-out attacks and proves that minimal hierarchical kk-anonymous mechanisms enable them. Section 6 describes the EdX dataset and shows that it is vulnerable to reidentification. Section 7 concludes that our attacks rebut the three core arguments that support the continued use of QI-deidentification in practice. The appendix includes additional details and proofs.

Related Work

Predicate singling-out (PSO) attacks were recently introduced in the context of data anonymization under Europe’s General Data Protection Regulation (GDPR) . They were proposed as a mathematical test to show that a privacy mechanism fails to legally anonymize data under Europe’s General Data Protection Regulation (GDPR) . The prior work gives a simple but weak PSO attack against a large class of kk-anonymous mechanisms. We give much stronger PSO attacks against a restricted class of kk-anonymous mechanisms.

Prior work shows that kk-anonymity does not compose: multiple kk-anonymous datasets can completely violate privacy when combined . We show for the first time that composition failures can occur in real world uses of kk-anonymity.

Differential privacy (DP) presents one alternative to QI-deidentification, especially DP synthetic data or local DP . Switching to DP requires accepting that the resulting data will not provide the one-to-one correspondence with underlying records that makes QI-deidentification so attractive to users and laypeople.

We reviewed the deidentification definitions included in the most comprehensive survey we could find . Our downcoding attacks apply to any refinement of kk-anonymity: namely, any definition that collapses to kk-anonymity when every attribute is quasi-identifying. These include:

kk-anonymity and variants: kmk^{m}-, (α,k)(\alpha,k)-, pp-sensitive-, (k,p,q,r)(k,p,q,r)-, and (ϵ,m)(\epsilon,m)-anonymity

tt-closeness and variant (n,t)(n,t)-closeness

Our downcoding attacks don’t apply to Anatomy (which doesn’t generalize quasi-identifiers at all) or differential privacy (which eschews the quasi-identifier framework all together). We have not determined whether the following definitions – which bound some posterior probability given the deidentified dataset – refine kk-anonymity in the relevant sense: δ\delta-presence, ε\varepsilon-privacy, skyline privacy, (ρ1,ρ2)(\rho_{1},\rho_{2})-privacy, (c,k)(c,k)-safety, and ρ\rho-uncertainty.

We leave testing our downcoding attacks on actual deidentification software packages for future work. Free to use software packages include ARX Anonymization, μ\mu-Argus, sdcMicro, University of Texas Toolkit, Amnesia, Anonimatron, Python Mondrian. All but Python Mondrian implement hierarchical algorithms. ARX Anonymization, sdcMicro, and Amenesia offer some version of local recoding (footnote 5). To the best of our knowledge, none guarantee minimality.

Preliminaries

UD\mathcal{U}^{D} is a DD-dimensional data universe, where U\mathcal{U} is the attribute domain. For simplicity we take all attribute domains to be identical, though in reality they are usually distinct (e.g., the EdX dataset).

A record x=(x1,…,xD)\mathbf{x}=(x_{1},\dots,x_{D}) is an element of the data universe. A generalized record y\mathbf{y}, denoted (y1,…,yD)(y_{1},\dots,y_{D}), is a subset of the data universe specified by the Cartesian product y1×⋯×yDy_{1}\times\dots\times y_{D}, where yd⊆Uy_{d}\subseteq\mathcal{U} for every d∈[D]d\in[D]. Note that a record x\mathbf{x} naturally corresponds to the generalized record ({x1},…,{xD})(\{x_{1}\},\dots,\{x_{D}\}), a singleton. We say y\mathbf{y} generalizes x\mathbf{x} if x∈y\mathbf{x}\in\mathbf{y} (i.e., ∀d, xd∈yd\forall d,\ x_{d}\in y_{d}). For example, y=(Female,1970–1975)\mathbf{y}=(Female,1970\text{--}1975) generalizes x=(Female,1972)\mathbf{x}=(Female,1972). For generalized records z⊆y\mathbf{z}\subseteq\mathbf{y}, we say that y\mathbf{y} generalizes z\mathbf{z} and z\mathbf{z} refines y\mathbf{y}. If z⊊y\mathbf{z}\subsetneq\mathbf{y}, the generalization/refinement is strict.

A dataset X\mathbf{X} is an NN-tuple of records (x1,…,xN)(\mathbf{x}_{1},\dots,\mathbf{x}_{N}). X\mathbf{X} can be viewed as a matrix with Xn,d\mathbf{X}_{n,d} the ddth coordinate of xn\mathbf{x}_{n}. A generalized dataset Y\mathbf{Y} is an NN-tuple of generalized records (y1,…,yN)(\mathbf{y}_{1},\dots,\mathbf{y}_{N}). For (generalized) datasets Y,Z\mathbf{Y},\mathbf{Z}, we write Z⪯Y\mathbf{Z}\preceq\mathbf{Y} if zn⊆yn\mathbf{z}_{n}\subseteq\mathbf{y}_{n} for all nn. We extend the meaning of generalization and refinement accordingly. We write Z≺Y\mathbf{Z}\prec\mathbf{Y} when at least one containment is strict. We call yn\mathbf{y}_{n} the record in Y\mathbf{Y} corresponding to zn\mathbf{z}_{n}, and vice-versa. Note that ⪯\preceq is a partial order on datasets of NN records from a given data universe.More generally, we could consider datasets whose rows are permuted relative to one another. Define Z⪯Y\mathbf{Z}\preceq\mathbf{Y} if there exists a permutation π:[N]→[N]\pi:[N]\to[N] such that zn⊆yπ(n)\mathbf{z}_{n}\subseteq\mathbf{y}_{\pi(n)} for all nn, choosing some canonical π\pi arbitrarily if more than one exists. Then ⪯\preceq is a partial order over equivalence classes of datasets induced by Y∼Y′  ⟺  ∃π ∀n yn=yπ(n)′\mathbf{Y}\sim\mathbf{Y}^{\prime}\iff\exists\pi\ \forall n\ \mathbf{y}_{n}=\mathbf{y}^{\prime}_{\pi(n)}. We omit this additional complexity for clarity. We believe all our results would hold, mutatis mutandis.

2 k𝑘k-anonymity

Formally, Y\mathbf{Y} is kk-anonymous if any individual row in the release cannot be distinguished from k−1k-1 other individuals . This requirement is typically parameterized by a subset QQ of the attribute domains Q⊆{Ud}d∈[D]Q\subseteq\{\mathcal{U}_{d}\}_{d\in[D]} called a quasi-identifier. We denote by y(Q)\mathbf{y}(Q) the restriction of y\mathbf{y} to QQ. For Y=(y1,…,yN)\mathbf{Y}=(\mathbf{y}_{1},\dots,\mathbf{y}_{N}), we denote by I(Y,y,Q)≜{n:yn(Q)=y(Q)}I(\mathbf{Y},\mathbf{y},Q)\triangleq\{n:\mathbf{y}_{n}(Q)=\mathbf{y}(Q)\} the indices of records in Y\mathbf{Y} that match y\mathbf{y} on QQ (including y\mathbf{y} itself). Let EA(Y,y,Q)=∣I(Y,y,Q)∣\mathsf{EA}(\mathbf{Y},\mathbf{y},Q)=|I(\mathbf{Y},\mathbf{y},Q)|. This is called the effective anonymity of y\mathbf{y} in Y\mathbf{Y} with respect to QQ.

For k≥2k\geq 2, Y\mathbf{Y} is kk-anonymous with respect to QQ if for all y∈Y\mathbf{y}\in\mathbf{Y}, EA(Y,y,Q)≥k\mathsf{EA}(\mathbf{Y},\mathbf{y},Q)\geq k. An algorithm M:X↦YM:\mathbf{X}\mapsto\mathbf{Y} is kk-anonymizer if for every X\mathbf{X}, Y←M(X)\mathbf{Y}\leftarrow M(\mathbf{X}) is kk-anonymous (anonymity) and generalizes X\mathbf{X} (correctness). We omit QQ when Q=UDQ=\mathcal{U}^{D} is the whole data universe.

A few remarks are in order. First, beyond correctness and anonymity, kk-anonymity places no restriction on the output Y\mathbf{Y}. Second, the term quasi-identifier is inconsistently defined in the literature. Our definition of a quasi-identifier as the collection of multiple attributes is from Sweeney . Quasi-identifier is commonly used to refer to one of the constituent attributes—including by the authors of the EdX dataset . So each -quasi-identifier consists of multiple -quasi-identifers. We adopt the quasi-identifier-as-a-set definition because it simplifies the discussion of the EdX dataset in Section 6. The distinction disappears in Sections 4 and 5: our downcoding and PSO attacks work even when every attribute is part of the quasi-identifier (i.e., Q=UDQ=\mathcal{U}^{D}).

It is easy to contrive kk-anonymizers that reveal X\mathbf{X} completely. Directing our attention to more natural and widespread mechanisms, we focus on hierarchical kk-anonymizers.

A common way of kk-anonymizing data is to generalize an attribute domain U\mathcal{U} according to a data-independent generalization hierarchy HH which specifies how a given attribute may be recoded. Hierarchical algorithms differ on whether they use local recoding or global recoding. Using local recoding, attributes in different records can be generalized to different levels of the hierarchy. Using global recoding, all records must use the same level in the hierarchy for any given attribute. We consider local recoding which produces higher quality datasets in general. Many natural ways of generalizing data fits this mold: using nesting geographies (e.g., city→\tostate→\tocountry); dropping digits of postal codes (e.g., 91011→9101⋆→910⋆⋆91011\to 9101\star\to 910\star\star); grouping ages into ranges of 5, 10, 25, or 50 years; suppressing attributes or whole records altogether; and the techniques used to create the EdX dataset.

Formally, a generalization hierarchy HH defines a structured collection of permissible subsets y\mathbf{y} of an attribute domain U\mathcal{U} (Figure 5). HH is a rooted tree labelled by subsets of U\mathcal{U}, where the subsets on any level of HH form a partition of U\mathcal{U} and the partition on every level is a strict refinement of the partition above. The label of the root is U\mathcal{U} itself, and the leaves are all labelled with singletons {x}\{x\}. Identifying HH with the set of all its labels, we write y∈Hy\in H if there is some node in HH labelled by yy. We extend the hierarchy HH to the data universe UD\mathcal{U}^{D} coordinate-wise, writing y∈HD\mathbf{y}\in H^{D} if yd∈Hy_{d}\in H for all d∈[D]d\in[D].

Y\mathbf{Y} respects HH if y∈HD\mathbf{y}\in H^{D} for all y∈Y\mathbf{y}\in\mathbf{Y}. An algorithm M:(X,H)↦YM:(\mathbf{X},H)\mapsto\mathbf{Y} is a hierarchical kk-anonymizer if for all X\mathbf{X} and all hierarchies HH, MH:X↦M(X,H)M_{H}:\mathbf{X}\mapsto M(\mathbf{X},H) is a kk-anonymizer and its output Y=M(X,H)\mathbf{Y}=M(\mathbf{X},H) respects HH.

Observe that one can always implement hierarchical kk-anonymity by simply outputting NN copies of UD\mathcal{U}^{D}. But a privacy technique that completely destroys the data is not useful, which leads us to consider data quality.

We consider minimal mechanisms . A mechanism is minimal if no record is generalized more than necessary to achieve the privacy requirement (in a local way). For example, suppose a kk-anonymous Y\mathbf{Y} contains a location attribute. If there is a subset of records whose location “USA” can be changed to “California” without violating kk-anonymity, then the mechanism that produced Y\mathbf{Y} would not be minimal. Anoter example is given in Figure 2. We call this property minimality because it is equivalent to requiring minimality with respect to the partial ordering ⪯\preceq. Unlike global optimality, minimality is computationally tractable.

M:(X,H)↦YM:(\mathbf{X},H)\mapsto\mathbf{Y} is minimal if Y\mathbf{Y} is always minimal in the set of all HH-respecting, kk-anonymous Y\mathbf{Y} that generalize X\mathbf{X}, partially ordered by ⪯\preceq. That is, for all strict refinements Z≺Y\mathbf{Z}\prec\mathbf{Y}, either: (a) Z\mathbf{Z} is not kk-anonymous, (b) Z\mathbf{Z} does not respect HH, or (c) Z\mathbf{Z} does not generalize X\mathbf{X}.

Downcoding attacks on syntactic privacy techniques

In short, downcoding undoes hierarchical generalization. A downcoding attack takes as input a dataset generalized and recovers some fraction of the generalized data. We call this downcoding as it corresponds to recoding records down a generalization hierarchy. Our downcoding attacks are powered by a simple observation: minimality leaks information. Figures 1 and 2 give simple examples of downcoding and of leakage from minimality, respectively.

We prove that there exist data distributions and hierarchies such that every minimal hierarchical kk-anonymizer is vulnerable to downcoding attacks. Hence any privacy provided by QI-deidentification is subject to distributional assumptions.

The downcoding attack adversary A\mathsf{A} gets as input a QI-deidentified dataset Y\mathbf{Y} which is the output of an unknown mechanism MM on an unknown dataset X\mathbf{X}. A\mathsf{A} also knows anything published with Y\mathbf{Y}, namely NN, kk, and the hierarchy HH. (Without HH data users would be unable to interpret Y\mathbf{Y}.) Finally we also allow the adversary to depend on the data distribution UU. One interpretation is that the security that a mechanism affords against downcoding attacks depends on limiting the attacker’s knowledge, which is not good security practice. Moreover, in many settings UU can be efficiently learned from an independent sample X′\mathbf{X}^{\prime}.

Formally, we construct a distribution UU over ω(log⁡n)\omega(\log n) attributes and a generalization hierarchy HH such that every minimal hierarchical algorithm enables downcoding attacks on datasets drawn i.i.d. from UU. Our first attack uses a natural data distribution (i.e., clustered heteroskedastic data in Section 4.4) and a tree-based hierarchy, and allows an attacker to completely recover a constant fraction of the deidentified records with high probability. Our second attack uses a less natural data distribution and hierarchy, and allows an attacker to recover 3/83/8ths of every record with 99% probability.

2 Definition

Let Y\mathbf{Y} be a kk-anonymous version of a dataset X\mathbf{X} with respect to generalization hierarchy HH. A downcoding attack takes Y\mathbf{Y} as input and outputs a strict refinement Z\mathbf{Z} of Y\mathbf{Y} that simultaneously respects HH and generalizes X\mathbf{X}.

Let Y\mathbf{Y} be a hierarchical kk-anonymous generalization of a (secret) dataset X\mathbf{X} with respect to some hierarchy HH. Z\mathbf{Z} is a downcoding of Y\mathbf{Y} if X⪯Z\mathbf{X}\preceq\mathbf{Z}, Z≺Y\mathbf{Z}\prec\mathbf{Y}, and Z∈H\mathbf{Z}\in H.

If Y\mathbf{Y} is minimal and Z\mathbf{Z} is a downcoding of Y\mathbf{Y}, then Z\mathbf{Z} violates kk-anonymity.

We consider three measures of an attack’s strength: How many records are refined? How much are records refined? How often records refined? Recall that if Z≺Y\mathbf{Z}\prec\mathbf{Y}, then zn⊆yn\mathbf{z}_{n}\subseteq\mathbf{y}_{n} for all nn and zn⊊yn\mathbf{z}_{n}\subsetneq\mathbf{y}_{n} for at least one nn.

ℸ\daleth:ℸ\daleth is pronounced “dah-let” and is the fourth letter of the Hebrew alphabet. How often are records refined? Consider the probability experiment X∼UN\mathbf{X}\sim U^{N}, Y←M(X,H)\mathbf{Y}\leftarrow M(\mathbf{X},H), and Z←A(Y)\mathbf{Z}\leftarrow\mathsf{A}(\mathbf{Y}) where UU is a distribution over data records, MM is a kk-anonymizer, and A\mathsf{A} is a downcoding adversary. ℸ(ΔN,ΔD)∈\daleth(\Delta_{N},\Delta_{D})\in is the probability that Z\mathbf{Z} downcodes with parameters at least ΔN\Delta_{N} and ΔD\Delta_{D}. For any fixed ΔN\Delta_{N} and ΔD\Delta_{D}, an attacker prefers larger ℸ\daleth.

3 Minimal k𝑘k-anonymizers enable downcoding attacks

Downcoding may seem impossible: How can one strictly refine Y\mathbf{Y} using only the information contained in Y\mathbf{Y} itself? Our attacks leverage minimality. The mere fact that Y\mathbf{Y} is a minimal hierarchical generalization of X\mathbf{X} reveals more information about X\mathbf{X} that we use for strong downcoding attacks. See Figure 2 for a simple example.

A general-purpose hierarchical kk-anonymizer MM works for every generalization hierarchy HH. Our theorems state that there exist data distributions UU and corresponding hierarchies HH such that every minimal hierarchical kk-anonymizer MM is vulnerable to downcoding. By Observation 4.1, these attacks defeat the kk-anonymity of MM.

For all constants k≥2k\geq 2, α>0\alpha>0, D=ω(log⁡N)D=\omega(\log N), and T=⌈N2/α⌉T=\lceil N^{2}/\alpha\rceil, there exists a distribution UU over UD=[0,T]D\mathcal{U}^{D}=[0,T]^{D}, and a generalization hierarchy HH such that all minimal hierarchical kk-anonymizers MM enable downcoding attacks with ΔN=N\Delta_{N}=N, ΔD=D\Delta_{D}=D, and ℸ(N,D)>1−α\daleth(N,D)>1-\alpha. The attack also works for k=Nk=N and D=ω(Nlog⁡N)D=\omega(N\log N).

Each of the theorems has some advantages over the other. The attacker in Theorem 4.3 manages to recover every attribute of every record x∈X\mathbf{x}\in\mathbf{X} except with probability α\alpha. However the parameters of the construction depend polynomially on 1/α1/\alpha. Theorem 4.2 removes this dependency, at the expense of attacking only a constant fraction of records and attributes—still a serious failure of kk-anonymity. The more significant advantage of Theorem 4.2 is that the data distribution and generalization hierarchy are both very natural (Example B.2). In contrast, the distribution and hierarchy in the proof of Theorem 4.3 are more contrived.

Full proofs of both Theorems 4.2 and 4.3 are in Appendix B. Both proofs follow the same structure at a very high level. We prove a structural result on minimal, hierarchical kk-anonymous mechanisms for a specially constructed hierarchy HH (Claims B.1 and B.3). This structural result states that if X\mathbf{X} satisfies certain conditions then Y\mathbf{Y} must take a restricted form which allows the downcoding adversary to construct Z\mathbf{Z}. To prove the theorem, we construct a data distribution UU such that random X∼UN\mathbf{X}\sim U^{N} will satisfy the conditions of the structural result with probability close to 1.

4 Example: Clustered Gaussians

The proof of Theorem 4.2 shows that distributions satisfying certain properties are vulnerable to downcoding attacks. Example B.2 describes a family of clustered Gaussian distributions that satisfy those properties. Here we give an instantiation of this family of distributions for k=10k=10 and describe the corresponding hierarchy and downcoding adversary.

The adversary A\mathsf{A} is described in Algorithm 1. It takes as input Y\mathbf{Y}, kk, and a description of HH. It looks at each group of generalized records Y^t\widehat{\mathbf{Y}}_{t} of the output. If the number of records in Y^t\widehat{\mathbf{Y}}_{t} is not kk, then the whole group of records is copied to the output Z\mathbf{Z} unchanged (i.e., no downcoding on these records). If Y^t\widehat{\mathbf{Y}}_{t} has exactly kk records, then by kk-anonymity these records are all identical copies of some yt\mathbf{y}^{t}. Some of yt\mathbf{y}^{t}’s entries may be aggregated to [At,At+1)[A_{t},A_{t+1}). If it’s many more or many less than half the entries, then the whole group of records is copied to the output Z\mathbf{Z} unchanged (i.e., no downcoding on these records). Otherwise, the kk records in Y^t\widehat{\mathbf{Y}}_{t} all get downcoded as described in the algorithm.

It follows from Example B.2 that for k=10k=10, the distribution described above, and Y\mathbf{Y} produced by any minimal hierarchical kk-anonymizer, A\mathsf{A} will downcode a constant fraction of the records in Y\mathbf{Y} (with constant probability).

Predicate singling-out attacks on syntactic privacy techniques

Our downcoding attacks yield powerful predicate singling-out (PSO) attacks against minimal hierarchical kk-anonymous mechanisms. PSO attacks were recently proposed as a way to demonstrate that a privacy mechanism fails to legally anonymize under Europe’s General Data Protection Regulation . Our new attacks undermine the use kk-anonymity and other QI-deidentification techniques for GDPR compliance, challenging prevailing European guidance on anonymization .

In this section, we recall the prior work on PSO attacks and define a generalization called compound PSO attacks. We prove that minimal hierarchical kk-anonymizers enable compound PSO attacks.

Predicate singling-out attacks were recently introduced by Cohen and Nissim in the context of data anonymization under Europe’s General Data Protection Regulation (GDPR) . They were proposed as a mathematical test to show that a privacy mechanism fails to legally anonymize data under GDPR . A mechanism MM legally anonymizes under GDPR if it suffices to transform regulated personal data into unregulated anonymous data. That is, if M(X)M(\mathbf{X}) is free from GDPR regulation regardless of what X\mathbf{X} is. If a mechanism enables PSO attacks, then it does not legally anonymize under GDPR .

Informally, MM enables PSO attacks if given M(X)M(\mathbf{X}), an adversary is able to learn an extremely specific description ψ\psi of a single record in X\mathbf{X}. Because ψ\psi is so specific, it not only distinguishes the victim in the dataset X\mathbf{X}, but likely also in the greater population. Hence PSO attacks can be a stepping stone to more blatant attacks.

To perform a PSO attack, A\mathsf{A} outputs a single negligible-weight predicate ψ\psi that isolates a record x∈X\mathbf{x}\in\mathbf{X} with non-negligible probability.

MM enables predicate singling-out (PSO) attacks if there exists UU, A\mathsf{A}, and β(n)\beta(n) non-negligible such that

2 Compound predicate singling-out attacks

PSO attacks can be unsatisfying. For example, the attack from outputs LL predicates and at best about L/eL/e manage to actually isolate a record in the dataset X\mathbf{X}. Moreover, which predicates isolate and which don’t is impossible for the attacker to know without additional information. So even though there exists many isolated records with high probability, the attacker doesn’t know which ones or how many. In contrast, consider an attacker that outputs L=NL=N predicates, each of which isolates a distinct record in X\mathbf{X}. It is obvious the new attacker is stronger, but in a way that isn’t captured by the definition of predicate singling-out.

We define a generalization of PSO attacks called compound PSO attacks. Whereas PSO attacks only require that a record is isolated with non-negligible probability, compound PSO attacks require many records to be isolated often.

To perform a compound PSO attack, A\mathsf{A} outputs multiple negligible-weight predicates Ψ={ψ1,…,ψL}\Psi=\{\psi_{1},\dots,\psi_{L}\} each of which isolates a distinct record x∈X\mathbf{x}\in\mathbf{X} with probability at least 1−α1-\alpha. The strength of the attack is measured by LL and α\alpha, with L→nL\to n and α→0\alpha\to 0 reflecting stronger attacks. Vanilla PSO attacks correspond to the setting L=1L=1 and α=1−β\alpha=1-\beta.

MM enables (α,L)(\alpha,L)-compound predicate singling-out attacks if there exists UU, A\mathsf{A} such that

in the probability experiment X∼UN\mathbf{X}\sim U^{N}, Ψ←A(M(X))\Psi\leftarrow\mathsf{A}(M(\mathbf{X})).

In the language of compound attacks, the prior work gives an (1−O(e−L),L)(1-O(e^{-L}),L)-compound-PSO attack against bounded kk-anonymizers for L<cNL<cN and some c>0c>0.

For all constants k≥2k\geq 2, α>0\alpha>0, D=ω(log⁡N)D=\omega(\log N), and T=⌈N2/α⌉T=\lceil N^{2}/\alpha\rceil, there exists a distribution UU over UD=[0,T]D\mathcal{U}^{D}=[0,T]^{D}, a generalization hierarchy HH, such that all minimal hierarchical kk-anonymizers MM enable (α,N)(\alpha,N)-compound-PSO attacks. The attack also works for k=Nk=N and D=ω(Nlog⁡N)D=\omega(N\log N).

These theorems mirror Theorems 4.2 and 4.3, inheriting their advantages and disadvantages. Proofs for both attacks follow the same general structure, using the corresponding downcoding attacks in non-black-box ways (Appendix B). The key observation is that some of the downcoded records in the downcoding attacks immediately give the predicates needed to predicate single-out.

Algorithm 2 illustrates the compound-PSO adversary for the example of clustered Gaussians described in Section 4.4. Compare to the downcoding adversary in Algorithm 1. Instead of outputting a complete dataset Z\mathbf{Z} (as in the downcoding attack), we simply output descriptions of certain records within Z\mathbf{Z}. Namely, matches(z):x↦{0,1}\mathsf{matches}(\mathbf{z}):\mathbf{x}\mapsto\{0,1\} is the predicate that outputs 11 if and only if x\mathbf{x} is consistent with z\mathbf{z} (i.e., x⊆z)\mathbf{x}\subseteq\mathbf{z}).

Reidentifying EdX students using LinkedIn

597,692 individuals registered for 17 online courses offered by Harvard and MIT through the EdX platform . We show that thousands of these students are potentially vulnerable to reidentification. The EdX dataset represents an egregious failure of kk-anonymity in practice and in a case where the dataset was “properly deidentified” by “statistical experts” in accordance with regulations, undermining one of the main arguments used to justify the continued use of QI-deidentification .

EdX collected data about students’ demographics, engagement with course content, and final course grade. EdX sought to make the data public to enable outside research but considered it protected by the Family Educational Rights and Privacy Act (FERPA), a data privacy law restricting the disclosure of certain educational records . “To meet these privacy specifications, the HarvardX and MITx research team (guided by the general counsel, for the two institutions) opted for a kk-anonymization framework” . A value of k=5k=5 “was chosen to allow legal sharing of the data” in accordance with FERPA. Ultimately, EdX published the 5-anonymized dataset with 476,532 students’ records.

We show that thousands of these students are potentially vulnerable to reidentification. As a proof of concept, we reidentified 3 students out of 135 students for whom we searched for matching users on LinkedIn. Each of the reidentified users failed to complete at least one course in which they were enrolled, a private fact disclosed by the reidentification attack.

The limiting factor of this attack was not the privacy protection offered by kk-anonymity itself, but the fact that many records in the raw dataset were missing demographic variables altogether. In order to boost the confidence of our attack, we restricted our attention to unambiguously unique records. To demonstrate the possibility of attribute disclosure, we further restricted our attention to students that had enrolled in, but failed to complete, a course on EdX.

Xed\mathbf{X}_{\mathsf{ed}} has 476,532 rows, one per student.The dataset as published was such that each row represented a student-course pair, with a separate row for each course in which a student enrolled. Records corresponding to the same student shared a common UID. Xed\mathbf{X}_{\mathsf{ed}} as described above is the result of aggregating the information by UID. See the appendix for additional background on the EdX dataset. Each row contains the student’s basic demographic information, and information about the student’s activities and outcomes in each of 16 of the 17 EdX courses.

The demographics included self-reported level of education, gender, and year of birth, along with a country inferred from the student’s IP address. Many students chose not to report level of education, gender, and year of birth at all, so these columns are missing many entries. For each course, Xed\mathbf{X}_{\mathsf{ed}} indicates whether the student enrolled in the course, their final grade, and whether they earned a certificate of completion. Xed\mathbf{X}_{\mathsf{ed}} also includes information about students’ activities in courses including how many forum posts they made.

Xed\mathbf{X}_{\mathsf{ed}} was 55-anonymized with respect to 17 overlapping quasi-identifiers separately: Q1,…,Q16Q_{1},\dots,Q_{16}, and Q∗Q_{*} defined next. Recall that each quasi-identifier is a subset of attributes, not a single attribute (Def. 3.1).

Qi=Q_{i}= {gender, year of birth, country, enrolled in course ii, number of forum posts in course ii}

Q∗=Q_{*}= {enrolled in course 1, …, enrolled in course 16}.

Anonymization was done hierarchically. First, locations were globally coarsened to countries or continents. Then other attributes or whole records were suppressed as needed.

2 Uniques in the EdX dataset

Table 1 summarizes the results of all analyses described in this section. Let Qall=Q∗∪Q1∪⋯∪Q16Q_{\mathsf{all}}=Q_{*}\cup Q_{1}\cup\dots\cup Q_{16}. Xed\mathbf{X}_{\mathsf{ed}} is very far from 5-anonymous with respect to QallQ_{\mathsf{all}}. We find that 7.1% of students (33,925 students) in Xed\mathbf{X}_{\mathsf{ed}} are unique with respect to QallQ_{\mathsf{all}} and 15.3% have effective anonymity less than 5.

Despite EdX’s goals, Xed\mathbf{X}_{\mathsf{ed}} was not even 55-anonymous with respect to Q∗Q_{*}: 245 students were unique and 753 had effective anonymity less than 5! We suspect this blunder is due to kk-anonymity’s fragility with respect to post-processing. The raw data was first 5-anonymized with respect to Q∗Q_{*} and afterwards with respect to Q1,…,Q16Q_{1},\dots,Q_{16}. Some rows in the dataset were deleted in the latter stage, ruining 55-anonymity for Q∗Q_{*}.

We emphasize that the creators of the EdX dataset never intended or claimed to provide 5-anonymity with respect to QallQ_{\mathsf{all}}. But they admit that each of the attributes in QallQ_{\mathsf{all}} is potentially public. In our view, the union of quasi-identifiers should also be considered a quasi-identifier and any exception should be justified. No justification is given.

A naive interpretation of the 7.1% unique students is that an attacker who knows QallQ_{\mathsf{all}} would be able to definitively learn the grades of 7.1% of the students. But there is a major source of ambiguity: missing information. Gender, year of birth, and level of education were voluntarily self-reported by students. Many students chose not to provide this information: 14.9% of students records are missing at least one of these attributes. It is missing in the raw data, not just the published data. Thus, a female Italian born in 1986 might appear in the dataset with any or all three attributes missing.

This makes the 7.1% result difficult to interpret. From an inferential standpoint, the relevant question is not how many students have unique quasi-identifiers, but how many are unambiguously unique. We compute the ambiguous effective anonymity EAamb\mathsf{EA_{\mathsf{amb}}} (defined in App. A.1) of each record by treating any missing attribute values as the set of all possible values for that attribute. This number may be much lower than 7.1%. We stress that this ambiguity comes from missing data, not from kk-anonymity.

We find that 1.9% of students (9,125 students) are unambiguously unique with respect to QallQ_{\mathsf{all}} and 4.7% have ambiguous effective anonymity less than 5. Over 9,000 students are unambiguously identifiable in the dataset to anybody who knows all the quasi-identifiers, without knowing whether the students chose to self-report their gender, year of birth, or level of education. This allows an attacker to draw meaningful inferences about them.

2.2 Limiting the attacker’s knowledge

Students in the EdX dataset are vulnerable to reidentification by adversaries who have much less auxiliary information than QallQ_{\mathsf{all}}. We consider the (ambiguous) effective anonymity for three attackers who could plausibly reidentify students in the EdX dataset: a prospective employer, a casual acquaintance, and an EdX classmate. The results are summarized in Table 1.

In Section 6.3, we carry out the prospective employer attack using LinkedIn. This demonstrates that some students in the EdX dataset can be reidentified by anybody.

Consider a prospective employer who is interested in discovering whether a job applicant failed an EdX course. An applicant is likely to list EdX certificates on their resume. The employer very likely knows Qresume=Q_{\mathsf{resume}}= {gender, year of birth, location, level of education, certificates earned in courses 1–16}. QresumeQ_{\mathsf{resume}} only includes those certificates actually earned, but omits courses in which a student enrolled but did not earn a certificate.

5,546 students in Xed\mathbf{X}_{\mathsf{ed}} have effective anonymity 1 with respect to QresumeQ_{\mathsf{resume}}, and 10,942 have effective anonymity less than 5. These numbers may seem small, but they constitute 34.2% and 67.4% of the 16,224 students in the dataset that earned any certificates whatsoever. Moreover, 732 students are unambiguously unique—333 of whom failed at least one course, and 38 of whom failed three or more courses. Thus, 2.1% of students (333 students) who earned certificates of completion failed at least one course and have unambiguous effective anonymity 1 with respect to QresumeQ_{\mathsf{resume}}.

Casual acquaintances might, in the course of normal conversation, discuss their experiences on EdX. They would likely discuss which courses they took, and would naturally know each other’s ages, genders, and locations. So acquaintances know Qacq=Q_{\mathsf{acq}}={gender, year of birth, location, enrollment in courses 1–16} ⊆Qall\subseteq Q_{\mathsf{all}}. 6.7% of students in Xed\mathbf{X}_{\mathsf{ed}} have effective anonymity 1 with respect to QacqQ_{\mathsf{acq}}, and 14.6% have effective anonymity less than 5.

Moreover, acquaintances typically know each other’s level of education too, even though this is not included in QallQ_{\mathsf{all}}. If we augment the acquaintance’s knowledge with level of education Qacq+=Qacq∪{\mboxeducation}Q_{\mathsf{acq+}}=Q_{\mathsf{acq}}\cup\{\mbox{education}\}, then things become even worse. 8.7% students in Xed\mathbf{X}_{\mathsf{ed}} have effective anonymity 1 with respect to Qacq+Q_{\mathsf{acq+}}, and 20.6% have effective anonymity less than 5.

Each EdX course had an online forum for student discussions. Because these posts were public to all students enrolled in a given course, the number of forum posts made by any user was deemed publicly available information. But ignoring composition, EdX did not consider the combination of forum post counts made by a user across courses.

Consider an attacker who knows Qposts=Q_{\mathsf{posts}}={number of forum posts in courses 1–16} ⊆Qall\subseteq Q_{\mathsf{all}}. 120 students in Xed\mathbf{X}_{\mathsf{ed}} are unambiguously unique with respect to QpostsQ_{\mathsf{posts}}, and 216 have ambiguous effective anonymity less than 5. These numbers may seem minute, but they constitute 1.7% and 3.0% of the 7251 students in the dataset that made any forum posts whatsoever. Effective anonymity and ambiguous effective anonymity are always the same for this attacker because QpostsQ_{\mathsf{posts}} excludes the demographic columns that are missing many entries.

Who knows QpostsQ_{\mathsf{posts}}? 20 students in the dataset itself enrolled in all 16 courses and could have compiled forum post counts across all courses for all other EdX students. To any one of these 20 students the 120 students with distinguishing forum posts are uniquely identifiable. Such an attacker can then learn these 120 students ages, genders, level of educations, locations, and their grades in the class.

In fact, each of the 120 vulnerable students can be unambiguously uniquely distinguished by 23–70 classmates; 60 students by 40–49 classmates each. This enables more classmates to act as attackers than just the 20 who took all courses. This is because distinguishing a student using forum posts doesn’t require being enrolled in all 16 courses. For each of the 120 vulnerable students, we find which subsets of their forum posts suffices to distinguish them. This analysis amounts to checking whether these students remain unambiguously unique if some subset of their forum post counts are redacted.

3 Reidentifying EdX students on LinkedIn

On LinkedIn.com, people show off the courses they completed. They may be unwittingly revealing which courses they gave up on. 2.1% of students who earned certificates of completion (333 students) failed at least one course and have unambiguous effective anonymity 1 with respect to QresumeQ_{\mathsf{resume}}.

We reidentified three of these 333 students, with a rough confidence estimate of 90–95%.

We performed the attack as follows. We restricted our attention to 135 students in Xed\mathbf{X}_{\mathsf{ed}} who were unambiguously unique using only certificates earned plus at most one of gender, year of birth, and location, and who also had no missing demographic attributes. We manually searched for LinkedIn users that listed matching course certificates on their profile by searching for course numbers (e.g., "HarvardX/CS50x/2012"). We attempted to access the profiles for the resulting users, whether they were in our extended network or by searching on Google. If successful, we checked whether the LinkedIn user lists exactly the same certificates as the EdX student, and whether the demographic information on LinkedIn was consistent with the EdX student. If everything matched, we consider this a reidentification.

3.2 Results

We reidentified 3 of the attempted 135 EdX students, each of whom registered for but failed to complete an EdX course. Two were unambiguously unique using only certificates of completion. In each case, the EdX student’s gender matched the LinkedIn user’s presenting gender based on profile picture and name. In each case, the LinkedIn user’s highest completed degree in 2013 matched the EdX student’s listed level of education.

3.3 Confidence

We cannot know for sure whether our purported reidentifications on LinkedIn are correct because were instructed by our IRB not to contact the reidentified EdX students.

In this section, we estimate that our reidentifications are correct with 90–95% confidence. Moreover, an error is most likely a result of our imperfect ability to corroborate location and year of birth on LinkedIn, not a result of the protection afforded by kk-anonymity. Our analysis is necessarily very rough. A precise error analysis is impossible. We omit details to avoid imparting any other impression.

We consider two main sources of uncertainty. First is the limited information available on LinkedIn profiles, especially age and location. We inferred a range of possible ages by extrapolating from educational milestones. We inferred a set of possible locations based on listed activities around 2013. Both methods are imperfect. The locations in EdX were inferred from IP address and are likely imperfect. LinkedIn users or EdX students can report their attributes inconsistently. Note that they cannot lie about earning EdX certificates: this data comes from EdX itself and the LinkedIn certificates are digitally signed and cryptographically verifiable.An example certificate is available here: https://verify.edx.org/cert/26121b8dec124bc094d324f51b70e506. Instructions for verifying the signature are here: https://verify.edx.org/cert/26121b8dec124bc094d324f51b70e506/verify.html We estimate the probability of error on at least one attribute inferred from LinkedIn is on the order of 5–10%.

The second source of error is suppressed student records. Of the 597,692 students enrolled in EdX courses over the relevant period, only 476,532 appear in the published dataset. 121,160 students (20.3%) are completely suppressed. We matched students xedx\mathbf{x}_{\mathsf{edx}} in EdX with users on LinkedIn xli\mathbf{x}_{\mathsf{li}} using Qresume=Q_{\mathsf{resume}}= {gender, year of birth, location, level of education, certificates earned in courses 1–16} as well as we could. An error will occur if a suppressed student xedx′\mathbf{x}^{\prime}_{\mathsf{edx}} is the true match for the LinkedIn user. For this to happen, xedx′\mathbf{x}^{\prime}_{\mathsf{edx}} and xedx\mathbf{x}_{\mathsf{edx}} must agree on QallQ_{\mathsf{all}}. If xedx\mathbf{x}_{\mathsf{edx}} is unique in the complete dataset, no error occurs.

We do a back of the envelope calculation of the chance of error from record suppression under two simplifying assumptions. First, that random student records are suppressed.There are more sophisticated techniques for estimating the probability of error under this assumption . But in EdX omitted records are “outliers and highly active users because these users are more likely to be unique and therefore easy to re-identify” . As such, using the more sophisticated techniques would not give more meaning to our very coarse estimates. Second, that the number of certificates of completion that a user earns is statistically independent of their other attributes (assuming they registered for enough courses). We compute 99.5%-confidence upper bounds for two parameters: the probability pp that a random EdX student matches our reidentified EdX student; the probability qq that a random EdX student earns the same number of certificates as our reidentified EdX student. 121,160⋅pq\cdot pq is a very coarse estimate of the probability that a supressed student record causes an error. For the three students we reidentified, this comes out to 0.1–1%.

A much less likely source of error is suppression of individual courses from a student’s record. Such an error will occur if some courses for the purported match xedx\mathbf{x}_{\mathsf{edx}} were suppressed, and there is some other EdX student xedx′\mathbf{x}^{\prime}_{\mathsf{edx}} that is the true match for the LinkedIn user xli\mathbf{x}_{\mathsf{li}}. This requires course suppression in xedx\mathbf{x}_{\mathsf{edx}} and also xedx′\mathbf{x}^{\prime}_{\mathsf{edx}} (because xedx\mathbf{x}_{\mathsf{edx}} was unambiguously unique on QresumeQ_{\mathsf{resume}} in the published EdX data). All in all, we consider course suppression to be a much less likely source of error than student suppression or imperfect attribute inference on LinkedIn.

4 EdX was “properly” deidentified

El Emam, et al., criticize prior reidentification studies as using data that were “improperly deidentified” because they did not “follow[] existing standards” . They thus conclude that there is no convincing evidence of real-world failure of QI-deidentification techniques in a regulated context.

In contrast, the EdX dataset incontrovertibly followed existing standards. FERPA is the relevant regulation. It requires the published information to not enable identification of any student with reasonable certainty. The EdX dataset was specifically created to comply with FERPA, following Department of Education guidance and overseen by general council for Harvard and MIT .

Moreover, the EdX dataset arguably followed the HIPAA Expert Determination–the standard used by El Emam, et al. The Expert Determination standard requires three things:https://www.hhs.gov/hipaa/for-professionals/privacy/special-topics/de-identification/index.html (1) Deidentification be performed by “a person with appropriate knowledge …and experience”. (2) The person determines that the risk of reidentification is “very small”. (3) The person “documents the methods and results of the analysis that justify such determination.” The creation of the EdX data was overseen by Harvard professors in computer science and statistics with specific expertise in privacy and inference. They find a “low probability that the dataset will be re-identified” and their methods and analysis are well-documented . The main deviation from the Expert Determination standard is the difference between “very small” and “low” reidentification risk.

Conclusions

In short, we show that kk-anonymity – and QI-deidentification generally – fails on its own terms. Our attacks rebut three primary arguments that QI-deidentification’s practioners make to justify its continued use. First, we reidentify individuals in EdX dataset; it was “properly de-identified” by a “statistical experts” and in accordance with procedures outlined in regulation, meeting the high bar set by El Emam, et al. . Second, our downcoding attacks demonstrate that even if every attribute is treated as quasi-identifying, kk-anonymity and its refinements may provide no protection. Ours are the first attacks in either of these two settings. Third, our attacks also undermine the claim that QI-deidentification meets regulatory standards for deidentification. The compound PSO and reidentification attacks challenge kk-anonymity’s status under GDPR and FERPA respectively.

Moreover, our attacks show that QI-deidentification violates three properties of a worthwhile privacy notion, even in practice. Namely, avoiding distributional assumptions, robustness against post-processing, and smooth degradation under composition. We expand on these next.

Downcoding attacks prove that whatever privacy is provided by QI-deidentification crucially depends on unstated assumptions on the data distribution. One possible pushback is that our downcoding attacks use specially constructed distributions and hierarchies, not naturally occurring ones. But even a contrived counterexample proves that there is some unnoticed distributional assumption that is critical for security. Moreover, the distributions and hierarchies in Theorem 4.2 are not so unnatural when considering that data are made, not found (to quote danah boyd). Say an analyst wants to kk-anonymize a high dimensional dataset. One natural approach is to find a low-dimensional projection with clusters of about kk rows each, and then construct the generalization hierarchy over this representation. The result could easily satisfy conditions that enable our downcoding attack or a direct extension.

Robustness against post-processing requires that further processing of the output, without access to the data, should not diminish privacy. Downcoding proves that QI-deidentification is not robust to post-processing. Our attacks recover specific secret information about a large fraction of a dataset’s entries with probability close to 1. Also, the EdX dataset also proves that kk-anonymity is not robust to post-processing for purely syntactic reasons. The result of removing rows from a kk-anonymous dataset may not satisfy kk-anonymity as defined. We see this in the EdX data: it is not in fact 55-anonymous with respect to quasi-identifier Q∗Q_{*} (courses), despite claims otherwise. This fragility to post-processing is not so much a privacy failure as a syntactic weakness of the definition itself.

Smooth degradation under composition requires that a combination of two or more private applications mechanisms should also be private, albeit with worse parameters. The EdX dataset proves that QI-deidentification is not robust to composition, even when done by experts in accordance with strict privacy regulations. Ganta et al. present theoretical composition attacks, showing that if the same dataset is kk-anonymized with different quasi-identifiers the original data can be recovered . With the EdX dataset the possibility became reality. To the best of our knowledge, this is the first example of such a failure in practice.

The most important open question raised by this work is to characterize the power of downcoding attacks. What properties of a data distribution and generalization hierarchy enable downcoding? Is vulnerability to downcoding testable? In what settings is downcoding provably impossible? Can one demonstrated downcoding in the wild? We leave these questions for future work.

After reidentifying one EdX student, we reported the vulnerability to Harvard and MIT who promptly replaced the dataset with a heavily redacted one. Our IRB determined that this research was not human subjects research and did not need IRB approval. However, we were instructed by the IRB not to contact the reidentified LinkedIn users. The code used in our analysis of the EdX dataset is at https://github.com/a785236/EdX-LinkedIn-Reidentification, but we do not distribute the dataset itself to protect the students’ privacy.

References

Appendix A Additional background on the EdX dataset

We summarize the EdX dataset—the chosen quasi-identifiers, the implementation of kk-anonymization, and the resulting published dataset Xed,raw\mathbf{X}_{\mathsf{ed,raw}} based on documentation included with the dataset and in two articles describing the creation of the dataset itself .

The raw dataset consisted of 841,687 rows for 597,692 students. Each row corresponded to the registration of a single student in a single course and included the information described above. IP addresses were used to infer a student’s location even when a student chose not to self-report their location. EdX considered username and IP address to be identifying. Each username was replaced by a unique 7-digit identification number (UID). A username appearing in multiple rows was replaced by the same UID in each. IP addresses were redacted.

After aggregating the rows by UID, Xed\mathbf{X}_{\mathsf{ed}} can be seen as kk-anonymized with respect to 17 overlapping quasi-identifiers: Q∗Q_{*} as before and Q1,…,Q16Q_{1},\dots,Q_{16}, where Qi=Q_{i}= {gender, year of birth, country, enrolled in course ii, number of forum posts in course ii}.

The final published result Xed,raw\mathbf{X}_{\mathsf{ed,raw}} includes 641,138 course registrations by 476,532 students across 16 courses.

As published, the EdX dataset had 641,138 rows, each representing to a single course registration for one of 476,532 distinct students. But the object of our privacy concerns is a student, not a student-course pair. We aggregated the rows corresponding to the same UID. We call the result Xed\mathbf{X}_{\mathsf{ed}}.

The creators of the EdX dataset failed to identify which attributes are publicly available—the very thing that experts are supposed to be good at. Specifically, level of education and certificates of course completion are not included in any of the quasi-identifiers despite both being readily available on LinkedIn. The exclusion of certificates is particularly indefensible: at the same time as the EdX dataset was being created, EdX and LinkedIn collaborated to allows LinkedIn users to include cryptographically unforgeable certificates of completion on their profiles.

We consider a relaxation of the notion of effective anonymity which we call ambiguous effective anonymity. Let Iamb(Y,y,Q)≜{n:yn(Q)∩y(Q)≠∅}I_{\mathsf{amb}}(\mathbf{Y},\mathbf{y},Q)\triangleq\{n:\mathbf{y}_{n}(Q)\cap\mathbf{y}(Q)\neq\emptyset\}. The ambiguous effective anonymity of y\mathbf{y} in Y\mathbf{Y} with respect to QQ is EAamb(Y,y,Q)=∣Iamb(Y,y,Q)∣\mathsf{EA_{\mathsf{amb}}}(\mathbf{Y},\mathbf{y},Q)=|I_{\mathsf{amb}}(\mathbf{Y},\mathbf{y},Q)|. Ambiguous effective anonymity helps us reason about what an attacker can infer from the dataset.

We say y∈Y\mathbf{y}\in\mathbf{Y} is unique with respect to QQ if EA(Y,y,Q)=1\mathsf{EA}(\mathbf{Y},\mathbf{y},Q)=1, and unambiguously unique if EAamb(Y,y,Q)=1\mathsf{EA_{\mathsf{amb}}}(\mathbf{Y},\mathbf{y},Q)=1.

EAamb\mathsf{EA_{\mathsf{amb}}} is never less than EA\mathsf{EA}, and is very often greater in EdX. The presence of unambiguously unique records in a supposedly-anonymized dataset indicates a clear failure of syntactic anonymity. Considering ambiguous effective anonymity makes critiquing kk-anonymity much harder. We are giving kk-anonymity the benefit of all the additional ambiguity that comes from missing data rather than from the anonymizer itself.

Appendix B Deferred Proofs

Let HH be a hierarchy with TT nodes at the second level: H1,…,HtH_{1},\dots,H_{t} (as in Figure 4). Let X∈UD\mathbf{X}\in\mathcal{U}^{D} be a dataset, MM be a minimal hierarchical kk-anonymizer, and Y←M(X,H)\mathbf{Y}\leftarrow M(\mathbf{X},H). For t∈[1,T]t\in[1,T], let Xt=X∩HtD\mathbf{X}_{t}=\mathbf{X}\cap H_{t}^{D} and let Yt\mathbf{Y}_{t} be the records in Y\mathbf{Y} corresponding to the records in Xt\mathbf{X}_{t}. If X=∪tXt\mathbf{X}=\cup_{t}\mathbf{X}_{t}, then for all but at most one t∈{t:∣Xt∣=k}t\in\{t:|\mathbf{X}_{t}|=k\}, y⊆HtD\mathbf{y}\subseteq H_{t}^{D} for all y∈Yt\mathbf{y}\in\mathbf{Y}_{t}.

Note that as defined, the generalized records in Yt\mathbf{Y}_{t} are not necessarily contained in HtDH^{D}_{t}. The claim says that if X\mathbf{X} consists of data in the TT clusters X1,…,XT\mathbf{X}_{1},\dots,\mathbf{X}_{T}, then the records in Yt\mathbf{Y}_{t} will be contained in HtDH^{D}_{t} for almost all clusters of size exactly kk.

First, we show that for any y=(y1,…,yD)\mathbf{y}=(y_{1},\allowbreak\dots,\allowbreak y_{D}), a single coordinate of y\mathbf{y} is generalized to H=UH=\mathcal{U} if and only if every coordinate in y\mathbf{y} is generalized to HH. Namely, if yd=Hy_{d}=H for some dd, then y=HD\mathbf{y}=H^{D}.

Suppose for contradiction that there exists y=(y1,…,yD)\mathbf{y}=(y_{1},\dots,y_{D}) corresponding to x∈X\mathbf{x}\in\mathbf{X} such that y1=Hy_{1}=H but y2⊆Hty_{2}\subseteq H_{t} for some tt. By the assumption on X\mathbf{X}, there exists t′t^{\prime} such that y∈Yt′\mathbf{y}\in\mathbf{Y}_{t^{\prime}}. Because y2⊆Hty_{2}\subseteq H_{t}, t′=tt^{\prime}=t and hence y∈Yt\mathbf{y}\in\mathbf{Y}_{t}. By kk-anonymity, there are at least k−1k-1 additional records y′∈Y\mathbf{y}^{\prime}\in\mathbf{Y} such that y′=y\mathbf{y}^{\prime}=\mathbf{y}. Repeating the previous argument, y′∈Yt\mathbf{y}^{\prime}\in\mathbf{Y}_{t}.

Let y∗=(Ht,y2,…,yD)⊊y\mathbf{y}^{*}=(H_{t},y_{2},\dots,y_{D})\subsetneq\mathbf{y}. Construct Y∗\mathbf{Y}^{*} by replacing all copies of y\mathbf{y} in Y\mathbf{Y} with y∗\mathbf{y}^{*}. It is immediate that Y∗\mathbf{Y}^{*} is kk-anonymous and respects the hierarchy. By the assumption that y1=Hy_{1}=H, Y∗\mathbf{Y}^{*} strictly refines Y\mathbf{Y}. Additionally, Y∗\mathbf{Y}^{*} generalizes X\mathbf{X}, because all altered rows were in Yt\mathbf{Y}_{t}. This contradicts the minimality of the kk-anonymizer MM. Therefore we have proved that if yd=Hy_{d}=H for some dd, then yd=Hy_{d}=H for all dd.

Next, we show that for all but at most one t∈{t:∣Xt∣=k}t\in\{t:|\mathbf{X}_{t}|=k\}, there exists y∈Yt\mathbf{y}\in\mathbf{Y}_{t} such that y⊆HtD\mathbf{y}\subseteq H^{D}_{t}. By the preceding argument, it suffices to show that y≠HD\mathbf{y}\neq H^{D}. Suppose for contradiction there exists t≠t′t\neq t^{\prime} such that for all y∈Yt∪Yt′\mathbf{y}\in\mathbf{Y}_{t}\cup\mathbf{Y}_{t^{\prime}}, y=HD\mathbf{y}=H^{D}. Construct Y′\mathbf{Y}^{\prime} by replacing each y∈Yt′\mathbf{y}\in\mathbf{Y}_{t^{\prime}} with Ht′D⊊yH_{t^{\prime}}^{D}\subsetneq\mathbf{y}. It is easy to see that Y′\mathbf{Y}^{\prime} respects the hierarchy, satisfies kk-anonymity, generalizes X\mathbf{X}, and strictly refines Y\mathbf{Y}. This contradicts the minimality of the kk-anonymizer MM.

To complete the proof, let t∈{t:∣Xt∣=k}t\in\{t:|\mathbf{X}_{t}|=k\} and suppose there exists y∈Yt\mathbf{y}\in\mathbf{Y}_{t} such that y⊆HtD\mathbf{y}\subseteq H^{D}_{t}. By kk-anonymity, there must be at least k−1k-1 distinct y′=y⊆HtD\mathbf{y}^{\prime}=\mathbf{y}\subseteq H^{D}_{t}. By assumption on X\mathbf{X}, each such y′\mathbf{y}^{\prime} must be an element of Yt\mathbf{Y}_{t}. Because ∣Yt∣=∣Xt∣=k|\mathbf{Y}_{t}|=|\mathbf{X}_{t}|=k, every element of Yt\mathbf{Y}_{t} is equal to y⊆HtD\mathbf{y}\subseteq H^{D}_{t}. ∎

The adversary A\mathsf{A} takes as input Y\mathbf{Y} and produces the output Z\mathbf{Z} as follows. For t∈[T]t\in[T], let Y^t=Y∩HtD\widehat{\mathbf{Y}}_{t}=\mathbf{Y}\cap H_{t}^{D}. If ∣Y^t∣≠k|\widehat{\mathbf{Y}}_{t}|\neq k, copy every y∈Y^t\mathbf{y}\in\widehat{\mathbf{Y}}_{t} into the output Z\mathbf{Z}. Otherwise ∣Y^t∣=k|\widehat{\mathbf{Y}}_{t}|=k. By kk-anonymity Y^t\widehat{\mathbf{Y}}_{t} consists of kk copies of a single generalized record yt\mathbf{y}^{t}. Let bigt={d:ydt=Ht}{\mathsf{big}}_{t}=\{d:y^{t}_{d}=H_{t}\} be the large coordinates of yt\mathbf{y}^{t}, and let Bt=∣bigt∣B_{t}=|{\mathsf{big}}_{t}| be the number of large coordinates. If ∣Bt−D/2∣>D/8\left|B_{t}-D/2\right|>D/8, then A\mathsf{A} writes kk copies of yt\mathbf{y}^{t} to the output Z\mathbf{Z}. Otherwise A\mathsf{A} writes k−1k-1 copies of Ht,smlDH_{t,{\mathsf{sml}}}^{D} and one copy of zt=(z1t,…,zDt)\mathbf{z}^{t}=(z^{t}_{1},\ldots,z^{t}_{D}) to the output, where

It is immediate from the construction that Z⪯Y\mathbf{Z}\preceq\mathbf{Y}. Moreover, it is easy to arrange the records in Z\mathbf{Z} so that zn⊆yn\mathbf{z}_{n}\subseteq\mathbf{y}_{n} for all n∈[N]n\in[N]. By construction, zn⊊yn\mathbf{z}_{n}\subsetneq\mathbf{y}_{n} implies that zn\mathbf{z}_{n} differs from zn\mathbf{z}_{n} differs from yn\mathbf{y}_{n} on at at least Bt≥3D/8B_{t}\geq 3D/8 coordinates.

To prove the theorem, it remains to show that w.h.p. X⪯Z\mathbf{X}\preceq\mathbf{Z} and Z≺Ω(N)Y\mathbf{Z}\prec_{\Omega(N)}\mathbf{Y}. Let Xbig=X∖(⋃t Ht,smlD)\mathbf{X}_{\mathsf{big}}=\mathbf{X}\setminus\left(\bigcup_{t}\ H^{D}_{t,{\mathsf{sml}}}\right) consist of all the records x\mathbf{x} that have at least one large coordinate (i.e., xd∈Ht,bigx_{d}\in H_{t,{\mathsf{big}}} for some t,dt,d).

For all t∈[T]t\in[T], let Xt=X∩HtD\mathbf{X}_{t}=\mathbf{X}\cap H_{t}^{D} and let X^t⊆Xt\widehat{\mathbf{X}}_{t}\subseteq\mathbf{X}_{t} be the records x∈X\mathbf{x}\in\mathbf{X} that correspond to the records in Y^t\widehat{\mathbf{Y}}_{t}. (Whereas Xt\mathbf{X}_{t} consists of all records that are in cluster tt, X^t\widehat{\mathbf{X}}_{t} consists of only those records that correspond to generalized records y∈Y^t\mathbf{y}\in\widehat{\mathbf{Y}}_{t} that can be easily inferred to be in cluster tt based on Y\mathbf{Y}.) A cluster tt is X\mathbf{X}-good if ∣Xt∣=k|\mathbf{X}_{t}|=k and ∣Xt∩Xbig∣=1|\mathbf{X}_{t}\cap\mathbf{X}_{\mathsf{big}}|=1. A cluster tt is Y^\widehat{\mathbf{Y}}-good if Y^t=k\widehat{\mathbf{Y}}_{t}=k and ∣Bt−D/2∣≤D/8|B_{t}-D/2|\leq D/8.

Ω(N)\Omega(N) clusters tt are X\mathbf{X}-good.

All but at most one X\mathbf{X}-good clusters are Y^\widehat{\mathbf{Y}}-good.

For all Y^\widehat{\mathbf{Y}}-good clusters tt, X^t∩Xbig={xt}\widehat{\mathbf{X}}_{t}\cap\mathbf{X}_{\mathsf{big}}=\{\mathbf{x}^{t}\} and xt⊆zt\mathbf{x}^{t}\subseteq\mathbf{z}^{t}.

Note that if tt is both X\mathbf{X}-good and Y^\widehat{\mathbf{Y}}-good, then X^t=Xt\widehat{\mathbf{X}}_{t}=\mathbf{X}_{t}. But there may be tt that are Y^\widehat{\mathbf{Y}}-good but not X\mathbf{X}-good.

We lower bound \Pr[t\mbox{\mathbf{X}-good}] by a constant and then apply McDiarmid’s Inequality.

Combining the above, \Pr[t\mbox{\mathbf{X}-good}]=\Omega(1). Quantitatively, for k≤15k\leq 15, \Pr[t\mbox{\mathbf{X}-good}]\gtrsim 1/(e^{2}\sqrt{k})>1/30.

Thus there are Ω(N)\Omega(N) X\mathbf{X}-good values of tt with high probability.

Cluster tt is Y^\widehat{\mathbf{Y}}-good if Y^t=k\widehat{\mathbf{Y}}_{t}=k and ∣Bt−D/2∣≤D/8|B_{t}-D/2|\leq D/8. First we show that for all but one X\mathbf{X}-good tt, ∣Y^t∣=k|\widehat{\mathbf{Y}}_{t}|=k. Let Yt⊇Y^t\mathbf{Y}_{t}\supseteq\widehat{\mathbf{Y}}_{t} be the records in Y\mathbf{Y} corresponding to the records in Xt\mathbf{X}_{t}. (Whereas Yt\mathbf{Y}_{t} consists of all records that correspond to Xt\mathbf{X}_{t}, Y^t\widehat{\mathbf{Y}}_{t} consists of only those records whose membership in Yt\mathbf{Y}_{t} can be easily inferred from Y\mathbf{Y}.) Observe that ∣Xt∣=∣Yt∣≥∣Y^t∣|\mathbf{X}_{t}|=|\mathbf{Y}_{t}|\geq|\widehat{\mathbf{Y}}_{t}|. By construction, for all x∈X\mathbf{x}\in\mathbf{X} there exists tt such that x∈Xt\mathbf{x}\in\mathbf{X}_{t} with high probability (i.e., X=∪tXt\mathbf{X}=\cup_{t}\mathbf{X}_{t}). By Claim B.1, for all but at most one X\mathbf{X}-good tt and every y∈Yt\mathbf{y}\in\mathbf{Y}_{t}, y⊆HtD\mathbf{y}\subseteq H_{t}^{D}. Thus ∣Y^t∣=Yt=k|\widehat{\mathbf{Y}}_{t}|=\mathbf{Y}_{t}=k.

Finally we show that for all X\mathbf{X}-good tt as guaranteed by Claim B.1, Bt∈(3D/8,5D/8)B_{t}\in(3D/8,5D/8) with high probability. Y^t\widehat{\mathbf{Y}}_{t} consists of kk copies of the same generalized record (y1,…,yd)(y_{1},\dots,y_{d}). Since MM is hierarchical, yd∈{Ht,Ht,sml,Ht,big}y_{d}\in\{H_{t},H_{t,{\mathsf{sml}}},H_{t,{\mathsf{big}}}\}. By the X\mathbf{X}-goodness of tt, Xt\mathbf{X}_{t} contains 11 large-noise record xbig\mathbf{x}_{\mathsf{big}} and k−1k-1 small-noise records x′\mathbf{x}^{\prime} By correctness of the kk-anonymizer MM, xbig,d∈Ht,bigx_{{\mathsf{big}},d}\in H_{t,{\mathsf{big}}}   ⟹  yd⊇Ht,big\implies y_{d}\supseteq H_{t,{\mathsf{big}}}. Minimality implies the converse: yd⊇Ht,bigy_{d}\supseteq H_{t,{\mathsf{big}}}   ⟹  xbig,d∈Ht,big\implies x_{{\mathsf{big}},d}\in H_{t,{\mathsf{big}}}. With high probability, xd′∈Ht,smlx^{\prime}_{d}\in H_{t,{\mathsf{sml}}}   ⟹  yd⊇Ht,sml\implies y_{d}\supseteq H_{t,{\mathsf{sml}}}. Putting it all together,

By construction, bigt={d:∃x∈X^t∩Xbig st xd∈Ht,big}{\mathsf{big}}_{t}=\{d:\exists\mathbf{x}\in\widehat{\mathbf{X}}_{t}\cap\mathbf{X}_{\mathsf{big}}\text{ st }x_{d}\in H_{t,{\mathsf{big}}}\}. Because ∣bigt∣>0|{\mathsf{big}}_{t}|>0, ∣X^t∩Xbig∣>1|\widehat{\mathbf{X}}_{t}\cap\mathbf{X}_{\mathsf{big}}|>1. A simple Chernoff-then-union-bound argument shows that the probability that there exist distinct records x,x′∈Xbig\mathbf{x},\mathbf{x}^{\prime}\in\mathbf{X}_{\mathsf{big}} such that ∣bigt∣=∣{d:xd∈Ht,big∨xd′∈Ht,big}∣<5D/8|{\mathsf{big}}_{t}|=|\{d:x_{d}\in H_{t,{\mathsf{big}}}\lor x^{\prime}_{d}\in H_{t,{\mathsf{big}}}\}|<5D/8 is negligible. Hence X^t∩Xbig\widehat{\mathbf{X}}_{t}\cap\mathbf{X}_{\mathsf{big}} is a singleton {xt}\{\mathbf{x}^{t}\} with high probability. xt⊆zt\mathbf{x}^{t}\subseteq\mathbf{z}^{t} follows immediately from the construction. ∎

The hierarchy HH consists of intervals Ht=[ct−Δ,ct+Δ]H_{t}=[c_{t}-\Delta,c_{t}+\Delta] centered at the cluster centers ctc_{t}, for some Δ\Delta. The hierarchy further subdivides each HtH_{t} into a smaller interval Ht,sml=[ct−τ,ct+τ)H_{t,{\mathsf{sml}}}=[c_{t}-\tau,c_{t}+\tau), for some τ<Δ\tau<\Delta, and the complement Ht,big=Ht∖Ht,smlH_{t,{\mathsf{big}}}=H_{t}\setminus H_{t,{\mathsf{sml}}}.

B.2 Proof of Theorem 4.3

A kk-anonymizer M:X↦YM:\mathbf{X}\mapsto\mathbf{Y} groups records x∈X\mathbf{x}\in\mathbf{X} into equivalence classes such that if x\mathbf{x} and x′\mathbf{x}^{\prime} are in the same class, then Y(x)=Y(x′)\mathbf{Y}(\mathbf{x})=\mathbf{Y}(\mathbf{x}^{\prime}). In general, MM may have a lot of freedom to group the x\mathbf{x}’s the equivalence classes and also to choose the y\mathbf{y}’s that generalize each equivalence class.

Claim B.3 states that if MM is minimal and generalizes using hierarchy like in Figure 5, then it has much less freedom. Namely, Y\mathbf{Y} is fully determined by the choice of equivalence classes (with probability at least 1−α1-\alpha over the dataset X\mathbf{X}). MM can group the x\mathbf{x}’s together, but then has no control over the resulting y\mathbf{y}’s.

Claim B.3 and its proof are meant to be read in the context of the proof of Theorem 4.3 and freely uses its notation.

Let T=⌈N2/α⌉T=\lceil N^{2}/\alpha\rceil and U=[0,T]\mathcal{U}=[0,T] be the attribute domain. Records x∈UD\mathbf{x}\in\mathcal{U}^{D} are sampled according to the distribution UU as follows. First sample t(x)←[T]t(\mathbf{x})\leftarrow[T] uniformly at random. Then sample each coordinate xdx_{d} of x\mathbf{x} i.i.d. with Pr⁡[xd=t(x)]=1/2k\Pr[x_{d}=t(\mathbf{x})]=1/2k and xd=0x_{d}=0 otherwise. In other words, x∈{0,t(x)}D\mathbf{x}\in\{0,t(\mathbf{x})\}^{D} consists of DD independent samples from t(x)⋅Bern(1/2k)t(\mathbf{x})\cdot\mathsf{Bern}(1/2k).

All the t(x)t(\mathbf{x}) will be distinct except with probability at most (N2)1T<α/2{N\choose 2}\frac{1}{T}<\alpha/2. If all t(x)t(\mathbf{x}) are distinct, we say X\mathbf{X} is collision-free. The remainder of the proof shows that the adversary succeeds with high probability conditioned on X\mathbf{X} collision-free.

Figure 5 defines the generalization hierarchy. It consists of intervals [0,t][0,t] and singletons {t}\{t\} for t∈[T]t\in[T].

Claim B.3 states that the output Y←M(X,H)\mathbf{Y}\leftarrow M(\mathbf{X},H) of a minimal hierarchical kk-anonymizer must take a restricted form. For y∈Y\mathbf{y}\in\mathbf{Y}, let Xy={x∈X:Y(x)=y}\mathbf{X}_{\mathbf{y}}=\{\mathbf{x}\in\mathbf{X}:\mathbf{Y}(\mathbf{x})=\mathbf{y}\} be the records in X\mathbf{X} that correspond to a copy of y∈Y\mathbf{y}\in\mathbf{Y}. The claim states that

Moreover, if X\mathbf{X} is collision-free then for all y∈Y\mathbf{y}\in\mathbf{Y} and d∈[D]d\in[D]:

Let A\mathsf{A} be deterministic adversary that on input Y\mathbf{Y} does the following. For tt, pick yt=(y1t,…,yDt)∈Y\mathbf{y}^{t}=(y^{t}_{1},\dots,y^{t}_{D})\in\mathbf{Y} such that ∃d∈[D]\exists d\in[D], ydt=[0,t]y^{t}_{d}=[0,t]. Let yt=⊥\mathbf{y}^{t}=\bot if no such dd exists. By the (2), all y\mathbf{y} satisfying the above are identical. If yt≠⊥\mathbf{y}^{t}\neq\bot, we define the following subsets of [D][D]:

If yt≠⊥\mathbf{y}^{t}\neq\bot, A\mathsf{A} writes zt=(z1t,…,zDt)\mathbf{z}^{t}=(z^{t}_{1},\ldots,z^{t}_{D}) to the output Z\mathbf{Z}, where

If X\mathbf{X} is collision-free, then for every t∈TXt\in T_{\mathbf{X}} there is a unique xt=(x1t,…,xDt)∈X\mathbf{x}^{t}=(x^{t}_{1},\ldots,x^{t}_{D})\in\mathbf{X} such that t(xt)=tt(\mathbf{x}^{t})=t. By (2) and the fact that xt∈{0,t}D\mathbf{x}^{t}\in\{0,t\}^{D}, xt⊆zt\mathbf{x}^{t}\subseteq\mathbf{z}^{t}. Hence if X\mathbf{X} is collision-free, then X⪯Z\mathbf{X}\preceq\mathbf{Z} with high probability, proving the first part of the theorem. ∎

The following claims is meant to be read in the context of the proof of Theorem 5.2 and freely uses notation therefrom.

For y∈Y\mathbf{y}\in\mathbf{Y}, let Xy={x∈X:Y(x)=y}\mathbf{X}_{\mathbf{y}}=\{\mathbf{x}\in\mathbf{X}:\mathbf{Y}(\mathbf{x})=\mathbf{y}\} be the records in X\mathbf{X} that correspond to a copy of y∈Y\mathbf{y}\in\mathbf{Y}. If X\mathbf{X} is collision-free, then for all y∈Y\mathbf{y}\in\mathbf{Y} and d∈[D]d\in[D]:

Both parts of the claim rely on the minimality of MM.

Recall that x∈{0,t(x)}D\mathbf{x}\in\{0,t(\mathbf{x})\}^{D}. Let Td∗(Xy)={xd:x∈Xy}⊆∪x∈Xy{0,t(x)}T^{*}_{d}(\mathbf{X}_{\mathbf{y}})=\{x_{d}:\mathbf{x}\in\mathbf{X}_{\mathbf{y}}\}\subseteq\cup_{\mathbf{x}\in\mathbf{X}_{\mathbf{y}}}\{0,t(\mathbf{x})\} be the set of all values in the ddth column of Xy\mathbf{X}_{\mathbf{y}}. X\mathbf{X} collision-free implies that either 0∈Td∗(Xy)0\in T^{*}_{d}(\mathbf{X}_{\mathbf{y}}) or ∣Td∗(Xy)∣≥2|T^{*}_{d}(\mathbf{X}_{\mathbf{y}})|\geq 2 (probably both). Because MM is correct and hierarchical, Td∗(Xy)⊆yd∈HT^{*}_{d}(\mathbf{X}_{\mathbf{y}})\subseteq y_{d}\in H. Hence, by construction of HH, yd=[0,td]y_{d}=[0,t_{d}] for some td∈[0,T]t_{d}\in[0,T]. Let td∗=max⁡x∈Xyxdt_{d}^{*}=\max_{\mathbf{x}\in\mathbf{X}_{\mathbf{y}}}x_{d}. Correctness requires [0,td∗]⊆[0,td][0,t_{d}^{*}]\subseteq[0,t_{d}]. Moreover, replacing y=[0,td]\mathbf{y}=[0,t_{d}] with [0,td∗][0,t_{d}^{*}] would yield a kk-anonymous, hierarchy-respecting refinement of Y\mathbf{Y}. By minimality of MM, [0,td]⊆[0,td∗][0,t_{d}]\subseteq[0,t_{d}^{*}]. Hence, yd=[0,td∗]y_{d}=[0,t_{d}^{*}].

It remains to prove the bound on max⁡y∣Xy∣\max_{\mathbf{y}}|\mathbf{X}_{\mathbf{y}}|. Let X0\mathbf{X}_{0} and X1\mathbf{X}_{1} be an arbitrary partition of Xy\mathbf{X}_{\mathbf{y}}. For b∈{0,1}b\in\{0,1\}, define yb′⊆y\mathbf{y}_{b}^{\prime}\subseteq\mathbf{y} as:

Consider Y′\mathbf{Y}^{\prime} constructed by replacing every instance of y\mathbf{y} in Y\mathbf{Y} with y0′\mathbf{y}^{\prime}_{0} or y1′\mathbf{y}^{\prime}_{1}, using ∣X0∣|\mathbf{X}_{0}| and ∣X1∣|\mathbf{X}_{1}| copies respectively. By construction, Y′\mathbf{Y}^{\prime} correctly generalizes X\mathbf{X} and respects the hierarchy HH. By the preceding argument, Y′\mathbf{Y}^{\prime} strictly refines Y\mathbf{Y} with high probability. Thus, by minimality of MM, Y′\mathbf{Y}^{\prime} cannot be kk-anonymous. This means that for every partition X0,X1\mathbf{X}_{0},\mathbf{X}_{1}, one of ∣Xb∣≤k−1|\mathbf{X}_{b}|\leq k-1. Therefore, ∣Xy∣<2k|\mathbf{X}_{\mathbf{y}}|<2k.

The following claim is used to prove Theorem 5.2. It is meant to be read in the context of Theorem 4.3 and freely uses notation therefrom.

Let k≥2k\geq 2, D=ω(log⁡N)D=\omega(\log N), UU, X\mathbf{X}, Y\mathbf{Y}, and Dt(Y)D^{t}(\mathbf{Y}) as defined in the proof of Theorem 4.3. Let T′={t:zt∈Z}T^{\prime}=\{t:\mathbf{z}^{t}\in\mathbf{Z}\}.

Equation (4) also holds for k=Nk=N, D=ω(Nlog⁡N)D=\omega(N\log N).

The proof is an application of Chernoff and union bounds. We rewrite Dt(Y)D^{t}(\mathbf{Y}) as {d:∃n, Yn,d=[0,t]}\{d:\exists n,~{}\mathbf{Y}_{n,d}=[0,t]\}.

For y∈Y\mathbf{y}\in\mathbf{Y}, let Xy\mathbf{X}_{\mathbf{y}} contain the records x\mathbf{x} that correspond to a copy of y\mathbf{y}. Consider x∗∈Xy\mathbf{x}^{*}\in\mathbf{X}_{\mathbf{y}}, and let t∗=t(x∗)t^{*}=t(\mathbf{x}^{*}). We call dd SUPER if (xd∗≠0)(x^{*}_{d}\neq 0) and (xd′=0 for all x′∈Xy∖{x∗})(x^{\prime}_{d}=0\text{ for all }\mathbf{x}^{\prime}\in\mathbf{X}_{\mathbf{y}}\setminus\{\mathbf{x}^{*}\}). By Claim B.3, if dd is SUPER then d∈Dt(Y)d\in D^{t}(\mathbf{Y}). We will lower bound the number of SUPER dd.

For an index set I⊆[N]I\subseteq[N], let XI={xn}n∈I\mathbf{X}_{I}=\{\mathbf{x}_{n}\}_{n\in I}. By Claim B.3,

Observe that if Xy=XI\mathbf{X}_{\mathbf{y}}=\mathbf{X}_{I}, then x∗∈XI\mathbf{x}^{*}\in\mathbf{X}_{I} and ∣I∣≥k|I|\geq k (by kk-anonymity).

We call dd GOOD with respect to XI\mathbf{X}_{I} if there is a unique x∈XI\mathbf{x}\in\mathbf{X}_{I} such that xd≠0x_{d}\neq 0. Let DI={d GOOD wrt XI}D_{I}=\{d\text{ GOOD wrt }\mathbf{X}_{I}\}. Observe that if Xy=XI\mathbf{X}_{\mathbf{y}}=\mathbf{X}_{I} and dd is SUPER, then dd is GOOD with respect to XI\mathbf{X}_{I}. Therefore

except with at most negligible probability (conditioned on X\mathbf{X} collision-free).

For k=O(1)k=O(1), ∑∣I∣=k2k−2(N∣I∣)<N2k−2\sum_{|I|=k}^{2k-2}{N\choose|I|}<N^{2k-2}. Putting it all together with a final union bound:

B.3 Theorems 5.1 and 5.2

Proofs for both compound PSO attacks follow the same general structure, using the corresponding downcoding attacks in non-black-box ways. The compound PSO adversary A\mathsf{A} gets as input Y←MH(X)\mathbf{Y}\leftarrow M_{H}(\mathbf{X}). It emulates the appropriate downcoding adversary, which produces an output Z\mathbf{Z} such that X⪯Z≺Y\mathbf{X}\preceq\mathbf{Z}\prec\mathbf{Y}.

To complete the proof, one must show that the following hold with probability at least 1−α(N)1-\alpha(N):

The first three are implied by the following:

∀t\forall t, there exists a unique xt∈X\mathbf{x}^{t}\in\mathbf{X} such that xt⊆zt\mathbf{x}^{t}\subseteq\mathbf{z}^{t}.

∀t≠t′\forall t\neq t^{\prime}, zt∩zt′=∅\mathbf{z}^{t}\cap\mathbf{z}^{t^{\prime}}=\emptyset.

For the downcoding attack from Theorem 4.2, these properties are immediate. For the downcoding attack from Theorem 4.3, the first two are immediate and the third follows from Claim B.4.