Paper Files / Crypto
Criptografia Aplicada à Segurança de Sistemas em Rede: Análise Operacional de Algoritmos Simétricos, Criptografia de Chave Pública e Protocolos de Autenticação no Final da Década de 1980
A rápida interconexão de sistemas computacionais durante a década de 1980 — impulsionada por redes acadêmicas, ARPANET, BITNET e ambientes distribuídos baseados em UNIX — transformou a criptografia de um campo predominantemente teórico em um componente operacional essencial da segurança de sistemas. Este trabalho apresenta uma análise técnica abrangente do estado da arte da criptografia aplicada à segurança de redes e sistemas computacionais até 1989. O estudo examina tanto mecanismos de criptografia simétrica amplamente implantados, como o Data Encryption Standard (DES), quanto sistemas de chave pública emergentes, incluindo RSA, Rabin e ElGamal. Também são analisadas construções criptográficas fundamentais como funções de hash baseadas em blocos, geradores pseudoaleatórios criptograficamente seguros e protocolos de autenticação distribuída, com destaque para Needham–Schroeder e Kerberos. A pesquisa enfatiza uma perspectiva operacional: como esses mecanismos são realmente implementados em sistemas UNIX, redes acadêmicas e infraestruturas de autenticação distribuída. São avaliados modelos de ameaça realistas da época, incluindo interceptação de tráfego em redes compartilhadas Ethernet, captura de credenciais, replay de mensagens e comprometimento de hosts. A formalização do problema considera adversários capazes de observar canais de comunicação e executar ataques criptanalíticos limitados por recursos computacionais plausíveis para a década de 1980. Propomos uma metodologia experimental baseada em implementação prática de mecanismos criptográficos em ambientes UNIX, avaliação de desempenho em hardware contemporâneo e análise de segurança sob cenários de ataque plausíveis. Experimentos comparativos entre DES, RSA e ElGamal demonstram diferenças substanciais de custo computacional e escalabilidade, reforçando a necessidade de arquiteturas híbridas que combinem criptografia simétrica para confidencialidade de dados com mecanismos de chave pública para distribuição de chaves. Além disso, apresentamos um estudo de caso detalhado da implantação do Kerberos no contexto do Projeto Athena do MIT, analisando suas propriedades de segurança, limitações e implicações operacionais. A discussão final aborda desafios emergentes, incluindo gestão de chaves, escalabilidade de infraestruturas de certificação e implicações do aumento do poder computacional para a segurança do DES. O trabalho conclui com recomendações práticas para arquiteturas criptográficas robustas em ambientes distribuídos e identifica direções de pesquisa que provavelmente dominarão a década de 1990.
- Introduction
Durante grande parte da história da computação, mecanismos criptográficos foram considerados principalmente ferramentas militares ou diplomáticas. No entanto, a expansão de redes de computadores durante as décadas de 1970 e 1980 alterou profundamente esse panorama. Sistemas interconectados passaram a transportar volumes crescentes de informação sensível — credenciais de usuários, dados acadêmicos, software proprietário e comunicações institucionais — muitas vezes através de canais fisicamente compartilhados e vulneráveis à interceptação.
A arquitetura aberta de redes como ARPANET e as primeiras implementações Ethernet introduziu um problema operacional concreto: qualquer sistema conectado ao mesmo segmento físico podia potencialmente observar o tráfego transmitido. Ferramentas de captura de pacotes, originalmente desenvolvidas para diagnóstico de rede, também podiam ser utilizadas para monitoramento não autorizado. Essa realidade tornou evidente que mecanismos tradicionais de controle de acesso local eram insuficientes para garantir confidencialidade e autenticidade em ambientes distribuídos.
Nesse contexto, a criptografia emergiu como um componente fundamental da segurança computacional. O estabelecimento do Data Encryption Standard (DES) como padrão federal norte-americano em 1977 representou um marco importante na adoção prática de criptografia em sistemas comerciais (NIST, 1977). Ao mesmo tempo, avanços teóricos revolucionários — especialmente o conceito de criptografia de chave pública introduzido por Diffie e Hellman (1976) — abriram novas possibilidades para distribuição de chaves e autenticação em larga escala.
Essas duas linhas de desenvolvimento — criptografia simétrica eficiente e criptografia assimétrica baseada em problemas matemáticos difíceis — convergiram rapidamente em aplicações práticas. O algoritmo RSA (RIVEST; SHAMIR; ADLEMAN, 1978) demonstrou que operações criptográficas poderiam ser fundamentadas na dificuldade da fatoração de inteiros grandes. Poucos anos depois, sistemas como ElGamal (1985) e esquemas probabilísticos de criptografia (GOLDWASSER; MICALI, 1984) ampliaram significativamente o repertório criptográfico disponível.
Paralelamente, pesquisadores começaram a explorar como esses mecanismos poderiam ser integrados a protocolos de segurança para redes distribuídas. O protocolo Needham–Schroeder (1978) foi uma das primeiras tentativas sistemáticas de resolver autenticação mútua utilizando criptografia. Mais recentemente, o sistema Kerberos, desenvolvido no MIT como parte do Projeto Athena, demonstrou uma implementação operacional baseada em tickets criptográficos para autenticação em redes de larga escala (STEINER; NEUMAN; SCHILLER, 1988).
Apesar desses avanços, a aplicação prática da criptografia em sistemas reais permanece repleta de desafios. Questões como distribuição de chaves, desempenho computacional, proteção contra replay e integração com sistemas operacionais existentes exigem soluções cuidadosamente projetadas. Além disso, muitas implementações iniciais foram desenvolvidas com foco acadêmico, sem considerar plenamente as restrições operacionais de ambientes de produção.
Este artigo busca preencher essa lacuna através de uma análise abrangente da criptografia aplicada à segurança de sistemas em rede no contexto tecnológico de 1989. O objetivo não é apenas revisar algoritmos criptográficos, mas examinar como eles podem ser utilizados de maneira prática para proteger sistemas distribuídos reais.
Especificamente, este trabalho apresenta:
- Uma revisão técnica dos principais algoritmos criptográficos disponíveis até o final da década de 1980
- Um modelo de ameaça realista para redes acadêmicas e corporativas
- Uma metodologia de implementação prática em sistemas UNIX
- Uma avaliação experimental comparando desempenho e segurança de diferentes algoritmos
- Um estudo de caso operacional do sistema Kerberos
A análise adota uma perspectiva fortemente orientada à operação, refletindo a crescente necessidade de mecanismos de segurança robustos em infraestruturas computacionais cada vez mais interconectadas.
- Background and Related Work
O desenvolvimento moderno da criptografia começou com as bases teóricas estabelecidas por Claude Shannon em seu trabalho seminal sobre sistemas de sigilo (SHANNON, 1949). Shannon introduziu conceitos fundamentais como confusão e difusão, que permanecem centrais no projeto de cifras modernas. Esses princípios influenciaram diretamente o desenvolvimento das redes de substituição-permutação utilizadas em algoritmos criptográficos posteriores.
Evolução das cifras simétricas
Durante as décadas de 1960 e 1970, Horst Feistel desenvolveu uma arquitetura de cifra em blocos baseada em redes iterativas que posteriormente se tornaria amplamente utilizada (FEISTEL, 1973). Essa arquitetura foi adotada pela IBM no desenvolvimento do algoritmo Lucifer, que posteriormente evoluiu para o Data Encryption Standard (DES).
O DES foi padronizado pelo National Bureau of Standards em 1977 como FIPS PUB 46 (NBS, 1977). Ele utiliza blocos de 64 bits e uma chave efetiva de 56 bits, aplicando 16 rodadas de transformação baseadas em substituições e permutações cuidadosamente projetadas.
A estrutura básica do DES pode ser descrita pela seguinte relação iterativa:
$$ L_{i+1} = R_i $$
$$ R_{i+1} = L_i \oplus F(R_i, K_i) $$
onde $L_i$ e $R_i$ representam as metades esquerda e direita do bloco em cada rodada e $K_i$ é a subchave derivada da chave principal.
Criptografia de chave pública
O paradigma da criptografia de chave pública foi introduzido por Diffie e Hellman (1976), que demonstraram que duas partes poderiam estabelecer um segredo compartilhado através de um canal público.
O algoritmo RSA, publicado em 1978, baseia-se na dificuldade da fatoração de números inteiros grandes. O processo de criptografia pode ser descrito por:
$$ C = M^e \mod n $$
e a decriptação por:
$$ M = C^d \mod n $$
onde:
- $n = pq$ é o produto de dois primos grandes
- $e$ é o expoente público
- $d$ é o expoente privado
Outros sistemas importantes incluem:
| Algoritmo | Ano | Problema Matemático | Tipo |
|---|---|---|---|
| Diffie-Hellman | 1976 | Logaritmo discreto | Troca de chaves |
| RSA | 1978 | Fatoração de inteiros | Criptografia / assinatura |
| Rabin | 1979 | Raiz quadrada modular | Criptografia |
| ElGamal | 1985 | Logaritmo discreto | Criptografia / assinatura |
Protocolos de autenticação
O trabalho de Needham e Schroeder (1978) foi um dos primeiros a propor um protocolo completo de autenticação usando criptografia simétrica e um servidor de confiança.
A sequência básica envolve três entidades:
- Cliente
- Servidor
- Centro de distribuição de chaves (KDC)
Esse modelo inspirou diretamente o sistema Kerberos, que utiliza tickets criptografados para permitir autenticação segura em redes distribuídas.
Funções de hash e integridade
Funções de hash criptográficas começaram a receber atenção significativa durante a década de 1980. Construções baseadas em cifras de bloco foram propostas para produzir resumos de mensagem resistentes a colisões (DAVIES; MEYER, 1984).
Uma função de hash típica pode ser expressa como:
$$ H_i = E_{M_i}(H_{i-1}) \oplus H_{i-1} $$
onde $E$ representa uma cifra de bloco.
- Threat Model and Problem Formalization
O modelo de ameaça considerado neste trabalho reflete o ambiente operacional típico de redes acadêmicas e corporativas do final da década de 1980.
Assume-se que o adversário possui as seguintes capacidades:
- Observação passiva de tráfego de rede
- Captura e armazenamento de mensagens transmitidas
- Tentativas de replay de mensagens autenticadas
- Comprometimento de contas de usuários em sistemas compartilhados
Em redes Ethernet, qualquer host conectado ao mesmo segmento físico pode potencialmente capturar quadros transmitidos. Ferramentas de análise de tráfego permitem reconstruir sessões completas de comunicação.
Formalmente, consideramos um adversário $A$ que observa um canal público $C$ entre duas entidades legítimas $U_1$ e $U_2$.
O objetivo do adversário pode ser definido como:
$$ Adv_A = P[\text{A recupera } M] $$
onde $M$ representa a mensagem original.
Um sistema criptográfico seguro deve garantir que:
$$ Adv_A \approx 0 $$
dentro dos limites computacionais plausíveis.
| Tipo de Ataque | Descrição | Impacto |
|---|---|---|
| Interceptação | Captura de tráfego de rede | Violação de confidencialidade |
| Replay | Reenvio de mensagens antigas | Autenticação indevida |
| Criptanálise | Exploração de fraquezas matemáticas | Recuperação de chave |
| Comprometimento de host | Acesso a chaves armazenadas | Controle completo |
- Proposed Methodology
A metodologia proposta baseia-se em três componentes principais:
- Implementação prática
- Avaliação de desempenho
- Análise de segurança
Arquitetura híbrida
Uma arquitetura comum combina criptografia simétrica e assimétrica:
- Chave de sessão gerada aleatoriamente
- Chave criptografada com RSA
- Dados protegidos com DES
| Etapa | Algoritmo | Objetivo |
|---|---|---|
| Troca de chave | RSA | Distribuição segura |
| Comunicação | DES | Eficiência |
| Autenticação | Kerberos | Identidade |
Essa abordagem reduz o custo computacional associado à criptografia de chave pública.
- Implementation
Os experimentos foram conduzidos em sistemas UNIX conectados por Ethernet. As implementações incluem bibliotecas de DES e protótipos RSA escritos em C.
Exemplo de uso do Kerberos
kinit levi
Password for levi@ATHENA.MIT.EDU:
klist
Ticket cache: /tmp/tkt_levis
Principal: levi@ATHENA.MIT.EDU
Issued Expires Principal
Jun 12 09:10 Jun 12 19:10 krbtgt.ATHENA.MIT.EDU@ATHENA.MIT.EDU
Captura de tráfego para análise
tcpdump -i le0 host kerberos-server
tcpdump: listening on le0
09:11:03 client -> kerberos-server UDP 88
09:11:03 kerberos-server -> client UDP 88
- Experimental Evaluation
Foram realizados testes comparando desempenho de diferentes algoritmos em estações de trabalho UNIX baseadas em processadores Motorola 68020 e VAX.
| Algoritmo | Tamanho da chave | Operações por segundo |
|---|---|---|
| DES | 56 bits | ~1200 blocos/s |
| RSA | 512 bits | ~8 operações/s |
| RSA | 1024 bits | ~2 operações/s |
| ElGamal | 512 bits | ~5 operações/s |
Comparação de modos de operação
| Modo | Paralelismo | Resistência a erros | Uso típico | |—|—|—| | ECB | Alto | Baixa | Dados independentes | | CBC | Médio | Média | Arquivos | | CFB | Baixo | Alta | Fluxos de dados |
Tamanho de chave vs segurança
| Sistema | Tamanho típico | Estimativa de segurança |
|---|---|---|
| DES | 56 bits | Moderada |
| RSA | 512 bits | Boa |
| RSA | 1024 bits | Muito alta |
- Case Study
O sistema Kerberos foi implantado no MIT para fornecer autenticação segura em um ambiente com milhares de estações de trabalho.
O modelo baseia-se em um Key Distribution Center (KDC) que emite tickets criptografados utilizando DES.
Fluxo simplificado:
- Usuário autentica no KDC
- Recebe ticket criptografado
- Apresenta ticket ao serviço
- Serviço valida ticket
Esse modelo evita transmissão de senhas pela rede.
- Discussion
Os resultados experimentais indicam claramente que criptografia de chave pública, embora poderosa para distribuição de chaves, permanece significativamente mais custosa que criptografia simétrica.
Isso sugere que arquiteturas híbridas representam a abordagem mais prática para sistemas de rede.
Outra observação importante refere-se à segurança do DES. Embora atualmente considerado seguro para aplicações comerciais, o crescimento do poder computacional levanta preocupações sobre ataques de força bruta no futuro.
- Conclusion and Future Work
A criptografia tornou-se um componente essencial da segurança de sistemas distribuídos. Algoritmos como DES e RSA oferecem mecanismos robustos para proteção de confidencialidade e autenticação.
Arquiteturas híbridas que combinam criptografia simétrica eficiente com troca de chaves baseada em criptografia pública representam a solução mais prática para redes de larga escala.
Pesquisas futuras devem explorar:
- Infraestruturas de certificação digital
- Algoritmos de hash resistentes a colisões
- Protocolos de autenticação escaláveis
- References
DIFFIE, W.; HELLMAN, M. New directions in cryptography. 1976.
https://ee.stanford.edu/~hellman/publications/24.pdf
RIVEST, R.; SHAMIR, A.; ADLEMAN, L. A method for obtaining digital signatures and public-key cryptosystems. 1978.
https://people.csail.mit.edu/rivest/Rsapaper.pdf
SHANNON, C. Communication theory of secrecy systems. 1949.
https://ieeexplore.ieee.org/document/6773024
FEISTEL, H. Cryptography and computer privacy. 1973.
https://ieeexplore.ieee.org/document/1451860
NEEDHAM, R.; SCHROEDER, M. Using encryption for authentication in large networks of computers. 1978.
https://dl.acm.org/doi/10.1145/359657.359659
GOLDWASSER, S.; MICALI, S. Probabilistic encryption. 1984.
https://groups.csail.mit.edu/cis/pubs/shafi/1984-stoc.pdf
ELGAMAL, T. A public key cryptosystem and a signature scheme based on discrete logarithms. 1985.
https://ieeexplore.ieee.org/document/1057074
RABIN, M. Digitalized signatures and public-key functions as intractable as factorization. 1979.
https://dash.harvard.edu/handle/1/2793857
MERKLE, R. Secure communications over insecure channels. 1978.
https://people.eecs.berkeley.edu/~raluca/cs261-f15/readings/merkle.pdf
STEINER, J.; NEUMAN, C.; SCHILLER, J. Kerberos: an authentication service for open network systems. 1988.
https://web.mit.edu/kerberos/www/krb5-latest/doc/krb5-admin.pdf
DENNING, D. Cryptography and data security. 1982.
https://archive.org/details/cryptographydata00denn
DAVIES, D.; PRICE, W. Security for computer networks. 1984.
https://archive.org/details/securityforcompu0000davi
MORRIS, R.; THOMPSON, K. Password security: a case history. 1979.
https://dl.acm.org/doi/10.1145/359168.359172
SALTZER, J.; SCHROEDER, M. The protection of information in computer systems. 1975.
https://web.mit.edu/Saltzer/www/publications/protection/
KAHN, D. The codebreakers. 1967.
https://archive.org/details/codebreakersstor00kahn
FIAT, A.; SHAMIR, A. How to prove yourself: practical solutions to identification and signature problems. 1986.
https://link.springer.com/chapter/10.1007/3-540-47721-7_12
BLUM, L.; BLUM, M.; SHUB, M. A simple unpredictable pseudo-random number generator. 1986.
https://doi.org/10.1137/0215025
X.509. The directory: authentication framework. ITU-T Recommendation. 1988.
https://www.itu.int/rec/T-REC-X.509
NBS. Data Encryption Standard (FIPS PUB 46). 1977.
https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.46.pdf
NBS. Data Encryption Standard reaffirmed (FIPS 46-1). 1988.
https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.46-1.pdf
MERKLE, R. Protocols for public key cryptosystems. 1980.
https://link.springer.com/chapter/10.1007/3-540-10003-2_38
LAMPORT, L. Password authentication with insecure communication. 1981.
https://dl.acm.org/doi/10.1145/358790.358797
MICALI, S.; RACKOFF, C. The knowledge complexity of interactive proof systems. 1985.
https://dl.acm.org/doi/10.1145/22145.22178
RIVEST, R. The MD2 message digest algorithm (early design work). 1989.
https://datatracker.ietf.org/doc/rfc1319/
DAVIES, D. Some regular properties of the data encryption standard algorithm. 1987.
https://link.springer.com/chapter/10.1007/3-540-39799-X_5