segunda-feira, 15 de novembro de 2010

Rede Privada Virtual - VPN

Segue abaixo um texto muito interessante sobre VPN.

O uso de Redes Privadas Virtuais representa uma alternativa interessante na
racionalização dos custos de redes corporativas oferecendo "confidencialidade" e integridade no transporte
de informações através de redes públicas.
^
IntroduçãoA idéia de utilizar uma rede pública como a Internet em vez de linhas privativas para implementar redes corporativas é denominada deVirtual Private Network (VPN) ou Rede Privada Virtual. As VPNs são túneis de criptografia entre pontos autorizados, criados através da Internet ou outras redes públicas e/ou privadas para transferência de informações, de modo seguro, entre redes corporativas ou usuários remotos.
A segurança é a primeira e mais importante função da VPN. Uma vez que dados privados serão transmitidos
pela Internet, que é um meio de transmissão inseguro, eles devem ser protegidos de forma a não permitir que sejam modificados ou interceptados.
Outro serviço oferecido pelas VPNs é a conexão entre corporações (Extranets) através da Internet, além de possibilitar conexões dial-upcriptografadas que podem ser muito úteis para usuários móveis ou remotos, bem como filiais distantes de uma empresa.
Uma das grandes vantagens decorrentes do uso das VPNs é a redução de custos com comunicações
corporativas, pois elimina a necessidade de links dedicados de longa distância que podem ser substituídos
pela Internet. As LANs podem, através de linksdedicados ou discados, conectar-se a algum provedor de acesso local e interligar-se a outras LANs, possibilitando o fluxo de dados através da Internet. Esta solução pode ser bastante interessante sob o ponto de vista econômico, sobretudo nos casos em que enlaces internacionais ou nacionais de longa distância estão envolvidos. Outro fator que simplifica a operacionalização da WAN é que a conexão LAN-Internet-LAN fica parcialmente a cargo dos provedores de acesso.
^
Aplicações para redes privadas virtuaisAbaixo, são apresentadas as três aplicações ditas mais importantes para as VPNs.
ACESSO REMOTO VIA INTERNET
O acesso remoto a redes corporativas através da Internet pode ser viabilizado com a VPN através da ligação local a algum provedor de acesso (Internet Service Provider - ISP). A estação remota disca para o provedor de acesso, conectando-se à Internet e o software de VPN cria uma rede virtual privada entre o usuário remoto e o servidor de VPN corporativo através da Internet.

CONEXÃO DE LANS VIA INTERNET
Uma solução que substitui as conexões entre LANs através de circuitos dedicados de longa distância é a
utilização de circuitos dedicados locais interligando-as à Internet. O software de VPN assegura esta interconexão formando a WAN corporativa.
A depender das aplicações também, pode-se optar pela utilização de circuitos discados em uma das pontas,
devendo a LAN corporativa estar, preferencialmente, conectada à Internet via circuito dedicado local ficando
disponível 24 horas por dia para eventuais tráfegos provenientes da VPN.

CONEXÃO DE COMPUTADORES NUMA INTRANET
Em algumas organizações, existem dados confidenciais cujo acesso é restrito a um pequeno grupo de usuários. Nestas situações, redes locais departamentais são implementadas fisicamente separadas da LAN corporativa. Esta solução, apesar de garantir a "confidencialidade" das informações, cria dificuldades de acesso a dados da rede corporativa por parte dos departamentos isolados.
As VPNs possibilitam a conexão física entre redes locais, restringindo acessos indesejados através da inserção de um servidor VPN entre elas. Observe que o servidor VPN não irá atuar como um roteador entre a rede departamental e o resto da rede corporativa uma vez que o roteador possibilitaria a conexão entre as duas redes permitindo o acesso de qualquer usuário à rede departamental sensitiva. Com o uso da VPN o administrador da rede pode definir quais usuários estarão credenciados a atravessar o servidor VPN e acessar os recursos da rede departamental restrita. Adicionalmente, toda comunicação ao longo da VPN pode ser criptografada assegurando a "confidencialidade" das informações. Os demais usuários não credenciados sequer enxergarão a rede departamental.

^
Requisitos básicosNo desenvolvimento de soluções de rede, é bastante desejável que sejam implementadas facilidades de controle de acesso a informações e a recursos corporativos. A VPN deve dispor de recursos para permitir o acesso de clientes remotos autorizados aos recursos da LAN corporativa, viabilizar a interconexão de LANs de forma a possibilitar o acesso de filiais, compartilhando recursos e informações e, finalmente, assegurar privacidade e integridade de dados ao atravessar a Internet bem como a própria rede corporativa. A seguir são enumeradas características mínimas desejáveis numa VPN:
Autenticação de Usuários Verificação da identidade do usuário, restringindo o acesso às pessoas autorizadas.
Deve dispor de mecanismos de auditoria, provendo informações referentes aos acessos
efetuados - quem acessou, o quê e quando foi acessado.
Gerenciamento de Endereço O endereço do cliente na sua rede privada não deve ser divulgado, devendo-se adotar endereços fictícios para o tráfego externo.
Criptografia de Dados Os dados devem trafegar na rede pública ou privada num formato cifrado e, caso sejam interceptados por usuários não autorizados, não deverão ser decodificados, garantindo a
privacidade da informação. O reconhecimento do conteúdo das mensagens deve ser exclusivo dos usuários autorizados.
Gerenciamento de Chaves
O uso de chaves que garantem a segurança das mensagens criptografadas deve funcionar
como um segredo compartilhado exclusivamente entre as partes envolvidas. O gerenciamento de chaves deve garantir a troca periódica das mesmas, visando manter a comunicação de forma segura.
Suporte a Múltiplos Protocolos
Com a diversidade de protocolos existentes, torna-se bastante desejável que uma VPN suporte protocolos padrão de fato usadas nas redes públicas, tais como IP (Internet Protocol), IPX (Internetwork Packet Exchange), etc.
^
TunelamentoAstunelamento cuja existência é anterior às VPNs.
Ele pode ser definido como processo de encapsular um protocolo dentro de outro. O uso do tunelamento nas VPNs incorpora um novo componente a esta técnica: antes de encapsular o pacote que será transportado, este é criptografado de forma a ficar ilegível caso seja interceptado durante o seu transporte. O pacote criptografado e encapsulado viaja através da Internet até alcançar seu destino onde é desencapsulado e decriptografado, retornando ao seu formato original. Uma característica importante é que pacotes de um
determinado protocolo podem ser encapsulados em pacotes de protocolos diferentes. Por exemplo, pacotes
de protocolo IPX podem ser encapsulados e transportados dentro de pacotes TCP/IP.
O protocolo de tunelamento encapsula o pacote com um cabeçalho adicional que contém informações de
roteamento que permitem a travessia dos pacotes ao longo da rede intermediária. Os pacotes encapsulados
são roteados entre as extremidades do túnel na rede intermediária. Túnel é a denominação do caminho lógico
percorrido pelo pacote ao longo da rede intermediária Após alcançar o seu destino na rede intermediária, o
pacote é desencapsulado e encaminhado ao seu destino final. A rede intermediária por onde o pacote trafegará pode ser qualquer rede pública ou privada.
Note que o processo de tunelamento envolve encapsulamento, transmissão ao longo da rede intermediária e
desencapsulamento do pacote.

^
Protocolos de tunelamentoPara se estabelecer um túnel é necessário que as suas extremidades utilizem o mesmo protocolo de tunelamento.
O tunelamento pode ocorrer na camada 2 ou 3 (respectivamente enlace e rede) do modelo de referência
OSI (Open Systems Interconnection).
Tunelamento em Nível 2 - Enlace - (PPP sobre IP)
O objetivo é transportar protocolos de nível 3, tais como o IP e IPX na Internet. Os protocolos
utilizam quadros como unidade de troca, encapsulando os pacotes da camada 3 (como IP/IPX)
em quadros PPP (Point-to-Point Protocol). Como exemplos podemos citar:
PPTP (Point-to-Point Tunneling Protocol) da Microsoft permite que o tráfego IP, IPX e NetBEUI sejam criptografados e encapsulados para serem enviados através de redes IP privadas ou públicas como a Internet. L2TP (Layer 2 Tunneling Protocol) da IETF (Internet Engineering Task Force) permite que o tráfego IP, IPX e NetBEUI sejam criptografados e enviados através de canais de comunicação de datagrama ponto a ponto tais como IP, X25, Frame Relay ou ATM. L2F (Layer 2 Forwarding) da Cisco é utilizada para VPNs discadas.
Tunelamento em Nível 3 - Rede - (IP sobre IP)
Encapsulam pacotes IP com um cabeçalho adicional deste mesmo protocolo antes de enviá-los
através da rede.
O IP Security Tunnel Mode (IPSec) da IETF permite que pacotes IP sejam criptografados e encapsulados com cabeçalho adicional deste mesmo protocolo para serem transportados numa rede IP pública ou privada. O IPSec é um protocolo desenvolvido para IPv6, devendo, no futuro, se constituir como padrão para todas as formas de VPN caso o IPv6 venha de fato substituir o IPv4. O IPSec sofreu adaptações possibilitando, também, a sua utilização com o IPv4.
^
O funcionamento dos túneisNas tecnologias orientadas à camada 2 (enlace), um túnel é similar a uma sessão, onde as duas extremidades do túnel negociam a configuração dos parâmetros para estabelecimento do túnel, tais como endereçamento, criptografia e parâmetros de compressão. Na maior parte das vezes, são utilizado s protocolos que implementam o serviço de datagrama. A gerência do túnel é realizada através protocolos de manutenção. Nestes casos, é necessário que o túnel seja criado, mantido e encerrado. Nas tecnologias de camada 3, não existe a fase de manutenção do túnel.
Uma vez que o túnel é estabelecido os dados podem ser enviados. O cliente ou servidor do túnel utiliza um
protocolo de tunelamento de transferência de dados que acopla um cabeçalho preparando o pacote para o
transporte. Só então o cliente envia o pacote encapsulado na rede que o roteará até o servidor do túnel. Este
recebe o pacote, desencapsula removendo o cabeçalho adicional e encaminha o pacote original à rede destino.
O funcionamento entre o servidor e o cliente do túnel é semelhante.
^
Protocolos × Requisitos de tunelamentoOs protocolos de nível 2, tais como PPTP e L2TP, foram baseados no PPP, e, como conseqüência, herdaram muito de suas características e funcionalidades. Estas características e suas contrapartes de nível 3 são
analisadas juntamente com alguns dos requisitos básicos das VPNs:
AUTENTICAÇÃO DE USUÁRIO
Os protocolos de tunelamento da camada 2 herdaram os esquemas de autenticação do PPP e os métodos
EAP (Extensible Authentication Protocol). Muitos esquemas de tunelamento da camada 3 assumem que as
extremidades do túnel são conhecidas e autenticadas antes mesmo que ele seja estabelecido. Uma exceção
é o IPSec que provê a autenticação mútua entre as extremidades do túnel. Na maioria das implementações
deste protocolo, a verificação se dá a nível de máquina e não de usuário. Como resultado, qualquer usuário
com acesso às máquinas que funcionam como extremidades do túnel podem utilizá-lo. Esta falha de segurança ,pode ser suprida quando o IPSec é usado junto com um protocolo de camada de enlace como o L2TP.
SUPORTE A TOKEN CARD
Com a utilização do EAP, os protocolos de tunelamento de camada de enlace podem suportar uma variedade de métodos de autenticação, tais como senhas e cartões inteligentes (smart cards). Os protocolos de camada 3 também podem usar métodos similares, como, por exemplo, o IPSec que define a autenticação de chave pública durante a negociação de parâmetros feita pelo ISAKMP (Internet Security Association and Key Management Protocol).
ENDEREÇAMENTO DINÂMICO
O tunelamento na camada 2 suporta alocação dinâmica de endereços baseada nos mecanismos de
negociação do NCP (Network Control Protocol). Normalmente, esquemas de tunelamento na camada 3
assumem que os endereços foram atribuídos antes da inicialização do túnel.
COMPRESSÃO DE DADOS
Os protocolos de tunelamento da camada 2 suportam esquemas de compressão baseados no PPP. O IETF
está analisando mecanismos semelhantes, tais como a compressão de IP, para o tunelamento na camada 3.
CRIPTOGRAFIA DE DADOS
Protocolos de tunelamento na camada de enlace suportam mecanismos de criptografia baseados no PPP.
Os protocolos de nível 3 também podem usar métodos similares. No caso do IPSec são definidos vários
métodos de criptografia de dados que são executados durante o ISAKMP. Algumas implementações do protocolo L2TP utilizam a criptografia provida pelo IPSec para proteger cadeias de dados durante a sua transferência entre ,as extremidades do túnel.
GERENCIAMENTO DE CHAVES
O MPPE (Microsoft Point-to-Point Encryption), protocolo de nível de enlace, utiliza uma chave gerada durante a autenticação do usuário, atualizando-a periodicamente. O IPSec negocia uma chave comum através do ISAKMP e, também, periodicamente, faz sua atualização.
SUPORTE A MÚLTIPLOS PROTOCOLOS
O tunelamento na camada de enlace suporta múltiplos protocolos o que facilita o tunelamento de clientes para
acesso a redes corporativas utilizando IP, IPX, NetBEUI e outros. Em contraste, os protocolos de tunelamento da camada de rede, tais como o IPSec, suportam apenas redes destino que utilizam o protocolo IP.
^
Tipos de túneisOs túneis podem ser criados de 2 diferentes formas - voluntárias e compulsórias:
Túnel Voluntário - um cliente emite uma solicitação VPN para configurar e criar um túnel voluntário. Neste caso, o computador do usuário funciona como uma das extremidades do túnel e, também, como cliente do túnel.
Túnel Compulsório - um servidor de acesso discado VPN configura e cria um túnel compulsório. Neste caso,
o computador do cliente não funciona como extremidade do túnel. Outro dispositivo, o servidor de acesso remoto, localizado entre o computador do usuário e o servidor do túnel, funciona como uma das extremidades e atua como o cliente do túnel.
TUNELAMENTO VOLUNTÁRIO
Ocorre quando uma estação ou servidor de roteamento utiliza um software de tunelamento cliente para criar
uma conexão virtual para o servidor do túnel desejado. O tunelamento voluntário pode requerer conexões IP
através de LAN ou acesso discado.
No caso de acesso discado, o mais comum é o cliente estabelecer a conexão discada antes da criação do túnel. Nas LANs, o cliente já se encontra conectado à rede que pode prover o roteamento de dados encapsulados para o servidor de túnel selecionado. Este é o caso de clientes numa LAN corporativa que inicializa túneis para alcançar uma subrede privada na mesma rede.
TUNELAMENTO COMPULSÓRIO
O computador ou dispositivo de rede que provê o túnel para o computador cliente é conhecido de diversas
formas: FEP (Front End Processor) no PPTP, LAC (L2TP Access Concentrator) no L2TP ou IP Security Gateway no caso do IPSec. Doravante, adotaremos o termo FEP para denominar esta funcionalidade - ser capaz de estabelecer o túnel quando o cliente remoto se conecta.

No caso da Internet, o cliente faz uma conexão discada para um túnel habilitado pelo servidor de acesso no
provedor (ISP). Por exemplo, uma companhia pode ter um contrato com uma ou mais provedores para
disponibilizar um conjunto de FEPs em âmbito nacional. Estas FEPs podem estabelecer túneis sobre a Internet para um servidor de túnel conectado à rede corporativa privada, possibilitando a usuários remotos o acesso à rede corporativa através de uma simples ligação local.
Esta configuração é conhecida como tunelamento compulsório porque o cliente é compelido a usar um túnel
criado pelo FEP. Uma vez que a conexão é estabelecida, todo o tráfego "de/para" o cliente é automaticamente enviado através do túnel. No tunelamento compulsório, o cliente faz uma conexão PPP. Um FEP pode ser configurado para direcionar todas as conexões discadas para um mesmo servidor de túnel ou, alternativamente, fazer o tunelamento individual baseado na identificação do usuário ou no destino da conexão.
Diferente dos túneis individualizados criados no tunelamento voluntário, um túnel entre o FEP e o servidor de
túnel pode ser compartilhado por múltiplos clientes discados. Quando um cliente disca para o servidor de acesso (FEP) e já existe um túnel para o destino desejado, não se faz necessária a criação de um novo túnel redundante. O próprio túnel existente pode transportar, também, os dados deste novo cliente. No tunelamento compulsório com múltiplos clientes, o túnel só é finalizado no momento em que o último usuário do túnel se desconecta.
^
IPSEC – Internet Protocol SecurityO IPSec é um protocolo padrão de camada 3 projetado pelo IETF que oferece transferência segura de informações fim a fim através de rede IP pública ou privada. Essencialmente, ele pega pacotes IP privados, realiza funções de segurança de dados como criptografia, autenticação e integridade, e então encapsula esses pacotes protegidos em outros pacotes IP para serem transmitidos. As funções de gerenciamento de chaves também fazem parte das funções do IPSec.
Tal como os protocolos de nível 2, o IPSec trabalha como uma solução para interligação de redes e conexões via linha discada. Ele foi projetado para suportar múltiplos protocolos de criptografia possibilitando que cada usuário escolha o nível de segurança desejado.
Os requisitos de segurança podem ser divididos em 2 grupos, os quais são independentes entre si, podendo
ser utilizado de forma conjunta ou separada, de acordo com a necessidade de cada usuário:
Autenticação e Integridade; Confidencialidade.
Para implementar estas características, o IPSec é composto de 3 mecanismos adicionais:
AH - Autentication Header; ESP - Encapsulation Security Payload;
ISAKMP - Internet Security Association and Key Management Protocol.
NEGOCIAÇÃO DO NÍVEL DE SEGURANÇA O ISAKMP combina conceitos de autenticação, gerenciamento de chaves e outros requisitos de segurança necessários às transações e comunicações governamentais, comerciais e privadas na Internet. Com o ISAKMP, as duas máquinas negociam os métodos de autenticação e segurança dos dados, executam a autenticação mútua e geram a chave para criptografar os dados.
Trata-se de um protocolo que rege a troca de chaves criptografadas utilizadas para decifrar os dados. Ele define procedimentos e formatos de pacotes para estabelecer, negociar, modificar e deletar as SAs
(Security Associations). As SAs contêm todas as informações necessárias para execução de serviços variados de segurança na rede, tais como serviços da camada IP (autenticação de cabeçalho e encapsulamento), serviços das camadas de transporte, e aplicação ou auto-proteção durante a negociação do tráfego. Também define pacotes para geração de chaves e autenticação de dados. Esses formatos provêm consistência para a transferência de chaves e autenticação de dados que independem da técnica usada na geração da chave, do algoritmo de criptografia e do mecanismo de autenticação.
O ISAKMP pretende dar suporte para protocolos de segurança em todas as camadas da pilha da rede. Com a centralização do gerenciamento dos SAs, o ISAKMP minimiza as redundâncias funcionais dentro de cada protocolo de segurança e também pode reduzir o tempo gasto durante as conexões através da negociação da pilha completa de serviços de uma só vez.
AUTENTICAÇÃO E INTEGRIDADE
A autenticação garante que os dados recebidos correspondem àqueles originalmente enviados, assim como
garante a identidade do emissor. Integridade significa que os dados transmitidos chegam ao seu destino
íntegros, eliminando a possibilidade de terem sido modificados no caminho sem que isto pudesse ser
detectado.
O AH é um mecanismo que provê integridade e autenticação dos datagramas IP. A segurança é garantida
através da inclusão de informação para autenticação no pacote a qual é obtida através de algoritmo aplicado
sobre o conteúdo dos campos do datagrama IP, excluindo-se aqueles que sofrem mudanças durante o
transporte. Estes campos abrangem não só o cabeçalho IP como todos os outros cabeçalhos e dados do
usuário. No IPv6, o campo hop-count e o time-to-live (TTL) do IPv4 não são utilizados, pois são modificados ao longo da transferência.
Para alguns usuários o uso da autenticação pode ser suficiente não sendo necessária a "confidencialidade".
No IPV6, o AH normalmente é posicionado após os cabeçalhos de fragmentação e End-to-End, e antes do
ESP e dos cabeçalhos da camada de transporte (TCP ou UDP, por exemplo).
CONFIDENCIALIDADE
Propriedade da comunicação que permite que apenas usuários autorizados entendam o conteúdo transportado.
Desta forma, os usuários não autorizados, mesmo tendo capturado o pacote, não poderão ter acesso às
informações nele contidas. O mecanismo mais usado para prover esta propriedade é chamado de criptografia. O serviço que garante a "confidencialidade" no IPSec é o ESP - Encapsulating Security Payload. O ESP também provê a autenticação da origem dos dados, integridade da conexão e serviço anti-reply. A "confidencialidade" independe dos demais serviços e pode ser implementada de 2 modos - transporte e túnel. No primeiro modo, o pacote da camada de transporte é encapsulado dentro do ESP, e, no túnel, o datagrama IP é encapsulado inteiro dentro da cabeçalho do ESP.
^
ConclusãoAs VPNs podem se constituir numa alternativa segura para transmissão de dados através de redes públicas ou privadas, uma vez que já oferecem recursos de autenticação e criptografia com níveis variados de segurança, possibilitando eliminar os links dedicados de longa distância, de alto custo, na conexão de WANs.
Entretanto, em aplicações onde o tempo de transmissão é crítico, o uso de VPNs através de redes externas
ainda deve ser analisado com muito cuidado, pois podem ocorrer problemas de desempenho e atrasos na
transmissão sobre os quais a organização não tem nenhum tipo de gerência ou controle, comprometendo a
qualidade desejada nos serviços corporativos. A decisão de implementar ou não redes privadas virtuais requer uma análise criteriosa dos requisitos, principalmente aqueles relacionados a segurança, custos, qualidade de serviço e facilidade de uso que variam de acordo com o negócio de cada organização.
^
Referências"Virtual Private Networking: An Overview" . 29 de Maio de 1998. On-Line.
http://www.microsoft.com/workshop/server/feature/vpnovw.asp. 26 de Junho de 1998.
Maughan, Douglas; Schertler, Mark; Schneider, Mark; Turner, Jeff. "Internet Security Association and Key
Management Protocol (ISAKMP)". 10 de Março de 1998. On-Line. http://www.imib.med.tu-dresden.de/imib/Internet/Literatur/
ISAKMP/draft-ietf-ipsec-isakmp-09.txt. 28 de Junho de 1998.
"Virtual Private Network" . 1998. On-Line. http://www.stts.com.br/vpn.htm. 28 de Junho de 1998.
"IPSEC - Internet Protocol Security". Security Project at the TCM Laboratory. On-Line.
http://www.tcm.hut.fi/Tutkimus/IPSEC/ipsec.html. 20 de Junho de 1998.
Werner, José. "Tecnologias para Implantação de Redes Virtuais Privadas" . Fórum Nacional sobre
Segurança de Redes e Telecomunicações. Março/1998. 20 de Junho de 1998.
Henthorn, Alex. "VPN - Virtual Private Networks" . Livingston Enterprises, Inc
. http://www.cernet.com.br/Livingston/napl/vpn.htm. 22 de Junho de 1998.
"VPNs e IP Tunneling". On-Line. http://mingus.modulo.com.br/funciona.htm. 22 de Junho de 1998.

terça-feira, 9 de novembro de 2010

Livros e assuntos sobre Wireless

Navegando nos fóruns por aí, encontrei um post sobre redes wireless, dei uma olhada nos sites que indicavam para aprendizado e estou repassando para quem interessar!

Segue abaixo o post com resposta de outros usuários:

Lightbulb Melhores Livros de wireless e cálculos de enlace


Estou lendo o ebook Redes sem fio no Mundo, é bom, mas ainda não me agradou no início sobre os cálculos, deixou dúvidas, ex. muito resumido em Zona de Fresnel, Cálculo de viabilidade de link, etc. Não sei se sou muito exigente, mas goste de variedade em obras e autores, até porque ninguém é perfeito e ainda tem a tradução, e os erros de digitação que mais me encomodam.
Estou lendo tambem a apostila do Instituto Online 2010. Qualquer conteúdo referente a wireless, RF, cálculos, estou muito interessado. Sites, ebooks, etc.

Resposta: 

Padrão Re: Melhores Livros de wireless e cálculos de enlace 

Para redes em geral indico esse: Redes de Computadores e a Internet: Uma Abordagem Top-down - Submarino.com.br


Para Wireless indico:

WI-FI Instale e configure e use redes wireles (sem fio) - John Ross - Editora Alta Books - ISBN: 857608024-9

INTRODUÇÃO A TECNOLOGIA WIRELESS - HENRIQUE CARMINE - PRODUÇÃO INDEPENDENTE

Alguns locais para consultar:
1) http://www.clubedasredes.eti.br
2) Apostilando.com 2009:: Apostilas de Redes
3) Projeto Aprenda em Casa - Cursos gratuitos
4) iMasters - Por uma Internet mais criativa e din

E, para se manter atualizado no dia-a-dia, o ideal é consultar os portais.

1) Wi-Fi Alliance Wi-Fi Alliance: Home
2) Wireless Resource Center palowireless Wireless Resource Center
3) Wi-Fi Planet Wi-Fi Planet - The Source for Wi-Fi Business and Technology
4) Comunidade Wireless Brasil ComUnidade WirelessBRASIL - Portal Independente de Telecomunicaes
5) Teleco teleco.com.br
É isso aí galera, boa leitura!!!

***para ajudar o blog a crescer clique em agum anuncio do google...

quinta-feira, 4 de novembro de 2010

Quanto tempo leva para quebrar uma chave WPA ou WPA2?

Existe vários vídeos no Youtube e comentários em blogs descrevendo como "quebrar" chaves WPA e WPA2. O WEP tem um bug grave, que permite com que a chave seja descoberta rapidamente, mas no caso do WPA ou WPA2 os únicos métodos publicados e provados são dicionário ou força bruta.

Existe um post correndo na Internet sobre dois pesquisados japoneses que teriam descoberto uma maneira de quebrar parcialmente o WPA TKIP (esse suposto método não atingiria WPA AES nem o WPA2). Isso foi inclusive comentado aqui no Under-Linux em um post recente de outro blog.

Quando falo em "suposto método" é porque todos os textos que apareceram na Internet eram muito parecidos, mas depois disso não vi mais nenhum comentário. O nome dos pesquisadores aparentemente são válidos (pois existem textos relacionados a criptografia nomeando os dois), mas não encontrei nenhuma referência ao texto que eles iriam divulgar no evento que ocorreu semana passada. Além disso, em muitos sites (como Yahoo Tech) a notícia foi removida.

Em resumo: ninguém apareceu até agora para confirmar se a dedução em "matematiquês" está correta ou não.

Mas vamos considerar que o WPA TKIP seja realmente passível de quebra por algum algoritmo, então vamos nos focar no WPA AES e WPA2.

Em ambos os protocolos, como citei acima, a chave só pode ser quebrada (até onde se sabe) via ataque de dicionário ou força bruta.

O ataque de dicionário está relacionado à má escolha da chave. Por exemplo, um administrador escolhe como chave a seqüência "123456789". No ataque de dicionário o atacante possui uma lista de palavras (o dicionário) contendo várias senhas possíveis e o programa atacante tenta todas elas. Se a chave foi mal escolhida pelo administrador, ela deve estar na lista de palavras e eventualmente o programa identifica, informando o hacker.

Vale salientar que o programa de ataque tem que tentar uma por uma todas as chaves. Se for uma lista de um milhão de palavras, o programa vai testar todas.

Existe para download nos sites de hackers, várias listas de dicionários que um atacante pode usar e tentar a sorte. Mas é apenas isso: pura sorte (e falta de consciência do administrador da rede atacada).

Quando vemos os vídeos do Youtube, descrevendo como se ataca WPA ou WPA2, são ataques de dicionário. Obviamente que o "atacante" neste caso teve o cuidado de colocar uma chave WPA que estava no dicionário usado, então ele tem sucesso. A primeira vista, dá impressão que ele invadiu a rede em menos de 1 minuto, mas na verdade ele estava apenas demonstrando que o ataque precisa de sorte: o administrador tem que escolher uma senha fácil e que "por sorte" estava no dicionário pequeno que ele usou.

No entanto, qualquer senha que tenha sido escolhida com um pouco de cuidado, não estará no dicionário. Não estou falando de senhas como "6$gs5SD45Diad", mas coisas como "AbC345SoRtE" já são relativamente boas.

Nesse caso, quando o administrador fez uma boa escolha, a única alternativa do atacante é testar TODAS as chaves possíveis, uma a uma. Esse é o chamado método da força bruta.

Nesse caso, quanto tempo levaria para um atacante testar todas as chaves?

Lembre, cada chave pode ter caracteres maiúsculos e minúsculos, além de símbolos (%$&#@) e números. Na verdade, pode inclusive ser composta de qualquer número hexadecimal de 00 a FF. Mas vamos focar apenas no tradicional: letras, números e símbolos. Isso dá aproximadamente 70 caracteres possíveis.

Assim o atacante tem que tentar todas as chaves de 1 caracter (70 opções, fácil), depois todas de 2 caracteres (70 x 70 = 4.900 opções diferentes), depois todas de 3 caracteres (343.000 opções) e assim diante.

Além disso, por uma questão de estatística, em média, será necessário testar metade das opções para encontra a chave correta. Assim se levar 2 horas para testar todas as combinações, em média será necessário 1 hora para achar a chave correta (quem não gosta de estatística, apenas acredite em mim).

Então, vamos responder à pergunta: quanto tempo em média um hacker irá demorar para encontrar a chave correta?

Antes, algumas informações básicas: um bom computador deve ser capaz de testar 100 chaves por segundo. Vamos então imaginar que o hacker tenha um super computador, capaz de testar 100.000 chaves por segundo!!! Vamos dar a ele muito dinheiro, ele tem um mega-super-blaster computador, tudo bem. Jóia.

Também vamos lembrar algumas informações úteis:
- um ano tem 31.536.000 segundos
- a chance de ganhar na megasena com um jogo de 6 dezenas é de 1 em 50 milhões (aproximadamente)
- estima-se que o universo tenha 14,5 bilhões de anos.

Vamos ver as chances de sucesso desse hacker contra um administrador que escolheu uma boa senha (ou seja, uma senha que não esteja em um dicionário).

Chaves de 5 Caracteres

Com uma chave de 5 caracteres, temos 70x70x70x70x70 combinações (para os matemáticos de plantão, não quero falar de exponenciação) ou aproximadamente 1,68 bilhões de combinações.
O mega computador iria demorar quase 16.807 segundos para testar todas. Estatisticamente seria necessário, em média, metade desse tempo para encontrar a chave, ou 8.404 segundo ou quase 2 horas e meia.

Ok, nada mal. Parece fácil, basta ter um super computador. 5 não é um bom tamanho. Vamos continuar

Chave de 10 Caracteres

Teriamos 70x70x70x70x70x70x70x70x70x70 possibilidade ou mais de 2,8 quatrilhões de opções (chega quase na fortuna do Tio Patinhas). Usando o mega-blaster computer, dá um tempo 1,5 milhões de anos em média.

A chance dele conseguir encontrar essa chave em um prazo de 1 ano é menor que 1 em 1 milhão.

Vamos subir um pouco mais

Chave de 20 Caracteres

O padrão 802.11i recomenda que chave seja de pelo menos 20 caracteres. Nesse caso (não vou escrever "70x" vinte vezes) dá um número gigantesco de opções. Com o super-mega-blaster computador levaria 318 trilhões de vezes a idade do Universo. Ou seja, o hacker necessitaria que o Universo surgisse de novo 318 trilhões de vezes para ele encontrar a chave.

Mas vamos um pouco mais além. Vamos supor que o hacker tem um Deep Blue, o super computador da IBM que ganhou do campeão de xadrez (e mal perdedor) Garry Kasparov. O Deep Blue fazia 5 bilhões de operações por segundo. Para verificar uma chave são necessárias várias operações, mas vamos fazer de conta que ele conseguisse testar 1 chave por operação. Qual seria o tempo necessário? 92 sextilhões de anos, em média ou "apenas" 6 bilhões de vezes mais que o nosso universo existe.

Agora vamos pensar que esse hacker consiga cobrir todo o planta Terra com Deep Blues. Colocando 10 computadores por metro quadrado (inclusive sobre mares, geleiras e florestas). Isso daria 5,1 quintilhões de computadores trabalhando em rede. O tempo cairia para 18.000 anos em média.

Chave de 64 Caracteres

O tamanho máximo permitido para uma chave WPA ou WPA2 é de 64 caracteres.

O tempo para um hacker quebrar uma chave de 64 caracteres usando o planeta Terra coberto de Deep Blues seria de 2,7E85 anos (escreva 27 e depois coloque mais 84 zeros). É um número maior que a quantidade estimada de partículas (átomos) no Universo.

Agora vamos imaginar que o nosso hacker tenha assistido Guerra nas Estrelas e queira construir uma Estrela da Morte Deep Blue. Um objeto do tamanho do nosso Sol, totalmente recheado de Deep Blue. Ele teria que evitar o problema da atração gravitacional, porque tanta massa transformaria esse objeto em um buraco negro. Mas ele tem o lado negro da força com ele, então ele resolveria esse problema.

Sem aprofundar em detalhes, o tempo cairia para "apenas" 1,17E71 anos. Escreva ai: 117 e depois mais 69 zeros. Se não estou enganado isso se leria 117 duotrigintilhões de anos.

Resumo

Os ataques originados em bugs de operação são um problema real para qualquer sistema de criptografia (quer seja wireless, túneis IPSec, etc.). No entanto, uma escolha apropriada de chaves é o suficiente para proteger de maneira segura qualquer sistema wireless que use um protocolo seguro.
**  para ajudar o site a crescer clique nos anúncios do Google logo abaixo.

Como um cliente IPv6 pode, sem querer, derrubar um servidor IPv4

Existem hoje várias rede IPv6 no mundo, no entanto muitos serviços e sites só estão disponíveis via IPv4. Então se usa o NAT ou Proxy como mecanismo para permitir com que as redes IPv6 "enxerguem" o mundo IPv4. Até ai tudo bem.

No entanto existe risco de, alguma forma, um cliente IPv6 causar transtorno (mesmo que involuntariamente) em servidores IPv4? A resposta é sim, desde que esse servidores IPv4 estejam mal configurados ou mal preparados.

Quando a aplicação IPv4 utiliza apenas os parâmetros vindos da camada de transporte (ex.: TCP ou UDP) e camadas inferiores, não existe grande risco, porque essas informações são seguras (ou foram criadas na rede local ou transformadas adequadamente pelo NAT/Proxy).

O problema é quando a aplicação utiliza informações de endereçamento vindas da camada de aplicação. O NAT não altera as informações da camada de aplicação e o Proxy pode alterar, mas para pior: pode incluir informações sobre o IPv6 da estação que originou a requisição.

Vamos exemplificar: os servidores Proxy normalmente utilizam o cabeçalho "Via" para informar do seu trabalho (informar que a requisição passou por um Proxy) e normalmente inserem o IP original nesse cabeçalho.

Alguns sites usam a informação do cabeçalho Via em suas aplicações. As vezes para tentar bloquear usuários indesejados atrás de NAT (sem bloquear os demais usuários do mesmo Proxy), outras vezes para algo mais simples como log e track (saber qual usuários acessou cada página, mesmo estando ambos atrás do mesmo Proxy).

Toda e qualquer informação da camada de aplicação pode ser falsificada pelo usuário, então deveria ser tratada com cuidado e verificada antes de ser processada. No entanto sabemos que isso não ocorre na vida prática: na pressa, o desenvolvedor cria a aplicação da maneira mais rápida possível, então fica sem tempo de fazer verificações e IFs nos parâmetros de entrada.

O que ocorre então, se um servidor web, que usa o cabeçalho Via para fazer log detalhado dos usuários, encontra um IPv6?No pior caso, pode derrubar o servidor, mas acho pouco provável que alguém escreva uma aplicação tão ruim.

O mais provável é que o usuário IPv6 atrás de um Proxy receba uma mensagem de erro ou simplesmente não receba nada (página em branco).

E qual o efeito disso para o administrador do servidor web? Ele vai começar a receber reclamações de problemas de acesso misteriosos. Primeiro, serão poucos (poucos usuários com IPv6 atrás de Proxy), então será considerado "algum problema na rede do usuário". Mas com o passar do tempo, o número de rede IPv6 atrás de Proxies irá crescer, e a quantidade de reclamações aumentar.

Se considerarmos que a maioria dos usuários nem vai saber que está usando IPv6, raramente alguém irá ligar uma coisa com a outra. Por outro lado, o servidor web não irá gerar nenhum aviso ao administrador do que está acontecendo. Serão dias e dias de caçada até que o administrador finalmente descubra o que está acontecendo.

Resumo

Existe várias aplicações que, em algum momento, podem transportar o IP original na sua camada de aplicação, para citar algumas: HTTP, FTP e SIP.

Qualquer desenvolvedor ou administrador de rede deve pensar com muito carinho quando for realizar alguma lógica de processamento baseado no IP de origem do usuário, principalmente se essa informação for retirada do payload de aplicação (das informações da aplicação) e não do cabeçalho TCP/IP.

Caso contrário, podem surgir no futuro breve problemas causados por esses falhas. E são problemas difíceis de depurar.

**  para ajudar o site a crescer clique nos anúncios do Google. 

O medo do IPv6


A falta de disponibilidade de endereços do IPv4 levou, entre outras coisas, a criação do NAT. Graças a ele o IPv4 ganhou uma sobrevida de aproximadamente 10 anos. No entanto o NAT, apesar de eficiente, não é mágico e o fim do IPv4 está próximo. Daí em diante, será apenas IPv6.

No entanto o NAT criou um efeito superprotetor: quem está atrás do NAT se sente seguro, inatingível, intocável pelos hackers na Internet. Ainda havia o risco dos vírus e worms baixados via e-mail e páginas web além do phising, mas não havia ataque direto às portas.

Isso fez com que os mecanismos de segurança dos computadores e servidores se concentrassem nos programas executados. Pouco se desenvolveu em tornar os sistemas operacionais seguros e menos ainda se desenvolveu para garantir a seguranças dos protocolos acima do IP.

Com o IPv6 surge o conceito de conectividade universal, aonde cada equipamento, computador, telefone celular ou outro equipamento conectado à Internet poderá ser acessado diretamente por qualquer outro. Isso está gerando uma sensação de pânico generalizado.

Na verdade, o conceito de conectividade direta não é uma invenção do IPv6. O próprio IP atual (IPv4) surgiu com o conceito de conectividade direta, aonde cada equipamento teria acesso direto a todas outras. No entanto com os problemas de disponibilidade do IPv4 e surgimento do NAT, e esse conceito foi esquecido.

Dessa forma foram criados vários mecanismos para resolver essa limitação de conectividade trazidas pelo NAT. O STUN para o SIP e os equipamentos intermediários do Skype são apenas alguns exemplos de alternativas.

No entanto a Internet não é para ser assim. A Internet não nasceu para ser limitada. A Internet nasceu de forma que todos se conectem com todos a qualquer momento. No entanto isso assusta muitos.

A conectividade ilimitada e universal vai permitir o surgimento de novas aplicações e facilitar o uso de outras (como VoIP e compartilhamento de arquivos P2P). Assim esse benefício do IPv6 deveria ser bem vindo.

No entanto, assim como uma criança superprotegida, que é impedida de sair de casa pelos país, tem medo de atravessar a rua quando cresce, os usuários de Internet também estão receosos de sair desse casulo de proteção que é o NAT.

Apesar de desnecessário, existem mecanismos de NAT IPv4 para IPv6, que a princípio permitiriam com que a rede interna continuasse IPv4 e saísse através de um roteador IPv6 fazendo NAT. Não vou entrar em detalhes aqui, mas esse mecanismo é tão complexo e tão suscetível a problemas, que eu creio será uma tragédia utiliza-lo.

Existe também a possibilidade de se fazer um NAT IPv6 para IPv6, inclusive foi lançado recentemente um draft para criação de uma RFC padronizando os mecanismos de NAT:
http://tools.ietf.org/html/draft-iab-ipv6-nat-01

Os autores desse texto (encabeçados por membros da Microsoft, UCLA e Juniper) admitem no texto que um NAT IPv6/IPv6 é tecnicamente desnecessário, mas que haverá um desejo para isso.

Eu realmente acredito nisso: que apesar de ser totalmente desnecessário e - inclusive - um fator de aumento de complexidade na rede, o NAT IPv6/IPv6 (ou IPv4/IPv6) será popular no inicio. No entanto, de acordo com que mais e mais equipamentos demonstrem que é possível sobreviver com IPv6 válidos e - principalmente - com o desenvolvimento de aplicações que dependam da conectividade universal, esse tipo de mecanismo deverá cair e desuso.


**  para ajudar o site a crescer clique nos anúncios do Google.