Capítulo 8 — Arquitetura de computadores
Mapa da aula
Aula 08 publicada. Mapa, exemplo, EX022.
flowchart TD
N0["8.1 Suporte de hardware à criptografia"]
N1["8.2 Caches e vazamento"]
N2["8.3 Elementos seguros"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3
N3 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX022"]
Desenho lógico
flowchart LR
N0["8.1 Suporte de hardware à criptografia"]
N1["8.2 Caches e vazamento"]
N2["8.3 Elementos seguros"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3 --> Q["EX022"]
[8.1 Suporte de hardware à criptografia]
|
v
[8.2 Caches e vazamento]
|
v
[8.3 Elementos seguros]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX022]
Objetivos de aprendizagem
Você vai (1) descrever como os processadores aceleram a criptografia; (2) explicar os caches como fonte de vazamento; (3) avaliar elementos seguros para armazenar as chaves dos medidores.
8.1 Suporte de hardware à criptografia
Os processadores modernos incluem instruções que aceleram o AES e o SHA-2 diretamente no hardware, o que torna a cifração rápida e também ajuda a resistir a vazamentos de tempo, porque o hardware executa em tempo constante, quaisquer que sejam os valores da chave. Aiyana compara os processadores dos servidores da Ridgeway, que têm essas instruções, com os pequenos microcontroladores dos medidores, que podem não ter. Num microcontrolador, o AES em software precisa ser escrito com cuidado para evitar consultas a tabelas que dependam de dados secretos. Esse detalhe de arquitetura afeta quais algoritmos a Ridgeway seleciona para os medidores e por que ela prefere fornecedores cujas bibliotecas documentam o comportamento em tempo constante.
8.2 Caches e vazamento
Os caches tornam o acesso à memória mais rápido ao manter os dados usados recentemente perto do processador. Como o tempo de acesso depende de os dados estarem ou não no cache, um programa cujos acessos à memória dependem de segredos pode vazar esses segredos para outro programa que compartilha o cache. As implementações clássicas do AES baseadas em tabelas tinham essa fraqueza. Aiyana aprende que é por isso que os servidores em nuvem isolam cargas de trabalho sensíveis e que as instruções de hardware substituíram as tabelas de consulta. Para os servidores da Ridgeway, ela recomenda executar o serviço de chaves em hosts dedicados, e não em máquinas virtuais compartilhadas, um custo considerado justificável para as chaves mais sensíveis.
8.3 Elementos seguros
Um elemento seguro é um pequeno chip resistente a violação que armazena chaves e realiza operações criptográficas internamente, de modo que a chave nunca aparece na memória principal do medidor. Ele resiste a sondagem e a ataques de canal lateral melhor do que um microcontrolador comum. Aiyana compara três projetos de medidor: chave na memória flash, chave numa região protegida do microcontrolador e chave dentro de um elemento seguro. O elemento seguro custa mais por medidor, mas significa que abrir um medidor e extrair sua memória não revela a chave dele. Ela registra o trade-off e o risco residual que permanece mesmo com a resistência a violação.
Exemplo resolvido
Aiyana recomenda elementos seguros para as chaves dos medidores, AES em hardware nos servidores e hosts dedicados para o serviço de chaves, com os custos e os riscos residuais registrados.
Caso sintético. Os projetos de medidor e os custos são inventados.
Erros e limites
A resistência a violação aumenta o custo do atacante, mas não é absoluta. A aceleração por hardware não corrige usos indevidos, como a reutilização de nonces.
Exercícios
-
EX022 — Benefício do AES em hardware. Cite dois benefícios das instruções de AES em hardware. Rubrica: 3 = velocidade e execução em tempo constante, que resiste a vazamentos de tempo;; 2 = um;; 1 = vago;; 0 = nenhuma.
-
EX023 — Vazamento pelo cache. Como um cache pode vazar segredos? Rubrica: 3 = o tempo de acesso depende dos dados em cache; acessos dependentes de segredos revelam chaves a um programa que compartilha a máquina;; 2 = tempo mencionado;; 1 = não vaza;; 0 = nenhuma.
-
EX024 — Valor do elemento seguro. O que um elemento seguro impede, em comparação com chaves na flash? Rubrica: 3 = extrair a memória de um medidor aberto não revela sua chave;; 2 = protege a chave;; 1 = cifra os dados;; 0 = nenhuma.
Síntese
A arquitetura molda a segurança criptográfica: instruções de hardware, o comportamento do cache e os elementos seguros decidem quão bem as chaves sobrevivem em dispositivos reais.
Continue estudando — aula 08 (capítulo 08 de 50)
← Capítulo 07 · Índice das aulas · Capítulo 09 →
Continue para a próxima aula já escrita.