SEGURANÇA EM REDES
No principio, as redes eram utilizadas por pesquisadores acadêmicos, com a finalidade de envio e
recebimento de correio eletrônico e também por funcionários de empresas, para compartilhar impressoras. A
segurança de redes despontou como problema a partir do momento que as pessoas passaram a fazer
operações bancárias, comércio eletrônico e a enviar documentos importantes pela rede.
1. Principais problemas
• Garantir que as pessoas mal intencionadas não leiam, ou pior, modifiquem mensagens enviadas
a outros destinatários.
• Identificar e bloquear pessoas que tentem ter acesso a serviços remotos que elas não estão
autorizadas a usar.
• Lidar com pessoas que tentam negar o fato de terem enviado determinadas mensagens.
A maioria dos problemas de segurança é causada por pessoas maliciosas que tentam obter algum tipo de
benefício, chamar a atenção ou prejudicar alguém. Os problemas de segurança de redes podem ser divididos
nas seguintes áreas interligadas:
• Autenticação: cuida do processo de determinar com quem você está se comunicando antes de
revelar informações sigilosas ou entrar em uma transação comercial.
• Não repúdio
• Trata de assinaturas: evitar a possibilidade de negação por parte de usuários quando eles fizeram a
ação.
• Controle de integridade: certificar-se que uma mensagem é legítima, e que não foi interceptada e
alterada durante a comunicação.
• Camada Física: Os grampos podem ser anulados mantendo-se as linhas de transmissão em tubos
lacrados contendo gás em alta pressão. Qualquer tentativa de perfurar o tubo liberará o gás,
reduzindo a pressão e disparando um alarme. Alguns sistemas militares utilizam essa técnica.
• Camada de Enlace: Os pacotes de uma linha ponto a ponto podem ser codificados à medida que
saem de uma máquina, e descodificados quando entram em um outro sistema. Essa estratégia se
mostra ineficiente quando os dados têm de atravessar vários roteadores. (Podem sofrer ataques
dentro do roteador, e também adiciona um atraso na comunicação devido ao tempo gasto na
criptografia aplicada).
• Camada Rede: Podem ser instalados Firewalls para manter e descartar pacotes. A segurança do IP
também funciona nessa camada.
• Camada de Transporte: É possível criptografar comunicações inteiras fim a fim, ou seja, processo
a processo. Para obter segurança máxima, ela deve ser fim a fim.
• Camada de Aplicação: Questões como não repúdio e autenticação de usuário devem ser tratadas
nessa camada.
3. RECURSOS DE SEGURANÇA
Criptografia: A palavra criptografia vem das palavras gregas que significam “Escrita Secreta”. No campo da
criptografia existe a distinção entre cifras e códigos.
Cifra: Transformação de caracter por caracter, ou bit por bit, sem levar em conta a estrutura lingüística da
mensagem.
Código: Substituição de uma palavra por outra ou por um código. Hoje o código não é mais utilizado.
História: Na segunda guerra mundial os americanos usaram índios navarros para codificar suas mensagens.
Eles utilizavam palavras típicas do idioma Navarro para termos militares, como por exemplo, Chay-dagahi-
nail-tsaidi (assassino de cágado = arma anti-tanque). Idioma altamente tonal e extremamente complexo, e
não tem forma de escrita.
Até o advento dos computadores, umas das principais restrições impostas à criptografia era a habilidade do
auxiliar de criptografia fazer as transformações necessárias, em geral com poucos equipamentos e no campo
de batalha. Uma outra restrição era a dificuldade de alternar os métodos criptográficos rapidamente, pois
isso exigia a repetição do treinamento de um grande número de pessoas. No entanto, o perigo de um
auxiliar de criptografia ser capturado pelo inimigo tornou indispensável alterar o método criptográfico
instantaneamente se necessário.
Uma regra fundamental da criptografia é que se deve supor que o criptoanalista conhece os métodos
genéricos de criptografia e descriptografia que são utilizados. O esforço necessário para criar, testar e
instalar um novo algoritmo toda vez que o antigo método (supostamente) é comprometido sempre dificultou
a manutenção desse segredo. Imaginar que o algoritmo de criptografia é secreto quando ele não é resulta
em mais prejuízo do que em benefícios.
É nesse cenário que entra a chave criptográfica. A chave é uma string (relativamente) pequena que serve
como parâmetro em um algoritmo de criptografia e que seleciona uma das muitas formas de criptografia. Ao
contrário do método genérico de criptografia, que só pode ser alterado a cada perído de alguns anos, a
chave pode ser alterada sempre que necessário.
A idéia de que o criptoanalista conhece os algoritmos e que o segredo reside exclusivamente nas chaves é
conhecido como Princípio de Kerckhoff: todos os algoritmos devem ser públicos, apenas as chaves
secretas.
Portanto, o algoritmo deve ser de conhecimento público, sendo o sigilo da mensagem dependente apenas da
chave criptográfica. Tentar manter o algoritmo secreto, em uma estratégia conhecida como segurança pela
obscuridade, nunca funciona.
Segurança pela obscuridade: Garantir a segurança tentando manter secretos os métodos de criptografia.
A segurança que uma chave criptográfica garante é proporcional ao seu tamanho. Quanto maior a chave,
maior será o fator de trabalho que o criptoanalista deverá lidar, já que a quantidade de combinações
exigidas para se adivinhar uma chave cresce exponencialmente.
• Cifras de Substituição: Em uma cifra de substituição, cada letra ou grupo de letras é substituído
por outra letra ou grupo de letras, de modo a criar um disfarce.
Algoritmos de Chave Simétrica: Embora as idéias básicas da criptografia moderna sejam as mesmas da
criptografia tradicional (substituição e transposição), a abordagem hoje é totalmente diferente. Ao contrário
de antigamente, onde eram utilizados algoritmos simples, hoje o objetivo é tornar o algoritmo tão complexo
e emaranhado, que mesmo que o criptoanalista adquira uma quantidade enorme de texto cifrado de sua
própria escolha, sem a chave ele não será capaz de captar qualquer sentido em tudo que conseguir.
Principais algoritmos:
• DES
• 3DES
• AES (Rijndael) – Padrão do Governo dos EUA
• Serpent
• Twofish
• IDEA
Algoritmos de Chave Assimétrica (Privada e Pública): A criptografia de chave pública exige que cada
usuário tenha duas chaves: uma chave pública, usada pelo mundo inteiro para criptografar as mensagens a
serem enviadas para esse usuário, e uma chave privada, que o usuário utiliza para descriptografar
mensagens.
O protocolo RSA, inventado por Rivest, Shamir e Adleman, sobreviveu a 25 anos de tentativas de
rompimento, sendo considerado um algoritmo muito forte. Grande parte da segurança prática se baseia
nele. Sua principal desvantagem é exigir chaves de pelo menos 1024 bits para manter um bom nível de
segurança (em comparação aos 128 bits das chaves simétricas), e isso o torna bastante lento.
Devido ao alto custo computacional empregado nos algoritmos de chave assimétrica, convencionou-se nos
sistemas de segurança, a utilização de criptografia simétrica, sendo a troca das chaves feitas por criptografia
assimétrica.
Principais protocolos:
• RSA
• ElGamal
O problema de se criar um substituto para as assinaturas escritas à mão é muito difícil. Basicamente,
necessita-se de um sistemas através do qual uma parte possa enviar uma mensagem “assinada” para outra
parte de forma que:
Uso de uma função hash unidirecional que extrai um trecho qualquer do texto simples e, a partir deste,
calcula um string de bits de tamanho fixo.
Hash: Algoritmo que faz o mapeamento de uma seqüência de bits de tamanho arbitrário para uma
seqüência de bits de tamanho fixo menor, de forma que seja muito difícil encontrar duas mensagens
produzindo o mesmo resultado hash.
Função Hash funciona como uma impressão digital de uma mensagem gerando, a partir de uma
entrada de tamanho variável, um valor fixo pequeno: o digest ou valor hash.
Dado P, não deve ser possível encontrar P´ tal que MD(P´) = MD(P).
Uma mudança na entrada de até mesmo 1 bit produz uma saída muito diferente.
MD5
• Função de espalhamento unidirecional inventada por Ron Rivest, do MIT, que também trabalha para
a RSA Data Security. MD - Message Digest.
• Produz um valor hash de 128 bits, para uma mensagem de entrada de tamanho arbitrário.
• Inicialmente proposto em 1991, após alguns ataques de criptoanálise terem sidos descobertos
contra a função Hash prévia de Rivest: a MD4.
• Projetado para ser rápido, simples e seguro. Seus detalhes são públicos, e têm sido analisados pela
comunidade de criptografia.
• Foi descoberta uma fraqueza em parte do MD5, mas até agora ela não afetou a segurança global do
algoritmo.
• O fato de ele produzir um valor hash de somente 128 bits é o que causa maior preocupação; é
preferível uma função Hash que produza um valor maior.
SHA-1
• O Secure Hash Algorithm, função de espalhamento unidirecional inventada pela NSA, gera um valor
hash de 160 bits, a partir de um tamanho arbitrário de mensagem.
• Funcionamento interno muito parecido com o observado no MD4, indicando que os estudiosos da
NSA basearam-se no MD4 e fizeram melhorias em sua segurança.
• A fraqueza existente em parte do MD5, citada anteriormente, descoberta após o SHA-1 ter sido
proposto, não ocorre no SHA-1.
• Mesmo o ataque da força bruta torna-se impraticável, devido ao seu valor hash de 160 bits.
• Não há provas de que, no futuro, alguém não possa descobrir como quebrar o SHA-1.