Análise de risco de reidentificação

A análise de risco de reidentificação (ou apenas análise de risco) é o processo de análise de dados confidenciais para encontrar propriedades que possam aumentar o risco de algo ser identificado ou de informações confidenciais sobre indivíduos sendo reveladas. É possível usar métodos de análise de risco antes da desidentificação para ajudar a determinar alguma estratégia eficaz ou após ela para monitorar quaisquer alterações ou outliers.

A desidentificação é o processo de remover informações de identificação dos dados. A proteção de dados sensíveis pode detectar e desidentificar os dados confidenciais de acordo com o modo como você os configurou para atender aos requisitos da sua organização.

Por outro lado, a reidentificação é o processo de correspondência de dados desidentificados com dados disponíveis para determinar a pessoa a quem os dados pertencem. A reidentificação é discutida com mais frequência no contexto de informações pessoais confidenciais, como dados médicos ou financeiros.

Para mais informações sobre como usar a proteção de dados sensíveis para avaliar vários tipos de risco, consulte Como medir o risco de reidentificação e divulgação.

Técnicas e termos de análise de risco

Se você não desidentificar de forma correta ou adequada os dados confidenciais, há risco de um invasor reidentificar os dados ou tomar conhecimento de informações confidenciais sobre indivíduos, o que pode ter sérias implicações de privacidade. A proteção de dados sensíveis pode ajudar a calcular esse risco, de acordo com várias métricas.

Antes de abordar as métricas, primeiro definiremos alguns termos comuns:

  • Identificadores: podem ser usados para identificar um indivíduo de modo exclusivo. Por exemplo, o nome completo de alguém ou o número de identificação do governo são considerados identificadores.
  • Quase identificadores: não identificam exclusivamente um indivíduo, mas, quando combinados e cruzados com registros de pessoas, podem aumentar bastante a probabilidade de um invasor conseguir reidentificar um indivíduo. Por exemplo, CEPs e idades são considerados quase identificadores.
  • Dados confidenciais: são dados protegidos contra exposição não autorizada. Atributos como condições de saúde, salário, delitos e localização geográfica costumam ser considerados dados confidenciais. Observe que pode haver sobreposição entre identificadores e dados confidenciais.
  • Classes de equivalência: grupos de linhas com quase identificadores idênticos.

Há quatro técnicas que a proteção de dados sensíveis pode usar para quantificar o nível de risco associado a um conjunto de dados:

  • k-anonimato: é uma propriedade de um conjunto de dados que indica a capacidade de reidentificação dos registros. Um conjunto de dados é k-anonimato quando os quase identificadores de cada pessoa contida nele são idênticos a uma quantidade de, no mínimo, k – 1 outra pessoa no conjunto de dados.
  • l-diversidade: é uma extensão do k-anonimato que mede a diversidade de valores confidenciais para cada coluna em que eles ocorrem. Um conjunto de dados terá l-diversidade quando, para cada conjunto de linhas com semi-identificadores idênticos, houver pelo menos l valores distintos para cada atributo confidencial.
  • k-mapa: calcula o risco de capacidade de reidentificação comparando determinado conjunto de dados desidentificados de indivíduos com um conjunto de reidentificação maior (ou "ataque"). A proteção de dados sensíveis não conhece o conjunto de dados de ataque, mas o modela estatisticamente usando dados disponíveis publicamente, como o Censo dos EUA, usando um modelo estatístico personalizado (indicado como uma ou mais tabelas do BigQuery) ou extrapolando a distribuição de valores no conjunto de dados de entrada. Cada conjunto de dados (de amostra e de reidentificação) compartilha uma ou mais colunas de quase identificadores.
  • Delta-presença (δ-presença): calcula a probabilidade de um determinado usuário em uma população maior estar presente no conjunto de dados. É usada quando a associação ao conjunto de dados são as próprias informações confidenciais. Assim como o k-mapa, a proteção de dados sensíveis não conhece o conjunto de dados de ataque, mas o modela estatisticamente usando dados disponíveis publicamente, distribuições especificadas pelo usuário ou extrapolação do conjunto de dados de entrada.

Sobre k-anonimato

Ao coletar dados para fins de pesquisa, a desidentificação pode ser essencial para ajudar a manter a privacidade dos participantes. Ao mesmo tempo, a desidentificação pode resultar em um conjunto de dados que perde a utilidade prática. O k-anonimato serve para quantificar a capacidade de reidentificação de um conjunto de dados, além de equilibrar a privacidade das pessoas desidentificadas e o aproveitamento dos seus dados. É uma propriedade de um conjunto de dados que pode ser usada para avaliar a capacidade de reidentificação de registros dentro do conjunto de dados.

Por exemplo, considere um conjunto de dados do paciente:

Código do paciente Nome completo CEP Idade Condição ...
746572 João J. Jacobs 98122 29 Doença cardíaca
652978 Débora D. Dreb 98115 29 Diabetes Tipo II
075321 Abraham A. Abernathy 98122 54 Câncer no fígado
339012 Karen K. Cracóvia 98115 88 Doença cardíaca
995212 William W. Wertheimer 98115 54 Asma
...

Este conjunto de dados contém todos os três tipos de dados descritos anteriormente: identificadores, quase identificadores e dados confidenciais.

Se dados confidenciais, como condições de saúde, não forem mascarados ou editados, um invasor poderá usar os quase identificadores aos quais cada um está anexado, possivelmente fazer referência cruzada com outro conjunto de dados que contenha quase identificadores semelhantes e reidentificar as pessoas a quem os dados confidenciais se aplicam.

Um conjunto de dados é considerado k-anônimo se cada combinação de valores para colunas demográficas no conjunto de dados for exibida por pelo menos k registros diferentes. Lembre-se de que um grupo de linhas com quase identificadores idênticos é chamado de "classe de equivalência". Por exemplo, se você tiver identificado os quase identificadores de forma suficiente para que haja um mínimo de quatro linhas cujos valores quase identificadores sejam idênticos, o valor do k-anonimato do conjunto de dados é 4.

Códigos de entidade e cálculo de k-anonimato

Uma opção importante que a proteção de dados sensíveis inclui ao calcular o k-anonimato é o identificador de entidade (ID) opcional. Ele permite determinar com mais precisão o k-anonimato em um cenário comum em que várias linhas do conjunto de dados correspondem ao mesmo usuário. Do contrário, se cada linha, independentemente do usuário, for contabilizada separadamente, a contagem total do usuário para calcular o valor de k-anonimato do conjunto de dados será artificialmente alto. Isso torna os valores dos cálculos de k-anonimato imprecisos.

Considere o seguinte conjunto simples de dados:

Código do usuário CEP
01 42000
02 17000
02 42000
03 17000
03 42000
03 42000
04 42000
04 17000

Sem usar um código de entidade para observar quando linhas diferentes pertencem ao mesmo usuário, a contagem total de usuários usada ao calcular k-anonimato seria 8, embora o número real de usuários seja 4. Neste conjunto de dados, usando métodos tradicionais de cálculo de k-anonimato (sem código de entidade), 3 pessoas têm um valor de k-anonimato de 3, enquanto 5 pessoas têm um valor de k-anonimato de 5, embora haja apenas 4 pessoas reais no banco de dados.

O uso de um ID de entidade faz com que a proteção de dados sensíveis considere o multiconjunto de CEPs a que um usuário está associado como um semi-identificador ao calcular o k-anonimato. No caso exemplificado, existem três valores de quase identificadores "compostos" porque existem três combinações distintas de quase identificadores que são atribuídos aos usuários: 42000, o multiconjunto de 17000 e 42000 e o multiconjunto de 17000, 42000 e 42000. Eles correspondem aos usuários da seguinte forma:

  • [42000] está associado a um usuário único (01).
  • [17000, 42000] está associado a dois usuários únicos (02 e 04).
  • [17000, 42000, 42000] está associado a um usuário único (03).

Como é possível ver, este método considera que os usuários podem aparecer mais de uma vez em nosso banco de dados de CEP, e tratá-los de acordo ao calcular k-anonimato.

Recursos de k-anonimato

Para mais informações sobre k-anonimato, consulte Protecting Privacy when Disclosing Information: k-anonymity and Its Enforcement through Generalization and Suppression (em inglês), de Pierangela Samarati e Latanya Sweeney, do Laboratório de Privacidade de Dados da Universidade de Harvard.

Para saber como calcular o k-anonimato com a proteção de dados sensíveis, com ou sem IDs de entidade, consulte Como calcular o k-anonimato em um conjunto de dados.

Sobre l-diversidade

A l-diversidade está intimamente relacionada ao k-anonimato e foi criada para ajudar a resolver a suscetibilidade de um conjunto de dados desidentificado a ataques, como:

  • ataques de homogeneidade, em que invasores preveem valores confidenciais de um conjunto de dados que foram k-anonimizados, aproveitando a homogeneidade dos valores de um conjunto de k registros;
  • ataques de conhecimento anterior, em que os invasores aproveitam as associações entre os valores de quase identificadores que têm um determinado atributo confidencial para restringir os valores possíveis do atributo.

A l-diversidade tenta medir o quanto um invasor pode aprender sobre as pessoas em termos de k-anonimato e classes de equivalência (conjuntos de linhas com valores de quase identificadores idênticos). Um conjunto de dados tem l-diversidade se, para cada classe de equivalência, houver pelo menos l valores exclusivos para cada atributo confidencial. Para cada classe de equivalência, existem quantos atributos confidenciais no conjunto de dados? Por exemplo, l-diversidade = 1 significa que todos têm o mesmo atributo confidencial, l -diversidade = 2 significa que todos têm um dos dois atributos confidenciais e assim por diante.

Recursos de l-diversidade

Para mais informações sobre l-diversidade, consulte l-Diversity: Privacy Beyond k-Anonymity (em inglês), de Ashwin Machanavajjhala, Johannes Gerke e Daniel Kifer, do Departamento de Ciência da Computação da Universidade de Cornell.

Para aprender a calcular l-diversidade com a proteção de dados sensíveis, consulte Como calcular l-diversidade para um conjunto de dados.

Sobre k-mapa

O k-mapa é muito semelhante ao k-anonimato, exceto pelo fato de que o invasor provavelmente não sabe quem está no conjunto de dados. Use k-mapa se seu conjunto de dados for relativamente pequeno ou se o nível de esforço envolvido na generalização de atributos for muito alto.

Assim como k-anonimato, o k-mapa requer que você determine quais colunas de seu banco de dados são quase identificadores. Ao fazer isso, você está informando os dados que um invasor provavelmente usará para reidentificar os assuntos. Além disso, calcular um valor k-mapa requer um conjunto de dados de reidentificação: uma tabela maior que será comparada às linhas no conjunto de dados original.

Considere o pequeno conjunto de dados de exemplo a seguir. Estes dados de amostra são parte de um banco de dados hipotético maior, coletado de uma pesquisa que retornou resultados com informações confidenciais.

CEP Idade
85535 79
60629 42

Ele parece ter a mesma quantidade de informações para ambos os indivíduos. De fato, levar o k-anonimato em conta para o conjunto de dados maior pode levar à crer que o assunto correspondente à segunda linha é altamente identificável. No entanto, se você fizer backup e pensar nos dados, perceberá que não. Em especial, pense no CEP 85535 dos Estados Unidos, onde vivem hoje aproximadamente 20 pessoas. Há provavelmente apenas uma pessoa com exatamente 79 anos de idade vivendo no CEP 85535. Compare isso com o CEP 60629, que faz parte da área metropolitana de Chicago e abriga mais de 100.000 pessoas. Existem aproximadamente 1.000 pessoas com exatamente 42 anos de idade nesse CEP.

A primeira linha do nosso pequeno conjunto de dados foi facilmente reidentificada, mas não a segunda. No entanto, de acordo com o k-anonimato, ambas as linhas podem ser completamente exclusivas no conjunto de dados maior.

O k-mapa, assim como o k-anonimato, exige que você determine quais colunas do seu banco de dados são quase identificadores. As APIs de análise de risco da proteção de dados sensíveis simulam um conjunto de dados de reidentificação para aproximar as etapas que um invasor pode seguir para comparar o conjunto de dados original e identificar os dados novamente. No exemplo anterior, sabendo que se trata de localizações nos EUA (CEPs) e dados pessoais (idades) e partindo do princípio de que o invasor não sabe quem participou da pesquisa, o conjunto de dados de reidentificação pode incluir todos os habitantes dos EUA.

Agora que você tem quase identificadores e um conjunto de dados de reidentificação, é possível calcular o valor de k-mapa: seus dados atendem a k-mapa com valor k se toda combinação de valores para os quase identificadores aparecerem pelo menos k vezes no conjunto de dados de reidentificação.

De acordo com essa definição, e que a primeira linha em nosso banco de dados provavelmente corresponde apenas a uma pessoa nos EUA, o conjunto de dados de exemplo não atende ao requisito de valor em k-mapa de 2 ou mais. Para ter um valor maior de k-mapa, poderíamos remover os valores de idade, como fizemos aqui:

CEP Idade
85535 **
60629 **

Conforme mencionado anteriormente, o CEP 85535 tem cerca de 20 pessoas e 60629 tem mais de 100.000. Portanto, podemos estimar que esse novo conjunto de dados generalizado tem o valor de k-mapa de aproximadamente 20.

Recursos de k-mapa

Para mais informações sobre k-mapa e sua relação com k-anonimato, consulte Protecting Privacy Using k-Anonymity (em inglês), de Khaled El Emam e Fida Kamal Dankar, no Journal of American Medical Informatics Association.

Para aprender a calcular as estimativas de k-mapa com a proteção de dados sensíveis, consulte Como calcular o k-mapa para um conjunto de dados.

Sobre δ-presença

A delta-presença (δ-presença) estima o risco representado por um invasor que quer descobrir se seu alvo está no conjunto de dados. Isso é um pouco diferente do risco de reidentificação. Aqui, o objetivo não é descobrir o registro exato que corresponde a um indivíduo, mas sim somente saber se um indivíduo faz parte do conjunto de dados. O uso dessa métrica é particularmente apropriado se todos os indivíduos no conjunto de dados compartilharem um atributo confidencial comum. Por exemplo, todos eles têm o mesmo diagnóstico médico.

Assim como em outras métricas, δ-presença, exige que você determine quais colunas de seu banco de dados são quase identificadores. Ao fazer isso, você está informando quais dados um invasor provavelmente usará para descobrir quem está no conjunto de dados. Assim como k-mapa, calcular δ-presença requer um conjunto de dados de ataque: uma tabela maior com que as linhas no conjunto de dados original serão comparadas.

Considere o pequeno conjunto de dados de exemplo a seguir. Estes dados de amostra são parte de um banco de dados hipotético maior de pessoas com uma determinada doença genética.

CEP Idade
85942 72
85942 72
62083 53

No CEP 85942 dos Estados Unidos, há aproximadamente 2 pessoas com 72 anos e, no CEP 62083, há aproximadamente 5 pessoas com 53 anos. Os dois primeiros registros não são exatamente reidentificáveis porque ambos têm os mesmos quase identificadores. Mas como apenas dois indivíduos compartilham esses quase identificadores na população maior, um invasor pode deduzir que ambos sofrem de doença genética. O δ-presença quantifica esse risco específico calculando a proporção de pessoas com determinados quase identificadores que estão no conjunto de dados.

Assim como as outras métricas de risco, δ-presença exige que você determine quais colunas do seu banco de dados são quase identificadores. E, assim como na estimativa de k-mapa, as APIs de análise de risco da proteção de dados sensíveis simulam um conjunto de dados de população para aproximar o conjunto de dados que um invasor pode usar para descobrir quem está no conjunto de dados. No nosso exemplo anterior, sabendo que se trata de localizações nos EUA (CEPs) e dados pessoais (idades) e partindo do princípio de que o invasor não sabe quem tem doença genética, esse conjunto de dados populacionais pode incluir todos os habitantes dos EUA.

Agora que você tem quase identificadores e um conjunto de dados de reidentificação, é possível calcular o valor de δ-presença: seus dados atendem a δ-presença com valor δ se cada combinação de valores para os quase identificadores aparecerem no máximo δ * k vezes em seu conjunto de dados, em que k é o número total de pessoas com esses valores de quase identificadores no conjunto de dados da população. Ao contrário de k em k-anonimato ou k-mapa, o δ em δ-presença é um número real entre 0 e 1.

Considere essa definição e que ambas as pessoas de 72 anos de idade no CEP 85942 da população geral também estão em nosso banco de dados. Esse conjunto de dados não atende a δ-presença para qualquer δ estritamente menor que 1. Para conseguir um valor de δ-presença mais baixo, poderíamos remover o valor de idade das duas primeiras linhas:

CEP Idade
85942 **
85942 **
62083 53

Agora, como 80 pessoas vivem no CEP 85942, o valor δ para os dois primeiros registros é aproximadamente 2/80 = 2,5%. O valor δ para o terceiro registro é aproximadamente 1/5 = 20%. Portanto, podemos estimar que esse novo conjunto de dados generalizado tem um valor de presença δ de cerca de 20%.

Recursos de δ-presença

Para mais informações sobre a estimativa de δ-presença com base em dados estatísticos, consulte δ-Presence Without Complete World Knowledge, de Mehmet Ercan Nergiz e Chris Clifton dos Relatórios técnicos do Departamento de Ciência da Computação da Purdue University.

Para aprender a calcular as estimativas de demo-presença com a proteção de dados sensíveis, consulte Como calcular di-presença para um conjunto de dados.