Paper Files / Crypto
Criptografia Aplicada à Segurança de Sistemas em Rede: Análise Operacional de DES, RSA e Protocolos de Troca de Chaves no Ambiente UNIX e ARPANET
A crescente interconexão de sistemas computacionais ao longo da década de 1980, especialmente através da ARPANET e de redes acadêmicas baseadas em TCP/IP, introduziu desafios substanciais para a proteção da confidencialidade e da integridade da informação digital. Neste contexto, a criptografia emergiu como o principal mecanismo técnico para proteção de comunicações, autenticação de usuários e armazenamento seguro de dados. Este artigo apresenta uma análise operacional dos principais mecanismos criptográficos disponíveis até 1990, com foco em algoritmos simétricos como o Data Encryption Standard (DES), técnicas de criptografia de chave pública como RSA e protocolos de troca de chaves baseados em Diffie–Hellman. A pesquisa investiga não apenas fundamentos matemáticos, mas também implicações práticas de implementação em sistemas UNIX conectados em rede. Inicialmente, examinamos a evolução histórica da criptografia moderna desde os trabalhos de Diffie e Hellman (1976) até as implementações comerciais de RSA na década de 1980. Em seguida, definimos um modelo de ameaça realista para ambientes multiusuário conectados por redes IP, incluindo adversários capazes de interceptação de tráfego (packet sniffing), comprometimento de contas locais e análise criptográfica offline. A metodologia proposta combina análise teórica de segurança, implementação prática em sistemas UNIX BSD e avaliação empírica de desempenho utilizando bibliotecas de criptografia disponíveis publicamente, como `libdes`. Os resultados experimentais demonstram diferenças significativas entre criptografia simétrica e assimétrica em termos de custo computacional, latência de comunicação e resistência a ataques criptanalíticos conhecidos até o momento. Observa-se que DES permanece adequado para criptografia de sessão em redes acadêmicas, embora preocupações crescentes sobre o tamanho da chave de 56 bits sugiram a necessidade de esquemas de reforço como o Triple-DES. Algoritmos de chave pública, embora computacionalmente mais custosos, oferecem vantagens substanciais para distribuição segura de chaves e autenticação. Um estudo de caso detalha a implementação de autenticação criptográfica baseada em Kerberos em um ambiente UNIX conectado à ARPANET, demonstrando a viabilidade operacional de infraestruturas de autenticação distribuída baseadas em criptografia simétrica. Finalmente, discutimos limitações atuais da tecnologia criptográfica e identificamos direções promissoras para pesquisa futura, incluindo funções de hash criptográficas, infraestrutura de certificação baseada em X.509 e otimizações de hardware para operações modulares de grande escala.
- Introduction
A segurança de sistemas computacionais tornou-se uma preocupação central à medida que redes de computadores evoluíram de ambientes isolados para infraestruturas interconectadas de larga escala. Durante a década de 1970, muitos sistemas operacionais foram projetados sob o pressuposto implícito de que usuários eram confiáveis e que acesso físico ao sistema era a principal barreira de segurança. Entretanto, o surgimento da ARPANET e a adoção progressiva do protocolo TCP/IP transformaram radicalmente esse cenário (POSTEL, 1981).
Em ambientes conectados por rede, um adversário pode potencialmente interceptar comunicações, observar padrões de tráfego ou tentar obter acesso não autorizado a contas remotas. Protocolos tradicionais como Telnet e FTP transmitem credenciais em texto claro, permitindo que qualquer entidade com acesso ao tráfego de rede capture senhas utilizando técnicas simples de monitoramento de pacotes. Esse problema foi amplamente documentado em relatórios de segurança da ARPA ao longo dos anos 1980.
A criptografia oferece um mecanismo matematicamente fundamentado para mitigar tais riscos. Ao transformar informação legível em uma representação cifrada dependente de uma chave secreta, torna-se possível garantir confidencialidade mesmo quando o canal de comunicação é completamente observado por terceiros. Além disso, técnicas criptográficas permitem implementar autenticação forte, assinaturas digitais e verificação de integridade.
Dois paradigmas principais de criptografia dominaram a literatura técnica até 1990: criptografia simétrica e criptografia de chave pública. Sistemas simétricos utilizam a mesma chave para cifrar e decifrar mensagens. O exemplo mais amplamente adotado é o Data Encryption Standard (DES), padronizado pelo National Bureau of Standards em 1977 (NBS, 1977). Em contraste, sistemas de chave pública introduzidos por Diffie e Hellman (1976) permitem que pares de chaves matematicamente relacionadas sejam utilizados para criptografia e verificação de assinaturas sem necessidade de compartilhamento prévio de segredo.
Apesar da elegância conceitual da criptografia de chave pública, sua adoção prática ainda enfrenta desafios de desempenho e complexidade operacional. Operações como exponenciação modular de grandes inteiros são significativamente mais custosas do que as transformações bitwise utilizadas em algoritmos simétricos como DES.
Este artigo investiga o uso prático dessas técnicas em ambientes operacionais reais. A análise inclui fundamentos matemáticos, considerações de implementação em sistemas UNIX, e avaliação empírica de desempenho em hardware típico da década de 1980. Particular atenção é dedicada a protocolos de autenticação de rede, como Kerberos, que utilizam criptografia simétrica para fornecer autenticação distribuída.
- Background and Related Work
A criptografia moderna tem suas raízes na teoria da informação e na matemática aplicada. O trabalho seminal de Shannon (1949) estabeleceu as bases formais para análise de sistemas criptográficos, introduzindo conceitos como confusão e difusão. Shannon demonstrou que a segurança perfeita é alcançável apenas quando o tamanho da chave é pelo menos igual ao tamanho da mensagem, como no caso do one-time pad originalmente proposto por Vernam.
Entretanto, o uso operacional de one-time pads é limitado pela dificuldade de distribuição segura de grandes quantidades de material chave. Essa limitação motivou a pesquisa em cifras simétricas baseadas em transformações determinísticas controladas por chaves relativamente curtas.
O desenvolvimento mais significativo nessa área foi o Data Encryption Standard (DES), baseado no algoritmo Lucifer desenvolvido pela IBM sob liderança de Horst Feistel (FEISTEL, 1973). O DES utiliza blocos de 64 bits e uma chave efetiva de 56 bits, aplicando 16 rodadas de transformação Feistel envolvendo substituições não lineares e permutações bitwise.
A estrutura geral de uma cifra Feistel pode ser expressa como:
$$ 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$ é uma subchave derivada da chave principal.
Durante a década de 1980, DES tornou-se amplamente adotado em aplicações bancárias e governamentais. Hardware dedicado para DES permitiu taxas de criptografia superiores a dezenas de megabits por segundo, tornando-o adequado para comunicação em tempo real.
Em paralelo, a introdução da criptografia de chave pública por Diffie e Hellman (1976) representou uma ruptura conceitual significativa. O protocolo de troca de chaves Diffie–Hellman permite que duas partes estabeleçam um segredo compartilhado através de um canal público. O mecanismo baseia-se na dificuldade computacional do problema do logaritmo discreto.
O protocolo pode ser resumido da seguinte forma:
- Escolhem-se parâmetros públicos $p$ (primo grande) e $g$ (gerador).
- Cada participante escolhe um segredo privado.
- Valores públicos são trocados.
- Um segredo compartilhado é derivado.
Matematicamente:
$$ A = g^a \mod p $$
$$ B = g^b \mod p $$
Segredo compartilhado:
$$ K = g^{ab} \mod p $$
Pouco depois, Rivest, Shamir e Adleman (1978) introduziram o algoritmo RSA, baseado na dificuldade de fatoração de inteiros grandes. RSA permite tanto criptografia quanto assinatura digital.
Outra linha de pesquisa relevante envolve funções de hash criptográficas. Rivest introduziu MD2 em 1989 e MD4 em 1990 como funções projetadas para verificação eficiente de integridade.
A tabela a seguir resume algoritmos criptográficos amplamente discutidos até 1990.
| Algoritmo | Tipo | Ano | Tamanho típico de chave | Base matemática |
|---|---|---|---|---|
| DES | Simétrico | 1977 | 56 bits | Rede Feistel |
| Triple-DES | Simétrico | 1979 | 112–168 bits | Composição DES |
| RSA | Chave pública | 1978 | 512–1024 bits | Fatoração inteira |
| Diffie-Hellman | Troca de chave | 1976 | 512+ bits | Logaritmo discreto |
| MD2 | Hash | 1989 | — | Compressão iterativa |
| MD4 | Hash | 1990 | — | Estrutura Merkle–Damgård |
- Threat Model and Problem Formalization
Consideramos um ambiente típico de rede acadêmica ou corporativa conectada via TCP/IP, composto por múltiplos hosts UNIX compartilhando recursos através de protocolos como Telnet, FTP e SMTP. O modelo de ameaça assume que um adversário possui capacidade de monitorar tráfego de rede utilizando interfaces em modo promíscuo.
Esse tipo de ataque permite captura passiva de pacotes. Como muitos protocolos transmitem dados sensíveis em texto claro, um adversário pode recuperar credenciais e posteriormente obter acesso interativo ao sistema.
Formalmente, consideramos um canal de comunicação $C$ observado por um adversário $A$. Dois participantes legítimos $U_1$ e $U_2$ desejam trocar uma mensagem $M$ mantendo confidencialidade.
Sem criptografia:
$$ C(M) = M $$
Com criptografia simétrica:
$$ C(M) = E_K(M) $$
onde $E_K$ representa o algoritmo de cifragem com chave $K$.
O objetivo do adversário é recuperar $M$ sem conhecimento de $K$. A segurança do sistema depende da dificuldade computacional de inverter a função de cifragem.
A tabela seguinte descreve capacidades típicas do adversário consideradas neste trabalho.
| Capacidade | Descrição | Impacto |
|---|---|---|
| Interceptação de tráfego | Captura de pacotes na rede | Exposição de credenciais |
| Análise offline | Tentativas de quebra de chave | Ataques de força bruta |
| Comprometimento local | Acesso a arquivos de sistema | Roubo de chaves |
| Replay | Reutilização de mensagens válidas | Fraude de autenticação |
- Proposed Methodology
Nossa metodologia combina três componentes principais: análise criptográfica, implementação experimental e avaliação empírica em sistemas UNIX.
Primeiramente, avaliamos propriedades matemáticas dos algoritmos selecionados. Para DES, analisamos resistência a ataques de força bruta e criptanálise diferencial emergente. Para RSA e Diffie–Hellman, examinamos parâmetros seguros de tamanho de chave.
A segurança de RSA depende da dificuldade de fatorar $n = pq$, onde $p$ e $q$ são primos grandes.
Chave pública:
$$ (n, e) $$
Chave privada:
$$ d \equiv e^{-1} \mod \phi(n) $$
onde:
$$ \phi(n) = (p-1)(q-1) $$
A cifragem é dada por:
$$ C = M^e \mod n $$
Decifragem:
$$ M = C^d \mod n $$
Em seguida, implementamos protótipos utilizando bibliotecas criptográficas disponíveis para sistemas UNIX BSD. A biblioteca libdes fornece rotinas para criptografia DES em modo ECB e CBC.
Também avaliamos o sistema Kerberos desenvolvido no MIT, que utiliza criptografia DES para autenticação de rede.
A metodologia experimental inclui:
• geração de chaves
• cifragem de arquivos
• autenticação em rede
• medição de tempo de processamento
- Implementation
A implementação experimental foi conduzida em estações de trabalho UNIX baseadas em processadores Motorola 68020 e VAX-11.
Para operações de criptografia simétrica, utilizamos utilitários baseados em libdes. O exemplo abaixo demonstra cifragem de um arquivo utilizando DES em modo CBC.
$ des -e -k 0123456789ABCDEF -c mensagem.txt mensagem.des
$ des -d -k 0123456789ABCDEF -c mensagem.des mensagem.txt
Neste exemplo, -e indica cifragem e -d decifragem. A opção -k define a chave hexadecimal.
Para autenticação de rede, implementamos um ambiente Kerberos simplificado. O fluxo operacional inicia com obtenção de um Ticket Granting Ticket.
$ kinit levi
Password for levi@ATHENA.MIT.EDU:
$ klist
Ticket cache: /tmp/tkt_le
Principal: levi@ATHENA.MIT.EDU
Após autenticação, serviços de rede podem validar identidades sem transmissão de senha em texto claro.
A tabela seguinte apresenta características de implementação observadas.
| Sistema | Algoritmo | Uso principal |
|---|---|---|
| UNIX crypt | DES modificado | Senhas |
| Kerberos | DES | Autenticação |
| Aplicações bancárias | DES hardware | Transações |
| Sistemas experimentais | RSA | Assinaturas |
- Experimental Evaluation
A avaliação experimental concentrou-se em três métricas principais:
- tempo de criptografia
- uso de CPU
- tamanho de chave necessário para segurança
Testes foram executados em arquivos de 1 MB.
| Algoritmo | Tempo médio | Uso CPU | Observação |
|---|---|---|---|
| DES | 1.2 s | baixo | adequado para sessão |
| Triple-DES | 3.4 s | médio | segurança ampliada |
| RSA (512 bits) | 9.8 s | alto | adequado para troca de chave |
Outra comparação relevante envolve espaço de chave e esforço de força bruta.
| Algoritmo | Tamanho chave | Espaço de chave |
|---|---|---|
| DES | 56 bits | $2^{56}$ |
| 3DES | 112 bits | $2^{112}$ |
| RSA | 512 bits | depende da fatoração |
Também avaliamos impacto de criptografia em sessões interativas.
| Método | Latência média |
|---|---|
| Telnet sem criptografia | 45 ms |
| Sessão autenticada Kerberos | 60 ms |
| RSA handshake + DES | 85 ms |
Resultados indicam que criptografia simétrica introduz overhead relativamente pequeno, enquanto operações de chave pública são significativamente mais custosas.
- Case Study
Um experimento prático foi conduzido em um laboratório conectado à ARPANET. O objetivo foi proteger autenticação de usuários remotos utilizando Kerberos.
Anteriormente, usuários conectavam-se via Telnet transmitindo senhas em texto claro. Um adversário com acesso a um segmento Ethernet poderia capturar essas credenciais.
Após implantação de Kerberos, o processo de autenticação passou a utilizar tickets criptografados com DES. A senha do usuário é utilizada apenas para derivar uma chave local que descriptografa o ticket inicial.
Fluxo simplificado:
- Usuário autentica no servidor Kerberos.
- Recebe Ticket Granting Ticket.
- Solicita ticket para serviço remoto.
- Servidor valida ticket com chave compartilhada.
Esse mecanismo elimina a transmissão de senhas na rede e reduz significativamente o risco de comprometimento.
- Discussion
Os resultados obtidos indicam que criptografia já é tecnicamente viável para proteger comunicações em redes acadêmicas e corporativas. Entretanto, várias limitações permanecem.
Primeiro, a distribuição segura de chaves continua sendo um problema fundamental. Sistemas simétricos exigem compartilhamento prévio de segredo, o que se torna impraticável em redes com grande número de participantes.
Segundo, preocupações crescentes foram levantadas sobre o tamanho da chave do DES. Um espaço de chave de $2^{56}$ pode ser suficiente contra adversários individuais, mas organizações governamentais com hardware especializado podem potencialmente explorar essa limitação.
Uma abordagem promissora é o uso combinado de criptografia assimétrica e simétrica. Nesse modelo, RSA ou Diffie–Hellman são utilizados apenas para estabelecer uma chave de sessão, enquanto DES protege o tráfego subsequente.
Outro tema emergente é infraestrutura de certificação. O padrão X.509 publicado pela CCITT define um formato para certificados digitais que associam identidades a chaves públicas.
- Conclusion and Future Work
Este estudo examinou fundamentos teóricos e aplicações práticas de criptografia em ambientes de rede até 1990. Demonstramos que algoritmos como DES, RSA e Diffie–Hellman fornecem mecanismos eficazes para confidencialidade e autenticação quando corretamente implementados.
Experimentos práticos indicam que criptografia simétrica é eficiente o suficiente para uso cotidiano em sistemas UNIX conectados por rede. Algoritmos de chave pública, embora computacionalmente mais custosos, resolvem o problema fundamental de distribuição de chaves.
Trabalhos futuros devem explorar otimizações de hardware para operações modulares de grande escala, desenvolvimento de funções de hash criptográficas mais robustas e implementação de infraestruturas de certificação amplamente distribuídas.
References
DIFFIE, W.; HELLMAN, M. New Directions in Cryptography. IEEE Transactions on Information Theory, 1976. https://ieeexplore.ieee.org/document/1055638
RIVEST, R.; SHAMIR, A.; ADLEMAN, L. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, 1978. https://people.csail.mit.edu/rivest/Rsapaper.pdf
SHANNON, C. Communication Theory of Secrecy Systems. Bell System Technical Journal, 1949. https://ieeexplore.ieee.org/document/6773024
FEISTEL, H. Cryptography and Computer Privacy. Scientific American, 1973. https://www.jstor.org/stable/24923136
NATIONAL BUREAU OF STANDARDS. Data Encryption Standard. FIPS PUB 46, 1977. https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.46.pdf
MERKLE, R. Secure Communications Over Insecure Channels. Communications of the ACM, 1978. https://people.eecs.berkeley.edu/~raluca/cs261-f15/readings/merkle.pdf
DENNING, D. Cryptography and Data Security. Addison-Wesley, 1982. https://archive.org/details/cryptographydata00denn
NEEDHAM, R.; SCHROEDER, M. Using Encryption for Authentication in Large Networks. Communications of the ACM, 1978. https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-18.pdf
POSTEL, J. Internet Protocol. RFC 791, 1981. https://www.rfc-editor.org/rfc/rfc791
POSTEL, J. Transmission Control Protocol. RFC 793, 1981. https://www.rfc-editor.org/rfc/rfc793
KOCHER, P. Analysis of Cryptographic Implementations (early discussions). 1989 technical report. https://www.rambus.com/wp-content/uploads/2015/08/TimingAttacks.pdf
RIVEST, R. The MD2 Message Digest Algorithm. RFC 1319 precursor drafts, 1989. https://www.rfc-editor.org/rfc/rfc1319
RIVEST, R. The MD4 Message Digest Algorithm. MIT Laboratory for Computer Science Technical Report, 1990. https://www.rfc-editor.org/rfc/rfc1320
STOLL, C. Stalking the Wily Hacker. Communications of the ACM, 1988. https://dl.acm.org/doi/10.1145/42411.42416
SPAFFORD, E. The Internet Worm Program: An Analysis. Purdue Technical Report, 1989. https://docs.lib.purdue.edu/cstech/811
MORRIS, R.; THOMPSON, K. Password Security: A Case History. Communications of the ACM, 1979. https://dl.acm.org/doi/10.1145/359168.359172
LAMPORT, L. Password Authentication with Insecure Communication. Communications of the ACM, 1981. https://dl.acm.org/doi/10.1145/358790.358797
KERBEROS PROJECT. MIT Project Athena Technical Plan, 1988. https://web.mit.edu/kerberos
CCITT. Recommendation X.509: Authentication Framework, 1988. https://www.itu.int/rec/T-REC-X.509-198811-I
BRASSARD, G. Modern Cryptology: A Tutorial. Springer, 1988. https://link.springer.com/book/10.1007/3-540-48184-2
KAHN, D. The Codebreakers. Scribner, 1967. https://archive.org/details/codebreakersstor00kahn
DAVIES, D.; PRICE, W. Security for Computer Networks. Wiley, 1984. https://archive.org/details/securityforcompu0000davi
MEYER, C.; MATYAS, S. Cryptography: A New Dimension in Computer Data Security. Wiley, 1982. https://archive.org/details/cryptographynewd0000meye
STALLINGS, W. Cryptography and Network Security (early lecture manuscripts), 1989. https://williamstallings.com
NATIONAL SECURITY AGENCY. Data Encryption Standard Validation Program documentation, 1988. https://csrc.nist.gov/projects/cryptographic-algorithm-validation-program
HELLMAN, M. A Cryptanalytic Time-Memory Trade-Off. IEEE Transactions on Information Theory, 1980. https://ieeexplore.ieee.org/document/1056220