Capítulo 14 — Fundamentos de privacidade
Mapa da aula
Aula 14 publicada. Mapa, exemplo, EX040.
flowchart TD
N0["14.1 Princípios de privacidade"]
N1["14.2 Pseudonimização"]
N2["Laboratório — Pseudônimos com chave versus sem chave"]
N3["14.3 Solicitações dos titulares"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX040"]
Desenho lógico
flowchart LR
N0["14.1 Princípios de privacidade"]
N1["14.2 Pseudonimização"]
N2["Laboratório — Pseudônimos com chave versus sem chave"]
N3["14.3 Solicitações dos titulares"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX040"]
[14.1 Princípios de privacidade]
|
v
[14.2 Pseudonimização]
|
v
[Laboratório — Pseudônimos com chave versus sem chave]
|
v
[14.3 Solicitações dos titulares]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX040]
Objetivos de aprendizagem
Você vai (1) aplicar os princípios de privacidade aos dados dos associados da Fernway; (2) projetar a pseudonimização para as análises; (3) atender às solicitações dos titulares por meio da arquitetura.
14.1 Princípios de privacidade
Lucas estuda os princípios de privacidade comuns às leis de proteção de dados: finalidade legítima, minimização dos dados, exatidão, limitação do armazenamento, segurança e responsabilização. Ele os aplica ao programa de associados da Fernway. Os associados informam o endereço para as entregas e o histórico de compras para as recompensas. A equipe de marketing quer analisar as compras por região. A minimização sugere que eles precisam dos distritos postais e das categorias de produtos, e não de nomes e endereços completos. Lucas aprende que a privacidade molda a arquitetura: o sistema de análise deve receber menos dados do que a loja guarda, por projeto, e não só por política.
14.2 Pseudonimização
Para as análises, Lucas projeta a pseudonimização: os identificadores dos associados são substituídos por hashes com chave calculados com HMAC e uma chave secreta guardada pela equipe de dados, e não pelos analistas. O mesmo associado sempre corresponde ao mesmo pseudônimo, de modo que as compras podem ser ligadas, mas os analistas não conseguem revertê-lo sem a chave. O laboratório abaixo mostra isso com associados sintéticos e por que um hash sem chave é mais fraco: qualquer pessoa pode calcular o hash de números de associado candidatos e compará-los. Dados pseudonimizados continuam sendo dados pessoais segundo muitas leis, então ainda precisam de proteção, mas o risco é menor.
Laboratório — Pseudônimos com chave versus sem chave
# Keyed (HMAC) vs unkeyed pseudonyms for synthetic member numbers. Teaching only.
import hmac, hashlib
KEY = b"synthetic-data-team-key"
members = ["M100231", "M100232", "M100233"]
keyed = {m: hmac.new(KEY, m.encode(), hashlib.sha256).hexdigest()[:12] for m in members}
plain = {m: hashlib.sha256(m.encode()).hexdigest()[:12] for m in members}
target_plain, target_keyed = plain["M100232"], keyed["M100232"]
guesses = [f"M1002{i:02d}" for i in range(100)]
hit_plain = [g for g in guesses if hashlib.sha256(g.encode()).hexdigest()[:12] == target_plain]
hit_keyed = [g for g in guesses if hashlib.sha256(g.encode()).hexdigest()[:12] == target_keyed]
print("stable keyed pseudonym:", keyed["M100232"] == hmac.new(KEY, b"M100232", hashlib.sha256).hexdigest()[:12])
print("guessing unkeyed pseudonym recovers:", hit_plain)
print("guessing keyed pseudonym (no key) recovers:", hit_keyed)
Execute com python3 lab_pseudo.py. Saída verificada:
stable keyed pseudonym: True
guessing unkeyed pseudonym recovers: ['M100232']
guessing keyed pseudonym (no key) recovers: []
14.3 Solicitações dos titulares
Os associados podem pedir para ver ou excluir seus dados. Lucas mapeia onde ficam os dados dos associados: o banco de dados da loja, o e-mail marketing, as análises, os backups e o parceiro de entregas. Sem o mapa, a Fernway não conseguiria atender às solicitações por completo. Ele propõe que cada sistema ofereça uma forma de localizar e excluir os registros de um associado, e que os backups expirem num calendário em vez de serem editados. O atendimento às solicitações se torna um teste da arquitetura: se os dados estão espalhados em lugares desconhecidos, a organização não consegue cumprir suas promessas aos associados.
Exemplo resolvido
Lucas aplica seis princípios de privacidade ao programa de associados, projeta pseudônimos baseados em HMAC para as análises e mapeia cinco locais de dados para as solicitações dos titulares.
Caso sintético. Os associados, os sistemas e as chaves são sintéticos.
Erros e limites
Dados pseudonimizados podem ser reidentificados pela combinação de campos. Os requisitos legais variam conforme a jurisdição.
Exercícios
-
EX040 — Minimização nas análises. De que dados o marketing realmente precisa para a análise por região? Rubrica: 3 = distritos postais e categorias de produtos, não nomes ou endereços completos;; 2 = mínimos;; 1 = tudo;; 0 = nenhuma.
-
EX041 — Fraqueza sem chave. O que o laboratório mostrou sobre os hashes sem chave? Rubrica: 3 = qualquer pessoa pode calcular o hash de números de associado candidatos e compará-los; os hashes com chave resistem a isso;; 2 = comparação;; 1 = iguais;; 0 = nenhuma.
-
EX042 — Exclusão nos backups. Como Lucas trata a exclusão de associados nos backups? Rubrica: 3 = os backups expiram num calendário em vez de serem editados;; 2 = expiração;; 1 = editar os backups;; 0 = nenhuma.
Síntese
A arquitetura de privacidade minimiza os dados por finalidade, pseudonimiza as análises com chaves e mapeia cada cópia para atender às solicitações.
Continue estudando — aula 14 (capítulo 14 de 40)
← Capítulo 13 · Índice das aulas · Capítulo 15 →
Continue para a próxima aula já escrita.