Mapa da aula
Aula 03 publicada. Mapa, exemplo, EX011.
flowchart TD
N0["3.1 O inventário como programa"]
N1["3.2 Graduação das evidências"]
N2["3.3 Atividade prática — Laboratório I"]
N3["3.4 Evidências dos fornecedores"]
N4["3.5 Apresentando as evidências"]
N5["3.6 Caso resolvido"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX011"]
Desenho lógico
flowchart LR
N0["3.1 O inventário como programa"]
N1["3.2 Graduação das evidências"]
N2["3.3 Atividade prática — Laboratório I"]
N3["3.4 Evidências dos fornecedores"]
N4["3.5 Apresentando as evidências"]
N5["3.6 Caso resolvido"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX011"]
[3.1 O inventário como programa]
|
v
[3.2 Graduação das evidências]
|
v
[3.3 Atividade prática — Laboratório I]
|
v
[3.4 Evidências dos fornecedores]
|
v
[3.5 Apresentando as evidências]
|
v
[3.6 Caso resolvido]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX011]
Objetivos de aprendizagem
Você vai (1) projetar um programa de inventário criptográfico em escala organizacional; (2) graduar as evidências por método e confiança; (3) quantificar a cobertura e a parcela de desconhecidos; (4) tratar as evidências dos fornecedores; e (5) apresentar os resultados do inventário como evidência de decisão, e não como planilhas.
3.1 O inventário como programa
Em escala organizacional, uma lista de materiais criptográficos (CBOM) não é uma planilha pontual, mas um programa com responsáveis, fontes, calendários e métricas de qualidade. As fontes incluem sensores passivos de rede, bancos de dados de gestão de configuração, sistemas de gestão de certificados, scanners de código e de binários, APIs dos provedores de nuvem, logs de auditoria dos HSMs e atestados dos fornecedores. Cada uma alimenta observações — ativo, função, algoritmo, parâmetro, implementação, método, data — num repositório que pode ser consultado e comparado ao longo do tempo.
Atribua um responsável a cada fonte e um calendário para atualizá-la, e registre quando cada observação foi confirmada pela última vez. As diferenças entre os retratos mostram a mudança ao longo do tempo, incluindo retrocessos, como um grupo híbrido sendo desligado. O Laboratório I mostra a versão mais simples dessa agregação para alguns poucos ativos sintéticos da NRHT.
3.2 Graduação das evidências
Nem todas as observações são iguais. Uma graduação prática: A — observada em operação (handshake, log de HSM); B — lida de uma configuração autorizada; C — inferida da análise de código ou de binários; D — declaração do fornecedor; U — desconhecida. As decisões sobre o trabalho urgente devem se apoiar em evidências A ou B sempre que possível; as evidências D acionam a verificação dos ativos de alta prioridade. A graduação também orienta o investimento: se a maioria dos ativos de alta prioridade tem apenas evidência D, o próximo gasto é a verificação, e não a migração.
Registre o grau com cada observação e deixe-o decair: um handshake de grau A visto há um ano deve ser tratado como mais fraco que um visto na semana passada. Use o grau para escolher a próxima ação. Na NRHT, a grande parcela de ativos do nível 1 apoiada em declarações de fornecedores de grau D foi o que fez da verificação, e não da migração, o primeiro passo financiado.
3.3 Atividade prática — Laboratório I
# Lab I (ch 3): aggregate a synthetic cryptographic bill of materials (CBOM) and measure coverage.
records = [ # (asset, function, algorithm, source)
("pacs-gateway", "key-exchange", "X25519MLKEM768", "passive"), ("pacs-gateway", "signature", "RSA-2048", "config"),
("infusion-hub", "key-exchange", "ECDHE-P256", "passive"), ("infusion-hub", "signature", "ECDSA-P256", "code"),
("ehr-core", "key-exchange", "RSA-kex", "config"), ("billing", "data-at-rest", "AES-256-GCM", "code"),
("imaging-modality", "unknown", "unknown", "none"), ("site-vpn", "key-exchange", "ECDHE-P384", "config")]
VULN = {"RSA-2048", "ECDHE-P256", "ECDSA-P256", "RSA-kex", "ECDHE-P384"}
assets = {r[0] for r in records}
unknown = {r[0] for r in records if r[2] == "unknown"}
vuln = [r for r in records if r[2] in VULN]
print(f"assets {len(assets)}, unknown {len(unknown)} ({100*len(unknown)/len(assets):.0f}%)")
print(f"quantum-vulnerable uses {len(vuln)}:", ", ".join(f"{a}/{f}" for a, f, _, _ in vuln))
print("hybrid key exchange present on:", [r[0] for r in records if "MLKEM" in r[2]])
Saída esperada:
assets 6, unknown 1 (17%)
quantum-vulnerable uses 5: pacs-gateway/signature, infusion-hub/key-exchange, infusion-hub/signature, ehr-core/key-exchange, site-vpn/key-exchange
hybrid key exchange present on: ['pacs-gateway']
Mesmo neste pequeno conjunto sintético, um ativo em seis é desconhecido, e o híbrido que existe cobre apenas a troca de chaves num único gateway. Na escala da NRHT, uma parcela de 17 % de desconhecidos em 40.000 ativos seria de 6.800 ativos — um programa por si só.
O laboratório trata um ativo como desconhecido quando o seu único registro não tem algoritmo, e conta os usos vulneráveis à computação quântica por função, e não por ativo. O pacs-gateway aparece duas vezes porque tem uma troca de chaves híbrida e uma assinatura clássica, o que mostra por que a troca de chaves e as assinaturas precisam ser acompanhadas separadamente.
3.4 Evidências dos fornecedores
Os fornecedores controlam boa parte da criptografia num hospital: plataformas de EHR, PACS, dispositivos, serviços em nuvem. Peça inventários estruturados (algoritmos, bibliotecas, versões), roteiros com datas e versões, e acesso para testes. As cláusulas contratuais devem exigir a divulgação e a notificação das mudanças criptográficas. Trate o silêncio como desconhecido, nunca como conforme.
Registre a resposta de cada fornecedor com a data, a pessoa que a deu e o grau de evidência que ela sustenta, em geral D até ser verificada. Pergunte primeiro aos fornecedores por trás do maior número de ativos do nível 1; na NRHT, 40 fornecedores respondem por 80 % do nível 1. Repita as perguntas a cada renovação de contrato.
3.5 Apresentando as evidências
Os executivos precisam de respostas para três perguntas: que parcela dos fluxos prioritários está protegida, quão confiantes estamos, e o que é desconhecido? Apresente a cobertura por grau de evidência e nível de prioridade, e não contagens brutas. Mostre as tendências ao longo dos trimestres; uma parcela de desconhecidos em queda é progresso mesmo antes de qualquer algoritmo mudar.
Na NRHT, o primeiro relatório ao conselho começou pela parcela confirmada dos ativos do nível 1, 22 %, e não por uma contagem total. Um gráfico que mostra os graus por nível ao longo dos trimestres sucessivos permite ao conselho ver o progresso da verificação mesmo quando nenhum algoritmo ainda mudou. Mantenha os dados subjacentes disponíveis para quem os pedir.
3.6 Caso resolvido
O inventário do primeiro trimestre da NRHT (sintético): 41.200 ativos; nível de prioridade 1 (confidencialidade de longo prazo ou confiança de longo prazo) com 1.850 ativos. Do nível 1: 22 % de grau A/B, 31 % de grau C, 29 % de grau D, 18 % desconhecidos. O relatório ao conselho começa com "conseguimos confirmar a criptografia de apenas 22 % dos nossos ativos mais importantes"; a resposta financiada é a cobertura por sensores nos enlaces entre locais e um questionário aos 40 fornecedores por trás de 80 % do nível 1.
O relatório é desconfortável, mas honesto, e leva diretamente a uma ação financiada. Nos trimestres seguintes, a mesma divisão mostra se a verificação está funcionando; na revisão do segundo ano, a parcela de desconhecidos do nível 1 havia caído, que é a medida que o conselho consegue acompanhar.
3.7 Erros comuns e limites
- Tratar as declarações dos fornecedores como observações.
- Relatar contagens de ativos sem nível e grau.
- Apagar as observações desatualizadas, em vez de rebaixá-las.
Cada erro tem uma salvaguarda. Gradue as declarações dos fornecedores como D até serem observadas. Relate as contagens por nível e grau, nunca sozinhas. Mantenha as observações desatualizadas, rebaixe-as e registre a data em que foram confirmadas pela última vez, para que o histórico continue visível e um retrocesso possa ser detectado. Na NRHT, os 29 % dos ativos do nível 1 apoiados em declarações de fornecedores foram relatados como grau D, e não como cobertos, e é por isso que o conselho financiou primeiro a verificação. Mantenha o grau junto com cada contagem na mesma tabela.
Exercícios
- EX011 — Gradue. Gradue: captura do handshake TLS do enlace de replicação do EHR; PDF do fornecedor afirmando "AES-256 e RSA-3072"; varredura de binários que encontra o OpenSSL 3.x; campo do CMDB "crypto: standard". Rubrica: 3 = A, D, C, B-ou-U com justificativa para o caso do CMDB.
- EX012 — Escala dos desconhecidos. Se a NRHT reduzir os desconhecidos do nível 1 de 18 % para 6 %, quantos ativos do nível 1 saíram da classe desconhecida? Rubrica: 3 = 0,12 × 1.850 = 222.
- EX013 — Cláusula para fornecedores. Redija uma cláusula que exija a notificação das mudanças criptográficas. Rubrica: 3 = escopo, prazo, conteúdo, sanção.
- EX014 — Regra de desatualização. Proponha uma regra para rebaixar as observações pela idade e justifique os limiares. Rubrica: 3 = decaimento do grau por tempo, ligado às taxas de mudança.
- EX015 — Métrica para o conselho. Projete um único gráfico para o conselho que mostre a confiança do inventário no nível 1. Rubrica: 3 = parcelas de grau empilhadas por trimestre, com os desconhecidos destacados.
Síntese
As evidências especializadas são graduadas, datadas e atentas aos fornecedores. A cobertura e a parcela de desconhecidos são resultados de primeira classe, e o conselho vê confiança, e não planilhas.