Colher agora, decifrar depois

Prévia grátis 5 min de leitura

Alguém está gravando o seu tráfego HTTPS. Essa pessoa não consegue ler nada. Ela guarda mesmo assim.

Essa é a ameaça inteira, e repare no que ela não exige: um computador quântico funcionando. Ela exige disco barato e paciência. Capture o texto cifrado hoje, guarde e decifre no dia em que existir uma máquina capaz. O ataque leva o nome desse formato: colher agora, decifrar depois.

É por isso que o problema é do presente. A máquina não chegou. A gravação já está acontecendo.

O único parágrafo de física

A criptografia de chave pública se apoia em problemas baratos num sentido e brutais no outro. Multiplicar dois primos grandes é instantâneo; fatorar o produto de volta não é. Multiplicar um ponto de uma curva elíptica por um escalar é instantâneo; recuperar o escalar não é. Um computador clássico atacando uma chave RSA de 2048 bits fica sem universo antes de ficar sem candidatos. Uma máquina quântica grande o bastante, rodando um algoritmo que Peter Shor publicou em 1994, transforma os dois problemas em trabalho que termina. É toda a física de que este curso precisa. Como a máquina chega lá é um assunto fascinante, e não é seu. Quais dos seus dados ela lê quando chegar é bem seu.

Três números

A pergunta útil não é "quando a máquina chega?" É uma soma e uma comparação, e você consegue fazê-las hoje com números que já conhece. Isso costuma ser chamado de desigualdade de Mosca, por causa do pesquisador que a formulou.

Pegue por quanto tempo um dado precisa continuar secreto. Pegue quanto tempo a sua migração vai levar. Some. Se a soma cair depois do dia em que existir uma máquina capaz, aquele dado já está exposto, porque a gravação acontece agora e ninguém desgrava nada.

O primeiro número é o que os times nunca anotam.

Dado Por quanto tempo precisa ficar secreto
Um cookie de sessão Minutos
Um link de redefinição de senha Uma hora
Um token de acesso de API Dias
Um registro de pagamento de cliente Anos, por regulação
Um prontuário ou documento de identidade Uma vida de trabalho
Qualquer coisa sob retenção legal Décadas

Leia essa tabela como ranking de risco e o pânico sai do assunto. Um cookie de sessão capturado hoje não vale nada para um atacante em 2040, porque a sessão acabou antes do almoço. Um documento de identidade guardado com exigência de sigilo por trinta anos é outra história. Se ele foi cifrado com uma chave trocada por um canal que alguém gravou, ele está exposto.

Quase tudo o que uma aplicação web transmite tem vida curta. Uma parte não tem. A migração é sobre essa segunda pilha.

O reflexo que este curso vem corrigir

Pergunte a um time Rails se ele está exposto e você recebe uma de duas respostas, ambas erradas do mesmo jeito.

"Usamos criptografia, então estamos quebrados" é amplo demais. "Fazemos hash de senha com BCrypt, então estamos bem" é estreito demais. Essa resposta responde a uma pergunta que ninguém fez, porque o hash de senha não é o que está sob ameaça.

A verdade fica no meio, e é específica o bastante para você agir. A lição 2 traça a linha: a chave pública é a vítima, enquanto a cifragem simétrica e o hash sobrevivem com parâmetros maiores. A lição 4 percorre esta aplicação e diz qual parte dela cai de que lado. A resposta para este código é mais estreita do que a maioria espera, e entender o porquê vale mais que qualquer nome de algoritmo.

Um aviso sobre o que isto é

Isto é orientação de engenharia. Não é consultoria de segurança para o seu sistema específico, e não é orientação jurídica nem de conformidade. Dados regulados, obrigações contratuais e exigências nacionais variam. Eles mudam mais rápido que um curso, e quem decide são pessoas com mandato para isso. Tire daqui o formato do raciocínio; tire os prazos do seu jurídico e do seu regulador.

O que este curso cobre

A lição 2 separa o que quebra do que sobrevive. É a distinção que mais sustenta o assunto, e a que mais se erra.

A lição 3 cobre os padrões. Ela nomeia os algoritmos escolhidos e os números sob os quais foram publicados, diz o que ainda é rascunho e mostra como conferir o estado dessa lista em vez de confiar num curso escrito meses atrás.

A lição 4 percorre uma aplicação Rails e marca a exposição com honestidade: a parte do seu proxy, a parte da sua plataforma e a parte pequena do seu próprio código.

A lição 5 é a entrega principal: agilidade criptográfica. Você vai migrar mais de uma vez, então o sistema precisa trocar de algoritmo sem reescrita.

A lição 6 é prazo e postura, incluindo como é a inação deliberada e onde ela deixa de ser deliberada.

A lição 7 junta tudo num plano que você levaria a uma revisão sem prometer demais.

Comece pela linha entre quebrado e apenas machucado, porque toda decisão depois dela depende de onde essa linha cai.

Aula 1 de 7 · grátis

Continue com a aula 2

O que quebra e o que sobrevive

Separa a criptografia de chave pública, que cai, da cifragem simétrica e do hash, que sobrevivem com parâmetros maiores.

Com uma conta grátis você também tem os quizzes, seu progresso e suas anotações, e a discussão.

Digite para buscar...