Capítulo 11 — Sistemas operacionais
Mapa da aula
Aula 11 publicada. Mapa, exemplo, EX031.
flowchart TD
N0["11.1 Chaves no sistema operacional"]
N1["11.2 Aleatoriedade segura"]
N2["11.3 Cifração de disco completo"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3
N3 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX031"]
Desenho lógico
flowchart LR
N0["11.1 Chaves no sistema operacional"]
N1["11.2 Aleatoriedade segura"]
N2["11.3 Cifração de disco completo"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3 --> Q["EX031"]
[11.1 Chaves no sistema operacional]
|
v
[11.2 Aleatoriedade segura]
|
v
[11.3 Cifração de disco completo]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX031]
Objetivos de aprendizagem
Você vai (1) explicar como os sistemas operacionais armazenam e protegem chaves; (2) usar o gerador aleatório seguro do sistema; (3) configurar com bom senso a cifração de disco completo.
11.1 Chaves no sistema operacional
Os sistemas operacionais oferecem repositórios de chaves: áreas protegidas onde as aplicações guardam chaves privadas e certificados, muitas vezes apoiadas em hardware, como um TPM (trusted platform module). Priya examina como os notebooks da equipe da Tidewell guardam os certificados usados para se conectar à wiki da equipe. A chave privada é marcada como não exportável, de modo que as aplicações podem usá-la para assinar, mas não podem copiá-la para fora. Ela aprende que esse projeto limita o dano causado por malware: um atacante pode usar a chave indevidamente enquanto está na máquina, mas não consegue levá-la para outro lugar, e remover o malware encerra o uso indevido.
11.2 Aleatoriedade segura
O sistema operacional coleta eventos imprevisíveis e oferece um gerador aleatório criptograficamente seguro. O módulo secrets do Python o usa, enquanto o módulo random não o usa e nunca deve ser usado para chaves, tokens ou salts. Priya revisa o script de um voluntário da biblioteca que gerava senhas temporárias do portal com random.choice e o substitui por secrets.choice. Ela explica que as saídas do random podem ser previstas depois de observadas em quantidade suficiente, o que permitiria a alguém adivinhar as senhas temporárias de outros leitores. O NIST SP 800-90A descreve os projetos de gerador em que os sistemas operacionais se baseiam.
11.3 Cifração de disco completo
Os notebooks da Tidewell usam cifração de disco completo, que protege os dados se um notebook for perdido enquanto está desligado. Priya confere a configuração: as chaves de recuperação ficam guardadas no sistema de gerenciamento do consórcio, e não em post-its; os notebooks exigem um PIN na inicialização, além do módulo de hardware; e o modo de suspensão é substituído pela hibernação, já que o conteúdo da memória, incluindo as chaves do disco, persiste durante a suspensão. Ela documenta que a cifração de disco completo não protege um notebook roubado enquanto está desbloqueado, de modo que o bloqueio de tela continua essencial.
Exemplo resolvido
Priya confirma as chaves não exportáveis dos notebooks, substitui random.choice por secrets.choice nas senhas temporárias e reforça a cifração de disco completo com chaves de recuperação centralizadas e PINs na inicialização.
Caso sintético. Os notebooks da Tidewell são inventados; o SP 800-90A é real.
Erros e limites
Chaves não exportáveis ainda podem ser usadas indevidamente enquanto o malware estiver rodando. A cifração de disco completo não oferece nada depois que o sistema é desbloqueado.
Exercícios
-
EX031 — Benefício da não exportação. O que uma chave não exportável impede? Rubrica: 3 = copiar a chave para fora da máquina, limitando o dano do malware ao uso indevido local;; 2 = cópia;; 1 = todo uso indevido;; 0 = nenhuma.
-
EX032 — Senhas temporárias. Por que substituir random.choice por secrets.choice? Rubrica: 3 = o random é previsível; o secrets usa o gerador seguro do sistema operacional;; 2 = previsível;; 1 = velocidade;; 0 = nenhuma.
-
EX033 — Suspensão versus hibernação. Por que preferir a hibernação à suspensão em notebooks cifrados? Rubrica: 3 = a memória, incluindo as chaves do disco, continua energizada durante a suspensão;; 2 = chaves na memória;; 1 = bateria;; 0 = nenhuma.
Síntese
Os sistemas operacionais protegem as chaves com repositórios não exportáveis, aleatoriedade segura e cifração de disco completo, quando configurados com cuidado.
Continue estudando — aula 11 (capítulo 11 de 40)
← Capítulo 10 · Índice das aulas · Capítulo 12 →
Continue para a próxima aula já escrita.