Resumo

  • No RFC 791, o tipo 130 tinha onze octetos fixos e reunia segurança, compartimentos, restrições de manuseio e código de controle de transmissão; os sucessores mantiveram o número, mas trocaram o formato.
  • O RFC 1108 transformou classificação e autoridades de proteção em entradas para políticas por interface, permitindo rótulos explícitos ou implícitos conforme o ambiente.
  • Mesmo depois de Historic, o mecanismo continuava possível em redes MLS fechadas; por isso o RFC 7126 recomendou que equipamentos genéricos não removessem nem descartassem a opção por padrão.

Apagar o campo escolhe outra regra

O risco mais interessante não é inserir uma opção, e sim retirá-la. O RFC 7126 explica que um destinatário pode rejeitar dados que chegam sem o Basic Security Option exigido. Em outra configuração, pode aceitar o pacote e aplicar o rótulo implícito definido na interface.

Essa substituição muda o nível em qualquer direção. Um upgrade indevido restringe uso legítimo e pode contaminar um sistema de nível superior. Um downgrade indevido expõe informação a uma zona que não deveria recebê-la. O firewall não eliminou uma ameaça criptográfica; alterou uma entrada de política sem conhecer o valor que o destino colocaria no lugar.

O tipo 130 não cifra, não autentica e não comprova credencial. É metadado para componentes confiáveis. A autoridade vem da atribuição protegida, das configurações e da fiscalização do domínio, não do desenho dos bits.

Quatro dimensões no cabeçalho original

O RFC 791 definiu Security como opção de tipo 130 e comprimento fixo de onze octetos. Após tipo e comprimento vinham dezesseis bits de Security, dezesseis de Compartments, dezesseis de Handling Restrictions e vinte e quatro de Transmission Control Code.

Security selecionava um nível nomeado. Compartments separava categorias controladas. Handling Restrictions levava marcações de controle e liberação. TCC indicava comunidades de interesse. Era uma tentativa de transportar no pacote mais de um eixo de um regime externo de proteção da informação.

O bit de cópia estava ativo: cada fragmento devia carregar a opção, que só podia ocorrer uma vez no datagrama. A fragmentação não deveria permitir que uma parte do conteúdo escapasse do contexto de segurança.

O RFC 791 afirmava ainda que a presença de opções em um pacote era opcional, mas sua implementação pelos módulos IP não. Alguns ambientes poderiam exigir Security em todos os datagramas. Um protocolo geral acomodava uma obrigação cujo uso era inteiramente local.

Nada disso fornecia integridade criptográfica. Repetir um rótulo em fragmentos não o tornava verdadeiro. A efetividade dependia de emissores, intermediários e receptores confiáveis.

Um identificador estável, três gramáticas

Em 1988, o RFC 1038 redesenhou o tipo 130 como Basic Security Option variável. Saíram os campos fixos de compartimentos, restrições e TCC; entraram um nível de classificação e indicadores de autoridade de proteção.

O número do registro, portanto, não basta para interpretar uma captura. Comprimento e RFC governante decidem como ler o restante. A mesma etiqueta numérica pode introduzir corpos incompatíveis ao longo da vida de um protocolo.

O RFC 1038 descrevia usos por componentes confiáveis: validar se a origem podia transmitir, assegurar que rota e destino tinham proteção adequada e dar uma representação comum a modelos de controle. As promessas dependiam de uma infraestrutura credenciada; a presença da opção não criava confiança.

O RFC 1108 tornou o RFC 1038 obsoleto e especificou Basic e Extended Security Options. O Basic manteve o tipo 130, mas podia ter apenas três octetos quando Protection Authority estivesse ausente. Até o comprimento mínimo mudou sob o identificador contínuo.

Classificação não era uma escala numérica

No RFC 1108, Classification Level ocupava um octeto. Valores válidos eram padrões esparsos associados a Top Secret, Secret, Confidential e Unclassified; outros continuavam reservados. A ordenação política vinha da tabela, não da magnitude numérica.

Uma implementação não podia aceitar todos os números entre Confidential e Secret. Isso incluiria padrões sem significado. Primeiro precisava reconhecer o código exato e depois aplicar a relação de ordem especificada.

Os padrões foram escolhidos com distância de Hamming mínima quatro. Um pequeno número de inversões acidentais tinha menor chance de transformar diretamente uma classificação válida em outra. É uma propriedade de detecção de erro, não assinatura, criptografia ou prova de origem.

O byte carregava um termo de vocabulário gerenciado, não um número cuja grandeza expressasse sensibilidade. O software precisava da tabela; aritmética não substituía governança.

Autoridades selecionavam políticas, não concediam habilitação

Depois da classificação, o RFC 1108 permitia Protection Authority variável. Os sete bits superiores de cada octeto eram indicadores; o bit inferior dizia se havia continuação. Mais de uma autoridade podia incidir no datagrama, e implementações mínimas precisavam processar ao menos dois octetos de flags.

Essas autoridades identificavam programas cujas regras protegiam a informação. O texto advertia que não eram accreditation authorities. Um flag não certificava uma máquina, não autenticava usuário e não outorgava clearance.

A codificação devia ser mínima, sem octeto final de continuação com todos os flags zerados. O comprimento indicado também precisava coincidir com o tamanho da opção. Uma extensão inconsistente era erro de protocolo.

As atribuições dos flags existiam fora do pacote. Alguém precisava aprová-las e publicá-las. A opção selecionava regras de um namespace controlado; não trazia as regras nem evidência de que foram cumpridas.

Cada interface podia ser uma fronteira de classificação

O RFC 1108 definiu parâmetros globais e por “port”. Aqui port é uma interface ou conexão de rede, não uma porta TCP ou UDP. A configuração podia exigir BSO na transmissão, na recepção, nas duas ou em nenhuma.

Sistemas que tratavam informação classificada normalmente geravam rótulo explícito. Redes dedicadas ou system-high eram a exceção: a própria interface podia fornecer um rótulo implícito comum aos pacotes. Se a política aceitasse tráfego sem opção, o contexto configurado completava o que faltava.

Daí surge o perigo da remoção. Ausência pode significar tráfego comum em um lado e um nível protegido específico em outro. Tirar um rótulo explícito não produz neutralidade; faz a decisão recorrer a outra fonte.

Na entrada, o sistema validava o código, comparava o nível ao máximo permitido e verificava as autoridades aceitas. Na saída, exigia o nível entre mínimo e máximo e flags dentro do conjunto autorizado.

O datagrama oferecia um rótulo; a interface estabelecia a janela admissível. Sem conhecer a política da interface, uma captura não contém a decisão completa.

O diagnóstico também obedecia à política

Quando uma interface exigia BSO e recebia um pacote sem a opção, o RFC 1108 previa ICMP Parameter Problem Code 1, para opção obrigatória ausente. Estruturas malformadas usavam a forma comum; certas violações podiam resultar em administratively prohibited.

Eram apenas as respostas menos restritivas autorizadas. Uma política poderia registrar, alertar um responsável ou proibir qualquer resposta. Até o diagnóstico precisava respeitar a classificação da interface de saída.

Isso não autoriza generalizar o mesmo comportamento a toda opção IPv4. O ponto é que silêncio, erro e resposta eram decisões do sistema de admissão. O código ICMP serve como evidência da obrigação local, não como a tese desta história.

“Obsoleto” não atingiu todas as revisões ao mesmo tempo

O RFC 1122 declarou obsoletas as opções de segurança do RFC 791 e do RFC 1038. Para aplicações DoD, encaminhou implementadores à revisão que resultou no RFC 1108. O texto não dizia que toda rede rotulada deixara de existir.

O RFC 1812 manteve a separação. Repetiu a obsolescência dos formatos anteriores, mas disse que roteadores deveriam implementar a opção revista de RFC 1108. Roteadores destinados a múltiplos níveis deveriam filtrar rótulos IPSO.

Cada interface teria limite inferior e superior de sensibilidade. Pacotes fora da faixa deveriam ser descartados silenciosamente e registrados em contador. Não era source routing: o roteador aplicava um teste local de admissibilidade.

O histórico de padrões é composto. Um layout cai em desuso; o sucessor fica como recurso condicional; mais tarde o documento recebe Historic; o requisito operacional continua em uma comunidade restrita.

Historic não era um contador zerado

O RFC 7126 afirma que BSO não deveria aparecer normalmente na Internet pública. Mas também registra redes privadas multinível que usavam Basic e Extended Security Options em produtos comerciais e sistemas abertos. Considerava possível que o uso MLS, e portanto IPSO, tivesse crescido após a retirada do Standards Track.

Uma tecnologia pode desaparecer da corrente pública e permanecer ativa dentro de enclaves especializados. Historic é status documental, não medição de tráfego nem certeza de ausência.

O mesmo roteador pode ser vendido aos dois ambientes. Antes de receber configuração, o aparelho não sabe se tipo 130 é bagagem estranha na borda pública ou rótulo obrigatório numa rede fechada. O padrão precisa preservar a escolha do operador que conhece o contexto.

Preservar não significa confiar

O conselho do RFC 7126 é preciso: remover ou bloquear pode causar falhas reais onde BSO é necessário, enquanto o simples transporte não cria dano específico onde não é usado. Por isso, o padrão genérico não deveria retirar a opção nem derrubar pacote apenas por ela estar presente.

Um administrador de ambiente comprovadamente sem IPSO pode configurar descarte. O equipamento deveria contar pacotes BSO por interface e filtrar tanto por presença quanto por valor. A Internet pública não é obrigada a interpretar classificação; a caixa genérica é que não deve destruir significado antes da política local.

Encaminhar bytes sem interpretá-los não os torna confiáveis. Validação pertence ao domínio MLS. Preservação apenas mantém aberta a possibilidade de o componente correto tomar a decisão.

A especificação moderna de TCP manteve o fóssil sob condição

O RFC 9293 registra a herança de regras TCP que consideravam segurança e compartimentos IP no processamento de conexões. Em 2022, RFC 1108 era Historic, mas RFC 791 não tinha sido alterado para remover Security.

O assunto aparece nas notas de implementação: informações de segurança podem importar para sistemas MLS e podem ser ignoradas pelos demais. A divisão explícita evita impor um único comportamento a domínios incompatíveis.

O documento também lembra que reiniciar conexões diante de incompatibilidade de compartimento ou precedence foi identificado como possível vetor de ataque. Um rótulo útil num modelo confiável vira superfície de negação quando antigas reações entre camadas sobrevivem fora do contexto.

O que os bytes comprovam — e o que não comprovam

Uma captura com tipo 130 comprova bytes num espaço historicamente atribuído. Comprimento e formato ajudam a identificar qual especificação o emissor parece seguir. Código válido e autoridades bem formadas mostram conformidade estrutural.

Isso não comprova habilitação do emissor, verdade do rótulo, confidencialidade do payload, proteção da rota nem aceitação no próximo salto. Tais conclusões exigem evidência sobre atribuição, confiança e configuração reais.

Ausência também não comprova Unclassified. Uma interface com rótulo implícito pode fornecer um nível que não aparece na captura. Separar pacote e ponto de entrada apaga parte indispensável do significado.

A lição duradoura é que remover metadado de controle obrigatório é reescrever semântica. Às vezes, o tratamento mais seguro para uma opção desconhecida é carregá-la intacta até a fronteira que realmente sabe julgá-la.

Fontes e limites de evidência

O conjunto fechado reúne RFC 791, RFC 1038, RFC 1108, RFC 1122, RFC 1812, RFC 7126 e RFC 9293. Eles sustentam formatos, processamento, status e orientação condicional. Não expõem implantações classificadas, não medem tráfego atual, não verificam fornecedores e não atestam a veracidade de um rótulo observado.